Hyper key in macOS

Ryan Hanson
Ryan Hanson
Published in
2 min readMar 6, 2021

--

With the ubiquity of window manager applications like Rectangle in macOS, it is surprisingly easy to run out of good, unique keyboard shortcuts that do not interfere with other applications. A common solution for this problem is to remap a key (often caps lock) to the “hyper key”: a combination of shift, control, option, and command. Since this modifier key combination is very unlikely to be taken by shortcuts in any application, it collectively becomes an extra modifier key. My take on this solution is a single purpose app called Hyperkey.

Remapping caps lock to the hyper key is actually quite easy set up in Karabiner-Elements, which is free and open source. Hence an obvious question: why bother creating a paid, closed source app that does the same thing without all the other key remapping stuff? Let’s take a look at it.

The quest for lightweight simplicity

Mainly, I just prefer something lighter weight and I don’t actually want anything else that Karabiner-Elements has. That’s why Hyperkey’s UI is just checkboxes with a couple dropdowns where necessary.

Remapping a key is just a checkbox & dropdown away. I actually prefer remapping right option to the hyper key.

Under the hood

Hyperkey performs key remapping at a few high-ish level positions in the macOS event stream, unlike Karabiner Elements. This has some good and bad tradeoffs. The good is that it makes Hyperkey much more light-weight than Karabiner Elements. It is not really possible for Hyperkey to create a kernel panic, and it’s trivial to uninstall Hyperkey if needed. The bad is that there are some applications or macOS system behaviors that won’t interpret the remapped key properly. However, Hyperkey will work for the vast majority of scenarios. A note if you’re using Keyboard Maestro: Hyperkey will work with it but you will need to press all the modifier keys in the Keyboard Maestro shortcut recorder and all subsequent behavior will still be properly triggered.

The goal

My goal with Hyperkey is to maximize a human performance gain while minimizing configuration and OS impact. Despite pre-existing solutions to this problem, I still can’t help but gravitate toward Hyperkey and this goal.

Maybe you are looking for something more?

I created a superset of Hyperkey, and it’s called Superkey. Superkey includes everything in Hyperkey, but adds the ability to find and click text anywhere on your screen using just the keyboard. It also has more keyboard remapping presets that you might find useful.

--

--