Add this config to ~/.config/karabiner/assets/complex_modifications/custom-capslock.json
{ "title": "Change caps_lock to Esc and Control", "rules": [ { "description": "Post Esc if Caps is tapped, Control if held.", "manipulators": [ { "type": "basic", "from": { "key_code": "left_control", "modifiers": { "optional": [ "any" ] } }, "to": [ { "key_code": "left_control", "lazy": true } ], "to_if_alone": [ { "key_code": "escape" } ] } ] } ] }
{ "title": "Hold z or / for control", "rules": [ { "description": "Hold z for control", "manipulators": [ { "type": "basic", "from": { "key_code": "z", "modifiers": { "optional": [ "any" ] } }, "to_if_alone": [ { "key_code": "left_control" } ] } ] }, { "description": "Hold / for control", "manipulators": [ { "type": "basic", "from": { "key_code": "/", "modifiers": { "optional": [ "any" ] } }, "to_if_alone": [ { "key_code": "right_control" } ] } ] } ] }
Add this config to ~/.config/karabiner/assets/complex_modifications/custom-capslock.json
and then in the GUI enable it in the Complex Modifications tab. Last you need to map "capslock" to "left_control" in the Simple Modifications tab.