Skip to content

Instantly share code, notes, and snippets.

@johnlindquist
Created December 19, 2013 22:38
Show Gist options
  • Save johnlindquist/8047453 to your computer and use it in GitHub Desktop.
Save johnlindquist/8047453 to your computer and use it in GitHub Desktop.
<?xml version="1.0"?>
<!--
I use VIM for movement CapsLock + H,J,K,L
I use CapsLock and homerow keys to create modifiers
For example:
CapsLock + S = Command
CapsLock + D = Shift
CapsLock + F = Alt
CapsLock + Spacebar = Control
CapsLock + G = Escape
It makes for a lot of weird "chording", but I've gotten used to it:
CapsLock + D + F + J = alt + shift + down (move line down in WebStorm)
The row above homerow has the "big movement" keys:
CapsLock + Y = Command + Left (Home)
CapsLock + U = PageDown
CapsLock + I = PageUp
CapsLock + P = Command + Right (End)
The row below homerow has the "remove" keys:
CapsLock + N = Backspace
CapsLock + . = Delete
There's some other stuff too to create unique shortcuts for IDEs, etc
-->
<root>
<item>
<name>PC Application Key to Extra1 Modifier</name>
<identifier>private.pc_application_to_extra1</identifier>
<autogen>--KeyToKey-- KeyCode::PC_APPLICATION, KeyCode::VK_MODIFIER_EXTRA1</autogen>
</item>
<item>
<name>Global VIM</name>
<appendix>Hold CappsLock to enableVIM keys</appendix>
<identifier>John VIM</identifier>
<block>
<modifier_only>ModifierFlag::EXTRA1</modifier_only>
<autogen>--KeyToKey-- KeyCode::D, KeyCode::SHIFT_L</autogen>
</block>
<block>
<modifier_only>ModifierFlag::EXTRA1</modifier_only>
<autogen>--KeyToKey-- KeyCode::F, KeyCode::OPTION_L</autogen>
</block>
<block>
<modifier_only>ModifierFlag::EXTRA1</modifier_only>
<autogen>--KeyToKey-- KeyCode::SPACE, KeyCode::CONTROL_R</autogen>
</block>
<block>
<modifier_only>ModifierFlag::EXTRA1</modifier_only>
<autogen>--KeyToKey-- KeyCode::V, KeyCode::CONTROL_R</autogen>
</block>
<block>
<modifier_only>ModifierFlag::EXTRA1</modifier_only>
<autogen>--KeyToKey-- KeyCode::S, KeyCode::COMMAND_L</autogen>
</block>
<autogen>
--KeyToKey--
KeyCode::SLASH,
ModifierFlag::EXTRA1,
KeyCode::SLASH, ModifierFlag::OPTION_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::U,
ModifierFlag::EXTRA1,
KeyCode::PAGEDOWN
</autogen>
<autogen>
--KeyToKey--
KeyCode::I,
ModifierFlag::EXTRA1,
KeyCode::PAGEUP
</autogen>
<autogen>
--KeyToKey--
KeyCode::M,
ModifierFlag::EXTRA1,
KeyCode::HOME
</autogen>
<autogen>
--KeyToKey--
KeyCode::COMMA,
ModifierFlag::EXTRA1,
KeyCode::END
</autogen>
<autogen>
--KeyToKey--
KeyCode::J,
ModifierFlag::EXTRA1,
KeyCode::CURSOR_DOWN
</autogen>
<autogen>
--KeyToKey--
KeyCode::K,
ModifierFlag::EXTRA1,
KeyCode::CURSOR_UP
</autogen>
<autogen>
--KeyToKey--
KeyCode::H,
ModifierFlag::EXTRA1,
KeyCode::CURSOR_LEFT
</autogen>
<autogen>
--KeyToKey--
KeyCode::L,
ModifierFlag::EXTRA1,
KeyCode::CURSOR_RIGHT
</autogen>
<autogen>
--KeyToKey--
KeyCode::N,
ModifierFlag::EXTRA1,
KeyCode::DELETE
</autogen>
<autogen>
--KeyToKey--
KeyCode::DOT,
ModifierFlag::EXTRA1,
KeyCode::FORWARD_DELETE
</autogen>
<autogen>
--KeyToKey--
KeyCode::Y, ModifierFlag::EXTRA1,
KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::O, ModifierFlag::EXTRA1,
KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::H, ModifierFlag::CONTROL_R,
KeyCode::CURSOR_LEFT, ModifierFlag::CONTROL_R
</autogen>
<autogen>
--KeyToKey--
KeyCode::G, ModifierFlag::EXTRA1,
KeyCode::ESCAPE
</autogen>
<autogen>
--KeyToKey--
KeyCode::A, ModifierFlag::EXTRA1,
KeyCode::SPACE, ModifierFlag::OPTION_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::S, ModifierFlag::EXTRA1,
KeyCode::A, ModifierFlag::COMMAND_L|ModifierFlag::OPTION_L|ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::SEMICOLON, ModifierFlag::EXTRA1,
KeyCode::SEMICOLON, ModifierFlag::COMMAND_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::QUOTE, ModifierFlag::EXTRA1,
KeyCode::SPACE, ModifierFlag::CONTROL_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::RETURN, ModifierFlag::EXTRA1|ModifierFlag::OPTION_L,
KeyCode::F2
</autogen>
<autogen>
--KeyToKey--
KeyCode::RETURN, ModifierFlag::EXTRA1|ModifierFlag::SHIFT_L,
KeyCode::F2, ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::RETURN, ModifierFlag::EXTRA1,
KeyCode::RETURN, ModifierFlag::OPTION_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::T, ModifierFlag::EXTRA1,
KeyCode::T, ModifierFlag::COMMAND_L|ModifierFlag::OPTION_L|ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::R, ModifierFlag::EXTRA1,
KeyCode::R, ModifierFlag::COMMAND_L|ModifierFlag::OPTION_L|ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::BRACKET_LEFT, ModifierFlag::EXTRA1,
KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L|ModifierFlag::OPTION_L|ModifierFlag::SHIFT_L
</autogen>
<autogen>
--KeyToKey--
KeyCode::BRACKET_RIGHT, ModifierFlag::EXTRA1,
KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L|ModifierFlag::OPTION_L|ModifierFlag::SHIFT_L
</autogen>
</item>
</root>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment