mirror of
https://github.com/keymanapp/keyman.git
synced 2026-10-07 14:37:29 +00:00
feat(developer): move testfiles to seperate folders for each conversion
This commit is contained in:
parent
a1ceb539c2
commit
cbf3dee04f
71 changed files with 4264 additions and 128 deletions
596
developer/src/kmc-convert/test/data/tests-keylayout-kmn/Test.xkb
Normal file
596
developer/src/kmc-convert/test/data/tests-keylayout-kmn/Test.xkb
Normal file
|
|
@ -0,0 +1,596 @@
|
|||
<?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
|
||||
a test with lots of shiftstates, behaviours and C0, C1, C2 C3 rules
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test" 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="'"/>
|
||||
<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="
"/>
|
||||
<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="	"/>
|
||||
<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="'"/>
|
||||
<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="
"/>
|
||||
<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="	"/>
|
||||
<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="""/>
|
||||
<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" 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="
"/>
|
||||
<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="	"/>
|
||||
<key code="49" action="A_0"/>
|
||||
<key code="50" output="-"/>
|
||||
</keyMap>
|
||||
<keyMap index="3">
|
||||
<key code="0" output="U+1F600"/>
|
||||
<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="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" output=""/>
|
||||
<key code="32" output=""/>
|
||||
<key code="33" output=""/>
|
||||
<key code="34" output="	"/>
|
||||
<key code="35" output=""/>
|
||||
<key code="36" output="
"/>
|
||||
<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="	"/>
|
||||
<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="
"/>
|
||||
<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="	"/>
|
||||
<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="
"/>
|
||||
<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="	"/>
|
||||
<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="
"/>
|
||||
<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="	"/>
|
||||
<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="
"/>
|
||||
<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="	"/>
|
||||
<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>
|
||||
|
|
@ -0,0 +1,596 @@
|
|||
<?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
|
||||
a test with lots of shiftstates, behaviours and C0, C1, C2 C3 rules
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test" 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="'"/>
|
||||
<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="
"/>
|
||||
<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="	"/>
|
||||
<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="'"/>
|
||||
<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="
"/>
|
||||
<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="	"/>
|
||||
<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="""/>
|
||||
<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" 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="
"/>
|
||||
<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="	"/>
|
||||
<key code="49" action="A_0"/>
|
||||
<key code="50" output="-"/>
|
||||
</keyMap>
|
||||
<keyMap index="3">
|
||||
<key code="0" output="U+1F600"/>
|
||||
<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="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" output=""/>
|
||||
<key code="32" output=""/>
|
||||
<key code="33" output=""/>
|
||||
<key code="34" output="	"/>
|
||||
<key code="35" output=""/>
|
||||
<key code="36" output="
"/>
|
||||
<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="	"/>
|
||||
<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="
"/>
|
||||
<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="	"/>
|
||||
<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="
"/>
|
||||
<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="	"/>
|
||||
<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="
"/>
|
||||
<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="	"/>
|
||||
<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="
"/>
|
||||
<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="	"/>
|
||||
<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>
|
||||
596
developer/src/kmc-convert/test/data/tests-xkb-kmn/Test.keylayout
Normal file
596
developer/src/kmc-convert/test/data/tests-xkb-kmn/Test.keylayout
Normal file
|
|
@ -0,0 +1,596 @@
|
|||
<?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
|
||||
a test with lots of shiftstates, behaviours and C0, C1, C2 C3 rules
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test" 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="'"/>
|
||||
<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="
"/>
|
||||
<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="	"/>
|
||||
<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="'"/>
|
||||
<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="
"/>
|
||||
<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="	"/>
|
||||
<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="""/>
|
||||
<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" 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="
"/>
|
||||
<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="	"/>
|
||||
<key code="49" action="A_0"/>
|
||||
<key code="50" output="-"/>
|
||||
</keyMap>
|
||||
<keyMap index="3">
|
||||
<key code="0" output="U+1F600"/>
|
||||
<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="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" output=""/>
|
||||
<key code="32" output=""/>
|
||||
<key code="33" output=""/>
|
||||
<key code="34" output="	"/>
|
||||
<key code="35" output=""/>
|
||||
<key code="36" output="
"/>
|
||||
<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="	"/>
|
||||
<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="
"/>
|
||||
<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="	"/>
|
||||
<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="
"/>
|
||||
<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="	"/>
|
||||
<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="
"/>
|
||||
<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="	"/>
|
||||
<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="
"/>
|
||||
<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="	"/>
|
||||
<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>
|
||||
596
developer/src/kmc-convert/test/data/tests-xkb-kmn/Test.xkb
Normal file
596
developer/src/kmc-convert/test/data/tests-xkb-kmn/Test.xkb
Normal file
|
|
@ -0,0 +1,596 @@
|
|||
<?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
|
||||
a test with lots of shiftstates, behaviours and C0, C1, C2 C3 rules
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test" 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="'"/>
|
||||
<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="
"/>
|
||||
<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="	"/>
|
||||
<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="'"/>
|
||||
<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="
"/>
|
||||
<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="	"/>
|
||||
<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="""/>
|
||||
<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" 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="
"/>
|
||||
<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="	"/>
|
||||
<key code="49" action="A_0"/>
|
||||
<key code="50" output="-"/>
|
||||
</keyMap>
|
||||
<keyMap index="3">
|
||||
<key code="0" output="U+1F600"/>
|
||||
<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="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" output=""/>
|
||||
<key code="32" output=""/>
|
||||
<key code="33" output=""/>
|
||||
<key code="34" output="	"/>
|
||||
<key code="35" output=""/>
|
||||
<key code="36" output="
"/>
|
||||
<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="	"/>
|
||||
<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="
"/>
|
||||
<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="	"/>
|
||||
<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="
"/>
|
||||
<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="	"/>
|
||||
<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="
"/>
|
||||
<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="	"/>
|
||||
<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="
"/>
|
||||
<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="	"/>
|
||||
<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>
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE keyboard SYSTEM "../../../../../resources/standards-data/Keylayout/Keylayout.dtd">
|
||||
<!--
|
||||
|
||||
Data generated August 1st 2025
|
||||
|
||||
Generated by S. Schmitt
|
||||
|
||||
tests several C0 rules
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_C0" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys=""/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="1">
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
</modifierMap>
|
||||
<keyMapSet id="ANSI">
|
||||
<keyMap index="0">
|
||||
<key code="0" output="a"/>
|
||||
<key code="1" output="s"/>
|
||||
<key code="2" output="d"/>
|
||||
</keyMap>
|
||||
<keyMap index="1">
|
||||
<key code="0" output="A"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="a0">
|
||||
<when state="none" output="S"/>
|
||||
</action>
|
||||
<action id="a1">
|
||||
<when state="none" output="s"/>
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE keyboard SYSTEM "../../../../../resources/standards-data/Keylayout/Keylayout.dtd">
|
||||
<!--
|
||||
|
||||
Data generated August 1st 2025
|
||||
|
||||
Generated by S. Schmitt
|
||||
|
||||
tests C0, C1, C2, C3 rules
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_C0_C1_C2_C3" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="1">
|
||||
<modifier keys="anyOption"/>
|
||||
</keyMapSelect>
|
||||
</modifierMap>
|
||||
<keyMapSet id="ANSI">
|
||||
<keyMap index="0">
|
||||
<key code="0" output="A"/> <!-- C0-> keyman rule part 1 -->
|
||||
<key code="1" action="a1"/> <!-- C1-> keyman rule part 1 -->
|
||||
<key code="2" action="a0"/> <!-- C2-> keyman rule part 6 -->
|
||||
<key code="32" action="a4"/> <!-- C1-> keyman rule part 1 -->
|
||||
</keyMap>
|
||||
<keyMap index="1">
|
||||
<key code="24" action="a3"/> <!-- C2-> keyman rule part 3 -->
|
||||
<key code="28" action="a2"/> <!-- C2-> keyman rule part 3 -->
|
||||
<key code="32" action="a1"/> <!-- C1-> keyman rule part 1 --> <!-- C3-> keyman rule part 6 -->
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="a0">
|
||||
<when state="1" output="Â"/> <!-- C3-> keyman rule part 6 -->
|
||||
</action>
|
||||
<action id="a1">
|
||||
<when state="none" output="S"/> <!-- C1-> keyman rule part 1-->
|
||||
<when state="3" next="1"/> <!-- C3-> keyman rule part 5 -->
|
||||
</action>
|
||||
<action id="a2">
|
||||
<when state="none" next="3"/> <!-- C3-> keyman rule part 4 -->
|
||||
</action>
|
||||
<action id="a3">
|
||||
<when state="none" next="1"/> <!-- C2-> keyman rule part 3 -->
|
||||
</action>
|
||||
<action id="a4">
|
||||
<when state="none" output="U"/> <!-- C1-> keyman rule part 1 -->
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE keyboard SYSTEM "../../../../../resources/standards-data/Keylayout/Keylayout.dtd">
|
||||
<!--
|
||||
|
||||
Data generated August 1st 2025
|
||||
|
||||
|
||||
Generated by S. Schmitt
|
||||
tests several C1 rules
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_C1" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys=""/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="1">
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
</modifierMap>
|
||||
<keyMapSet id="ANSI">
|
||||
<keyMap index="0">
|
||||
<key code="1" action="a1"/>
|
||||
</keyMap>
|
||||
<keyMap index="1">
|
||||
<key code="1" action="a0"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="a0">
|
||||
<when state="none" output="S"/>
|
||||
</action>
|
||||
<action id="a1">
|
||||
<when state="none" output="s"/>
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,43 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE keyboard SYSTEM "../../../../../resources/standards-data/Keylayout/Keylayout.dtd">
|
||||
<!--
|
||||
|
||||
Data generated August 1st 2025
|
||||
|
||||
Generated by S. Schmitt
|
||||
|
||||
tests C2 rule
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_C2" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys=""/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="1">
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
</modifierMap>
|
||||
<keyMapSet id="ANSI">
|
||||
<keyMap index="0">
|
||||
<key code="32" action="a1"/>
|
||||
</keyMap>
|
||||
<keyMap index="1">
|
||||
<key code="0" action="a2"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="a1">
|
||||
<when state="none" next="1"/>
|
||||
</action>
|
||||
<action id="a2">
|
||||
<when state="1" output="Â"/>
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,73 @@
|
|||
<?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
|
||||
|
||||
tests several C2 rules
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_C2_several" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys=""/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="1">
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="2">
|
||||
<modifier keys="shift? leftShift caps? "/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="3">
|
||||
<modifier keys="anyShift? anyOption caps? anyControl"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="4">
|
||||
<modifier keys="anyOption"/>
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
</modifierMap>
|
||||
<keyMapSet id="ANSI">
|
||||
<keyMap index="0">
|
||||
<key code="0" action="a3"/>
|
||||
<key code="24" action="a2"/>
|
||||
<key code="49" action="a0"/>
|
||||
</keyMap>
|
||||
<keyMap index="1">
|
||||
<key code="0" action="a1"/>
|
||||
<key code="24" output="ì"/>
|
||||
<key code="49" action="a0"/>
|
||||
</keyMap>
|
||||
<keyMap index="2">
|
||||
<key code="0" action="a1"/>
|
||||
<key code="49" action="a0"/>
|
||||
</keyMap>
|
||||
<keyMap index="3">
|
||||
<key code="49" action="a0"/>
|
||||
</keyMap>
|
||||
<keyMap index="4">
|
||||
<key code="24" action="a2"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="a0">
|
||||
<when state="1" output="ˆ"/>
|
||||
</action>
|
||||
<action id="a1">
|
||||
<when state="1" output="Â"/>
|
||||
</action>
|
||||
<action id="a2">
|
||||
<when state="none" next="1"/>
|
||||
</action>
|
||||
<action id="a3">
|
||||
<when state="1" output="â"/>
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
<?xml version="1.1" encoding="UTF-8"?>
|
||||
<!DOCTYPE keyboard SYSTEM "file://localhost/System/Library/DTDs/KeyboardLayout.dtd">
|
||||
<!--
|
||||
|
||||
Data generated August 1st 2025
|
||||
|
||||
Generated by S. Schmitt
|
||||
|
||||
tests C3 rules
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_C3" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="1">
|
||||
<modifier keys=""/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="2">
|
||||
<modifier keys="shift"/>
|
||||
</keyMapSelect>
|
||||
</modifierMap>
|
||||
<keyMapSet id="ANSI">
|
||||
<keyMap index="0">
|
||||
<key code="0" action="a2"/>
|
||||
</keyMap>
|
||||
<keyMap index="1">
|
||||
<key code="32" action="a1"/>
|
||||
</keyMap>
|
||||
<keyMap index="2">
|
||||
<key code="2" action="a0"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="a0">
|
||||
<when state="none" next="3"/>
|
||||
</action>
|
||||
<action id="a1">
|
||||
<when state="3" next="1"/>
|
||||
</action>
|
||||
<action id="a2">
|
||||
<when state="1" output="Â"/>
|
||||
</action>
|
||||
</actions>
|
||||
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
<?xml version="1.1" encoding="UTF-8"?>
|
||||
<!DOCTYPE keyboard SYSTEM "file://localhost/System/Library/DTDs/KeyboardLayout.dtd">
|
||||
<!--
|
||||
|
||||
Data generated August 1st 2025
|
||||
|
||||
Generated by S. Schmitt
|
||||
|
||||
tests C3 rules
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_C3" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys=""/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="2">
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="3">
|
||||
<modifier keys="anyOption"/>
|
||||
</keyMapSelect>
|
||||
</modifierMap>
|
||||
<keyMapSet id="ANSI">
|
||||
<keyMap index="0">
|
||||
<key code="0" action="A6"/>
|
||||
</keyMap>
|
||||
<keyMap index="2">
|
||||
<key code="0" action="A7"/>
|
||||
<key code="32" action="A5"/>
|
||||
</keyMap>
|
||||
<keyMap index="3">
|
||||
<key code="28" action="A4"/>
|
||||
<key code="32" action="A3"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="A3">
|
||||
<when state="3" next="1"/>
|
||||
</action>
|
||||
<action id="A4">
|
||||
<when state="none" next="3"/>
|
||||
</action>
|
||||
<action id="A5">
|
||||
<when state="3" next="1"/>
|
||||
</action>
|
||||
<action id="A6">
|
||||
<when state="1" output="â"/>
|
||||
</action>
|
||||
<action id="A7">
|
||||
<when state="1" output="â"/>
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
<?xml version="1.1" encoding="UTF-8"?>
|
||||
<!DOCTYPE keyboard SYSTEM "file://localhost/System/Library/DTDs/KeyboardLayout.dtd">
|
||||
<!--
|
||||
|
||||
Data generated Tue Apr 9 09:35:00 2024
|
||||
|
||||
In rare cases a rule might not be written out therefore we need to inform the user:
|
||||
usually we write the first occurance of an ambiguous C0/C1 rule and comment out the later
|
||||
assuming that if several C0/C1 rules are ambiguous the user prefers to use the first C0/C1 rule
|
||||
for C2/C3 rules we write the last occurance of an ambiguous rule and comment out the earlier
|
||||
assuming that if a C0/C1 and a C2/C3 rule is ambiguous the user prefers to use the C2/C3 rule over the C0/C1 rule
|
||||
if both happens, nothing would be written, therefore this messsage
|
||||
|
||||
-->
|
||||
<!--Last edited by Ukelele version 396 on 2024-10-16 at 11:19 (CEST)-->
|
||||
<keyboard group="126" id="-15248" name="Test_ExtraWarning" maxout="2">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="2a4" modifiers="19c"/>
|
||||
</layouts>
|
||||
<modifierMap id="19c" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys=""/>
|
||||
<modifier keys="rightShift rightControl"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="1">
|
||||
<modifier keys="shift rightOption "/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="2">
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="3">
|
||||
<modifier keys="anyOption"/>
|
||||
<modifier keys="rightShift option"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="4">
|
||||
<modifier keys="shift option"/>
|
||||
</keyMapSelect>
|
||||
</modifierMap>
|
||||
<keyMapSet id="2a4">
|
||||
<keyMap index="0">
|
||||
<key code="4" action="a2"/>
|
||||
</keyMap>
|
||||
<keyMap index="1">
|
||||
<key code="4" action="a1"/>
|
||||
</keyMap>
|
||||
<keyMap index="2">
|
||||
<key code="4" output="H"/>
|
||||
</keyMap>
|
||||
<keyMap index="3">
|
||||
<key code="4" action="a3"/>
|
||||
</keyMap>
|
||||
<keyMap index="4">
|
||||
<key code="4" action="a0"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="a0">
|
||||
<when state="none" output="̱"/>
|
||||
</action>
|
||||
<action id="a1">
|
||||
<when state="none" output="H"/>
|
||||
<when state="16" output="H̱"/>
|
||||
</action>
|
||||
<action id="a2">
|
||||
<when state="12" output="ḧ"/>
|
||||
</action>
|
||||
<action id="a3">
|
||||
<when state="none" next="16"/>
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="`"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE keyboard SYSTEM "../../../../../resources/standards-data/Keylayout/Keylayout.dtd">
|
||||
<!--
|
||||
|
||||
Data generated August 1st 2025
|
||||
|
||||
Generated by S. Schmitt
|
||||
tests if duplicate definitions return a warning
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_ambiguous_keys" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys=""/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="1">
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="2">
|
||||
<modifier keys=""/>
|
||||
</keyMapSelect>
|
||||
</modifierMap>
|
||||
<keyMapSet id="ANSI">
|
||||
<!-- good definition -->
|
||||
<keyMap index="0">
|
||||
<key code="0" output="a"/>
|
||||
<key code="1" output="s"/>
|
||||
<key code="2" output="d"/>
|
||||
<key code="3" output="f"/>
|
||||
</keyMap>
|
||||
<!-- ambibuous keys in 1 behaviour -->
|
||||
<keyMap index="1">
|
||||
<key code="0" output="a"/>
|
||||
<key code="1" output="s"/>
|
||||
<key code="1" output="X"/>
|
||||
<key code="3" output="Y"/>
|
||||
</keyMap>
|
||||
<!-- ambibuous keys in keyMap index="0" vs keyMap index="2" -->
|
||||
<keyMap index="2">
|
||||
<key code="0" output="1"/>
|
||||
<key code="1" output="2"/>
|
||||
<key code="2" output="3"/>
|
||||
<key code="3" output="4"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="a0">
|
||||
<when state="none" output=" "/>
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,51 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE keyboard SYSTEM "../../../../../resources/standards-data/Keylayout/Keylayout.dtd">
|
||||
<!--
|
||||
|
||||
Data generated August 1st 2025
|
||||
|
||||
Generated by S. Schmitt
|
||||
test different kinds of characters
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_characters" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys=""/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="1">
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
|
||||
</modifierMap>
|
||||
<keyMapSet id="ANSI">
|
||||
<keyMap index="0">
|
||||
<key code="0" output="a"/>
|
||||
<!-- empty output will not be written into kmn-->
|
||||
<key code="1" output=""/>
|
||||
<key code="2" output="ä"/>
|
||||
<key code="3" output="@"/>
|
||||
<key code="4" output="ሴ"/>
|
||||
<key code="5" output="😎"/>
|
||||
</keyMap>
|
||||
<keyMap index="1">
|
||||
<key code="0" output=" "/>
|
||||
<key code="1" output="ሴ"/>
|
||||
<key code="2" output="ऩ"/>
|
||||
<key code="3" output="U+1F600"/>
|
||||
<key code="4" output="U+0002"/>
|
||||
<key code="5" output=""/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="A_0">
|
||||
<when state="none" output=" "/>
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE keyboard SYSTEM "../../../../../resources/standards-data/Keylayout/Keylayout.dtd">
|
||||
<!--
|
||||
|
||||
Data generated August 1st 2025
|
||||
|
||||
Generated by S. Schmitt
|
||||
|
||||
if keymaps have different amount of keys derfined -> should print all ( here 2+4 rules)
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_nr_elements" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys=""/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="1">
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
|
||||
</modifierMap>
|
||||
<keyMapSet id="ANSI">
|
||||
<keyMap index="0">
|
||||
<key code="0" output="a"/>
|
||||
<key code="1" output="s"/>
|
||||
</keyMap>
|
||||
<keyMap index="1">
|
||||
<key code="0" output="A"/>
|
||||
<key code="1" output="S"/>
|
||||
<key code="2" output="D"/>
|
||||
<key code="3" output="F"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="A_0">
|
||||
<when state="none" output=" "/>
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE keyboard SYSTEM "../../../../../resources/standards-data/Keylayout/Keylayout.dtd">
|
||||
<!--
|
||||
|
||||
Data generated August 1st 2025
|
||||
|
||||
Generated by S. Schmitt
|
||||
|
||||
tests C0, C1, C2, C3 rules
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_differentEncodings" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
</modifierMap>
|
||||
<keyMapSet id="ANSI">
|
||||
<keyMap index="0">
|
||||
<key code="0" output="😁"/>
|
||||
<key code="1" output="U+1F603"/>
|
||||
<key code="2" output="😂"/>
|
||||
<key code="3" output="😀"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="a0">
|
||||
<when state="1" output="Â"/>
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,61 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE keyboard SYSTEM "../../../../../resources/standards-data/Keylayout/Keylayout.dtd">
|
||||
<!--
|
||||
|
||||
Data generated August 1st 2025
|
||||
|
||||
Generated by S. Schmitt
|
||||
|
||||
duplicate rules will not be printed out into the kmn file
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_duplicate_keys" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys=""/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="1">
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="2">
|
||||
<modifier keys=""/>
|
||||
</keyMapSelect>
|
||||
</modifierMap>
|
||||
<keyMapSet id="ANSI">
|
||||
<!-- good definition -->
|
||||
<keyMap index="0">
|
||||
<key code="0" output="a"/>
|
||||
<key code="1" output="s"/>
|
||||
<key code="2" output="d"/>
|
||||
<key code="3" output="f"/>
|
||||
</keyMap>
|
||||
<!-- duplicate keys in 1 behaviour -->
|
||||
<keyMap index="1">
|
||||
<key code="0" output="A"/>
|
||||
<key code="1" output="S"/>
|
||||
<key code="1" output="S"/>
|
||||
<key code="1" output="S"/>
|
||||
<key code="1" output="S"/>
|
||||
<key code="1" output="S"/>
|
||||
</keyMap>
|
||||
<!-- some duplicate keys in index="0" vs index="2" =>they will not be printed -->
|
||||
<keyMap index="2">
|
||||
<key code="0" output="a"/>
|
||||
<key code="1" output="s"/>
|
||||
<key code="2" output="d"/>
|
||||
<key code="3" output="f"/>
|
||||
<key code="4" output="g"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="a0">
|
||||
<when state="none" output=" "/>
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,49 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE keyboard SYSTEM "../../../../../resources/standards-data/Keylayout/Keylayout.dtd">
|
||||
<!--
|
||||
|
||||
Data generated August 1st 2025
|
||||
|
||||
Generated by S. Schmitt
|
||||
|
||||
tests different order of keys in keymap
|
||||
tests missing keys in keymap
|
||||
tests duplicate keys in keymap
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_duplicate_missing_keycode" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys=""/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="1">
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
|
||||
</modifierMap>
|
||||
<keyMapSet id="ANSI">
|
||||
<keyMap index="0">
|
||||
<key code="4" output="ሴ"/>
|
||||
<key code="0" output="a"/>
|
||||
<key code="3" output="@"/>
|
||||
<key code="6" output="😎"/>
|
||||
</keyMap>
|
||||
<keyMap index="1">
|
||||
<key code="2" output="ऩ"/>
|
||||
<key code="0" output=" "/>
|
||||
<key code="2" output="ऩ"/>
|
||||
<key code="1" output="ቄ"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="a0">
|
||||
<when state="none" output=" "/>
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE keyboard SYSTEM "../../../../../resources/standards-data/Keylayout/Keylayout.dtd">
|
||||
<!--
|
||||
|
||||
Data generated August 1st 2025
|
||||
|
||||
Generated by S. Schmitt
|
||||
|
||||
tests different order of keys in keymap
|
||||
tests missing keys in keymap
|
||||
tests duplicate keys in keymap
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_duplicate_missing_keys" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys=""/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="1">
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="2">
|
||||
<modifier keys="shift caps"/>
|
||||
</keyMapSelect>
|
||||
</modifierMap>
|
||||
<keyMapSet id="ANSI">
|
||||
<keyMap index="0">
|
||||
<key code="0" output="a"/>
|
||||
<key code="1" output="s"/>
|
||||
<key code="2" output="d"/>
|
||||
<key code="3" output="f"/>
|
||||
</keyMap>
|
||||
<keyMap index="1">
|
||||
<key code="0" output="a"/>
|
||||
<key code="1" output="s"/>
|
||||
<key code="1" output="s"/>
|
||||
<key code="1" output="s"/>
|
||||
<key code="1" output="s"/>
|
||||
<key code="1" output="s"/>
|
||||
</keyMap>
|
||||
<keyMap index="2">
|
||||
<key code="0" output="a"/>
|
||||
<key code="1" output="s"/>
|
||||
<key code="1" output="d"/>
|
||||
<key code="1" output="f"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="A_0">
|
||||
<when state="none" output=" "/>
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE keyboard SYSTEM "../../../../../resources/standards-data/Keylayout/Keylayout.dtd">
|
||||
<!--
|
||||
|
||||
Data generated August 1st 2025
|
||||
|
||||
Generated by S. Schmitt
|
||||
|
||||
tests maximum key is 49 (K_SPACE), 50 will not be processed
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_nr_elements" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys=""/>
|
||||
</keyMapSelect>
|
||||
</modifierMap>
|
||||
<keyMapSet id="ANSI">
|
||||
<keyMap index="0">
|
||||
<key code="0" output="a"/>
|
||||
<key code="1" output="s"/>
|
||||
<key code="49" output="Y"/>
|
||||
<key code="50" output="Z"/>
|
||||
<key code="555" output="x"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="a0">
|
||||
<when state="none" output=" "/>
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,80 @@
|
|||
<?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
|
||||
a test showing different warning types
|
||||
note: if an identical rule is specified multiple times, it is printed only once
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys="caps"/>
|
||||
<modifier keys="UNAVAILABLE_MODIFIER"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="1">
|
||||
<modifier keys="anyShift? anyOption caps? anyControl"/>
|
||||
<modifier keys="ANOTHER_UNAVAILABLE_MODIFIER"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="2">
|
||||
<modifier keys="anyShift caps? anyOption ?"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="3">
|
||||
<modifier keys="anyOption"/>
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="4">
|
||||
<modifier keys="anyOption "/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="5">
|
||||
<modifier keys="caps anyOption ?"/>
|
||||
</keyMapSelect>
|
||||
</modifierMap>
|
||||
<keyMapSet id="ANSI">
|
||||
<keyMap index="0">
|
||||
<key code="5" output="G"/>
|
||||
<key code="5" output="G"/>
|
||||
</keyMap>
|
||||
<keyMap index="1">
|
||||
<key code="5" output=""/>
|
||||
</keyMap>
|
||||
<keyMap index="2">
|
||||
<key code="25" action="a0"/>
|
||||
<key code="6" output="Z"/>
|
||||
<key code="7" output="X"/>
|
||||
<key code="7" output="ẍ"/>
|
||||
</keyMap>
|
||||
<keyMap index="3">
|
||||
<key code="5" output="∞"/>
|
||||
<key code="25" action="a8"/>
|
||||
</keyMap>
|
||||
<keyMap index="4">
|
||||
<key code="5" output="∞"/>
|
||||
<key code="25" output="`"/>
|
||||
</keyMap>
|
||||
<keyMap index="5">
|
||||
<key code="25" output="`"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="a0">
|
||||
<when state="none" output=" "/>
|
||||
<when state="2" output="`"/>
|
||||
</action>
|
||||
<action id="a8">
|
||||
<when state="none" next="2"/>
|
||||
</action>
|
||||
<action id="A_9">
|
||||
<when state="none" output="A"/>
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="2" output="`"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,57 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE keyboard SYSTEM "../../../../../resources/standards-data/Keylayout/Keylayout.dtd">
|
||||
<!--
|
||||
|
||||
Data generated August 1st 2025
|
||||
|
||||
Generated by S. Schmitt
|
||||
tests C0, C1, C2, C3 rules for output of "WARNING: use of a control character"
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_messages_controlCharacter" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="1">
|
||||
<modifier keys="anyOption"/>
|
||||
</keyMapSelect>
|
||||
</modifierMap>
|
||||
<keyMapSet id="ANSI">
|
||||
<keyMap index="0">
|
||||
<key code="0" output=""/>
|
||||
<key code="1" action="a1"/>
|
||||
<key code="2" action="a0"/>
|
||||
<key code="32" action="a4"/>
|
||||
</keyMap>
|
||||
<keyMap index="1">
|
||||
<key code="24" action="a3"/>
|
||||
<key code="28" action="a2"/>
|
||||
<key code="32" action="a1"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="a0">
|
||||
<when state="1" output=""/>
|
||||
</action>
|
||||
<action id="a1">
|
||||
<when state="none" output=""/>
|
||||
<when state="3" next="1"/>
|
||||
</action>
|
||||
<action id="a2">
|
||||
<when state="none" next="3"/>
|
||||
</action>
|
||||
<action id="a3">
|
||||
<when state="none" next="1"/>
|
||||
</action>
|
||||
<action id="a4">
|
||||
<when state="none" output=""/>
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,72 @@
|
|||
<?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
|
||||
|
||||
tests several C2 rules for messages
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_messages_superior_C2" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys=""/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="1">
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="2">
|
||||
<modifier keys="shift? leftShift caps? "/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="3">
|
||||
<modifier keys="anyShift? anyOption caps? anyControl"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="4">
|
||||
<modifier keys="UNAVAILABLE"/>
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
</modifierMap>
|
||||
<keyMapSet id="ANSI">
|
||||
<keyMap index="0">
|
||||
<key code="0" action="a3"/>
|
||||
<key code="24" action="a2"/>
|
||||
<key code="49" action="a0"/>
|
||||
</keyMap>
|
||||
<keyMap index="1">
|
||||
<key code="0" action="a1"/>
|
||||
<key code="49" action="a0"/>
|
||||
</keyMap>
|
||||
<keyMap index="2">
|
||||
<key code="0" action="a1"/>
|
||||
<key code="49" action="a0"/>
|
||||
</keyMap>
|
||||
<keyMap index="3">
|
||||
<key code="49" action="a0"/>
|
||||
</keyMap>
|
||||
<keyMap index="4">
|
||||
<key code="24" action="a2"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="a0">
|
||||
<when state="1" output="ˆ"/>
|
||||
</action>
|
||||
<action id="a1">
|
||||
<when state="1" output="Â"/>
|
||||
</action>
|
||||
<action id="a2">
|
||||
<when state="none" next="1"/>
|
||||
</action>
|
||||
<action id="a3">
|
||||
<when state="1" output="â"/>
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
<?xml version="1.1" encoding="UTF-8"?>
|
||||
<!DOCTYPE keyboard SYSTEM "file://localhost/System/Library/DTDs/KeyboardLayout.dtd">
|
||||
<!--
|
||||
|
||||
Data generated August 1st 2025
|
||||
|
||||
Generated by S. Schmitt
|
||||
|
||||
tests C3 rules
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_C3" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys="UNAVAILABLE_0"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="2">
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="3">
|
||||
<modifier keys="UNAVAILABLE_1"/>
|
||||
</keyMapSelect>
|
||||
</modifierMap>
|
||||
<keyMapSet id="ANSI">
|
||||
<keyMap index="0">
|
||||
<key code="0" action="A6"/>
|
||||
</keyMap>
|
||||
<keyMap index="2">
|
||||
<key code="28" action="A7"/>
|
||||
<key code="32" action="A5"/>
|
||||
</keyMap>
|
||||
<keyMap index="3">
|
||||
<key code="28" action="A4"/>
|
||||
<key code="32" action="A3"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="A3">
|
||||
<when state="3" next="1"/>
|
||||
</action>
|
||||
<action id="A4">
|
||||
<when state="none" next="3"/>
|
||||
</action>
|
||||
<action id="A5">
|
||||
<when state="3" next="1"/>
|
||||
</action>
|
||||
<action id="A6">
|
||||
<when state="1" output="â"/>
|
||||
</action>
|
||||
<action id="A7">
|
||||
<when state="1" output="â"/>
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,103 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE keyboard SYSTEM "../../../../../resources/standards-data/Keylayout/Keylayout.dtd">
|
||||
<!--
|
||||
|
||||
Data generated August 1st 2025
|
||||
|
||||
Generated by S. Schmitt
|
||||
test how modifiers will be translated into kmn modifieres (includes caps)
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_modifier" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys="shift"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="1">
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="2">
|
||||
<modifier keys="control"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="3">
|
||||
<modifier keys="option"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="4">
|
||||
<modifier keys="caps control"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="5">
|
||||
<modifier keys="shift leftShift caps "/>
|
||||
<modifier keys="shift leftShift caps option"/>
|
||||
<modifier keys="shift option"/>
|
||||
<modifier keys="caps option"/>
|
||||
<modifier keys="shift option control"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="6">
|
||||
<modifier keys="WrongModifierName"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="7">
|
||||
<modifier keys="Ano therWr ongModi fierName"/>
|
||||
</keyMapSelect>
|
||||
</modifierMap>
|
||||
<keyMapSet id="ANSI">
|
||||
<keyMap index="0">
|
||||
<key code="0" output="a"/>
|
||||
<key code="1" output="s"/>
|
||||
<key code="2" output="d"/>
|
||||
<key code="3" output="f"/>
|
||||
</keyMap>
|
||||
<keyMap index="1">
|
||||
<key code="0" output="A"/>
|
||||
<key code="1" output="S"/>
|
||||
<key code="2" output="D"/>
|
||||
<key code="3" output="F"/>
|
||||
</keyMap>
|
||||
<keyMap index="2">
|
||||
<key code="0" output="â"/>
|
||||
<key code="1" output="ŝ"/>
|
||||
<key code="2" output="ḏ"/>
|
||||
<key code="3" output="ḟ"/>
|
||||
</keyMap>
|
||||
<keyMap index="3">
|
||||
<key code="0" output="á"/>
|
||||
<key code="1" output="ş"/>
|
||||
<key code="2" output="ḍ"/>
|
||||
<key code="3" output="ff"/>
|
||||
</keyMap>
|
||||
<keyMap index="4">
|
||||
<key code="0" output="å"/>
|
||||
<key code="1" output="š"/>
|
||||
<key code="2" output="ḓ"/>
|
||||
<key code="3" output="ⓕ"/>
|
||||
</keyMap>
|
||||
<keyMap index="5">
|
||||
<key code="0" output="Å"/>
|
||||
<key code="1" output="ṡ"/>
|
||||
<key code="2" output="ḓ"/>
|
||||
<key code="3" output="fl"/>
|
||||
</keyMap>
|
||||
<keyMap index="6">
|
||||
<key code="0" output="Â"/>
|
||||
<key code="1" output="ś"/>
|
||||
<key code="2" output="ḓ"/>
|
||||
<key code="3" output="ᶠ"/>
|
||||
</keyMap>
|
||||
<keyMap index="7">
|
||||
<key code="0" output="Â"/>
|
||||
<key code="1" output="ś"/>
|
||||
<key code="2" output="ḓ"/>
|
||||
<key code="3" output="🐟"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="a0">
|
||||
<when state="none" output="D"/>
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,108 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE keyboard SYSTEM "../../../../../resources/standards-data/Keylayout/Keylayout.dtd">
|
||||
<!--
|
||||
|
||||
Data generated August 1st 2025
|
||||
|
||||
Generated by S. Schmitt
|
||||
|
||||
tests how modifiers will be translated into kmn modifieres (with caps)
|
||||
|
||||
this is esentiially the same as Test_modifier.keylayout with every CAPS removed which results in
|
||||
- skipping NCAPS in these cases
|
||||
- creating ambiguous rules in some cases since removing caps creates a new shiftstate: shift caps =>shift
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_modifierNoCaps" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys="shift"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="1">
|
||||
<modifier keys=""/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="2">
|
||||
<modifier keys="control"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="3">
|
||||
<modifier keys="option"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="4">
|
||||
<modifier keys=" control"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="5">
|
||||
<modifier keys="shift leftShift "/>
|
||||
<modifier keys="shift leftShift option"/>
|
||||
<modifier keys="shift option"/>
|
||||
<modifier keys=" option"/>
|
||||
<modifier keys="shift option control"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="6">
|
||||
<modifier keys="WrongModifierName"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="7">
|
||||
<modifier keys="Ano therWr ongModi fierName"/>
|
||||
</keyMapSelect>
|
||||
</modifierMap>
|
||||
<keyMapSet id="ANSI">
|
||||
<keyMap index="0">
|
||||
<key code="0" output="a"/>
|
||||
<key code="1" output="s"/>
|
||||
<key code="2" output="d"/>
|
||||
<key code="3" output="f"/>
|
||||
</keyMap>
|
||||
<keyMap index="1">
|
||||
<key code="0" output="A"/>
|
||||
<key code="1" output="S"/>
|
||||
<key code="2" output="D"/>
|
||||
<key code="3" output="F"/>
|
||||
</keyMap>
|
||||
<keyMap index="2">
|
||||
<key code="0" output="â"/>
|
||||
<key code="1" output="ŝ"/>
|
||||
<key code="2" output="ḏ"/>
|
||||
<key code="3" output="ḟ"/>
|
||||
</keyMap>
|
||||
<keyMap index="3">
|
||||
<key code="0" output="á"/>
|
||||
<key code="1" output="ş"/>
|
||||
<key code="2" output="ḍ"/>
|
||||
<key code="3" output="ff"/>
|
||||
</keyMap>
|
||||
<keyMap index="4">
|
||||
<key code="0" output="å"/>
|
||||
<key code="1" output="š"/>
|
||||
<key code="2" output="ḓ"/>
|
||||
<key code="3" output="ⓕ"/>
|
||||
</keyMap>
|
||||
<keyMap index="5">
|
||||
<key code="0" output="Å"/>
|
||||
<key code="1" output="ṡ"/>
|
||||
<key code="2" output="ḓ"/>
|
||||
<key code="3" output="fl"/>
|
||||
</keyMap>
|
||||
<keyMap index="6">
|
||||
<key code="0" output="Â"/>
|
||||
<key code="1" output="ś"/>
|
||||
<key code="2" output="ḓ"/>
|
||||
<key code="3" output="ᶠ"/>
|
||||
</keyMap>
|
||||
<keyMap index="7">
|
||||
<key code="0" output="Â"/>
|
||||
<key code="1" output="ś"/>
|
||||
<key code="2" output="ḓ"/>
|
||||
<key code="3" output="🐟"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="a0">
|
||||
<when state="none" output="D"/>
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,83 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE keyboard SYSTEM "../../../../../resources/standards-data/Keylayout/Keylayout.dtd">
|
||||
<!--
|
||||
|
||||
Data generated August 1st 2025
|
||||
|
||||
Generated by S. Schmitt
|
||||
more keyMapSelect than KeyMap
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_DifferentAmountOfMapSelectInKeyMapERROR" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<!-- different amount of tags MapSelect(2) vs. KeyMap(3) -->
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys=""/>
|
||||
<modifier keys="shift? caps? "/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="1">
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
</modifierMap>
|
||||
|
||||
<!-- different amount of tags MapSelect(2) vs. KeyMap(3) -->
|
||||
<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="9" output="v"/>
|
||||
<key code="10" 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="\"/>
|
||||
</keyMap>
|
||||
<keyMap index="2">
|
||||
<key code="0" action="A_1"/>
|
||||
<key code="1" output="ሴ"/>
|
||||
<key code="2" output="😎"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<keyMapSet id="JIS">
|
||||
<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="9" output="v"/>
|
||||
<key code="10" output="\"/>
|
||||
</keyMap>
|
||||
<keyMap index="2">
|
||||
<key code="0" action="A_1"/>
|
||||
<key code="1" output="ሴ"/>
|
||||
<key code="2" output="😎"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="A_1">
|
||||
<when state="none" output="A"/>
|
||||
</action>
|
||||
<action id="A_9">
|
||||
<when state="none" output="A"/>
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,78 @@
|
|||
<?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
|
||||
more KeyMap than keyMapSelect
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_DifferentAmountOfMapSelectInKeyMapERROR_1" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<!-- different amount of tags MapSelect(2) vs. KeyMap(3) -->
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys=""/>
|
||||
<modifier keys="shift? caps? "/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="1">
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
</modifierMap>
|
||||
<!-- different amount of tags MapSelect(2) vs. KeyMap(3) -->
|
||||
<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="\"/>
|
||||
</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="\"/>
|
||||
</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="|"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="A_1">
|
||||
<when state="none" output="A"/>
|
||||
</action>
|
||||
<action id="A_9">
|
||||
<when state="none" output="A"/>
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,65 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE keyboard SYSTEM "../../../../../resources/standards-data/Keylayout/Keylayout.dtd">
|
||||
<!--
|
||||
|
||||
Data generated August 1st 2025
|
||||
|
||||
Generated by S. Schmitt
|
||||
more keyMapSelect than KeyMap
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_DifferentAmountOfMapSelectInKeyMapERROR" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<!-- different amount of tags MapSelect(3) vs. KeyMap(2) -->
|
||||
<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"/>
|
||||
</keyMapSelect>
|
||||
</modifierMap>
|
||||
|
||||
<!-- different amount of tags MapSelect(3) vs. KeyMap(2) -->
|
||||
<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="9" output="v"/>
|
||||
<key code="10" 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="\"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="A_1">
|
||||
<when state="none" output="A"/>
|
||||
</action>
|
||||
<action id="A_9">
|
||||
<when state="none" output="A"/>
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE keyboard SYSTEM "../../../../../resources/standards-data/Keylayout/Keylayout.dtd">
|
||||
<!--
|
||||
|
||||
Data generated August 1st 2025
|
||||
|
||||
Generated by S. Schmitt
|
||||
|
||||
if keymaps have different amount of keys defined -> should print all ( here 2+4 rules)
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_nr_elements" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys=""/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="1">
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
|
||||
</modifierMap>
|
||||
<keyMapSet id="ANSI">
|
||||
<keyMap index="0">
|
||||
<key code="0" output="a"/>
|
||||
<key code="1" output="s"/>
|
||||
</keyMap>
|
||||
<keyMap index="1">
|
||||
<key code="0" output="A"/>
|
||||
<key code="1" output="S"/>
|
||||
<key code="2" output="D"/>
|
||||
<key code="3" output="F"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="a0">
|
||||
<when state="none" output=" "/>
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,39 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE keyboard SYSTEM "../../../../../resources/standards-data/Keylayout/Keylayout.dtd">
|
||||
<!--
|
||||
|
||||
Data generated August 1st 2025
|
||||
|
||||
Generated by S. Schmitt
|
||||
|
||||
tests if definition of only one Keymap works
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_onlyOneKeymap" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys=""/>
|
||||
</keyMapSelect>
|
||||
</modifierMap>
|
||||
<keyMapSet id="ANSI">
|
||||
<keyMap index="0">
|
||||
<key code="0" output="a"/>
|
||||
<key code="1" output=""/>
|
||||
<key code="2" output="ä"/>
|
||||
<key code="3" output="@"/>
|
||||
<key code="4" output="ሴ"/>
|
||||
<key code="5" output="😎"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="a0">
|
||||
<when state="none" output=" "/>
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE keyboard SYSTEM "../../../../../resources/standards-data/Keylayout/Keylayout.dtd">
|
||||
<!--
|
||||
|
||||
Data generated August 1st 2025
|
||||
|
||||
Generated by S. Schmitt
|
||||
|
||||
tests C0, C1, C2, C3 rules
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_missingAction" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="1">
|
||||
<modifier keys="anyOption"/>
|
||||
</keyMapSelect>
|
||||
</modifierMap>
|
||||
<keyMapSet id="ANSI">
|
||||
<keyMap index="0">
|
||||
<key code="0" output="A"/>
|
||||
<key code="1" action="a1"/>
|
||||
<key code="2" action="a0"/>
|
||||
<key code="32" action="a99"/> <!-- use of undefined action here -->
|
||||
</keyMap>
|
||||
<keyMap index="1">
|
||||
<key code="24" action="a3"/>
|
||||
<key code="28" action="a2"/>
|
||||
<key code="32" action="a1"/>
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="a0">
|
||||
<when state="1" output="Â"/>
|
||||
</action>
|
||||
<action id="a1">
|
||||
<when state="none" output="S"/>
|
||||
<when state="3" next="1"/>
|
||||
</action>
|
||||
<action id="a2">
|
||||
<when state="none" next="3"/>
|
||||
</action>
|
||||
<action id="a3">
|
||||
<when state="none" next="1"/>
|
||||
</action>
|
||||
<action id="a4">
|
||||
<when state="none" output="U"/>
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -0,0 +1,58 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE keyboard SYSTEM "../../../../../resources/standards-data/Keylayout/Keylayout.dtd">
|
||||
<!--
|
||||
|
||||
Data generated August 1st 2025
|
||||
|
||||
Generated by S. Schmitt
|
||||
|
||||
tests C0, C1, C2, C3 rules
|
||||
|
||||
-->
|
||||
<keyboard group="126" id="-1272" name="Test_unsupportedCharacters" maxout="1">
|
||||
<layouts>
|
||||
<layout first="0" last="0" mapSet="138" modifiers="30"/>
|
||||
</layouts>
|
||||
<modifierMap id="30" defaultIndex="0">
|
||||
<keyMapSelect mapIndex="0">
|
||||
<modifier keys="caps"/>
|
||||
</keyMapSelect>
|
||||
<keyMapSelect mapIndex="1">
|
||||
<modifier keys="anyOption"/>
|
||||
</keyMapSelect>
|
||||
</modifierMap>
|
||||
<keyMapSet id="ANSI">
|
||||
<keyMap index="0">
|
||||
<key code="0" output=""/> <!-- C0-> keyman rule part 1 -->
|
||||
<key code="1" action="a1"/> <!-- C1-> keyman rule part 1 -->
|
||||
<key code="2" action="a0"/> <!-- C2-> keyman rule part 6 -->
|
||||
<key code="32" action="a4"/> <!-- C1-> keyman rule part 1 -->
|
||||
</keyMap>
|
||||
<keyMap index="1">
|
||||
<key code="24" action="a3"/> <!-- C2-> keyman rule part 3 -->
|
||||
<key code="28" action="a2"/> <!-- C2-> keyman rule part 3 -->
|
||||
<key code="32" action="a1"/> <!-- C1-> keyman rule part 1 --> <!-- C3-> keyman rule part 6 -->
|
||||
</keyMap>
|
||||
</keyMapSet>
|
||||
<actions>
|
||||
<action id="a0">
|
||||
<when state="1" output="Â"/> <!-- C3-> keyman rule part 6 -->
|
||||
</action>
|
||||
<action id="a1">
|
||||
<when state="none" output="Q"/> <!-- C1-> keyman rule part 1-->
|
||||
<when state="3" next="1"/> <!-- C3-> keyman rule part 5 -->
|
||||
</action>
|
||||
<action id="a2">
|
||||
<when state="none" next="3"/> <!-- C3-> keyman rule part 4 -->
|
||||
</action>
|
||||
<action id="a3">
|
||||
<when state="none" next="1"/> <!-- C2-> keyman rule part 3 -->
|
||||
</action>
|
||||
<action id="a4">
|
||||
<when state="none" output="U"/> <!-- C1-> keyman rule part 1 -->
|
||||
</action>
|
||||
</actions>
|
||||
<terminators>
|
||||
<when state="1" output="ˆ"/>
|
||||
</terminators>
|
||||
</keyboard>
|
||||
|
|
@ -23,29 +23,29 @@ describe('KeylayoutToKmnConverter', function () {
|
|||
describe('RunSpecialTestFiles', function () {
|
||||
const sut = new KeylayoutToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
[
|
||||
[makePathToFixture('../data/Test_C0.keylayout')],
|
||||
[makePathToFixture('../data/Test_C1.keylayout')],
|
||||
[makePathToFixture('../data/Test_C2.keylayout')],
|
||||
[makePathToFixture('../data/Test_C2_several.keylayout')],
|
||||
[makePathToFixture('../data/Test_C3.keylayout')],
|
||||
[makePathToFixture('../data/Test_C3_several.keylayout')],
|
||||
[makePathToFixture('../data/Test_C0_C1_C2_C3.keylayout')],
|
||||
[makePathToFixture('../data/Test_maxKeyCode.keylayout')],
|
||||
[makePathToFixture('../data/Test_messages.keylayout')],
|
||||
[makePathToFixture('../data/Test_messages_controlCharacter.keylayout')],
|
||||
[makePathToFixture('../data/Test_messages_superior_C2.keylayout')],
|
||||
[makePathToFixture('../data/Test_messages_superior_C3.keylayout')],
|
||||
[makePathToFixture('../data/Test_duplicate_missing_keycode.keylayout')],
|
||||
[makePathToFixture('../data/Test_modifier.keylayout')],
|
||||
[makePathToFixture('../data/Test_modifierNoCaps.keylayout')],
|
||||
[makePathToFixture('../data/Test_differentAmountOfKeysInBehaviours.keylayout')],
|
||||
[makePathToFixture('../data/Test_duplicate_missing_keys.keylayout')],
|
||||
[makePathToFixture('../data/Test_duplicate_keys.keylayout')],
|
||||
[makePathToFixture('../data/Test_ambiguous_keys.keylayout')],
|
||||
[makePathToFixture('../data/Test_nr_elements.keylayout')],
|
||||
[makePathToFixture('../data/Test.keylayout')],
|
||||
[makePathToFixture('../data/Test_differentEncodings.keylayout')],
|
||||
[makePathToFixture('../data/Test_ExtraWarning.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_C0.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_C1.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_C2.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_C2_several.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_C3.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_C3_several.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_C0_C1_C2_C3.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_maxKeyCode.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_messages.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_messages_controlCharacter.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_messages_superior_C2.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_messages_superior_C3.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_duplicate_missing_keycode.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_modifier.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_modifierNoCaps.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_differentAmountOfKeysInBehaviours.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_duplicate_missing_keys.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_duplicate_keys.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_ambiguous_keys.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_nr_elements.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_differentEncodings.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_ExtraWarning.keylayout')],
|
||||
].forEach(function (files) {
|
||||
it(files + " should give no errors ", async function () {
|
||||
sut.run(files[0]);
|
||||
|
|
@ -57,17 +57,17 @@ describe('KeylayoutToKmnConverter', function () {
|
|||
describe('RunTestFiles resulting in errors ', function () {
|
||||
const sut = new KeylayoutToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
[
|
||||
[makePathToFixture('../data/Test_moreKeyMapThanKeyMapselectERROR.keylayout')],
|
||||
[makePathToFixture('../data/Test_moreKeyMapThanKeyMapselectAndJisERROR.keylayout')],
|
||||
[makePathToFixture('../data/Test_moreKeyMapThanKeyMapselectERROR.keylayout')],
|
||||
[makePathToFixture('../data/Test_MissingkeyERROR.keylayout')],
|
||||
[makePathToFixture('../data/Test_MissingkeyMapERROR.keylayout')],
|
||||
[makePathToFixture('../data/Test_MissingLayoutsERROR.keylayout')],
|
||||
[makePathToFixture('../data/Test_MissingmodifierMapERROR.keylayout')],
|
||||
[makePathToFixture('../data/Test_MissingkeyMapSetERROR.keylayout')],
|
||||
[makePathToFixture('../data/Test_MissingActionsERROR.keylayout')],
|
||||
[makePathToFixture('../data/Test_MissingTerminatorsERROR.keylayout')],
|
||||
[makePathToFixture('../data/Test_MissingAllERROR.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_moreKeyMapThanKeyMapselectERROR.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_moreKeyMapThanKeyMapselectAndJisERROR.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_moreKeyMapThanKeyMapselectERROR.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_MissingkeyERROR.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_MissingkeyMapERROR.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_MissingLayoutsERROR.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_MissingmodifierMapERROR.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_MissingkeyMapSetERROR.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_MissingActionsERROR.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_MissingTerminatorsERROR.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_MissingAllERROR.keylayout')],
|
||||
].forEach(function (files) {
|
||||
it(files + " should give an error ", async function () {
|
||||
sut.run(files[0]);
|
||||
|
|
@ -79,7 +79,7 @@ describe('KeylayoutToKmnConverter', function () {
|
|||
describe('RunSpecialTestFiles - create Error: unsupported characters', function () {
|
||||
const sut = new KeylayoutToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
[
|
||||
[makePathToFixture('../data/Test_characters.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_characters.keylayout')],
|
||||
].forEach(function (files) {
|
||||
it(files + " should give Error: unsupported characters ", async function () {
|
||||
sut.run(files[0]);
|
||||
|
|
@ -91,7 +91,7 @@ describe('KeylayoutToKmnConverter', function () {
|
|||
describe('RunSpecialTestFiles - create Error: undefined action', function () {
|
||||
const sut = new KeylayoutToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
[
|
||||
[makePathToFixture('../data/Test_undefinedAction.keylayout')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test_undefinedAction.keylayout')],
|
||||
].forEach(function (files) {
|
||||
it(files + " should give Error: undefined action detected", async function () {
|
||||
sut.run(files[0]);
|
||||
|
|
@ -127,7 +127,7 @@ describe('KeylayoutToKmnConverter', function () {
|
|||
});
|
||||
|
||||
it('run() should throw on unavailable input file name and null output file name', async function () {
|
||||
const inputFilename = makePathToFixture('../data/Unavailable.keylayout');
|
||||
const inputFilename = makePathToFixture('../data/tests-keylayout-kmn/Unavailable.keylayout');
|
||||
const result = sut.run(inputFilename, null);
|
||||
assert.isNotNull(result);
|
||||
assert.equal(compilerTestCallbacks.messages.length, 2);
|
||||
|
|
@ -139,14 +139,14 @@ describe('KeylayoutToKmnConverter', function () {
|
|||
describe('Run kmc-convert with or without outputfile name', async function () {
|
||||
this.timeout(5000); // allow longer time for this test
|
||||
const sut = new KeylayoutToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
const infile = '../data/Test.keylayout';
|
||||
const infile = '../data/tests-keylayout-kmn/Test.keylayout';
|
||||
[
|
||||
[makePathToFixture('../data/Test.kmn')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/Test.kmn')],
|
||||
[makePathToFixture('')],
|
||||
[],
|
||||
[null],
|
||||
[makePathToFixture('../data/test_OtherOutputName.kmn')],
|
||||
[makePathToFixture('../data/OutputXName.bb')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/test_OtherOutputName.kmn')],
|
||||
[makePathToFixture('../data/tests-keylayout-kmn/OutputXName.bb')],
|
||||
].forEach(function (files) {
|
||||
it(infile + " should run ", async function () {
|
||||
await NodeAssert.doesNotReject(async () => sut.run(makePathToFixture(infile), files[0]));
|
||||
|
|
@ -160,12 +160,12 @@ describe('KeylayoutToKmnConverter', function () {
|
|||
const sutR = new KeylayoutFileReader(compilerTestCallbacks);
|
||||
|
||||
// ProcessedData from usable file
|
||||
const inputFilename = makePathToFixture('../data/Test.keylayout');
|
||||
const inputFilename = makePathToFixture('../data/tests-keylayout-kmn/Test.keylayout');
|
||||
const read = sutR.read(compilerTestCallbacks.loadFile(inputFilename));
|
||||
const converted = sut.convertBound.convert(read, inputFilename.replace(/\.keylayout$/, '.kmn'));
|
||||
|
||||
// ProcessedData from unavailable file
|
||||
const inputFilenameUnavailable = makePathToFixture('../data/X.keylayout');
|
||||
const inputFilenameUnavailable = makePathToFixture('../data/tests-keylayout-kmn/X.keylayout');
|
||||
const readUnavailable = sutR.read(compilerTestCallbacks.loadFile(inputFilenameUnavailable));
|
||||
const convertedUnavailable = sut.convertBound.convert(readUnavailable, inputFilenameUnavailable.replace(/\.keylayout$/, '.kmn'));
|
||||
|
||||
|
|
@ -322,7 +322,7 @@ describe('KeylayoutToKmnConverter', function () {
|
|||
describe('getModifierArrayFromKeyModifierArray ', function () {
|
||||
const sut = new KeylayoutToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
const sutR = new KeylayoutFileReader(compilerTestCallbacks);
|
||||
const inputFilename = makePathToFixture('../data/Test.keylayout');
|
||||
const inputFilename = makePathToFixture('../data/tests-keylayout-kmn/Test.keylayout');
|
||||
const read = sutR.read(compilerTestCallbacks.loadFile(inputFilename));
|
||||
const converted = sut.convertBound.convert(read, inputFilename.replace(/\.keylayout$/, '.kmn'));
|
||||
[
|
||||
|
|
@ -348,7 +348,7 @@ describe('KeylayoutToKmnConverter', function () {
|
|||
describe('getKeyModifierArrayFromActionID ', function () {
|
||||
const sut = new KeylayoutToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
const sutR = new KeylayoutFileReader(compilerTestCallbacks);
|
||||
const inputFilename = makePathToFixture('../data/Test.keylayout');
|
||||
const inputFilename = makePathToFixture('../data/tests-keylayout-kmn/Test.keylayout');
|
||||
const read = sutR.read(compilerTestCallbacks.loadFile(inputFilename));
|
||||
[
|
||||
['A_16', [{ "key": "32", "behavior": "5" }]],
|
||||
|
|
@ -374,7 +374,7 @@ describe('KeylayoutToKmnConverter', function () {
|
|||
describe('getActionIdFromActionNext ', function () {
|
||||
const sut = new KeylayoutToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
const sutR = new KeylayoutFileReader(compilerTestCallbacks);
|
||||
const inputFilename = makePathToFixture('../data/Test.keylayout');
|
||||
const inputFilename = makePathToFixture('../data/tests-keylayout-kmn/Test.keylayout');
|
||||
const read = sutR.read(compilerTestCallbacks.loadFile(inputFilename));
|
||||
[
|
||||
['none', ''],
|
||||
|
|
@ -400,7 +400,7 @@ describe('KeylayoutToKmnConverter', function () {
|
|||
describe('getActionIndexFromActionId ', function () {
|
||||
const sut = new KeylayoutToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
const sutR = new KeylayoutFileReader(compilerTestCallbacks);
|
||||
const inputFilename = makePathToFixture('../data/Test.keylayout');
|
||||
const inputFilename = makePathToFixture('../data/tests-keylayout-kmn/Test.keylayout');
|
||||
const read = sutR.read(compilerTestCallbacks.loadFile(inputFilename));
|
||||
[
|
||||
['none', -1],
|
||||
|
|
@ -424,7 +424,7 @@ describe('KeylayoutToKmnConverter', function () {
|
|||
describe('getOutputFromActionIdNone ', function () {
|
||||
const sut = new KeylayoutToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
const sutR = new KeylayoutFileReader(compilerTestCallbacks);
|
||||
const inputFilename = makePathToFixture('../data/Test.keylayout');
|
||||
const inputFilename = makePathToFixture('../data/tests-keylayout-kmn/Test.keylayout');
|
||||
const read = sutR.read(compilerTestCallbacks.loadFile(inputFilename));
|
||||
[
|
||||
['A_14', 'u'],
|
||||
|
|
@ -454,7 +454,7 @@ describe('KeylayoutToKmnConverter', function () {
|
|||
describe('getKeybehaviorModOutputArrayFromKeyActionbehaviorOutputArray ', function () {
|
||||
const sut = new KeylayoutToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
const sutR = new KeylayoutFileReader(compilerTestCallbacks);
|
||||
const inputFilename = makePathToFixture('../data/Test.keylayout');
|
||||
const inputFilename = makePathToFixture('../data/tests-keylayout-kmn/Test.keylayout');
|
||||
const read = sutR.read(compilerTestCallbacks.loadFile(inputFilename));
|
||||
|
||||
const b1KeycodeArr: KeylayoutFileData[] = [
|
||||
|
|
@ -562,7 +562,7 @@ describe('KeylayoutToKmnConverter', function () {
|
|||
describe('getActionStateOutputArrayFromActionState ', function () {
|
||||
const sut = new KeylayoutToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
const sutR = new KeylayoutFileReader(compilerTestCallbacks);
|
||||
const inputFilename = makePathToFixture('../data/Test.keylayout');
|
||||
const inputFilename = makePathToFixture('../data/tests-keylayout-kmn/Test.keylayout');
|
||||
const read = sutR.read(compilerTestCallbacks.loadFile(inputFilename));
|
||||
[['1', [
|
||||
{ "id": "A_0", "state": "1", "output": "ˆ" },
|
||||
|
|
@ -609,7 +609,7 @@ describe('KeylayoutToKmnConverter', function () {
|
|||
describe('getActionOutputbehaviorKeyModiFromActionIDStateOutput ', function () {
|
||||
const sut = new KeylayoutToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
const sutR = new KeylayoutFileReader(compilerTestCallbacks);
|
||||
const inputFilename = makePathToFixture('../data/Test.keylayout');
|
||||
const inputFilename = makePathToFixture('../data/tests-keylayout-kmn/Test.keylayout');
|
||||
const read = sutR.read(compilerTestCallbacks.loadFile(inputFilename));
|
||||
const converted = sut.convertBound.convert(read, inputFilename.replace(/\.keylayout$/, '.kmn'));
|
||||
[
|
||||
|
|
@ -644,7 +644,7 @@ describe('KeylayoutToKmnConverter', function () {
|
|||
describe('getKeyActionOutputArrayFromActionStateOutputArray ', function () {
|
||||
const sut = new KeylayoutToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
const sutR = new KeylayoutFileReader(compilerTestCallbacks);
|
||||
const inputFilename = makePathToFixture('../data/Test.keylayout');
|
||||
const inputFilename = makePathToFixture('../data/tests-keylayout-kmn/Test.keylayout');
|
||||
const read = sutR.read(compilerTestCallbacks.loadFile(inputFilename));
|
||||
|
||||
const b6ActionIdArr: ActionStateOutput[] = [
|
||||
|
|
@ -751,35 +751,35 @@ describe('KeylayoutToKmnConverter', function () {
|
|||
const sutR = new KeylayoutFileReader(compilerTestCallbacks);
|
||||
[
|
||||
[
|
||||
['../data/Test_C0.keylayout'],
|
||||
['../data/tests-keylayout-kmn/Test_C0.keylayout'],
|
||||
[new Rule("C0", '', '', 0, 0, '', '', 0, 0, 'NCAPS', 'K_A', new TextEncoder().encode('a')),
|
||||
new Rule("C0", '', '', 0, 0, '', '', 0, 0, 'CAPS', 'K_A', new TextEncoder().encode('A')),
|
||||
new Rule("C0", '', '', 0, 0, '', '', 0, 0, 'NCAPS', 'K_S', new TextEncoder().encode('s')),
|
||||
new Rule("C0", '', '', 0, 0, '', '', 0, 0, 'NCAPS', 'K_D', new TextEncoder().encode('d'))]
|
||||
],
|
||||
[
|
||||
['../data/Test_C1.keylayout'],
|
||||
['../data/tests-keylayout-kmn/Test_C1.keylayout'],
|
||||
[new Rule("C1", '', '', 0, 0, '', '', 0, 0, 'NCAPS', 'K_S', new TextEncoder().encode('s')),
|
||||
new Rule("C1", '', '', 0, 0, '', '', 0, 0, 'CAPS', 'K_S', new TextEncoder().encode('S'))]
|
||||
],
|
||||
[
|
||||
['../data/Test_C2.keylayout'],
|
||||
['../data/tests-keylayout-kmn/Test_C2.keylayout'],
|
||||
[new Rule("C2", '', '', 0, 0, 'NCAPS', 'K_U', 1, 1, 'CAPS', 'K_A', new TextEncoder().encode('Â'))],
|
||||
],
|
||||
[
|
||||
['../data/Test_C3.keylayout'],
|
||||
['../data/tests-keylayout-kmn/Test_C3.keylayout'],
|
||||
[new Rule("C3", 'NCAPS SHIFT', 'K_D', 2, 1, 'NCAPS', 'K_U', 1, 2, 'CAPS', 'K_A', new TextEncoder().encode('Â'))]
|
||||
],
|
||||
|
||||
[
|
||||
['../data/Test_C3_several.keylayout'],
|
||||
['../data/tests-keylayout-kmn/Test_C3_several.keylayout'],
|
||||
[new Rule("C3", 'NCAPS RALT', 'K_8', 3, 1, 'CAPS', 'K_U', 1, 3, 'NCAPS', 'K_A', new TextEncoder().encode('â')),
|
||||
new Rule("C3", 'NCAPS RALT', 'K_8', 3, 0, 'CAPS', 'K_U', 1, 0, 'NCAPS RALT', 'K_A', new TextEncoder().encode('â')),
|
||||
new Rule("C3", 'NCAPS RALT', 'K_8', 3, 0, 'NCAPS RALT', 'K_U', 2, 2, 'NCAPS', 'K_A', new TextEncoder().encode('â')),
|
||||
new Rule("C3", 'NCAPS RALT', 'K_8', 3, 0, 'NCAPS RALT', 'K_U', 2, 0, 'NCAPS RALT', 'K_A', new TextEncoder().encode('â'))]
|
||||
],
|
||||
[
|
||||
['../data/Test_C0_C1_C2_C3.keylayout'],
|
||||
['../data/tests-keylayout-kmn/Test_C0_C1_C2_C3.keylayout'],
|
||||
[new Rule("C0", '', '', 0, 0, '', '', 0, 0, 'CAPS', 'K_A', new TextEncoder().encode('A')),
|
||||
new Rule("C2", '', '', 0, 0, 'NCAPS RALT', 'K_EQUAL', 1, 1, 'CAPS', 'K_D', new TextEncoder().encode('Â')),
|
||||
new Rule("C1", '', '', 0, 0, '', '', 0, 0, 'CAPS', 'K_S', new TextEncoder().encode('S')),
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ describe('KeylayoutFileReader', function () {
|
|||
const sutR = new KeylayoutFileReader(compilerTestCallbacks);
|
||||
|
||||
it('read() should return filled array on correct input', async function () {
|
||||
const inputFilename = makePathToFixture('../data/Test.keylayout');
|
||||
const inputFilename = makePathToFixture('../data/tests-keylayout-kmn/Test.keylayout');
|
||||
const result = sutR.read(compilerTestCallbacks.loadFile(inputFilename));
|
||||
assert.isNotEmpty(result);
|
||||
});
|
||||
|
|
@ -38,7 +38,7 @@ describe('KeylayoutFileReader', function () {
|
|||
});
|
||||
|
||||
it('read() should return empty array on unavailable file name', async function () {
|
||||
const inputFilenameUnavailable = makePathToFixture('../data/X.keylayout');
|
||||
const inputFilenameUnavailable = makePathToFixture('../data/tests-keylayout-kmn/X.keylayout');
|
||||
const result = sutR.read(compilerTestCallbacks.loadFile(inputFilenameUnavailable));
|
||||
assert.isNull(result);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ describe('KmnFileWriter', function () {
|
|||
});
|
||||
|
||||
describe("writeDataRules() ", function () {
|
||||
const inputFilename = makePathToFixture('../data/Test.keylayout');
|
||||
const inputFilename = makePathToFixture('../data/tests-keylayout-kmn/Test.keylayout');
|
||||
const sut = new KeylayoutToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
const sutR = new KeylayoutFileReader(compilerTestCallbacks);
|
||||
const sutW = new KmnFileWriter(compilerTestCallbacks, compilerTestOptions);
|
||||
|
|
@ -40,7 +40,7 @@ describe('KmnFileWriter', function () {
|
|||
const sut = new KeylayoutToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
const sutR = new KeylayoutFileReader(compilerTestCallbacks);
|
||||
const sutW = new KmnFileWriter(compilerTestCallbacks, compilerTestOptions);
|
||||
const inputFilename = makePathToFixture('../data/Test.keylayout');
|
||||
const inputFilename = makePathToFixture('../data/tests-keylayout-kmn/Test.keylayout');
|
||||
const read = sutR.read(compilerTestCallbacks.loadFile(inputFilename));
|
||||
const converted = sut.convertBound.convert(read, inputFilename.replace(/\.keylayout$/, '.kmn'));
|
||||
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ describe('KmnXKBFileWriter', function () {
|
|||
});
|
||||
|
||||
describe("Xkb-kmn: writeDataRules() ", function () {
|
||||
const inputFilename = makePathToFixture('../data/Test.xkb');
|
||||
const inputFilename = makePathToFixture('../data/tests-xkb-kmn/Test.xkb');
|
||||
const sut = new XkbToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
const sutR = new XkbFileReader(compilerTestCallbacks);
|
||||
const sutW = new KmnXKBFileWriter(compilerTestCallbacks, compilerTestOptions);
|
||||
|
|
@ -40,7 +40,7 @@ describe('KmnXKBFileWriter', function () {
|
|||
const sut = new XkbToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
const sutR = new XkbFileReader(compilerTestCallbacks);
|
||||
const sutW = new KmnXKBFileWriter(compilerTestCallbacks, compilerTestOptions);
|
||||
const inputFilename = makePathToFixture('../data/Test.xkb');
|
||||
const inputFilename = makePathToFixture('../data/tests-xkb-kmn/Test.xkb');
|
||||
const read = sutR.read(compilerTestCallbacks.loadFile(inputFilename));
|
||||
const converted = sut.convertBound.convert(read, inputFilename.replace(/\.xkb$/, '.kmn'));
|
||||
|
||||
|
|
@ -422,7 +422,7 @@ describe('KmnXKBFileWriter', function () {
|
|||
const sutW = new KmnXKBFileWriter(compilerTestCallbacks, compilerTestOptions);
|
||||
[
|
||||
[
|
||||
[ /* see ../data/Test_C0.xkb */
|
||||
[ /* see ../data/tests-xkb-kmn/Test_C0.xkb */
|
||||
new Rule("C0", '', '', 0, 0, '', '', 0, 0, 'NCAPS', 'K_A', new TextEncoder().encode('a')),
|
||||
new Rule("C0", '', '', 0, 0, '', '', 0, 0, 'CAPS', 'K_A', new TextEncoder().encode('A')),
|
||||
new Rule("C0", '', '', 0, 0, '', '', 0, 0, 'NCAPS', 'K_S', new TextEncoder().encode('s')),
|
||||
|
|
@ -434,7 +434,7 @@ describe('KmnXKBFileWriter', function () {
|
|||
"+ [NCAPS K_D] > 'd'\n"]
|
||||
],
|
||||
[
|
||||
[ /* see ../data/Test_C1.xkb */
|
||||
[ /* see ../data/tests-xkb-kmn/Test_C1.xkb */
|
||||
new Rule("C1", '', '', 0, 0, '', '', 0, 0, 'NCAPS', 'K_S', new TextEncoder().encode('s')),
|
||||
new Rule("C1", '', '', 0, 0, '', '', 0, 0, 'CAPS', 'K_S', new TextEncoder().encode('S'))
|
||||
],
|
||||
|
|
@ -442,14 +442,14 @@ describe('KmnXKBFileWriter', function () {
|
|||
"+ [CAPS K_S] > 'S'\n"]
|
||||
],
|
||||
[
|
||||
[ /* see ../data/Test_C2.xkb */
|
||||
[ /* see ../data/tests-xkb-kmn/Test_C2.xkb */
|
||||
new Rule("C2", '', '', 0, 0, 'NCAPS', 'K_U', 1, 1, 'CAPS', 'K_A', new TextEncoder().encode('Â'))
|
||||
],
|
||||
["+ [NCAPS K_U] > dk(A1)\n" +
|
||||
"dk(A1) + [CAPS K_A] > 'Â'\n\n"]
|
||||
],
|
||||
[
|
||||
[ /* see ../data/Test_C3.xkb */
|
||||
[ /* see ../data/tests-xkb-kmn/Test_C3.xkb */
|
||||
new Rule("C3", 'NCAPS SHIFT', 'K_D', 2, 1, 'NCAPS', 'K_U', 1, 2, 'CAPS', 'K_A', new TextEncoder().encode('Â'))
|
||||
],
|
||||
["+ [NCAPS SHIFT K_D] > dk(A2)\n" +
|
||||
|
|
@ -458,7 +458,7 @@ describe('KmnXKBFileWriter', function () {
|
|||
]
|
||||
],
|
||||
[
|
||||
[ /* see ../data/Test_C0_C1_C2_C3.xkb */
|
||||
[ /* see ../data/tests-xkb-kmn/Test_C0_C1_C2_C3.xkb */
|
||||
new Rule("C0", '', '', 0, 0, '', '', 0, 0, 'CAPS', 'K_A', new TextEncoder().encode('A')),
|
||||
new Rule("C2", '', '', 0, 0, 'NCAPS RALT', 'K_EQUAL', 1, 1, 'CAPS', 'K_D', new TextEncoder().encode('Â')),
|
||||
new Rule("C1", '', '', 0, 0, '', '', 0, 0, 'CAPS', 'K_S', new TextEncoder().encode('S')),
|
||||
|
|
@ -492,7 +492,7 @@ describe('KmnXKBFileWriter', function () {
|
|||
"dk(B5) + [CAPS K_D] > 'Â'\n\n"]
|
||||
],
|
||||
[
|
||||
[ /* see ../data/Test_C3_several.xkb */
|
||||
[ /* see ../data/tests-xkb-kmn/Test_C3_several.xkb */
|
||||
new Rule("C3", 'NCAPS RALT', 'K_8', 3, 1, 'CAPS', 'K_U', 1, 3, 'NCAPS', 'K_A', new TextEncoder().encode('â')),
|
||||
new Rule("C3", 'NCAPS RALT', 'K_8', 3, 0, 'CAPS', 'K_U', 1, 0, 'NCAPS RALT', 'K_A', new TextEncoder().encode('â')),
|
||||
new Rule("C3", 'NCAPS RALT', 'K_8', 3, 0, 'NCAPS RALT', 'K_U', 2, 2, 'NCAPS', 'K_A', new TextEncoder().encode('â')),
|
||||
|
|
|
|||
|
|
@ -22,7 +22,7 @@ describe('XkbFileReader', function () {
|
|||
const sutR = new XkbFileReader(compilerTestCallbacks);
|
||||
|
||||
it('read() should return filled array on correct input', async function () {
|
||||
const inputFilename = makePathToFixture('../data/Test.xkb');
|
||||
const inputFilename = makePathToFixture('../data/tests-xkb-kmn/Test.xkb');
|
||||
const result = sutR.read(compilerTestCallbacks.loadFile(inputFilename));
|
||||
assert.isNotEmpty(result);
|
||||
});
|
||||
|
|
@ -38,7 +38,7 @@ describe('XkbFileReader', function () {
|
|||
});
|
||||
|
||||
it('read() should return empty array on unavailable file name', async function () {
|
||||
const inputFilenameUnavailable = makePathToFixture('../data/X.xkb');
|
||||
const inputFilenameUnavailable = makePathToFixture('../data/tests-xkb-kmn/X.xkb');
|
||||
const result = sutR.read(compilerTestCallbacks.loadFile(inputFilenameUnavailable));
|
||||
assert.isNull(result);
|
||||
});
|
||||
|
|
|
|||
|
|
@ -23,29 +23,29 @@ describe('XkbToKmnConverter', function () {
|
|||
describe('Xkb-kmn: RunSpecialTestFiles', function () {
|
||||
const sut = new XkbToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
[
|
||||
[makePathToFixture('../data/Test_C0.keylayout')],
|
||||
[makePathToFixture('../data/Test_C1.keylayout')],
|
||||
[makePathToFixture('../data/Test_C2.keylayout')],
|
||||
[makePathToFixture('../data/Test_C2_several.keylayout')],
|
||||
[makePathToFixture('../data/Test_C3.keylayout')],
|
||||
[makePathToFixture('../data/Test_C3_several.keylayout')],
|
||||
[makePathToFixture('../data/Test_C0_C1_C2_C3.keylayout')],
|
||||
[makePathToFixture('../data/Test_maxKeyCode.keylayout')],
|
||||
[makePathToFixture('../data/Test_messages.keylayout')],
|
||||
[makePathToFixture('../data/Test_messages_controlCharacter.keylayout')],
|
||||
[makePathToFixture('../data/Test_messages_superior_C2.keylayout')],
|
||||
[makePathToFixture('../data/Test_messages_superior_C3.keylayout')],
|
||||
[makePathToFixture('../data/Test_duplicate_missing_keycode.keylayout')],
|
||||
[makePathToFixture('../data/Test_modifier.keylayout')],
|
||||
[makePathToFixture('../data/Test_modifierNoCaps.keylayout')],
|
||||
[makePathToFixture('../data/Test_differentAmountOfKeysInBehaviours.keylayout')],
|
||||
[makePathToFixture('../data/Test_duplicate_missing_keys.keylayout')],
|
||||
[makePathToFixture('../data/Test_duplicate_keys.keylayout')],
|
||||
[makePathToFixture('../data/Test_ambiguous_keys.keylayout')],
|
||||
[makePathToFixture('../data/Test_nr_elements.keylayout')],
|
||||
[makePathToFixture('../data/Test.keylayout')],
|
||||
[makePathToFixture('../data/Test_differentEncodings.keylayout')],
|
||||
[makePathToFixture('../data/Test_ExtraWarning.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_C0.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_C1.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_C2.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_C2_several.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_C3.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_C3_several.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_C0_C1_C2_C3.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_maxKeyCode.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_messages.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_messages_controlCharacter.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_messages_superior_C2.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_messages_superior_C3.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_duplicate_missing_keycode.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_modifier.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_modifierNoCaps.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_differentAmountOfKeysInBehaviours.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_duplicate_missing_keys.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_duplicate_keys.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_ambiguous_keys.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_nr_elements.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_differentEncodings.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_ExtraWarning.keylayout')],
|
||||
].forEach(function (files) {
|
||||
it(files + " should give no errors ", async function () {
|
||||
sut.run(files[0]);
|
||||
|
|
@ -57,15 +57,15 @@ describe('XkbToKmnConverter', function () {
|
|||
describe('Xkb-kmn: RunTestFiles resulting in errors ', function () {
|
||||
const sut = new XkbToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
[
|
||||
[makePathToFixture('../data/Test_DifferentAmountOfMapSelectInKeyMapERROR.keylayout')],
|
||||
[makePathToFixture('../data/Test_MissingkeyERROR.keylayout')],
|
||||
[makePathToFixture('../data/Test_MissingkeyMapERROR.keylayout')],
|
||||
[makePathToFixture('../data/Test_MissingLayoutsERROR.keylayout')],
|
||||
[makePathToFixture('../data/Test_MissingmodifierMapERROR.keylayout')],
|
||||
[makePathToFixture('../data/Test_MissingkeyMapSetERROR.keylayout')],
|
||||
[makePathToFixture('../data/Test_MissingActionsERROR.keylayout')],
|
||||
[makePathToFixture('../data/Test_MissingTerminatorsERROR.keylayout')],
|
||||
[makePathToFixture('../data/Test_MissingAllERROR.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_DifferentAmountOfMapSelectInKeyMapERROR.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_MissingkeyERROR.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_MissingkeyMapERROR.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_MissingLayoutsERROR.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_MissingmodifierMapERROR.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_MissingkeyMapSetERROR.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_MissingActionsERROR.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_MissingTerminatorsERROR.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_MissingAllERROR.keylayout')],
|
||||
].forEach(function (files) {
|
||||
it(files + " should give an error ", async function () {
|
||||
sut.run(files[0]);
|
||||
|
|
@ -77,7 +77,7 @@ describe('XkbToKmnConverter', function () {
|
|||
describe('Xkb-kmn: RunSpecialTestFiles - create Error: unsupported characters', function () {
|
||||
const sut = new XkbToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
[
|
||||
[makePathToFixture('../data/Test_characters.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_characters.keylayout')],
|
||||
].forEach(function (files) {
|
||||
it(files + " should give Error: unsupported characters ", async function () {
|
||||
sut.run(files[0]);
|
||||
|
|
@ -89,7 +89,7 @@ describe('XkbToKmnConverter', function () {
|
|||
describe('Xkb-kmn: RunSpecialTestFiles - create Error: undefined action', function () {
|
||||
const sut = new XkbToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
[
|
||||
[makePathToFixture('../data/Test_undefinedAction.keylayout')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test_undefinedAction.keylayout')],
|
||||
].forEach(function (files) {
|
||||
it(files + " should give Error: undefined action detected", async function () {
|
||||
sut.run(files[0]);
|
||||
|
|
@ -125,7 +125,7 @@ describe('XkbToKmnConverter', function () {
|
|||
});
|
||||
|
||||
it('run() should throw on unavailable input file name and null output file name', async function () {
|
||||
const inputFilename = makePathToFixture('../data/Unavailable.keylayout');
|
||||
const inputFilename = makePathToFixture('../data/tests-xkb-kmn/Unavailable.keylayout');
|
||||
const result = sut.run(inputFilename, null);
|
||||
assert.isNotNull(result);
|
||||
assert.equal(compilerTestCallbacks.messages.length, 2);
|
||||
|
|
@ -137,14 +137,14 @@ describe('XkbToKmnConverter', function () {
|
|||
describe('Xkb-kmn: Run kmc-convert with or without outputfile name', async function () {
|
||||
this.timeout(5000); // allow longer time for this test
|
||||
const sut = new XkbToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
const infile = '../data/Test.keylayout';
|
||||
const infile = '../data/tests-xkb-kmn/Test.keylayout';
|
||||
[
|
||||
[makePathToFixture('../data/Test.kmn')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/Test.kmn')],
|
||||
[makePathToFixture('')],
|
||||
[],
|
||||
[null],
|
||||
[makePathToFixture('../data/test_OtherOutputName.kmn')],
|
||||
[makePathToFixture('../data/OutputXName.bb')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/test_OtherOutputName.kmn')],
|
||||
[makePathToFixture('../data/tests-xkb-kmn/OutputXName.bb')],
|
||||
].forEach(function (files) {
|
||||
it(infile + " should run ", async function () {
|
||||
await NodeAssert.doesNotReject(async () => sut.run(makePathToFixture(infile), files[0]));
|
||||
|
|
@ -158,12 +158,12 @@ describe('XkbToKmnConverter', function () {
|
|||
const sutR = new XkbFileReader(compilerTestCallbacks);
|
||||
|
||||
// ProcessedData from usable file
|
||||
const inputFilename = makePathToFixture('../data/Test.keylayout');
|
||||
const inputFilename = makePathToFixture('../data/tests-xkb-kmn/Test.keylayout');
|
||||
const read = sutR.read(compilerTestCallbacks.loadFile(inputFilename));
|
||||
const converted = sut.convertBound.convert(read, inputFilename.replace(/\.keylayout$/, '.kmn'));
|
||||
|
||||
// ProcessedData from unavailable file
|
||||
const inputFilenameUnavailable = makePathToFixture('../data/X.keylayout');
|
||||
const inputFilenameUnavailable = makePathToFixture('../data/tests-xkb-kmn/X.keylayout');
|
||||
const readUnavailable = sutR.read(compilerTestCallbacks.loadFile(inputFilenameUnavailable));
|
||||
const convertedUnavailable = sut.convertBound.convert(readUnavailable, inputFilenameUnavailable.replace(/\.keylayout$/, '.kmn'));
|
||||
|
||||
|
|
@ -320,7 +320,7 @@ describe('XkbToKmnConverter', function () {
|
|||
describe('Xkb-kmn: getModifierArrayFromKeyModifierArray ', function () {
|
||||
const sut = new XkbToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
const sutR = new XkbFileReader(compilerTestCallbacks);
|
||||
const inputFilename = makePathToFixture('../data/Test.keylayout');
|
||||
const inputFilename = makePathToFixture('../data/tests-xkb-kmn/Test.keylayout');
|
||||
const read = sutR.read(compilerTestCallbacks.loadFile(inputFilename));
|
||||
const converted = sut.convertBound.convert(read, inputFilename.replace(/\.keylayout$/, '.kmn'));
|
||||
[
|
||||
|
|
@ -345,7 +345,7 @@ describe('XkbToKmnConverter', function () {
|
|||
describe('Xkb-kmn: getKeyModifierArrayFromActionID ', function () {
|
||||
const sut = new XkbToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
const sutR = new XkbFileReader(compilerTestCallbacks);
|
||||
const inputFilename = makePathToFixture('../data/Test.keylayout');
|
||||
const inputFilename = makePathToFixture('../data/tests-xkb-kmn/Test.keylayout');
|
||||
const read = sutR.read(compilerTestCallbacks.loadFile(inputFilename));
|
||||
[
|
||||
['A_16', [{ "key": "32", "behavior": "5" }]],
|
||||
|
|
@ -371,7 +371,7 @@ describe('XkbToKmnConverter', function () {
|
|||
describe('Xkb-kmn: getActionIdFromActionNext ', function () {
|
||||
const sut = new XkbToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
const sutR = new XkbFileReader(compilerTestCallbacks);
|
||||
const inputFilename = makePathToFixture('../data/Test.keylayout');
|
||||
const inputFilename = makePathToFixture('../data/tests-xkb-kmn/Test.keylayout');
|
||||
const read = sutR.read(compilerTestCallbacks.loadFile(inputFilename));
|
||||
[
|
||||
['none', ''],
|
||||
|
|
@ -397,7 +397,7 @@ describe('XkbToKmnConverter', function () {
|
|||
describe('Xkb-kmn: getActionIndexFromActionId ', function () {
|
||||
const sut = new XkbToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
const sutR = new XkbFileReader(compilerTestCallbacks);
|
||||
const inputFilename = makePathToFixture('../data/Test.keylayout');
|
||||
const inputFilename = makePathToFixture('../data/tests-xkb-kmn/Test.keylayout');
|
||||
const read = sutR.read(compilerTestCallbacks.loadFile(inputFilename));
|
||||
[
|
||||
['none', -1],
|
||||
|
|
@ -421,7 +421,7 @@ describe('XkbToKmnConverter', function () {
|
|||
describe('Xkb-kmn: getOutputFromActionIdNone ', function () {
|
||||
const sut = new XkbToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
const sutR = new XkbFileReader(compilerTestCallbacks);
|
||||
const inputFilename = makePathToFixture('../data/Test.keylayout');
|
||||
const inputFilename = makePathToFixture('../data/tests-xkb-kmn/Test.keylayout');
|
||||
const read = sutR.read(compilerTestCallbacks.loadFile(inputFilename));
|
||||
[
|
||||
['A_14', 'u'],
|
||||
|
|
@ -451,7 +451,7 @@ describe('XkbToKmnConverter', function () {
|
|||
describe('Xkb-kmn: getKeybehaviorModOutputArrayFromKeyActionbehaviorOutputArray ', function () {
|
||||
const sut = new XkbToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
const sutR = new XkbFileReader(compilerTestCallbacks);
|
||||
const inputFilename = makePathToFixture('../data/Test.keylayout');
|
||||
const inputFilename = makePathToFixture('../data/tests-xkb-kmn/Test.keylayout');
|
||||
const read = sutR.read(compilerTestCallbacks.loadFile(inputFilename));
|
||||
|
||||
const b1KeycodeArr: KeylayoutFileData[] = [
|
||||
|
|
@ -559,7 +559,7 @@ describe('XkbToKmnConverter', function () {
|
|||
describe('Xkb-kmn: getActionStateOutputArrayFromActionState ', function () {
|
||||
const sut = new XkbToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
const sutR = new XkbFileReader(compilerTestCallbacks);
|
||||
const inputFilename = makePathToFixture('../data/Test.keylayout');
|
||||
const inputFilename = makePathToFixture('../data/tests-xkb-kmn/Test.keylayout');
|
||||
const read = sutR.read(compilerTestCallbacks.loadFile(inputFilename));
|
||||
[['1', [
|
||||
{ "id": "A_0", "state": "1", "output": "ˆ" },
|
||||
|
|
@ -606,7 +606,7 @@ describe('XkbToKmnConverter', function () {
|
|||
describe('Xkb-kmn: getActionOutputbehaviorKeyModiFromActionIDStateOutput ', function () {
|
||||
const sut = new XkbToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
const sutR = new XkbFileReader(compilerTestCallbacks);
|
||||
const inputFilename = makePathToFixture('../data/Test.keylayout');
|
||||
const inputFilename = makePathToFixture('../data/tests-xkb-kmn/Test.keylayout');
|
||||
const read = sutR.read(compilerTestCallbacks.loadFile(inputFilename));
|
||||
const converted = sut.convertBound.convert(read, inputFilename.replace(/\.keylayout$/, '.kmn'));
|
||||
[
|
||||
|
|
@ -641,7 +641,7 @@ describe('XkbToKmnConverter', function () {
|
|||
describe('Xkb-kmn: getKeyActionOutputArrayFromActionStateOutputArray ', function () {
|
||||
const sut = new XkbToKmnConverter(compilerTestCallbacks, compilerTestOptions);
|
||||
const sutR = new XkbFileReader(compilerTestCallbacks);
|
||||
const inputFilename = makePathToFixture('../data/Test.keylayout');
|
||||
const inputFilename = makePathToFixture('../data/tests-xkb-kmn/Test.keylayout');
|
||||
const read = sutR.read(compilerTestCallbacks.loadFile(inputFilename));
|
||||
|
||||
const b6ActionIdArr: ActionStateOutput[] = [
|
||||
|
|
@ -748,35 +748,35 @@ describe('XkbToKmnConverter', function () {
|
|||
const sutR = new XkbFileReader(compilerTestCallbacks);
|
||||
[
|
||||
[
|
||||
['../data/Test_C0.keylayout'],
|
||||
['../data/tests-xkb-kmn/Test_C0.keylayout'],
|
||||
[new Rule("C0", '', '', 0, 0, '', '', 0, 0, 'NCAPS', 'K_A', new TextEncoder().encode('a')),
|
||||
new Rule("C0", '', '', 0, 0, '', '', 0, 0, 'CAPS', 'K_A', new TextEncoder().encode('A')),
|
||||
new Rule("C0", '', '', 0, 0, '', '', 0, 0, 'NCAPS', 'K_S', new TextEncoder().encode('s')),
|
||||
new Rule("C0", '', '', 0, 0, '', '', 0, 0, 'NCAPS', 'K_D', new TextEncoder().encode('d'))]
|
||||
],
|
||||
[
|
||||
['../data/Test_C1.keylayout'],
|
||||
['../data/tests-xkb-kmn/Test_C1.keylayout'],
|
||||
[new Rule("C1", '', '', 0, 0, '', '', 0, 0, 'NCAPS', 'K_S', new TextEncoder().encode('s')),
|
||||
new Rule("C1", '', '', 0, 0, '', '', 0, 0, 'CAPS', 'K_S', new TextEncoder().encode('S'))]
|
||||
],
|
||||
[
|
||||
['../data/Test_C2.keylayout'],
|
||||
['../data/tests-xkb-kmn/Test_C2.keylayout'],
|
||||
[new Rule("C2", '', '', 0, 0, 'NCAPS', 'K_U', 1, 1, 'CAPS', 'K_A', new TextEncoder().encode('Â'))],
|
||||
],
|
||||
[
|
||||
['../data/Test_C3.keylayout'],
|
||||
['../data/tests-xkb-kmn/Test_C3.keylayout'],
|
||||
[new Rule("C3", 'NCAPS SHIFT', 'K_D', 2, 1, 'NCAPS', 'K_U', 1, 2, 'CAPS', 'K_A', new TextEncoder().encode('Â'))]
|
||||
],
|
||||
|
||||
[
|
||||
['../data/Test_C3_several.keylayout'],
|
||||
['../data/tests-xkb-kmn/Test_C3_several.keylayout'],
|
||||
[new Rule("C3", 'NCAPS RALT', 'K_8', 3, 1, 'CAPS', 'K_U', 1, 3, 'NCAPS', 'K_A', new TextEncoder().encode('â')),
|
||||
new Rule("C3", 'NCAPS RALT', 'K_8', 3, 0, 'CAPS', 'K_U', 1, 0, 'NCAPS RALT', 'K_A', new TextEncoder().encode('â')),
|
||||
new Rule("C3", 'NCAPS RALT', 'K_8', 3, 0, 'NCAPS RALT', 'K_U', 2, 2, 'NCAPS', 'K_A', new TextEncoder().encode('â')),
|
||||
new Rule("C3", 'NCAPS RALT', 'K_8', 3, 0, 'NCAPS RALT', 'K_U', 2, 0, 'NCAPS RALT', 'K_A', new TextEncoder().encode('â'))]
|
||||
],
|
||||
[
|
||||
['../data/Test_C0_C1_C2_C3.keylayout'],
|
||||
['../data/tests-xkb-kmn/Test_C0_C1_C2_C3.keylayout'],
|
||||
[new Rule("C0", '', '', 0, 0, '', '', 0, 0, 'CAPS', 'K_A', new TextEncoder().encode('A')),
|
||||
new Rule("C2", '', '', 0, 0, 'NCAPS RALT', 'K_EQUAL', 1, 1, 'CAPS', 'K_D', new TextEncoder().encode('Â')),
|
||||
new Rule("C1", '', '', 0, 0, '', '', 0, 0, 'CAPS', 'K_S', new TextEncoder().encode('S')),
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue