Last active
March 30, 2026 15:47
-
-
Save suica/f2730dff3b4b3b29db77ed0d43ba1c53 to your computer and use it in GitHub Desktop.
karabiner enchanced SpaceFN
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "global": { "show_in_menu_bar": false }, | |
| "profiles": [ | |
| { | |
| "complex_modifications": { | |
| "rules": [ | |
| { | |
| "description": "SpaceFN: Space enables SpaceFN mode (see: https://geekhack.org/index.php?topic=51069.0 & https://spacelauncherapp.com)", | |
| "manipulators": [ | |
| { | |
| "conditions": [ | |
| { | |
| "name": "_spacefn_mode", | |
| "type": "variable_if", | |
| "value": 0 | |
| } | |
| ], | |
| "from": { "key_code": "spacebar" }, | |
| "parameters": { | |
| "basic.to_delayed_action_delay_milliseconds": 200, | |
| "basic.to_if_alone_timeout_milliseconds": 300, | |
| "basic.to_if_held_down_threshold_milliseconds": 200 | |
| }, | |
| "to_delayed_action": { "to_if_canceled": [{ "key_code": "spacebar" }] }, | |
| "to_if_alone": [ | |
| { | |
| "halt": true, | |
| "key_code": "spacebar" | |
| } | |
| ], | |
| "to_if_held_down": [ | |
| { | |
| "set_variable": { | |
| "key_up_value": 0, | |
| "name": "spacefn_mode", | |
| "value": 1 | |
| } | |
| } | |
| ], | |
| "type": "basic" | |
| } | |
| ] | |
| }, | |
| { | |
| "description": "Post escape if left_control is pressed alone.", | |
| "manipulators": [ | |
| { | |
| "from": { | |
| "key_code": "left_control", | |
| "modifiers": { "optional": ["any"] } | |
| }, | |
| "to": [{ "key_code": "left_control" }], | |
| "to_if_alone": [{ "key_code": "escape" }], | |
| "type": "basic" | |
| } | |
| ] | |
| }, | |
| { | |
| "description": "SpaceFN: Space+b to Space (hold to repeat)", | |
| "manipulators": [ | |
| { | |
| "conditions": [ | |
| { | |
| "name": "spacefn_mode", | |
| "type": "variable_if", | |
| "value": 1 | |
| } | |
| ], | |
| "from": { | |
| "key_code": "b", | |
| "modifiers": { "optional": ["any"] } | |
| }, | |
| "to": [{ "key_code": "spacebar" }], | |
| "type": "basic" | |
| } | |
| ] | |
| }, | |
| { | |
| "description": "SpaceFN: Space+[1234567890-=] to F[1-12]", | |
| "manipulators": [ | |
| { | |
| "conditions": [ | |
| { | |
| "name": "spacefn_mode", | |
| "type": "variable_if", | |
| "value": 1 | |
| } | |
| ], | |
| "from": { | |
| "key_code": "1", | |
| "modifiers": { "optional": ["any"] } | |
| }, | |
| "to": [{ "key_code": "f1" }], | |
| "type": "basic" | |
| }, | |
| { | |
| "conditions": [ | |
| { | |
| "name": "spacefn_mode", | |
| "type": "variable_if", | |
| "value": 1 | |
| } | |
| ], | |
| "from": { | |
| "key_code": "2", | |
| "modifiers": { "optional": ["any"] } | |
| }, | |
| "to": [{ "key_code": "f2" }], | |
| "type": "basic" | |
| }, | |
| { | |
| "conditions": [ | |
| { | |
| "name": "spacefn_mode", | |
| "type": "variable_if", | |
| "value": 1 | |
| } | |
| ], | |
| "from": { | |
| "key_code": "3", | |
| "modifiers": { "optional": ["any"] } | |
| }, | |
| "to": [{ "key_code": "f3" }], | |
| "type": "basic" | |
| }, | |
| { | |
| "conditions": [ | |
| { | |
| "name": "spacefn_mode", | |
| "type": "variable_if", | |
| "value": 1 | |
| } | |
| ], | |
| "from": { | |
| "key_code": "4", | |
| "modifiers": { "optional": ["any"] } | |
| }, | |
| "to": [{ "key_code": "f4" }], | |
| "type": "basic" | |
| }, | |
| { | |
| "conditions": [ | |
| { | |
| "name": "spacefn_mode", | |
| "type": "variable_if", | |
| "value": 1 | |
| } | |
| ], | |
| "from": { | |
| "key_code": "5", | |
| "modifiers": { "optional": ["any"] } | |
| }, | |
| "to": [{ "key_code": "f5" }], | |
| "type": "basic" | |
| }, | |
| { | |
| "conditions": [ | |
| { | |
| "name": "spacefn_mode", | |
| "type": "variable_if", | |
| "value": 1 | |
| } | |
| ], | |
| "from": { | |
| "key_code": "6", | |
| "modifiers": { "optional": ["any"] } | |
| }, | |
| "to": [{ "key_code": "f6" }], | |
| "type": "basic" | |
| }, | |
| { | |
| "conditions": [ | |
| { | |
| "name": "spacefn_mode", | |
| "type": "variable_if", | |
| "value": 1 | |
| } | |
| ], | |
| "from": { | |
| "key_code": "7", | |
| "modifiers": { "optional": ["any"] } | |
| }, | |
| "to": [{ "key_code": "f7" }], | |
| "type": "basic" | |
| }, | |
| { | |
| "conditions": [ | |
| { | |
| "name": "spacefn_mode", | |
| "type": "variable_if", | |
| "value": 1 | |
| } | |
| ], | |
| "from": { | |
| "key_code": "8", | |
| "modifiers": { "optional": ["any"] } | |
| }, | |
| "to": [{ "key_code": "f8" }], | |
| "type": "basic" | |
| }, | |
| { | |
| "conditions": [ | |
| { | |
| "name": "spacefn_mode", | |
| "type": "variable_if", | |
| "value": 1 | |
| } | |
| ], | |
| "from": { | |
| "key_code": "9", | |
| "modifiers": { "optional": ["any"] } | |
| }, | |
| "to": [{ "key_code": "f9" }], | |
| "type": "basic" | |
| }, | |
| { | |
| "conditions": [ | |
| { | |
| "name": "spacefn_mode", | |
| "type": "variable_if", | |
| "value": 1 | |
| } | |
| ], | |
| "from": { | |
| "key_code": "0", | |
| "modifiers": { "optional": ["any"] } | |
| }, | |
| "to": [{ "key_code": "f10" }], | |
| "type": "basic" | |
| }, | |
| { | |
| "conditions": [ | |
| { | |
| "name": "spacefn_mode", | |
| "type": "variable_if", | |
| "value": 1 | |
| } | |
| ], | |
| "from": { | |
| "key_code": "hyphen", | |
| "modifiers": { "optional": ["any"] } | |
| }, | |
| "to": [{ "key_code": "f11" }], | |
| "type": "basic" | |
| }, | |
| { | |
| "conditions": [ | |
| { | |
| "name": "spacefn_mode", | |
| "type": "variable_if", | |
| "value": 1 | |
| } | |
| ], | |
| "from": { | |
| "key_code": "equal_sign", | |
| "modifiers": { "optional": ["any"] } | |
| }, | |
| "to": [{ "key_code": "f12" }], | |
| "type": "basic" | |
| } | |
| ] | |
| }, | |
| { | |
| "description": "SpaceFN: Space+[hjkl] to Left, Down, Up, Right", | |
| "manipulators": [ | |
| { | |
| "conditions": [ | |
| { | |
| "name": "spacefn_mode", | |
| "type": "variable_if", | |
| "value": 1 | |
| } | |
| ], | |
| "from": { | |
| "key_code": "h", | |
| "modifiers": { "optional": ["any"] } | |
| }, | |
| "to": [{ "key_code": "left_arrow" }], | |
| "type": "basic" | |
| }, | |
| { | |
| "conditions": [ | |
| { | |
| "name": "spacefn_mode", | |
| "type": "variable_if", | |
| "value": 1 | |
| } | |
| ], | |
| "from": { | |
| "key_code": "j", | |
| "modifiers": { "optional": ["any"] } | |
| }, | |
| "to": [{ "key_code": "down_arrow" }], | |
| "type": "basic" | |
| }, | |
| { | |
| "conditions": [ | |
| { | |
| "name": "spacefn_mode", | |
| "type": "variable_if", | |
| "value": 1 | |
| } | |
| ], | |
| "from": { | |
| "key_code": "k", | |
| "modifiers": { "optional": ["any"] } | |
| }, | |
| "to": [{ "key_code": "up_arrow" }], | |
| "type": "basic" | |
| }, | |
| { | |
| "conditions": [ | |
| { | |
| "name": "spacefn_mode", | |
| "type": "variable_if", | |
| "value": 1 | |
| } | |
| ], | |
| "from": { | |
| "key_code": "l", | |
| "modifiers": { "optional": ["any"] } | |
| }, | |
| "to": [{ "key_code": "right_arrow" }], | |
| "type": "basic" | |
| } | |
| ] | |
| } | |
| ] | |
| }, | |
| "devices": [ | |
| { | |
| "identifiers": { | |
| "is_keyboard": true, | |
| "is_pointing_device": true, | |
| "product_id": 591, | |
| "vendor_id": 1452 | |
| }, | |
| "ignore": false | |
| }, | |
| { | |
| "identifiers": { | |
| "is_keyboard": true, | |
| "is_pointing_device": true, | |
| "product_id": 33398, | |
| "vendor_id": 9306 | |
| }, | |
| "ignore": false | |
| }, | |
| { | |
| "identifiers": { | |
| "is_keyboard": true, | |
| "is_pointing_device": true, | |
| "product_id": 20565, | |
| "vendor_id": 12815 | |
| }, | |
| "ignore": false | |
| }, | |
| { | |
| "identifiers": { | |
| "is_keyboard": true, | |
| "product_id": 20783, | |
| "vendor_id": 1155 | |
| }, | |
| "ignore": true | |
| }, | |
| { | |
| "identifiers": { | |
| "is_keyboard": true, | |
| "is_pointing_device": true, | |
| "product_id": 272, | |
| "vendor_id": 1452 | |
| }, | |
| "ignore": false | |
| } | |
| ], | |
| "name": "Default profile", | |
| "selected": true, | |
| "virtual_hid_keyboard": { "keyboard_type_v2": "ansi" } | |
| }, | |
| { "name": "New profile" } | |
| ] | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment