Chord latches all presses — releasing a key mid-chord should remove it #3
Labels
No labels
bug
documentation
duplicate
enhancement
good first issue
help wanted
invalid
question
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: afiqzudinhadi/zmk-steno-engine#3
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Problem
Pressing K+A+T then releasing T (while K and A still held) still outputs KAT when all keys are released. Expected: KA only (T was retracted).
Current behavior:
on_pressORs the bit intocurrent_chord,on_releaseonly decrements a counter. Once a key is pressed, its bit is permanent for that chord — no way to retract a mispress.Solution
Change
keys_heldfrom a counter to a bitmask (same width ascurrent_chord). On release, clear the bit in bothkeys_heldANDcurrent_chord. The chord fired at all-up time is then only the keys that were held at that final moment.Also tighten the bounds check from 35 to 22 (only 23 steno keys exist).