Created
March 24, 2023 18:55
-
-
Save nmbrgts/231db8b25a249b42ecadd0a178dc0666 to your computer and use it in GitHub Desktop.
This is my Karabiner config, which provides a rough home-row-mod-like experience. The rules that follow the "<key>/<mod>" naming convention might help others write similar or better rules. "to_if_alone" doesn't perfectly replicate mod-tap behavior though. If you hold down a key and release it, the key will still register as it's "to_if_alone" va…
This file contains 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": { | |
"ask_for_confirmation_before_quitting": true, | |
"check_for_updates_on_startup": true, | |
"show_in_menu_bar": true, | |
"show_profile_name_in_menu_bar": false, | |
"unsafe_ui": false | |
}, | |
"profiles": [ | |
{ | |
"complex_modifications": { | |
"parameters": { | |
"basic.simultaneous_threshold_milliseconds": 50, | |
"basic.to_delayed_action_delay_milliseconds": 500, | |
"basic.to_if_alone_timeout_milliseconds": 1000, | |
"basic.to_if_held_down_threshold_milliseconds": 500, | |
"mouse_motion_to_scroll.speed": 100 | |
}, | |
"rules": [ | |
{ | |
"description": "A/CTRL", | |
"manipulators": [ | |
{ | |
"from": { | |
"key_code": "a", | |
"modifiers": { | |
"optional": [ | |
"any" | |
] | |
} | |
}, | |
"to": [ | |
{ | |
"key_code": "left_control" | |
} | |
], | |
"to_if_alone": [ | |
{ | |
"key_code": "a" | |
} | |
], | |
"type": "basic" | |
} | |
] | |
}, | |
{ | |
"description": "S/ALT", | |
"manipulators": [ | |
{ | |
"from": { | |
"key_code": "s", | |
"modifiers": { | |
"optional": [ | |
"any" | |
] | |
} | |
}, | |
"to": [ | |
{ | |
"key_code": "left_alt" | |
} | |
], | |
"to_if_alone": [ | |
{ | |
"key_code": "s" | |
} | |
], | |
"type": "basic" | |
} | |
] | |
}, | |
{ | |
"description": "D/GUI", | |
"manipulators": [ | |
{ | |
"from": { | |
"key_code": "d", | |
"modifiers": { | |
"optional": [ | |
"any" | |
] | |
} | |
}, | |
"to": [ | |
{ | |
"key_code": "left_command" | |
} | |
], | |
"to_if_alone": [ | |
{ | |
"key_code": "d" | |
} | |
], | |
"type": "basic" | |
} | |
] | |
}, | |
{ | |
"description": "F/SHIFT", | |
"manipulators": [ | |
{ | |
"from": { | |
"key_code": "f", | |
"modifiers": { | |
"optional": [ | |
"any" | |
] | |
} | |
}, | |
"to": [ | |
{ | |
"key_code": "left_shift" | |
} | |
], | |
"to_if_alone": [ | |
{ | |
"key_code": "f" | |
} | |
], | |
"type": "basic" | |
} | |
] | |
}, | |
{ | |
"description": "SEMI/CTRL", | |
"manipulators": [ | |
{ | |
"from": { | |
"key_code": "semicolon", | |
"modifiers": { | |
"optional": [ | |
"any" | |
] | |
} | |
}, | |
"to": [ | |
{ | |
"key_code": "right_control" | |
} | |
], | |
"to_if_alone": [ | |
{ | |
"key_code": "semicolon" | |
} | |
], | |
"type": "basic" | |
} | |
] | |
}, | |
{ | |
"description": "L/ALT", | |
"manipulators": [ | |
{ | |
"from": { | |
"key_code": "l", | |
"modifiers": { | |
"optional": [ | |
"any" | |
] | |
} | |
}, | |
"to": [ | |
{ | |
"key_code": "right_alt" | |
} | |
], | |
"to_if_alone": [ | |
{ | |
"key_code": "l" | |
} | |
], | |
"type": "basic" | |
} | |
] | |
}, | |
{ | |
"description": "K/GUI", | |
"manipulators": [ | |
{ | |
"from": { | |
"key_code": "k", | |
"modifiers": { | |
"optional": [ | |
"any" | |
] | |
} | |
}, | |
"to": [ | |
{ | |
"key_code": "right_command" | |
} | |
], | |
"to_if_alone": [ | |
{ | |
"key_code": "k" | |
} | |
], | |
"type": "basic" | |
} | |
] | |
}, | |
{ | |
"description": "J/SHIFT", | |
"manipulators": [ | |
{ | |
"from": { | |
"key_code": "j", | |
"modifiers": { | |
"optional": [ | |
"any" | |
] | |
} | |
}, | |
"to": [ | |
{ | |
"key_code": "right_shift" | |
} | |
], | |
"to_if_alone": [ | |
{ | |
"key_code": "j" | |
} | |
], | |
"type": "basic" | |
} | |
] | |
} | |
] | |
}, | |
"devices": [ | |
{ | |
"disable_built_in_keyboard_if_exists": false, | |
"fn_function_keys": [], | |
"identifiers": { | |
"is_keyboard": true, | |
"is_pointing_device": false, | |
"product_id": 834, | |
"vendor_id": 1452 | |
}, | |
"ignore": false, | |
"manipulate_caps_lock_led": true, | |
"simple_modifications": [], | |
"treat_as_built_in_keyboard": false | |
}, | |
{ | |
"disable_built_in_keyboard_if_exists": false, | |
"fn_function_keys": [], | |
"identifiers": { | |
"is_keyboard": false, | |
"is_pointing_device": true, | |
"product_id": 834, | |
"vendor_id": 1452 | |
}, | |
"ignore": true, | |
"manipulate_caps_lock_led": false, | |
"simple_modifications": [], | |
"treat_as_built_in_keyboard": false | |
}, | |
{ | |
"disable_built_in_keyboard_if_exists": true, | |
"fn_function_keys": [], | |
"identifiers": { | |
"is_keyboard": true, | |
"is_pointing_device": true, | |
"product_id": 8963, | |
"vendor_id": 4617 | |
}, | |
"ignore": true, | |
"manipulate_caps_lock_led": false, | |
"simple_modifications": [], | |
"treat_as_built_in_keyboard": false | |
}, | |
{ | |
"disable_built_in_keyboard_if_exists": true, | |
"fn_function_keys": [], | |
"identifiers": { | |
"is_keyboard": true, | |
"is_pointing_device": false, | |
"product_id": 8963, | |
"vendor_id": 4617 | |
}, | |
"ignore": true, | |
"manipulate_caps_lock_led": false, | |
"simple_modifications": [], | |
"treat_as_built_in_keyboard": false | |
}, | |
{ | |
"disable_built_in_keyboard_if_exists": true, | |
"fn_function_keys": [], | |
"identifiers": { | |
"is_keyboard": false, | |
"is_pointing_device": true, | |
"product_id": 8963, | |
"vendor_id": 4617 | |
}, | |
"ignore": true, | |
"manipulate_caps_lock_led": false, | |
"simple_modifications": [], | |
"treat_as_built_in_keyboard": false | |
}, | |
{ | |
"disable_built_in_keyboard_if_exists": false, | |
"fn_function_keys": [], | |
"identifiers": { | |
"is_keyboard": false, | |
"is_pointing_device": true, | |
"product_id": 613, | |
"vendor_id": 1452 | |
}, | |
"ignore": true, | |
"manipulate_caps_lock_led": false, | |
"simple_modifications": [], | |
"treat_as_built_in_keyboard": false | |
}, | |
{ | |
"disable_built_in_keyboard_if_exists": false, | |
"fn_function_keys": [], | |
"identifiers": { | |
"is_keyboard": false, | |
"is_pointing_device": true, | |
"product_id": 613, | |
"vendor_id": 76 | |
}, | |
"ignore": true, | |
"manipulate_caps_lock_led": false, | |
"simple_modifications": [], | |
"treat_as_built_in_keyboard": false | |
} | |
], | |
"fn_function_keys": [ | |
{ | |
"from": { | |
"key_code": "f1" | |
}, | |
"to": [ | |
{ | |
"consumer_key_code": "display_brightness_decrement" | |
} | |
] | |
}, | |
{ | |
"from": { | |
"key_code": "f2" | |
}, | |
"to": [ | |
{ | |
"consumer_key_code": "display_brightness_increment" | |
} | |
] | |
}, | |
{ | |
"from": { | |
"key_code": "f3" | |
}, | |
"to": [ | |
{ | |
"apple_vendor_keyboard_key_code": "mission_control" | |
} | |
] | |
}, | |
{ | |
"from": { | |
"key_code": "f4" | |
}, | |
"to": [ | |
{ | |
"apple_vendor_keyboard_key_code": "spotlight" | |
} | |
] | |
}, | |
{ | |
"from": { | |
"key_code": "f5" | |
}, | |
"to": [ | |
{ | |
"consumer_key_code": "dictation" | |
} | |
] | |
}, | |
{ | |
"from": { | |
"key_code": "f6" | |
}, | |
"to": [ | |
{ | |
"key_code": "f6" | |
} | |
] | |
}, | |
{ | |
"from": { | |
"key_code": "f7" | |
}, | |
"to": [ | |
{ | |
"consumer_key_code": "rewind" | |
} | |
] | |
}, | |
{ | |
"from": { | |
"key_code": "f8" | |
}, | |
"to": [ | |
{ | |
"consumer_key_code": "play_or_pause" | |
} | |
] | |
}, | |
{ | |
"from": { | |
"key_code": "f9" | |
}, | |
"to": [ | |
{ | |
"consumer_key_code": "fast_forward" | |
} | |
] | |
}, | |
{ | |
"from": { | |
"key_code": "f10" | |
}, | |
"to": [ | |
{ | |
"consumer_key_code": "mute" | |
} | |
] | |
}, | |
{ | |
"from": { | |
"key_code": "f11" | |
}, | |
"to": [ | |
{ | |
"consumer_key_code": "volume_decrement" | |
} | |
] | |
}, | |
{ | |
"from": { | |
"key_code": "f12" | |
}, | |
"to": [ | |
{ | |
"consumer_key_code": "volume_increment" | |
} | |
] | |
} | |
], | |
"name": "Default profile", | |
"parameters": { | |
"delay_milliseconds_before_open_device": 1000 | |
}, | |
"selected": true, | |
"simple_modifications": [], | |
"virtual_hid_keyboard": { | |
"country_code": 0, | |
"indicate_sticky_modifier_keys_state": false, | |
"mouse_key_xy_scale": 100 | |
} | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment