Problem of Dual-Purpose Keys (home row mods)

By Xah Lee. Date: . Last updated: .

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

What is Dual-Purpose Key

Some keyboard software 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).

These keyboard software includes:

What is Home Row Mods

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


Problem of Home Row Mods

One problem of Home Row Mods is 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

40percent Keyboard

Keybinding and Input-System

Xah Keyboard Guide