Dual-Function Keys and Home Row Mods

By Xah Lee. Date: . Last updated: .

What is Dual-Purpose Key

Dual-Purpose Key is a software feature of keyboard. It allows you 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 a configuration of keyboard home row keys to have Dual-Function modifier keys. For example

A
S
D
F
 
 
 
 
J
K
L
:

Problem of Home Row Mods

One problem of Home Row Mods is accidental invocation of key shortcuts.

For example, if you make k to dual-function as Shift, Then when you type the sequence “ke” fast, you'll get a “E” instead.

since i use Dvorak Keyboard Layout. i made e and t to dual-function as Shift. Then when i type the sequence “th” fast, i get a “H” instead.

Then i thought, perhaps put the dual key in bottom row to avoid accidental invokation. Same problem, accident happens. This time, happens when i type “wh”, i get “H”.

uhk homerow mods 2023-04-19 nfTgv
uhk homerow mods 2023-04-19 nfTgv

Keyboards Supporting Dual Function Keys

Software that Support Dual-Purpose Key

Problem of Dual-Purpose Keys

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

For example, configure the Backspace ⌫ key to be also Ctrl when held down. Now, hold Backspace ⌫ to delete letters continuously. It won't work.

Keys You Want to Hold to Repeat

don't use these keys for dual-purpose.

Space, Backspace ⌫, Delete ⌦, Enter, -

also, if you use the vim editor, also H J K L

Optimal Use of Dual-Purposes Keys

The great use of dual-purposes keys is put it on a key that does not need to be held-repeat and is not part of common typing. e.g. put it on Tab, Esc, Enter, Home, End.

QMK Work-Around for 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.

However, that is not practical. Too complex.

40percent Keyboard

Keybinding and Input-System