Skip to content

Instantly share code, notes, and snippets.

@dansalvato
Last active January 6, 2024 00:31
Show Gist options
  • Save dansalvato/43dc802acaa33e47bee04f42fbb17009 to your computer and use it in GitHub Desktop.
Save dansalvato/43dc802acaa33e47bee04f42fbb17009 to your computer and use it in GitHub Desktop.
Karabiner Elements config for ergonomic text motions with Caps Lock + IJKLH;UO
{
"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