TLDR: I’ve rebound the space key so that when held it behaves like a combo of Ctrl+Option+Cmd+Shift (the Hyper key) using kanata
, and then bound Space+letter combinations using Raycast
to launch and switch between apps instantly.
Why?
Once in a while I make a change to my workflow that feels like it’s worth blogging about. This time, I was inspired by keyboard workflows that primarily seem to come from the Linux world1, where it’s common to bind combinations of the Super key (the Windows key in Windows land or the Cmd key on MacOS) to launch applications instantly. On MacOS though, Cmd is the keyboard shortcut that apps use for their most common tasks, and so I searched around for a replacement.
Enter Hyper, which is a combo of all the modifier keys you have (Ctrl+Option+Cmd+Shift), and it’s pretty much unused across MacOS2. The idea isn’t new, in fact there’s an eponymous free app that does exactly this, but it uses the Caps Lock key (or right Cmd) for the mapping. My Caps Lock however is remapped to ESC, and muscle memory has set in so that I use it constantly in pretty much every editing scenario.
There’s an affordance truth about our current keyboard layout and it’s that while our thumbs are our strongest fingers, we only really hit one huge key with it3: the spacebar. This is part of the reason why split keyboards with a thumb cluster are popular because you have more keys under your strongest finger. So why not repurpose Space to be Hyper?
Mod tap
I wanted to experiment with another trick that I had seen with QMK and other Oryx-based layouts, the idea of a dual-function key (or mod_tap in QMK land). In it’s simplest avatar, it’s essentially just tap the key for one function, and hold for another. This is not really something that you get with a traditional keyboard: most tap keys just repeat when you hold them, and most modifier keys do nothing when tapped. And what better key to use for a dual function than the biggest key out there right underneath our strongest finger: the Spacebar. Remapping keys like this is pretty difficult on MacOS though, and I almost thought it was impossible until I discovered kanata
.
kanata
Kanata feels like a traditional Unix utility that does one thing, and that one thing really well. It has two nits though:
- It’s seriously hard to get installed right. kanata itself depends on a GUI-tool driver called Karabiner, and getting it installed is a pain. So
brew install kanata
works just to get the software downloaded, and the installation steps after that is pretty arcane.
- It has a pretty arcane LISP-based config file. Thankfully we have AI now, and it works pretty well to understand what you want if you provide a link to the extensive config documentation.
Here’s the section of my config file that remaps the spc key4:
(defsrc
grv 1 2 3 4 5 6 7 8 9 0 - = bspc
tab q w e r t y u i o p [ ] \
caps a s d f g h j k l ; ' ret
lsft z x c v b n m , . / rsft
lmet lalt spc rmet rctl
)
(deflayermap (base)
caps (tap-hold 200 200 esc (layer-while-held nav))
spc (tap-hold 200 200 spc (multi lsft lctl lalt lmet))
)
(deflayermap (nav)
i up
j left
k down
l right
)
The hardest bit is the installation, but once you’ve got this config file setup, it works like a charm.
Raycast
Raycast works pretty great as a better Spotlight, but it can also assign shortcut keys to applications. You just have to highlight the application and then assign a shortcut in settings:

And then it’s as simple as that, switching between applications becomes pretty much muscle memory, and space works very well like a natural shortcut.
Final Shortcuts
I have a split keyboard, and a widescreen monitor, so my apps always open maximized to the left or the right half.
Left-half
Hyper+A | AI (ChatGPT) |
Hyper+C | Calendar (Apple Calendar) |
Hyper+D | Database (TablePlus) |
Hyper+E | Editor (Zed) |
Hyper+R | Notes (Reflect) |
Hyper+S | Work Messaging (Slack) |
Hyper+T | Terminal (Ghostty) |
Right half
Hyper+K | For the browser (Dia) |
Hyper+L | Project management (Linear) |
Hyper+M | Design tool (Figma) |
Hyper+P | Phone (iPhone mirroring) |
Hyper+[ | Tile window left |
Hyper+] | Tile window right |
Hyper+\ | Maximize |
WIP
This is pretty new, so it’s still WIP, but I like it a lot. I’m still playing around with kanata
hold & tap timeouts as I sometimes trigger these shortcuts accidentally, but that’s getting rarer as time goes by.
Anyways, that’s it for today! I know I haven’t been keeping up with my weekly notes (life!) but hopefully I’ll restart them soon.
- Most recently from Omarchy. ↩︎
- Except for Hyper+C which is bound to
Convert Text to Simplified Chinese
and must be deselected from Settings > Keyboard > Keyboard Shortcuts > Services > Text. ↩︎ - This is not exactly true, at least on most keyboards, I hit Cmd and Alt with my left thumb, but my right thumb is 100% Spacebar. ↩︎
- Plus a few easter-egg additions where the Caps lock triggers a nav key when held, but this is something that I’m still experimenting with. ↩︎
Leave a Reply