I used Karabiner Elements for years to map my caps lock key to a hyper key. I moved to Better Touch Tool for this particular job, with all of Apple’s security changes. Recently, I have been having a bit of a challenge with the reliability of the hyper key in some apps, particularly when using it to trigger a Keyboard Maestro macro.
In excellent news, Karabiner Elements has obviously had a huge amount of work since I last used it. It’s now much easier to install and it has managed to maintain its reliability. So I have switched back and it’s fantastic!
If it’s been a while since you checked it out, might be worth investigating.
Karabiner is awesome for small tweaks and remaps, but it can be a bit tough to create a full layer set for your keyboard.
It’s doable, however the resulting JSON file can be huge and it is still cumbersome to implement some features akin to those which customizable keyboards, such as layers, home row mods and tap dances.
I’ve since moved my remapping to kanata which lacks a GUI, but has a leaner and human readable config file and far more features built in, such as great home row mods and layer support that allowed me to implement the very same 34 keys key map I use on my external keyboards.
Both apps, Karabiner and Kanata, use the same driver-level implementation to remap your keyboard. So they should be better for this job than any software level interception such as Keyboard Maestro, Alfred, Better Touch Tool, etc
Ben Vallack recently did a video showcasing his config. He’s running his from the terminal, but I rather run mine headless, through macOS built-in launchctl
.