Skip to content

Instantly share code, notes, and snippets.

@coodoo
Last active August 9, 2020 06:10
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save coodoo/481b440a616ce64873f5982d2cd5844a to your computer and use it in GitHub Desktop.
Save coodoo/481b440a616ce64873f5982d2cd5844a to your computer and use it in GitHub Desktop.
Toggle vi_mode mode with caps_lock so that hjkl keys function as arrow keys and u/i as delete and backspace.
{
"global":
{
"check_for_updates_on_startup": true,
"show_in_menu_bar": false,
"show_profile_name_in_menu_bar": false
},
"profiles":
[
{
"complex_modifications":
{
"parameters":
{
"basic.simultaneous_threshold_milliseconds": 50,
"basic.to_delayed_action_delay_milliseconds": 500,
"basic.to_if_alone_timeout_milliseconds": 500,
"basic.to_if_held_down_threshold_milliseconds": 500,
"mouse_motion_to_scroll.speed": 100
},
"rules":
[
{
"description": "toggle vi_mode with caps_lock",
"manipulators":
[
{
"conditions":
[
{
"name": "vi_mode",
"type": "variable_if",
"value": 0
}
],
"from":
{
"key_code": "caps_lock",
"modifiers":
{
"optional":
[
"any"
]
}
},
"to":
[
{
"set_variable":
{
"name": "vi_mode",
"value": 1
}
}
],
"type": "basic"
},
{
"conditions":
[
{
"name": "vi_mode",
"type": "variable_if",
"value": 1
}
],
"from":
{
"key_code": "caps_lock",
"modifiers":
{
"optional":
[
"any"
]
}
},
"to":
[
{
"set_variable":
{
"name": "vi_mode",
"value": 0
}
}
],
"type": "basic"
}
]
},
{
"description": "Modify HJKL",
"manipulators":
[
{
"conditions":
[
{
"name": "vi_mode",
"type": "variable_if",
"value": 1
}
],
"from":
{
"key_code": "h",
"modifiers":
{
"optional":
[
"caps_lock",
"command",
"shift",
"control",
"option"
]
}
},
"to":
[
{
"key_code": "left_arrow"
}
],
"type": "basic"
},
{
"conditions":
[
{
"name": "vi_mode",
"type": "variable_if",
"value": 1
}
],
"from":
{
"key_code": "l",
"modifiers":
{
"optional":
[
"caps_lock",
"command",
"shift",
"control",
"option"
]
}
},
"to":
[
{
"key_code": "right_arrow"
}
],
"type": "basic"
},
{
"conditions":
[
{
"name": "vi_mode",
"type": "variable_if",
"value": 1
}
],
"from":
{
"key_code": "j",
"modifiers":
{
"optional":
[
"caps_lock",
"command",
"shift",
"control",
"option"
]
}
},
"to":
[
{
"key_code": "down_arrow"
}
],
"type": "basic"
},
{
"conditions":
[
{
"name": "vi_mode",
"type": "variable_if",
"value": 1
}
],
"from":
{
"key_code": "k",
"modifiers":
{
"optional":
[
"caps_lock",
"command",
"shift",
"control",
"option"
]
}
},
"to":
[
{
"key_code": "up_arrow"
}
],
"type": "basic"
},
{
"conditions":
[
{
"name": "vi_mode",
"type": "variable_if",
"value": 1
}
],
"from":
{
"key_code": "u",
"modifiers":
{
"optional":
[
"caps_lock",
"command",
"shift",
"control",
"option"
]
}
},
"to":
[
{
"key_code": "delete_or_backspace"
}
],
"type": "basic"
},
{
"conditions":
[
{
"name": "vi_mode",
"type": "variable_if",
"value": 1
}
],
"from":
{
"key_code": "i",
"modifiers":
{
"optional":
[
"caps_lock",
"command",
"shift",
"control",
"option"
]
}
},
"to":
[
{
"key_code": "delete_forward"
}
],
"type": "basic"
}
]
}
]
},
"devices":
[
{
"disable_built_in_keyboard_if_exists": false,
"fn_function_keys":
[],
"identifiers":
{
"is_keyboard": true,
"is_pointing_device": false,
"product_id": 63100000,
"vendor_id": 1452
},
"ignore": false,
"manipulate_caps_lock_led": false,
"simple_modifications":
[
{
"from":
{
"key_code": "down_arrow"
},
"to":
{
"key_code": "right_control"
}
},
{
"from":
{
"key_code": "left_arrow"
},
"to":
{
"key_code": "right_control"
}
},
{
"from":
{
"key_code": "right_arrow"
},
"to":
{
"key_code": "right_control"
}
},
{
"from":
{
"key_code": "up_arrow"
},
"to":
{
"key_code": "right_control"
}
}
]
},
{
"disable_built_in_keyboard_if_exists": false,
"fn_function_keys":
[],
"identifiers":
{
"is_keyboard": true,
"is_pointing_device": false,
"product_id": 631,
"vendor_id": 1452
},
"ignore": false,
"manipulate_caps_lock_led": true,
"simple_modifications":
[]
},
{
"disable_built_in_keyboard_if_exists": false,
"fn_function_keys":
[],
"identifiers":
{
"is_keyboard": true,
"is_pointing_device": false,
"product_id": 615,
"vendor_id": 76
},
"ignore": false,
"manipulate_caps_lock_led": true,
"simple_modifications":
[]
},
{
"disable_built_in_keyboard_if_exists": false,
"fn_function_keys":
[],
"identifiers":
{
"is_keyboard": true,
"is_pointing_device": false,
"product_id": 601,
"vendor_id": 1452
},
"ignore": false,
"manipulate_caps_lock_led": false,
"simple_modifications":
[]
}
],
"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":
{
"key_code": "mission_control"
}
},
{
"from":
{
"key_code": "f4"
},
"to":
{
"key_code": "launchpad"
}
},
{
"from":
{
"key_code": "f5"
},
"to":
{
"key_code": "illumination_decrement"
}
},
{
"from":
{
"key_code": "f6"
},
"to":
{
"key_code": "illumination_increment"
}
},
{
"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": "fastforward"
}
},
{
"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":
{
"caps_lock_delay_milliseconds": 0,
"country_code": 0,
"keyboard_type": "ansi",
"mouse_key_xy_scale": 100
}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment