Dual-Function Keys (Home Row Mods)

By Xah Lee. Date: . Last updated: .

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).

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.

Try this. Whip out your batman keyboard. 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.

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, Escape, Enter, Home, End.

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.

Basically, when you have a frequently used bigram that begin with a dual-purpose key, accident is likely to happen.

For example, if you make d and 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.

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

same. accident happens. this time, happens when i type “wh”, i get “H”.

Keys You Need to Hold to Repeat

Space, Backspace ⌫, Delete ⌦, Enter, -

This means, it does not work well if you put dual-purpose keys to a key you need to hold to repeat.

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.

Hold to Repeat is Also a Hack

Keyboard Technology, It's Hack All the Way

40percent Keyboard

Keybinding and Input-System