MacOS – Key remapping without Karabiner

keybindingskeyboardmacos

Through "System preferences -> Keyboard -> Modifier Keys" I had setup: Caps Lock as Ctl.

Then, I installed the new Karabiner (formerly KeyRemapForMacBook) to achieve the following key-remap:

  • Left Ctl = Fn
  • Fn = Left Ctl

But, setting up Karabiner meant that my "Caps Lock to Ctl" key remap made with "System Preferences" was lost. Now, Karabiner demands that I install yet another app (SEIL) to remap only the Caps Lock key. I think that is ridiculous and I do not wish to install another app just for remapping one key.

So, I removed Karabiner from my system and then set up the following key remap via "System Preferences -> Keyboard -> Modifier Keys":

  • Caps Lock = Ctl
  • Left Ctl = None (No key binding => dead key)
  • Fn stays Fn (NOTE: this doesn't bother me because #1: I don't use it much anyway and, #2: I am used to the Thinkpad "Fn on far left" style).

But, I am wondering, how does Karabiner do its magic on the inside. My understanding is that ultimately, Karabiner has to pass the key-remap configuration to the OS, right? Or does Karabiner insert itself into the system (i.e., as a kernel module) and watch all keys typed on the keyboard to detect the Ctl and Fn keys?

More importantly, is there anyway (similar to xmodmap in Linux) to achieve this key remap without Karabiner?

Best Answer

Sadly, with MacOS Sierra, Karabiner has gone into a strange kind of hiatus-but-not-really-because-someday-we'll-fix-it.

Which is too bad, because Karabiner was the perfect tool for what I needed (which was make MacOS behave like a forty-year-old UNIX terminal because my stupid fingers still hit ^W to delete a word and I kill the window and I can't stop, no, don't help me, I'll die eventually and then my problem is fixed).

My other main tool is Typinator for abbreviations--w for with, h for the, n for and, etc; those really add up.

So far, I've found BetterTouchTool to be a viable replacement for Karabiner, even better in some ways. But worse in others; key repetition doesn't work for me despite the developer saying it does. (Possibly it interacts with Typinator, but turning the latter off doesn’t fix the problem.)

I've written a whole novel using these two tools (Typinator and BetterTouchTool), but I'd appreciate anyone chiming in if they've found something better still.