DEV Community

Leandro
Leandro

Posted on

Thumb Chords

I have been experimenting with a pattern I call Thumb Chord that consists of pressing a thumb key (the space-bar on a standard keyboard) and a home row key (A to ; on an QWERTY keyboard) simultaneously to form a chord which outputs a modifier, like shift or control.

Here is a minimal layout definition, based on keyd's configuration format, to illustrate the pattern:

[ids]

*

[main]

d+space = oneshot(shift)
k+space = oneshot(shift)
Enter fullscreen mode Exit fullscreen mode

When combined with the one-shot modifiers pattern, tapping the chord will modify the next key tapped and deactivate immediately after. Alternatively, if the user released only the home row key while keeping the thumb key down, the modifier would remain active, anchored to the thumb key until it was released. This allows typists to, for example, capitalize a full word without having to hold the physical shift key with the little fingers or having to enable caps-lock.

The goal of this pattern is to achieve ergonomic modifiers while maintaining error proneness to a minimum. The pattern can be used in combination with or as an alternative to home row modifiers.

The advantage of using chords (or combos) is that they do not rely on additional timing calculations. The only requirement is that the key-down events for the keys involved occur within a short time window, usually of 50 milliseconds, which ensures pressing the keys simultaneously has been intended as a chord.

The main caveat of chords it that the activation threshold needs to be below the fastest key-roll to or from the thumb-key, which is particularly relevant when using the space-bar for the pattern. To measure these, I put together a tool that also captures WPM, which will likely correlate with the results.

Some of the relevant properties of the pattern I have identified are:

  • If HRMs are used, the motor memory for their placement can be retained when learning this pattern.
  • It allows for easy anchoring of a modifier onto a thumb key or the space-bar, which facilitates the use of fingers of both hands while holding the modifier.
  • It enables the use of one-shot modifiers without the need to use additional dedicated physical (thumb?) keys.

Top comments (0)