<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE keyboard SYSTEM "file://localhost/System/Library/DTDs/KeyboardLayout.dtd">
<!-- Generated by kalamine on 2024-06-03

  File          : lafayette.keylayout
  Project page  : https://github.com/fabi1cazenave/qwerty-lafayette
  Author        : Fabien Cazenave (:kazé)
  Version       : 0.9
  License       : WTFPL - Do What The Fuck You Want Public License
  Reference     : https://developer.apple.com/library/archive/technotes/tn2056/_index.html

  French (Qwerty-Lafayette)

  Logical layer (Apple keycodes)
  ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲━━━━━━━━━━┓
  │ `   │ 1   │ 2   │ 3   │ 4   │ 5   │ 6   │ 7   │ 8   │ 9   │ 0   │ -   │ =   ┃          ┃
  │  50 │  18 │  19 │  20 │  21 │  23 │  22 │  26 │  28 │  25 │  29 │  27 │  24 ┃ ⌫        ┃
  ┢━━━━━┷━━┱──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┺━━┳━━━━━━━┫
  ┃        ┃ Q   │ W   │ E   │ R   │ T   │ Y   │ U   │ I   │ O   │ P   │ [   │ ]   ┃       ┃
  ┃ ↹      ┃  12 │  13 │  14 │  15 │  17 │  16 │  32 │  34 │  31 │  35 │  33 │  30 ┃       ┃
  ┣━━━━━━━━┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓  ⏎   ┃
  ┃         ┃ A   │ S   │ D   │ F   │ G   │ H   │ J   │ K   │ L   │ ;   │ '   │ \   ┃      ┃
  ┃ ⇬       ┃   0 │   1 │   2 │   3 │   5 │   4 │  38 │  40 │  37 │  41 │  39 │  42 ┃      ┃
  ┣━━━━━━┳━━┹──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┬──┴──┲━━┷━━━━━┻━━━━━━┫
  ┃      ┃ <   │ Z   │ X   │ C   │ V   │ B   │ N   │ M   │ ,   │ .   │ /   ┃               ┃
  ┃ ⇧    ┃  10 │   6 │   7 │   8 │   9 │  11 │  45 │  46 │  43 │  47 │  44 ┃ ⇧             ┃
  ┣━━━━━━┻┳━━━━┷━━┳━━┷━━━━┱┴─────┴─────┴─────┴─────┴─────┴─┲━━━┷━━━┳━┷━━━━━╋━━━━━━━┳━━━━━━━┫
  ┃       ┃       ┃       ┃                                ┃       ┃       ┃       ┃       ┃
  ┃ Ctrl  ┃ super ┃ Alt   ┃                             49 ┃ AltGr ┃ super ┃ menu  ┃ Ctrl  ┃
  ┗━━━━━━━┻━━━━━━━┻━━━━━━━┹────────────────────────────────┺━━━━━━━┻━━━━━━━┻━━━━━━━┻━━━━━━━┛

  Base+Option layers
  ╭╌╌╌╌╌┰─────┬─────┬─────┬─────┬─────┰─────┬─────┬─────┬─────┬─────┰╌╌╌╌╌┬╌╌╌╌╌╮
  ┆ ~   ┃ ! ¹ │ @ ² │ # ³ │ $ ⁴ │ % ⁵ ┃ ^ ⁶ │ & ⁷ │ * ⁸ │ ( ⁹ │ ) ⁰ ┃ _   ┆ +   ┆
  ┆ `   ┃ 1 ₁ │ 2 ₂ │ 3 ₃ │ 4 ₄ │ 5 ₅ ┃ 6 ₆ │ 7 ₇ │ 8 ₈ │ 9 ₉ │ 0 ₀ ┃ -   ┆ =   ┆
  ╰╌╌╌╌╌╂─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╂╌╌╌╌╌┼╌╌╌╌╌┤
        ┃ Q*^ │ W   │ E   │ R*¤ │ T ‰ ┃ Y*˚ │ U   │ I × │ O*´ │ P*` ┃ {   ┆ }   ┆
        ┃   ^ │   < │   > │   $ │   % ┃   @ │   & │   * │   ' │   ` ┃ [   ┆ ]   ┆
        ┠─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╂╌╌╌╌╌┼╌╌╌╌╌┤
        ┃ A*ˇ │ S ⁽ │ D ⁾ │ F*˙ │ G ≠ ┃ H*/ │ J ± │ K*¯ │ L ÷ │***” ┃ "   ┆ |   ┆
        ┃   { │   ( │   ) │   } │   = ┃   \ │   + │   - │   / │** " ┃ '   ┆ \   ┆
  ╭╌╌╌╌╌╂─────┼─────┼─────┼─────┼─────╂─────┼─────┼─────┼─────┼─────╂╌╌╌╌╌┴╌╌╌╌╌╯
  ┆ >   ┃ Z*~ │ X*, │ C*˛ │ V – │ B   ┃ N   │ M ¬ │ ;*¸ │ : : │ ?*˘ ┃
  ┆ <   ┃   ~ │   [ │   ] │   _ │   # ┃   | │   ! │ , ; │ . : │ / ? ┃
  ╰╌╌╌╌╌┸─────┴─────┴─────┴─────┴─────┸─────┴─────┴─────┴─────┴─────┚
  -->
<keyboard group="0" id="0" name="French (Qwerty-Lafayette)" maxout="1">
  <layouts>
    <layout first="0" last="17" modifiers="commonModifiers" mapSet="ANSI" />
  </layouts>

  <modifierMap id="commonModifiers" defaultIndex="0">
    <keyMapSelect mapIndex="0">
      <modifier keys="" />
    </keyMapSelect>
    <keyMapSelect mapIndex="1"> <!-- shift -->
      <modifier keys="anyShift caps?" />
    </keyMapSelect>
    <keyMapSelect mapIndex="2"> <!-- caps -->
      <modifier keys="caps" />
    </keyMapSelect>
    <keyMapSelect mapIndex="3"> <!-- option -->
      <modifier keys="anyOption caps?" />
    </keyMapSelect>
    <keyMapSelect mapIndex="4"> <!-- option + shift -->
      <modifier keys="anyShift caps? anyOption command?" />
    </keyMapSelect>
  </modifierMap>

  <keyMapSet id="ANSI">
    <keyMap index="0">
      <!-- Digits -->
      <key code="18"  action="ae01_1" />
      <key code="19"  action="ae02_2" />
      <key code="20"  action="ae03_3" />
      <key code="21"  action="ae04_4" />
      <key code="23"  action="ae05_5" />
      <key code="22"  action="ae06_6" />
      <key code="26"  action="ae07_7" />
      <key code="28"  action="ae08_8" />
      <key code="25"  action="ae09_9" />
      <key code="29"  action="ae10_0" />

      <!-- Letters, first row -->
      <key code="12"  action="ad01_q" />
      <key code="13"  action="ad02_w" />
      <key code="14"  action="ad03_e" />
      <key code="15"  action="ad04_r" />
      <key code="17"  action="ad05_t" />
      <key code="16"  action="ad06_y" />
      <key code="32"  action="ad07_u" />
      <key code="34"  action="ad08_i" />
      <key code="31"  action="ad09_o" />
      <key code="35"  action="ad10_p" />

      <!-- Letters, second row -->
      <key code="0"   action="ac01_a" />
      <key code="1"   action="ac02_s" />
      <key code="2"   action="ac03_d" />
      <key code="3"   action="ac04_f" />
      <key code="5"   action="ac05_g" />
      <key code="4"   action="ac06_h" />
      <key code="38"  action="ac07_j" />
      <key code="40"  action="ac08_k" />
      <key code="37"  action="ac09_l" />
      <key code="41"  action="dead_1dk" />

      <!-- Letters, third row -->
      <key code="6"   action="ab01_z" />
      <key code="7"   action="ab02_x" />
      <key code="8"   action="ab03_c" />
      <key code="9"   action="ab04_v" />
      <key code="11"  action="ab05_b" />
      <key code="45"  action="ab06_n" />
      <key code="46"  action="ab07_m" />
      <key code="43"  action="ab08_," />
      <key code="47"  action="ab09_." />
      <key code="44"  action="ab10_/" />

      <!-- Pinky keys -->
      <key code="27"  action="ae11_-" />
      <key code="24"  action="ae12_=" />
      <key code="33"  output="[" />
      <key code="30"  output="]" />
      <key code="39"  output="'" />
      <key code="50"  output="`" />
      <key code="42"  output="\" />
      <key code="10"  action="lsgt_x003c" />

      <!-- Space bar -->
      <key code="49"  action="spce_x0020" />

      <!-- Other keys -->
      <key code="36"  output="&#x000D;" />
      <key code="48"  output="&#x0009;" />
      <key code="51"  output="&#x0008;" />
      <key code="52"  output="&#x0003;" />
      <key code="53"  output="&#x001B;" />
      <key code="64"  output="&#x0010;" />
      <key code="65"  output="." />
      <key code="66"  output="&#x001D;" />
      <key code="67"  output="*" />
      <key code="69"  output="+" />
      <key code="70"  output="&#x001C;" />
      <key code="71"  output="&#x001B;" />
      <key code="72"  output="&#x001F;" />
      <key code="75"  output="/" />
      <key code="76"  output="&#x0003;" />
      <key code="77"  output="&#x001E;" />
      <key code="78"  output="-" />
      <key code="79"  output="&#x0010;" />
      <key code="80"  output="&#x0010;" />
      <key code="81"  output="=" />
      <key code="82"  output="0" />
      <key code="83"  output="1" />
      <key code="84"  output="2" />
      <key code="85"  output="3" />
      <key code="86"  output="4" />
      <key code="87"  output="5" />
      <key code="88"  output="6" />
      <key code="89"  output="7" />
      <key code="91"  output="8" />
      <key code="92"  output="9" />
      <key code="96"  output="&#x0010;" />
      <key code="97"  output="&#x0010;" />
      <key code="98"  output="&#x0010;" />
      <key code="99"  output="&#x0010;" />
      <key code="100" output="&#x0010;" />
      <key code="101" output="&#x0010;" />
      <key code="102" output="&#x0010;" />
      <key code="103" output="&#x0010;" />
      <key code="104" output="&#x0010;" />
      <key code="105" output="&#x0010;" />
      <key code="106" output="&#x0010;" />
      <key code="107" output="&#x0010;" />
      <key code="108" output="&#x0010;" />
      <key code="109" output="&#x0010;" />
      <key code="110" output="&#x0010;" />
      <key code="111" output="&#x0010;" />
      <key code="112" output="&#x0010;" />
      <key code="113" output="&#x0010;" />
      <key code="114" output="&#x0005;" />
      <key code="115" output="&#x0001;" />
      <key code="116" output="&#x000B;" />
      <key code="117" output="&#x007F;" />
      <key code="118" output="&#x0010;" />
      <key code="119" output="&#x0004;" />
      <key code="120" output="&#x0010;" />
      <key code="121" output="&#x000C;" />
      <key code="122" output="&#x0010;" />
      <key code="123" output="&#x001C;" />
      <key code="124" output="&#x001D;" />
      <key code="125" output="&#x001F;" />
      <key code="126" output="&#x001E;" />
    </keyMap>

    <!-- Shift -->
    <keyMap index="1">
      <!-- Digits -->
      <key code="18"  action="ae01_!" />
      <key code="19"  action="ae02_@" />
      <key code="20"  action="ae03_#" />
      <key code="21"  action="ae04_$" />
      <key code="23"  action="ae05_%" />
      <key code="22"  output="^" />
      <key code="26"  output="&#x0026;" />
      <key code="28"  output="*" />
      <key code="25"  action="ae09_(" />
      <key code="29"  action="ae10_)" />

      <!-- Letters, first row -->
      <key code="12"  action="ad01_Q" />
      <key code="13"  action="ad02_W" />
      <key code="14"  action="ad03_E" />
      <key code="15"  action="ad04_R" />
      <key code="17"  action="ad05_T" />
      <key code="16"  action="ad06_Y" />
      <key code="32"  action="ad07_U" />
      <key code="34"  action="ad08_I" />
      <key code="31"  action="ad09_O" />
      <key code="35"  action="ad10_P" />

      <!-- Letters, second row -->
      <key code="0"   action="ac01_A" />
      <key code="1"   action="ac02_S" />
      <key code="2"   action="ac03_D" />
      <key code="3"   action="ac04_F" />
      <key code="5"   action="ac05_G" />
      <key code="4"   action="ac06_H" />
      <key code="38"  action="ac07_J" />
      <key code="40"  action="ac08_K" />
      <key code="37"  action="ac09_L" />
      <key code="41"  action="dead_1dk" />

      <!-- Letters, third row -->
      <key code="6"   action="ab01_Z" />
      <key code="7"   action="ab02_X" />
      <key code="8"   action="ab03_C" />
      <key code="9"   action="ab04_V" />
      <key code="11"  action="ab05_B" />
      <key code="45"  action="ab06_N" />
      <key code="46"  action="ab07_M" />
      <key code="43"  action="ab08_;" />
      <key code="47"  output=":" />
      <key code="44"  action="ab10_?" />

      <!-- Pinky keys -->
      <key code="27"  output="_" />
      <key code="24"  action="ae12_+" />
      <key code="33"  output="{" />
      <key code="30"  output="}" />
      <key code="39"  output="&#x0022;" />
      <key code="50"  output="~" />
      <key code="42"  output="|" />
      <key code="10"  action="lsgt_x003e" />

      <!-- Space bar -->
      <key code="49"  action="spce_x202f" />

      <!-- Other keys -->
      <key code="36"  output="&#x000D;" />
      <key code="48"  output="&#x0009;" />
      <key code="51"  output="&#x0008;" />
      <key code="52"  output="&#x0003;" />
      <key code="53"  output="&#x001B;" />
      <key code="64"  output="&#x0010;" />
      <key code="65"  output="." />
      <key code="66"  output="*" />
      <key code="67"  output="*" />
      <key code="69"  output="+" />
      <key code="70"  output="+" />
      <key code="71"  output="&#x001B;" />
      <key code="72"  output="=" />
      <key code="75"  output="/" />
      <key code="76"  output="&#x0003;" />
      <key code="77"  output="/" />
      <key code="78"  output="-" />
      <key code="79"  output="&#x0010;" />
      <key code="80"  output="&#x0010;" />
      <key code="81"  output="=" />
      <key code="82"  output="0" />
      <key code="83"  output="1" />
      <key code="84"  output="2" />
      <key code="85"  output="3" />
      <key code="86"  output="4" />
      <key code="87"  output="5" />
      <key code="88"  output="6" />
      <key code="89"  output="7" />
      <key code="91"  output="8" />
      <key code="92"  output="9" />
      <key code="96"  output="&#x0010;" />
      <key code="97"  output="&#x0010;" />
      <key code="98"  output="&#x0010;" />
      <key code="99"  output="&#x0010;" />
      <key code="100" output="&#x0010;" />
      <key code="101" output="&#x0010;" />
      <key code="102" output="&#x0010;" />
      <key code="103" output="&#x0010;" />
      <key code="104" output="&#x0010;" />
      <key code="105" output="&#x0010;" />
      <key code="106" output="&#x0010;" />
      <key code="107" output="&#x0010;" />
      <key code="108" output="&#x0010;" />
      <key code="109" output="&#x0010;" />
      <key code="110" output="&#x0010;" />
      <key code="111" output="&#x0010;" />
      <key code="112" output="&#x0010;" />
      <key code="113" output="&#x0010;" />
      <key code="114" output="&#x0005;" />
      <key code="115" output="&#x0001;" />
      <key code="116" output="&#x000B;" />
      <key code="117" output="&#x007F;" />
      <key code="118" output="&#x0010;" />
      <key code="119" output="&#x0004;" />
      <key code="120" output="&#x0010;" />
      <key code="121" output="&#x000C;" />
      <key code="122" output="&#x0010;" />
      <key code="123" output="&#x001C;" />
      <key code="124" output="&#x001D;" />
      <key code="125" output="&#x001F;" />
      <key code="126" output="&#x001E;" />
    </keyMap>

    <!-- Caps -->
    <keyMap index="2">
      <!-- Digits -->
      <key code="18"  action="ae01_1" />
      <key code="19"  action="ae02_2" />
      <key code="20"  action="ae03_3" />
      <key code="21"  action="ae04_4" />
      <key code="23"  action="ae05_5" />
      <key code="22"  action="ae06_6" />
      <key code="26"  action="ae07_7" />
      <key code="28"  action="ae08_8" />
      <key code="25"  action="ae09_9" />
      <key code="29"  action="ae10_0" />

      <!-- Letters, first row -->
      <key code="12"  action="ad01_Q" />
      <key code="13"  action="ad02_W" />
      <key code="14"  action="ad03_E" />
      <key code="15"  action="ad04_R" />
      <key code="17"  action="ad05_T" />
      <key code="16"  action="ad06_Y" />
      <key code="32"  action="ad07_U" />
      <key code="34"  action="ad08_I" />
      <key code="31"  action="ad09_O" />
      <key code="35"  action="ad10_P" />

      <!-- Letters, second row -->
      <key code="0"   action="ac01_A" />
      <key code="1"   action="ac02_S" />
      <key code="2"   action="ac03_D" />
      <key code="3"   action="ac04_F" />
      <key code="5"   action="ac05_G" />
      <key code="4"   action="ac06_H" />
      <key code="38"  action="ac07_J" />
      <key code="40"  action="ac08_K" />
      <key code="37"  action="ac09_L" />
      <key code="41"  action="dead_1dk" />

      <!-- Letters, third row -->
      <key code="6"   action="ab01_Z" />
      <key code="7"   action="ab02_X" />
      <key code="8"   action="ab03_C" />
      <key code="9"   action="ab04_V" />
      <key code="11"  action="ab05_B" />
      <key code="45"  action="ab06_N" />
      <key code="46"  action="ab07_M" />
      <key code="43"  action="ab08_," />
      <key code="47"  action="ab09_." />
      <key code="44"  action="ab10_/" />

      <!-- Pinky keys -->
      <key code="27"  action="ae11_-" />
      <key code="24"  action="ae12_=" />
      <key code="33"  output="[" />
      <key code="30"  output="]" />
      <key code="39"  output="'" />
      <key code="50"  output="`" />
      <key code="42"  output="\" />
      <key code="10"  action="lsgt_x003c" />

      <!-- Space bar -->
      <key code="49"  action="spce_x0020" />

      <!-- Other keys -->
      <key code="36"  output="&#x000D;" />
      <key code="48"  output="&#x0009;" />
      <key code="51"  output="&#x0008;" />
      <key code="52"  output="&#x0003;" />
      <key code="53"  output="&#x001B;" />
      <key code="64"  output="&#x0010;" />
      <key code="65"  output="." />
      <key code="66"  output="&#x001D;" />
      <key code="67"  output="*" />
      <key code="69"  output="+" />
      <key code="70"  output="&#x001C;" />
      <key code="71"  output="&#x001B;" />
      <key code="72"  output="&#x001F;" />
      <key code="75"  output="/" />
      <key code="76"  output="&#x0003;" />
      <key code="77"  output="&#x001E;" />
      <key code="78"  output="-" />
      <key code="79"  output="&#x0010;" />
      <key code="80"  output="&#x0010;" />
      <key code="81"  output="=" />
      <key code="82"  output="0" />
      <key code="83"  output="1" />
      <key code="84"  output="2" />
      <key code="85"  output="3" />
      <key code="86"  output="4" />
      <key code="87"  output="5" />
      <key code="88"  output="6" />
      <key code="89"  output="7" />
      <key code="91"  output="8" />
      <key code="92"  output="9" />
      <key code="96"  output="&#x0010;" />
      <key code="97"  output="&#x0010;" />
      <key code="98"  output="&#x0010;" />
      <key code="99"  output="&#x0010;" />
      <key code="100" output="&#x0010;" />
      <key code="101" output="&#x0010;" />
      <key code="102" output="&#x0010;" />
      <key code="103" output="&#x0010;" />
      <key code="104" output="&#x0010;" />
      <key code="105" output="&#x0010;" />
      <key code="106" output="&#x0010;" />
      <key code="107" output="&#x0010;" />
      <key code="108" output="&#x0010;" />
      <key code="109" output="&#x0010;" />
      <key code="110" output="&#x0010;" />
      <key code="111" output="&#x0010;" />
      <key code="112" output="&#x0010;" />
      <key code="113" output="&#x0010;" />
      <key code="114" output="&#x0005;" />
      <key code="115" output="&#x0001;" />
      <key code="116" output="&#x000B;" />
      <key code="117" output="&#x007F;" />
      <key code="118" output="&#x0010;" />
      <key code="119" output="&#x0004;" />
      <key code="120" output="&#x0010;" />
      <key code="121" output="&#x000C;" />
      <key code="122" output="&#x0010;" />
      <key code="123" output="&#x001C;" />
      <key code="124" output="&#x001D;" />
      <key code="125" output="&#x001F;" />
      <key code="126" output="&#x001E;" />
    </keyMap>

    <!-- Option -->
    <keyMap index="3">
      <!-- Digits -->
      <key code="18"  output="₁" />
      <key code="19"  output="₂" />
      <key code="20"  output="₃" />
      <key code="21"  output="₄" />
      <key code="23"  output="₅" />
      <key code="22"  output="₆" />
      <key code="26"  output="₇" />
      <key code="28"  output="₈" />
      <key code="25"  output="₉" />
      <key code="29"  output="₀" />

      <!-- Letters, first row -->
      <key code="12"  output="^" />
      <key code="13"  action="ad02_x003c" />
      <key code="14"  action="ad03_x003e" />
      <key code="15"  action="ad04_$" />
      <key code="17"  action="ad05_%" />
      <key code="16"  action="ad06_@" />
      <key code="32"  output="&#x0026;" />
      <key code="34"  output="*" />
      <key code="31"  output="'" />
      <key code="35"  output="`" />

      <!-- Letters, second row -->
      <key code="0"   output="{" />
      <key code="1"   action="ac02_(" />
      <key code="2"   action="ac03_)" />
      <key code="3"   output="}" />
      <key code="5"   action="ac05_=" />
      <key code="4"   output="\" />
      <key code="38"  action="ac07_+" />
      <key code="40"  action="ac08_-" />
      <key code="37"  action="ac09_/" />
      <key code="41"  output="&#x0022;" />

      <!-- Letters, third row -->
      <key code="6"   output="~" />
      <key code="7"   output="[" />
      <key code="8"   output="]" />
      <key code="9"   output="_" />
      <key code="11"  action="ab05_#" />
      <key code="45"  output="|" />
      <key code="46"  action="ab07_!" />
      <key code="43"  action="ab08_;" />
      <key code="47"  output=":" />
      <key code="44"  action="ab10_?" />

      <!-- Pinky keys -->
      <key code="27"  output="&#x0010;" />
      <key code="24"  output="&#x0010;" />
      <key code="33"  output="&#x0010;" />
      <key code="30"  output="&#x0010;" />
      <key code="39"  output="&#x0010;" />
      <key code="50"  output="&#x0010;" />
      <key code="42"  output="&#x0010;" />
      <key code="10"  output="&#x0010;" />

      <!-- Space bar -->
      <key code="49"  action="spce_x0020" />

      <!-- Other keys -->
      <key code="36"  output="&#x000D;" />
      <key code="48"  output="&#x0009;" />
      <key code="51"  output="&#x0008;" />
      <key code="52"  output="&#x0003;" />
      <key code="53"  output="&#x001B;" />
      <key code="64"  output="&#x0010;" />
      <key code="65"  output="." />
      <key code="66"  output="&#x001D;" />
      <key code="67"  output="*" />
      <key code="69"  output="+" />
      <key code="70"  output="&#x001C;" />
      <key code="71"  output="&#x001B;" />
      <key code="72"  output="&#x001F;" />
      <key code="75"  output="+" />
      <key code="76"  output="&#x0003;" />
      <key code="77"  output="&#x001E;" />
      <key code="78"  output="-" />
      <key code="79"  output="&#x0010;" />
      <key code="80"  output="&#x0010;" />
      <key code="81"  output="=" />
      <key code="82"  output="0" />
      <key code="83"  output="1" />
      <key code="84"  output="2" />
      <key code="85"  output="3" />
      <key code="86"  output="4" />
      <key code="87"  output="5" />
      <key code="88"  output="6" />
      <key code="89"  output="7" />
      <key code="91"  output="8" />
      <key code="92"  output="9" />
      <key code="96"  output="&#x0010;" />
      <key code="97"  output="&#x0010;" />
      <key code="98"  output="&#x0010;" />
      <key code="99"  output="&#x0010;" />
      <key code="100" output="&#x0010;" />
      <key code="101" output="&#x0010;" />
      <key code="102" output="&#x0010;" />
      <key code="103" output="&#x0010;" />
      <key code="104" output="&#x0010;" />
      <key code="105" output="&#x0010;" />
      <key code="106" output="&#x0010;" />
      <key code="107" output="&#x0010;" />
      <key code="108" output="&#x0010;" />
      <key code="109" output="&#x0010;" />
      <key code="110" output="&#x0010;" />
      <key code="111" output="&#x0010;" />
      <key code="112" output="&#x0010;" />
      <key code="113" output="&#x0010;" />
      <key code="114" output="&#x0005;" />
      <key code="115" output="&#x0001;" />
      <key code="116" output="&#x000B;" />
      <key code="117" output="&#x007F;" />
      <key code="118" output="&#x0010;" />
      <key code="119" output="&#x0004;" />
      <key code="120" output="&#x0010;" />
      <key code="121" output="&#x000C;" />
      <key code="122" output="&#x0010;" />
      <key code="123" output="&#x001C;" />
      <key code="124" output="&#x001D;" />
      <key code="125" output="&#x001F;" />
      <key code="126" output="&#x001E;" />
    </keyMap>

    <!-- Option + Shift -->
    <keyMap index="4">
      <!-- Digits -->
      <key code="18"  output="¹" />
      <key code="19"  output="²" />
      <key code="20"  output="³" />
      <key code="21"  output="⁴" />
      <key code="23"  output="⁵" />
      <key code="22"  output="⁶" />
      <key code="26"  output="⁷" />
      <key code="28"  output="⁸" />
      <key code="25"  output="⁹" />
      <key code="29"  output="⁰" />

      <!-- Letters, first row -->
      <key code="12"  action="dead_circumflex" />
      <key code="13"  action="ad02_≤" />
      <key code="14"  action="ad03_≥" />
      <key code="15"  action="dead_currency" />
      <key code="17"  output="‰" />
      <key code="16"  action="dead_abovering" />
      <key code="32"  output="&#x0010;" />
      <key code="34"  output="×" />
      <key code="31"  action="dead_acute" />
      <key code="35"  action="dead_grave" />

      <!-- Letters, second row -->
      <key code="0"   action="dead_caron" />
      <key code="1"   output="⁽" />
      <key code="2"   output="⁾" />
      <key code="3"   action="dead_abovedot" />
      <key code="5"   output="≠" />
      <key code="4"   action="dead_stroke" />
      <key code="38"  output="±" />
      <key code="40"  action="dead_macron" />
      <key code="37"  output="÷" />
      <key code="41"  action="dead_doubleacute" />

      <!-- Letters, third row -->
      <key code="6"   action="dead_tilde" />
      <key code="7"   action="dead_belowcomma" />
      <key code="8"   action="dead_ogonek" />
      <key code="9"   output="–" />
      <key code="11"  output="&#x0010;" />
      <key code="45"  output="¦" />
      <key code="46"  output="¬" />
      <key code="43"  action="dead_cedilla" />
      <key code="47"  output=":" />
      <key code="44"  action="dead_breve" />

      <!-- Pinky keys -->
      <key code="27"  output="&#x0010;" />
      <key code="24"  output="&#x0010;" />
      <key code="33"  output="&#x0010;" />
      <key code="30"  output="&#x0010;" />
      <key code="39"  output="&#x0010;" />
      <key code="50"  output="&#x0010;" />
      <key code="42"  output="&#x0010;" />
      <key code="10"  output="&#x0010;" />

      <!-- Space bar -->
      <key code="49"  action="spce_x00a0" />

      <!-- Other keys -->
      <key code="36"  output="&#x000D;" />
      <key code="48"  output="&#x0009;" />
      <key code="51"  output="&#x0008;" />
      <key code="52"  output="&#x0003;" />
      <key code="53"  output="&#x001B;" />
      <key code="64"  output="&#x0010;" />
      <key code="65"  output="." />
      <key code="66"  output="*" />
      <key code="67"  output="*" />
      <key code="69"  output="+" />
      <key code="70"  output="+" />
      <key code="71"  output="&#x001B;" />
      <key code="72"  output="=" />
      <key code="75"  output="/" />
      <key code="76"  output="&#x0003;" />
      <key code="77"  output="/" />
      <key code="78"  output="-" />
      <key code="79"  output="&#x0010;" />
      <key code="80"  output="&#x0010;" />
      <key code="81"  output="=" />
      <key code="82"  output="0" />
      <key code="83"  output="1" />
      <key code="84"  output="2" />
      <key code="85"  output="3" />
      <key code="86"  output="4" />
      <key code="87"  output="5" />
      <key code="88"  output="6" />
      <key code="89"  output="7" />
      <key code="91"  output="8" />
      <key code="92"  output="9" />
      <key code="96"  output="&#x0010;" />
      <key code="97"  output="&#x0010;" />
      <key code="98"  output="&#x0010;" />
      <key code="99"  output="&#x0010;" />
      <key code="100" output="&#x0010;" />
      <key code="101" output="&#x0010;" />
      <key code="102" output="&#x0010;" />
      <key code="103" output="&#x0010;" />
      <key code="104" output="&#x0010;" />
      <key code="105" output="&#x0010;" />
      <key code="106" output="&#x0010;" />
      <key code="107" output="&#x0010;" />
      <key code="108" output="&#x0010;" />
      <key code="109" output="&#x0010;" />
      <key code="110" output="&#x0010;" />
      <key code="111" output="&#x0010;" />
      <key code="112" output="&#x0010;" />
      <key code="113" output="&#x0010;" />
      <key code="114" output="&#x0005;" />
      <key code="115" output="&#x0001;" />
      <key code="116" output="&#x000B;" />
      <key code="117" output="&#x007F;" />
      <key code="118" output="&#x0010;" />
      <key code="119" output="&#x0004;" />
      <key code="120" output="&#x0010;" />
      <key code="121" output="&#x000C;" />
      <key code="122" output="&#x0010;" />
      <key code="123" output="&#x001C;" />
      <key code="124" output="&#x001D;" />
      <key code="125" output="&#x001F;" />
      <key code="126" output="&#x001E;" />
    </keyMap>
  </keyMapSet>

  <actions>
    <action id="dead_1dk">
      <when state="none" next="1dk" />
      <when state="1dk" next="diaeresis" />
    </action>
    <action id="dead_grave">
      <when state="none" next="grave" />
    </action>
    <action id="dead_acute">
      <when state="none" next="acute" />
    </action>
    <action id="dead_doubleacute">
      <when state="none" next="doubleacute" />
    </action>
    <action id="dead_circumflex">
      <when state="none" next="circumflex" />
    </action>
    <action id="dead_caron">
      <when state="none" next="caron" />
    </action>
    <action id="dead_breve">
      <when state="none" next="breve" />
    </action>
    <action id="dead_tilde">
      <when state="none" next="tilde" />
    </action>
    <action id="dead_macron">
      <when state="none" next="macron" />
    </action>
    <action id="dead_diaeresis">
      <when state="none" next="diaeresis" />
    </action>
    <action id="dead_abovering">
      <when state="none" next="abovering" />
    </action>
    <action id="dead_cedilla">
      <when state="none" next="cedilla" />
    </action>
    <action id="dead_belowcomma">
      <when state="none" next="belowcomma" />
    </action>
    <action id="dead_ogonek">
      <when state="none" next="ogonek" />
    </action>
    <action id="dead_stroke">
      <when state="none" next="stroke" />
    </action>
    <action id="dead_abovedot">
      <when state="none" next="abovedot" />
    </action>
    <action id="dead_currency">
      <when state="none" next="currency" />
    </action>

    <!-- Digits -->
    <action id="ae01_1">
      <when state="none"       output="1" />
      <when state="1dk"        output="¡" />
      <when state="circumflex" output="¹" />
      <when state="caron"      output="₁" />
    </action>
    <action id="ae01_!">
      <when state="none"       output="!" />
      <when state="1dk"        output="„" />
    </action>
    <action id="ae02_2">
      <when state="none"       output="2" />
      <when state="1dk"        output="«" />
      <when state="circumflex" output="²" />
      <when state="caron"      output="₂" />
    </action>
    <action id="ae02_@">
      <when state="none"       output="@" />
      <when state="1dk"        output="“" />
    </action>
    <action id="ae03_3">
      <when state="none"       output="3" />
      <when state="1dk"        output="»" />
      <when state="circumflex" output="³" />
      <when state="caron"      output="₃" />
    </action>
    <action id="ae03_#">
      <when state="none"       output="#" />
      <when state="1dk"        output="”" />
    </action>
    <action id="ae04_4">
      <when state="none"       output="4" />
      <when state="1dk"        output="£" />
      <when state="circumflex" output="⁴" />
      <when state="caron"      output="₄" />
    </action>
    <action id="ae04_$">
      <when state="none"       output="$" />
      <when state="1dk"        output="¢" />
    </action>
    <action id="ae05_5">
      <when state="none"       output="5" />
      <when state="1dk"        output="€" />
      <when state="circumflex" output="⁵" />
      <when state="caron"      output="₅" />
    </action>
    <action id="ae05_%">
      <when state="none"       output="%" />
      <when state="1dk"        output="‰" />
    </action>
    <action id="ae06_6">
      <when state="none"       output="6" />
      <when state="1dk"        output="¥" />
      <when state="circumflex" output="⁶" />
      <when state="caron"      output="₆" />
    </action>
    <action id="ae07_7">
      <when state="none"       output="7" />
      <when state="1dk"        output="¤" />
      <when state="circumflex" output="⁷" />
      <when state="caron"      output="₇" />
    </action>
    <action id="ae08_8">
      <when state="none"       output="8" />
      <when state="1dk"        output="§" />
      <when state="circumflex" output="⁸" />
      <when state="caron"      output="₈" />
    </action>
    <action id="ae09_9">
      <when state="none"       output="9" />
      <when state="1dk"        output="¶" />
      <when state="circumflex" output="⁹" />
      <when state="caron"      output="₉" />
    </action>
    <action id="ae09_(">
      <when state="none"       output="(" />
      <when state="circumflex" output="⁽" />
      <when state="caron"      output="₍" />
    </action>
    <action id="ae10_0">
      <when state="none"       output="0" />
      <when state="1dk"        output="°" />
      <when state="circumflex" output="⁰" />
      <when state="caron"      output="₀" />
    </action>
    <action id="ae10_)">
      <when state="none"       output=")" />
      <when state="circumflex" output="⁾" />
      <when state="caron"      output="₎" />
    </action>

    <!-- Letters, first row -->
    <action id="ad01_q">
      <when state="none"       output="q" />
      <when state="1dk"        output="æ" />
    </action>
    <action id="ad01_Q">
      <when state="none"       output="Q" />
      <when state="1dk"        output="Æ" />
    </action>
    <action id="ad02_w">
      <when state="none"       output="w" />
      <when state="1dk"        output="é" />
      <when state="grave"      output="ẁ" />
      <when state="acute"      output="ẃ" />
      <when state="circumflex" output="ŵ" />
      <when state="diaeresis"  output="ẅ" />
      <when state="abovering"  output="ẘ" />
      <when state="abovedot"   output="ẇ" />
      <when state="currency"   output="₩" />
    </action>
    <action id="ad02_W">
      <when state="none"       output="W" />
      <when state="1dk"        output="É" />
      <when state="grave"      output="Ẁ" />
      <when state="acute"      output="Ẃ" />
      <when state="circumflex" output="Ŵ" />
      <when state="diaeresis"  output="Ẅ" />
      <when state="abovedot"   output="Ẇ" />
      <when state="currency"   output="₩" />
    </action>
    <action id="ad02_x003c">
      <when state="none"       output="&#x003c;" />
      <when state="tilde"      output="≲" />
      <when state="stroke"     output="≮" />
    </action>
    <action id="ad02_≤">
      <when state="none"       output="≤" />
      <when state="stroke"     output="≰" />
    </action>
    <action id="ad03_e">
      <when state="none"       output="e" />
      <when state="1dk"        output="è" />
      <when state="grave"      output="è" />
      <when state="acute"      output="é" />
      <when state="circumflex" output="ê" />
      <when state="caron"      output="ě" />
      <when state="breve"      output="ĕ" />
      <when state="tilde"      output="ẽ" />
      <when state="macron"     output="ē" />
      <when state="diaeresis"  output="ë" />
      <when state="cedilla"    output="ȩ" />
      <when state="ogonek"     output="ę" />
      <when state="stroke"     output="ɇ" />
      <when state="abovedot"   output="ė" />
      <when state="currency"   output="€" />
    </action>
    <action id="ad03_E">
      <when state="none"       output="E" />
      <when state="1dk"        output="È" />
      <when state="grave"      output="È" />
      <when state="acute"      output="É" />
      <when state="circumflex" output="Ê" />
      <when state="caron"      output="Ě" />
      <when state="breve"      output="Ĕ" />
      <when state="tilde"      output="Ẽ" />
      <when state="macron"     output="Ē" />
      <when state="diaeresis"  output="Ë" />
      <when state="cedilla"    output="Ȩ" />
      <when state="ogonek"     output="Ę" />
      <when state="stroke"     output="Ɇ" />
      <when state="abovedot"   output="Ė" />
      <when state="currency"   output="₠" />
    </action>
    <action id="ad03_x003e">
      <when state="none"       output="&#x003e;" />
      <when state="tilde"      output="≳" />
      <when state="stroke"     output="≯" />
    </action>
    <action id="ad03_≥">
      <when state="none"       output="≥" />
      <when state="stroke"     output="≱" />
    </action>
    <action id="ad04_r">
      <when state="none"       output="r" />
      <when state="acute"      output="ŕ" />
      <when state="caron"      output="ř" />
      <when state="cedilla"    output="ŗ" />
      <when state="stroke"     output="ɍ" />
      <when state="abovedot"   output="ṙ" />
      <when state="currency"   output="₢" />
    </action>
    <action id="ad04_R">
      <when state="none"       output="R" />
      <when state="acute"      output="Ŕ" />
      <when state="caron"      output="Ř" />
      <when state="cedilla"    output="Ŗ" />
      <when state="stroke"     output="Ɍ" />
      <when state="abovedot"   output="Ṙ" />
      <when state="currency"   output="₨" />
    </action>
    <action id="ad04_$">
      <when state="none"       output="$" />
      <when state="1dk"        output="¢" />
    </action>
    <action id="ad05_t">
      <when state="none"       output="t" />
      <when state="caron"      output="ť" />
      <when state="diaeresis"  output="ẗ" />
      <when state="cedilla"    output="ţ" />
      <when state="belowcomma" output="ț" />
      <when state="stroke"     output="ŧ" />
      <when state="abovedot"   output="ṫ" />
      <when state="currency"   output="৳" />
    </action>
    <action id="ad05_T">
      <when state="none"       output="T" />
      <when state="caron"      output="Ť" />
      <when state="cedilla"    output="Ţ" />
      <when state="belowcomma" output="Ț" />
      <when state="stroke"     output="Ŧ" />
      <when state="abovedot"   output="Ṫ" />
      <when state="currency"   output="₮" />
    </action>
    <action id="ad05_%">
      <when state="none"       output="%" />
      <when state="1dk"        output="‰" />
    </action>
    <action id="ad06_y">
      <when state="none"       output="y" />
      <when state="grave"      output="ỳ" />
      <when state="acute"      output="ý" />
      <when state="circumflex" output="ŷ" />
      <when state="tilde"      output="ỹ" />
      <when state="macron"     output="ȳ" />
      <when state="diaeresis"  output="ÿ" />
      <when state="abovering"  output="ẙ" />
      <when state="stroke"     output="ɏ" />
      <when state="abovedot"   output="ẏ" />
      <when state="currency"   output="¥" />
    </action>
    <action id="ad06_Y">
      <when state="none"       output="Y" />
      <when state="grave"      output="Ỳ" />
      <when state="acute"      output="Ý" />
      <when state="circumflex" output="Ŷ" />
      <when state="tilde"      output="Ỹ" />
      <when state="macron"     output="Ȳ" />
      <when state="diaeresis"  output="Ÿ" />
      <when state="stroke"     output="Ɏ" />
      <when state="abovedot"   output="Ẏ" />
      <when state="currency"   output="円" />
    </action>
    <action id="ad06_@">
      <when state="none"       output="@" />
      <when state="1dk"        output="“" />
    </action>
    <action id="ad07_u">
      <when state="none"       output="u" />
      <when state="1dk"        output="ù" />
      <when state="grave"      output="ù" />
      <when state="acute"      output="ú" />
      <when state="doubleacute" output="ű" />
      <when state="circumflex" output="û" />
      <when state="caron"      output="ǔ" />
      <when state="breve"      output="ŭ" />
      <when state="tilde"      output="ũ" />
      <when state="macron"     output="ū" />
      <when state="diaeresis"  output="ü" />
      <when state="abovering"  output="ů" />
      <when state="ogonek"     output="ų" />
      <when state="stroke"     output="ʉ" />
      <when state="currency"   output="元" />
    </action>
    <action id="ad07_U">
      <when state="none"       output="U" />
      <when state="1dk"        output="Ù" />
      <when state="grave"      output="Ù" />
      <when state="acute"      output="Ú" />
      <when state="doubleacute" output="Ű" />
      <when state="circumflex" output="Û" />
      <when state="caron"      output="Ǔ" />
      <when state="breve"      output="Ŭ" />
      <when state="tilde"      output="Ũ" />
      <when state="macron"     output="Ū" />
      <when state="diaeresis"  output="Ü" />
      <when state="abovering"  output="Ů" />
      <when state="ogonek"     output="Ų" />
      <when state="stroke"     output="Ʉ" />
      <when state="currency"   output="圓" />
    </action>
    <action id="ad08_i">
      <when state="none"       output="i" />
      <when state="1dk"        output="ï" />
      <when state="grave"      output="ì" />
      <when state="acute"      output="í" />
      <when state="circumflex" output="î" />
      <when state="caron"      output="ǐ" />
      <when state="breve"      output="ĭ" />
      <when state="tilde"      output="ĩ" />
      <when state="macron"     output="ī" />
      <when state="diaeresis"  output="ï" />
      <when state="ogonek"     output="į" />
      <when state="stroke"     output="ɨ" />
      <when state="abovedot"   output="ı" />
      <when state="currency"   output="﷼" />
    </action>
    <action id="ad08_I">
      <when state="none"       output="I" />
      <when state="1dk"        output="Ï" />
      <when state="grave"      output="Ì" />
      <when state="acute"      output="Í" />
      <when state="circumflex" output="Î" />
      <when state="caron"      output="Ǐ" />
      <when state="breve"      output="Ĭ" />
      <when state="tilde"      output="Ĩ" />
      <when state="macron"     output="Ī" />
      <when state="diaeresis"  output="Ï" />
      <when state="ogonek"     output="Į" />
      <when state="stroke"     output="Ɨ" />
      <when state="abovedot"   output="İ" />
      <when state="currency"   output="៛" />
    </action>
    <action id="ad09_o">
      <when state="none"       output="o" />
      <when state="1dk"        output="œ" />
      <when state="grave"      output="ò" />
      <when state="acute"      output="ó" />
      <when state="doubleacute" output="ő" />
      <when state="circumflex" output="ô" />
      <when state="caron"      output="ǒ" />
      <when state="breve"      output="ŏ" />
      <when state="tilde"      output="õ" />
      <when state="macron"     output="ō" />
      <when state="diaeresis"  output="ö" />
      <when state="ogonek"     output="ǫ" />
      <when state="stroke"     output="ø" />
      <when state="abovedot"   output="ȯ" />
      <when state="currency"   output="௹" />
    </action>
    <action id="ad09_O">
      <when state="none"       output="O" />
      <when state="1dk"        output="Œ" />
      <when state="grave"      output="Ò" />
      <when state="acute"      output="Ó" />
      <when state="doubleacute" output="Ő" />
      <when state="circumflex" output="Ô" />
      <when state="caron"      output="Ǒ" />
      <when state="breve"      output="Ŏ" />
      <when state="tilde"      output="Õ" />
      <when state="macron"     output="Ō" />
      <when state="diaeresis"  output="Ö" />
      <when state="ogonek"     output="Ǫ" />
      <when state="stroke"     output="Ø" />
      <when state="abovedot"   output="Ȯ" />
      <when state="currency"   output="૱" />
    </action>
    <action id="ad10_p">
      <when state="none"       output="p" />
      <when state="acute"      output="ṕ" />
      <when state="stroke"     output="ᵽ" />
      <when state="abovedot"   output="ṗ" />
      <when state="currency"   output="₰" />
    </action>
    <action id="ad10_P">
      <when state="none"       output="P" />
      <when state="acute"      output="Ṕ" />
      <when state="stroke"     output="Ᵽ" />
      <when state="abovedot"   output="Ṗ" />
      <when state="currency"   output="₧" />
    </action>

    <!-- Letters, second row -->
    <action id="ac01_a">
      <when state="none"       output="a" />
      <when state="1dk"        output="à" />
      <when state="grave"      output="à" />
      <when state="acute"      output="á" />
      <when state="circumflex" output="â" />
      <when state="caron"      output="ǎ" />
      <when state="breve"      output="ă" />
      <when state="tilde"      output="ã" />
      <when state="macron"     output="ā" />
      <when state="diaeresis"  output="ä" />
      <when state="abovering"  output="å" />
      <when state="ogonek"     output="ą" />
      <when state="stroke"     output="ⱥ" />
      <when state="abovedot"   output="ȧ" />
      <when state="currency"   output="؋" />
    </action>
    <action id="ac01_A">
      <when state="none"       output="A" />
      <when state="1dk"        output="À" />
      <when state="grave"      output="À" />
      <when state="acute"      output="Á" />
      <when state="circumflex" output="Â" />
      <when state="caron"      output="Ǎ" />
      <when state="breve"      output="Ă" />
      <when state="tilde"      output="Ã" />
      <when state="macron"     output="Ā" />
      <when state="diaeresis"  output="Ä" />
      <when state="abovering"  output="Å" />
      <when state="ogonek"     output="Ą" />
      <when state="stroke"     output="Ⱥ" />
      <when state="abovedot"   output="Ȧ" />
      <when state="currency"   output="₳" />
    </action>
    <action id="ac02_s">
      <when state="none"       output="s" />
      <when state="1dk"        output="ß" />
      <when state="acute"      output="ś" />
      <when state="circumflex" output="ŝ" />
      <when state="caron"      output="š" />
      <when state="cedilla"    output="ş" />
      <when state="belowcomma" output="ș" />
      <when state="abovedot"   output="ṡ" />
      <when state="currency"   output="₪" />
    </action>
    <action id="ac02_S">
      <when state="none"       output="S" />
      <when state="1dk"        output="ẞ" />
      <when state="acute"      output="Ś" />
      <when state="circumflex" output="Ŝ" />
      <when state="caron"      output="Š" />
      <when state="cedilla"    output="Ş" />
      <when state="belowcomma" output="Ș" />
      <when state="abovedot"   output="Ṡ" />
      <when state="currency"   output="$" />
    </action>
    <action id="ac02_(">
      <when state="none"       output="(" />
      <when state="circumflex" output="⁽" />
      <when state="caron"      output="₍" />
    </action>
    <action id="ac03_d">
      <when state="none"       output="d" />
      <when state="1dk"        output="ê" />
      <when state="caron"      output="ď" />
      <when state="cedilla"    output="ḑ" />
      <when state="stroke"     output="đ" />
      <when state="abovedot"   output="ḋ" />
      <when state="currency"   output="₫" />
    </action>
    <action id="ac03_D">
      <when state="none"       output="D" />
      <when state="1dk"        output="Ê" />
      <when state="caron"      output="Ď" />
      <when state="cedilla"    output="Ḑ" />
      <when state="stroke"     output="Đ" />
      <when state="abovedot"   output="Ḋ" />
      <when state="currency"   output="₯" />
    </action>
    <action id="ac03_)">
      <when state="none"       output=")" />
      <when state="circumflex" output="⁾" />
      <when state="caron"      output="₎" />
    </action>
    <action id="ac04_f">
      <when state="none"       output="f" />
      <when state="1dk"        output="-" />
      <when state="abovedot"   output="ḟ" />
      <when state="currency"   output="ƒ" />
    </action>
    <action id="ac04_F">
      <when state="none"       output="F" />
      <when state="1dk"        output="ª" />
      <when state="abovedot"   output="Ḟ" />
      <when state="currency"   output="₣" />
    </action>
    <action id="ac05_g">
      <when state="none"       output="g" />
      <when state="1dk"        output="–" />
      <when state="acute"      output="ǵ" />
      <when state="circumflex" output="ĝ" />
      <when state="caron"      output="ǧ" />
      <when state="breve"      output="ğ" />
      <when state="macron"     output="ḡ" />
      <when state="cedilla"    output="ģ" />
      <when state="stroke"     output="ǥ" />
      <when state="abovedot"   output="ġ" />
      <when state="currency"   output="₲" />
    </action>
    <action id="ac05_G">
      <when state="none"       output="G" />
      <when state="1dk"        output="–" />
      <when state="acute"      output="Ǵ" />
      <when state="circumflex" output="Ĝ" />
      <when state="caron"      output="Ǧ" />
      <when state="breve"      output="Ğ" />
      <when state="macron"     output="Ḡ" />
      <when state="cedilla"    output="Ģ" />
      <when state="stroke"     output="Ǥ" />
      <when state="abovedot"   output="Ġ" />
      <when state="currency"   output="₲" />
    </action>
    <action id="ac05_=">
      <when state="none"       output="=" />
      <when state="1dk"        output="≠" />
      <when state="circumflex" output="⁼" />
      <when state="caron"      output="₌" />
      <when state="tilde"      output="≃" />
      <when state="stroke"     output="≠" />
    </action>
    <action id="ac06_h">
      <when state="none"       output="h" />
      <when state="1dk"        output="ŷ" />
      <when state="circumflex" output="ĥ" />
      <when state="caron"      output="ȟ" />
      <when state="diaeresis"  output="ḧ" />
      <when state="cedilla"    output="ḩ" />
      <when state="stroke"     output="ħ" />
      <when state="abovedot"   output="ḣ" />
      <when state="currency"   output="₴" />
    </action>
    <action id="ac06_H">
      <when state="none"       output="H" />
      <when state="1dk"        output="Ŷ" />
      <when state="circumflex" output="Ĥ" />
      <when state="caron"      output="Ȟ" />
      <when state="diaeresis"  output="Ḧ" />
      <when state="cedilla"    output="Ḩ" />
      <when state="stroke"     output="Ħ" />
      <when state="abovedot"   output="Ḣ" />
      <when state="currency"   output="₴" />
    </action>
    <action id="ac07_j">
      <when state="none"       output="j" />
      <when state="1dk"        output="û" />
      <when state="circumflex" output="ĵ" />
      <when state="stroke"     output="ɉ" />
      <when state="abovedot"   output="ȷ" />
    </action>
    <action id="ac07_J">
      <when state="none"       output="J" />
      <when state="1dk"        output="Û" />
      <when state="circumflex" output="Ĵ" />
      <when state="stroke"     output="Ɉ" />
    </action>
    <action id="ac07_+">
      <when state="none"       output="+" />
      <when state="1dk"        output="±" />
      <when state="circumflex" output="⁺" />
      <when state="caron"      output="₊" />
    </action>
    <action id="ac08_k">
      <when state="none"       output="k" />
      <when state="1dk"        output="î" />
      <when state="acute"      output="ḱ" />
      <when state="caron"      output="ǩ" />
      <when state="cedilla"    output="ķ" />
      <when state="currency"   output="₭" />
    </action>
    <action id="ac08_K">
      <when state="none"       output="K" />
      <when state="1dk"        output="Î" />
      <when state="acute"      output="Ḱ" />
      <when state="caron"      output="Ǩ" />
      <when state="cedilla"    output="Ķ" />
      <when state="currency"   output="₭" />
    </action>
    <action id="ac08_-">
      <when state="none"       output="-" />
      <when state="1dk"        output="—" />
      <when state="circumflex" output="⁻" />
      <when state="caron"      output="₋" />
    </action>
    <action id="ac09_l">
      <when state="none"       output="l" />
      <when state="1dk"        output="ô" />
      <when state="acute"      output="ĺ" />
      <when state="caron"      output="ľ" />
      <when state="cedilla"    output="ļ" />
      <when state="stroke"     output="ł" />
      <when state="abovedot"   output="ŀ" />
      <when state="currency"   output="£" />
    </action>
    <action id="ac09_L">
      <when state="none"       output="L" />
      <when state="1dk"        output="Ô" />
      <when state="acute"      output="Ĺ" />
      <when state="caron"      output="Ľ" />
      <when state="cedilla"    output="Ļ" />
      <when state="stroke"     output="Ł" />
      <when state="abovedot"   output="Ŀ" />
      <when state="currency"   output="₤" />
    </action>
    <action id="ac09_/">
      <when state="none"       output="/" />
      <when state="1dk"        output="¿" />
    </action>

    <!-- Letters, third row -->
    <action id="ab01_z">
      <when state="none"       output="z" />
      <when state="1dk"        output="â" />
      <when state="acute"      output="ź" />
      <when state="circumflex" output="ẑ" />
      <when state="caron"      output="ž" />
      <when state="stroke"     output="ƶ" />
      <when state="abovedot"   output="ż" />
    </action>
    <action id="ab01_Z">
      <when state="none"       output="Z" />
      <when state="1dk"        output="Â" />
      <when state="acute"      output="Ź" />
      <when state="circumflex" output="Ẑ" />
      <when state="caron"      output="Ž" />
      <when state="stroke"     output="Ƶ" />
      <when state="abovedot"   output="Ż" />
    </action>
    <action id="ab02_x">
      <when state="none"       output="x" />
      <when state="1dk"        output="×" />
      <when state="diaeresis"  output="ẍ" />
      <when state="abovedot"   output="ẋ" />
    </action>
    <action id="ab02_X">
      <when state="none"       output="X" />
      <when state="diaeresis"  output="Ẍ" />
      <when state="abovedot"   output="Ẋ" />
    </action>
    <action id="ab03_c">
      <when state="none"       output="c" />
      <when state="1dk"        output="ç" />
      <when state="acute"      output="ć" />
      <when state="circumflex" output="ĉ" />
      <when state="caron"      output="č" />
      <when state="cedilla"    output="ç" />
      <when state="stroke"     output="ȼ" />
      <when state="abovedot"   output="ċ" />
      <when state="currency"   output="¢" />
    </action>
    <action id="ab03_C">
      <when state="none"       output="C" />
      <when state="1dk"        output="Ç" />
      <when state="acute"      output="Ć" />
      <when state="circumflex" output="Ĉ" />
      <when state="caron"      output="Č" />
      <when state="cedilla"    output="Ç" />
      <when state="stroke"     output="Ȼ" />
      <when state="abovedot"   output="Ċ" />
      <when state="currency"   output="₡" />
    </action>
    <action id="ab04_v">
      <when state="none"       output="v" />
      <when state="1dk"        output="_" />
      <when state="tilde"      output="ṽ" />
    </action>
    <action id="ab04_V">
      <when state="none"       output="V" />
      <when state="1dk"        output="_" />
      <when state="tilde"      output="Ṽ" />
    </action>
    <action id="ab05_b">
      <when state="none"       output="b" />
      <when state="1dk"        output="—" />
      <when state="stroke"     output="ƀ" />
      <when state="abovedot"   output="ḃ" />
      <when state="currency"   output="฿" />
    </action>
    <action id="ab05_B">
      <when state="none"       output="B" />
      <when state="1dk"        output="—" />
      <when state="stroke"     output="Ƀ" />
      <when state="abovedot"   output="Ḃ" />
      <when state="currency"   output="₱" />
    </action>
    <action id="ab05_#">
      <when state="none"       output="#" />
      <when state="1dk"        output="”" />
    </action>
    <action id="ab06_n">
      <when state="none"       output="n" />
      <when state="1dk"        output="ñ" />
      <when state="grave"      output="ǹ" />
      <when state="acute"      output="ń" />
      <when state="caron"      output="ň" />
      <when state="tilde"      output="ñ" />
      <when state="cedilla"    output="ņ" />
      <when state="abovedot"   output="ṅ" />
      <when state="currency"   output="₦" />
    </action>
    <action id="ab06_N">
      <when state="none"       output="N" />
      <when state="1dk"        output="Ñ" />
      <when state="grave"      output="Ǹ" />
      <when state="acute"      output="Ń" />
      <when state="caron"      output="Ň" />
      <when state="tilde"      output="Ñ" />
      <when state="cedilla"    output="Ņ" />
      <when state="abovedot"   output="Ṅ" />
      <when state="currency"   output="₦" />
    </action>
    <action id="ab07_m">
      <when state="none"       output="m" />
      <when state="1dk"        output="µ" />
      <when state="acute"      output="ḿ" />
      <when state="abovedot"   output="ṁ" />
      <when state="currency"   output="₥" />
    </action>
    <action id="ab07_M">
      <when state="none"       output="M" />
      <when state="1dk"        output="º" />
      <when state="acute"      output="Ḿ" />
      <when state="abovedot"   output="Ṁ" />
      <when state="currency"   output="ℳ" />
    </action>
    <action id="ab07_!">
      <when state="none"       output="!" />
      <when state="1dk"        output="„" />
    </action>
    <action id="ab08_,">
      <when state="none"       output="," />
      <when state="1dk"        output="·" />
    </action>
    <action id="ab08_;">
      <when state="none"       output=";" />
      <when state="1dk"        output="•" />
    </action>
    <action id="ab09_.">
      <when state="none"       output="." />
      <when state="1dk"        output="…" />
    </action>
    <action id="ab10_/">
      <when state="none"       output="/" />
      <when state="1dk"        output="¿" />
    </action>
    <action id="ab10_?">
      <when state="none"       output="?" />
      <when state="1dk"        output="÷" />
    </action>

    <!-- Pinky keys -->
    <action id="ae11_-">
      <when state="none"       output="-" />
      <when state="1dk"        output="—" />
      <when state="circumflex" output="⁻" />
      <when state="caron"      output="₋" />
    </action>
    <action id="ae12_=">
      <when state="none"       output="=" />
      <when state="1dk"        output="≠" />
      <when state="circumflex" output="⁼" />
      <when state="caron"      output="₌" />
      <when state="tilde"      output="≃" />
      <when state="stroke"     output="≠" />
    </action>
    <action id="ae12_+">
      <when state="none"       output="+" />
      <when state="1dk"        output="±" />
      <when state="circumflex" output="⁺" />
      <when state="caron"      output="₊" />
    </action>
    <action id="lsgt_x003c">
      <when state="none"       output="&#x003c;" />
      <when state="tilde"      output="≲" />
      <when state="stroke"     output="≮" />
    </action>
    <action id="lsgt_x003e">
      <when state="none"       output="&#x003e;" />
      <when state="tilde"      output="≳" />
      <when state="stroke"     output="≯" />
    </action>

    <!-- Space bar -->
    <action id="spce_x0020">
      <when state="none"       output="&#x0020;" />
      <when state="1dk"        output="’" />
      <when state="grave"      output="`" />
      <when state="acute"      output="'" />
      <when state="doubleacute" output="”" />
      <when state="circumflex" output="^" />
      <when state="caron"      output="ˇ" />
      <when state="breve"      output="˘" />
      <when state="tilde"      output="~" />
      <when state="macron"     output="¯" />
      <when state="diaeresis"  output="&#x0022;" />
      <when state="abovering"  output="˚" />
      <when state="cedilla"    output="¸" />
      <when state="belowcomma" output="," />
      <when state="ogonek"     output="˛" />
      <when state="stroke"     output="/" />
      <when state="abovedot"   output="˙" />
      <when state="currency"   output="¤" />
    </action>
    <action id="spce_x00a0">
      <when state="none"       output="&#x00a0;" />
      <when state="1dk"        output="’" />
      <when state="grave"      output="`" />
      <when state="acute"      output="'" />
      <when state="doubleacute" output="”" />
      <when state="circumflex" output="^" />
      <when state="caron"      output="ˇ" />
      <when state="breve"      output="˘" />
      <when state="tilde"      output="~" />
      <when state="macron"     output="¯" />
      <when state="diaeresis"  output="&#x0022;" />
      <when state="abovering"  output="˚" />
      <when state="cedilla"    output="¸" />
      <when state="belowcomma" output="," />
      <when state="ogonek"     output="˛" />
      <when state="stroke"     output="/" />
      <when state="abovedot"   output="˙" />
      <when state="currency"   output="¤" />
    </action>
    <action id="spce_x202f">
      <when state="none"       output="&#x202f;" />
      <when state="1dk"        output="’" />
      <when state="grave"      output="`" />
      <when state="acute"      output="'" />
      <when state="doubleacute" output="”" />
      <when state="circumflex" output="^" />
      <when state="caron"      output="ˇ" />
      <when state="breve"      output="˘" />
      <when state="tilde"      output="~" />
      <when state="macron"     output="¯" />
      <when state="diaeresis"  output="&#x0022;" />
      <when state="abovering"  output="˚" />
      <when state="cedilla"    output="¸" />
      <when state="belowcomma" output="," />
      <when state="ogonek"     output="˛" />
      <when state="stroke"     output="/" />
      <when state="abovedot"   output="˙" />
      <when state="currency"   output="¤" />
    </action>
  </actions>

  <terminators>
    <when state="1dk"        output="’" />
    <when state="grave"      output="`" />
    <when state="acute"      output="´" />
    <when state="doubleacute" output="˝" />
    <when state="circumflex" output="^" />
    <when state="caron"      output="ˇ" />
    <when state="breve"      output="˘" />
    <when state="tilde"      output="~" />
    <when state="macron"     output="ˉ" />
    <when state="diaeresis"  output="¨" />
    <when state="abovering"  output="˚" />
    <when state="cedilla"    output="¸" />
    <when state="belowcomma" output="," />
    <when state="ogonek"     output="˛" />
    <when state="stroke"     output="/" />
    <when state="abovedot"   output="˙" />
    <when state="currency"   output="¤" />
  </terminators>
</keyboard>
