This is my second weekly update. Read my first one here.
Community bonding period has almost ended. I made my first PR (draft) related to the project. I’ve also refined the implementation plan a bit.
The project implementation will mainly be done in two modules.
- Keymap handler
- Keyboard shortcut config screen
Following is a simple explanation for these modules:
1. Keymap handler
This module is responsible for retrieving keyboard shortcuts (accelerators) and saving them.
When retrieving keyboard shortcuts, since we’re saving custom keyboard shortcuts in a JSON file (ie:
keymap-desktop.json) it is required to parse shortcuts in this file (if any), and override the default keyboard shortcuts with them.
Any error occurs when parsing the file, it’ll simply fallback to the default shortcut and display a warning.
When saving the custom keyboard shortcuts, they should be stored in the JSON file with proper formatting.
2. Keyboard shortcut config screen
This module will provide the front-end of the shortcut editor. It lists the shortcuts in a user-friendly manner.
Allows searching, capturing custom keyboard shortcuts, and etc. For retrieving and saving shortcuts, it’ll be utilizing the above module. This module will render the keyboard shortcut editor for the Options panel.
I’ll be implementing the Keymap handler module with feedback from my PR.