Skip to Content

in​This​Project ( )

Qwerty Extended Keylayout Code

Posted under The Vosathenik Keyboard Layout at .
Tags:keyboard (typing), software

Characters other than Basic Latin (U+20 through U+7E) are mostly present in raw UTF-8. Some systems may not display them all well. Where it may not be obvious from context what the character is, these are annotated with HTML entity names, or something like their Unicode or IPA names. Control Codes in the U+00–U+1F range, the five XML entities < > " ' &, and U+7F (Delete) are given as XML hex entities, and are also annotated with control code abbreviations or entity names. Where final output characters with diacritics are non-precomposed (i.e. combining diacritics are used) this is also annotated.

(Note: To use this file you should download it rather than copy from this page, as the nonbreaking space character may not be displayed by a web browser. You cannot view it in a web browser directly as it contains non-HTML character entities).

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE keyboard PUBLIC "" "file://localhost/System/Library/DTDs/KeyboardLayout.dtd">

<!--
##### ##### ##### ##### ##### ##### ##### ##### ##### #####

QWERTY-Extended keylayout
based on
VOSATHENIK-Q KEYBOARD LAYOUT - VERSION 0.4.3
modified for use on a QWERTY keyboard
2020-05-18
electropict

##### ##### ##### ##### ##### ##### ##### ##### ##### #####
-->

<keyboard group="0" id="-5005" name="qwex" maxout="1">
   <layouts>
      <layout first="0" last="0" modifiers="mods" mapSet="qwex_map"/>
   </layouts>

   <modifierMap id="mods" defaultIndex="0">
      <keyMapSelect mapIndex="0">
         <!-- no mods | ⌘ -->
         <modifier keys="command?"/>
      </keyMapSelect>
      <keyMapSelect mapIndex="1">
         <!-- ⇧ | ⇧⌘ (change all to upper case) -->
         <modifier keys="anyShift command?"/>
      </keyMapSelect>
      <keyMapSelect mapIndex="2">
         <!-- ⇪ | ⇪⌘ (change only minuscule->majuscule) -->
         <modifier keys="caps command?"/>
      </keyMapSelect>
      <keyMapSelect mapIndex="3">
         <!-- ⇧⇪ | ⇧⇪⌘ (inverts all caps changes) -->
         <modifier keys="anyShift caps command?"/>
      </keyMapSelect>
      <keyMapSelect mapIndex="4">
         <!-- ⌥ | ⌥⌘ (options) -->
         <modifier keys="anyOption command?"/>
      </keyMapSelect>
      <keyMapSelect mapIndex="5">
         <!-- ⌥⇧ | ⌥⇧⌘ (all upper case options) -->
         <modifier keys="anyShift anyOption command?"/>
      </keyMapSelect>
      <keyMapSelect mapIndex="6">
         <!-- ⌥⇪ | ⌥⇪⌘ (change only option minuscule->majuscule) -->
         <modifier keys="caps anyOption command?"/>
      </keyMapSelect>
      <keyMapSelect mapIndex="7">
         <!-- ⌥⇧⇪ | ⌥⇧⇪⌘ (inverts all option-caps) -->
         <modifier keys="anyShift caps anyOption command?"/>
      </keyMapSelect>
      <keyMapSelect mapIndex="8">
         <!-- ⌃ ± any other mods -->
         <modifier keys="anyShift? caps? anyOption? command? anyControl"/>
      </keyMapSelect>
   </modifierMap>


   <keyMapSet id="qwex_map">
      <keyMap index="0"><!-- no mods | ⌘ -->
         <key code="0" action="a"/>
         <key code="1" action="s"/>
         <key code="2" action="d"/>
         <key code="3" action="f"/>
         <key code="4" action="h"/>
         <key code="5" action="g"/>
         <key code="6" action="z"/>
         <key code="7" action="x"/>
         <key code="8" action="c"/>
         <key code="9" action="v"/>
         <key code="10" output="§"/><!-- sect -->
         <key code="11" action="b"/>
         <key code="12" action="q"/>
         <key code="13" action="w"/>
         <key code="14" action="e"/>
         <key code="15" action="r"/>
         <key code="16" action="y"/>
         <key code="17" action="t"/>
         <key code="18" output="1"/>
         <key code="19" output="2"/>
         <key code="20" output="3"/>
         <key code="21" output="4"/>
         <key code="22" output="6"/>
         <key code="23" output="5"/>
         <key code="24" output="="/>
         <key code="25" output="9"/>
         <key code="26" output="7"/>
         <key code="27" output="-"/>
         <key code="28" output="8"/>
         <key code="29" output="0"/>
         <key code="30" output="]"/>
         <key code="31" action="o"/>
         <key code="32" action="u"/>
         <key code="33" output="["/>
         <key code="34" action="i"/>
         <key code="35" action="p"/>
         <key code="36" output="&#x0D;"/><!-- CR -->
         <key code="37" action="l"/>
         <key code="38" action="j"/>
         <key code="39" action="quo"/>
         <key code="40" action="k"/>
         <key code="41" output=";"/>
         <key code="42" output="\"/>
         <key code="43" output=","/>
         <key code="44" output="/"/>
         <key code="45" action="n"/>
         <key code="46" action="m"/>
         <key code="47" output="."/>
         <key code="48" output="&#x09;"/><!-- HT -->
         <key code="49" action="space"/>
         <key code="50" output="`"/>
         <key code="51" output="&#x08;"/><!-- BS -->
         <key code="52" output="&#x03;"/><!-- ETX -->
         <key code="53" output="&#x1B;"/><!-- ESC -->
         <!-- gap 54-63 -->
         <key code="64" output="&#x10;"/><!-- DLE -->
         <key code="65" output="."/><!-- keypad decimal point -->
         <key code="66" output="&#x1D;"/><!-- GS -->
         <key code="67" output="*"/><!-- keypad multiply -->
         <!-- gap 68 -->
         <key code="69" output="+"/><!-- keypad plus -->
         <key code="70" output="&#x1C;"/><!-- FS -->
         <key code="71" output="&#x1B;"/><!-- ESC (keypad clear) -->
         <key code="72" output="&#x1F;"/><!-- US -->
         <!-- gap 73-74 -->
         <key code="75" output="/"/><!-- keypad divide -->
         <key code="76" output="&#x03;"/><!-- ETX -->
         <key code="77" output="&#x1E;"/><!-- RS -->
         <key code="78" output="-"/><!-- keypad minus -->
         <key code="79" output="&#x10;"/><!-- DLE -->
         <key code="80" output="&#x10;"/><!-- DLE -->
         <key code="81" output="="/><!-- keypad equals -->
         <key code="82" output="0"/><!-- keypad 0 -->
         <key code="83" output="1"/><!-- keypad 1 -->
         <key code="84" output="2"/><!-- keypad 2 -->
         <key code="85" output="3"/><!-- keypad 3 -->
         <key code="86" output="4"/><!-- keypad 4 -->
         <key code="87" output="5"/><!-- keypad 5 -->
         <key code="88" output="6"/><!-- keypad 6 -->
         <key code="89" output="7"/><!-- keypad 7 -->
         <!-- gap 90 -->
         <key code="91" output="8"/><!-- keypad 8 -->
         <key code="92" output="9"/><!-- keypad 9 -->
         <!-- gap 93-95 -->
         <key code="96" output="&#x10;"/><!-- DLE (ƒ5) -->
         <key code="97" output="&#x10;"/><!-- DLE (ƒ6) -->
         <key code="98" output="&#x10;"/><!-- DLE (ƒ7) -->
         <key code="99" output="&#x10;"/><!-- DLE (ƒ3) -->
         <key code="100" output="&#x10;"/><!-- DLE -->
         <key code="101" output="&#x10;"/><!-- DLE -->
         <key code="102" output="&#x10;"/><!-- DLE -->
         <key code="103" output="&#x10;"/><!-- DLE -->
         <key code="104" output="&#x10;"/><!-- DLE -->
         <key code="105" output="&#x10;"/><!-- DLE -->
         <key code="106" output="&#x10;"/><!-- DLE -->
         <key code="107" output="&#x10;"/><!-- DLE -->
         <key code="108" output="&#x10;"/><!-- DLE -->
         <key code="109" output="&#x10;"/><!-- DLE -->
         <key code="110" output="&#x10;"/><!-- DLE -->
         <key code="111" output="&#x10;"/><!-- DLE -->
         <key code="112" output="&#x10;"/><!-- DLE -->
         <key code="113" output="&#x10;"/><!-- DLE -->
         <key code="114" output="&#x05;"/><!-- ENQ -->
         <key code="115" output="&#x01;"/><!-- SOH (home) -->
         <key code="116" output="&#x0B;"/><!-- VT (page up) -->
         <key code="117" output="&#x7F;"/><!-- DEL -->
         <key code="118" output="&#x10;"/><!-- DLE (ƒ4) -->
         <key code="119" output="&#x04;"/><!-- EOT (end) -->
         <key code="120" output="&#x10;"/><!-- DLE (ƒ2) -->
         <key code="121" output="&#x0C;"/><!-- FF (page down) -->
         <key code="122" output="&#x10;"/><!-- DLE (ƒ1) -->
         <key code="123" output="&#x1C;"/><!-- FS (left) -->
         <key code="124" output="&#x1D;"/><!-- GS (right) -->
         <key code="125" output="&#x1F;"/><!-- US (down) -->
         <key code="126" output="&#x1E;"/><!-- RS (up) -->
         <!-- gap 127 -->
      </keyMap>
      <keyMap index="1"><!-- ⇧ | ⇧⌘ -->
         <key code="0" action="A"/>
         <key code="1" action="S"/>
         <key code="2" action="D"/>
         <key code="3" action="F"/>
         <key code="4" action="H"/>
         <key code="5" action="G"/>
         <key code="6" action="Z"/>
         <key code="7" action="X"/>
         <key code="8" action="C"/>
         <key code="9" action="V"/>
         <key code="10" output="±"/><!-- plusmn -->
         <key code="11" action="B"/>
         <key code="12" action="Q"/>
         <key code="13" action="W"/>
         <key code="14" action="E"/>
         <key code="15" action="R"/>
         <key code="16" action="Y"/>
         <key code="17" action="T"/>
         <key code="18" output="!"/>
         <key code="19" output="@"/>
         <key code="20" output="£"/><!-- pound -->
         <key code="21" output="$"/>
         <key code="22" output="^"/>
         <key code="23" output="%"/>
         <key code="24" output="+"/>
         <key code="25" output="("/>
         <key code="26" output="&#x26;"/><!-- amp -->
         <key code="27" output="_"/>
         <key code="28" output="*"/>
         <key code="29" output=")"/>
         <key code="30" output="}"/>
         <key code="31" action="O"/>
         <key code="32" action="U"/>
         <key code="33" output="{"/>
         <key code="34" action="I"/>
         <key code="35" action="P"/>
         <key code="36" output="&#x0D;"/><!-- CR -->
         <key code="37" action="L"/>
         <key code="38" action="J"/>
         <key code="39" action="dquo"/>
         <key code="40" action="K"/>
         <key code="41" output=":"/>
         <key code="42" output="|"/>
         <key code="43" output="&#x3C;"/><!-- lt -->
         <key code="44" output="?"/>
         <key code="45" action="N"/>
         <key code="46" action="M"/>
         <key code="47" output="&#x3E;"/><!-- gt -->
         <key code="48" output="&#x09;"/><!-- HT -->
         <key code="49" action="space"/>
         <key code="50" output="~"/>
         <key code="51" output="&#x08;"/><!-- BS -->
         <key code="52" output="&#x03;"/><!-- EOT -->
         <key code="53" output="&#x1B;"/><!-- ESC -->
         <!-- gap 54-63 -->
         <key code="64" output="&#x10;"/><!-- DLE -->
         <key code="65" output="."/><!-- keypad decimal point -->
         <key code="66" output="&#x1D;"/><!-- GS -->
         <key code="67" output="*"/><!-- keypad multiply -->
         <!-- gap 68 -->
         <key code="69" output="+"/><!-- keypad plus -->
         <key code="70" output="&#x1C;"/><!-- FS -->
         <key code="71" output="&#x1B;"/><!-- ESC (keypad clear) -->
         <key code="72" output="&#x1F;"/><!-- US -->
         <!-- gap 73-74 -->
         <key code="75" output="/"/><!-- keypad divide -->
         <key code="76" output="&#x03;"/><!-- ETX -->
         <key code="77" output="&#x1E;"/><!-- RS -->
         <key code="78" output="-"/><!-- keypad minus -->
         <key code="79" output="&#x10;"/><!-- DLE -->
         <key code="80" output="&#x10;"/><!-- DLE -->
         <key code="81" output="="/><!-- keypad equals -->
         <key code="82" output="0"/><!-- keypad 0 -->
         <key code="83" output="1"/><!-- keypad 1 -->
         <key code="84" output="2"/><!-- keypad 2 -->
         <key code="85" output="3"/><!-- keypad 3 -->
         <key code="86" output="4"/><!-- keypad 4 -->
         <key code="87" output="5"/><!-- keypad 5 -->
         <key code="88" output="6"/><!-- keypad 6 -->
         <key code="89" output="7"/><!-- keypad 7 -->
         <!-- gap 90 -->
         <key code="91" output="8"/><!-- keypad 8 -->
         <key code="92" output="9"/><!-- keypad 9 -->
         <!-- gap 93-95 -->
         <key code="96" output="&#x10;"/><!-- DLE (ƒ5) -->
         <key code="97" output="&#x10;"/><!-- DLE (ƒ6) -->
         <key code="98" output="&#x10;"/><!-- DLE (ƒ7) -->
         <key code="99" output="&#x10;"/><!-- DLE (ƒ3) -->
         <key code="100" output="&#x10;"/><!-- DLE -->
         <key code="101" output="&#x10;"/><!-- DLE -->
         <key code="102" output="&#x10;"/><!-- DLE -->
         <key code="103" output="&#x10;"/><!-- DLE -->
         <key code="104" output="&#x10;"/><!-- DLE -->
         <key code="105" output="&#x10;"/><!-- DLE -->
         <key code="106" output="&#x10;"/><!-- DLE -->
         <key code="107" output="&#x10;"/><!-- DLE -->
         <key code="108" output="&#x10;"/><!-- DLE -->
         <key code="109" output="&#x10;"/><!-- DLE -->
         <key code="110" output="&#x10;"/><!-- DLE -->
         <key code="111" output="&#x10;"/><!-- DLE -->
         <key code="112" output="&#x10;"/><!-- DLE -->
         <key code="113" output="&#x10;"/><!-- DLE -->
         <key code="114" output="&#x05;"/><!-- ENQ -->
         <key code="115" output="&#x01;"/><!-- SOH (home) -->
         <key code="116" output="&#x0B;"/><!-- VT (page up) -->
         <key code="117" output="&#x7F;"/><!-- DEL -->
         <key code="118" output="&#x10;"/><!-- DLE (ƒ4) -->
         <key code="119" output="&#x04;"/><!-- EOT (end) -->
         <key code="120" output="&#x10;"/><!-- DLE (ƒ2) -->
         <key code="121" output="&#x0C;"/><!-- FF (page down) -->
         <key code="122" output="&#x10;"/><!-- DLE (ƒ1) -->
         <key code="123" output="&#x1C;"/><!-- FS (left) -->
         <key code="124" output="&#x1D;"/><!-- GS (right) -->
         <key code="125" output="&#x1F;"/><!-- US (down) -->
         <key code="126" output="&#x1E;"/><!-- RS (up) -->
         <!-- gap 127 -->
      </keyMap>
      <keyMap index="2"><!-- ⇪ | ⇪⌘ -->
         <key code="0" action="A"/>
         <key code="1" action="S"/>
         <key code="2" action="D"/>
         <key code="3" action="F"/>
         <key code="4" action="H"/>
         <key code="5" action="G"/>
         <key code="6" action="Z"/>
         <key code="7" action="X"/>
         <key code="8" action="C"/>
         <key code="9" action="V"/>
         <key code="10" output="§"/><!-- sect -->
         <key code="11" action="B"/>
         <key code="12" action="Q"/>
         <key code="13" action="W"/>
         <key code="14" action="E"/>
         <key code="15" action="R"/>
         <key code="16" action="Y"/>
         <key code="17" action="T"/>
         <key code="18" output="1"/>
         <key code="19" output="2"/>
         <key code="20" output="3"/>
         <key code="21" output="4"/>
         <key code="22" output="6"/>
         <key code="23" output="5"/>
         <key code="24" output="="/>
         <key code="25" output="9"/>
         <key code="26" output="7"/>
         <key code="27" output="-"/>
         <key code="28" output="8"/>
         <key code="29" output="0"/>
         <key code="30" output="]"/>
         <key code="31" action="O"/>
         <key code="32" action="U"/>
         <key code="33" output="["/>
         <key code="34" action="I"/>
         <key code="35" action="P"/>
         <key code="36" output="&#x0D;"/><!-- CR -->
         <key code="37" action="L"/>
         <key code="38" action="J"/>
         <key code="39" action="quo"/>
         <key code="40" action="K"/>
         <key code="41" output=";"/>
         <key code="42" output="\"/>
         <key code="43" output=","/>
         <key code="44" output="/"/>
         <key code="45" action="N"/>
         <key code="46" action="M"/>
         <key code="47" output="."/>
         <key code="48" output="&#x09;"/><!-- HT -->
         <key code="49" action="space"/>
         <key code="50" output="`"/>
         <key code="51" output="&#x08;"/><!-- BS -->
         <key code="52" output="&#x03;"/><!-- ETX -->
         <key code="53" output="&#x1B;"/><!-- ESC -->
         <!-- gap 54-63 -->
         <key code="64" output="&#x10;"/><!-- DLE -->
         <key code="65" output="."/><!-- keypad decimal point -->
         <key code="66" output="&#x1D;"/><!-- GS -->
         <key code="67" output="*"/><!-- keypad multiply -->
         <!-- gap 68 -->
         <key code="69" output="+"/><!-- keypad plus -->
         <key code="70" output="&#x1C;"/><!-- FS -->
         <key code="71" output="&#x1B;"/><!-- ESC (keypad clear) -->
         <key code="72" output="&#x1F;"/><!-- US -->
         <!-- gap 73-74 -->
         <key code="75" output="/"/><!-- keypad divide -->
         <key code="76" output="&#x03;"/><!-- ETX -->
         <key code="77" output="&#x1E;"/><!-- RS -->
         <key code="78" output="-"/><!-- keypad minus -->
         <key code="79" output="&#x10;"/><!-- DLE -->
         <key code="80" output="&#x10;"/><!-- DLE -->
         <key code="81" output="="/><!-- keypad equals -->
         <key code="82" output="0"/><!-- keypad 0 -->
         <key code="83" output="1"/><!-- keypad 1 -->
         <key code="84" output="2"/><!-- keypad 2 -->
         <key code="85" output="3"/><!-- keypad 3 -->
         <key code="86" output="4"/><!-- keypad 4 -->
         <key code="87" output="5"/><!-- keypad 5 -->
         <key code="88" output="6"/><!-- keypad 6 -->
         <key code="89" output="7"/><!-- keypad 7 -->
         <!-- gap 90 -->
         <key code="91" output="8"/><!-- keypad 8 -->
         <key code="92" output="9"/><!-- keypad 9 -->
         <!-- gap 93-95 -->
         <key code="96" output="&#x10;"/><!-- DLE (ƒ5) -->
         <key code="97" output="&#x10;"/><!-- DLE (ƒ6) -->
         <key code="98" output="&#x10;"/><!-- DLE (ƒ7) -->
         <key code="99" output="&#x10;"/><!-- DLE (ƒ3) -->
         <key code="100" output="&#x10;"/><!-- DLE -->
         <key code="101" output="&#x10;"/><!-- DLE -->
         <key code="102" output="&#x10;"/><!-- DLE -->
         <key code="103" output="&#x10;"/><!-- DLE -->
         <key code="104" output="&#x10;"/><!-- DLE -->
         <key code="105" output="&#x10;"/><!-- DLE -->
         <key code="106" output="&#x10;"/><!-- DLE -->
         <key code="107" output="&#x10;"/><!-- DLE -->
         <key code="108" output="&#x10;"/><!-- DLE -->
         <key code="109" output="&#x10;"/><!-- DLE -->
         <key code="110" output="&#x10;"/><!-- DLE -->
         <key code="111" output="&#x10;"/><!-- DLE -->
         <key code="112" output="&#x10;"/><!-- DLE -->
         <key code="113" output="&#x10;"/><!-- DLE -->
         <key code="114" output="&#x05;"/><!-- ENQ -->
         <key code="115" output="&#x01;"/><!-- SOH (home) -->
         <key code="116" output="&#x0B;"/><!-- VT (page up) -->
         <key code="117" output="&#x7F;"/><!-- DEL -->
         <key code="118" output="&#x10;"/><!-- DLE (ƒ4) -->
         <key code="119" output="&#x04;"/><!-- EOT (end) -->
         <key code="120" output="&#x10;"/><!-- DLE (ƒ2) -->
         <key code="121" output="&#x0C;"/><!-- FF (page down) -->
         <key code="122" output="&#x10;"/><!-- DLE (ƒ1) -->
         <key code="123" output="&#x1C;"/><!-- FS (left) -->
         <key code="124" output="&#x1D;"/><!-- GS (right) -->
         <key code="125" output="&#x1F;"/><!-- US (down) -->
         <key code="126" output="&#x1E;"/><!-- RS (up) -->
         <!-- gap 127 -->
      </keyMap>
      <keyMap index="3"><!-- ⇧⇪ | ⇧⇪⌘ -->
         <key code="0" action="a"/>
         <key code="1" action="s"/>
         <key code="2" action="d"/>
         <key code="3" action="f"/>
         <key code="4" action="h"/>
         <key code="5" action="g"/>
         <key code="6" action="z"/>
         <key code="7" action="x"/>
         <key code="8" action="c"/>
         <key code="9" action="v"/>
         <key code="10" output="±"/><!-- plusmn -->
         <key code="11" output="b"/>
         <key code="12" action="q"/>
         <key code="13" action="w"/>
         <key code="14" action="e"/>
         <key code="15" action="r"/>
         <key code="16" action="y"/>
         <key code="17" action="t"/>
         <key code="18" output="!"/>
         <key code="19" output="@"/>
         <key code="20" output="£"/><!-- pound -->
         <key code="21" output="$"/>
         <key code="22" output="^"/>
         <key code="23" output="%"/>
         <key code="24" output="+"/>
         <key code="25" output="("/>
         <key code="26" output="&#x26;"/><!-- amp -->
         <key code="27" output="_"/>
         <key code="28" output="*"/>
         <key code="29" output=")"/>
         <key code="30" output="}"/>
         <key code="31" action="o"/>
         <key code="32" action="u"/>
         <key code="33" output="{"/>
         <key code="34" action="i"/>
         <key code="35" action="p"/>
         <key code="36" output="&#x0D;"/><!-- CR -->
         <key code="37" action="l"/>
         <key code="38" action="j"/>
         <key code="39" action="dquo"/>
         <key code="40" action="k"/>
         <key code="41" output=":"/>
         <key code="42" output="|"/>
         <key code="43" output="&#x3C;"/><!-- lt -->
         <key code="44" output="?"/>
         <key code="45" action="n"/>
         <key code="46" action="m"/>
         <key code="47" output="&#x3E;"/><!-- gt -->
         <key code="48" output="&#x09;"/><!-- HT -->
         <key code="49" action="space"/>
         <key code="50" output="~"/>
         <key code="51" output="&#x08;"/><!-- BS -->
         <key code="52" output="&#x03;"/><!-- ETX -->
         <key code="53" output="&#x1B;"/><!-- ESC -->
         <!-- gap 54-63 -->
         <key code="64" output="&#x10;"/><!-- DLE -->
         <key code="65" output="."/><!-- keypad decimal point -->
         <key code="66" output="&#x1D;"/><!-- GS -->
         <key code="67" output="*"/><!-- keypad multiply -->
         <!-- gap 68 -->
         <key code="69" output="+"/><!-- keypad plus -->
         <key code="70" output="&#x1C;"/><!-- FS -->
         <key code="71" output="&#x1B;"/><!-- ESC (keypad clear) -->
         <key code="72" output="&#x1F;"/><!-- US -->
         <!-- gap 73-74 -->
         <key code="75" output="/"/><!-- keypad divide -->
         <key code="76" output="&#x03;"/><!-- ETX -->
         <key code="77" output="&#x1E;"/><!-- RS -->
         <key code="78" output="-"/><!-- keypad minus -->
         <key code="79" output="&#x10;"/><!-- DLE -->
         <key code="80" output="&#x10;"/><!-- DLE -->
         <key code="81" output="="/><!-- keypad equals -->
         <key code="82" output="0"/><!-- keypad 0 -->
         <key code="83" output="1"/><!-- keypad 1 -->
         <key code="84" output="2"/><!-- keypad 2 -->
         <key code="85" output="3"/><!-- keypad 3 -->
         <key code="86" output="4"/><!-- keypad 4 -->
         <key code="87" output="5"/><!-- keypad 5 -->
         <key code="88" output="6"/><!-- keypad 6 -->
         <key code="89" output="7"/><!-- keypad 7 -->
         <!-- gap 90 -->
         <key code="91" output="8"/><!-- keypad 8 -->
         <key code="92" output="9"/><!-- keypad 9 -->
         <!-- gap 93-95 -->
         <key code="96" output="&#x10;"/><!-- DLE (ƒ5) -->
         <key code="97" output="&#x10;"/><!-- DLE (ƒ6) -->
         <key code="98" output="&#x10;"/><!-- DLE (ƒ7) -->
         <key code="99" output="&#x10;"/><!-- DLE (ƒ3) -->
         <key code="100" output="&#x10;"/><!-- DLE -->
         <key code="101" output="&#x10;"/><!-- DLE -->
         <key code="102" output="&#x10;"/><!-- DLE -->
         <key code="103" output="&#x10;"/><!-- DLE -->
         <key code="104" output="&#x10;"/><!-- DLE -->
         <key code="105" output="&#x10;"/><!-- DLE -->
         <key code="106" output="&#x10;"/><!-- DLE -->
         <key code="107" output="&#x10;"/><!-- DLE -->
         <key code="108" output="&#x10;"/><!-- DLE -->
         <key code="109" output="&#x10;"/><!-- DLE -->
         <key code="110" output="&#x10;"/><!-- DLE -->
         <key code="111" output="&#x10;"/><!-- DLE -->
         <key code="112" output="&#x10;"/><!-- DLE -->
         <key code="113" output="&#x10;"/><!-- DLE -->
         <key code="114" output="&#x05;"/><!-- ENQ -->
         <key code="115" output="&#x01;"/><!-- SOH (home) -->
         <key code="116" output="&#x0B;"/><!-- VT (page up) -->
         <key code="117" output="&#x7F;"/><!-- DEL -->
         <key code="118" output="&#x10;"/><!-- DLE (ƒ4) -->
         <key code="119" output="&#x04;"/><!-- EOT (end) -->
         <key code="120" output="&#x10;"/><!-- DLE (ƒ2) -->
         <key code="121" output="&#x0C;"/><!-- FF (page down) -->
         <key code="122" output="&#x10;"/><!-- DLE (ƒ1) -->
         <key code="123" output="&#x1C;"/><!-- FS (left) -->
         <key code="124" output="&#x1D;"/><!-- GS (right) -->
         <key code="125" output="&#x1F;"/><!-- US (down) -->
         <key code="126" output="&#x1E;"/><!-- RS (up) -->
         <!-- gap 127 -->
      </keyMap>
      <keyMap index="4"><!-- ⌥ | ⌥⌘ -->
         <key code="0" action="aring"/>
         <key code="1" action="longs"/>
         <key code="2" output="ð"/><!-- eth -->
         <key code="3" output="ƒ"/><!-- fnof -->
         <key code="4" output=""/><!-- hunderdot -->
         <key code="5" output="©"/><!-- copy -->
         <key code="6" output="Ω"/><!-- Omega -->
         <key code="7" output="¬"/><!-- not -->
         <key code="8" action="cced"/>
         <key code="9" action="caron"/>
         <key code="10" output=""/><!-- dagger -->
         <key code="11" output=""/><!-- part -->
         <key code="12" action="oslash"/>
         <key code="13" action="aelig"/>
         <key code="14" action="acute"/>
         <key code="15" output="ɾ"/><!-- ipa alveolar tap -->
         <key code="16" output="¥"/><!-- yen -->
         <key code="17" output="þ"/><!-- thorn -->
         <key code="18" output="¡"/><!-- iexcl -->
         <key code="19" output=""/><!-- euro -->
         <key code="20" output="#"/>
         <key code="21" output="¢"/><!-- cent -->
         <key code="22" action="tau"/>
         <key code="23" output=""/><!-- permil -->
         <key code="24" output=""/><!-- ne -->
         <key code="25" output="ª"/><!-- ordf -->
         <key code="26" output=""/><!-- et -->
         <key code="27" output=""/><!-- ndash -->
         <key code="28" output=""/><!-- bull -->
         <key code="29" output="º"/><!-- ordm -->
         <key code="30" output=""/><!-- rsquo -->
         <key code="31" output="œ"/><!-- oelig -->
         <key code="32" action="umlaut"/>
         <key code="33" output=""/><!-- lsquo -->
         <key code="34" output="ı"/><!-- dotless i -->
         <key code="35" output="π"/><!-- pi -->
         <key code="36" output="&#x0D;"/><!-- CR -->
         <key code="37" output="ł"/><!-- lstroke -->
         <key code="38" output="ȷ"/><!-- dotless j -->
         <key code="39" output=""/><!-- apostrophe -->
         <key code="40" output="˚"/><!-- ring -->
         <key code="41" output=""/><!-- sbquo -->
         <key code="42" output=""/><!-- prime -->
         <key code="43" output="ʻ"/><!-- turned comma -->
         <key code="44" output="÷"/><!-- divide -->
         <key code="45" action="macron"/>
         <key code="46" action="tilde"/>
         <key code="47" output="·"/><!-- middot -->
         <key code="48" output="&#x09;"/><!-- HT -->
         <key code="49" output=" "/><!-- nbsp -->
         <key code="50" action="grave"/>
         <key code="51" output="&#x08;"/><!-- BS -->
         <key code="52" output="&#x03;"/><!-- ETX -->
         <key code="53" output="&#x1B;"/><!-- ESC -->
         <!-- gap 54-63 -->
         <key code="64" output="&#x10;"/><!-- DLE -->
         <key code="65" output="."/><!-- keypad decimal point -->
         <key code="66" output="&#x1D;"/><!-- GS -->
         <key code="67" output="*"/><!-- keypad multiply -->
         <!-- gap 68 -->
         <key code="69" output="+"/><!-- keypad plus -->
         <key code="70" output="&#x1C;"/><!-- FS -->
         <key code="71" output="&#x1B;"/><!-- ESC (keypad clear) -->
         <key code="72" output="&#x1F;"/><!-- US -->
         <!-- gap 73-74 -->
         <key code="75" output="/"/><!-- keypad divide -->
         <key code="76" output="&#x03;"/><!-- ETX -->
         <key code="77" output="&#x1E;"/><!-- RS -->
         <key code="78" output="-"/><!-- keypad minus -->
         <key code="79" output="&#x10;"/><!-- DLE -->
         <key code="80" output="&#x10;"/><!-- DLE -->
         <key code="81" output="="/><!-- keypad equals -->
         <key code="82" output="0"/><!-- keypad 0 -->
         <key code="83" output="1"/><!-- keypad 1 -->
         <key code="84" output="2"/><!-- keypad 2 -->
         <key code="85" output="3"/><!-- keypad 3 -->
         <key code="86" output="4"/><!-- keypad 4 -->
         <key code="87" output="5"/><!-- keypad 5 -->
         <key code="88" output="6"/><!-- keypad 6 -->
         <key code="89" output="7"/><!-- keypad 7 -->
         <!-- gap 90 -->
         <key code="91" output="8"/><!-- keypad 8 -->
         <key code="92" output="9"/><!-- keypad 9 -->
         <!-- gap 93-95 -->
         <key code="96" output="&#x10;"/><!-- DLE (ƒ5) -->
         <key code="97" output="&#x10;"/><!-- DLE (ƒ6) -->
         <key code="98" output="&#x10;"/><!-- DLE (ƒ7) -->
         <key code="99" output="&#x10;"/><!-- DLE (ƒ3) -->
         <key code="100" output="&#x10;"/><!-- DLE -->
         <key code="101" output="&#x10;"/><!-- DLE -->
         <key code="102" output="&#x10;"/><!-- DLE -->
         <key code="103" output="&#x10;"/><!-- DLE -->
         <key code="104" output="&#x10;"/><!-- DLE -->
         <key code="105" output="&#x10;"/><!-- DLE -->
         <key code="106" output="&#x10;"/><!-- DLE -->
         <key code="107" output="&#x10;"/><!-- DLE -->
         <key code="108" output="&#x10;"/><!-- DLE -->
         <key code="109" output="&#x10;"/><!-- DLE -->
         <key code="110" output="&#x10;"/><!-- DLE -->
         <key code="111" output="&#x10;"/><!-- DLE -->
         <key code="112" output="&#x10;"/><!-- DLE -->
         <key code="113" output="&#x10;"/><!-- DLE -->
         <key code="114" output="&#x05;"/><!-- ENQ -->
         <key code="115" output="&#x01;"/><!-- SOH (home) -->
         <key code="116" output="&#x0B;"/><!-- VT (page up) -->
         <key code="117" output="&#x7F;"/><!-- DEL -->
         <key code="118" output="&#x10;"/><!-- DLE (ƒ4) -->
         <key code="119" output="&#x04;"/><!-- EOT (end) -->
         <key code="120" output="&#x10;"/><!-- DLE (ƒ2) -->
         <key code="121" output="&#x0C;"/><!-- FF (page down) -->
         <key code="122" output="&#x10;"/><!-- DLE (ƒ1) -->
         <key code="123" output="&#x1C;"/><!-- FS (left) -->
         <key code="124" output="&#x1D;"/><!-- GS (right) -->
         <key code="125" output="&#x1F;"/><!-- US (down) -->
         <key code="126" output="&#x1E;"/><!-- RS (up) -->
         <!-- gap 127 -->
      </keyMap>
      <keyMap index="5"><!-- ⌥⇧ | ⌥⇧⌘ -->
         <key code="0" action="Aring"/>
         <key code="1" output="ß"/><!-- szlig -->
         <key code="2" output="Ð"/><!-- Eth -->
         <key code="3" output=""/><!-- left mab -->
         <key code="4" output=""/><!-- Hunderdot -->
         <key code="5" output=""/><!-- right mab -->
         <key code="6" output="ʃ"/><!-- esh -->
         <key code="7" output="×"/><!-- times -->
         <key code="8" action="Cced"/>
         <key code="9" output=""/><!-- radic -->
         <key code="10" output=""/><!-- Dagger -->
         <key code="11" output="ŋ"/><!-- eng -->
         <key code="12" action="Oslash"/>
         <key code="13" action="AElig"/>
         <key code="14" action="dacute"/>
         <key code="15" output="®"/><!-- reg -->
         <key code="16" output=""/><!-- there4 -->
         <key code="17" output="Þ"/><!-- Thorn -->
         <key code="18" output=""/><!-- frasl -->
         <key code="19" output="θ"/><!-- theta -->
         <key code="20" output=""/><!-- lsaquo -->
         <key code="21" output=""/><!-- rsaquo -->
         <key code="22" output=""/><!-- fllig -->
         <key code="23" output=""/><!-- filig -->
         <key code="24" output=""/><!-- almost equal -->
         <key code="25" output="«"/><!-- ldaquo -->
         <key code="26" output=""/><!-- infin -->
         <key code="27" output=""/><!-- mdash -->
         <key code="28" output="°"/><!-- deg -->
         <key code="29" output="»"/><!-- rdaquo -->
         <key code="30" output=""/><!-- rdquo -->
         <key code="31" output="Œ"/><!-- OElig -->
         <key code="32" action="odot"/>
         <key code="33" output=""/><!-- ldquo -->
         <key code="34" output="İ"/><!-- Idot -->
         <key code="35" output=""/><!-- increment -->
         <key code="36" output="&#x0D;"/><!-- CR -->
         <key code="37" output="Ł"/><!-- Lstroke -->
         <key code="38" output=""/><!-- minuscule insular g -->
         <key code="39" output="ˮ"/><!-- double-apostrophe -->
         <key code="40" output=""/><!-- sum -->
         <key code="41" output=""/><!-- bdquo -->
         <key code="42" output=""/><!-- Prime -->
         <key code="43" output=""/><!-- le -->
         <key code="44" output="¿"/><!-- iquest -->
         <key code="45" output="¯"/><!-- macr -->
         <key code="46" output="µ"/><!-- micro -->
         <key code="47" output=""/><!-- ge -->
         <key code="48" output="&#x09;"/><!-- HT -->
         <key code="49" output=" "/><!-- nbsp -->
         <key code="50" action="dgrave"/>
         <key code="51" output="&#x08;"/><!-- BS -->
         <key code="52" output="&#x03;"/><!-- ETX -->
         <key code="53" output="&#x1B;"/><!-- ESC -->
         <!-- gap 54-63 -->
         <key code="64" output="&#x10;"/><!-- DLE -->
         <key code="65" output="."/><!-- keypad decimal point -->
         <key code="66" output="&#x1D;"/><!-- CR -->
         <key code="67" output="*"/><!-- keypad multiply -->
         <!-- gap 68 -->
         <key code="69" output="+"/><!-- keypad plus -->
         <key code="70" output="&#x1C;"/><!-- FS -->
         <key code="71" output="&#x1B;"/><!-- ESC (keypad clear) -->
         <key code="72" output="&#x1F;"/><!-- US -->
         <!-- gap 73-74 -->
         <key code="75" output="/"/><!-- keypad divide -->
         <key code="76" output="&#x03;"/><!-- ETX -->
         <key code="77" output="&#x1E;"/><!-- RS -->
         <key code="78" output="-"/><!-- keypad minus -->
         <key code="79" output="&#x10;"/><!-- DLE -->
         <key code="80" output="&#x10;"/><!-- DLE -->
         <key code="81" output="="/><!-- keypad equals -->
         <key code="82" output="0"/><!-- keypad 0 -->
         <key code="83" output="1"/><!-- keypad 1 -->
         <key code="84" output="2"/><!-- keypad 2 -->
         <key code="85" output="3"/><!-- keypad 3 -->
         <key code="86" output="4"/><!-- keypad 4 -->
         <key code="87" output="5"/><!-- keypad 5 -->
         <key code="88" output="6"/><!-- keypad 6 -->
         <key code="89" output="7"/><!-- keypad 7 -->
         <!-- gap 90 -->
         <key code="91" output="8"/><!-- keypad 8 -->
         <key code="92" output="9"/><!-- keypad 9 -->
         <!-- gap 93-95 -->
         <key code="96" output="&#x10;"/><!-- DLE (ƒ5) -->
         <key code="97" output="&#x10;"/><!-- DLE (ƒ6) -->
         <key code="98" output="&#x10;"/><!-- DLE (ƒ7) -->
         <key code="99" output="&#x10;"/><!-- DLE (ƒ3) -->
         <key code="100" output="&#x10;"/><!-- DLE -->
         <key code="101" output="&#x10;"/><!-- DLE -->
         <key code="102" output="&#x10;"/><!-- DLE -->
         <key code="103" output="&#x10;"/><!-- DLE -->
         <key code="104" output="&#x10;"/><!-- DLE -->
         <key code="105" output="&#x10;"/><!-- DLE -->
         <key code="106" output="&#x10;"/><!-- DLE -->
         <key code="107" output="&#x10;"/><!-- DLE -->
         <key code="108" output="&#x10;"/><!-- DLE -->
         <key code="109" output="&#x10;"/><!-- DLE -->
         <key code="110" output="&#x10;"/><!-- DLE -->
         <key code="111" output="&#x10;"/><!-- DLE -->
         <key code="112" output="&#x10;"/><!-- DLE -->
         <key code="113" output="&#x10;"/><!-- DLE -->
         <key code="114" output="&#x05;"/><!-- ENQ -->
         <key code="115" output="&#x01;"/><!-- SOH (home) -->
         <key code="116" output="&#x0B;"/><!-- VT (page up) -->
         <key code="117" output="&#x7F;"/><!-- DEL -->
         <key code="118" output="&#x10;"/><!-- DLE (ƒ4) -->
         <key code="119" output="&#x04;"/><!-- EOT (end) -->
         <key code="120" output="&#x10;"/><!-- DLE (ƒ2) -->
         <key code="121" output="&#x0C;"/><!-- FF (page down) -->
         <key code="122" output="&#x10;"/><!-- DLE (ƒ1) -->
         <key code="123" output="&#x1C;"/><!-- FS (left) -->
         <key code="124" output="&#x1D;"/><!-- GS (right) -->
         <key code="125" output="&#x1F;"/><!-- US (down) -->
         <key code="126" output="&#x1E;"/><!-- RS (up) -->
         <!-- gap 127 -->
      </keyMap>
      <keyMap index="6"><!-- ⌥⇪ | ⌥⌘⇪ -->
         <key code="0" action="Aring"/>
         <key code="1" action="longs"/>
         <key code="2" output="Ð"/><!-- Eth -->
         <key code="3" output="ƒ"/><!-- fnof -->
         <key code="4" output=""/><!-- Hunderdot -->
         <key code="5" output="©"/><!-- copy -->
         <key code="6" output="Ω"/><!-- Omega -->
         <key code="7" output="¬"/><!-- not -->
         <key code="8" action="Cced"/>
         <key code="9" action="caron"/>
         <key code="10" output=""/><!-- dagger -->
         <key code="11" output=""/><!-- part -->
         <key code="12" action="Oslash"/>
         <key code="13" action="AElig"/>
         <key code="14" action="acute"/>
         <key code="15" output="ɾ"/><!-- ipa alveolar tap -->
         <key code="16" output="¥"/><!-- yen -->
         <key code="17" output="Þ"/><!-- Thorn -->
         <key code="18" output="¡"/><!-- iexcl -->
         <key code="19" output=""/><!-- euro -->
         <key code="20" output="#"/>
         <key code="21" output="¢"/><!-- cent -->
         <key code="22" action="tau"/>
         <key code="23" output=""/><!-- permil -->
         <key code="24" output=""/><!-- ne -->
         <key code="25" output="ª"/><!-- ordf -->
         <key code="26" output=""/><!-- et -->
         <key code="27" output=""/><!-- ndash -->
         <key code="28" output=""/><!-- bull -->
         <key code="29" output="º"/><!-- ordm -->
         <key code="30" output=""/><!-- rsquo -->
         <key code="31" output="Œ"/><!-- OElig -->
         <key code="32" action="umlaut"/>
         <key code="33" output=""/><!-- lsquo -->
         <key code="34" output="İ"/><!-- Idot -->
         <key code="35" output="π"/><!-- pi -->
         <key code="36" output="&#x0D;"/><!-- CR -->
         <key code="37" output="Ł"/><!-- Lstroke -->
         <key code="38" output="ȷ"/><!-- dotless j -->
         <key code="39" output=""/><!-- apostrophe -->
         <key code="40" output="˚"/><!-- ring -->
         <key code="41" output=""/><!-- sbquo -->
         <key code="42" output=""/><!-- prime -->
         <key code="43" output="ʻ"/><!-- turned comma -->
         <key code="44" output="÷"/><!-- divide -->
         <key code="45" action="macron"/>
         <key code="46" action="tilde"/>
         <key code="47" output="·"/><!-- middot -->
         <key code="48" output="&#x09;"/><!-- HT -->
         <key code="49" output=" "/><!-- nbsp -->
         <key code="50" action="grave"/>
         <key code="51" output="&#x08;"/><!-- BS -->
         <key code="52" output="&#x03;"/><!-- ETX -->
         <key code="53" output="&#x1B;"/><!-- ESC -->
         <!-- gap 54-63 -->
         <key code="64" output="&#x10;"/><!-- DLE -->
         <key code="65" output="."/><!-- keypad decimal point -->
         <key code="66" output="&#x1D;"/><!-- GS -->
         <key code="67" output="*"/><!-- keypad multiply -->
         <!-- gap 68 -->
         <key code="69" output="+"/><!-- keypad plus -->
         <key code="70" output="&#x1C;"/><!-- FS -->
         <key code="71" output="&#x1B;"/><!-- ESC (keypad clear) -->
         <key code="72" output="&#x1F;"/><!-- US -->
         <!-- gap 73-74 -->
         <key code="75" output="/"/><!-- keypad divide -->
         <key code="76" output="&#x03;"/><!-- ETX -->
         <key code="77" output="&#x1E;"/><!-- RS -->
         <key code="78" output="-"/><!-- keypad minus -->
         <key code="79" output="&#x10;"/><!-- DLE -->
         <key code="80" output="&#x10;"/><!-- DLE -->
         <key code="81" output="="/><!-- keypad equals -->
         <key code="82" output="0"/><!-- keypad 0 -->
         <key code="83" output="1"/><!-- keypad 1 -->
         <key code="84" output="2"/><!-- keypad 2 -->
         <key code="85" output="3"/><!-- keypad 3 -->
         <key code="86" output="4"/><!-- keypad 4 -->
         <key code="87" output="5"/><!-- keypad 5 -->
         <key code="88" output="6"/><!-- keypad 6 -->
         <key code="89" output="7"/><!-- keypad 7 -->
         <!-- gap 90 -->
         <key code="91" output="8"/><!-- keypad 8 -->
         <key code="92" output="9"/><!-- keypad 9 -->
         <!-- gap 93-95 -->
         <key code="96" output="&#x10;"/><!-- DLE (ƒ5) -->
         <key code="97" output="&#x10;"/><!-- DLE (ƒ6) -->
         <key code="98" output="&#x10;"/><!-- DLE (ƒ7) -->
         <key code="99" output="&#x10;"/><!-- DLE (ƒ3) -->
         <key code="100" output="&#x10;"/><!-- DLE -->
         <key code="101" output="&#x10;"/><!-- DLE -->
         <key code="102" output="&#x10;"/><!-- DLE -->
         <key code="103" output="&#x10;"/><!-- DLE -->
         <key code="104" output="&#x10;"/><!-- DLE -->
         <key code="105" output="&#x10;"/><!-- DLE -->
         <key code="106" output="&#x10;"/><!-- DLE -->
         <key code="107" output="&#x10;"/><!-- DLE -->
         <key code="108" output="&#x10;"/><!-- DLE -->
         <key code="109" output="&#x10;"/><!-- DLE -->
         <key code="110" output="&#x10;"/><!-- DLE -->
         <key code="111" output="&#x10;"/><!-- DLE -->
         <key code="112" output="&#x10;"/><!-- DLE -->
         <key code="113" output="&#x10;"/><!-- DLE -->
         <key code="114" output="&#x05;"/><!-- ENQ -->
         <key code="115" output="&#x01;"/><!-- SOH (home) -->
         <key code="116" output="&#x0B;"/><!-- VT (page up) -->
         <key code="117" output="&#x7F;"/><!-- DEL -->
         <key code="118" output="&#x10;"/><!-- DLE (ƒ4) -->
         <key code="119" output="&#x04;"/><!-- EOT (end) -->
         <key code="120" output="&#x10;"/><!-- DLE (ƒ2) -->
         <key code="121" output="&#x0C;"/><!-- FF (page down) -->
         <key code="122" output="&#x10;"/><!-- DLE (ƒ1) -->
         <key code="123" output="&#x1C;"/><!-- FS (left) -->
         <key code="124" output="&#x1D;"/><!-- GS (right) -->
         <key code="125" output="&#x1F;"/><!-- US (down) -->
         <key code="126" output="&#x1E;"/><!-- RS (up) -->
         <!-- gap 127 -->
      </keyMap>
      <keyMap index="7"><!-- ⌥⇧⇪ | ⌥⇧⌘⇪ -->
         <key code="0" action="aring"/>
         <key code="1" output="ß"/><!-- szlig -->
         <key code="2" output="ð"/><!-- eth -->
         <key code="3" output=""/><!-- left mab -->
         <key code="4" output=""/><!-- hunderdot -->
         <key code="5" output=""/><!-- right mab -->
         <key code="6" output="ʃ"/><!-- esh -->
         <key code="7" output="×"/><!-- times -->
         <key code="8" action="cced"/>
         <key code="9" output=""/><!-- radic -->
         <key code="10" output=""/><!-- Dagger -->
         <key code="11" output="ŋ"/><!-- eng -->
         <key code="12" action="oslash"/>
         <key code="13" action="aelig"/>
         <key code="14" action="dacute"/>
         <key code="15" output="®"/><!-- reg -->
         <key code="16" output=""/><!-- there4 -->
         <key code="17" output="þ"/><!-- thorn -->
         <key code="18" output=""/><!-- frasl -->
         <key code="19" output="θ"/><!-- theta -->
         <key code="20" output=""/><!-- lsaquo -->
         <key code="21" output=""/><!-- rsaquo -->
         <key code="22" output=""/><!-- fllig -->
         <key code="23" output=""/><!-- filig -->
         <key code="24" output=""/><!-- almost equal -->
         <key code="25" output="«"/><!-- ldaquo -->
         <key code="26" output=""/><!-- infin -->
         <key code="27" output=""/><!-- mdash -->
         <key code="28" output="°"/><!-- deg -->
         <key code="29" output="»"/><!-- rdaquo -->
         <key code="30" output=""/><!-- rdquo -->
         <key code="31" output="œ"/><!-- oelig -->
         <key code="32" action="odot"/>
         <key code="33" output=""/><!-- ldquo -->
         <key code="34" output="ı"/><!-- dotless i -->
         <key code="35" output=""/><!-- increment -->
         <key code="36" output="&#x0D;"/><!-- CR -->
         <key code="37" output="ł"/><!-- lstroke -->
         <key code="38" output=""/><!-- minuscule insular g -->
         <key code="39" output="ˮ"/><!-- double-apostrophe -->
         <key code="40" output=""/><!-- sum -->
         <key code="41" output=""/><!-- bdquo -->
         <key code="42" output=""/><!-- Prime -->
         <key code="43" output=""/><!-- le -->
         <key code="44" output="¿"/><!-- iquest -->
         <key code="45" output="¯"/><!-- macr -->
         <key code="46" output="µ"/><!-- micro -->
         <key code="47" output=""/><!-- ge -->
         <key code="48" output="&#x09;"/><!-- HT -->
         <key code="49" output=" "/><!-- nbsp -->
         <key code="50" action="dgrave"/>
         <key code="51" output="&#x08;"/><!-- BS -->
         <key code="52" output="&#x03;"/><!-- ETX -->
         <key code="53" output="&#x1B;"/><!-- ESC -->
         <!-- gap 54-63 -->
         <key code="64" output="&#x10;"/><!-- DLE -->
         <key code="65" output="."/><!-- keypad decimal point -->
         <key code="66" output="&#x1D;"/><!-- CR -->
         <key code="67" output="*"/><!-- keypad multiply -->
         <!-- gap 68 -->
         <key code="69" output="+"/><!-- keypad plus -->
         <key code="70" output="&#x1C;"/><!-- FS -->
         <key code="71" output="&#x1B;"/><!-- ESC (keypad clear) -->
         <key code="72" output="&#x1F;"/><!-- US -->
         <!-- gap 73-74 -->
         <key code="75" output="/"/><!-- keypad divide -->
         <key code="76" output="&#x03;"/><!-- ETX -->
         <key code="77" output="&#x1E;"/><!-- RS -->
         <key code="78" output="-"/><!-- keypad minus -->
         <key code="79" output="&#x10;"/><!-- DLE -->
         <key code="80" output="&#x10;"/><!-- DLE -->
         <key code="81" output="="/><!-- keypad equals -->
         <key code="82" output="0"/><!-- keypad 0 -->
         <key code="83" output="1"/><!-- keypad 1 -->
         <key code="84" output="2"/><!-- keypad 2 -->
         <key code="85" output="3"/><!-- keypad 3 -->
         <key code="86" output="4"/><!-- keypad 4 -->
         <key code="87" output="5"/><!-- keypad 5 -->
         <key code="88" output="6"/><!-- keypad 6 -->
         <key code="89" output="7"/><!-- keypad 7 -->
         <!-- gap 90 -->
         <key code="91" output="8"/><!-- keypad 8 -->
         <key code="92" output="9"/><!-- keypad 9 -->
         <!-- gap 93-95 -->
         <key code="96" output="&#x10;"/><!-- DLE (ƒ5) -->
         <key code="97" output="&#x10;"/><!-- DLE (ƒ6) -->
         <key code="98" output="&#x10;"/><!-- DLE (ƒ7) -->
         <key code="99" output="&#x10;"/><!-- DLE (ƒ3) -->
         <key code="100" output="&#x10;"/><!-- DLE -->
         <key code="101" output="&#x10;"/><!-- DLE -->
         <key code="102" output="&#x10;"/><!-- DLE -->
         <key code="103" output="&#x10;"/><!-- DLE -->
         <key code="104" output="&#x10;"/><!-- DLE -->
         <key code="105" output="&#x10;"/><!-- DLE -->
         <key code="106" output="&#x10;"/><!-- DLE -->
         <key code="107" output="&#x10;"/><!-- DLE -->
         <key code="108" output="&#x10;"/><!-- DLE -->
         <key code="109" output="&#x10;"/><!-- DLE -->
         <key code="110" output="&#x10;"/><!-- DLE -->
         <key code="111" output="&#x10;"/><!-- DLE -->
         <key code="112" output="&#x10;"/><!-- DLE -->
         <key code="113" output="&#x10;"/><!-- DLE -->
         <key code="114" output="&#x05;"/><!-- ENQ -->
         <key code="115" output="&#x01;"/><!-- SOH (home) -->
         <key code="116" output="&#x0B;"/><!-- VT (page up) -->
         <key code="117" output="&#x7F;"/><!-- DEL -->
         <key code="118" output="&#x10;"/><!-- DLE (ƒ4) -->
         <key code="119" output="&#x04;"/><!-- EOT (end) -->
         <key code="120" output="&#x10;"/><!-- DLE (ƒ2) -->
         <key code="121" output="&#x0C;"/><!-- FF (page down) -->
         <key code="122" output="&#x10;"/><!-- DLE (ƒ1) -->
         <key code="123" output="&#x1C;"/><!-- FS (left) -->
         <key code="124" output="&#x1D;"/><!-- GS (right) -->
         <key code="125" output="&#x1F;"/><!-- US (down) -->
         <key code="126" output="&#x1E;"/><!-- RS (up) -->
         <!-- gap 127 -->
      </keyMap>
      <keyMap index="8"><!-- ⌃ ± any -->
         <key code="0" output="&#x01;"/><!-- SOH -->
         <key code="1" output="&#x13;"/><!-- DC3 -->
         <key code="2" output="&#x04;"/><!-- EOT -->
         <key code="3" output="&#x06;"/><!-- ACK -->
         <key code="4" output="&#x08;"/><!-- BS -->
         <key code="5" output="&#x07;"/><!-- BEL -->
         <key code="6" output="&#x1A;"/><!-- SUB -->
         <key code="7" output="&#x18;"/><!-- CAN -->
         <key code="8" output="&#x03;"/><!-- ETX -->
         <key code="9" output="&#x16;"/><!-- SYN -->
         <key code="10" output="`"/><!-- grave -->
         <key code="11" output="&#x02;"/><!-- STX -->
         <key code="12" output="&#x11;"/><!-- DC1 -->
         <key code="13" output="&#x17;"/><!-- ETB -->
         <key code="14" output="&#x05;"/><!-- ENQ -->
         <key code="15" output="&#x12;"/><!-- DC2 -->
         <key code="16" output="&#x19;"/><!-- EM -->
         <key code="17" output="&#x14;"/><!-- DC4 -->
         <key code="18" output="1"/>
         <key code="19" output="2"/>
         <key code="20" output="3"/>
         <key code="21" output="4"/>
         <key code="22" output="6"/>
         <key code="23" output="5"/>
         <key code="24" output="="/>
         <key code="25" output="9"/>
         <key code="26" output="7"/>
         <key code="27" output="&#x1F;"/><!-- US -->
         <key code="28" output="8"/>
         <key code="29" output="0"/>
         <key code="30" output="&#x1D;"/><!-- GS -->
         <key code="31" output="&#x0F;"/><!-- SI -->
         <key code="32" output="&#x15;"/><!-- NAK -->
         <key code="33" output="&#x1B;"/><!-- ESC -->
         <key code="34" output="&#x09;"/><!-- HT -->
         <key code="35" output="&#x10;"/><!-- DLE -->
         <key code="36" output="&#x0D;"/><!-- CR -->
         <key code="37" output="&#x0C;"/><!-- FF -->
         <key code="38" output="&#x0A;"/><!-- LF -->
         <key code="39" output="'"/>
         <key code="40" output="&#x0B;"/><!-- VT -->
         <key code="41" output=":"/>
         <key code="42" output="&#x1C;"/><!-- FS -->
         <key code="43" output=","/>
         <key code="44" output="/"/>
         <key code="45" output="&#x0E;"/><!-- SO -->
         <key code="46" output="&#x0D;"/><!-- CR -->
         <key code="47" output="."/>
         <key code="48" output="&#x09;"/><!-- HT -->
         <key code="49" output=" "/><!-- SP -->
         <key code="50" output="`"/><!-- grave -->
         <key code="51" output="&#x08;"/><!-- BS -->
         <key code="52" output="&#x03;"/><!-- ETX -->
         <key code="53" output="&#x1B;"/><!-- ESC -->
         <!-- gap 54-63 -->
         <key code="64" output="&#x10;"/><!-- DLE -->
         <key code="65" output="."/><!-- keypad decimal point -->
         <key code="66" output="&#x1D;"/><!-- GS -->
         <key code="67" output="*"/><!-- keypad multiply -->
         <!-- gap 68 -->
         <key code="69" output="+"/><!-- keypad plus -->
         <key code="70" output="&#x1C;"/><!-- FS -->
         <key code="71" output="&#x1B;"/><!-- ESC (keypad clear) -->
         <key code="72" output="&#x1F;"/><!-- US -->
         <!-- gap 73-74 -->
         <key code="75" output="/"/><!-- keypad divide -->
         <key code="76" output="&#x03;"/><!-- ETX -->
         <key code="77" output="&#x1E;"/><!-- RS -->
         <key code="78" output="-"/><!-- keypad minus -->
         <key code="79" output="&#x10;"/><!-- DLE -->
         <key code="80" output="&#x10;"/><!-- DLE -->
         <key code="81" output="="/><!-- keypad equals -->
         <key code="82" output="0"/><!-- keypad 0 -->
         <key code="83" output="1"/><!-- keypad 1 -->
         <key code="84" output="2"/><!-- keypad 2 -->
         <key code="85" output="3"/><!-- keypad 3 -->
         <key code="86" output="4"/><!-- keypad 4 -->
         <key code="87" output="5"/><!-- keypad 5 -->
         <key code="88" output="6"/><!-- keypad 6 -->
         <key code="89" output="7"/><!-- keypad 7 -->
         <!-- gap 90 -->
         <key code="91" output="8"/><!-- keypad 8 -->
         <key code="92" output="9"/><!-- keypad 9 -->
         <!-- gap 93-95 -->
         <key code="96" output="&#x10;"/><!-- DLE (ƒ5) -->
         <key code="97" output="&#x10;"/><!-- DLE (ƒ6) -->
         <key code="98" output="&#x10;"/><!-- DLE (ƒ7) -->
         <key code="99" output="&#x10;"/><!-- DLE (ƒ3) -->
         <key code="100" output="&#x10;"/><!-- DLE -->
         <key code="101" output="&#x10;"/><!-- DLE -->
         <key code="102" output="&#x10;"/><!-- DLE -->
         <key code="103" output="&#x10;"/><!-- DLE -->
         <key code="104" output="&#x10;"/><!-- DLE -->
         <key code="105" output="&#x10;"/><!-- DLE -->
         <key code="106" output="&#x10;"/><!-- DLE -->
         <key code="107" output="&#x10;"/><!-- DLE -->
         <key code="108" output="&#x10;"/><!-- DLE -->
         <key code="109" output="&#x10;"/><!-- DLE -->
         <key code="110" output="&#x10;"/><!-- DLE -->
         <key code="111" output="&#x10;"/><!-- DLE -->
         <key code="112" output="&#x10;"/><!-- DLE -->
         <key code="113" output="&#x10;"/><!-- DLE -->
         <key code="114" output="&#x05;"/><!-- ENQ -->
         <key code="115" output="&#x01;"/><!-- SOH (home) -->
         <key code="116" output="&#x0B;"/><!-- VT (page up) -->
         <key code="117" output="&#x7F;"/><!-- DEL -->
         <key code="118" output="&#x10;"/><!-- DLE (ƒ4) -->
         <key code="119" output="&#x04;"/><!-- EOT (end) -->
         <key code="120" output="&#x10;"/><!-- DLE (ƒ2) -->
         <key code="121" output="&#x0C;"/><!-- FF (page down) -->
         <key code="122" output="&#x10;"/><!-- DLE (ƒ1) -->
         <key code="123" output="&#x1C;"/><!-- FS (left) -->
         <key code="124" output="&#x1D;"/><!-- GS (right) -->
         <key code="125" output="&#x1F;"/><!-- US (down) -->
         <key code="126" output="&#x1E;"/><!-- RS (up) -->
         <!-- gap 127 -->
      </keyMap>
   </keyMapSet>


   <actions>
      <action id="acute">
         <when state="none" next="acute"/>
         <when state="macron" next="acute_macron"/>
         <when state="odot" next="acute_odot"/>
         <when state="tau" next="acute_tau"/>
         <when state="tilde" next="acute_tilde"/>
         <when state="umlaut" next="acute_umlaut"/>
      </action>
      <action id="dacute">
         <when state="none" next="dacute"/>
      </action>
      <action id="caron">
         <when state="none" next="caron"/>
         <when state="odot" next="caron_odot"/>
         <when state="umlaut" next="caron_umlaut"/>
      </action>
      <action id="grave">
         <when state="none" next="grave"/>
         <when state="macron" next="grave_macron"/>
         <when state="tau" next="grave_tau"/>
         <when state="umlaut" next="grave_umlaut"/>
      </action>
      <action id="dgrave">
         <when state="none" next="dgrave"/>
      </action>
      <action id="macron">
         <when state="none" next="macron"/>
         <when state="acute" next="acute_macron"/>
         <when state="grave" next="grave_macron"/>
         <when state="odot" next="macron_odot"/>
         <when state="tilde" next="macron_tilde"/>
         <when state="umlaut" next="umlaut_macron"/>
      </action>
      <action id="odot">
         <when state="none" next="odot"/>
         <when state="acute" next="acute_odot"/>
         <when state="caron" next="caron_odot"/>
         <when state="macron" next="macron_odot"/>
      </action>
      <action id="tau">
         <when state="none" next="tau"/>
         <when state="acute" next="acute_tau"/>
         <when state="grave" next="grave_tau"/>
         <when state="tilde" next="tau_tilde"/>
      </action>
      <action id="tilde">
         <when state="none" next="tilde"/>
         <when state="acute" next="acute_tilde"/>
         <when state="macron" next="macron_tilde"/>
         <when state="tau" next="tau_tilde"/>
         <when state="umlaut" next="tilde_umlaut"/>
      </action>
      <action id="umlaut">
         <when state="none" next="umlaut"/>
         <when state="acute" next="acute_umlaut"/>
         <when state="caron" next="caron_umlaut"/>
         <when state="grave" next="grave_umlaut"/>
         <when state="macron" next="macron_umlaut"/>
      </action>

      <action id="acute_macron">
         <when state="none" next="acute_macron"/>
      </action>
      <action id="acute_odot">
         <when state="none" next="acute_odot"/>
      </action>
      <action id="acute_tau">
         <when state="none" next="acute_tau"/>
      </action>
      <action id="acute_tilde">
         <when state="none" next="acute_tilde"/>
      </action>
      <action id="acute_umlaut">
         <when state="none" next="acute_umlaut"/>
      </action>
      <action id="caron_odot">
         <when state="none" next="caron_odot"/>
      </action>
      <action id="caron_umlaut">
         <when state="none" next="caron_umlaut"/>
      </action>
      <action id="grave_macron">
         <when state="none" next="grave_macron"/>
      </action>
      <action id="grave_tau">
         <when state="none" next="grave_tau"/>
      </action>
      <action id="grave_umlaut">
         <when state="none" next="grave_umlaut"/>
      </action>
      <action id="macron_odot">
         <when state="none" next="macron_odot"/>
      </action>
      <action id="macron_umlaut">
         <when state="none" next="macron_umlaut"/>
      </action>
      <action id="macron_tilde">
         <when state="none" next="macron_tilde"/>
      </action>
      <action id="tau_tilde">
         <when state="none" next="tau_tilde"/>
      </action>
      <action id="tilde_umlaut">
         <when state="none" next="tilde_umlaut"/>
      </action>
      <action id="umlaut_macron">
         <when state="none" next="umlaut_macron"/>
      </action>

      <action id="space">
         <when state="none" output=" "/>
         <when state="acute" output="´"/>
         <when state="dacute" output="˝"/>
         <when state="caron" output="ˇ"/>
         <when state="grave" output="`"/>
         <when state="dgrave" output=" ̏"/><!-- combining -->
         <when state="macron" output="¯"/>
         <when state="odot" output="˙"/>
         <when state="tau" output="ˆ"/>
         <when state="tilde" output="˜"/>
         <when state="umlaut" output="¨"/>
      </action>
      <action id="quo">
         <when state="none" output="&#x27;"/><!-- apos -->
      </action>
      <action id="dquo">
         <when state="none" output="&#x22;"/><!-- quot -->
      </action>

      <action id="A">
         <when state="none" output="A"/>
         <when state="acute" output="Á"/>
         <when state="caron" output="Ǎ"/>
         <when state="grave" output="À"/>
         <when state="dgrave" output="Ȁ"/>
         <when state="macron" output="Ā"/>
         <when state="odot" output="Ȧ"/>
         <when state="tau" output="Â"/>
         <when state="tilde" output="Ã"/>
         <when state="umlaut" output="Ä"/>
         <when state="acute_tau" output=""/>
         <when state="grave_tau" output=""/>
         <when state="macron_odot" output="Ǡ"/>
         <when state="macron_umlaut" output="Ǟ"/>
         <when state="tau_tilde" output=""/>
      </action>
      <action id="B">
         <when state="none" output="B"/>
         <when state="odot" output=""/>
      </action>
      <action id="C">
         <when state="none" output="C"/>
         <when state="acute" output="Ć"/>
         <when state="caron" output="Č"/>
         <when state="odot" output="Ċ"/>
         <when state="tau" output="Ĉ"/>
      </action>
      <action id="D">
         <when state="none" output="D"/>
         <when state="caron" output="Ď"/>
         <when state="odot" output=""/>
      </action>
      <action id="E">
         <when state="none" output="E"/>
         <when state="acute" output="É"/>
         <when state="dacute" output=""/><!-- non-precomposed -->
         <when state="caron" output="Ě"/>
         <when state="grave" output="È"/>
         <when state="dgrave" output="Ȅ"/>
         <when state="macron" output="Ē"/>
         <when state="odot" output="Ė"/>
         <when state="tau" output="Ê"/>
         <when state="tilde" output=""/>
         <when state="umlaut" output="Ë"/>
         <when state="acute_tau" output=""/>
         <when state="acute_macron" output=""/>
         <when state="grave_macron" output=""/>
         <when state="grave_tau" output=""/>
         <when state="tau_tilde" output=""/>
      </action>
      <action id="F">
         <when state="none" output="F"/>
         <when state="odot" output=""/>
      </action>
      <action id="G">
         <when state="none" output="G"/>
         <when state="acute" output="Ǵ"/>
         <when state="caron" output="Ǧ"/>
         <when state="macron" output=""/>
         <when state="odot" output="Ġ"/>
         <when state="tau" output="Ĝ"/>
      </action>
      <action id="H">
         <when state="none" output="H"/>
         <when state="caron" output="Ȟ"/>
         <when state="odot" output=""/>
         <when state="tau" output="Ĥ"/>
         <when state="umlaut" output=""/>
      </action>
      <action id="I">
         <when state="none" output="I"/>
         <when state="acute" output="Í"/>
         <when state="dacute" output=""/><!-- non-precomposed -->
         <when state="caron" output="Ǐ"/>
         <when state="grave" output="Ì"/>
         <when state="dgrave" output="Ȉ"/>
         <when state="macron" output="Ī"/>
         <when state="odot" output="İ"/>
         <when state="umlaut" output="Ï"/>
         <when state="tilde" output="Ĩ"/>
         <when state="tau" output="Î"/>
         <when state="acute_umlaut" output=""/>
      </action>
      <action id="J">
         <when state="none" output="J"/>
         <when state="caron" output=""/><!-- non-precomposed -->
         <when state="odot" output=""/><!-- non-precomposed -->
         <when state="tau" output="Ĵ"/>
      </action>
      <action id="K">
         <when state="none" output="K"/>
         <when state="acute" output=""/>
         <when state="caron" output="Ǩ"/>
         <when state="odot" output=""/><!-- non-precomposed -->
      </action>
      <action id="L">
         <when state="none" output="L"/>
         <when state="acute" output="Ĺ"/>
         <when state="caron" output="Ľ"/>
         <when state="odot" output=""/><!-- non-precomposed -->
      </action>
      <action id="M">
         <when state="none" output="M"/>
         <when state="acute" output=""/>
         <when state="odot" output=""/>
      </action>
      <action id="N">
         <when state="none" output="N"/>
         <when state="acute" output="Ń"/>
         <when state="caron" output="Ň"/>
         <when state="grave" output="Ǹ"/>
         <when state="odot" output=""/>
         <when state="tilde" output="Ñ"/>
      </action>
      <action id="O">
         <when state="none" output="O"/>
         <when state="acute" output="Ó"/>
         <when state="dacute" output="Ő"/>
         <when state="caron" output="Ǒ"/>
         <when state="grave" output="Ò"/>
         <when state="dgrave" output="Ȍ"/>
         <when state="macron" output="Ō"/>
         <when state="odot" output="Ȯ"/>
         <when state="tau" output="Ô"/>
         <when state="tilde" output="Õ"/>
         <when state="umlaut" output="Ö"/>
         <when state="acute_macron" output=""/>
         <when state="acute_tau" output=""/>
         <when state="acute_tilde" output=""/>
         <when state="grave_macron" output=""/>
         <when state="grave_tau" output=""/>
         <when state="macron_odot" output="Ȱ"/>
         <when state="macron_tilde" output="Ȭ"/>
         <when state="macron_umlaut" output="Ȫ"/>
         <when state="tau_tilde" output=""/>
         <when state="tilde_umlaut" output=""/>
      </action>
      <action id="P">
         <when state="none" output="P"/>
         <when state="acute" output=""/>
         <when state="odot" output=""/>
      </action>
      <action id="Q">
         <when state="none" output="Q"/>
         <when state="odot" output=""/><!-- non-precomposed -->
      </action>
      <action id="R">
         <when state="none" output="R"/>
         <when state="acute" output="Ŕ"/>
         <when state="dacute" output=""/><!-- non-precomposed -->
         <when state="caron" output="Ř"/>
         <when state="dgrave" output="Ȑ"/>
         <when state="odot" output=""/>
         <when state="umlaut" output=""/><!-- non-precomposed -->
      </action>
      <action id="S">
         <when state="none" output="S"/>
         <when state="acute" output="Ś"/>
         <when state="caron" output="Š"/>
         <when state="odot" output=""/>
         <when state="tau" output="Ŝ"/>
         <when state="acute_odot" output=""/>
         <when state="caron_odot" output=""/>
      </action>
      <action id="T">
         <when state="none" output="T"/>
         <when state="caron" output="Ť"/>
         <when state="odot" output=""/>
      </action>
      <action id="U">
         <when state="none" output="U"/>
         <when state="acute" output="Ú"/>
         <when state="dacute" output="Ű"/>
         <when state="caron" output="Ǔ"/>
         <when state="grave" output="Ù"/>
         <when state="dgrave" output="Ȕ"/>
         <when state="macron" output="Ū"/>
         <when state="tau" output="Û"/>
         <when state="tilde" output="Ũ"/>
         <when state="umlaut" output="Ü"/>
         <when state="acute_tilde" output=""/>
         <when state="acute_umlaut" output="Ǘ"/>
         <when state="caron_umlaut" output="Ǚ"/>
         <when state="grave_umlaut" output="Ǜ"/>
         <when state="macron_umlaut" output="Ǖ"/>
         <when state="umlaut_macron" output=""/>
      </action>
      <action id="V">
         <when state="none" output="V"/>
         <when state="odot" output=""/><!-- non-precomposed -->
         <when state="tilde" output=""/>
      </action>
      <action id="W">
         <when state="none" output="W"/>
         <when state="acute" output=""/>
         <when state="grave" output=""/>
         <when state="odot" output=""/>
         <when state="tau" output="Ŵ"/>
         <when state="umlaut" output=""/>
      </action>
      <action id="X">
         <when state="none" output="X"/>
         <when state="odot" output=""/>
         <when state="umlaut" output=""/>
      </action>
      <action id="Y">
         <when state="none" output="Y"/>
         <when state="acute" output="Ý"/>
         <when state="grave" output=""/>
         <when state="macron" output="Ȳ"/>
         <when state="odot" output=""/>
         <when state="tau" output="Ŷ"/>
         <when state="tilde" output=""/>
         <when state="umlaut" output="Ÿ"/>
      </action>
      <action id="Z">
         <when state="none" output="Z"/>
         <when state="acute" output="Ź"/>
         <when state="caron" output="Ž"/>
         <when state="odot" output="Ż"/>
         <when state="tau" output=""/>
      </action>
      <action id="AElig">
         <when state="none" output="Æ"/>
         <when state="acute" output="Ǽ"/>
         <when state="macron" output="Ǣ"/>
      </action>
      <action id="Aring">
         <when state="none" output="Å"/>
         <when state="acute" output="Ǻ"/>
      </action>
      <action id="Cced">
         <when state="none" output="Ç"/>
         <when state="acute" output=""/>
      </action>
      <action id="Oslash">
         <when state="none" output="Ø"/>
         <when state="acute" output="Ǿ"/>
      </action>

      <action id="a">
         <when state="none" output="a"/>
         <when state="acute" output="á"/>
         <when state="caron" output="ǎ"/>
         <when state="grave" output="à"/>
         <when state="dgrave" output="ȁ"/>
         <when state="macron" output="ā"/>
         <when state="odot" output="ȧ"/>
         <when state="tau" output="â"/>
         <when state="tilde" output="ã"/>
         <when state="umlaut" output="ä"/>
         <when state="acute_tau" output=""/>
         <when state="grave_tau" output=""/>
         <when state="macron_odot" output="ǡ"/>
         <when state="macron_umlaut" output="ǟ"/>
         <when state="tau_tilde" output=""/>
      </action>
      <action id="b">
         <when state="none" output="b"/>
         <when state="odot" output=""/>
      </action>
      <action id="c">
         <when state="none" output="c"/>
         <when state="acute" output="ć"/>
         <when state="caron" output="č"/>
         <when state="odot" output="ċ"/>
         <when state="tau" output="ĉ"/>
      </action>
      <action id="d">
         <when state="none" output="d"/>
         <when state="caron" output="ď"/>
         <when state="odot" output=""/>
      </action>
      <action id="e">
         <when state="none" output="e"/>
         <when state="acute" output="é"/>
         <when state="dacute" output=""/><!-- non-precomposed -->
         <when state="caron" output="ě"/>
         <when state="grave" output="è"/>
         <when state="dgrave" output="ȅ"/>
         <when state="macron" output="ē"/>
         <when state="odot" output="ė"/>
         <when state="tau" output="ê"/>
         <when state="tilde" output=""/>
         <when state="umlaut" output="ë"/>
         <when state="acute_macron" output=""/>
         <when state="acute_tau" output="ế"/>
         <when state="grave_macron" output=""/>
         <when state="grave_tau" output=""/>
         <when state="tau_tilde" output=""/>
      </action>
      <action id="f">
         <when state="none" output="f"/>
         <when state="odot" output=""/>
      </action>
      <action id="g">
         <when state="none" output="g"/>
         <when state="acute" output="ǵ"/>
         <when state="caron" output="ǧ"/>
         <when state="macron" output=""/>
         <when state="odot" output="ġ"/>
         <when state="tau" output="ĝ"/>
      </action>
      <action id="h">
         <when state="none" output="h"/>
         <when state="caron" output="ȟ"/>
         <when state="odot" output=""/>
         <when state="tau" output="ĥ"/>
         <when state="umlaut" output=""/>
      </action>
      <action id="i">
         <when state="none" output="i"/>
         <when state="acute" output="í"/>
         <when state="dacute" output="ı̋"/><!-- non-precomposed -->
         <when state="caron" output="ǐ"/>
         <when state="grave" output="ì"/>
         <when state="dgrave" output="ȉ"/>
         <when state="macron" output="ī"/>
         <when state="odot" output="i"/>
         <when state="tau" output="î"/>
         <when state="tilde" output="ĩ"/>
         <when state="umlaut" output="ï"/>
         <when state="acute_umlaut" output=""/>
      </action>
      <action id="j">
         <when state="none" output="j"/>
         <when state="caron" output="ǰ"/>
         <when state="odot" output="j"/>
         <when state="tau" output="ĵ"/>
      </action>
      <action id="k">
         <when state="none" output="k"/>
         <when state="acute" output=""/>
         <when state="caron" output="ǩ"/>
         <when state="odot" output=""/><!-- non-precomposed -->
      </action>
      <action id="l">
         <when state="none" output="l"/>
         <when state="acute" output="ĺ"/>
         <when state="caron" output="ľ"/>
         <when state="odot" output=""/><!-- non-precomposed -->
      </action>
      <action id="m">
         <when state="none" output="m"/>
         <when state="acute" output="ḿ"/>
         <when state="odot" output=""/>
      </action>
      <action id="n">
         <when state="none" output="n"/>
         <when state="acute" output="ń"/>
         <when state="caron" output="ň"/>
         <when state="grave" output="ǹ"/>
         <when state="odot" output=""/>
         <when state="tilde" output="ñ"/>
      </action>
      <action id="o">
         <when state="none" output="o"/>
         <when state="acute" output="ó"/>
         <when state="dacute" output="ő"/>
         <when state="caron" output="ǒ"/>
         <when state="grave" output="ò"/>
         <when state="dgrave" output="ȍ"/>
         <when state="macron" output="ō"/>
         <when state="odot" output="ȯ"/>
         <when state="tau" output="ô"/>
         <when state="tilde" output="õ"/>
         <when state="umlaut" output="ö"/>
         <when state="acute_macron" output=""/>
         <when state="acute_tau" output=""/>
         <when state="acute_tilde" output=""/>
         <when state="grave_macron" output=""/>
         <when state="grave_tau" output=""/>
         <when state="macron_odot" output="ȱ"/>
         <when state="macron_tilde" output="ȭ"/>
         <when state="macron_umlaut" output="ȫ"/>
         <when state="tau_tilde" output=""/>
         <when state="tilde_umlaut" output=""/>
      </action>
      <action id="p">
         <when state="none" output="p"/>
         <when state="acute" output=""/>
         <when state="odot" output=""/>
      </action>
      <action id="q">
         <when state="none" output="q"/>
         <when state="odot" output=""/><!-- non-precomposed -->
      </action>
      <action id="r">
         <when state="none" output="r"/>
         <when state="acute" output="ŕ"/>
         <when state="dacute" output=""/><!-- non-precomposed -->
         <when state="dgrave" output="ȑ"/>
         <when state="caron" output="ř"/>
         <when state="odot" output=""/>
         <when state="umlaut" output=""/><!-- non-precomposed -->
      </action>
      <action id="s">
         <when state="none" output="s"/>
         <when state="acute" output="ś"/>
         <when state="caron" output="š"/>
         <when state="odot" output=""/>
         <when state="tau" output="ŝ"/>
         <when state="acute_odot" output=""/>
         <when state="caron_odot" output=""/>
      </action>
      <action id="longs">
         <when state="none" output="ſ"/>
         <when state="odot" output=""/>
      </action>
      <action id="t">
         <when state="none" output="t"/>
         <when state="caron" output="ť"/>
         <when state="odot" output=""/>
      </action>
      <action id="u">
         <when state="none" output="u"/>
         <when state="acute" output="ú"/>
         <when state="dacute" output="ű"/>
         <when state="caron" output="ǔ"/>
         <when state="grave" output="ù"/>
         <when state="dgrave" output="ȕ"/>
         <when state="macron" output="ū"/>
         <when state="tau" output="û"/>
         <when state="tilde" output="ũ"/>
         <when state="umlaut" output="ü"/>
         <when state="acute_tilde" output=""/>
         <when state="acute_umlaut" output="ǘ"/>
         <when state="caron_umlaut" output="ǚ"/>
         <when state="grave_umlaut" output="ǜ"/>
         <when state="macron_umlaut" output="ǖ"/>
         <when state="umlaut_macron" output=""/>
      </action>
      <action id="v">
         <when state="none" output="v"/>
         <when state="tilde" output=""/>
         <when state="odot" output=""/><!-- non-precomposed -->
      </action>
      <action id="w">
         <when state="none" output="w"/>
         <when state="acute" output=""/>
         <when state="grave" output=""/>
         <when state="odot" output=""/>
         <when state="tau" output="ŵ"/>
         <when state="umlaut" output=""/>
      </action>
      <action id="x">
         <when state="none" output="x"/>
         <when state="odot" output=""/>
         <when state="umlaut" output=""/>
      </action>
      <action id="y">
         <when state="none" output="y"/>
         <when state="acute" output="ý"/>
         <when state="grave" output=""/>
         <when state="macron" output="ȳ"/>
         <when state="odot" output=""/>
         <when state="tau" output="ŷ"/>
         <when state="tilde" output=""/>
         <when state="umlaut" output="ÿ"/>
      </action>
      <action id="z">
         <when state="none" output="z"/>
         <when state="acute" output="ź"/>
         <when state="caron" output="ž"/>
         <when state="odot" output="ż"/>
         <when state="tau" output=""/>
      </action>
      <action id="aelig">
         <when state="none" output="æ"/>
         <when state="acute" output="ǽ"/>
         <when state="macron" output="ǣ"/>
      </action>
      <action id="aring">
         <when state="none" output="å"/>
         <when state="acute" output="ǻ"/>
      </action>
      <action id="cced">
         <when state="none" output="ç"/>
         <when state="acute" output=""/>
      </action>
      <action id="oslash">
         <when state="none" output="ø"/>
         <when state="acute" output="ǿ"/>
      </action>
   </actions>

   <terminators>
      <when state="acute" output="´"/>
      <when state="dacute" output="˝"/>
      <when state="caron" output="ˇ"/>
      <when state="grave" output="`"/>
      <when state="dgrave" output=" ̏"/><!-- combining -->
      <when state="tau" output="ˆ"/>
      <when state="macron" output="¯"/>
      <when state="odot" output="˙"/>
      <when state="tilde" output="˜"/>
      <when state="umlaut" output="¨"/>

      <when state="acute_macron" output="´¯"/>
      <when state="acute_odot" output="´˙"/>
      <when state="acute_tau" output="´ˆ"/>
      <when state="acute_tilde" output="´˜"/>
      <when state="acute_umlaut" output="´¨"/>
      <when state="caron_odot" output="ˇ˙"/>
      <when state="caron_umlaut" output="ˇ¨"/>
      <when state="grave_macron" output=""/>
      <when state="grave_tau" output=""/>
      <when state="grave_umlaut" output=""/>
      <when state="macron_odot" output="¯˙"/>
      <when state="macron_umlaut" output="¯¨"/>
      <when state="macron_tilde" output="¯˜"/>
      <when state="tau_tilde" output="ˆ˜"/>
      <when state="tilde_umlaut" output="˜¨"/>
      <when state="umlaut_macron" output="¨¯"/>
   </terminators>
</keyboard>

download (ZIP)


Article text ©2020 Electropict Creative Commons License.
Click images for individual licences.