Skip to content

fix(chordal_hold): neutral keys now force HOLD instead of being skipped - #62

Closed
gitbyflux wants to merge 1 commit into
stasmarkin:mainfrom
gitbyflux:main
Closed

gitbyflux wants to merge 1 commit into
stasmarkin:mainfrom
gitbyflux:main

Conversation

@gitbyflux

Copy link
Copy Markdown
Contributor

No description provided.

stasmarkin added a commit that referenced this pull request Jun 17, 2026
…nd; tests

The #62 fix special-cased neutral ('*') keys with a second handedness lookup
inside smtd_chordal_all_same_hand. Fold it into smtd_chordal_same_hand instead,
so the neutral-key semantics live in one place and stay in sync with the
timeout-cancelling path in SMTD_STAGE_TOUCH (which already uses same_hand).

Add regression coverage for the bug #62 fixed: a definite-hand mod-tap plus a
following neutral key must HOLD, not roll to a tap. Both the quick-release path
(smtd_chordal_all_same_hand) and the timeout path are now asserted, in the
Python unit suite and the QMK-native integration suite.
@stasmarkin

Copy link
Copy Markdown
Owner

Thanks @gitbyflux! Merged your fix into main (commit preserves your authorship) and shipped it in v0.6.4.

I added a small follow-up on top: instead of a second handedness lookup, the neutral-key case is now folded into smtd_chordal_same_hand, so the rule lives in one place and stays in sync with the timeout-cancelling path in SMTD_STAGE_TOUCH. I also added regression coverage (Python unit + QMK-native integration) for both the quick-release and the hold-timeout paths.

Release: https://github.com/stasmarkin/sm_td/releases/tag/v0.6.4

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants