Skip to content

Instantly share code, notes, and snippets.

@natsugiri
Last active August 29, 2015 14:13
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 natsugiri/0c19461c95e9b91abc8b to your computer and use it in GitHub Desktop.
Save natsugiri/0c19461c95e9b91abc8b to your computer and use it in GitHub Desktop.
$HOME/Library/Application Support/Karabiner/private.xml
<?xml version="1.0"?>
<root>
<item>
<name>dvorak_qwerty</name>
<appendix></appendix>
<appendix>For JIS Mac</appendix>
<appendix>COMMAND_L+KEY_1 to P-DVORAK, COMMAND_L+2 to US-QWERTY</appendix>
<appendix></appendix>
<appendix>## US-QWERTY ##</appendix>
<appendix>1234567890-=\</appendix>
<appendix>qwertyuiop[]</appendix>
<appendix>asdfghjkl;'`</appendix>
<appendix>zxcvbnm,./\</appendix>
<appendix></appendix>
<appendix>- shift -</appendix>
<appendix>!@#$%^&amp;*()_+|</appendix>
<appendix>QWERTYUIOP{}</appendix>
<appendix>ASDFGHJKL:"~</appendix>
<appendix>ZXCVBNM&lt;&gt;?|</appendix>
<appendix></appendix>
<appendix>## PROGRAMMER DVORAK ##</appendix>
<appendix>&amp;[{}(=*)+]!#</appendix>
<appendix>;,.pyfgcrl/@</appendix>
<appendix>aoeuidhtns:</appendix>
<appendix>'qjkxbmwvz$</appendix>
<appendix></appendix>
<appendix>- shift -</appendix>
<appendix>%7531902468`</appendix>
<appendix>:&lt;&gt;PYFGCRL?^</appendix>
<appendix>AOEUIDHTNS_|</appendix>
<appendix>"QJKXBMWVZ~</appendix>
<appendix></appendix>
<identifier vk_config="true">notsave.pdvorak_mode</identifier>
<!-- item -->
<identifier>private.dvorak_qwerty</identifier>
<block>
<config_not>notsave.pdvorak_mode</config_not>
<!-- qwerty key layout -->
<!-- to pdvorak -->
<autogen>__KeyToKey__ KeyCode::KEY_1, ModifierFlag::COMMAND_L, KeyCode::VK_CONFIG_TOGGLE_notsave_pdvorak_mode</autogen>
<!-- 1 dan -->
<autogen>__KeyToKey__ KeyCode::KEY_2, VK_SHIFT, KeyCode::JIS_ATMARK</autogen>
<autogen>__KeyToKey__ KeyCode::KEY_6, VK_SHIFT, KeyCode::JIS_HAT</autogen>
<autogen>__KeyToKey__ KeyCode::KEY_7, VK_SHIFT, KeyCode::KEY_6, ModifierFlag::SHIFT_L</autogen>
<autogen>__KeyToKey__ KeyCode::KEY_8, VK_SHIFT, KeyCode::JIS_COLON, ModifierFlag::SHIFT_L</autogen>
<autogen>__KeyToKey__ KeyCode::KEY_9, VK_SHIFT, KeyCode::KEY_8, ModifierFlag::SHIFT_L</autogen>
<autogen>__KeyToKey__ KeyCode::KEY_0, VK_SHIFT, KeyCode::KEY_9, ModifierFlag::SHIFT_L</autogen>
<autogen>__KeyToKey__ KeyCode::MINUS, VK_SHIFT, KeyCode::JIS_UNDERSCORE</autogen>
<autogen>__KeyToKey__ KeyCode::JIS_HAT, VK_SHIFT, KeyCode::SEMICOLON, ModifierFlag::SHIFT_L</autogen>
<autogen>__KeyToKey__ KeyCode::JIS_HAT, KeyCode::MINUS, ModifierFlag::SHIFT_L</autogen>
<!-- 2 dan -->
<autogen>__KeyToKey__ KeyCode::JIS_ATMARK, KeyCode::JIS_BRACKET_LEFT</autogen>
<autogen>__KeyToKey__ KeyCode::JIS_BRACKET_LEFT, KeyCode::JIS_BRACKET_RIGHT</autogen>
<!-- 3 dan -->
<autogen>__KeyToKey__ KeyCode::SEMICOLON, VK_SHIFT, KeyCode::JIS_COLON</autogen>
<autogen>__KeyToKey__ KeyCode::JIS_COLON, VK_SHIFT, KeyCode::KEY_2, ModifierFlag::SHIFT_L</autogen>
<autogen>__KeyToKey__ KeyCode::JIS_COLON, KeyCode::KEY_7, ModifierFlag::SHIFT_L</autogen>
<autogen>__KeyToKey__ KeyCode::JIS_BRACKET_RIGHT, VK_SHIFT, KeyCode::JIS_HAT, ModifierFlag::SHIFT_L</autogen>
<autogen>__KeyToKey__ KeyCode::JIS_BRACKET_RIGHT, KeyCode::JIS_ATMARK, ModifierFlag::SHIFT_L</autogen>
<!-- 4 dan -->
<autogen>__KeyToKey__ KeyCode::JIS_UNDERSCORE, VK_SHIFT, KeyCode::VK_JIS_BACKSLASH, ModifierFlag::SHIFT_L</autogen>
<autogen>__KeyToKey__ KeyCode::JIS_UNDERSCORE, KeyCode::VK_JIS_BACKSLASH</autogen>
</block>
<block>
<config_only>notsave.pdvorak_mode</config_only>
<!-- pdvorak key layout -->
<!-- to qwerty -->
<autogen>__KeyToKey__ KeyCode::KEY_2, ModifierFlag::COMMAND_L, KeyCode::VK_CONFIG_TOGGLE_notsave_pdvorak_mode</autogen>
<autogen>__KeyToKey__ KeyCode::J, ModifierFlag::CONTROL_L, KeyCode::DELETE</autogen>
<!-- 1 dan -->
<autogen>__KeyToKey__ KeyCode::KEY_1, VK_SHIFT, KeyCode::KEY_5, ModifierFlag::SHIFT_L</autoge>
<autogen>__KeyToKey__ KeyCode::KEY_1, KeyCode::KEY_6, ModifierFlag::SHIFT_L</autoge>
<autogen>__KeyToKey__ KeyCode::KEY_2, VK_SHIFT, KeyCode::KEY_7</autoge>
<autogen>__KeyToKey__ KeyCode::KEY_2, KeyCode::JIS_BRACKET_LEFT</autoge>
<autogen>__KeyToKey__ KeyCode::KEY_3, VK_SHIFT, KeyCode::KEY_5</autoge>
<autogen>__KeyToKey__ KeyCode::KEY_3, KeyCode::JIS_BRACKET_LEFT, ModifierFlag::SHIFT_L</autoge>
<autogen>__KeyToKey__ KeyCode::KEY_4, VK_SHIFT, KeyCode::KEY_3</autoge>
<autogen>__KeyToKey__ KeyCode::KEY_4, KeyCode::JIS_BRACKET_RIGHT, ModifierFlag::SHIFT_L</autoge>
<autogen>__KeyToKey__ KeyCode::KEY_5, VK_SHIFT, KeyCode::KEY_1</autoge>
<autogen>__KeyToKey__ KeyCode::KEY_5, KeyCode::KEY_8, ModifierFlag::SHIFT_L</autoge>
<autogen>__KeyToKey__ KeyCode::KEY_6, VK_SHIFT, KeyCode::KEY_9</autoge>
<autogen>__KeyToKey__ KeyCode::KEY_6, KeyCode::MINUS, ModifierFlag::SHIFT_L</autoge>
<autogen>__KeyToKey__ KeyCode::KEY_7, VK_SHIFT, KeyCode::KEY_0</autoge>
<autogen>__KeyToKey__ KeyCode::KEY_7, KeyCode::JIS_COLON, ModifierFlag::SHIFT_L</autoge>
<autogen>__KeyToKey__ KeyCode::KEY_8, VK_SHIFT, KeyCode::KEY_2</autoge>
<autogen>__KeyToKey__ KeyCode::KEY_8, KeyCode::KEY_9, ModifierFlag::SHIFT_L</autoge>
<autogen>__KeyToKey__ KeyCode::KEY_9, VK_SHIFT, KeyCode::KEY_4</autoge>
<autogen>__KeyToKey__ KeyCode::KEY_9, KeyCode::SEMICOLON, ModifierFlag::SHIFT_L</autoge>
<autogen>__KeyToKey__ KeyCode::KEY_0, VK_SHIFT, KeyCode::KEY_6</autoge>
<autogen>__KeyToKey__ KeyCode::KEY_0, KeyCode::JIS_BRACKET_RIGHT</autoge>
<autogen>__KeyToKey__ KeyCode::MINUS, VK_SHIFT, KeyCode::KEY_8</autoge>
<autogen>__KeyToKey__ KeyCode::MINUS, KeyCode::KEY_1, ModifierFlag::SHIFT_L</autoge>
<autogen>__KeyToKey__ KeyCode::JIS_HAT, VK_SHIFT, KeyCode::JIS_ATMARK, ModifierFlag::SHIFT_L</autoge>
<autogen>__KeyToKey__ KeyCode::JIS_HAT, KeyCode::KEY_3, ModifierFlag::SHIFT_L</autoge>
<!-- 2 dan -->
<autogen>__KeyToKey__ KeyCode::Q, VK_SHIFT, KeyCode::JIS_COLON</autoge>
<autogen>__KeyToKey__ KeyCode::Q, KeyCode::SEMICOLON</autoge>
<autogen>__KeyToKey__ KeyCode::W, KeyCode::COMMA</autoge>
<autogen>__KeyToKey__ KeyCode::E, KeyCode::DOT</autoge>
<autogen>__KeyToKey__ KeyCode::R, KeyCode::P</autoge>
<autogen>__KeyToKey__ KeyCode::T, KeyCode::Y</autoge>
<autogen>__KeyToKey__ KeyCode::Y, KeyCode::F</autoge>
<autogen>__KeyToKey__ KeyCode::U, KeyCode::G</autoge>
<autogen>__KeyToKey__ KeyCode::I, KeyCode::C</autoge>
<autogen>__KeyToKey__ KeyCode::O, KeyCode::R</autoge>
<autogen>__KeyToKey__ KeyCode::P, KeyCode::L</autoge>
<autogen>__KeyToKey__ KeyCode::JIS_ATMARK, ModifierFlag::CONTROL_L, KeyCode::JIS_UNDERSCORE, ModifierFlag::CONTROL_L</autoge>
<autogen>__KeyToKey__ KeyCode::JIS_ATMARK, KeyCode::SLASH</autoge>
<autogen>__KeyToKey__ KeyCode::JIS_BRACKET_LEFT, VK_SHIFT, KeyCode::JIS_HAT</autoge>
<autogen>__KeyToKey__ KeyCode::JIS_BRACKET_LEFT, KeyCode::JIS_ATMARK</autoge>
<!-- 3 dan -->
<autogen>__KeyToKey__ KeyCode::A, KeyCode::A</autoge>
<autogen>__KeyToKey__ KeyCode::S, KeyCode::O</autoge>
<autogen>__KeyToKey__ KeyCode::D, KeyCode::E</autoge>
<autogen>__KeyToKey__ KeyCode::F, KeyCode::U</autoge>
<autogen>__KeyToKey__ KeyCode::G, KeyCode::I</autoge>
<autogen>__KeyToKey__ KeyCode::H, KeyCode::D</autoge>
<autogen>__KeyToKey__ KeyCode::J, KeyCode::H</autoge>
<autogen>__KeyToKey__ KeyCode::K, KeyCode::T</autoge>
<autogen>__KeyToKey__ KeyCode::L, KeyCode::N</autoge>
<autogen>__KeyToKey__ KeyCode::SEMICOLON, KeyCode::S</autoge>
<autogen>__KeyToKey__ KeyCode::JIS_COLON, VK_SHIFT, KeyCode::JIS_UNDERSCORE</autoge>
<autogen>__KeyToKey__ KeyCode::JIS_COLON, KeyCode::MINUS</autoge>
<autogen>__KeyToKey__ KeyCode::JIS_BRACKET_RIGHT, VK_SHIFT, KeyCode::JIS_YEN, ModifierFlag::SHIFT_L</autoge>
<autogen>__KeyToKey__ KeyCode::JIS_BRACKET_RIGHT, KeyCode::VK_JIS_BACKSLASH</autoge>
<!-- 4 dan -->
<autogen>__KeyToKey__ KeyCode::Z, VK_SHIFT, KeyCode::KEY_2, ModifierFlag::SHIFT_L</autoge>
<autogen>__KeyToKey__ KeyCode::Z, KeyCode::KEY_7, ModifierFlag::SHIFT_L</autoge>
<autogen>__KeyToKey__ KeyCode::X, KeyCode::Q</autoge>
<autogen>__KeyToKey__ KeyCode::C, KeyCode::J</autoge>
<autogen>__KeyToKey__ KeyCode::V, KeyCode::K</autoge>
<autogen>__KeyToKey__ KeyCode::B, KeyCode::X</autoge>
<autogen>__KeyToKey__ KeyCode::N, KeyCode::B</autoge>
<autogen>__KeyToKey__ KeyCode::M, KeyCode::M</autoge>
<autogen>__KeyToKey__ KeyCode::COMMA, KeyCode::W</autoge>
<autogen>__KeyToKey__ KeyCode::DOT, KeyCode::V</autoge>
<autogen>__KeyToKey__ KeyCode::SLASH, KeyCode::Z</autoge>
<autogen>__KeyToKey__ KeyCode::JIS_UNDERSCORE, VK_SHIFT, KeyCode::JIS_HAT, ModifierFlag::SHIFT_L</autoge>
<autogen>__KeyToKey__ KeyCode::JIS_UNDERSCORE, KeyCode::KEY_4, ModifierFlag::SHIFT_L</autoge>
</block>
<!-- /item -->
</item>
</root>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment