Last active
August 9, 2020 06:10
-
-
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.
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": | |
| { | |
| "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