Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
~/.config/karabiner/assets/complex_modifications/
{
"title": "alone modified key (@aluc)",
"rules": [
{
"description": "Change left control to esc if alone",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "left_control",
"modifiers": {
"optional": [
"any"
]
}
},
"conditions": [
{
"type": "device_if",
"identifiers": [
{
"product_id": 256,
"vendor_id": 2131
},
{
"product_id": 514,
"vendor_id": 1278
},
{
"product_id": 34050,
"vendor_id": 2652
}
]
}
],
"to": [
{
"key_code": "left_control"
}
],
"to_if_alone": [
{
"key_code": "escape"
}
]
}
]
},
{
"description": "Change caps_lock key to command+control+option+shift if pressed with other keys",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "caps_lock",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "left_shift",
"modifiers": [
"left_command",
"left_control",
"left_option"
]
}
],
"to_if_alone": [
{
"hold_down_milliseconds": 100,
"key_code": "caps_lock"
}
]
}
]
},
{
"description": "Change left_command to f19 if alone",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "left_command",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "left_command"
}
],
"to_if_alone": [
{
"key_code": "f19"
}
]
}
]
},
{
"description": "Change left_option to f18 if alone",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "left_option",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "left_option"
}
],
"to_if_alone": [
{
"key_code": "f18"
}
]
}
]
},
{
"description": "Change right_option to f17 if alone",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "right_option",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "right_option"
}
],
"to_if_alone": [
{
"key_code": "f17"
}
]
}
]
},
{
"description": "Change right_command to f16 if alone",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "right_command",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "right_command"
}
],
"to_if_alone": [
{
"key_code": "f16"
}
]
}
]
}
]
}
{
"title": "Numeric Keypad (@aluc)",
"rules": [
{
"description": "Numeric Keypad Trigger [Tab as trigger key]",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "tab"
},
"to": [
{
"set_variable": {
"name": "numeric_keypad_mode",
"value": 1
}
}
],
"to_if_alone": [
{
"key_code": "tab"
}
],
"to_after_key_up": [
{
"set_variable": {
"name": "numeric_keypad_mode",
"value": 0
}
}
]
}
]
},
{
"description": "Numeric Keypad Mode [n as 0]",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "7"
},
"to": [
{
"key_code": "delete_or_backspace"
}
],
"conditions": [
{
"type": "variable_if",
"name": "numeric_keypad_mode",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "8"
},
"to": [
{
"key_code": "keypad_equal_sign"
}
],
"conditions": [
{
"type": "variable_if",
"name": "numeric_keypad_mode",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "9"
},
"to": [
{
"key_code": "keypad_slash"
}
],
"conditions": [
{
"type": "variable_if",
"name": "numeric_keypad_mode",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "0"
},
"to": [
{
"key_code": "keypad_asterisk"
}
],
"conditions": [
{
"type": "variable_if",
"name": "numeric_keypad_mode",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "u"
},
"to": [
{
"key_code": "keypad_7"
}
],
"conditions": [
{
"type": "variable_if",
"name": "numeric_keypad_mode",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "i"
},
"to": [
{
"key_code": "keypad_8"
}
],
"conditions": [
{
"type": "variable_if",
"name": "numeric_keypad_mode",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "o"
},
"to": [
{
"key_code": "keypad_9"
}
],
"conditions": [
{
"type": "variable_if",
"name": "numeric_keypad_mode",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "p"
},
"to": [
{
"key_code": "keypad_hyphen"
}
],
"conditions": [
{
"type": "variable_if",
"name": "numeric_keypad_mode",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "j"
},
"to": [
{
"key_code": "keypad_4"
}
],
"conditions": [
{
"type": "variable_if",
"name": "numeric_keypad_mode",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "k"
},
"to": [
{
"key_code": "keypad_5"
}
],
"conditions": [
{
"type": "variable_if",
"name": "numeric_keypad_mode",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "l"
},
"to": [
{
"key_code": "keypad_6"
}
],
"conditions": [
{
"type": "variable_if",
"name": "numeric_keypad_mode",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "semicolon"
},
"to": [
{
"key_code": "keypad_plus"
}
],
"conditions": [
{
"type": "variable_if",
"name": "numeric_keypad_mode",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "m"
},
"to": [
{
"key_code": "keypad_1"
}
],
"conditions": [
{
"type": "variable_if",
"name": "numeric_keypad_mode",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "comma"
},
"to": [
{
"key_code": "keypad_2"
}
],
"conditions": [
{
"type": "variable_if",
"name": "numeric_keypad_mode",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "period"
},
"to": [
{
"key_code": "keypad_3"
}
],
"conditions": [
{
"type": "variable_if",
"name": "numeric_keypad_mode",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "slash"
},
"to": [
{
"key_code": "keypad_enter"
}
],
"conditions": [
{
"type": "variable_if",
"name": "numeric_keypad_mode",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "n"
},
"to": [
{
"key_code": "keypad_0"
}
],
"conditions": [
{
"type": "variable_if",
"name": "numeric_keypad_mode",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"key_code": "right_option"
},
"to": [
{
"key_code": "keypad_period"
}
],
"conditions": [
{
"type": "variable_if",
"name": "numeric_keypad_mode",
"value": 1
}
]
}
]
}
]
}
{
"title": "vi mode (@aluc)",
"rules": [
{
"description": "Vi Mode [fn as Trigger Key]",
"manipulators": [
{
"type": "basic",
"from": {
"key_code": "j",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "down_arrow",
"modifiers": [
]
}
],
"conditions": [
{
"type": "variable_if",
"name": "vi_mode",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"simultaneous": [
{
"key_code": "fn"
},
{
"key_code": "j"
}
],
"simultaneous_options": {
"key_down_order": "strict",
"key_up_order": "strict_inverse",
"detect_key_down_uninterruptedly": true,
"to_after_key_up": [
{
"set_variable": {
"name": "vi_mode",
"value": 0
}
}
]
},
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"set_variable": {
"name": "vi_mode",
"value": 1
}
},
{
"key_code": "down_arrow",
"modifiers": [
]
}
]
},
{
"type": "basic",
"from": {
"key_code": "k",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "up_arrow",
"modifiers": [
]
}
],
"conditions": [
{
"type": "variable_if",
"name": "vi_mode",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"simultaneous": [
{
"key_code": "fn"
},
{
"key_code": "k"
}
],
"simultaneous_options": {
"key_down_order": "strict",
"key_up_order": "strict_inverse",
"detect_key_down_uninterruptedly": true,
"to_after_key_up": [
{
"set_variable": {
"name": "vi_mode",
"value": 0
}
}
]
},
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"set_variable": {
"name": "vi_mode",
"value": 1
}
},
{
"key_code": "up_arrow",
"modifiers": [
]
}
]
},
{
"type": "basic",
"from": {
"key_code": "h",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "left_arrow",
"modifiers": [
]
}
],
"conditions": [
{
"type": "variable_if",
"name": "vi_mode",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"simultaneous": [
{
"key_code": "fn"
},
{
"key_code": "h"
}
],
"simultaneous_options": {
"key_down_order": "strict",
"key_up_order": "strict_inverse",
"detect_key_down_uninterruptedly": true,
"to_after_key_up": [
{
"set_variable": {
"name": "vi_mode",
"value": 0
}
}
]
},
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"set_variable": {
"name": "vi_mode",
"value": 1
}
},
{
"key_code": "left_arrow",
"modifiers": [
]
}
]
},
{
"type": "basic",
"from": {
"key_code": "l",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "right_arrow",
"modifiers": [
]
}
],
"conditions": [
{
"type": "variable_if",
"name": "vi_mode",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"simultaneous": [
{
"key_code": "fn"
},
{
"key_code": "l"
}
],
"simultaneous_options": {
"key_down_order": "strict",
"key_up_order": "strict_inverse",
"detect_key_down_uninterruptedly": true,
"to_after_key_up": [
{
"set_variable": {
"name": "vi_mode",
"value": 0
}
}
]
},
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"set_variable": {
"name": "vi_mode",
"value": 1
}
},
{
"key_code": "right_arrow",
"modifiers": [
]
}
]
},
{
"type": "basic",
"from": {
"key_code": "f",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "fn",
"modifiers": [
]
}
],
"conditions": [
{
"type": "variable_if",
"name": "vi_mode",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"simultaneous": [
{
"key_code": "fn"
},
{
"key_code": "f"
}
],
"simultaneous_options": {
"key_down_order": "strict",
"key_up_order": "strict_inverse",
"detect_key_down_uninterruptedly": true,
"to_after_key_up": [
{
"set_variable": {
"name": "vi_mode",
"value": 0
}
}
]
},
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"set_variable": {
"name": "vi_mode",
"value": 1
}
},
{
"key_code": "fn",
"modifiers": [
]
}
]
},
{
"type": "basic",
"from": {
"key_code": "b",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "left_arrow",
"modifiers": [
"left_option"
]
}
],
"conditions": [
{
"type": "variable_if",
"name": "vi_mode",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"simultaneous": [
{
"key_code": "fn"
},
{
"key_code": "b"
}
],
"simultaneous_options": {
"key_down_order": "strict",
"key_up_order": "strict_inverse",
"detect_key_down_uninterruptedly": true,
"to_after_key_up": [
{
"set_variable": {
"name": "vi_mode",
"value": 0
}
}
]
},
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"set_variable": {
"name": "vi_mode",
"value": 1
}
},
{
"key_code": "left_arrow",
"modifiers": [
"left_option"
]
}
]
},
{
"type": "basic",
"from": {
"key_code": "w",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "right_arrow",
"modifiers": [
"left_option"
]
}
],
"conditions": [
{
"type": "variable_if",
"name": "vi_mode",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"simultaneous": [
{
"key_code": "fn"
},
{
"key_code": "w"
}
],
"simultaneous_options": {
"key_down_order": "strict",
"key_up_order": "strict_inverse",
"detect_key_down_uninterruptedly": true,
"to_after_key_up": [
{
"set_variable": {
"name": "vi_mode",
"value": 0
}
}
]
},
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"set_variable": {
"name": "vi_mode",
"value": 1
}
},
{
"key_code": "right_arrow",
"modifiers": [
"left_option"
]
}
]
},
{
"type": "basic",
"from": {
"key_code": "0",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "a",
"modifiers": [
"left_control"
]
}
],
"conditions": [
{
"type": "variable_if",
"name": "vi_mode",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"simultaneous": [
{
"key_code": "fn"
},
{
"key_code": "0"
}
],
"simultaneous_options": {
"key_down_order": "strict",
"key_up_order": "strict_inverse",
"detect_key_down_uninterruptedly": true,
"to_after_key_up": [
{
"set_variable": {
"name": "vi_mode",
"value": 0
}
}
]
},
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"set_variable": {
"name": "vi_mode",
"value": 1
}
},
{
"key_code": "a",
"modifiers": [
"left_control"
]
}
]
},
{
"type": "basic",
"from": {
"key_code": "4",
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"key_code": "e",
"modifiers": [
"left_control"
]
}
],
"conditions": [
{
"type": "variable_if",
"name": "vi_mode",
"value": 1
}
]
},
{
"type": "basic",
"from": {
"simultaneous": [
{
"key_code": "fn"
},
{
"key_code": "4"
}
],
"simultaneous_options": {
"key_down_order": "strict",
"key_up_order": "strict_inverse",
"detect_key_down_uninterruptedly": true,
"to_after_key_up": [
{
"set_variable": {
"name": "vi_mode",
"value": 0
}
}
]
},
"modifiers": {
"optional": [
"any"
]
}
},
"to": [
{
"set_variable": {
"name": "vi_mode",
"value": 1
}
},
{
"key_code": "e",
"modifiers": [
"left_control"
]
}
]
}
]
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment