Added new KeyPressRecorder and new KeyCode value #43
+122
−0
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added new widget KeyPressRecorder and new KeyCode value for use in KeyPressRecorder.
KeyPressRecorder
KeyPressRecorder is a rewrite of the HotKeyRecorder widget using the newer KeyEvent API, specifically, using the Focus widget. KeyPressRecorder fixes some of the bugs of HotKeyRecorder such as the one mentioned in #42 .
Also, hotkeys are now only recorded when the widget itself is being focused on. Instead of recording and rewriting all keys, KeyPressRecorder uses non-modifier keys as the 'trigger' for onHotKeyRecorded.
KeyCode
A new KeyCode, empty (' '), is also added to the KeyCode enum and the display string map for use in KeyPressRecorder.
When only modifier keys are pressed, an empty block will be displayed at the end representing the not-yet-pressed trigger key.