Problem of Dual-Purpose Keys (home row mods)

By Xah Lee. Date: . Last updated: .

There is a problem i discovered with dual-purpose key. (same problem with setting your keyboard home row keys as modifiers, aka “home row mods” )

What is Dual-Purpose Key

For some keyboard software, such as UHK Agent used in Ultimate Hacking Keyboard, and QMK firmware [see QMK Configurator Tutorial] and XCAPE [see Linux: Keyboard Software Guide] , and Karabiner-Elements [see Mac Keyboard Tools] etc, They have a feature to assign a modifier key and a non-modifier key both to the same physical key. For example, set Control and Space both to the Space key. When you press and release Space, it inserts a space, but when you press and hold Space, then press for example c, it does Ctrl+c (copy).

What is Home Row Mods

Home Row Mods is setting your home row keys to become modifiers. For example

A
S
D
F
 
 
 
 
J
K
L
:

Problem of Home Row Mods

One problem of Home Row Mods random accidental invocation of key shortcuts, if you are a fast typer.

Problem of Dual-Purpose Keys

When you have a dual-purpose key, you cannot hold the key to repeat.

I know because i used Dual-Purpose Keys on my Gergo Keyboard (QMK firmware), also with on my Ultimate Hacking Keyboard (UHK Agent firmware) .

gergo keyboard 20200121 zgxyd-s353x177
Gergo keyboard
UHK 20181214 split 0dfd2-s289x217
Ultimate Hacking Keyboard

Try this. Whip your keyboard out. Program the Backspace ⌫ key to be also Ctrl when held down. Now, see if you can hold Backspace ⌫ to delete letters continuously. You can't.

This means, when you have say a 40% keyboard, or even a normal PC form keyboard, am thinking, i'll just set Control to be on QWERTY DF and JK keys, so that i don't even have to use thumb for Control. This works, if you don't mind losing the ability to hold any of d f j k to insert them continuously. But, if the key chosen is one of Space, Backspace ⌫, Delete ⌦, Enter, - , then you may care, because often you do want to hold those keys to repeat them. And this situation happens often when you are on a 40% keyboard such as Gergo Keyboard . Because your thumbs are Backspace ⌫ and Space and Enter etc yet you also want them to be Ctrl or Alt or Shift.

I was a bit annoyed myself when i discovered this. Yes the need to carefully press frequent home row keys for this also annoying. So, i was disappointed to realize that dual-purpose keys isn't as a fantastic idea as i thought. Because i was thinking, why not make every key dual-purpose. Can be done by QMK and Ultimate Hacking Keyboard.

QMK Solution of Dual-Purpose Key Hold to Repeat

2021-04-23 Hans Peter wrote to say that in QMK, the dual-purpose key problem of hold to repeat can be avoided, by press and release the key, then hold it, then the non-modifier function of the key would repeat.

Hold to Repeat is Also a Hack

Keyboard Technology, It's Hack All the Way

Keyboard Shortcut Design