Skip to content

Instantly share code, notes, and snippets.

@spenrose
Last active December 14, 2015 19:28
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save spenrose/5136297 to your computer and use it in GitHub Desktop.
Save spenrose/5136297 to your computer and use it in GitHub Desktop.
Remap all keys when holding down left and right commands. This version is for dvorak keyboards.
<?xml version="1.0"?>
<root>
<item>
<name>Alt keyboard with Command_L + Command_R</name>
<item>
<name>Rebind all keys when both command keys are pressed</name>
<identifier vk_config="true">notsave.smp_alt_keyboard</identifier>
<autogen>__KeyToKey__ KeyCode::A, KeyCode::MINUS</autogen> <!-- A to [ -->
<autogen>__KeyToKey__ KeyCode::SEMICOLON, KeyCode::EQUAL</autogen> <!-- S to ] -->
<autogen>__KeyToKey__ KeyCode::S, KeyCode::MINUS, ModifierFlag::SHIFT_L</autogen> <!-- O to { -->
<autogen>__KeyToKey__ KeyCode::L, KeyCode::EQUAL, ModifierFlag::SHIFT_L</autogen> <!-- N to } -->
<autogen>__KeyToKey__ KeyCode::D, KeyCode::KEY_9, ModifierFlag::SHIFT_L</autogen> <!-- E to ( -->
<autogen>__KeyToKey__ KeyCode::K, KeyCode::KEY_0, ModifierFlag::SHIFT_L</autogen> <!-- T to ) -->
<!-- Pushing these keys will not do anything -->
<autogen>__KeyToKey__ KeyCode::Q, KeyCode::VK_NONE</autogen> <!-- ' to none -->
<autogen>__KeyToKey__ KeyCode::W, KeyCode::VK_NONE</autogen> <!-- , to none -->
<autogen>__KeyToKey__ KeyCode::E, KeyCode::VK_NONE</autogen> <!-- > to none -->
<autogen>__KeyToKey__ KeyCode::R, KeyCode::VK_NONE</autogen> <!-- P to none -->
<autogen>__KeyToKey__ KeyCode::T, KeyCode::VK_NONE</autogen> <!-- Y to none -->
<autogen>__KeyToKey__ KeyCode::Y, KeyCode::VK_NONE</autogen> <!-- F to none -->
<autogen>__KeyToKey__ KeyCode::U, KeyCode::VK_NONE</autogen> <!-- G to none -->
<autogen>__KeyToKey__ KeyCode::I, KeyCode::VK_NONE</autogen> <!-- C to none -->
<autogen>__KeyToKey__ KeyCode::O, KeyCode::VK_NONE</autogen> <!-- R to none -->
<!-- Used in moving <autogen>__KeyToKey__ KeyCode::P, KeyCode::VK_NONE</autogen> <!-- L to none -->
<autogen>__KeyToKey__ KeyCode::F, KeyCode::VK_NONE</autogen> <!-- U to none -->
<autogen>__KeyToKey__ KeyCode::G, KeyCode::VK_NONE</autogen> <!-- I to none -->
<autogen>__KeyToKey__ KeyCode::H, KeyCode::VK_NONE</autogen> <!-- D to none -->
<!-- Used in moving <autogen>__KeyToKey__ KeyCode::J, KeyCode::VK_NONE</autogen> <!-- H to none -->
<autogen>__KeyToKey__ KeyCode::Z, KeyCode::VK_NONE</autogen> <!-- : to none -->
<autogen>__KeyToKey__ KeyCode::X, KeyCode::VK_NONE</autogen> <!-- Q to none -->
<!-- Used in moving <autogen>__KeyToKey__ KeyCode::C, KeyCode::VK_NONE</autogen> <!-- J to none -->
<!-- Used in moving <autogen>__KeyToKey__ KeyCode::V, KeyCode::VK_NONE</autogen> <!-- K to none -->
<autogen>__KeyToKey__ KeyCode::B, KeyCode::VK_NONE</autogen> <!-- X to none -->
<autogen>__KeyToKey__ KeyCode::N, KeyCode::VK_NONE</autogen> <!-- B to none -->
<autogen>__KeyToKey__ KeyCode::M, KeyCode::VK_NONE</autogen> <!-- M to none -->
<autogen>__KeyToKey__ KeyCode::TAB, KeyCode::VK_NONE</autogen> <!-- TAB to none -->
<!-- movement keys -->
<autogen>__KeyToKey__ KeyCode::P, KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L</autogen> <!-- L to none -->
<autogen>__KeyToKey__ KeyCode::J, KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L</autogen> <!-- H to none -->
<autogen>__KeyToKey__ KeyCode::C, KeyCode::CURSOR_DOWN, ModifierFlag::COMMAND_L</autogen> <!-- J to none -->
<autogen>__KeyToKey__ KeyCode::V, KeyCode::CURSOR_UP, ModifierFlag::COMMAND_L</autogen> <!-- K to none -->
</item>
<item>
<name>Hold CMD_L+CMD_R and press any key for alt keyboard</name>
<identifier>remap.cmdcmd_to_alt_keyboard</identifier>
<autogen>__KeyToKey__ KeyCode::COMMAND_R, ModifierFlag::COMMAND_L | ModifierFlag::COMMAND_R, KeyCode::VK_CONFIG_SYNC_KEYDOWNUP_notsave_smp_alt_keyboard</autogen>
<autogen>__KeyToKey__ KeyCode::COMMAND_L, ModifierFlag::COMMAND_L | ModifierFlag::COMMAND_R, KeyCode::VK_CONFIG_SYNC_KEYDOWNUP_notsave_smp_alt_keyboard</autogen>
</item>
</item>
</root>
<?xml version="1.0"?>
<root>
<item>
<name>Scott's bindings</name>
<include path="BothCommandKeysPressed.xml" />
<item>
<name>Command_R+hjkl to Left/Down/Up/Right</name>
<identifier>option.dvorak_vimode_commandr_hjkl</identifier>
<autogen>__KeyToKey__ KeyCode::J, ModifierFlag::COMMAND_R, KeyCode::CURSOR_LEFT</autogen> <!-- h -->
<autogen>__KeyToKey__ KeyCode::C, ModifierFlag::COMMAND_R, KeyCode::CURSOR_DOWN</autogen> <!-- j -->
<autogen>__KeyToKey__ KeyCode::V, ModifierFlag::COMMAND_R, KeyCode::CURSOR_UP</autogen> <!-- k -->
<autogen>__KeyToKey__ KeyCode::P, ModifierFlag::COMMAND_R, KeyCode::CURSOR_RIGHT</autogen> <!-- l -->
</item>
<item>
<name>No op arrow keys</name>
<identifier>option.smp_no_arrow_keys</identifier>
<autogen>__KeyToKey__ KeyCode::CURSOR_LEFT, KeyCode::VK_NONE</autogen>
<autogen>__KeyToKey__ KeyCode::CURSOR_DOWN, KeyCode::VK_NONE</autogen>
<autogen>__KeyToKey__ KeyCode::CURSOR_UP, KeyCode::VK_NONE</autogen>
<autogen>__KeyToKey__ KeyCode::CURSOR_RIGHT, KeyCode::VK_NONE</autogen>
<autogen>__KeyToKey__ KeyCode::CURSOR_LEFT, ModifierFlag::COMMAND_L, KeyCode::VK_NONE</autogen>
<autogen>__KeyToKey__ KeyCode::CURSOR_DOWN, ModifierFlag::COMMAND_L, KeyCode::VK_NONE</autogen>
<autogen>__KeyToKey__ KeyCode::CURSOR_UP, ModifierFlag::COMMAND_L, KeyCode::VK_NONE</autogen>
<autogen>__KeyToKey__ KeyCode::CURSOR_RIGHT, ModifierFlag::COMMAND_L, KeyCode::VK_NONE</autogen>
</item>
</item>
</root>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment