Michael Richters
3204034089
Fix overridable `OneShot.isStickable(key)` function
...
Now that it's not a `static` class function, we need to use a different
invocation, and we can't declare `isStickableDefault()` with the `always_inline`
attribute, or the user's override won't be able to call it because there will be
nothing to link to.
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
3 years ago
Michael Richters
46311f0a64
Add MouseKeys basic testcase
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
3 years ago
Michael Richters
38988df273
Update TapDance hold timeout testcase
...
This testcase is for a version of TapDance that distinguishes between a "tap"
timeout and a "hold" timeout, allowing for two different `Key` values for the
same tap count.
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
3 years ago
Michael Richters
ebad8940fb
Add testcases for ShiftBlocker example plugin
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
3 years ago
Michael Richters
e31fe2be10
Add Qukeys testcase for #1107
...
This is closer to a real-world scenario than the QueueLeaker plugin testcase.
It doesn't test the bug as deliberately, but it shows the failure of Qukeys
prior to the fix.
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
3 years ago
Michael Richters
b68ea18212
Reduce code repetition in testcase for #1107
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
3 years ago
Michael Richters
ca1e23093e
Move QueueLeaker plugin testcases to a separate directory
...
This makes room for a Qukeys testcase that also triggers the bug.
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
3 years ago
Michael Richters
4480b08b2d
Add testcase for KeyAddrEventQueue bounds checking failure
...
`KeyAddrEventQueue::remove()` fails to confirm that the current queue is empty
before decrementing the length and shifting entries in the queue arrays. If
`remove()` or `shift()` is called when the queue is empty, `length_` gets
decremented from 0 to 255 (because it's unsigned), and then a large section of
memory gets shifted, mostly out of bounds of the event queue arrays, and
probably wreaking havoc with any number of things.
The plugin in this testcase should trigger this bug, and is detectable because
it affects the value for the current time. It's not guaranteed to detect this
bug, but it seems to be fairly consistent.
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
3 years ago
Florian Bruhin
4a6aea650d
Add keyIsInjected helper
...
So that the bits don't have to be masked and checked manually, like with the other helpers.
Signed-off-by: Florian Bruhin <me@the-compiler.org>
3 years ago
Michael Richters
d1d8d5a41c
Update testcase for cancelled AutoShift
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
3 years ago
Michael Richters
23a45c9502
Add testcase for issue #1074
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
3 years ago
Michael Richters
537f73792f
Add testcases for CharShift plugin
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
3 years ago
Michael Richters
d400c9bad9
Update key ranges stability testcase for CharShift keys
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
3 years ago
Michael Richters
9f65e808c0
Add override of OneShot.isStickable() to testcase
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
3 years ago
Michael Richters
25c975eae7
Add testcase for issue 1061
...
This is a demonstration that another plugin can use the new public OneShot
methods to turn a non-OneShot key into a OneShot.
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
3 years ago
Michael Richters
d0b6f5a21b
Add Kaleidoscope-OneShotMetaKeys plugin
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
3 years ago
Michael Richters
d32a688698
Add testcases for issues reported to Chrysalis
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
3 years ago
Michael Richters
d9d8e8bc21
Add testcase for issue 984
...
Closes #984
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
3 years ago
Gergely Nagy
72d4ac8124
Merge pull request #1036 from gedankenexperimenter/plugin/autoshift
...
Add AutoShift plugin
4 years ago
Gergely Nagy
a1abdf0b83
Merge pull request #1037 from gedankenexperimenter/spacecadet-no-delay
...
Add SpaceCadet "no-delay" mode
4 years ago
Gergely Nagy
f4de545390
Merge pull request #1035 from gedankenexperimenter/hook/afterReportingState
...
Add `afterReportingState()` event handler
4 years ago
Gergely Nagy
ad30958deb
Merge pull request #1041 from gedankenexperimenter/tests/oneshot-key-ranges
...
Add missing checks for new OneShot key ranges
4 years ago
Michael Richters
e334be135d
Add testcase for OneShot/TapDance/Macros compatibility
...
OneShot keys should apply to all the key events generated by a Macros key, not
just the first one, even if the Macros key is injected by TapDance.
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
c9a98ecb26
Add testcases for issue #423
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
a8d1c26170
Add basic testcases for AutoShift plugin
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
e2f710abee
Add testcase for issue 1032
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
5ddd7d1867
Add testcase for issue #1042
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
904083806f
Add missing checks for new OneShot key ranges
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
68d5fa80d1
Add testcases for SpaceCadet in "no-delay" mode
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Jesse Vincent
cf826188a4
Merge pull request #1030 from gedankenexperimenter/timeout-check-fix
4 years ago
Michael Richters
ed3b9205c5
Remove timeout padding from existing testcases
...
Now that the timeout checker has been fixed, we need to remove the extra 1
millisecond from testcases that verify timeouts.
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
c60dd9526d
Add testcase for issue #673
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
1416bdb4c8
Add testcase for issue #571
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
5b45092221
Add SpaceCadet testcase for issue #484
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
b84d82bdb1
Add Leader testcases, including for issue #407
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
67bf76a99a
Simplify and standardize some testcases
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
cc8bd39c43
Add testcases for WinKeyToggle
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
f136912015
Add testcases for Turbo plugin
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
206d0681c8
Add testcases for Leader plugin
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
e101121eec
Add testcases for SpaceCadet plugin
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
5d69eca65d
Update testcase for issue 978
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
b0478b43d8
Update testcases for MagicCombo plugin
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
f7b7799756
Update testcases for TapDance plugin
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
d2cb078604
Update testcases for OneShot plugin
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
fb95769250
Update testcases for Qukeys plugin
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
ba65bf46d2
Update testcases for TopsyTurvy plugin
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
836e4af8ae
Update testcases for Macros plugin
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
78ec964b09
Update testcases: events/keyboard-state/macros
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
c1e64d0a60
Update testcases: examples/basic-keypress
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago
Michael Richters
f13e08c77a
Update testcases: events/keyboard-state/release-cleared
...
Signed-off-by: Michael Richters <gedankenexperimenter@gmail.com>
4 years ago