One-shot home row modifiers with thumb chords #33
argenkiwi
started this conversation in
Show and tell
Replies: 1 comment 1 reply
|
Hi Mate,The work you are doing, as well as the documentation, is incredible.I’m fairly naive with my incorporation of homerow mods and your work has been instrumental for a newbie. I’ve been particularly keen on the inclusion of chords for return, backspace, tab, esc. I haven’t yet included the “speed-typing” “layer” yet but getting to the point where this will be useful.I’m very appreciative of the work you’ve done - legend!Cheers,PatSent from my iPhoneOn 1 Aug 2026, at 8:38 am, Leandro ***@***.***> wrote:
I have written about thumb chords already, by what I simply mean chords that involve a thumb key like the space bar, and how they can be used not only to remove the need to hold modifier keys while typing but also to anchor modifier keys to a thumb, allowing to use the rest of your fingers freely.
But I wanted to record somewhere the motivation behind experimenting with the approach: to provide a more reliable alternative to the use of home row modifiers while typing.
After spending a considerable time thinking and experimenting, I concluded that the most important aspects to achieve usable home row modifiers are:
Timelessness: the modifier should trigger only when it's key is held form before the target key is pressed until after it is released. This means overlaps caused by key rolls will not resolve as modifiers and the user is in control of the speed at which a modifier is resolved.
Idleness: the modifier should never resolve during while typing at speed, which in practice means it will not be evaluated if there have been recent key presses. This not only drastically reduces misfires, but also gets rid of most of the perceived lag home row modifiers introduce.
The last point has a caveat: if you want to use a home row modifier while typing, you must make a pause longer than the required Idleness period. Adapting one's technique to achieve this breaks the principle of Idleness.
That is where both chords and one-shot modifiers fit in: chords are resolved when 2 or more keys are pressed within a very narrow period, usually 50 milliseconds, and are generally evaluated before home row modifiers are. One-shot modifiers remove the concern timing key-holds correctly, flattening the sequence of key presses.
Thanks to this approach, I can easily shift keys and type symbols while typing at speed. When using multiple modifiers, I also use chords that combine the shift, altGr and fumbol layer keys as multi-layer chords, but they don't involve the spacebar as there is no need to hold those combinations for multiple key presses in normal circumstances.
The main limitation of the approach is that the chords need to be resolved faster than the fastest key-roll for a bigram of the keys involved in the chords. You can check my spaceroll project in GitHub to measure what that threshold should be for you.
—Reply to this email directly, view it on GitHub, or unsubscribe.Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS and Android. Download it today!
You are receiving this because you are subscribed to this thread.Message ID: ***@***.***>
|
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
I have written about thumb chords already, by what I simply mean chords that involve a thumb key like the space bar, and how they can be used not only to remove the need to hold modifier keys while typing but also to anchor modifier keys to a thumb, which allows us to use the rest of our fingers freely.
But what I wanted to record here is the motivation behind experimenting with the approach: to provide a more reliable alternative to the use of home row modifiers while typing.
After spending a considerable time thinking and experimenting, I concluded that the most important aspects to achieve usable home row modifiers are:
The latter point has a caveat: if you want to use a home row modifier while typing, you must make a pause longer than the required idleness period. Adapting one's technique to achieve this breaks the principle of timelessness.
That is where both chords and one-shot modifiers fit in:
Thanks to this approach, I can easily shift keys and type symbols while typing at speed.
When using multiple modifiers, I also use chords that combine the shift, altGr and fumbol layer keys as multi-layer chords, but they don't involve the spacebar as there is no need to hold those combinations for multiple key presses in normal circumstances.
The main limitation of the approach is that the chords need to be resolved faster than the fastest key-roll for a bigram of the keys involved in the chords. You can check my spaceroll project in GitHub to measure what that threshold should be for you.
All reactions