The Hyper Key Changed Everything

Apple MacBook keyboard close-up, shift and caps-lock

Photo by Obi on Unsplash

Most keyboards have a key that almost nobody uses for its intended purpose. It’s large, it’s in a prime location, and its default behaviour — toggling Caps Lock — is something most people do by accident far more often than on purpose.

What if that key could do something genuinely useful instead?

The Hyper Key concept

A Hyper Key is a single key that sends all four modifier keys simultaneously: shift, control, option and command. No application uses this combination for anything. It’s a completely blank canvas.

Hold the hyper key and press any letter, and you get a keyboard shortcut that will never conflict with any existing shortcut in any application. hyperT to open Terminal. hyperB for your browser. hyperE for your editor. hyperX to lock your screen. Whatever you want.

I first learned about this idea from Brett Terpstra’s 2012 blog post on making caps lock useful. That post changed how I use my Mac, and I’ve had a Hyper Key ever since — over a decade now.

The long road to a clean solution

For years, getting a Hyper Key on macOS required a combination of tools:

Karabiner-Elements handled the low-level key remapping — turning caps lock into a virtual modifier that could trigger other actions. It’s an incredibly powerful tool, but it’s also complex. The configuration is JSON-based, the virtual modifier system has its own learning curve, and it installs a kernel extension (or in more recent versions, a virtual HID device driver).

Hammerspoon provided the automation layer — binding Hyper Key combinations to actions like launching apps, moving windows, or running scripts. It’s essentially a Lua scripting bridge to macOS APIs. Again, powerful, but it’s a general-purpose scripting tool that happens to support hotkeys, not a focused Hyper Key solution.

Together, they worked. But it always felt like using a crane to hang a picture. Two background processes, two configuration systems, and a fair amount of complexity for what is conceptually a simple idea: make Caps Lock send four modifiers at once.

HyperCaps

So I built HyperCaps.

It does exactly one thing: turns caps lock into a hyper key. No configuration files. No scripting language. No kernel extensions. Just a menu bar app that remaps the key at the HID level and intercepts the events with a CGEvent tap.

Here’s how it works under the hood:

  1. Layer 1: HID remap. The hidutil command remaps caps lock to F18 at the hardware input level. This happens before any software sees the keypress. F18 is a real key code that no physical keyboard has, so there are no conflicts.

  2. Layer 2: CGEvent tap. A global event tap watches for F18 events. When F18 goes down, “hyper mode” activates. Any subsequent keypress gets the four modifier flags (shiftcontroloptioncommand) injected into it before it reaches the active application. When F18 goes up, hyper mode deactivates.

  3. Layer 3: Caps Lock toggle. shiftcaps lock still toggles actual Caps Lock on and off, with a visual HUD in the centre of the screen. So the key’s original function isn’t lost — it’s just moved behind a modifier.

The entire app is around 400 lines of Swift. It has no dependencies beyond the system frameworks.

What I use it for

The Hyper Key is the backbone of how I navigate my Mac. Some examples:

These are configured in macOS System Settings → Keyboard → Keyboard Shortcuts → App Shortcuts, or in tools like Raycast or Alfred that support custom hotkeys. HyperCaps doesn’t handle the bindings itself — it just makes the Hyper Key available. What you bind to it is up to you.

The beauty of this approach is that you never have to think about conflicts. hyperT will never clash with anything because no application assigns that combination to anything. Your shortcuts are yours.

Getting started

If you want to try it:

  1. Download HyperCaps (free, open source)
  2. Launch it — grant Accessibility permission when prompted
  3. Make sure Caps Lock is set to its default in System Settings → Keyboard → Modifier Keys
  4. Hold Caps Lock and press any key — the four modifiers are now active

To bind Hyper shortcuts to specific actions, use System Settings → Keyboard → Keyboard Shortcuts → App Shortcuts (for app-specific shortcuts) or a launcher like Raycast.

To toggle Caps Lock itself, hold shift and tap caps lock. A HUD appears to confirm the state.

One key, unlimited shortcuts

The Hyper Key is one of those ideas that, once you have it, you can’t imagine going back. A single key that opens up an entire parallel keyboard layer — no conflicts, no complexity, no configuration.

I’m grateful to Brett Terpstra for introducing the concept to me, and to the Karabiner and Hammerspoon communities for making it work for so many years. HyperCaps is my contribution — a focused, native, single-purpose implementation that does one thing cleanly.

HyperCaps is free and open source on GitHub.