keyremap4macbook/private.xml @ 8724f02b2908

Moar.
author Steve Losh <steve@stevelosh.com>
date Wed, 10 Oct 2012 12:05:29 -0400
parents efc8b9162ff8
children c82fca40999a
<?xml version="1.0"?>
<root>
    <list>
        <item>
            <name>Space Cadet Mode</name>
            <appendix>This mode emulates a few of the features of the Space Cadet keyboard.</appendix>

            <item>
                <name>Remap Left Control to Hyper</name>
                <appendix>OS X doesn't have a Hyper. This maps Left Control to Control + Shift + Option + Command.</appendix>

                <identifier>space_cadet.left_control_to_hyper</identifier>

                <autogen>
                    --KeyToKey--
                    KeyCode::F19,

                    KeyCode::COMMAND_L,
                    ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L | ModifierFlag::CONTROL_L
                </autogen>
            </item>
            <item>
                <name>Math Layer</name>
                <appendix>Right Control key activates the Math key layer.</appendix>

                <identifier>space_cadet.math_layer</identifier>

                <autogen>
                    --KeyToKey--
                        KeyCode::CONTROL_R,
                        KeyCode::VK_STICKY_EXTRA3
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::A, ModifierFlag::EXTRA3 | VK_SHIFT,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::KEY_5, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::A, ModifierFlag::EXTRA3,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_7, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::C, ModifierFlag::EXTRA3 | VK_SHIFT,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::C, ModifierFlag::EXTRA3,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                    KeyCode::KEY_8, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::E, ModifierFlag::EXTRA3 | VK_SHIFT,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::E, ModifierFlag::EXTRA3,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_8, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::F, ModifierFlag::EXTRA3,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::B, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::I, ModifierFlag::EXTRA3 | VK_SHIFT,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                    KeyCode::E, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::I, ModifierFlag::EXTRA3,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::N, ModifierFlag::EXTRA3 | VK_SHIFT,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                    KeyCode::KEY_5, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::O, ModifierFlag::EXTRA3,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_8, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::R, ModifierFlag::EXTRA3 | VK_SHIFT,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                    KeyCode::D, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::R, ModifierFlag::EXTRA3,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                    KeyCode::A, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::T, ModifierFlag::EXTRA3 | VK_SHIFT,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::A, ModifierFlag::OPTION_L,
                    KeyCode::KEY_5, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::T, ModifierFlag::EXTRA3,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::A, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::U, ModifierFlag::EXTRA3,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::A, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::X, ModifierFlag::EXTRA3,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::B, ModifierFlag::OPTION_L,
                    KeyCode::B, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::Z, ModifierFlag::EXTRA3 | VK_SHIFT,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_4, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::MINUS, ModifierFlag::EXTRA3,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::A, ModifierFlag::OPTION_L,
                    KeyCode::C, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::EQUAL, ModifierFlag::EXTRA3 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::B, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::EQUAL, ModifierFlag::EXTRA3,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_6, ModifierFlag::OPTION_L,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::SLASH, ModifierFlag::EXTRA3,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::F, ModifierFlag::OPTION_L,
                    KeyCode::KEY_7, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::COMMA, ModifierFlag::EXTRA3 | VK_SHIFT,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_6, ModifierFlag::OPTION_L,
                    KeyCode::KEY_4, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::DOT, ModifierFlag::EXTRA3 | VK_SHIFT,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_6, ModifierFlag::OPTION_L,
                    KeyCode::KEY_5, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::DOT, ModifierFlag::EXTRA3,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::B, ModifierFlag::OPTION_L,
                    KeyCode::KEY_7, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::KEY_0, ModifierFlag::EXTRA3,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_5, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::KEY_8, ModifierFlag::EXTRA3 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::D, ModifierFlag::OPTION_L,
                    KeyCode::KEY_7, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::BACKQUOTE, ModifierFlag::EXTRA3 | VK_SHIFT,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_4, ModifierFlag::OPTION_L,
                    KeyCode::KEY_8, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::BRACKET_LEFT, ModifierFlag::EXTRA3 | VK_CONTROL | VK_SHIFT,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_8, ModifierFlag::OPTION_L,
                    KeyCode::KEY_8, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::BRACKET_LEFT, ModifierFlag::EXTRA3 | VK_SHIFT,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_8, ModifierFlag::OPTION_L,
                    KeyCode::KEY_4, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::BRACKET_LEFT, ModifierFlag::EXTRA3 | VK_CONTROL,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_8, ModifierFlag::OPTION_L,
                    KeyCode::KEY_6, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::BRACKET_LEFT, ModifierFlag::EXTRA3,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_8, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::BRACKET_RIGHT, ModifierFlag::EXTRA3 | VK_CONTROL | VK_SHIFT,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_8, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::BRACKET_RIGHT, ModifierFlag::EXTRA3 | VK_SHIFT,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_8, ModifierFlag::OPTION_L,
                    KeyCode::KEY_5, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::BRACKET_RIGHT, ModifierFlag::EXTRA3 | VK_CONTROL,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_8, ModifierFlag::OPTION_L,
                    KeyCode::KEY_7, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::BRACKET_RIGHT, ModifierFlag::EXTRA3,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_8, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::CURSOR_RIGHT, ModifierFlag::EXTRA3 | VK_CONTROL | VK_SHIFT,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                    KeyCode::C, ModifierFlag::OPTION_L,
                    KeyCode::F, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::CURSOR_RIGHT, ModifierFlag::EXTRA3 | VK_SHIFT,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                    KeyCode::B, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::CURSOR_RIGHT, ModifierFlag::EXTRA3 | VK_CONTROL,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                    KeyCode::D, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::CURSOR_RIGHT, ModifierFlag::EXTRA3,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::CURSOR_LEFT, ModifierFlag::EXTRA3 | VK_CONTROL | VK_SHIFT,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                    KeyCode::C, ModifierFlag::OPTION_L,
                    KeyCode::D, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::CURSOR_LEFT, ModifierFlag::EXTRA3 | VK_SHIFT,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                    KeyCode::A, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::CURSOR_LEFT, ModifierFlag::EXTRA3 | VK_CONTROL,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                    KeyCode::D, ModifierFlag::OPTION_L,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::CURSOR_LEFT, ModifierFlag::EXTRA3,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::CURSOR_UP, ModifierFlag::EXTRA3 | VK_CONTROL | VK_SHIFT,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                    KeyCode::C, ModifierFlag::OPTION_L,
                    KeyCode::E, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::CURSOR_UP, ModifierFlag::EXTRA3 | VK_SHIFT,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                    KeyCode::A, ModifierFlag::OPTION_L,
                    KeyCode::E, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::CURSOR_UP, ModifierFlag::EXTRA3 | VK_CONTROL,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                    KeyCode::D, ModifierFlag::OPTION_L,
                    KeyCode::KEY_4, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::CURSOR_UP, ModifierFlag::EXTRA3,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                    KeyCode::KEY_4, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::CURSOR_DOWN, ModifierFlag::EXTRA3 | VK_CONTROL | VK_SHIFT,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                    KeyCode::C, ModifierFlag::OPTION_L,
                    KeyCode::E, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::CURSOR_DOWN, ModifierFlag::EXTRA3 | VK_SHIFT,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                    KeyCode::A, ModifierFlag::OPTION_L,
                    KeyCode::E, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::CURSOR_DOWN, ModifierFlag::EXTRA3 | VK_CONTROL,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                    KeyCode::D, ModifierFlag::OPTION_L,
                    KeyCode::KEY_4, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::CURSOR_DOWN, ModifierFlag::EXTRA3,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                    KeyCode::KEY_4, ModifierFlag::OPTION_L,
                </autogen>


            </item>
            <item>
                <name>Greek Layer</name>
                <appendix>Right PC Application key activates the Greek key layer.</appendix>

                <identifier>space_cadet.greek_layer</identifier>

                <autogen>
                    --KeyToKey--
                    KeyCode::PC_APPLICATION,
                    KeyCode::VK_STICKY_EXTRA4
                </autogen>



                <autogen>
                    --KeyToKey--
                    KeyCode::A, ModifierFlag::EXTRA4 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                </autogen>
                <autogen>
                    --KeyToKey--
                    KeyCode::A, ModifierFlag::EXTRA4,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::B, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::B, ModifierFlag::EXTRA4 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                </autogen>
                <autogen>
                    --KeyToKey--
                    KeyCode::B, ModifierFlag::EXTRA4,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::B, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::C, ModifierFlag::EXTRA4 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::A, ModifierFlag::OPTION_L,
                    KeyCode::KEY_7, ModifierFlag::OPTION_L,
                </autogen>
                <autogen>
                    --KeyToKey--
                    KeyCode::C, ModifierFlag::EXTRA4,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::C, ModifierFlag::OPTION_L,
                    KeyCode::KEY_7, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::D, ModifierFlag::EXTRA4 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                    KeyCode::KEY_4, ModifierFlag::OPTION_L,
                </autogen>
                <autogen>
                    --KeyToKey--
                    KeyCode::D, ModifierFlag::EXTRA4,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::B, ModifierFlag::OPTION_L,
                    KeyCode::KEY_4, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::E, ModifierFlag::EXTRA4 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                    KeyCode::KEY_5, ModifierFlag::OPTION_L,
                </autogen>
                <autogen>
                    --KeyToKey--
                    KeyCode::E, ModifierFlag::EXTRA4,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::B, ModifierFlag::OPTION_L,
                    KeyCode::KEY_5, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::F, ModifierFlag::EXTRA4 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::A, ModifierFlag::OPTION_L,
                    KeyCode::KEY_6, ModifierFlag::OPTION_L,
                </autogen>
                <autogen>
                    --KeyToKey--
                    KeyCode::F, ModifierFlag::EXTRA4,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::C, ModifierFlag::OPTION_L,
                    KeyCode::KEY_6, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::G, ModifierFlag::EXTRA4 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                </autogen>
                <autogen>
                    --KeyToKey--
                    KeyCode::G, ModifierFlag::EXTRA4,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::B, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::H, ModifierFlag::EXTRA4 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                    KeyCode::KEY_7, ModifierFlag::OPTION_L,
                </autogen>
                <autogen>
                    --KeyToKey--
                    KeyCode::H, ModifierFlag::EXTRA4,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::B, ModifierFlag::OPTION_L,
                    KeyCode::KEY_7, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::I, ModifierFlag::EXTRA4 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                </autogen>
                <autogen>
                    --KeyToKey--
                    KeyCode::I, ModifierFlag::EXTRA4,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::B, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::J, ModifierFlag::EXTRA4 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                    KeyCode::KEY_8, ModifierFlag::OPTION_L,
                </autogen>
                <autogen>
                    --KeyToKey--
                    KeyCode::J, ModifierFlag::EXTRA4,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::D, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::K, ModifierFlag::EXTRA4 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                    KeyCode::A, ModifierFlag::OPTION_L,
                </autogen>
                <autogen>
                    --KeyToKey--
                    KeyCode::K, ModifierFlag::EXTRA4,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::B, ModifierFlag::OPTION_L,
                    KeyCode::A, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::L, ModifierFlag::EXTRA4 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                    KeyCode::B, ModifierFlag::OPTION_L,
                </autogen>
                <autogen>
                    --KeyToKey--
                    KeyCode::L, ModifierFlag::EXTRA4,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::B, ModifierFlag::OPTION_L,
                    KeyCode::B, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::M, ModifierFlag::EXTRA4 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                    KeyCode::C, ModifierFlag::OPTION_L,
                </autogen>
                <autogen>
                    --KeyToKey--
                    KeyCode::M, ModifierFlag::EXTRA4,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::B, ModifierFlag::OPTION_L,
                    KeyCode::C, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::N, ModifierFlag::EXTRA4 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                    KeyCode::D, ModifierFlag::OPTION_L,
                </autogen>
                <autogen>
                    --KeyToKey--
                    KeyCode::N, ModifierFlag::EXTRA4,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::B, ModifierFlag::OPTION_L,
                    KeyCode::D, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::O, ModifierFlag::EXTRA4 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                    KeyCode::F, ModifierFlag::OPTION_L,
                </autogen>
                <autogen>
                    --KeyToKey--
                    KeyCode::O, ModifierFlag::EXTRA4,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::B, ModifierFlag::OPTION_L,
                    KeyCode::F, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::P, ModifierFlag::EXTRA4 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::A, ModifierFlag::OPTION_L,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                </autogen>
                <autogen>
                    --KeyToKey--
                    KeyCode::P, ModifierFlag::EXTRA4,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::C, ModifierFlag::OPTION_L,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::Q, ModifierFlag::EXTRA4 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                    KeyCode::KEY_8, ModifierFlag::OPTION_L,
                </autogen>
                <autogen>
                    --KeyToKey--
                    KeyCode::Q, ModifierFlag::EXTRA4,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::B, ModifierFlag::OPTION_L,
                    KeyCode::KEY_8, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::R, ModifierFlag::EXTRA4 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::A, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                </autogen>
                <autogen>
                    --KeyToKey--
                    KeyCode::R, ModifierFlag::EXTRA4,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::C, ModifierFlag::OPTION_L,
                    KeyCode::KEY_1, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::S, ModifierFlag::EXTRA4 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::A, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                </autogen>
                <autogen>
                    --KeyToKey--
                    KeyCode::S, ModifierFlag::EXTRA4,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::C, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::T, ModifierFlag::EXTRA4 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::A, ModifierFlag::OPTION_L,
                    KeyCode::KEY_4, ModifierFlag::OPTION_L,
                </autogen>
                <autogen>
                    --KeyToKey--
                    KeyCode::T, ModifierFlag::EXTRA4,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::C, ModifierFlag::OPTION_L,
                    KeyCode::KEY_4, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::U, ModifierFlag::EXTRA4 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::A, ModifierFlag::OPTION_L,
                    KeyCode::KEY_5, ModifierFlag::OPTION_L,
                </autogen>
                <autogen>
                    --KeyToKey--
                    KeyCode::U, ModifierFlag::EXTRA4,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::C, ModifierFlag::OPTION_L,
                    KeyCode::KEY_5, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::V, ModifierFlag::EXTRA4 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::A, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                </autogen>
                <autogen>
                    --KeyToKey--
                    KeyCode::V, ModifierFlag::EXTRA4,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::C, ModifierFlag::OPTION_L,
                    KeyCode::KEY_2, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::W, ModifierFlag::EXTRA4 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::A, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                </autogen>
                <autogen>
                    --KeyToKey--
                    KeyCode::W, ModifierFlag::EXTRA4,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::C, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::X, ModifierFlag::EXTRA4 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                    KeyCode::E, ModifierFlag::OPTION_L,
                </autogen>
                <autogen>
                    --KeyToKey--
                    KeyCode::X, ModifierFlag::EXTRA4,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::B, ModifierFlag::OPTION_L,
                    KeyCode::E, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::Y, ModifierFlag::EXTRA4 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::A, ModifierFlag::OPTION_L,
                    KeyCode::KEY_8, ModifierFlag::OPTION_L,
                </autogen>
                <autogen>
                    --KeyToKey--
                    KeyCode::Y, ModifierFlag::EXTRA4,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::C, ModifierFlag::OPTION_L,
                    KeyCode::KEY_8, ModifierFlag::OPTION_L,
                </autogen>


                <autogen>
                    --KeyToKey--
                    KeyCode::Z, ModifierFlag::EXTRA4 | VK_SHIFT,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::KEY_9, ModifierFlag::OPTION_L,
                    KeyCode::KEY_6, ModifierFlag::OPTION_L,
                </autogen>
                <autogen>
                    --KeyToKey--
                    KeyCode::Z, ModifierFlag::EXTRA4,
                    KeyCode::KEY_0, ModifierFlag::OPTION_L,
                    KeyCode::KEY_3, ModifierFlag::OPTION_L,
                    KeyCode::B, ModifierFlag::OPTION_L,
                    KeyCode::KEY_6, ModifierFlag::OPTION_L,
                </autogen>

            </item>
        </item>
    </list>

    <list>
        <item>
            <name>sjl Swap parens and brackets</name>
            <identifier>private.swap_parens_and_brackets</identifier>
            <autogen>--KeyToKey-- KeyCode::BRACKET_LEFT,  ModifierFlag::NONE, KeyCode::KEY_9, ModifierFlag::SHIFT_R</autogen>
            <autogen>--KeyToKey-- KeyCode::BRACKET_RIGHT, ModifierFlag::NONE, KeyCode::KEY_0, ModifierFlag::SHIFT_R</autogen>
            <autogen>--KeyToKey-- KeyCode::KEY_9,         ModifierFlag::SHIFT_L, KeyCode::BRACKET_LEFT</autogen>
            <autogen>--KeyToKey-- KeyCode::KEY_0,         ModifierFlag::SHIFT_L, KeyCode::BRACKET_RIGHT</autogen>
        </item>
    </list>

    <list>
        <item>
            <name>sjl Shifts to Parentheses</name>
            <appendix>Shifts, when pressed alone, type parentheses.  When used with other keys they're normal shifts.</appendix>

            <identifier>private.shifts_to_parens</identifier>

            <!-- This is the basic mapping. -->
            <autogen>--KeyOverlaidModifier-- KeyCode::SHIFT_R, ModifierFlag::SHIFT_R | ModifierFlag::NONE, KeyCode::SHIFT_R, KeyCode::KEY_0, ModifierFlag::SHIFT_L</autogen>
            <autogen>--KeyOverlaidModifier-- KeyCode::SHIFT_L, ModifierFlag::SHIFT_L | ModifierFlag::NONE, KeyCode::SHIFT_L, KeyCode::KEY_9, ModifierFlag::SHIFT_R</autogen>

            <!--
                Remap the "rolls" of () and )( because it's too easy to hit one
                before finishing the other, and there's no other reason to be
                pressing both shift keys at once anyway
            -->
            <autogen>--KeyToKey-- KeyCode::SHIFT_L, ModifierFlag::SHIFT_R, KeyCode::KEY_0, ModifierFlag::SHIFT_L, KeyCode::KEY_9, ModifierFlag::SHIFT_L</autogen>
            <autogen>--KeyToKey-- KeyCode::SHIFT_R, ModifierFlag::SHIFT_L, KeyCode::KEY_9, ModifierFlag::SHIFT_L, KeyCode::KEY_0, ModifierFlag::SHIFT_L</autogen>

            <!--
                Remap Rshift+Space to ') ', because when typing an end paren and
                then a space I tend to hit space before I let go of rshift.
            -->
            <autogen>--KeyToKey-- KeyCode::SPACE, ModifierFlag::SHIFT_R, KeyCode::KEY_0, ModifierFlag::SHIFT_L, KeyCode::SPACE</autogen>
        </item>
    </list>

    <list>
        <item>
            <name>sjl Use the correct goddamned shift keys.</name>
            <identifier>private.fucking_shift_keys_how_do_they_work</identifier>

            <autogen>--KeyToKey-- KeyCode::Q, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::W, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::E, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::R, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::T, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::A, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::S, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::D, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::F, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::G, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::Z, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::X, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::C, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::V, ModifierFlag::SHIFT_L, KeyCode::VK_NONE</autogen>

            <autogen>--KeyToKey-- KeyCode::Y,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::U,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::I,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::O,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::P,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::H,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::J,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::K,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::L,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::SEMICOLON, ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::N,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::M,         ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::COMMA,     ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::DOT,       ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
            <autogen>--KeyToKey-- KeyCode::QUOTE,     ModifierFlag::SHIFT_R, KeyCode::VK_NONE</autogen>
        </item>
    </list>
</root>