Skip to main content

Karabiner & Hyper Key vs Dedicated App Switchers - SnapHotkey

Comparing Karabiner Elements hyper key setup to dedicated hotkey app switchers for Mac. Which is better for launching apps with keyboard shortcuts?

SnapHotkey April 8, 2026 9 min read
developer-workflow karabiner hyper-key app-switching macOS keyboard-shortcuts

You’ve heard about the hyper key. Maybe you’ve already remapped Caps Lock in Karabiner-Elements and started mapping Hyper+S to Slack, Hyper+T to Terminal. It works — sort of. Then macOS updates, and your JSON config breaks. Or you add a new app and realize you’ve lost track of which key you assigned it to.

The hyper key approach to app launching is genuinely clever, but it comes with a ceiling. This guide compares Karabiner Elements and the hyper key paradigm against dedicated hotkey-to-app tools, so you can pick the right solution for how you actually work.

What Is the Hyper Key?

The hyper key is a modifier key concept, not a built-in macOS feature. The idea: remap a rarely-used key (almost always Caps Lock) to simultaneously hold Ctrl+Shift+Option+Cmd. Because no application uses all four modifiers together, Hyper+anything is a conflict-free shortcut space.

In practice, developers use it to create dedicated shortcuts that never collide with app shortcuts:

  • Hyper+S → focus Slack
  • Hyper+T → focus Terminal
  • Hyper+B → focus Chrome (browser)
  • Hyper+C → focus VS Code (code)

The appeal is real: you get muscle memory shortcuts that work globally without learning a new app. The friction is also real, and it starts the moment you go beyond basic setup.

Caps Lock transforming into a Hyper key

Setting Up the Hyper Key: Three Approaches

Karabiner-Elements (Free)

Karabiner-Elements is a powerful low-level keyboard remapper. It works at the kernel level, intercepting keystrokes before they reach any app. This makes it extremely reliable for key remapping — including creating a hyper key.

To set up a hyper key in Karabiner:

  1. Install Karabiner-Elements
  2. Open the Complex Modifications tab
  3. Import the “Hyper Key” rule from the online rules library
  4. Enable the rule to map Caps Lock → Ctrl+Shift+Option+Cmd

Then, to use Hyper+S to launch Slack, you need a second tool. Karabiner can remap keys, but for “press Hyper+S → switch to Slack” you typically need:

  • Hammerspoon — write a Lua script to handle the key combination
  • Raycast or Keyboard Maestro — create a hotkey trigger pointing to the app

This is the core limitation: Karabiner creates the shortcut space, but you need another tool to fill it with app-launching actions.

A minimal Hammerspoon config for app switching looks like this:

local hyper = {"ctrl", "alt", "cmd", "shift"}

hs.hotkey.bind(hyper, "S", function()
  hs.application.launchOrFocus("Slack")
end)

hs.hotkey.bind(hyper, "T", function()
  hs.application.launchOrFocus("Terminal")
end)

You’ll need one block per app. Modifying it means editing a Lua file, saving, and reloading the config.

Hyperkey App (Free)

Hyperkey is a simple, free macOS app by Ryan Hanson that does one thing: remaps a key to the hyper modifier combination. It’s easier to install than Karabiner and doesn’t require a separate JSON config.

Hyperkey sets up the modifier. For app launching, you still need another tool — usually Raycast shortcuts or BetterTouchTool hotkeys — to bind Hyper+key to specific apps.

BetterTouchTool ($14–24)

BetterTouchTool can both create the hyper key and assign actions to hyper key combinations in a single app. You skip the Karabiner + Hammerspoon two-app setup.

The GUI lets you add a hotkey trigger, set it to Hyper+S, and point it at the Slack app. No scripting required. BetterTouchTool is more user-friendly than Karabiner+Hammerspoon, but it’s a large app with many features you won’t use if app switching is all you need.

Code config vs simple GUI setup

The Real Limitations of the Hyper Key Approach

1. You’re One macOS Update Away From Breakage

Karabiner-Elements works at the kernel level, which means it needs to update whenever Apple changes kernel extension behavior. Major macOS updates (especially Sequoia’s privacy changes) have broken Karabiner configurations for weeks while waiting for compatibility updates. The Hammerspoon Lua scripts are usually more resilient, but they can fail when app names change or when APIs shift.

If you’re on a deadline, a broken keyboard remapping setup is the last thing you need. If you’re debugging a hotkey that’s suddenly stopped working, Mac Hotkey to Launch App Not Working? walks through the common causes.

2. Config Lives in Files, Not a GUI

The Karabiner launch app shortcut macOS workflow involves editing JSON files for the Karabiner side and Lua files for the Hammerspoon side. There’s no visual “app → shortcut” mapping screen. When you add a new app to your workflow, you open two files, add the configuration, save, and reload.

This isn’t terrible for a developer who lives in a terminal. But it’s maintenance overhead that compounds as your app list grows.

3. No Toggle Show/Hide

Standard hyper key + Hammerspoon setups use launchOrFocus(), which brings the app to the front if it’s not focused. But pressing the shortcut again does nothing if the app is already focused. You can’t use the same key to hide an app — you need a separate shortcut for that, or a more complex Lua function.

4. No Same-App Multi-Window Cycling

If you have three Terminal windows open, Hyper+TlaunchOrFocus("Terminal") brings one Terminal to the front — usually the most recently used one. Getting to a specific Terminal window requires additional scripting with hs.window.filter and manual window tracking.

5. Two Apps to Install and Maintain

Karabiner + Hammerspoon is two separate apps, each with their own update cycles, permissions requirements, and potential for conflict. Hyperkey + BetterTouchTool is also two apps (though BTT can handle both). This doubles your surface area for “my app switching is broken” diagnoses.

Dedicated Hotkey App Switchers: The Alternative

Dedicated hotkey-to-app tools are purpose-built for exactly this problem: map a keyboard shortcut to an app, press it to jump there instantly. They skip the hyper key setup entirely and offer features the DIY approach can’t easily replicate.

The main options in this category:

rcmd (free) uses Right Cmd as a fixed modifier — Right Cmd+S → Slack. The app auto-maps shortcuts based on app name first letters. Simple and reliable, but you’re limited to the Right Cmd modifier and can run into letter conflicts if you have two apps starting with the same letter.

Thor (free) lets you configure any shortcut-to-app mapping with a GUI. It works, but development has stalled and it lacks advanced features.

SnapHotkey ($9.99, one-time) takes the dedicated tool approach furthest. You configure shortcut-to-app mappings in a GUI — no JSON, no Lua. It adds three capabilities the hyper key approach can’t easily match:

  • Left/Right modifier distinction: Left Cmd+1 and Right Cmd+1 are separate shortcuts. In practice, this means Left Cmd becomes your app-switching modifier (effectively a hyper key, but with only one modifier instead of four), while Right Cmd stays free for other purposes.
  • Toggle show/hide: Press the shortcut once to focus the app; press it again to hide it. The same key that shows Slack also dismisses it. This behavior requires non-trivial Hammerspoon scripting to replicate.
  • Same-app multi-window cycling: If you have three Terminal windows, repeated presses of your Terminal shortcut cycle through them in order. No window management scripts needed.

Left and right modifier keys mapped to different apps

Side-by-Side Comparison

FeatureKarabiner + HammerspoonBetterTouchToolSnapHotkey
Setup complexityHigh (JSON + Lua)Medium (GUI)Low (GUI only)
App mappingScript per appGUI per appGUI per app
Toggle show/hideRequires custom LuaPossible with scriptingBuilt-in
Multi-window cyclingRequires hs.window.filterNot availableBuilt-in
Left/Right modifierNot distinguishableNot distinguishableSupported
Survives OS updatesSometimes breaksUsually stableDesigned for stability
PriceFree + Free$14–24$9.99 one-time
Number of apps needed21–21

Which Setup Is Right for You?

Use Karabiner + Hammerspoon if:

  • You already use Karabiner for other key remapping and don’t want another app
  • You’re comfortable editing Lua and enjoy configuring your own system
  • You want a free solution and don’t mind occasional maintenance

Use BetterTouchTool if:

  • You already have BTT for window snapping or trackpad gestures
  • You want one app that handles both the hyper key and app actions
  • The price is reasonable for a tool you’ll use beyond app switching

Use a dedicated tool like SnapHotkey if:

  • You want a GUI setup with zero scripting
  • Toggle show/hide behavior matters to you (it’s surprisingly useful for Slack, music players, terminals)
  • You work with multiple windows of the same app and want to cycle through them
  • You want the shortcut setup to survive macOS updates without manual fixes

The Best-of-Both-Worlds Setup

If you already use Karabiner for remapping function keys or creating tap/hold behaviors, you don’t have to choose. Keep Karabiner for what it’s best at — low-level key remapping — and use a dedicated app switcher for the app-launching layer.

This combination gives you Karabiner’s kernel-level remapping reliability without asking it to do something it requires scripting for. Your app switching gets a GUI, toggle support, and multi-window cycling. The two tools don’t conflict.

The Bottom Line

The hyper key approach is a genuinely useful technique for developers who already live in Karabiner and Hammerspoon. But for app switching specifically, it’s a workaround — configuring a general-purpose remapping tool to simulate what a dedicated tool does natively.

If app switching is the goal, a purpose-built tool gets you there faster, stays working after OS updates, and adds features the scripted approach requires significant effort to replicate.


Looking for a full comparison of dedicated hotkey app switchers? See Best Mac Hotkey App Launchers Compared (2026). Or, if you want to eliminate Cmd+Tab entirely from your developer workflow, see Stop Using Cmd+Tab: Better App Switching for Developers. If you use Raycast and wonder whether its per-app hotkeys are enough, Raycast Hotkeys vs Dedicated App Switcher breaks down exactly where Raycast ends and a dedicated tool begins. For the complete developer productivity system beyond just app switching — hotkeys, window layout, and Spaces — see Developer Productivity on Mac in 2026.