Skip to content

Instantly share code, notes, and snippets.

@jgarber
Created December 23, 2014 21:21
Show Gist options
  • Save jgarber/1037eb1125c31d3a329c to your computer and use it in GitHub Desktop.
Save jgarber/1037eb1125c31d3a329c to your computer and use it in GitHub Desktop.
Karabiner config
<?xml version="1.0"?>
<root>
<deviceproductdef>
<productname>APPLE_INTERNAL_KEYBOARD_TRACKPAD_0x0259</productname>
<productid>0x0259</productid>
</deviceproductdef>
<deviceproductdef>
<productname>APPLE_WIRELESS_KEYBOARD_0x0255</productname>
<productid>0x255</productid>
</deviceproductdef>
<!-- Find locations with ioreg -rk "LocationID" -->
<devicelocationdef>
<locationname>JASONGARBERS_KEYBOARD</locationname>
<locationid>0x218eaa7c</locationid>
</devicelocationdef>
<item>
<name>Other keyboards aren't remapped.</name>
<identifier>ignore_devices.other_peoples_keyboards</identifier>
<device_not>
DeviceVendor::APPLE_COMPUTER, DeviceProduct::APPLE_INTERNAL_KEYBOARD_TRACKPAD_0x0259,
DeviceVendor::APPLE_COMPUTER, DeviceProduct::APPLE_WIRELESS_KEYBOARD_0x0255, DeviceLocation::JASONGARBERS_KEYBOARD
</device_not>
<autogen>__PassThrough__</autogen>
</item>
<item>
<name>Convert Qwerty -> Dvorak on other people's keyboards</name>
<appendix>(QWERTY to Dvorak)</appendix>
<appendix>(Only when using Dvorak input mode)</appendix>
<identifier>remap.qwerty2dvorak_except_my_keyboards</identifier>
<device_not>
DeviceVendor::APPLE_COMPUTER, DeviceProduct::APPLE_INTERNAL_KEYBOARD_TRACKPAD_0x0259,
DeviceVendor::APPLE_COMPUTER, DeviceProduct::APPLE_WIRELESS_KEYBOARD_0x0255, DeviceLocation::JASONGARBERS_KEYBOARD
</device_not>
<inputmodedetail_only>DVORAK</inputmodedetail_only>
<autogen>--KeyToKey-- KeyCode::QUOTE, KeyCode::Q
</autogen>
<autogen>--KeyToKey-- KeyCode::COMMA, KeyCode::W
</autogen>
<autogen>--KeyToKey-- KeyCode::DOT, KeyCode::E
</autogen>
<autogen>--KeyToKey-- KeyCode::P, KeyCode::R
</autogen>
<autogen>--KeyToKey-- KeyCode::Y, KeyCode::T
</autogen>
<autogen>--KeyToKey-- KeyCode::F, KeyCode::Y
</autogen>
<autogen>--KeyToKey-- KeyCode::G, KeyCode::U
</autogen>
<autogen>--KeyToKey-- KeyCode::C, KeyCode::I
</autogen>
<autogen>--KeyToKey-- KeyCode::R, KeyCode::O
</autogen>
<autogen>--KeyToKey-- KeyCode::L, KeyCode::P
</autogen>
<autogen>--KeyToKey-- KeyCode::SLASH, KeyCode::BRACKET_LEFT
</autogen>
<autogen>--KeyToKey-- KeyCode::EQUAL, KeyCode::BRACKET_RIGHT
</autogen>
<autogen>--KeyToKey-- KeyCode::O, KeyCode::S
</autogen>
<autogen>--KeyToKey-- KeyCode::E, KeyCode::D
</autogen>
<autogen>--KeyToKey-- KeyCode::U, KeyCode::F
</autogen>
<autogen>--KeyToKey-- KeyCode::I, KeyCode::G
</autogen>
<autogen>--KeyToKey-- KeyCode::D, KeyCode::H
</autogen>
<autogen>--KeyToKey-- KeyCode::H, KeyCode::J
</autogen>
<autogen>--KeyToKey-- KeyCode::T, KeyCode::K
</autogen>
<autogen>--KeyToKey-- KeyCode::N, KeyCode::L
</autogen>
<autogen>--KeyToKey-- KeyCode::S, KeyCode::SEMICOLON
</autogen>
<autogen>--KeyToKey-- KeyCode::MINUS, KeyCode::QUOTE
</autogen>
<autogen>--KeyToKey-- KeyCode::SEMICOLON, KeyCode::Z
</autogen>
<autogen>--KeyToKey-- KeyCode::Q, KeyCode::X
</autogen>
<autogen>--KeyToKey-- KeyCode::J, KeyCode::C
</autogen>
<autogen>--KeyToKey-- KeyCode::K, KeyCode::V
</autogen>
<autogen>--KeyToKey-- KeyCode::X, KeyCode::B
</autogen>
<autogen>--KeyToKey-- KeyCode::B, KeyCode::N
</autogen>
<autogen>--KeyToKey-- KeyCode::W, KeyCode::COMMA
</autogen>
<autogen>--KeyToKey-- KeyCode::V, KeyCode::DOT
</autogen>
<autogen>--KeyToKey-- KeyCode::Z, KeyCode::SLASH
</autogen>
<autogen>--KeyToKey-- KeyCode::BRACKET_LEFT, KeyCode::MINUS
</autogen>
<autogen>--KeyToKey-- KeyCode::BRACKET_RIGHT, KeyCode::EQUAL
</autogen>
</item>
<item>
<name>Use Dvorak-Qwerty ⌘ under Dvorak layout on my keyboards</name>
<device_only>
DeviceVendor::APPLE_COMPUTER, DeviceProduct::APPLE_INTERNAL_KEYBOARD_TRACKPAD_0x0259,
DeviceVendor::APPLE_COMPUTER, DeviceProduct::APPLE_WIRELESS_KEYBOARD_0x0255, DeviceLocation::JASONGARBERS_KEYBOARD
</device_only>
<appendix>(Command+Keys to Qwerty)</appendix>
<identifier>remap.dvorak2qwerty_qwertycommand_on_my_keyboards</identifier>
<inputmodedetail_only>DVORAK</inputmodedetail_only>
<modifier_only>
ModifierFlag::COMMAND_L,
ModifierFlag::COMMAND_R
</modifier_only>
<autogen>--KeyToKey-- KeyCode::QUOTE, KeyCode::Q
</autogen>
<autogen>--KeyToKey-- KeyCode::COMMA, KeyCode::W
</autogen>
<autogen>--KeyToKey-- KeyCode::DOT, KeyCode::E
</autogen>
<autogen>--KeyToKey-- KeyCode::P, KeyCode::R
</autogen>
<autogen>--KeyToKey-- KeyCode::Y, KeyCode::T
</autogen>
<autogen>--KeyToKey-- KeyCode::F, KeyCode::Y
</autogen>
<autogen>--KeyToKey-- KeyCode::G, KeyCode::U
</autogen>
<autogen>--KeyToKey-- KeyCode::C, KeyCode::I
</autogen>
<autogen>--KeyToKey-- KeyCode::R, KeyCode::O
</autogen>
<autogen>--KeyToKey-- KeyCode::L, KeyCode::P
</autogen>
<autogen>--KeyToKey-- KeyCode::SLASH, KeyCode::BRACKET_LEFT
</autogen>
<autogen>--KeyToKey-- KeyCode::EQUAL, KeyCode::BRACKET_RIGHT
</autogen>
<autogen>--KeyToKey-- KeyCode::O, KeyCode::S
</autogen>
<autogen>--KeyToKey-- KeyCode::E, KeyCode::D
</autogen>
<autogen>--KeyToKey-- KeyCode::U, KeyCode::F
</autogen>
<autogen>--KeyToKey-- KeyCode::I, KeyCode::G
</autogen>
<autogen>--KeyToKey-- KeyCode::D, KeyCode::H
</autogen>
<autogen>--KeyToKey-- KeyCode::H, KeyCode::J
</autogen>
<autogen>--KeyToKey-- KeyCode::T, KeyCode::K
</autogen>
<autogen>--KeyToKey-- KeyCode::N, KeyCode::L
</autogen>
<autogen>--KeyToKey-- KeyCode::S, KeyCode::SEMICOLON
</autogen>
<autogen>--KeyToKey-- KeyCode::MINUS, KeyCode::QUOTE
</autogen>
<autogen>--KeyToKey-- KeyCode::SEMICOLON, KeyCode::Z
</autogen>
<autogen>--KeyToKey-- KeyCode::Q, KeyCode::X
</autogen>
<autogen>--KeyToKey-- KeyCode::J, KeyCode::C
</autogen>
<autogen>--KeyToKey-- KeyCode::K, KeyCode::V
</autogen>
<autogen>--KeyToKey-- KeyCode::X, KeyCode::B
</autogen>
<autogen>--KeyToKey-- KeyCode::B, KeyCode::N
</autogen>
<autogen>--KeyToKey-- KeyCode::W, KeyCode::COMMA
</autogen>
<autogen>--KeyToKey-- KeyCode::V, KeyCode::DOT
</autogen>
<autogen>--KeyToKey-- KeyCode::Z, KeyCode::SLASH
</autogen>
<autogen>--KeyToKey-- KeyCode::BRACKET_LEFT, KeyCode::MINUS
</autogen>
<autogen>--KeyToKey-- KeyCode::BRACKET_RIGHT, KeyCode::EQUAL
</autogen>
</item>
</root>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment