Last active
January 6, 2024 00:31
-
-
Save dansalvato/43dc802acaa33e47bee04f42fbb17009 to your computer and use it in GitHub Desktop.
Karabiner Elements config for ergonomic text motions with Caps Lock + IJKLH;UO
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": { | |
"check_for_updates_on_startup": true, | |
"show_in_menu_bar": false, | |
"show_profile_name_in_menu_bar": false | |
}, | |
"profiles": [ | |
{ | |
"name": "Default", | |
"selected": true, | |
"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": "Hyper + IJKLH;UO text motions, Hyper + F for Shift", | |
"manipulators": [ | |
{ | |
"description": "Change caps_lock to command+control+option+shift.", | |
"from": { | |
"key_code": "caps_lock", | |
"modifiers": { | |
"optional": [ | |
"any" | |
] | |
} | |
}, | |
"to": [ | |
{ | |
"key_code": "left_control", | |
"modifiers": [ | |
"left_command", | |
"left_option" | |
], | |
"lazy": true | |
} | |
], | |
"type": "basic" | |
}, | |
{ | |
"description": "Change Hyper + F to Hyper + shift.", | |
"from": { | |
"key_code": "f", | |
"modifiers": { | |
"mandatory": [ | |
"left_command", | |
"left_control", | |
"left_option" | |
] | |
} | |
}, | |
"to": [ | |
{ | |
"key_code": "left_shift", | |
"modifiers": [ | |
"left_command", | |
"left_control", | |
"left_option" | |
] | |
} | |
], | |
"type": "basic" | |
}, | |
{ | |
"description": "Hyper + J moves cursor left.", | |
"from": { | |
"key_code": "j", | |
"modifiers": { | |
"mandatory": [ | |
"left_command", | |
"left_control", | |
"left_option" | |
], | |
"optional": [ | |
"left_shift" | |
] | |
} | |
}, | |
"to": [ | |
{ | |
"key_code": "left_arrow" | |
} | |
], | |
"type": "basic" | |
}, | |
{ | |
"description": "Hyper + L moves cursor right.", | |
"from": { | |
"key_code": "l", | |
"modifiers": { | |
"mandatory": [ | |
"left_command", | |
"left_control", | |
"left_option" | |
], | |
"optional": [ | |
"left_shift" | |
] | |
} | |
}, | |
"to": [ | |
{ | |
"key_code": "right_arrow" | |
} | |
], | |
"type": "basic" | |
}, | |
{ | |
"description": "Hyper + I moves cursor up.", | |
"from": { | |
"key_code": "i", | |
"modifiers": { | |
"mandatory": [ | |
"left_command", | |
"left_control", | |
"left_option" | |
], | |
"optional": [ | |
"left_shift" | |
] | |
} | |
}, | |
"to": [ | |
{ | |
"key_code": "up_arrow" | |
} | |
], | |
"type": "basic" | |
}, | |
{ | |
"description": "Hyper + K moves cursor down.", | |
"from": { | |
"key_code": "k", | |
"modifiers": { | |
"mandatory": [ | |
"left_command", | |
"left_control", | |
"left_option" | |
], | |
"optional": [ | |
"left_shift" | |
] | |
} | |
}, | |
"to": [ | |
{ | |
"key_code": "down_arrow" | |
} | |
], | |
"type": "basic" | |
}, | |
{ | |
"description": "Hyper + H moves cursor one word left.", | |
"from": { | |
"key_code": "h", | |
"modifiers": { | |
"mandatory": [ | |
"left_command", | |
"left_control", | |
"left_option" | |
], | |
"optional": [ | |
"left_shift" | |
] | |
} | |
}, | |
"to": [ | |
{ | |
"key_code": "left_arrow", | |
"modifiers": [ | |
"left_option" | |
] | |
} | |
], | |
"type": "basic" | |
}, | |
{ | |
"description": "Hyper + semicolon moves cursor one word right.", | |
"from": { | |
"key_code": "semicolon", | |
"modifiers": { | |
"mandatory": [ | |
"left_command", | |
"left_control", | |
"left_option" | |
], | |
"optional": [ | |
"left_shift" | |
] | |
} | |
}, | |
"to": [ | |
{ | |
"key_code": "right_arrow", | |
"modifiers": [ | |
"left_option" | |
] | |
} | |
], | |
"type": "basic" | |
}, | |
{ | |
"description": "Hyper + U moves cursor to beginning of line.", | |
"from": { | |
"key_code": "u", | |
"modifiers": { | |
"mandatory": [ | |
"left_command", | |
"left_control", | |
"left_option" | |
], | |
"optional": [ | |
"left_shift" | |
] | |
} | |
}, | |
"to": [ | |
{ | |
"key_code": "left_arrow", | |
"modifiers": [ | |
"left_command" | |
] | |
} | |
], | |
"type": "basic" | |
}, | |
{ | |
"description": "Hyper + O moves cursor to end of line.", | |
"from": { | |
"key_code": "o", | |
"modifiers": { | |
"mandatory": [ | |
"left_command", | |
"left_control", | |
"left_option" | |
], | |
"optional": [ | |
"left_shift" | |
] | |
} | |
}, | |
"to": [ | |
{ | |
"key_code": "right_arrow", | |
"modifiers": [ | |
"left_command" | |
] | |
} | |
], | |
"type": "basic" | |
}, | |
{ | |
"description": "Hyper + delete deletes a word.", | |
"from": { | |
"key_code": "delete_or_backspace", | |
"modifiers": { | |
"mandatory": [ | |
"left_command", | |
"left_control", | |
"left_option" | |
] | |
} | |
}, | |
"to": [ | |
{ | |
"key_code": "delete_or_backspace", | |
"modifiers": [ | |
"left_option" | |
] | |
} | |
], | |
"type": "basic" | |
} | |
] | |
} | |
] | |
} | |
} | |
] | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment