feat(developer): add tests for validate()

This commit is contained in:
Sabine 2025-07-11 10:40:07 +02:00
parent 1f7134fd52
commit 3d1972bd4f
5 changed files with 2434 additions and 0 deletions

View file

@ -0,0 +1,601 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE keyboard SYSTEM "../../../../../resources/standards-data/Keylayout/Keylayout.dtd">
<!--
Data generated April 15 2025
Generated by S. Schmitt
-->
<keyboard group="126" id="-1272" name="Test" maxout="1">
<layouts>
<layout first="0" last="0" mapSet="138" modifiers="30"/>
</layouts>
<!--Error here: additional tag 'additionalTag'-->
<additionalTag>
<layout first="0" last="0" mapSet="138" modifiers="30"/>
</additionalTag>
<modifierMap id="30" defaultIndex="0">
<keyMapSelect mapIndex="0">
<modifier keys=""/>
<modifier keys="shift? caps? "/>
</keyMapSelect>
<keyMapSelect mapIndex="1">
<modifier keys="caps"/>
</keyMapSelect>
<keyMapSelect mapIndex="2">
<modifier keys="shift? leftShift caps? "/>
<modifier keys="anyShift caps?"/>
<modifier keys="shift leftShift caps "/>
<modifier keys="shift? rightShift caps? "/>
</keyMapSelect>
<keyMapSelect mapIndex="3">
<modifier keys="anyShift? anyOption caps? anyControl"/>
<modifier keys="anyShift? anyOption? caps? anyControl"/>
</keyMapSelect>
<keyMapSelect mapIndex="4">
<modifier keys="anyShift caps? anyOption ?"/>
</keyMapSelect>
<keyMapSelect mapIndex="5">
<modifier keys="anyOption"/>
<modifier keys="caps"/>
</keyMapSelect>
<keyMapSelect mapIndex="6">
<modifier keys="anyOption "/>
</keyMapSelect>
<keyMapSelect mapIndex="7">
<modifier keys="caps anyOption ?"/>
</keyMapSelect>
</modifierMap>
<keyMapSet id="ANSI">
<keyMap index="0">
<key code="0" action="A_9"/>
<key code="1" output="s"/>
<key code="2" output="d"/>
<key code="3" output="f"/>
<key code="4" output="h"/>
<key code="5" output="g"/>
<key code="6" output="z"/>
<key code="7" output="x"/>
<key code="8" output="c"/>
<key code="9" output="v"/>
<key code="10" output="\"/>
<key code="11" output="b"/>
<key code="12" output="q"/>
<key code="13" output="w"/>
<key code="14" action="A_10"/>
<key code="15" output="r"/>
<key code="16" action="A_15"/>
<key code="17" output="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" action="A_18"/>
<key code="25" output="9"/>
<key code="26" output="7"/>
<key code="27" output="&#x0027;"/>
<key code="28" output="8"/>
<key code="29" output="0"/>
<key code="30" output="+"/>
<key code="31" action="A_13"/>
<key code="32" action="A_14"/>
<key code="33" output="è"/>
<key code="34" action="A_11"/>
<key code="35" output="p"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="l"/>
<key code="38" output="j"/>
<key code="39" output="à"/>
<key code="40" output="k"/>
<key code="41" output="ò"/>
<key code="42" output="ù"/>
<key code="43" output=","/>
<key code="44" output="-"/>
<key code="45" action="A_12"/>
<key code="46" output="m"/>
<key code="47" output="."/>
<key code="48" output="&#x0009;"/>
<key code="49" action="A_0"/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="1">
<key code="0" action="A_1"/>
<key code="1" output="S"/>
<key code="2" output="D"/>
<key code="3" output="F"/>
<key code="4" output="@"/>
<key code="5" output="G"/>
<key code="6" output="Z"/>
<key code="7" output="X"/>
<key code="8" output="C"/>
<key code="9" output="V"/>
<key code="10" output="\"/>
<key code="11" output="B"/>
<key code="12" output="Q"/>
<key code="13" output="W"/>
<key code="14" action="A_2"/>
<key code="15" output="R"/>
<key code="16" action="A_7"/>
<key code="17" output="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="&#x0027;"/>
<key code="28" output="8"/>
<key code="29" output="0"/>
<key code="30" output="+"/>
<key code="31" action="A_5"/>
<key code="32" action="A_6"/>
<key code="33" output="è"/>
<key code="34" action="A_3"/>
<key code="35" output="P"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="L"/>
<key code="38" output="J"/>
<key code="39" output="à"/>
<key code="40" output="K"/>
<key code="41" output="ò"/>
<key code="42" output="ù"/>
<key code="43" output=","/>
<key code="44" output="-"/>
<key code="45" action="A_4"/>
<key code="46" output="M"/>
<key code="47" output="."/>
<key code="48" output="&#x0009;"/>
<key code="49" action="A_0"/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="2">
<key code="0" action="A_1"/>
<key code="1" output="S"/>
<key code="2" output="D"/>
<key code="3" output="F"/>
<key code="4" output="H"/>
<key code="5" output="G"/>
<key code="6" output="Z"/>
<key code="7" output="X"/>
<key code="8" output="C"/>
<key code="9" output="V"/>
<key code="10" output="|"/>
<key code="11" output="B"/>
<key code="12" output="Q"/>
<key code="13" output="W"/>
<key code="14" action="A_2"/>
<key code="15" output="R"/>
<key code="16" action="A_7"/>
<key code="17" output="T"/>
<key code="18" output="!"/>
<key code="19" output="&#x0022;"/>
<key code="20" output="£"/>
<key code="21" output="$"/>
<key code="22" output="&#x0026;"/>
<key code="23" output="%"/>
<key code="24" output="^"/>
<key code="25" output=")"/>
<key code="26" output="/"/>
<key code="27" output="?"/>
<key code="28" output="("/>
<key code="29" output="="/>
<key code="30" output="*"/>
<key code="31" action="A_5"/>
<key code="32" action="A_6"/>
<key code="33" output="é"/>
<key code="34" action="A_3"/>
<key code="35" output="P"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="L"/>
<key code="38" output="J"/>
<key code="39" output="°"/>
<key code="40" output="K"/>
<key code="41" output="ç"/>
<key code="42" output="§"/>
<key code="43" output=";"/>
<key code="44" output="_"/>
<key code="45" action="A_4"/>
<key code="46" output="M"/>
<key code="47" output=":"/>
<key code="48" output="&#x0009;"/>
<key code="49" action="A_0"/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="3">
<key code="0" output="U+1F600"/>
<key code="1" output="&#x1F601;"/>
<key code="2" output="&#x1234;"/>
<key code="3" output="ሴ"/>
<key code="4" output="😎"/>
<key code="5" output="&#x0007;"/>
<key code="6" output="&#x0017;"/>
<key code="7" output="&#x0018;"/>
<key code="8" output="&#x0003;"/>
<key code="9" output="&#x0016;"/>
<key code="10" output="&#x001C;"/>
<key code="11" output="&#x0002;"/>
<key code="12" output="&#x0011;"/>
<key code="13" output="&#x001A;"/>
<key code="14" output="&#x0005;"/>
<key code="15" output="&#x0012;"/>
<key code="16" output="&#x0019;"/>
<key code="17" output="&#x0014;"/>
<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="&#x001F;"/>
<key code="28" output="8"/>
<key code="29" output="0"/>
<key code="30" output="&#x001D;"/>
<key code="31" output="&#x000F;"/>
<key code="32" output="&#x0015;"/>
<key code="33" output="&#x001E;"/>
<key code="34" output="&#x0009;"/>
<key code="35" output="&#x0010;"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="&#x000C;"/>
<key code="38" output="&#x000A;"/>
<key code="39" output="%"/>
<key code="40" output="&#x000B;"/>
<key code="41" output="&#x000D;"/>
<key code="42" output="°"/>
<key code="43" output="."/>
<key code="44" output="!"/>
<key code="45" output="&#x000E;"/>
<key code="46" output="?"/>
<key code="47" output="/"/>
<key code="48" output="&#x0009;"/>
<key code="49" action="A_0"/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="4">
<key code="0" output="Å"/>
<key code="1" output="¯"/>
<key code="2" output="˘"/>
<key code="3" output="˙"/>
<key code="4" output="¸"/>
<key code="5" output="˚"/>
<key code="6" action="A_0"/>
<key code="7" output="‡"/>
<key code="8" output="Á"/>
<key code="9" output="É"/>
<key code="10" output="ı"/>
<key code="11" output="Í"/>
<key code="12" output="‚"/>
<key code="13" output="À"/>
<key code="14" output="È"/>
<key code="15" output="Ì"/>
<key code="16" output="Æ"/>
<key code="17" output="Ò"/>
<key code="18" output="»"/>
<key code="19" output="”"/>
<key code="20" output="’"/>
<key code="21" output="¢"/>
<key code="22" output="›"/>
<key code="23" output="‰"/>
<key code="24" output="±"/>
<key code="25" action="A_0"/>
<key code="26" output="⁄"/>
<key code="27" output="¿"/>
<key code="28" output=""/>
<key code="29" output="≈"/>
<key code="30" output="}"/>
<key code="31" output="Ø"/>
<key code="32" output="Ù"/>
<key code="33" output="{"/>
<key code="34" output="Œ"/>
<key code="35" output="∏"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="ˇ"/>
<key code="38" output="˝"/>
<key code="39" output="∞"/>
<key code="40" output="˛"/>
<key code="41" output="Ç"/>
<key code="42" output="◊"/>
<key code="43" action="A_0"/>
<key code="44" output="—"/>
<key code="45" output="Ó"/>
<key code="46" output="Ú"/>
<key code="47" output="·"/>
<key code="48" output="&#x0009;"/>
<key code="49" output=" "/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="5">
<key code="0" output="å"/>
<key code="1" output="ß"/>
<key code="2" output="∂"/>
<key code="3" output="ƒ"/>
<key code="4" output="∆"/>
<key code="5" output="∞"/>
<key code="6" output="∑"/>
<key code="7" output="†"/>
<key code="8" output="©"/>
<key code="9" output="√"/>
<key code="10" output="`"/>
<key code="11" output="∫"/>
<key code="12" output="„"/>
<key code="13" output="Ω"/>
<key code="14" output="€"/>
<key code="15" output="®"/>
<key code="16" output="æ"/>
<key code="17" output="™"/>
<key code="18" output="«"/>
<key code="19" output="“"/>
<key code="20" output="‘"/>
<key code="21" output="¥"/>
<key code="22" output="‹"/>
<key code="23" output="~"/>
<key code="24" action="A_18"/>
<key code="25" action="A_8"/>
<key code="26" output="÷"/>
<key code="27" output="¡"/>
<key code="28" action="A_17"/>
<key code="29" output="≠"/>
<key code="30" output="]"/>
<key code="31" output="ø"/>
<key code="32" action="A_16"/>
<key code="33" output="["/>
<key code="34" output="œ"/>
<key code="35" output="π"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="¬"/>
<key code="38" output="ª"/>
<key code="39" output="#"/>
<key code="40" output="º"/>
<key code="41" output="@"/>
<key code="42" output="¶"/>
<key code="43" output="…"/>
<key code="44" output="–"/>
<key code="45" action="A_19"/>
<key code="46" output="µ"/>
<key code="47" output="•"/>
<key code="48" output="&#x0009;"/>
<key code="49" output=" "/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="6">
<key code="0" output="å"/>
<key code="1" output="ß"/>
<key code="2" output="∂"/>
<key code="3" output="ƒ"/>
<key code="4" output="ẞ"/>
<key code="5" output="∞"/>
<key code="6" output="∑"/>
<key code="7" output="†"/>
<key code="8" output="©"/>
<key code="9" output="√"/>
<key code="10" output="`"/>
<key code="11" output="∫"/>
<key code="12" output="„"/>
<key code="13" output="Ω"/>
<key code="14" output="€"/>
<key code="15" output="®"/>
<key code="16" output="æ"/>
<key code="17" output="™"/>
<key code="18" output="«"/>
<key code="19" output="“"/>
<key code="20" output="‘"/>
<key code="21" output="¥"/>
<key code="22" output="‹"/>
<key code="23" output="~"/>
<key code="24" output="ˆ"/>
<key code="25" output="`"/>
<key code="26" output="÷"/>
<key code="27" output="¡"/>
<key code="28" output="´"/>
<key code="29" output="≠"/>
<key code="30" output="]"/>
<key code="31" output="ø"/>
<key code="32" output="¨"/>
<key code="33" output="["/>
<key code="34" output="œ"/>
<key code="35" output="π"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="¬"/>
<key code="38" output="ª"/>
<key code="39" output="#"/>
<key code="40" output="º"/>
<key code="41" output="@"/>
<key code="42" output="¶"/>
<key code="43" output="…"/>
<key code="44" output="–"/>
<key code="45" output="˜"/>
<key code="46" output="µ"/>
<key code="47" output="•"/>
<key code="48" output="&#x0009;"/>
<key code="49" output=" "/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="7">
<key code="0" output="Å"/>
<key code="1" output="ß"/>
<key code="2" output="∂"/>
<key code="3" output="ƒ"/>
<key code="4" output="€"/>
<key code="5" output="∞"/>
<key code="6" output="∑"/>
<key code="7" output="†"/>
<key code="8" output="©"/>
<key code="9" output="√"/>
<key code="10" output="`"/>
<key code="11" output="∫"/>
<key code="12" output="„"/>
<key code="13" output="Ω"/>
<key code="14" output="€"/>
<key code="15" output="®"/>
<key code="16" output="Æ"/>
<key code="17" output="™"/>
<key code="18" output="«"/>
<key code="19" output="“"/>
<key code="20" output="‘"/>
<key code="21" output="¥"/>
<key code="22" output="‹"/>
<key code="23" output="~"/>
<key code="24" output="ˆ"/>
<key code="25" output="`"/>
<key code="26" output="÷"/>
<key code="27" output="¡"/>
<key code="28" output="´"/>
<key code="29" output="≠"/>
<key code="30" output="]"/>
<key code="31" output="Ø"/>
<key code="32" output="¨"/>
<key code="33" output="["/>
<key code="34" output="Œ"/>
<key code="35" output="∏"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="¬"/>
<key code="38" output="ª"/>
<key code="39" output="#"/>
<key code="40" output="º"/>
<key code="41" output="@"/>
<key code="42" output="¶"/>
<key code="43" output="…"/>
<key code="44" output="–"/>
<key code="45" output="˜"/>
<key code="46" output="µ"/>
<key code="47" output="•"/>
<key code="48" output="&#x0009;"/>
<key code="49" output=" "/>
<key code="50" output="-"/>
</keyMap>
</keyMapSet>
<actions>
<action id="A_0">
<when state="none" output=" "/>
<when state="1" output="ˆ"/>
<when state="2" output="`"/>
<when state="3" output="´"/>
<when state="4" output="¨"/>
<when state="5" output="˜"/>
</action>
<action id="A_1">
<when state="none" output="A"/>
<when state="1" output="Â"/>
<when state="2" output="À"/>
<when state="3" output="Á"/>
<when state="4" output="Ä"/>
<when state="5" output="Ã"/>
</action>
<action id="A_10">
<when state="none" output="e"/>
<when state="1" output="ê"/>
<when state="2" output="è"/>
<when state="3" output="é"/>
<when state="4" output="ë"/>
</action>
<action id="A_11">
<when state="none" output="i"/>
<when state="1" output="î"/>
<when state="2" output="ì"/>
<when state="3" output="í"/>
<when state="4" output="ï"/>
</action>
<action id="A_12">
<when state="none" output="n"/>
<when state="5" output="ñ"/>
</action>
<action id="A_13">
<when state="none" output="o"/>
<when state="1" output="ô"/>
<when state="2" output="ò"/>
<when state="3" output="ó"/>
<when state="4" output="ö"/>
<when state="5" output="õ"/>
</action>
<action id="A_14">
<when state="none" output="u"/>
<when state="1" output="û"/>
<when state="2" output="ù"/>
<when state="3" output="ú"/>
<when state="4" output="ü"/>
</action>
<action id="A_15">
<when state="none" output="y"/>
<when state="4" output="ÿ"/>
</action>
<action id="A_16">
<when state="none" next="4"/>
<when state="3" next="1"/>
</action>
<action id="A_17">
<when state="none" next="3"/>
</action>
<action id="A_18">
<when state="none" next="1"/>
</action>
<action id="A_19">
<when state="none" next="5"/>
</action>
<action id="A_2">
<when state="none" output="E"/>
<when state="1" output="Ê"/>
<when state="2" output="È"/>
<when state="3" output="É"/>
<when state="4" output="Ë"/>
</action>
<action id="A_3">
<when state="none" output="I"/>
<when state="1" output="Î"/>
<when state="2" output="Ì"/>
<when state="3" output="Í"/>
<when state="4" output="Ï"/>
</action>
<action id="A_4">
<when state="none" output="N"/>
<when state="5" output="Ñ"/>
</action>
<action id="A_5">
<when state="none" output="O"/>
<when state="1" output="Ô"/>
<when state="2" output="Ò"/>
<when state="3" output="Ó"/>
<when state="4" output="Ö"/>
<when state="5" output="Õ"/>
</action>
<action id="A_6">
<when state="none" output="U"/>
<when state="1" output="Û"/>
<when state="2" output="Ù"/>
<when state="3" output="Ú"/>
<when state="4" output="Ü"/>
</action>
<action id="A_7">
<when state="none" output="Y"/>
<when state="4" output="Ÿ"/>
</action>
<action id="A_8">
<when state="none" next="2"/>
</action>
<action id="A_9">
<when state="none" output="A"/>
<when state="1" output="â"/>
<when state="2" output="à"/>
<when state="3" output="á"/>
<when state="4" output="ä"/>
<when state="5" output="ã"/>
</action>
</actions>
<terminators>
<when state="1" output="ˆ"/>
<when state="2" output="`"/>
<when state="3" output="´"/>
<when state="4" output="¨"/>
<when state="5" output="˜"/>
</terminators>
</keyboard>

View file

@ -0,0 +1,595 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE keyboard SYSTEM "../../../../../resources/standards-data/Keylayout/Keylayout.dtd">
<!--
Data generated April 15 2025
Generated by S. Schmitt
-->
<keyboard group="126" id="-1272" name="Test" maxout="1">
<!--Error here: missing tag 'layouts' -->
<modifierMap id="30" defaultIndex="0">
<keyMapSelect mapIndex="0">
<modifier keys=""/>
<modifier keys="shift? caps? "/>
</keyMapSelect>
<keyMapSelect mapIndex="1">
<modifier keys="caps"/>
</keyMapSelect>
<keyMapSelect mapIndex="2">
<modifier keys="shift? leftShift caps? "/>
<modifier keys="anyShift caps?"/>
<modifier keys="shift leftShift caps "/>
<modifier keys="shift? rightShift caps? "/>
</keyMapSelect>
<keyMapSelect mapIndex="3">
<modifier keys="anyShift? anyOption caps? anyControl"/>
<modifier keys="anyShift? anyOption? caps? anyControl"/>
</keyMapSelect>
<keyMapSelect mapIndex="4">
<modifier keys="anyShift caps? anyOption ?"/>
</keyMapSelect>
<keyMapSelect mapIndex="5">
<modifier keys="anyOption"/>
<modifier keys="caps"/>
</keyMapSelect>
<keyMapSelect mapIndex="6">
<modifier keys="anyOption "/>
</keyMapSelect>
<keyMapSelect mapIndex="7">
<modifier keys="caps anyOption ?"/>
</keyMapSelect>
</modifierMap>
<keyMapSet id="ANSI">
<keyMap index="0">
<key code="0" action="A_9"/>
<key code="1" output="s"/>
<key code="2" output="d"/>
<key code="3" output="f"/>
<key code="4" output="h"/>
<key code="5" output="g"/>
<key code="6" output="z"/>
<key code="7" output="x"/>
<key code="8" output="c"/>
<key code="9" output="v"/>
<key code="10" output="\"/>
<key code="11" output="b"/>
<key code="12" output="q"/>
<key code="13" output="w"/>
<key code="14" action="A_10"/>
<key code="15" output="r"/>
<key code="16" action="A_15"/>
<key code="17" output="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" action="A_18"/>
<key code="25" output="9"/>
<key code="26" output="7"/>
<key code="27" output="&#x0027;"/>
<key code="28" output="8"/>
<key code="29" output="0"/>
<key code="30" output="+"/>
<key code="31" action="A_13"/>
<key code="32" action="A_14"/>
<key code="33" output="è"/>
<key code="34" action="A_11"/>
<key code="35" output="p"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="l"/>
<key code="38" output="j"/>
<key code="39" output="à"/>
<key code="40" output="k"/>
<key code="41" output="ò"/>
<key code="42" output="ù"/>
<key code="43" output=","/>
<key code="44" output="-"/>
<key code="45" action="A_12"/>
<key code="46" output="m"/>
<key code="47" output="."/>
<key code="48" output="&#x0009;"/>
<key code="49" action="A_0"/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="1">
<key code="0" action="A_1"/>
<key code="1" output="S"/>
<key code="2" output="D"/>
<key code="3" output="F"/>
<key code="4" output="@"/>
<key code="5" output="G"/>
<key code="6" output="Z"/>
<key code="7" output="X"/>
<key code="8" output="C"/>
<key code="9" output="V"/>
<key code="10" output="\"/>
<key code="11" output="B"/>
<key code="12" output="Q"/>
<key code="13" output="W"/>
<key code="14" action="A_2"/>
<key code="15" output="R"/>
<key code="16" action="A_7"/>
<key code="17" output="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="&#x0027;"/>
<key code="28" output="8"/>
<key code="29" output="0"/>
<key code="30" output="+"/>
<key code="31" action="A_5"/>
<key code="32" action="A_6"/>
<key code="33" output="è"/>
<key code="34" action="A_3"/>
<key code="35" output="P"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="L"/>
<key code="38" output="J"/>
<key code="39" output="à"/>
<key code="40" output="K"/>
<key code="41" output="ò"/>
<key code="42" output="ù"/>
<key code="43" output=","/>
<key code="44" output="-"/>
<key code="45" action="A_4"/>
<key code="46" output="M"/>
<key code="47" output="."/>
<key code="48" output="&#x0009;"/>
<key code="49" action="A_0"/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="2">
<key code="0" action="A_1"/>
<key code="1" output="S"/>
<key code="2" output="D"/>
<key code="3" output="F"/>
<key code="4" output="H"/>
<key code="5" output="G"/>
<key code="6" output="Z"/>
<key code="7" output="X"/>
<key code="8" output="C"/>
<key code="9" output="V"/>
<key code="10" output="|"/>
<key code="11" output="B"/>
<key code="12" output="Q"/>
<key code="13" output="W"/>
<key code="14" action="A_2"/>
<key code="15" output="R"/>
<key code="16" action="A_7"/>
<key code="17" output="T"/>
<key code="18" output="!"/>
<key code="19" output="&#x0022;"/>
<key code="20" output="£"/>
<key code="21" output="$"/>
<key code="22" output="&#x0026;"/>
<key code="23" output="%"/>
<key code="24" output="^"/>
<key code="25" output=")"/>
<key code="26" output="/"/>
<key code="27" output="?"/>
<key code="28" output="("/>
<key code="29" output="="/>
<key code="30" output="*"/>
<key code="31" action="A_5"/>
<key code="32" action="A_6"/>
<key code="33" output="é"/>
<key code="34" action="A_3"/>
<key code="35" output="P"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="L"/>
<key code="38" output="J"/>
<key code="39" output="°"/>
<key code="40" output="K"/>
<key code="41" output="ç"/>
<key code="42" output="§"/>
<key code="43" output=";"/>
<key code="44" output="_"/>
<key code="45" action="A_4"/>
<key code="46" output="M"/>
<key code="47" output=":"/>
<key code="48" output="&#x0009;"/>
<key code="49" action="A_0"/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="3">
<key code="0" output="U+1F600"/>
<key code="1" output="&#x1F601;"/>
<key code="2" output="&#x1234;"/>
<key code="3" output="ሴ"/>
<key code="4" output="😎"/>
<key code="5" output="&#x0007;"/>
<key code="6" output="&#x0017;"/>
<key code="7" output="&#x0018;"/>
<key code="8" output="&#x0003;"/>
<key code="9" output="&#x0016;"/>
<key code="10" output="&#x001C;"/>
<key code="11" output="&#x0002;"/>
<key code="12" output="&#x0011;"/>
<key code="13" output="&#x001A;"/>
<key code="14" output="&#x0005;"/>
<key code="15" output="&#x0012;"/>
<key code="16" output="&#x0019;"/>
<key code="17" output="&#x0014;"/>
<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="&#x001F;"/>
<key code="28" output="8"/>
<key code="29" output="0"/>
<key code="30" output="&#x001D;"/>
<key code="31" output="&#x000F;"/>
<key code="32" output="&#x0015;"/>
<key code="33" output="&#x001E;"/>
<key code="34" output="&#x0009;"/>
<key code="35" output="&#x0010;"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="&#x000C;"/>
<key code="38" output="&#x000A;"/>
<key code="39" output="%"/>
<key code="40" output="&#x000B;"/>
<key code="41" output="&#x000D;"/>
<key code="42" output="°"/>
<key code="43" output="."/>
<key code="44" output="!"/>
<key code="45" output="&#x000E;"/>
<key code="46" output="?"/>
<key code="47" output="/"/>
<key code="48" output="&#x0009;"/>
<key code="49" action="A_0"/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="4">
<key code="0" output="Å"/>
<key code="1" output="¯"/>
<key code="2" output="˘"/>
<key code="3" output="˙"/>
<key code="4" output="¸"/>
<key code="5" output="˚"/>
<key code="6" action="A_0"/>
<key code="7" output="‡"/>
<key code="8" output="Á"/>
<key code="9" output="É"/>
<key code="10" output="ı"/>
<key code="11" output="Í"/>
<key code="12" output="‚"/>
<key code="13" output="À"/>
<key code="14" output="È"/>
<key code="15" output="Ì"/>
<key code="16" output="Æ"/>
<key code="17" output="Ò"/>
<key code="18" output="»"/>
<key code="19" output="”"/>
<key code="20" output="’"/>
<key code="21" output="¢"/>
<key code="22" output="›"/>
<key code="23" output="‰"/>
<key code="24" output="±"/>
<key code="25" action="A_0"/>
<key code="26" output="⁄"/>
<key code="27" output="¿"/>
<key code="28" output=""/>
<key code="29" output="≈"/>
<key code="30" output="}"/>
<key code="31" output="Ø"/>
<key code="32" output="Ù"/>
<key code="33" output="{"/>
<key code="34" output="Œ"/>
<key code="35" output="∏"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="ˇ"/>
<key code="38" output="˝"/>
<key code="39" output="∞"/>
<key code="40" output="˛"/>
<key code="41" output="Ç"/>
<key code="42" output="◊"/>
<key code="43" action="A_0"/>
<key code="44" output="—"/>
<key code="45" output="Ó"/>
<key code="46" output="Ú"/>
<key code="47" output="·"/>
<key code="48" output="&#x0009;"/>
<key code="49" output=" "/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="5">
<key code="0" output="å"/>
<key code="1" output="ß"/>
<key code="2" output="∂"/>
<key code="3" output="ƒ"/>
<key code="4" output="∆"/>
<key code="5" output="∞"/>
<key code="6" output="∑"/>
<key code="7" output="†"/>
<key code="8" output="©"/>
<key code="9" output="√"/>
<key code="10" output="`"/>
<key code="11" output="∫"/>
<key code="12" output="„"/>
<key code="13" output="Ω"/>
<key code="14" output="€"/>
<key code="15" output="®"/>
<key code="16" output="æ"/>
<key code="17" output="™"/>
<key code="18" output="«"/>
<key code="19" output="“"/>
<key code="20" output="‘"/>
<key code="21" output="¥"/>
<key code="22" output="‹"/>
<key code="23" output="~"/>
<key code="24" action="A_18"/>
<key code="25" action="A_8"/>
<key code="26" output="÷"/>
<key code="27" output="¡"/>
<key code="28" action="A_17"/>
<key code="29" output="≠"/>
<key code="30" output="]"/>
<key code="31" output="ø"/>
<key code="32" action="A_16"/>
<key code="33" output="["/>
<key code="34" output="œ"/>
<key code="35" output="π"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="¬"/>
<key code="38" output="ª"/>
<key code="39" output="#"/>
<key code="40" output="º"/>
<key code="41" output="@"/>
<key code="42" output="¶"/>
<key code="43" output="…"/>
<key code="44" output="–"/>
<key code="45" action="A_19"/>
<key code="46" output="µ"/>
<key code="47" output="•"/>
<key code="48" output="&#x0009;"/>
<key code="49" output=" "/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="6">
<key code="0" output="å"/>
<key code="1" output="ß"/>
<key code="2" output="∂"/>
<key code="3" output="ƒ"/>
<key code="4" output="ẞ"/>
<key code="5" output="∞"/>
<key code="6" output="∑"/>
<key code="7" output="†"/>
<key code="8" output="©"/>
<key code="9" output="√"/>
<key code="10" output="`"/>
<key code="11" output="∫"/>
<key code="12" output="„"/>
<key code="13" output="Ω"/>
<key code="14" output="€"/>
<key code="15" output="®"/>
<key code="16" output="æ"/>
<key code="17" output="™"/>
<key code="18" output="«"/>
<key code="19" output="“"/>
<key code="20" output="‘"/>
<key code="21" output="¥"/>
<key code="22" output="‹"/>
<key code="23" output="~"/>
<key code="24" output="ˆ"/>
<key code="25" output="`"/>
<key code="26" output="÷"/>
<key code="27" output="¡"/>
<key code="28" output="´"/>
<key code="29" output="≠"/>
<key code="30" output="]"/>
<key code="31" output="ø"/>
<key code="32" output="¨"/>
<key code="33" output="["/>
<key code="34" output="œ"/>
<key code="35" output="π"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="¬"/>
<key code="38" output="ª"/>
<key code="39" output="#"/>
<key code="40" output="º"/>
<key code="41" output="@"/>
<key code="42" output="¶"/>
<key code="43" output="…"/>
<key code="44" output="–"/>
<key code="45" output="˜"/>
<key code="46" output="µ"/>
<key code="47" output="•"/>
<key code="48" output="&#x0009;"/>
<key code="49" output=" "/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="7">
<key code="0" output="Å"/>
<key code="1" output="ß"/>
<key code="2" output="∂"/>
<key code="3" output="ƒ"/>
<key code="4" output="€"/>
<key code="5" output="∞"/>
<key code="6" output="∑"/>
<key code="7" output="†"/>
<key code="8" output="©"/>
<key code="9" output="√"/>
<key code="10" output="`"/>
<key code="11" output="∫"/>
<key code="12" output="„"/>
<key code="13" output="Ω"/>
<key code="14" output="€"/>
<key code="15" output="®"/>
<key code="16" output="Æ"/>
<key code="17" output="™"/>
<key code="18" output="«"/>
<key code="19" output="“"/>
<key code="20" output="‘"/>
<key code="21" output="¥"/>
<key code="22" output="‹"/>
<key code="23" output="~"/>
<key code="24" output="ˆ"/>
<key code="25" output="`"/>
<key code="26" output="÷"/>
<key code="27" output="¡"/>
<key code="28" output="´"/>
<key code="29" output="≠"/>
<key code="30" output="]"/>
<key code="31" output="Ø"/>
<key code="32" output="¨"/>
<key code="33" output="["/>
<key code="34" output="Œ"/>
<key code="35" output="∏"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="¬"/>
<key code="38" output="ª"/>
<key code="39" output="#"/>
<key code="40" output="º"/>
<key code="41" output="@"/>
<key code="42" output="¶"/>
<key code="43" output="…"/>
<key code="44" output="–"/>
<key code="45" output="˜"/>
<key code="46" output="µ"/>
<key code="47" output="•"/>
<key code="48" output="&#x0009;"/>
<key code="49" output=" "/>
<key code="50" output="-"/>
</keyMap>
</keyMapSet>
<actions>
<action id="A_0">
<when state="none" output=" "/>
<when state="1" output="ˆ"/>
<when state="2" output="`"/>
<when state="3" output="´"/>
<when state="4" output="¨"/>
<when state="5" output="˜"/>
</action>
<action id="A_1">
<when state="none" output="A"/>
<when state="1" output="Â"/>
<when state="2" output="À"/>
<when state="3" output="Á"/>
<when state="4" output="Ä"/>
<when state="5" output="Ã"/>
</action>
<action id="A_10">
<when state="none" output="e"/>
<when state="1" output="ê"/>
<when state="2" output="è"/>
<when state="3" output="é"/>
<when state="4" output="ë"/>
</action>
<action id="A_11">
<when state="none" output="i"/>
<when state="1" output="î"/>
<when state="2" output="ì"/>
<when state="3" output="í"/>
<when state="4" output="ï"/>
</action>
<action id="A_12">
<when state="none" output="n"/>
<when state="5" output="ñ"/>
</action>
<action id="A_13">
<when state="none" output="o"/>
<when state="1" output="ô"/>
<when state="2" output="ò"/>
<when state="3" output="ó"/>
<when state="4" output="ö"/>
<when state="5" output="õ"/>
</action>
<action id="A_14">
<when state="none" output="u"/>
<when state="1" output="û"/>
<when state="2" output="ù"/>
<when state="3" output="ú"/>
<when state="4" output="ü"/>
</action>
<action id="A_15">
<when state="none" output="y"/>
<when state="4" output="ÿ"/>
</action>
<action id="A_16">
<when state="none" next="4"/>
<when state="3" next="1"/>
</action>
<action id="A_17">
<when state="none" next="3"/>
</action>
<action id="A_18">
<when state="none" next="1"/>
</action>
<action id="A_19">
<when state="none" next="5"/>
</action>
<action id="A_2">
<when state="none" output="E"/>
<when state="1" output="Ê"/>
<when state="2" output="È"/>
<when state="3" output="É"/>
<when state="4" output="Ë"/>
</action>
<action id="A_3">
<when state="none" output="I"/>
<when state="1" output="Î"/>
<when state="2" output="Ì"/>
<when state="3" output="Í"/>
<when state="4" output="Ï"/>
</action>
<action id="A_4">
<when state="none" output="N"/>
<when state="5" output="Ñ"/>
</action>
<action id="A_5">
<when state="none" output="O"/>
<when state="1" output="Ô"/>
<when state="2" output="Ò"/>
<when state="3" output="Ó"/>
<when state="4" output="Ö"/>
<when state="5" output="Õ"/>
</action>
<action id="A_6">
<when state="none" output="U"/>
<when state="1" output="Û"/>
<when state="2" output="Ù"/>
<when state="3" output="Ú"/>
<when state="4" output="Ü"/>
</action>
<action id="A_7">
<when state="none" output="Y"/>
<when state="4" output="Ÿ"/>
</action>
<action id="A_8">
<when state="none" next="2"/>
</action>
<action id="A_9">
<when state="none" output="A"/>
<when state="1" output="â"/>
<when state="2" output="à"/>
<when state="3" output="á"/>
<when state="4" output="ä"/>
<when state="5" output="ã"/>
</action>
</actions>
<terminators>
<when state="1" output="ˆ"/>
<when state="2" output="`"/>
<when state="3" output="´"/>
<when state="4" output="¨"/>
<when state="5" output="˜"/>
</terminators>
</keyboard>

View file

@ -0,0 +1,598 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE keyboard SYSTEM "file://localhost/System/Library/DTDs/KeyboardLayout.dtd">
<!--
Data generated April 15 2025
Generated by S. Schmitt
-->
<keyboard group= "126" id="-1272" name="Test wrong data Type" maxout=1>
<layouts>
<layout first="0" last="0" mapSet=138 modifiers="30"/>
</layouts>
<modifierMap id="30" defaultIndex="0">
<keyMapSelect mapIndex="0">
<modifier keys=""/>
<modifier keys="shift? caps? "/>
</keyMapSelect>
<keyMapSelect mapIndex="1">
<modifier keys="caps"/>
</keyMapSelect>
<keyMapSelect mapIndex="2">
<modifier keys="shift? leftShift caps? "/>
<modifier keys="anyShift caps?"/>
<modifier keys="shift leftShift caps "/>
<modifier keys="shift? rightShift caps? "/>
</keyMapSelect>
<keyMapSelect mapIndex="3">
<modifier keys="anyShift? anyOption caps? anyControl"/>
<modifier keys="anyShift? anyOption? caps? anyControl"/>
</keyMapSelect>
<keyMapSelect mapIndex="4">
<modifier keys="anyShift caps? anyOption ?"/>
</keyMapSelect>
<keyMapSelect mapIndex="5">
<modifier keys="anyOption"/>
<modifier keys="caps"/>
</keyMapSelect>
<keyMapSelect mapIndex="6">
<modifier keys="anyOption "/>
</keyMapSelect>
<keyMapSelect mapIndex="7">
<modifier keys="caps anyOption ?"/>
</keyMapSelect>
</modifierMap>
<keyMapSet id="ANSI">
<keyMap index="0">
<key code="0" action="A_9"/>
<key code="1" output="s"/>
<key code="2" output="d"/>
<key code="3" output="f"/>
<key code="4" output="h"/>
<key code="5" output="g"/>
<key code="6" output="z"/>
<key code="7" output="x"/>
<key code="8" output="c"/>
<key code="9" output="v"/>
<key code="10" output="\"/>
<key code="11" output="b"/>
<key code="12" output="q"/>
<key code="13" output="w"/>
<key code="14" action="A_10"/>
<key code="15" output="r"/>
<key code="16" action="A_15"/>
<key code="17" output="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" action="A_18"/>
<key code="25" output="9"/>
<key code="26" output="7"/>
<key code="27" output="&#x0027;"/>
<key code="28" output="8"/>
<key code="29" output="0"/>
<key code="30" output="+"/>
<key code="31" action="A_13"/>
<key code="32" action="A_14"/>
<key code="33" output="è"/>
<key code="34" action="A_11"/>
<key code="35" output="p"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="l"/>
<key code="38" output="j"/>
<key code="39" output="à"/>
<key code="40" output="k"/>
<key code="41" output="ò"/>
<key code="42" output="ù"/>
<key code="43" output=","/>
<key code="44" output="-"/>
<key code="45" action="A_12"/>
<key code="46" output="m"/>
<key code="47" output="."/>
<key code="48" output="&#x0009;"/>
<key code="49" action="A_0"/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="1">
<key code="0" action="A_1"/>
<key code="1" output="S"/>
<key code="2" output="D"/>
<key code="3" output="F"/>
<key code="4" output="@"/>
<key code="5" output="G"/>
<key code="6" output="Z"/>
<key code="7" output="X"/>
<key code="8" output="C"/>
<key code="9" output="V"/>
<key code="10" output="\"/>
<key code="11" output="B"/>
<key code="12" output="Q"/>
<key code="13" output="W"/>
<key code="14" action="A_2"/>
<key code="15" output="R"/>
<key code="16" action="A_7"/>
<key code="17" output="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="&#x0027;"/>
<key code="28" output="8"/>
<key code="29" output="0"/>
<key code="30" output="+"/>
<key code="31" action="A_5"/>
<key code="32" action="A_6"/>
<key code="33" output="è"/>
<key code="34" action="A_3"/>
<key code="35" output="P"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="L"/>
<key code="38" output="J"/>
<key code="39" output="à"/>
<key code="40" output="K"/>
<key code="41" output="ò"/>
<key code="42" output="ù"/>
<key code="43" output=","/>
<key code="44" output="-"/>
<key code="45" action="A_4"/>
<key code="46" output="M"/>
<key code="47" output="."/>
<key code="48" output="&#x0009;"/>
<key code="49" action="A_0"/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="2">
<key code="0" action="A_1"/>
<key code="1" output="S"/>
<key code="2" output="D"/>
<key code="3" output="F"/>
<key code="4" output="H"/>
<key code="5" output="G"/>
<key code="6" output="Z"/>
<key code="7" output="X"/>
<key code="8" output="C"/>
<key code="9" output="V"/>
<key code="10" output="|"/>
<key code="11" output="B"/>
<key code="12" output="Q"/>
<key code="13" output="W"/>
<key code="14" action="A_2"/>
<key code="15" output="R"/>
<key code="16" action="A_7"/>
<key code="17" output="T"/>
<key code="18" output="!"/>
<key code="19" output="&#x0022;"/>
<key code="20" output="£"/>
<key code="21" output="$"/>
<key code="22" output="&#x0026;"/>
<key code="23" output="%"/>
<key code="24" output="^"/>
<key code="25" output=")"/>
<key code="26" output="/"/>
<key code="27" output="?"/>
<key code="28" output="("/>
<key code="29" output="="/>
<key code="30" output="*"/>
<key code="31" action="A_5"/>
<key code="32" action="A_6"/>
<key code="33" output="é"/>
<key code="34" action="A_3"/>
<key code="35" output="P"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="L"/>
<key code="38" output="J"/>
<key code="39" output="°"/>
<key code="40" output="K"/>
<key code="41" output="ç"/>
<key code="42" output="§"/>
<key code="43" output=";"/>
<key code="44" output="_"/>
<key code="45" action="A_4"/>
<key code="46" output="M"/>
<key code="47" output=":"/>
<key code="48" output="&#x0009;"/>
<key code="49" action="A_0"/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="3">
<key code="0" output="U+1F600"/>
<key code="1" output="&#x1F601;"/>
<key code="2" output="&#x1234;"/>
<key code="3" output="ሴ"/>
<key code="4" output="😎"/>
<key code="5" output="&#x0007;"/>
<key code="6" output="&#x0017;"/>
<key code="7" output="&#x0018;"/>
<key code="8" output="&#x0003;"/>
<key code="9" output="&#x0016;"/>
<key code="10" output="&#x001C;"/>
<key code="11" output="&#x0002;"/>
<key code="12" output="&#x0011;"/>
<key code="13" output="&#x001A;"/>
<key code="14" output="&#x0005;"/>
<key code="15" output="&#x0012;"/>
<key code="16" output="&#x0019;"/>
<key code="17" output="&#x0014;"/>
<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="&#x001F;"/>
<key code="28" output="8"/>
<key code="29" output="0"/>
<key code="30" output="&#x001D;"/>
<key code="31" output="&#x000F;"/>
<key code="32" output="&#x0015;"/>
<key code="33" output="&#x001E;"/>
<key code="34" output="&#x0009;"/>
<key code="35" output="&#x0010;"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="&#x000C;"/>
<key code="38" output="&#x000A;"/>
<key code="39" output="%"/>
<key code="40" output="&#x000B;"/>
<key code="41" output="&#x000D;"/>
<key code="42" output="°"/>
<key code="43" output="."/>
<key code="44" output="!"/>
<key code="45" output="&#x000E;"/>
<key code="46" output="?"/>
<key code="47" output="/"/>
<key code="48" output="&#x0009;"/>
<key code="49" action="A_0"/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="4">
<key code="0" output="Å"/>
<key code="1" output="¯"/>
<key code="2" output="˘"/>
<key code="3" output="˙"/>
<key code="4" output="¸"/>
<key code="5" output="˚"/>
<key code="6" action="A_0"/>
<key code="7" output="‡"/>
<key code="8" output="Á"/>
<key code="9" output="É"/>
<key code="10" output="ı"/>
<key code="11" output="Í"/>
<key code="12" output="‚"/>
<key code="13" output="À"/>
<key code="14" output="È"/>
<key code="15" output="Ì"/>
<key code="16" output="Æ"/>
<key code="17" output="Ò"/>
<key code="18" output="»"/>
<key code="19" output="”"/>
<key code="20" output="’"/>
<key code="21" output="¢"/>
<key code="22" output="›"/>
<key code="23" output="‰"/>
<key code="24" output="±"/>
<key code="25" action="A_0"/>
<key code="26" output="⁄"/>
<key code="27" output="¿"/>
<key code="28" output=""/>
<key code="29" output="≈"/>
<key code="30" output="}"/>
<key code="31" output="Ø"/>
<key code="32" output="Ù"/>
<key code="33" output="{"/>
<key code="34" output="Œ"/>
<key code="35" output="∏"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="ˇ"/>
<key code="38" output="˝"/>
<key code="39" output="∞"/>
<key code="40" output="˛"/>
<key code="41" output="Ç"/>
<key code="42" output="◊"/>
<key code="43" action="A_0"/>
<key code="44" output="—"/>
<key code="45" output="Ó"/>
<key code="46" output="Ú"/>
<key code="47" output="·"/>
<key code="48" output="&#x0009;"/>
<key code="49" output=" "/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="5">
<key code="0" output="å"/>
<key code="1" output="ß"/>
<key code="2" output="∂"/>
<key code="3" output="ƒ"/>
<key code="4" output="∆"/>
<key code="5" output="∞"/>
<key code="6" output="∑"/>
<key code="7" output="†"/>
<key code="8" output="©"/>
<key code="9" output="√"/>
<key code="10" output="`"/>
<key code="11" output="∫"/>
<key code="12" output="„"/>
<key code="13" output="Ω"/>
<key code="14" output="€"/>
<key code="15" output="®"/>
<key code="16" output="æ"/>
<key code="17" output="™"/>
<key code="18" output="«"/>
<key code="19" output="“"/>
<key code="20" output="‘"/>
<key code="21" output="¥"/>
<key code="22" output="‹"/>
<key code="23" output="~"/>
<key code="24" action="A_18"/>
<key code="25" action="A_8"/>
<key code="26" output="÷"/>
<key code="27" output="¡"/>
<key code="28" action="A_17"/>
<key code="29" output="≠"/>
<key code="30" output="]"/>
<key code="31" output="ø"/>
<key code="32" action="A_16"/>
<key code="33" output="["/>
<key code="34" output="œ"/>
<key code="35" output="π"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="¬"/>
<key code="38" output="ª"/>
<key code="39" output="#"/>
<key code="40" output="º"/>
<key code="41" output="@"/>
<key code="42" output="¶"/>
<key code="43" output="…"/>
<key code="44" output="–"/>
<key code="45" action="A_19"/>
<key code="46" output="µ"/>
<key code="47" output="•"/>
<key code="48" output="&#x0009;"/>
<key code="49" output=" "/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="6">
<key code="0" output="å"/>
<key code="1" output="ß"/>
<key code="2" output="∂"/>
<key code="3" output="ƒ"/>
<key code="4" output="ẞ"/>
<key code="5" output="∞"/>
<key code="6" output="∑"/>
<key code="7" output="†"/>
<key code="8" output="©"/>
<key code="9" output="√"/>
<key code="10" output="`"/>
<key code="11" output="∫"/>
<key code="12" output="„"/>
<key code="13" output="Ω"/>
<key code="14" output="€"/>
<key code="15" output="®"/>
<key code="16" output="æ"/>
<key code="17" output="™"/>
<key code="18" output="«"/>
<key code="19" output="“"/>
<key code="20" output="‘"/>
<key code="21" output="¥"/>
<key code="22" output="‹"/>
<key code="23" output="~"/>
<key code="24" output="ˆ"/>
<key code="25" output="`"/>
<key code="26" output="÷"/>
<key code="27" output="¡"/>
<key code="28" output="´"/>
<key code="29" output="≠"/>
<key code="30" output="]"/>
<key code="31" output="ø"/>
<key code="32" output="¨"/>
<key code="33" output="["/>
<key code="34" output="œ"/>
<key code="35" output="π"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="¬"/>
<key code="38" output="ª"/>
<key code="39" output="#"/>
<key code="40" output="º"/>
<key code="41" output="@"/>
<key code="42" output="¶"/>
<key code="43" output="…"/>
<key code="44" output="–"/>
<key code="45" output="˜"/>
<key code="46" output="µ"/>
<key code="47" output="•"/>
<key code="48" output="&#x0009;"/>
<key code="49" output=" "/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="7">
<key code="0" output="Å"/>
<key code="1" output="ß"/>
<key code="2" output="∂"/>
<key code="3" output="ƒ"/>
<key code="4" output="€"/>
<key code="5" output="∞"/>
<key code="6" output="∑"/>
<key code="7" output="†"/>
<key code="8" output="©"/>
<key code="9" output="√"/>
<key code="10" output="`"/>
<key code="11" output="∫"/>
<key code="12" output="„"/>
<key code="13" output="Ω"/>
<key code="14" output="€"/>
<key code="15" output="®"/>
<key code="16" output="Æ"/>
<key code="17" output="™"/>
<key code="18" output="«"/>
<key code="19" output="“"/>
<key code="20" output="‘"/>
<key code="21" output="¥"/>
<key code="22" output="‹"/>
<key code="23" output="~"/>
<key code="24" output="ˆ"/>
<key code="25" output="`"/>
<key code="26" output="÷"/>
<key code="27" output="¡"/>
<key code="28" output="´"/>
<key code="29" output="≠"/>
<key code="30" output="]"/>
<key code="31" output="Ø"/>
<key code="32" output="¨"/>
<key code="33" output="["/>
<key code="34" output="Œ"/>
<key code="35" output="∏"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="¬"/>
<key code="38" output="ª"/>
<key code="39" output="#"/>
<key code="40" output="º"/>
<key code="41" output="@"/>
<key code="42" output="¶"/>
<key code="43" output="…"/>
<key code="44" output="–"/>
<key code="45" output="˜"/>
<key code="46" output="µ"/>
<key code="47" output="•"/>
<key code="48" output="&#x0009;"/>
<key code="49" output=" "/>
<key code="50" output="-"/>
</keyMap>
</keyMapSet>
<actions>
<action id="A_0">
<!--Error here: no entries in 'action - when' -->
</action>
<action id="A_1">
<when state="none" output="A"/>
<when state="1" output="Â"/>
<when state="2" output="À"/>
<when state="3" output="Á"/>
<when state="4" output="Ä"/>
<when state="5" output="Ã"/>
</action>
<action id="A_10">
<when state="none" output="e"/>
<when state="1" output="ê"/>
<when state="2" output="è"/>
<when state="3" output="é"/>
<when state="4" output="ë"/>
</action>
<action id="A_11">
<when state="none" output="i"/>
<when state="1" output="î"/>
<when state="2" output="ì"/>
<when state="3" output="í"/>
<when state="4" output="ï"/>
</action>
<action id="A_12">
<when state="none" output="n"/>
<when state="5" output="ñ"/>
</action>
<action id="A_13">
<when state="none" output="o"/>
<when state="1" output="ô"/>
<when state="2" output="ò"/>
<when state="3" output="ó"/>
<when state="4" output="ö"/>
<when state="5" output="õ"/>
</action>
<action id="A_14">
<when state="none" output="u"/>
<when state="1" output="û"/>
<when state="2" output="ù"/>
<when state="3" output="ú"/>
<when state="4" output="ü"/>
</action>
<action id="A_15">
<when state="none" output="y"/>
<when state="4" output="ÿ"/>
</action>
<action id="A_16">
<when state="none" next="4"/>
<when state="3" next="1"/>
</action>
<action id="A_17">
<when state="none" next="3"/>
</action>
<action id="A_18">
<when state="none" next="1"/>
</action>
<action id="A_19">
<when state="none" next="5"/>
</action>
<action id="A_2">
<when state="none" output="E"/>
<when state="1" output="Ê"/>
<when state="2" output="È"/>
<when state="3" output="É"/>
<when state="4" output="Ë"/>
</action>
<action id="A_3">
<when state="none" output="I"/>
<when state="1" output="Î"/>
<when state="2" output="Ì"/>
<when state="3" output="Í"/>
<when state="4" output="Ï"/>
</action>
<action id="A_4">
<when state="none" output="N"/>
<when state="5" output="Ñ"/>
</action>
<action id="A_5">
<when state="none" output="O"/>
<when state="1" output="Ô"/>
<when state="2" output="Ò"/>
<when state="3" output="Ó"/>
<when state="4" output="Ö"/>
<when state="5" output="Õ"/>
</action>
<action id="A_6">
<when state="none" output="U"/>
<when state="1" output="Û"/>
<when state="2" output="Ù"/>
<when state="3" output="Ú"/>
<when state="4" output="Ü"/>
</action>
<action id="A_7">
<when state="none" output="Y"/>
<when state="4" output="Ÿ"/>
</action>
<action id="A_8">
<when state="none" next="2"/>
</action>
<action id="A_9">
<when state="none" output="A"/>
<when state="1" output="â"/>
<when state="2" output="à"/>
<when state="3" output="á"/>
<when state="4" output="ä"/>
<when state="5" output="ã"/>
</action>
</actions>
<terminators>
<when state="1" output="ˆ"/>
<when state="2" output="`"/>
<when state="3" output="´"/>
<when state="4" output="¨"/>
<when state="5" output="˜"/>
</terminators>
</keyboard>

View file

@ -0,0 +1,598 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE keyboard SYSTEM "../../../../../resources/standards-data/Keylayout/Keylayout.dtd">
<!--
Data generated April 15 2025
Generated by S. Schmitt
-->
<keyboard group="126" id="-1272" name="Test" maxout="1">
<layouts>
<layout first="0" last="0" mapSet="138" modifiers="30"/>
</layouts>
<!--Error here: unknown Tag 'unknown' -->
<unknownTag id="30" defaultIndex="0">
<keyMapSelect mapIndex="0">
<modifier keys=""/>
<modifier keys="shift? caps? "/>
</keyMapSelect>
<keyMapSelect mapIndex="1">
<modifier keys="caps"/>
</keyMapSelect>
<keyMapSelect mapIndex="2">
<modifier keys="shift? leftShift caps? "/>
<modifier keys="anyShift caps?"/>
<modifier keys="shift leftShift caps "/>
<modifier keys="shift? rightShift caps? "/>
</keyMapSelect>
<keyMapSelect mapIndex="3">
<modifier keys="anyShift? anyOption caps? anyControl"/>
<modifier keys="anyShift? anyOption? caps? anyControl"/>
</keyMapSelect>
<keyMapSelect mapIndex="4">
<modifier keys="anyShift caps? anyOption ?"/>
</keyMapSelect>
<keyMapSelect mapIndex="5">
<modifier keys="anyOption"/>
<modifier keys="caps"/>
</keyMapSelect>
<keyMapSelect mapIndex="6">
<modifier keys="anyOption "/>
</keyMapSelect>
<keyMapSelect mapIndex="7">
<modifier keys="caps anyOption ?"/>
</keyMapSelect>
</unknownTag>
<keyMapSet id="ANSI">
<keyMap index="0">
<key code="0" action="A_9"/>
<key code="1" output="s"/>
<key code="2" output="d"/>
<key code="3" output="f"/>
<key code="4" output="h"/>
<key code="5" output="g"/>
<key code="6" output="z"/>
<key code="7" output="x"/>
<key code="8" output="c"/>
<key code="9" output="v"/>
<key code="10" output="\"/>
<key code="11" output="b"/>
<key code="12" output="q"/>
<key code="13" output="w"/>
<key code="14" action="A_10"/>
<key code="15" output="r"/>
<key code="16" action="A_15"/>
<key code="17" output="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" action="A_18"/>
<key code="25" output="9"/>
<key code="26" output="7"/>
<key code="27" output="&#x0027;"/>
<key code="28" output="8"/>
<key code="29" output="0"/>
<key code="30" output="+"/>
<key code="31" action="A_13"/>
<key code="32" action="A_14"/>
<key code="33" output="è"/>
<key code="34" action="A_11"/>
<key code="35" output="p"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="l"/>
<key code="38" output="j"/>
<key code="39" output="à"/>
<key code="40" output="k"/>
<key code="41" output="ò"/>
<key code="42" output="ù"/>
<key code="43" output=","/>
<key code="44" output="-"/>
<key code="45" action="A_12"/>
<key code="46" output="m"/>
<key code="47" output="."/>
<key code="48" output="&#x0009;"/>
<key code="49" action="A_0"/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="1">
<key code="0" action="A_1"/>
<key code="1" output="S"/>
<key code="2" output="D"/>
<key code="3" output="F"/>
<key code="4" output="@"/>
<key code="5" output="G"/>
<key code="6" output="Z"/>
<key code="7" output="X"/>
<key code="8" output="C"/>
<key code="9" output="V"/>
<key code="10" output="\"/>
<key code="11" output="B"/>
<key code="12" output="Q"/>
<key code="13" output="W"/>
<key code="14" action="A_2"/>
<key code="15" output="R"/>
<key code="16" action="A_7"/>
<key code="17" output="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="&#x0027;"/>
<key code="28" output="8"/>
<key code="29" output="0"/>
<key code="30" output="+"/>
<key code="31" action="A_5"/>
<key code="32" action="A_6"/>
<key code="33" output="è"/>
<key code="34" action="A_3"/>
<key code="35" output="P"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="L"/>
<key code="38" output="J"/>
<key code="39" output="à"/>
<key code="40" output="K"/>
<key code="41" output="ò"/>
<key code="42" output="ù"/>
<key code="43" output=","/>
<key code="44" output="-"/>
<key code="45" action="A_4"/>
<key code="46" output="M"/>
<key code="47" output="."/>
<key code="48" output="&#x0009;"/>
<key code="49" action="A_0"/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="2">
<key code="0" action="A_1"/>
<key code="1" output="S"/>
<key code="2" output="D"/>
<key code="3" output="F"/>
<key code="4" output="H"/>
<key code="5" output="G"/>
<key code="6" output="Z"/>
<key code="7" output="X"/>
<key code="8" output="C"/>
<key code="9" output="V"/>
<key code="10" output="|"/>
<key code="11" output="B"/>
<key code="12" output="Q"/>
<key code="13" output="W"/>
<key code="14" action="A_2"/>
<key code="15" output="R"/>
<key code="16" action="A_7"/>
<key code="17" output="T"/>
<key code="18" output="!"/>
<key code="19" output="&#x0022;"/>
<key code="20" output="£"/>
<key code="21" output="$"/>
<key code="22" output="&#x0026;"/>
<key code="23" output="%"/>
<key code="24" output="^"/>
<key code="25" output=")"/>
<key code="26" output="/"/>
<key code="27" output="?"/>
<key code="28" output="("/>
<key code="29" output="="/>
<key code="30" output="*"/>
<key code="31" action="A_5"/>
<key code="32" action="A_6"/>
<key code="33" output="é"/>
<key code="34" action="A_3"/>
<key code="35" output="P"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="L"/>
<key code="38" output="J"/>
<key code="39" output="°"/>
<key code="40" output="K"/>
<key code="41" output="ç"/>
<key code="42" output="§"/>
<key code="43" output=";"/>
<key code="44" output="_"/>
<key code="45" action="A_4"/>
<key code="46" output="M"/>
<key code="47" output=":"/>
<key code="48" output="&#x0009;"/>
<key code="49" action="A_0"/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="3">
<key code="0" output="U+1F600"/>
<key code="1" output="&#x1F601;"/>
<key code="2" output="&#x1234;"/>
<key code="3" output="ሴ"/>
<key code="4" output="😎"/>
<key code="5" output="&#x0007;"/>
<key code="6" output="&#x0017;"/>
<key code="7" output="&#x0018;"/>
<key code="8" output="&#x0003;"/>
<key code="9" output="&#x0016;"/>
<key code="10" output="&#x001C;"/>
<key code="11" output="&#x0002;"/>
<key code="12" output="&#x0011;"/>
<key code="13" output="&#x001A;"/>
<key code="14" output="&#x0005;"/>
<key code="15" output="&#x0012;"/>
<key code="16" output="&#x0019;"/>
<key code="17" output="&#x0014;"/>
<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="&#x001F;"/>
<key code="28" output="8"/>
<key code="29" output="0"/>
<key code="30" output="&#x001D;"/>
<key code="31" output="&#x000F;"/>
<key code="32" output="&#x0015;"/>
<key code="33" output="&#x001E;"/>
<key code="34" output="&#x0009;"/>
<key code="35" output="&#x0010;"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="&#x000C;"/>
<key code="38" output="&#x000A;"/>
<key code="39" output="%"/>
<key code="40" output="&#x000B;"/>
<key code="41" output="&#x000D;"/>
<key code="42" output="°"/>
<key code="43" output="."/>
<key code="44" output="!"/>
<key code="45" output="&#x000E;"/>
<key code="46" output="?"/>
<key code="47" output="/"/>
<key code="48" output="&#x0009;"/>
<key code="49" action="A_0"/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="4">
<key code="0" output="Å"/>
<key code="1" output="¯"/>
<key code="2" output="˘"/>
<key code="3" output="˙"/>
<key code="4" output="¸"/>
<key code="5" output="˚"/>
<key code="6" action="A_0"/>
<key code="7" output="‡"/>
<key code="8" output="Á"/>
<key code="9" output="É"/>
<key code="10" output="ı"/>
<key code="11" output="Í"/>
<key code="12" output="‚"/>
<key code="13" output="À"/>
<key code="14" output="È"/>
<key code="15" output="Ì"/>
<key code="16" output="Æ"/>
<key code="17" output="Ò"/>
<key code="18" output="»"/>
<key code="19" output="”"/>
<key code="20" output="’"/>
<key code="21" output="¢"/>
<key code="22" output="›"/>
<key code="23" output="‰"/>
<key code="24" output="±"/>
<key code="25" action="A_0"/>
<key code="26" output="⁄"/>
<key code="27" output="¿"/>
<key code="28" output=""/>
<key code="29" output="≈"/>
<key code="30" output="}"/>
<key code="31" output="Ø"/>
<key code="32" output="Ù"/>
<key code="33" output="{"/>
<key code="34" output="Œ"/>
<key code="35" output="∏"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="ˇ"/>
<key code="38" output="˝"/>
<key code="39" output="∞"/>
<key code="40" output="˛"/>
<key code="41" output="Ç"/>
<key code="42" output="◊"/>
<key code="43" action="A_0"/>
<key code="44" output="—"/>
<key code="45" output="Ó"/>
<key code="46" output="Ú"/>
<key code="47" output="·"/>
<key code="48" output="&#x0009;"/>
<key code="49" output=" "/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="5">
<key code="0" output="å"/>
<key code="1" output="ß"/>
<key code="2" output="∂"/>
<key code="3" output="ƒ"/>
<key code="4" output="∆"/>
<key code="5" output="∞"/>
<key code="6" output="∑"/>
<key code="7" output="†"/>
<key code="8" output="©"/>
<key code="9" output="√"/>
<key code="10" output="`"/>
<key code="11" output="∫"/>
<key code="12" output="„"/>
<key code="13" output="Ω"/>
<key code="14" output="€"/>
<key code="15" output="®"/>
<key code="16" output="æ"/>
<key code="17" output="™"/>
<key code="18" output="«"/>
<key code="19" output="“"/>
<key code="20" output="‘"/>
<key code="21" output="¥"/>
<key code="22" output="‹"/>
<key code="23" output="~"/>
<key code="24" action="A_18"/>
<key code="25" action="A_8"/>
<key code="26" output="÷"/>
<key code="27" output="¡"/>
<key code="28" action="A_17"/>
<key code="29" output="≠"/>
<key code="30" output="]"/>
<key code="31" output="ø"/>
<key code="32" action="A_16"/>
<key code="33" output="["/>
<key code="34" output="œ"/>
<key code="35" output="π"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="¬"/>
<key code="38" output="ª"/>
<key code="39" output="#"/>
<key code="40" output="º"/>
<key code="41" output="@"/>
<key code="42" output="¶"/>
<key code="43" output="…"/>
<key code="44" output="–"/>
<key code="45" action="A_19"/>
<key code="46" output="µ"/>
<key code="47" output="•"/>
<key code="48" output="&#x0009;"/>
<key code="49" output=" "/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="6">
<key code="0" output="å"/>
<key code="1" output="ß"/>
<key code="2" output="∂"/>
<key code="3" output="ƒ"/>
<key code="4" output="ẞ"/>
<key code="5" output="∞"/>
<key code="6" output="∑"/>
<key code="7" output="†"/>
<key code="8" output="©"/>
<key code="9" output="√"/>
<key code="10" output="`"/>
<key code="11" output="∫"/>
<key code="12" output="„"/>
<key code="13" output="Ω"/>
<key code="14" output="€"/>
<key code="15" output="®"/>
<key code="16" output="æ"/>
<key code="17" output="™"/>
<key code="18" output="«"/>
<key code="19" output="“"/>
<key code="20" output="‘"/>
<key code="21" output="¥"/>
<key code="22" output="‹"/>
<key code="23" output="~"/>
<key code="24" output="ˆ"/>
<key code="25" output="`"/>
<key code="26" output="÷"/>
<key code="27" output="¡"/>
<key code="28" output="´"/>
<key code="29" output="≠"/>
<key code="30" output="]"/>
<key code="31" output="ø"/>
<key code="32" output="¨"/>
<key code="33" output="["/>
<key code="34" output="œ"/>
<key code="35" output="π"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="¬"/>
<key code="38" output="ª"/>
<key code="39" output="#"/>
<key code="40" output="º"/>
<key code="41" output="@"/>
<key code="42" output="¶"/>
<key code="43" output="…"/>
<key code="44" output="–"/>
<key code="45" output="˜"/>
<key code="46" output="µ"/>
<key code="47" output="•"/>
<key code="48" output="&#x0009;"/>
<key code="49" output=" "/>
<key code="50" output="-"/>
</keyMap>
<keyMap index="7">
<key code="0" output="Å"/>
<key code="1" output="ß"/>
<key code="2" output="∂"/>
<key code="3" output="ƒ"/>
<key code="4" output="€"/>
<key code="5" output="∞"/>
<key code="6" output="∑"/>
<key code="7" output="†"/>
<key code="8" output="©"/>
<key code="9" output="√"/>
<key code="10" output="`"/>
<key code="11" output="∫"/>
<key code="12" output="„"/>
<key code="13" output="Ω"/>
<key code="14" output="€"/>
<key code="15" output="®"/>
<key code="16" output="Æ"/>
<key code="17" output="™"/>
<key code="18" output="«"/>
<key code="19" output="“"/>
<key code="20" output="‘"/>
<key code="21" output="¥"/>
<key code="22" output="‹"/>
<key code="23" output="~"/>
<key code="24" output="ˆ"/>
<key code="25" output="`"/>
<key code="26" output="÷"/>
<key code="27" output="¡"/>
<key code="28" output="´"/>
<key code="29" output="≠"/>
<key code="30" output="]"/>
<key code="31" output="Ø"/>
<key code="32" output="¨"/>
<key code="33" output="["/>
<key code="34" output="Œ"/>
<key code="35" output="∏"/>
<key code="36" output="&#x000D;"/>
<key code="37" output="¬"/>
<key code="38" output="ª"/>
<key code="39" output="#"/>
<key code="40" output="º"/>
<key code="41" output="@"/>
<key code="42" output="¶"/>
<key code="43" output="…"/>
<key code="44" output="–"/>
<key code="45" output="˜"/>
<key code="46" output="µ"/>
<key code="47" output="•"/>
<key code="48" output="&#x0009;"/>
<key code="49" output=" "/>
<key code="50" output="-"/>
</keyMap>
</keyMapSet>
<actions>
<action id="A_0">
<when state="none" output=" "/>
<when state="1" output="ˆ"/>
<when state="2" output="`"/>
<when state="3" output="´"/>
<when state="4" output="¨"/>
<when state="5" output="˜"/>
</action>
<action id="A_1">
<when state="none" output="A"/>
<when state="1" output="Â"/>
<when state="2" output="À"/>
<when state="3" output="Á"/>
<when state="4" output="Ä"/>
<when state="5" output="Ã"/>
</action>
<action id="A_10">
<when state="none" output="e"/>
<when state="1" output="ê"/>
<when state="2" output="è"/>
<when state="3" output="é"/>
<when state="4" output="ë"/>
</action>
<action id="A_11">
<when state="none" output="i"/>
<when state="1" output="î"/>
<when state="2" output="ì"/>
<when state="3" output="í"/>
<when state="4" output="ï"/>
</action>
<action id="A_12">
<when state="none" output="n"/>
<when state="5" output="ñ"/>
</action>
<action id="A_13">
<when state="none" output="o"/>
<when state="1" output="ô"/>
<when state="2" output="ò"/>
<when state="3" output="ó"/>
<when state="4" output="ö"/>
<when state="5" output="õ"/>
</action>
<action id="A_14">
<when state="none" output="u"/>
<when state="1" output="û"/>
<when state="2" output="ù"/>
<when state="3" output="ú"/>
<when state="4" output="ü"/>
</action>
<action id="A_15">
<when state="none" output="y"/>
<when state="4" output="ÿ"/>
</action>
<action id="A_16">
<when state="none" next="4"/>
<when state="3" next="1"/>
</action>
<action id="A_17">
<when state="none" next="3"/>
</action>
<action id="A_18">
<when state="none" next="1"/>
</action>
<action id="A_19">
<when state="none" next="5"/>
</action>
<action id="A_2">
<when state="none" output="E"/>
<when state="1" output="Ê"/>
<when state="2" output="È"/>
<when state="3" output="É"/>
<when state="4" output="Ë"/>
</action>
<action id="A_3">
<when state="none" output="I"/>
<when state="1" output="Î"/>
<when state="2" output="Ì"/>
<when state="3" output="Í"/>
<when state="4" output="Ï"/>
</action>
<action id="A_4">
<when state="none" output="N"/>
<when state="5" output="Ñ"/>
</action>
<action id="A_5">
<when state="none" output="O"/>
<when state="1" output="Ô"/>
<when state="2" output="Ò"/>
<when state="3" output="Ó"/>
<when state="4" output="Ö"/>
<when state="5" output="Õ"/>
</action>
<action id="A_6">
<when state="none" output="U"/>
<when state="1" output="Û"/>
<when state="2" output="Ù"/>
<when state="3" output="Ú"/>
<when state="4" output="Ü"/>
</action>
<action id="A_7">
<when state="none" output="Y"/>
<when state="4" output="Ÿ"/>
</action>
<action id="A_8">
<when state="none" next="2"/>
</action>
<action id="A_9">
<when state="none" output="A"/>
<when state="1" output="â"/>
<when state="2" output="à"/>
<when state="3" output="á"/>
<when state="4" output="ä"/>
<when state="5" output="ã"/>
</action>
</actions>
<terminators>
<when state="1" output="ˆ"/>
<when state="2" output="`"/>
<when state="3" output="´"/>
<when state="4" output="¨"/>
<when state="5" output="˜"/>
</terminators>
</keyboard>

View file

@ -11,6 +11,7 @@ import 'mocha';
import { assert } from 'chai';
import { compilerTestCallbacks, makePathToFixture } from './helpers/index.js';
import { KeylayoutFileReader } from '../src/keylayout-to-kmn/keylayout-file-reader.js';
import { KeylayoutXMLSourceFile } from '../../common/web/utils/src/types/keylayout/keylayout-xml.js';
describe('KeylayoutFileReader', function () {
@ -18,6 +19,47 @@ describe('KeylayoutFileReader', function () {
compilerTestCallbacks.clear();
});
describe("validate() ", function () {
it('validate() should return true on correct inputfile', async function () {
const sut_r = new KeylayoutFileReader(compilerTestCallbacks);
const inputFilename = makePathToFixture('../data/Test.keylayout');
const result: KeylayoutXMLSourceFile = sut_r.read(inputFilename);
const validated = sut_r.validate(result);
assert.isTrue(validated);
});
it('validate() should return false on inputfile with unknown tags', async function () {
const sut_r = new KeylayoutFileReader(compilerTestCallbacks);
const inputFilename = makePathToFixture('../data/Test_unknownTags.keylayout');
const result: KeylayoutXMLSourceFile = sut_r.read(inputFilename);
const validated = sut_r.validate(result);
assert.isFalse(validated);
});
it('validate() should return false on inputfile with additional tags', async function () {
const sut_r = new KeylayoutFileReader(compilerTestCallbacks);
const inputFilename = makePathToFixture('../data/Test_additionalTags.keylayout');
const result: KeylayoutXMLSourceFile = sut_r.read(inputFilename);
const validated = sut_r.validate(result);
assert.isFalse(validated);
});
it('validate() should return false on inputfile with missing tags', async function () {
const sut_r = new KeylayoutFileReader(compilerTestCallbacks);
const inputFilename = makePathToFixture('../data/Test_missingTags.keylayout');
const result: KeylayoutXMLSourceFile = sut_r.read(inputFilename);
const validated = sut_r.validate(result);
assert.isFalse(validated);
});
it('validate() should return false on no entries in action-when', async function () {
const sut_r = new KeylayoutFileReader(compilerTestCallbacks);
const inputFilename = makePathToFixture('../data/Test_noActionWhen.keylayout');
const result: KeylayoutXMLSourceFile = sut_r.read(inputFilename);
const validated = sut_r.validate(result);
assert.isFalse(validated);
});
});
describe("read() ", function () {
const sut_r = new KeylayoutFileReader(compilerTestCallbacks);