Dual-Function Keys (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).
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]
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.
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
Keybinding and Input-System
- Why Alt Tab is Inefficient
- 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, Etc
- 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/TeX/APL Layout
- Linux Mac Windows, Which is Best for Keybinding?
- Dual-Function Keys (Home Row Mods)
- Xah Shorthand System