Skip to content

Instantly share code, notes, and snippets.

@zhigang1992
Last active December 30, 2015 21:19
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save zhigang1992/7886221 to your computer and use it in GitHub Desktop.
Save zhigang1992/7886221 to your computer and use it in GitHub Desktop.
Dvorak for external USB keyboard (KeyRemap4MacBook)
<?xml version="1.0"?>
<root>
<item>
<name>Hyper key stuff</name>
<item>
<name>F19 to F19</name>
<appendix>(F19 to Hyper (ctrl+shift+cmd+opt) + F19 Only, F19)</appendix>
<identifier>private.f192f19</identifier>
<autogen>
--KeyOverlaidModifier--
KeyCode::F19,
KeyCode::COMMAND_L,
ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L,
KeyCode::F19
</autogen>
</item>
<item>
<name>Hyper+space To Enter</name>
<appendix>Hyper(cmd+ctrl+shift+opt)+space, send enter</appendix>
<identifier>private.hyperspace2enter</identifier>
<autogen>
--KeyToKey--
KeyCode::SPACE, ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L,
KeyCode::ENTER
</autogen>
</item>
<item>
<name>Hyper+J To Down</name>
<appendix>Hyper(cmd+ctrl+shift+opt)+J, send down</appendix>
<identifier>private.hyperj2down</identifier>
<autogen>
--KeyToKey--
KeyCode::J, ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L,
KeyCode::CURSOR_DOWN
</autogen>
</item>
<item>
<name>Hyper+K To Up</name>
<appendix>Hyper(cmd+ctrl+shift+opt)+k, send up</appendix>
<identifier>private.hyperk2up</identifier>
<autogen>
--KeyToKey--
KeyCode::K, ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L,
KeyCode::CURSOR_UP
</autogen>
</item>
<item>
<name>Hyper+H To Left</name>
<appendix>Hyper(cmd+ctrl+shift+opt)+h, send left</appendix>
<identifier>private.hyperh2left</identifier>
<autogen>
--KeyToKey--
KeyCode::H, ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L,
KeyCode::CURSOR_LEFT
</autogen>
</item>
<item>
<name>Hyper+L To Right</name>
<appendix>Hyper(cmd+ctrl+shift+opt)+l, send right</appendix>
<identifier>private.hyperl2right</identifier>
<autogen>
--KeyToKey--
KeyCode::L, ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L,
KeyCode::CURSOR_RIGHT
</autogen>
</item>
<item>
<name>Hyper+Tab To Capslock</name>
<appendix>Hyper(cmd+ctrl+shift+opt)+tab, send capslock</appendix>
<identifier>private.hypertab2capslock</identifier>
<autogen>
--KeyToKey--
KeyCode::TAB, ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L | ModifierFlag::COMMAND_L,
KeyCode::CAPSLOCK
</autogen>
</item>
</item>
<item>
<name>Kyle's Custom stuff</name>
<devicevendordef>
<vendorname>CHERRY</vendorname>
<vendorid>0x046a</vendorid>
</devicevendordef>
<deviceproductdef>
<productname>CHERRY_KEYBOARD</productname>
<productid>0x0011</productid>
</deviceproductdef>
<item>
<name>Enable Dvorak on my cherry usb keyboard</name>
<appendix>(QWERTY to Dvorak)</appendix>
<identifier>remap.qwerty2dvorakexternal</identifier>
<device_only>DeviceVendor::CHERRY, DeviceProduct::CHERRY_KEYBOARD</device_only>
<modifier_not>ModifierFlag::FN</modifier_not>
<autogen>__KeyToKey__ KeyCode::Q, KeyCode::QUOTE</autogen>
<autogen>__KeyToKey__ KeyCode::W, KeyCode::COMMA</autogen>
<autogen>__KeyToKey__ KeyCode::E, KeyCode::DOT</autogen>
<autogen>__KeyToKey__ KeyCode::R, KeyCode::P</autogen>
<autogen>__KeyToKey__ KeyCode::T, KeyCode::Y</autogen>
<autogen>__KeyToKey__ KeyCode::Y, KeyCode::F</autogen>
<autogen>__KeyToKey__ KeyCode::U, KeyCode::G</autogen>
<autogen>__KeyToKey__ KeyCode::I, KeyCode::C</autogen>
<autogen>__KeyToKey__ KeyCode::O, KeyCode::R</autogen>
<autogen>__KeyToKey__ KeyCode::P, KeyCode::L</autogen>
<autogen>__KeyToKey__ KeyCode::BRACKET_LEFT, KeyCode::SLASH</autogen>
<autogen>__KeyToKey__ KeyCode::BRACKET_RIGHT, KeyCode::EQUAL</autogen>
<autogen>__KeyToKey__ KeyCode::S, KeyCode::O</autogen>
<autogen>__KeyToKey__ KeyCode::D, KeyCode::E</autogen>
<autogen>__KeyToKey__ KeyCode::F, KeyCode::U</autogen>
<autogen>__KeyToKey__ KeyCode::G, KeyCode::I</autogen>
<autogen>__KeyToKey__ KeyCode::H, KeyCode::D</autogen>
<autogen>__KeyToKey__ KeyCode::J, KeyCode::H</autogen>
<autogen>__KeyToKey__ KeyCode::K, KeyCode::T</autogen>
<autogen>__KeyToKey__ KeyCode::L, KeyCode::N</autogen>
<autogen>__KeyToKey__ KeyCode::SEMICOLON, KeyCode::S</autogen>
<autogen>__KeyToKey__ KeyCode::QUOTE, KeyCode::MINUS</autogen>
<autogen>__KeyToKey__ KeyCode::Z, KeyCode::SEMICOLON</autogen>
<autogen>__KeyToKey__ KeyCode::X, KeyCode::Q</autogen>
<autogen>__KeyToKey__ KeyCode::C, KeyCode::J</autogen>
<autogen>__KeyToKey__ KeyCode::V, KeyCode::K</autogen>
<autogen>__KeyToKey__ KeyCode::B, KeyCode::X</autogen>
<autogen>__KeyToKey__ KeyCode::N, KeyCode::B</autogen>
<autogen>__KeyToKey__ KeyCode::COMMA, KeyCode::W</autogen>
<autogen>__KeyToKey__ KeyCode::DOT, KeyCode::V</autogen>
<autogen>__KeyToKey__ KeyCode::SLASH, KeyCode::Z</autogen>
<autogen>__KeyToKey__ KeyCode::MINUS, KeyCode::BRACKET_LEFT</autogen>
<autogen>__KeyToKey__ KeyCode::EQUAL, KeyCode::BRACKET_RIGHT</autogen>
</item>
<devicevendordef>
<vendorname>HAPPLE</vendorname>
<vendorid>0x05ac</vendorid>
</devicevendordef>
<deviceproductdef>
<productname>HAPPLE_KEYBOARD</productname>
<productid>0x0218</productid>
</deviceproductdef>
<item>
<name>Enable Dvorak on my internal laptop keyboard</name>
<appendix>(QWERTY to Dvorak)</appendix>
<identifier>remap.qwerty2dvorakinternal</identifier>
<device_only>DeviceVendor::HAPPLE, DeviceProduct::HAPPLE_KEYBOARD</device_only>
<modifier_not>ModifierFlag::FN</modifier_not>
<autogen>__KeyToKey__ KeyCode::Q, KeyCode::QUOTE</autogen>
<autogen>__KeyToKey__ KeyCode::W, KeyCode::COMMA</autogen>
<autogen>__KeyToKey__ KeyCode::E, KeyCode::DOT</autogen>
<autogen>__KeyToKey__ KeyCode::R, KeyCode::P</autogen>
<autogen>__KeyToKey__ KeyCode::T, KeyCode::Y</autogen>
<autogen>__KeyToKey__ KeyCode::Y, KeyCode::F</autogen>
<autogen>__KeyToKey__ KeyCode::U, KeyCode::G</autogen>
<autogen>__KeyToKey__ KeyCode::I, KeyCode::C</autogen>
<autogen>__KeyToKey__ KeyCode::O, KeyCode::R</autogen>
<autogen>__KeyToKey__ KeyCode::P, KeyCode::L</autogen>
<autogen>__KeyToKey__ KeyCode::BRACKET_LEFT, KeyCode::SLASH</autogen>
<autogen>__KeyToKey__ KeyCode::BRACKET_RIGHT, KeyCode::EQUAL</autogen>
<autogen>__KeyToKey__ KeyCode::S, KeyCode::O</autogen>
<autogen>__KeyToKey__ KeyCode::D, KeyCode::E</autogen>
<autogen>__KeyToKey__ KeyCode::F, KeyCode::U</autogen>
<autogen>__KeyToKey__ KeyCode::G, KeyCode::I</autogen>
<autogen>__KeyToKey__ KeyCode::H, KeyCode::D</autogen>
<autogen>__KeyToKey__ KeyCode::J, KeyCode::H</autogen>
<autogen>__KeyToKey__ KeyCode::K, KeyCode::T</autogen>
<autogen>__KeyToKey__ KeyCode::L, KeyCode::N</autogen>
<autogen>__KeyToKey__ KeyCode::SEMICOLON, KeyCode::S</autogen>
<autogen>__KeyToKey__ KeyCode::QUOTE, KeyCode::MINUS</autogen>
<autogen>__KeyToKey__ KeyCode::Z, KeyCode::SEMICOLON</autogen>
<autogen>__KeyToKey__ KeyCode::X, KeyCode::Q</autogen>
<autogen>__KeyToKey__ KeyCode::C, KeyCode::J</autogen>
<autogen>__KeyToKey__ KeyCode::V, KeyCode::K</autogen>
<autogen>__KeyToKey__ KeyCode::B, KeyCode::X</autogen>
<autogen>__KeyToKey__ KeyCode::N, KeyCode::B</autogen>
<autogen>__KeyToKey__ KeyCode::COMMA, KeyCode::W</autogen>
<autogen>__KeyToKey__ KeyCode::DOT, KeyCode::V</autogen>
<autogen>__KeyToKey__ KeyCode::SLASH, KeyCode::Z</autogen>
<autogen>__KeyToKey__ KeyCode::MINUS, KeyCode::BRACKET_LEFT</autogen>
<autogen>__KeyToKey__ KeyCode::EQUAL, KeyCode::BRACKET_RIGHT</autogen>
</item>
<item>
<name>Change right option and right command key to mouse button click</name>
<appendix>(Hyper A to mouse left)</appendix>
<identifier>private.laptoptouchpadatomouseleft</identifier>
<device_only>DeviceVendor::HAPPLE, DeviceProduct::HAPPLE_KEYBOARD</device_only>
<autogen>
__KeyToKey__
KeyCode::OPTION_R,
KeyCode::VK_MOUSEKEY_BUTTON_LEFT,
Option::KEYTOKEY_BEFORE_KEYDOWN,
KeyCode::VK_PARTIAL_KEYDOWN,
Option::KEYTOKEY_AFTER_KEYUP,
KeyCode::VK_PARTIAL_KEYUP,
</autogen>
<autogen>
__KeyToKey__
KeyCode::COMMAND_R,
KeyCode::VK_MOUSEKEY_BUTTON_RIGHT,
Option::KEYTOKEY_BEFORE_KEYDOWN,
KeyCode::VK_PARTIAL_KEYDOWN,
Option::KEYTOKEY_AFTER_KEYUP,
KeyCode::VK_PARTIAL_KEYUP,
</autogen>
</item>
<devicevendordef>
<vendorname>LOGITECH</vendorname>
<vendorid>0x046d</vendorid>
</devicevendordef>
<deviceproductdef>
<productname>LOGITECH_MOUSE</productname>
<productid>0xc52b</productid>
</deviceproductdef>
<item>
<name>Swap left and right button on my regular mouse</name>
<appendix>(left to right)</appendix>
<identifier>remap.laptoptouchpadswapbotton</identifier>
<device_only>DeviceVendor::LOGITECH, DeviceProduct::LOGITECH_MOUSE</device_only>
<autogen> __PointingButtonToPointingButton__ PointingButton::LEFT, PointingButton::RIGHT</autogen>
<autogen> __PointingButtonToPointingButton__ PointingButton::RIGHT, PointingButton::LEFT</autogen>
</item>
</item>
</root>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment