Over the summer, I found out about some advanced keyboarding from a friend. After installing it on two different machines, I figured I would add some useful links to it to my site. If nothing else, it would allow me to find all of the resources faster, and not have to search the web for them each time.
The objective, change the keyboard mappings so that when you Hold the Caps lock key, and press a key, you launch a configurable option. If you press the key once and let go, it launches the Escape key. This is personally useful for Vim among other things.
The Programs
There are a number of installers you will find useful along the way.
- Seil - Remaps the keyboard caps lock key to a different keyboard code.
- Karabiner - Changes the base functionality behind the key.
- BetterTouchTool - Responds to the keyboard combinations and performs mapped functions
How it works together
The original article I found was A useful Caps Lock key. I’ll summarize the details in the following.
Seil
Install Seil. Open Seil and under Change the caps lock key check Change the caps lock key and set the keycode to 80.
To make the best use of it, you will want to disable the default OS X handling of the Caps lock key. To do this:
- Open System Preferences
- Open Keyboard
- Open Modifier Keys…
- Change Caps Lock Key to No Action
Karabiner
Install Karabiner. Open Karabiner and select the Misc & Uninstall. Press Open private.xml. In the private.xml, enter the following.
Next click Reload XML.
Finally, in the Change Key tab, check F19 to F19. We’re now ready to move on to the final stage.
BetterTouchTool
Once you’ve installed BetterTouchTool, open it up, and go to the Keyboard tab. In this tab, Press + Add New Shortcut. In the Keyboard Shortcut, press Caps Lock plus the key of your choice. Next, select the Trigger Predefined Action: and choose your desired response.
A few examples of my keyboard shortcuts:
- Caps Lock + ` opens the BetterTouchTool configs.
- Caps Lock + c opens Chrome
- Caps Lock + t opens iTerm 2
Hope you find this useful!
If you found this article useful, and you’re interested in checking out other articles I write in the future, join my newsletter.