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?