renovate/configure
main
master
f/handleHelp-varargs
wip/refactor-focus
f/clang-format-14
hardware/ploopy
examples/factory-firmware
f/driver/keyboardiohid
tmp/zagdul
jesse/space-cadet
jesse/wip/gd32-win
macros/rearchitecture
wip/rcm-stm32
f/keyboardio-model-100
charshift/configuration
pointing-device
f/samd-testbed
f/automatic-build-nightly
f/driver/keyboardiohid-orig
f/keymap-cache-redesign
tmp/parallel-cli
tmp/arduino-cli-pre-rebase
pr_host_keymap
f/testing-event-queue
testing
epan/testing/main
epan/testing/issue-840
epan/testing/readable
epan/build/justlib
epan/build/cmake
epan/testing/hello-simulator
device/normcore
atreus2/example-layout
v1.99.6
keyboardio-m100-MP-1
keyboardio-m100-DVT-3
keyboardio-m100-DVT-2
v1.99.5
v1.99.4
v1.99.3
v1.99.2
v1.99.1
v1.99.0
v1.98.0
v1.97.0
v1.94.0
v1.93.0
v1.92.0
v1.91.0
driver/bootloader-pre-rebase
shipped-model00-xmas
work-tip
${ noResults }
1 Commits (42b81bae96d75f11a81e52fa9f76c167e86396a3)
Author | SHA1 | Message | Date |
---|---|---|---|
Michael Richters | 1e58fcf3b8 |
Rewrite Qukeys plugin from scratch
This is a complete rewrite of Qukeys, in order to implement several improvements and new features: - A new KeyAddrEventQueue class has been introduced, in order to store both key press and release events in the queue. - The direct dependence on KeyboardioHID is removed by only flushing one event from the queue per cycle. - The array of Qukey objects is now stored in PROGMEM instead of SRAM, and is configured via an array reference template function in order to automatically ensure the count will be correct. - There is a new algorithm for determining which state a qukey will collapse into in the case of rollover from qukey to another key, which should reduce the rate of errors for "sloppy" typists. - A Qukey with a primary key value that is a modifier (including layer shift keys) is treated like a SpaceCadet key, with different semantics. The alternate (non-modifier) key value is only used if the SpaceCadet key is pressed and released on its own, without rolling over to any other key. - The code is generally simpler and easier to understand, with better inline comments explaining how it all works. Fixes #626. Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com> |
5 years ago |