Karabiner = a set of JSON rules

All the “magic” of Karabiner lives as separate JSON files located at:
/User/.config/karabiner/assets/complex_modifications
This is the folder for so-called Complex Modifications:
each .json file describes one rule or a set of rules.
How it works in reality
-
I add a new .json to this folder.
-
Karabiner picks it up as a “modification” that can be enabled.
-
Then: Karabiner → Complex Modifications → Add rule, and I simply enable the rule I need.
I keep the system modular:
- one file = one idea
- rules can be quickly switched on and off, tested and rolled back
- it’s easy to move to another Mac and keep in git
In effect Karabiner is an “input compiler”: I describe rules in JSON and it reliably turns physical keys into the signals I need.
Next I’ll show a few of my Karabiner modifications, which I built for my workflow and brought to the point of working on autopilot.