summaryrefslogtreecommitdiff
path: root/app/tests/combo
AgeCommit message (Collapse)Author
2021-06-08fix(combos): Check each combo key, not just lastJonathan Rascher
The current combo completion check only makes sure the last key in the combo is set. This works when the combo is typed correctly initially, or when reraising events in a combo of length two. However, it fails for longer combos since the last event in pressed_keys might be set, but the first (or subsequent) event in pressed_keys can be NULL thanks to release_pressed_keys. Also added a regression test.
2021-06-08test(combo): Add unit test for complete long comboJonathan Rascher
2021-06-08refactor(combos): Rename existing long combo testJonathan Rascher
This test doesn't test a long combo that completes, but rather one that's incomplete (so the combo doesn't trigger). Renaming to avoid confusion when we add more long combo tests.
2021-03-11fix(combos): Fix stuck keys when pressing long combos.Okke Formsma
To properly retrigger hold-taps when a combo is not activated, some position down events are reraised instead of released. The corresponding position up events were never reraised, causing a potential stuck key.
2021-02-03Feat combo layers (#661)KemoNine
feat(combos): add layer filtering Co-authored-by: KemoNine <mcrosson@kemonine.info>
2021-01-24feature(modifiers): add explicit modifiersOkke Formsma
this makes LS(LEFT_CONTROL) work as if shift and control were both pressed explicitly. Previously, the left shift would have been released as soon as another key was pressed. The implicit behavior is useful in case of LS(NUMBER_1) when rolling over to other keys. Also see #361.
2021-01-13feat(combos): initial implementationOkke Formsma
closes #45