With the karabiner configuration below, users no longer need to lift their right arm to reach the arrow keys at the rightmost side of their keyboard.
The Karabiner-Element configuration below enable users to use the home keys for cursor navigation for Dvorak users
For best experience, map caps lock to control key, map left control key to esc key.
Not all apps honor the unix-y way of moving the cursor, the Karabiner-Element configuration below will enable it on almost all apps (except Microsoft Office). Microsoft Office apps still interprets Control+B as bold, Control+F as find
I noticed that on online code editors like codepen.io, though they recognize control+F and control+B as right and left arrow respectively, they does not recognize option+control+F as one word to the right, and option+control+B as one word to the left. Worse yet, option+control+F triggers full screen on codesandbox.io, the configuration below solves this problem too.
Up = control+P
Down = control+N
Left = control+B
Right = control+F
option + Right (One word to the right) = option + control+F
option + Left (One word to the left) = option + control+B
delete (hack/delete one character to the left) = control+H
fn+delete (delete one character to the right) = control+D
option + delete (hack/delete one word to the left) = option + control+H
option + fn+delete (delete one word to the right) = option + control+D
command/shift + delete (from the cursor, delete up to end of line) = control+alt+K (did not use control+K, will interfere with terminal's control+K)
no available shortcut key (delete the whole line) = control+alt+U (did not use control+U, will interfere with terminal's control+U)
{ "description": "Dvorak navigations - no place like home keys", "manipulators": [ { "from": { "key_code": "v", "modifiers": { "mandatory": [ "left_control", "left_option" ] } }, "to": [ { "key_code": "end", "modifiers" : [ "left_shift" ] }, { "key_code": "delete_or_backspace" } ], "type": "basic" }, { "from": { "key_code": "f", "modifiers": { "mandatory": [ "left_control", "left_option" ] } }, "to": [ { "key_code": "home" }, { "key_code": "end", "modifiers" : [ "left_shift" ] }, { "key_code": "delete_or_backspace" } ], "type": "basic" }, { "from": { "key_code": "j", "modifiers": { "mandatory": [ "left_control" ] } }, "to": [ { "key_code": "delete_or_backspace" } ], "type": "basic" }, { "from": { "key_code": "j", "modifiers": { "mandatory": [ "left_control", "left_option" ] } }, "to": [ { "key_code": "delete_or_backspace", "modifiers": [ "left_option" ] } ], "type": "basic" }, { "from": { "key_code": "h", "modifiers": { "mandatory": [ "left_control" ] } }, "to": [ { "key_code": "delete_forward" } ], "type": "basic" }, { "from": { "key_code": "h", "modifiers": { "mandatory": [ "left_control", "left_option" ] } }, "to": [ { "key_code": "delete_forward", "modifiers": [ "left_option" ] } ], "type": "basic" }, { "from": { "key_code": "l", "modifiers": { "mandatory": [ "left_control" ] } }, "to": [ { "key_code": "down_arrow" } ], "type": "basic" }, { "from": { "key_code": "l", "modifiers": { "mandatory": [ "left_control", "left_shift" ] } }, "to": [ { "key_code": "down_arrow", "modifiers": [ "left_shift" ] } ], "type": "basic" }, { "from": { "key_code": "r", "modifiers": { "mandatory": [ "left_control" ] } }, "to": [ { "key_code": "up_arrow" } ], "type": "basic" }, { "from": { "key_code": "r", "modifiers": { "mandatory": [ "left_control", "left_shift" ] } }, "to": [ { "key_code": "up_arrow", "modifiers": [ "left_shift" ] } ], "type": "basic" }, { "from": { "key_code": "y", "modifiers": { "mandatory": [ "left_control", "left_option" ] } }, "to": [ { "key_code": "right_arrow", "modifiers": [ "left_option" ] } ], "type": "basic" }, { "from": { "key_code": "y", "modifiers": { "mandatory": [ "left_control", "left_option", "left_shift" ] } }, "to": [ { "key_code": "right_arrow", "modifiers": [ "left_option", "left_shift" ] } ], "type": "basic" }, { "from": { "key_code": "n", "modifiers": { "mandatory": [ "left_control", "left_option" ] } }, "to": [ { "key_code": "left_arrow", "modifiers": [ "left_option" ] } ], "type": "basic" }, { "from": { "key_code": "n", "modifiers": { "mandatory": [ "left_control", "left_option", "left_shift" ] } }, "to": [ { "key_code": "left_arrow", "modifiers": [ "left_option", "left_shift" ] } ], "type": "basic" } ] },