Dual-Function Keys and Home Row Mods
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
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”.

Keyboards Supporting Dual Function Keys
Software that Support Dual-Purpose Key
- UHK Agent for Ultimate Hacking Keyboard
- QMK 〔see QMK Configurator Tutorial〕
- XCAPE for Linux X11 〔see Linux: Keyboard Software Guide〕
- Karabiner-Elements for Mac 〔see Mac: Keyboard Software Guide〕
- https://github.com/jtroo/kanata
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
- Design of Keybinding, Key Shortcut, Input System
- Why Alt Tab is Bad for Switching Windows
- How Many Shortcuts Are There
- Emacs vs vim, Keybinding Efficiency
- vim HJKL vs IJKL
- Gamers WASD Keys
- Design of vim Mode Activation Key
- History of Key Shortcuts: Emacs, vim, WASD
- History of vi Keys
- Muscle Memory vs Mnemonics
- Ctrl ❌
Ban Key Combos - Ban Shift Key
- Function Key vs Key Chord
- Fast-repeat vs Non-fast-repeat Keys
- Modifier Keys Usage Frequency
Keyboard Shortcut vs Launch Buttons
- Best Way to Insert Parenthesis/Brackets
Math Input Design
Create Math APL Keyboard Layout
- Linux Mac Windows, Which is Best for Keybinding?
- Dual-Function Keys and Home Row Mods
- Xah Shorthand System (Abbrev Input)