The Problem with Caps Lock

Published on 2021-12-29 by Nimai Patel

The `Caps Lock` key is probably the most useless key on modern computer keyboards. However, it is placed in one of the most convenient positions in the home row. Not mapping it to anything else is just wasting its potential. What I like to do is map `Caps Lock` by itself to the `Esc` key and `Caps Lock` + `` to `Ctrl` + ``. I then map `shift` + `Caps Lock` to `Caps Lock` for the rare occasions on which I do need to use it. I achieve this using a script which depends on `xcape` and `xmodmap` (assuming you're using a US keyboard layout): ``` #!/bin/sh setxkbmap -layout us killall xcape 1>/dev/null 2>&1 xmodmap -e 'clear lock' xmodmap -e 'clear control' xmodmap -e 'add control = Caps_Lock Control_L Control_R' xmodmap -e 'keycode 66 = Control_L Caps_Lock NoSymbol NoSymbol' xcape -e 'Control_L=Escape' ``` This way I can achieve: ``` CapsLock => Esc CapsLock + => Ctrl + Shift + CapsLock => CapsLock ``` # But... Why? Well, `Esc` and `Ctrl` keys are two of the most utilizable keys. Ironically, they are placed in the worst possible place on a keyboard. `Esc` is used for switching from insert mode to normal mode in vim and `Ctrl` is the most commonly used modifier in most programs. I have been using this setup for months now, and I'm sure my wrists would thank me for it if they could.