-
Notifications
You must be signed in to change notification settings - Fork 97
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Combining mods with tap-hold-release-keys (i.e. Achordion-like tap-hold behaviour) #1006
Comments
Here's some random ideas I threw together ;) |
With the random ideas thrown into the wind, perhaps one/some of them are sufficient to hit the use case. If all are still insufficient, let's come up with what the minimal set of "missing" behaviours are. And achordion itself seems to be very similar to the internal Line 90 in 0f98920
Line 1719 in 0f98920
kanata/parser/src/cfg/custom_tap_hold.rs Lines 7 to 34 in 0f98920
One major difference I can think of from QMK is that multiple "eager mods" can't activate without terminating the antecedent tap-hold pending state; i.e. the decision of tap vs. hold must be chosen before activating the next eager mod. A way around this, if this is too restricting, is perhaps to forego tap-hold entirely and use:
|
Is your feature request related to a problem? Please describe.
Homerow mods with Kanata are almost perfect thanks to
tap-hold-release-keys
that can much improve same-hand rolls, but unfortunately this prevents combing mods (e.g. Ctrl+Shift).Describe the solution you'd like.
The solution I use in QMK is the Achordion library. In principle, it works similarly to
tap-hold-release-keys
, but it does not eagerly tap the keys on the down press. This unfortunately adds back the typical tap-hold delay, but allows to combine mods.The implementation is a bit more nuanced (e.g. it employs a longer timeout but eagerly applies configured mods to improve usage when combined with a mouse), but the documentation is well-written.
Describe alternatives you've considered.
I currently simply hold the first modifier for the timeout duration, but honestly it's annoying and I'd rather revert back to the old behaviour.
Additional context
No response
The text was updated successfully, but these errors were encountered: