QR Code contains TinyURL of this article.Keyboard Wizard

computer keyboard
Credit: . License: CC BY 2.0

I’ve often expounded on the Perpetual βeta how I tend to spend most of my “productive” time on my MacBook in text-based applications and interfaces. For example: there is never a time when I don’t have both iTerm and Sublime Text 2 Visual Studio Code, my two most used applications,1 up and running.

It follows then that mine is, more often than not, a keyboard-based usage. I have developed muscle-memory for keyboard shortcuts and navigate both iTerm and VSC without ever touching a pointing device. In fact, I tend to avoid the mouse and touchpad as much as possible as I simply operate the computer faster with the keyboard.

There are a couple of utilities I use to make more of the system accessible to the keyboard: Seil, which provides for remapping of the caps lock key and Shortcat, which provides for keyboard access to the UI‍s of most desktop applications.

Then I read Brett Terpstra’s “A Hyper Key that can still YELL.” This was the first time I had come across the concept of a “hyper key,” named after a modifier key on the antiquated Symbolics Space Cadet keyboard.

So what’s a hyper key? It’s simply a modifier key, but with a twist. To paraphrase Johann Schill: our hyper key is a mapping of the caps lock key to shift+control+option+command, which is such a crazy set of modifiers that no sane application developer would ever have a keyboard shortcut based on it. Therefore, with a hyper key, we get a single modifier key2 in a non-conflicting “namespace”. This gives us a whole keyboard full of customisable shortcuts.

Following Terpstra’s article, I installed Karabiner3 and quickly created my own hyper key. I chose the configuration that gave me a caps lock key that behaves in the traditional manner on press,4 but acts as a hyper key when held.

With this in place, a visit to System PreferencesKeyboardShortcuts was all I needed to start deploying my new hyper key. Here’s what I’ve configured so far:

  1. Navigate the previous and next tabs consistently in Safari, Firefox5 and Chrome: caps lock+ and caps lock+ respectively.

  2. Show/hide the sidebar in Safari, Preview and the Finder with a shared key combination: caps lock+S.

  3. Launch iTerm (or switch to it if it’s already running): caps lock+T.6

  4. In iTerm, navigate split panes with: caps lock+, caps lock+, caps lock+ and caps lock+.

  5. Launch VSC (or switch to it if it’s already running): caps lock+E.6 This could also be considered a “boss key.” 😉

  6. Load Tembo: caps lock+space.

  7. Trigger App Exposé: caps lock+W.

  8. Show Desktop: caps lock+D.

  9. Launch the screen-saver, thus locking my MacBook: caps lock+X.7

  10. Emergency… no questions asked, immediate shutdown: caps lock+`.6

Now that I have a hyper key set up, I’m sure I’ll be adding further combinations as the need arises.

  1. Outside of Safari, Mail and iTunes. ↩︎

  2. Vulcan Nerve Pinch not required. ↩︎

  3. Karabiner is a powerful utility and provides for a highly configurable keyboard. Along with my hyper key, I also chose the option to have application quitting mapped to command+Q+Q rather than the standard command+Q. Thus I can’t inadvertently close an application. I had previously used the CommandQ utility for this, but that meant enduring a delay (albeit a configurable one) when terminating applications and that isn’t always desirable. ↩︎

  4. Because, hey, sometimes one just has to SHOUT! Alternatively, to coin a phrase I recently came across, “caps lock, for when you’re too tired to give a shift.” ↩︎

  5. Firefox required the Keybinder plug-in to make this work. ↩︎

  6. Requires an additional Automator action↩︎ ↩︎2 ↩︎3

  7. Requires an additional Automator action↩︎