Skip to content

Instantly share code, notes, and snippets.

@mmzeeman
Created December 28, 2015 15:06

Revisions

  1. mmzeeman created this gist Dec 28, 2015.
    280 changes: 280 additions & 0 deletions private.xml
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,280 @@
    <?xml version="1.0"?>
    <root>
    <item>
    <name>Half Querty</name>
    <appendix>Port of Matias's half-QUERTY keyboard for OS X</appendix>
    <appendix>For one-handed or two-handed typing.</appendix>
    <appendix></appendix>
    <appendix>Use Seil to map your CAPS key to PC_APPLICATION. That will map CAPS
    to RETURN and with the spacebar pressed to QUOTE.
    </appendix>

    <identifier>private.halfquerty</identifier>

    <modifierdef>HALF_FLIP</modifierdef>

    <autogen>__KeyOverlaidModifier__
    KeyCode::SPACE,
    KeyCode::VK_MODIFIER_HALF_FLIP,
    KeyCode::SPACE,
    </autogen>

    <!-- Map Caps with Seil to PC_APPLICATION -->

    <autogen>__KeyToKey__
    KeyCode::PC_APPLICATION, ModifierFlag::HALF_FLIP,
    KeyCode::QUOTE
    </autogen>
    <autogen>__KeyToKey__
    KeyCode::PC_APPLICATION,
    KeyCode::RETURN
    </autogen>

    <!-- Sticky keys -->

    <autogen>__KeyToKey__
    KeyCode::SHIFT_L,
    KeyCode::VK_STICKY_SHIFT_L
    </autogen>
    <autogen>__KeyToKey__
    KeyCode::SHIFT_R,
    KeyCode::VK_STICKY_SHIFT_R
    </autogen>

    <autogen>__KeyToKey__
    KeyCode::CONTROL_L,
    KeyCode::VK_STICKY_CONTROL_L
    </autogen>
    <autogen>__KeyToKey__
    KeyCode::CONTROL_R,
    KeyCode::VK_STICKY_CONTROL_R
    </autogen>

    <autogen>__KeyToKey__
    KeyCode::OPTION_L,
    KeyCode::VK_STICKY_OPTION_L
    </autogen>
    <autogen>__KeyToKey__
    KeyCode::OPTION_R,
    KeyCode::VK_STICKY_OPTION_R
    </autogen>

    <autogen>__KeyToKey__
    KeyCode::COMMAND_L,
    KeyCode::VK_STICKY_COMMAND_L
    </autogen>
    <autogen>__KeyToKey__
    KeyCode::COMMAND_R,
    KeyCode::VK_STICKY_COMMAND_R
    </autogen>

    <!-- Row 1 -->

    <autogen>__KeyToKey__
    KeyCode::1, ModifierFlag::HALF_FLIP,
    KeyCode::0
    </autogen>
    <autogen>__KeyToKey__
    KeyCode::0, ModifierFlag::HALF_FLIP,
    KeyCode::1
    </autogen>

    <autogen>__KeyToKey__
    KeyCode::2, ModifierFlag::HALF_FLIP,
    KeyCode::9
    </autogen>
    <autogen>__KeyToKey__
    KeyCode::9, ModifierFlag::HALF_FLIP,
    KeyCode::2
    </autogen>

    <autogen>__KeyToKey__
    KeyCode::3, ModifierFlag::HALF_FLIP,
    KeyCode::8
    </autogen>
    <autogen>__KeyToKey__
    KeyCode::8, ModifierFlag::HALF_FLIP,
    KeyCode::3
    </autogen>

    <autogen>__KeyToKey__
    KeyCode::4, ModifierFlag::HALF_FLIP,
    KeyCode::7
    </autogen>
    <autogen>__KeyToKey__
    KeyCode::7, ModifierFlag::HALF_FLIP,
    KeyCode::4
    </autogen>

    <autogen>__KeyToKey__
    KeyCode::5, ModifierFlag::HALF_FLIP,
    KeyCode::6
    </autogen>
    <autogen>__KeyToKey__
    KeyCode::6, ModifierFlag::HALF_FLIP,
    KeyCode::5
    </autogen>

    <!-- Row 2 -->

    <autogen>__KeyToKey__
    KeyCode::TAB, ModifierFlag::HALF_FLIP,
    KeyCode::DELETE
    </autogen>

    <autogen>__KeyToKey__
    KeyCode::Q, ModifierFlag::HALF_FLIP,
    KeyCode::P
    </autogen>
    <autogen>__KeyToKey__
    KeyCode::P, ModifierFlag::HALF_FLIP,
    KeyCode::Q
    </autogen>

    <autogen>__KeyToKey__
    KeyCode::W, ModifierFlag::HALF_FLIP,
    KeyCode::O
    </autogen>
    <autogen>__KeyToKey__
    KeyCode::O, ModifierFlag::HALF_FLIP,
    KeyCode::W
    </autogen>


    <autogen>__KeyToKey__
    KeyCode::E, ModifierFlag::HALF_FLIP,
    KeyCode::I
    </autogen>
    <autogen>__KeyToKey__
    KeyCode::I, ModifierFlag::HALF_FLIP,
    KeyCode::E
    </autogen>

    <autogen>__KeyToKey__
    KeyCode::R, ModifierFlag::HALF_FLIP,
    KeyCode::U
    </autogen>
    <autogen>__KeyToKey__
    KeyCode::U, ModifierFlag::HALF_FLIP,
    KeyCode::R
    </autogen>

    <autogen>__KeyToKey__
    KeyCode::T, ModifierFlag::HALF_FLIP,
    KeyCode::Y
    </autogen>
    <autogen>__KeyToKey__
    KeyCode::Y, ModifierFlag::HALF_FLIP,
    KeyCode::T
    </autogen>

    <autogen>__KeyToKey__
    KeyCode::BRACKET_LEFT, ModifierFlag::HALF_FLIP,
    KeyCode::TAB
    </autogen>
    <autogen>__KeyToKey__
    KeyCode::BRACKET_RIGHT, ModifierFlag::HALF_FLIP,
    KeyCode::TAB
    </autogen>

    <!-- Row 3 -->

    <autogen>__KeyToKey__
    KeyCode::A, ModifierFlag::HALF_FLIP,
    KeyCode::SEMICOLON
    </autogen>
    <autogen>__KeyToKey__
    KeyCode::SEMICOLON, ModifierFlag::HALF_FLIP,
    KeyCode::A
    </autogen>

    <autogen>__KeyToKey__
    KeyCode::S, ModifierFlag::HALF_FLIP,
    KeyCode::L
    </autogen>
    <autogen>__KeyToKey__
    KeyCode::L, ModifierFlag::HALF_FLIP,
    KeyCode::S
    </autogen>

    <autogen>__KeyToKey__
    KeyCode::D, ModifierFlag::HALF_FLIP,
    KeyCode::K
    </autogen>
    <autogen>__KeyToKey__
    KeyCode::K, ModifierFlag::HALF_FLIP,
    KeyCode::D
    </autogen>

    <autogen>__KeyToKey__
    KeyCode::F, ModifierFlag::HALF_FLIP,
    KeyCode::J
    </autogen>
    <autogen>__KeyToKey__
    KeyCode::J, ModifierFlag::HALF_FLIP,
    KeyCode::F
    </autogen>

    <autogen>__KeyToKey__
    KeyCode::G, ModifierFlag::HALF_FLIP,
    KeyCode::H
    </autogen>
    <autogen>__KeyToKey__
    KeyCode::H, ModifierFlag::HALF_FLIP,
    KeyCode::G
    </autogen>

    <!-- Row 4 -->

    <autogen>__KeyToKey__
    KeyCode::Z, ModifierFlag::HALF_FLIP,
    KeyCode::SLASH
    </autogen>
    <autogen>__KeyToKey__
    KeyCode::SLASH, ModifierFlag::HALF_FLIP,
    KeyCode::Z
    </autogen>

    <autogen>__KeyToKey__
    KeyCode::X, ModifierFlag::HALF_FLIP,
    KeyCode::DOT
    </autogen>
    <autogen>__KeyToKey__
    KeyCode::DOT, ModifierFlag::HALF_FLIP,
    KeyCode::X
    </autogen>

    <autogen>__KeyToKey__
    KeyCode::C, ModifierFlag::HALF_FLIP,
    KeyCode::COMMA
    </autogen>
    <autogen>__KeyToKey__
    KeyCode::COMMA, ModifierFlag::HALF_FLIP,
    KeyCode::C
    </autogen>

    <autogen>__KeyToKey__
    KeyCode::V, ModifierFlag::HALF_FLIP,
    KeyCode::M
    </autogen>
    <autogen>__KeyToKey__
    KeyCode::M, ModifierFlag::HALF_FLIP,
    KeyCode::V
    </autogen>

    <autogen>__KeyToKey__
    KeyCode::B, ModifierFlag::HALF_FLIP,
    KeyCode::N
    </autogen>
    <autogen>__KeyToKey__
    KeyCode::N, ModifierFlag::HALF_FLIP,
    KeyCode::B
    </autogen>

    <!-- <block>
    <modifier_only>ModifierFlag::HALF_FLIP</modifier_only>
    <autogen>__BlockUntilKeyUp__ KeyCode::SPACE</autogen>
    </block> -->

    </item>
    </root>