<keymap>

<!-- State Declarations -->

<state name="common"/>
<state name="lower-case" parent="common"/>
<state name="upper-case" parent="common"/>
<state name="number" parent="common"/>
<state name="control" parent="common"/>
<state name="alt" parent="common"/>

<state name="Normal" parent="lower-case"/>
<state name="LShift" parent="upper-case"/>
<state name="RShift" parent="upper-case"/>
<state name="Fn" parent="number"/>
<state name="Num" parent="number"/>
<state name="Caps" parent="upper-case"/>
<state name="iFn"/>
<state name="sFn" parent="number"/>

<state name="LShift-Fn" parent="control"/>
<state name="RShift-Fn" parent="alt"/>
<state name="LShift-Caps" parent="lower-case"/>
<state name="LShift-Num" parent="number"/>
<state name="RShift-Caps" parent="lower-case"/>
<state name="RShift-Num" parent="number"/>
<state name="Fn-Num" parent="number"/>
<state name="Fn-Caps" parent="number"/>
<state name="Num-Caps" parent="number"/>
<state name="Caps-iFn"/>
<state name="Caps-sFn" parent="sFn"/>

<state name="LShift-Fn-Caps" parent="control"/>
<state name="LShift-Fn-Num" parent="control"/>
<state name="LShift-Num-Caps" parent="number"/>
<state name="RShift-Fn-Caps" parent="control"/>
<state name="RShift-Fn-Num" parent="control"/>
<state name="RShift-Num-Caps" parent="number"/>
<state name="Fn-Num-Caps" parent="number"/>
<state name="LShift-Fn-Num-Caps" parent="control"/>
<state name="RShift-Fn-Num-Caps" parent="control"/>

<state name="Normal" default="true">
	<map keycode="Left Shift" pressed="true">
		<event keycode="Shift" unicode="-1" modifiers="Shift" pressed="true"/>
		<next-state name="LShift"/>
	</map>
	<map keycode="Right Shift" pressed="true">
		<event keycode="Meta" unicode="-1" modifiers="Shift" pressed="true"/>
		<next-state name="RShift"/>
	</map>
	<map keycode="Fn" pressed="true">
		<event keycode="F22" unicode="-1" pressed="true"/>
		<next-state name="iFn"/>
	</map>
</state>

<state name="LShift">
	<map keycode="Left Shift" pressed="false">
		<event keycode="Shift" unicode="-1" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="Fn" pressed="true">
		<event keycode="F22" unicode="-1" modifiers="Control" pressed="true"/>
		<next-state name="LShift-Fn"/>
	</map>
</state>

<state name="RShift">
	<map keycode="Right Shift" pressed="false">
		<event keycode="Meta" unicode="-1" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="Fn" pressed="true">
		<event keycode="F22" unicode="-1" modifiers="Alt|Shift" pressed="true"/>
		<next-state name="RShift-Fn"/>
	</map>
</state>

<state name="Fn">
	<map keycode="Space" pressed="true">
		<event keycode="Bar" unicode="124" pressed="true"/>
	</map>
	<map keycode="Apostrophe" pressed="true">
		<event keycode="AsciiTilde" unicode="126" pressed="true"/>
	</map>
	<map keycode="Comma" pressed="true">
		<event keycode="ParenRight" unicode="41" pressed="true"/>
	</map>
	<map keycode="Period" pressed="true">
		<event keycode="Less" unicode="60" pressed="true"/>
	</map>
	<map keycode="Slash" pressed="true">
		<event keycode="NumLock" unicode="-1" pressed="true"/>
		<next-state name="Fn-Num"/>
	</map>
	<map keycode="C" pressed="true">
		<event keycode="C" unicode="3" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="V" pressed="true">
		<event keycode="V" unicode="22" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="X" pressed="true">
		<event keycode="X" unicode="24" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="Space" pressed="false">
		<event keycode="Bar" unicode="124" pressed="false"/>
	</map>
	<map keycode="Apostrophe" pressed="false">
		<event keycode="AsciiTilde" unicode="126" pressed="false"/>
	</map>
	<map keycode="Comma" pressed="false">
		<event keycode="ParenRight" unicode="41" pressed="false"/>
	</map>
	<map keycode="Period" pressed="false">
		<event keycode="Less" unicode="60" pressed="false"/>
	</map>
	<map keycode="C" pressed="false">
		<event keycode="C" unicode="3" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="V" pressed="false">
		<event keycode="V" unicode="22" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="X" pressed="false">
		<event keycode="X" unicode="24" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="Tab" pressed="true">
		<event keycode="CapsLock" unicode="-1" pressed="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="Left Shift" pressed="true">
		<event keycode="Shift" unicode="-1" modifiers="Control" pressed="true"/>
		<next-state name="LShift-Fn"/>
	</map>
	<map keycode="Right Shift" pressed="true">
		<event keycode="Meta" unicode="-1" modifiers="Alt|Shift" pressed="true"/>
		<next-state name="RShift-Fn"/>
	</map>
	<map keycode="Fn" pressed="false">
		<event keycode="F22" unicode="-1" pressed="true"/>
		<next-state name="Normal"/>
	</map>
</state>

<state name="Num">
	<map keycode="Fn" pressed="true">
		<event keycode="F22" unicode="-1" pressed="true"/>
		<next-state name="Fn-Num"/>
	</map>
</state>

<state name="Caps">
	<map keycode="Left Shift" pressed="true">
		<event keycode="Shift" unicode="-1" modifiers="Shift" pressed="true"/>
		<next-state name="LShift-Caps"/>
	</map>

	<map keycode="Right Shift" pressed="true">
		<event keycode="Meta" unicode="-1" pressed="true"/>
		<next-state name="RShift-Caps"/>
	</map>

	<map keycode="Fn" pressed="true">
		<event keycode="F22" unicode="-1" pressed="true"/>
		<next-state name="Caps-iFn"/>
	</map>
</state>

<state name="LShift-Fn">
	<map keycode="Left Shift" pressed="false">
		<event keycode="Shift" unicode="-1" pressed="false"/>
		<next-state name="Fn"/>
	</map>

	<map keycode="Fn" pressed="false">
		<event keycode="F22" unicode="-1" modifiers="Shift" pressed="false"/>
		<next-state name="LShift"/>
	</map>

	<map keycode="Tab" pressed="true">
		<event keycode="CapsLock" unicode="-1" modifiers="Control|Shift" pressed="true"/>
		<next-state name="LShift-Fn-Caps"/>
	</map>

	<map keycode="Slash" pressed="true">
		<event keycode="NumLock" unicode="-1" modifiers="Control" pressed="true"/>
		<next-state name="LShift-Fn-Num"/>
	</map>
</state>

<state name="RShift-Fn">
	<map keycode="Right Shift" pressed="false">
		<event keycode="Meta" unicode="-1" pressed="false"/>
		<next-state name="Fn"/>
	</map>

	<map keycode="Fn" pressed="false">
		<event keycode="F22" unicode="-1" modifiers="Shift" pressed="false"/>
		<next-state name="RShift"/>
	</map>

	<map keycode="Tab" pressed="true">
		<event keycode="CapsLock" unicode="-1" modifiers="Alt|Shift" pressed="true"/>
		<next-state name="RShift-Fn-Caps"/>
	</map>

	<map keycode="Slash" pressed="true">
		<event keycode="NumLock" unicode="-1" modifiers="Alt" pressed="true"/>
		<next-state name="RShift-Fn-Num"/>
	</map>
</state>

<state name="LShift-Caps">
	<map keycode="Left Shift" pressed="false">
		<event keycode="Shift" unicode="-1" pressed="false"/>
		<next-state name="Caps"/>
	</map>

	<map keycode="Fn" pressed="true">
		<event keycode="F22" unicode="-1" modifiers="Control" pressed="true"/>
		<next-state name="LShift-Fn-Caps"/>
	</map>
</state>

<state name="LShift-Num">
	<map keycode="Left Shift" pressed="false">
		<event keycode="Shift" unicode="-1" pressed="false"/>
		<next-state name="Num"/>
	</map>

	<map keycode="Fn" pressed="true">
		<event keycode="F22" unicode="-1" modifiers="Control" pressed="true"/>
		<next-state name="LShift-Fn-Num"/>
	</map>
</state>

<state name="RShift-Caps">
	<map keycode="Right Shift" pressed="false">
		<event keycode="Meta" unicode="-1" pressed="false"/>
		<next-state name="Caps"/>
	</map>

	<map keycode="Fn" pressed="true">
		<event keycode="F22" unicode="-1" modifiers="Alt|Shift" pressed="true"/>
		<next-state name="RShift-Fn-Caps"/>
	</map>
</state>

<state name="RShift-Num">
	<map keycode="Right Shift" pressed="false">
		<event keycode="Meta" unicode="-1" pressed="false"/>
		<next-state name="Num"/>
	</map>

	<map keycode="Fn" pressed="true">
		<event keycode="F22" unicode="-1" pressed="true"/>
		<next-state name="RShift-Fn-Caps"/>
	</map>
</state>

<state name="Fn-Num">
	<map keycode="Slash" pressed="true">
		<event keycode="NumLock" unicode="-1" pressed="true"/>
		<next-state name="Fn"/>
	</map>

	<map keycode="Tab" pressed="true">
		<event keycode="CapsLock" unicode="-1" pressed="true"/>
		<next-state name="Fn-Num-Caps"/>
	</map>

	<map keycode="Fn" pressed="false">
		<event keycode="F22" unicode="-1" pressed="false"/>
		<next-state name="Num"/>
	</map>
</state>

<state name="Fn-Caps">
	<map keycode="Slash" pressed="true">
		<event keycode="NumLock" unicode="-1" pressed="true"/>
		<next-state name="Fn-Num-Caps"/>
	</map>

	<map keycode="Tab" pressed="true">
		<event keycode="CapsLock" unicode="-1" pressed="true"/>
		<next-state name="Fn"/>
	</map>

	<map keycode="Fn" pressed="false">
		<event keycode="F22" unicode="-1" pressed="false"/>
		<next-state name="Caps"/>
	</map>
</state>

<state name="Num-Caps">
	<map keycode="Fn" pressed="true">
		<event keycode="F22" unicode="-1" pressed="true"/>
		<next-state name="Fn-Num-Caps"/>
	</map>
</state>

<state name="LShift-Fn-Caps">
	<map keycode="Left Shift" pressed="false">
		<event keycode="Shift" unicode="-1" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>

	<map keycode="Fn" pressed="false">
		<event keycode="F22" unicode="-1" modifiers="Shift" pressed="false"/>
		<next-state name="LShift-Caps"/>
	</map>

	<map keycode="Tab" pressed="true">
		<event keycode="CapsLock" unicode="-1" modifiers="Control" pressed="true"/>
		<next-state name="LShift-Fn"/>
	</map>
</state>

<state name="LShift-Fn-Num">
	<map keycode="Left Shift" pressed="false">
		<event keycode="Shift" unicode="-1" pressed="false"/>
		<next-state name="Fn-Num"/>
	</map>

	<map keycode="Fn" pressed="false">
		<event keycode="F22" unicode="-1" pressed="false"/>
		<next-state name="LShift-Num"/>
	</map>

	<map keycode="Slash" pressed="true">
		<event keycode="NumLock" unicode="-1" modifiers="Control" pressed="true"/>
		<next-state name="LShift-Fn"/>
	</map>
</state>

<state name="LShift-Num-Caps">
	<map keycode="Fn" pressed="true">
		<event keycode="F22" unicode="-1" modifiers="Control" pressed="true"/>
		<next-state name="LShift-Fn-Num-Caps"/>
	</map>

	<map keycode="Left Shift" pressed="false">
		<event keycode="Shift" unicode="-1" pressed="false"/>
		<next-state name="Num-Caps"/>
	</map>
</state>

<state name="RShift-Fn-Caps">
	<map keycode="Right Shift" pressed="false">
		<event keycode="Meta" unicode="-1" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>

	<map keycode="Fn" pressed="false">
		<event keycode="F22" unicode="-1" modifiers="Shift" pressed="false"/>
		<next-state name="RShift-Caps"/>
	</map>

	<map keycode="Tab" pressed="true">
		<event keycode="CapsLock" unicode="-1" modifiers="Alt|Shift" pressed="true"/>
		<next-state name="RShift-Fn"/>
	</map>
</state>

<state name="RShift-Fn-Num">
	<map keycode="Right Shift" pressed="false">
		<event keycode="Meta" unicode="-1" pressed="false"/>
		<next-state name="Fn-Num"/>
	</map>

	<map keycode="Fn" pressed="false">
		<event keycode="F22" unicode="-1" pressed="false"/>
		<next-state name="RShift-Num"/>
	</map>

	<map keycode="Slash" pressed="true">
		<event keycode="NumLock" unicode="-1" modifiers="Alt|Shift" pressed="true"/>
		<next-state name="RShift-Fn"/>
	</map>
</state>

<state name="RShift-Num-Caps">
	<map keycode="Fn" pressed="true">
		<event keycode="F22" unicode="-1" pressed="true"/>
		<next-state name="RShift-Fn-Num-Caps"/>
	</map>

	<map keycode="Right Shift" pressed="false">
		<event keycode="Meta" unicode="-1" pressed="true"/>
		<next-state name="Num-Caps"/>
	</map>
</state>

<state name="Fn-Num-Caps">
	<map keycode="Fn" pressed="false">
		<event keycode="F22" unicode="-1" pressed="false"/>
		<next-state name="Num-Caps"/>
	</map>

	<map keycode="Tab" pressed="true">
		<event keycode="CapsLock" unicode="-1" pressed="true"/>
		<next-state name="Fn-Num"/>
	</map>

	<map keycode="Slash" pressed="true">
		<event keycode="NumLock" unicode="-1" pressed="true"/>
		<next-state name="Fn-Caps"/>
	</map>

	<map keycode="Left Shift" pressed="true">
		<event keycode="Shift" unicode="-1" modifiers="Control" pressed="true"/>
		<next-state name="LShift-Fn-Num-Caps"/>
	</map>

	<map keycode="Right Shift" pressed="true">
		<event keycode="Meta" unicode="-1" modifiers="Alt" pressed="true"/>
		<next-state name="RShift-Fn-Num-Caps"/>
	</map>
</state>

<state name="LShift-Fn-Num-Caps">
	<map keycode="Fn" pressed="false">
		<event keycode="F22" unicode="-1" pressed="false"/>
		<next-state name="LShift-Num-Caps"/>
	</map>

	<map keycode="Tab" pressed="true">
		<event keycode="CapsLock" unicode="-1" modifiers="Control" pressed="true"/>
		<next-state name="LShift-Fn-Num"/>
	</map>

	<map keycode="Slash" pressed="true">
		<event keycode="NumLock" unicode="-1" modifiers="Control|Shift" pressed="true"/>
		<next-state name="LShift-Fn-Caps"/>
	</map>

	<map keycode="Left Shift" pressed="false">
		<event keycode="Shift" unicode="-1" pressed="false"/>
		<next-state name="Fn-Num-Caps"/>
	</map>
</state>

<state name="RShift-Fn-Num-Caps">
	<map keycode="Fn" pressed="false">
		<event keycode="F22" unicode="-1" pressed="false"/>
		<next-state name="RShift-Num-Caps"/>
	</map>

	<map keycode="Tab" pressed="true">
		<event keycode="CapsLock" unicode="-1" modifiers="Alt" pressed="true"/>
		<next-state name="RShift-Fn-Num"/>
	</map>

	<map keycode="Slash" pressed="true">
		<event keycode="NumLock" unicode="-1" modifiers="Alt|Shift" pressed="true"/>
		<next-state name="RShift-Fn-Caps"/>
	</map>

	<map keycode="Right Shift" pressed="false">
		<event keycode="Meta" unicode="-1" pressed="false"/>
		<next-state name="Fn-Num-Caps"/>
	</map>
</state>

<state name="common">
	<map keycode="Space" pressed="true">
		<event keycode="Space" unicode="32" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="Cancel" pressed="true">
		<event keycode="Escape" unicode="27" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="Tab" pressed="true">
		<event keycode="Tab" unicode="9" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="Backspace" pressed="true">
		<event keycode="Backspace" unicode="127" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="Enter" pressed="true">
		<event keycode="Return" unicode="13" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="Left" pressed="true">
		<event keycode="Left" unicode="-1" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="Up" pressed="true">
		<event keycode="Up" unicode="-1" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="Right" pressed="true">
		<event keycode="Right" unicode="-1" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="Down" pressed="true">
		<event keycode="Down" unicode="-1" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="Calendar" pressed="true">
		<event keycode="F9" unicode="-1" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="Addressbook" pressed="true">
		<event keycode="F10" unicode="-1" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="Menu" pressed="true">
		<event keycode="F11" unicode="-1" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="Home" pressed="true">
		<event keycode="F12" unicode="-1" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="Mail" pressed="true">
		<event keycode="F13" unicode="-1" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="Middle" pressed="true">
		<event keycode="F30" unicode="-1" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="OK" pressed="true">
		<event keycode="F33" unicode="-1" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="Off" pressed="true">
		<event keycode="F34" unicode="-1" pressed="true"/>
	</map>
	<map keycode="Light" pressed="true">
		<event keycode="F35" unicode="-1" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="Space" pressed="false">
		<event keycode="Space" unicode="32" pressed="false" autorepeat="true"/>
	</map>
	<map keycode="Cancel" pressed="false">
		<event keycode="Escape" unicode="27" pressed="false"/>
	</map>
	<map keycode="Tab" pressed="false">
		<event keycode="Tab" unicode="9" pressed="false"/>
	</map>
	<map keycode="Backspace" pressed="false">
		<event keycode="Backspace" unicode="127" pressed="false"/>
	</map>
	<map keycode="Enter" pressed="false">
		<event keycode="Return" unicode="13" pressed="false"/>
	</map>
	<map keycode="Left" pressed="false">
		<event keycode="Left" unicode="-1" pressed="false"/>
	</map>
	<map keycode="Up" pressed="false">
		<event keycode="Up" unicode="-1" pressed="false"/>
	</map>
	<map keycode="Right" pressed="false">
		<event keycode="Right" unicode="-1" pressed="false"/>
	</map>
	<map keycode="Down" pressed="false">
		<event keycode="Down" unicode="-1" pressed="false"/>
	</map>
	<map keycode="Calendar" pressed="false">
		<event keycode="F9" unicode="-1" pressed="false"/>
	</map>
	<map keycode="Addressbook" pressed="false">
		<event keycode="F10" unicode="-1" pressed="false"/>
	</map>
	<map keycode="Menu" pressed="false">
		<event keycode="F11" unicode="-1" pressed="false"/>
	</map>
	<map keycode="Home" pressed="false">
		<event keycode="F12" unicode="-1" pressed="false"/>
	</map>
	<map keycode="Mail" pressed="false">
		<event keycode="F13" unicode="-1" pressed="false"/>
	</map>
	<map keycode="Middle" pressed="false">
		<event keycode="F30" unicode="-1" pressed="false"/>
	</map>
	<map keycode="OK" pressed="false">
		<event keycode="F33" unicode="-1" pressed="false"/>
	</map>
	<map keycode="Off" pressed="false">
		<event keycode="F34" unicode="-1" pressed="false"/>
	</map>
	<map keycode="Light" pressed="false">
		<event keycode="F35" unicode="-1" pressed="false"/>
	</map>
</state>

<state name="number">
	<map keycode="Space" pressed="true">
		<event keycode="Space" unicode="32" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="Apostrophe" pressed="true">
		<event keycode="Apostrophe" unicode="39" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="Comma" pressed="true">
		<event keycode="Comma" unicode="44" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="Period" pressed="true">
		<event keycode="Period" unicode="46" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="A" pressed="true">
		<event keycode="Exclam" unicode="33" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="B" pressed="true">
		<event keycode="Minus" unicode="45" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="D" pressed="true">
		<event keycode="NumberSign" unicode="35" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="E" pressed="true">
		<event keycode="3" unicode="51" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="F" pressed="true">
		<event keycode="Dollar" unicode="36" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="G" pressed="true">
		<event keycode="Percent" unicode="37" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="H" pressed="true">
		<event keycode="Underscore" unicode="95" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="I" pressed="true">
		<event keycode="8" unicode="56" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="J" pressed="true">
		<event keycode="Ampersand" unicode="38" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="K" pressed="true">
		<event keycode="Asterisk" unicode="42" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="L" pressed="true">
		<event keycode="ParenLeft" unicode="40" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="M" pressed="true">
		<event keycode="Equal" unicode="61" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="N" pressed="true">
		<event keycode="Plus" unicode="43" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="O" pressed="true">
		<event keycode="9" unicode="57" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="P" pressed="true">
		<event keycode="0" unicode="48" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="Q" pressed="true">
		<event keycode="1" unicode="49" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="R" pressed="true">
		<event keycode="4" unicode="52" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="S" pressed="true">
		<event keycode="At" unicode="64" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="T" pressed="true">
		<event keycode="5" unicode="53" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="U" pressed="true">
		<event keycode="7" unicode="55" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="W" pressed="true">
		<event keycode="2" unicode="50" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="Y" pressed="true">
		<event keycode="6" unicode="54" pressed="true" autorepeat="true"/>
	</map>
	<map keycode="Space" pressed="false">
		<event keycode="Space" unicode="32" pressed="false"/>
	</map>
	<map keycode="Apostrophe" pressed="false">
		<event keycode="Apostrophe" unicode="39" pressed="false"/>
	</map>
	<map keycode="Comma" pressed="false">
		<event keycode="Comma" unicode="44" pressed="false"/>
	</map>
	<map keycode="Period" pressed="false">
		<event keycode="Period" unicode="46" pressed="false"/>
	</map>
	<map keycode="A" pressed="false">
		<event keycode="Exclam" unicode="33" pressed="false"/>
	</map>
	<map keycode="B" pressed="false">
		<event keycode="Minus" unicode="45" pressed="false"/>
	</map>
	<map keycode="D" pressed="false">
		<event keycode="NumberSign" unicode="35" pressed="false"/>
	</map>
	<map keycode="E" pressed="false">
		<event keycode="3" unicode="51" pressed="false"/>
	</map>
	<map keycode="F" pressed="false">
		<event keycode="Dollar" unicode="36" pressed="false"/>
	</map>
	<map keycode="G" pressed="false">
		<event keycode="Percent" unicode="37" pressed="false"/>
	</map>
	<map keycode="H" pressed="false">
		<event keycode="Underscore" unicode="95" pressed="false"/>
	</map>
	<map keycode="I" pressed="false">
		<event keycode="8" unicode="56" pressed="false"/>
	</map>
	<map keycode="J" pressed="false">
		<event keycode="Ampersand" unicode="38" pressed="false"/>
	</map>
	<map keycode="K" pressed="false">
		<event keycode="Asterisk" unicode="42" pressed="false"/>
	</map>
	<map keycode="L" pressed="false">
		<event keycode="ParenLeft" unicode="40" pressed="false"/>
	</map>
	<map keycode="M" pressed="false">
		<event keycode="Equal" unicode="61" pressed="false"/>
	</map>
	<map keycode="N" pressed="false">
		<event keycode="Plus" unicode="43" pressed="false"/>
	</map>
	<map keycode="O" pressed="false">
		<event keycode="9" unicode="57" pressed="false"/>
	</map>
	<map keycode="P" pressed="false">
		<event keycode="0" unicode="48" pressed="false"/>
	</map>
	<map keycode="Q" pressed="false">
		<event keycode="1" unicode="49" pressed="false"/>
	</map>
	<map keycode="R" pressed="false">
		<event keycode="4" unicode="52" pressed="false"/>
	</map>
	<map keycode="S" pressed="false">
		<event keycode="At" unicode="64" pressed="false"/>
	</map>
	<map keycode="T" pressed="false">
		<event keycode="5" unicode="53" pressed="false"/>
	</map>
	<map keycode="U" pressed="false">
		<event keycode="7" unicode="55" pressed="false"/>
	</map>
	<map keycode="W" pressed="false">
		<event keycode="2" unicode="50" pressed="false"/>
	</map>
	<map keycode="Y" pressed="false">
		<event keycode="6" unicode="54" pressed="false"/>
	</map>
</state>

<state name="control">
	<map keycode="Space" pressed="true">
		<event keycode="QuoteLeft" unicode="96" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="Apostrophe" pressed="true">
		<event keycode="AsciiCircum" unicode="94" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="Comma" pressed="true">
		<event keycode="BraceLeft" unicode="123" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="Period" pressed="true">
		<event keycode="BracketRight" unicode="93" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="A" pressed="true">
		<event keycode="A" unicode="1" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="B" pressed="true">
		<event keycode="B" unicode="2" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="C" pressed="true">
		<event keycode="C" unicode="3" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="D" pressed="true">
		<event keycode="D" unicode="4" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="E" pressed="true">
		<event keycode="E" unicode="5" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="F" pressed="true">
		<event keycode="F" unicode="6" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="G" pressed="true">
		<event keycode="G" unicode="7" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="H" pressed="true">
		<event keycode="H" unicode="8" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="I" pressed="true">
		<event keycode="I" unicode="9" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="J" pressed="true">
		<event keycode="J" unicode="10" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="K" pressed="true">
		<event keycode="K" unicode="11" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="L" pressed="true">
		<event keycode="L" unicode="12" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="M" pressed="true">
		<event keycode="M" unicode="13" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="N" pressed="true">
		<event keycode="N" unicode="14" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="O" pressed="true">
		<event keycode="O" unicode="15" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="P" pressed="true">
		<event keycode="P" unicode="16" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="Q" pressed="true">
		<event keycode="Q" unicode="17" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="R" pressed="true">
		<event keycode="R" unicode="18" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="S" pressed="true">
		<event keycode="S" unicode="19" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="T" pressed="true">
		<event keycode="T" unicode="20" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="U" pressed="true">
		<event keycode="U" unicode="21" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="V" pressed="true">
		<event keycode="V" unicode="22" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="W" pressed="true">
		<event keycode="W" unicode="23" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="X" pressed="true">
		<event keycode="X" unicode="24" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="Y" pressed="true">
		<event keycode="Y" unicode="25" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="Z" pressed="true">
		<event keycode="Z" unicode="26" modifiers="Control" pressed="true"/>
	</map>
	<map keycode="Space" pressed="false">
		<event keycode="QuoteLeft" unicode="96" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="Apostrophe" pressed="false">
		<event keycode="AsciiCircum" unicode="94" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="Comma" pressed="false">
		<event keycode="BraceLeft" unicode="123" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="Period" pressed="false">
		<event keycode="BracketRight" unicode="93" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="A" pressed="false">
		<event keycode="A" unicode="1" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="B" pressed="false">
		<event keycode="B" unicode="2" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="C" pressed="false">
		<event keycode="C" unicode="3" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="D" pressed="false">
		<event keycode="D" unicode="4" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="E" pressed="false">
		<event keycode="E" unicode="5" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="F" pressed="false">
		<event keycode="F" unicode="6" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="G" pressed="false">
		<event keycode="G" unicode="7" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="H" pressed="false">
		<event keycode="H" unicode="8" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="I" pressed="false">
		<event keycode="I" unicode="9" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="J" pressed="false">
		<event keycode="J" unicode="10" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="K" pressed="false">
		<event keycode="K" unicode="11" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="L" pressed="false">
		<event keycode="L" unicode="12" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="M" pressed="false">
		<event keycode="M" unicode="13" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="N" pressed="false">
		<event keycode="N" unicode="14" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="O" pressed="false">
		<event keycode="O" unicode="15" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="P" pressed="false">
		<event keycode="P" unicode="16" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="Q" pressed="false">
		<event keycode="Q" unicode="17" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="R" pressed="false">
		<event keycode="R" unicode="18" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="S" pressed="false">
		<event keycode="S" unicode="19" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="T" pressed="false">
		<event keycode="T" unicode="20" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="U" pressed="false">
		<event keycode="U" unicode="21" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="V" pressed="false">
		<event keycode="V" unicode="22" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="W" pressed="false">
		<event keycode="W" unicode="23" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="X" pressed="false">
		<event keycode="X" unicode="24" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="Y" pressed="false">
		<event keycode="Y" unicode="25" modifiers="Control" pressed="false"/>
	</map>
	<map keycode="Z" pressed="false">
		<event keycode="Z" unicode="26" modifiers="Control" pressed="false"/>
	</map>
</state>

<state name="alt">
	<map keycode="Space" pressed="true">
		<event keycode="Space" unicode="96" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="Apostrophe" pressed="true">
		<event keycode="AsciiCircum" unicode="94" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="Comma" pressed="true">
		<event keycode="BraceLeft" unicode="123" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="Period" pressed="true">
		<event keycode="BracketRight" unicode="93" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="A" pressed="true">
		<event keycode="Exclam" unicode="65" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="B" pressed="true">
		<event keycode="Minus" unicode="66" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="C" pressed="true">
		<event keycode="NumberSign" unicode="67" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="D" pressed="true">
		<event keycode="3" unicode="68" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="E" pressed="true">
		<event keycode="Dollar" unicode="69" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="F" pressed="true">
		<event keycode="Percent" unicode="70" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="G" pressed="true">
		<event keycode="Underscore" unicode="71" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="H" pressed="true">
		<event keycode="8" unicode="72" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="I" pressed="true">
		<event keycode="8" unicode="73" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="J" pressed="true">
		<event keycode="Ampersand" unicode="74" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="K" pressed="true">
		<event keycode="Asterisk" unicode="75" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="L" pressed="true">
		<event keycode="ParenLeft" unicode="76" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="M" pressed="true">
		<event keycode="Equal" unicode="77" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="N" pressed="true">
		<event keycode="Plus" unicode="78" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="O" pressed="true">
		<event keycode="9" unicode="79" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="P" pressed="true">
		<event keycode="0" unicode="80" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="Q" pressed="true">
		<event keycode="1" unicode="81" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="R" pressed="true">
		<event keycode="4" unicode="82" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="S" pressed="true">
		<event keycode="At" unicode="83" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="T" pressed="true">
		<event keycode="5" unicode="84" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="U" pressed="true">
		<event keycode="7" unicode="85" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="V" pressed="true">
		<event keycode="2" unicode="86" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="W" pressed="true">
		<event keycode="6" unicode="87" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="X" pressed="true">
		<event keycode="Bar" unicode="88" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="Y" pressed="true">
		<event keycode="AsciiTilde" unicode="89" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="Z" pressed="true">
		<event keycode="Z" unicode="90" modifiers="Alt|Shift" pressed="true"/>
	</map>
	<map keycode="Space" pressed="false">
		<event keycode="Space" unicode="96" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="Apostrophe" pressed="false">
		<event keycode="AsciiCircum" unicode="94" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="Comma" pressed="false">
		<event keycode="BraceLeft" unicode="123" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="Period" pressed="false">
		<event keycode="BracketRight" unicode="93" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="A" pressed="false">
		<event keycode="Exclam" unicode="65" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="B" pressed="false">
		<event keycode="Minus" unicode="66" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="C" pressed="false">
		<event keycode="NumberSign" unicode="67" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="D" pressed="false">
		<event keycode="3" unicode="68" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="E" pressed="false">
		<event keycode="Dollar" unicode="69" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="F" pressed="false">
		<event keycode="Percent" unicode="70" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="G" pressed="false">
		<event keycode="Underscore" unicode="71" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="H" pressed="false">
		<event keycode="8" unicode="72" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="I" pressed="false">
		<event keycode="8" unicode="73" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="J" pressed="false">
		<event keycode="Ampersand" unicode="74" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="K" pressed="false">
		<event keycode="Asterisk" unicode="75" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="L" pressed="false">
		<event keycode="ParenLeft" unicode="76" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="M" pressed="false">
		<event keycode="Equal" unicode="77" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="N" pressed="false">
		<event keycode="Plus" unicode="78" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="O" pressed="false">
		<event keycode="9" unicode="79" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="P" pressed="false">
		<event keycode="0" unicode="80" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="Q" pressed="false">
		<event keycode="1" unicode="81" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="R" pressed="false">
		<event keycode="4" unicode="82" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="S" pressed="false">
		<event keycode="At" unicode="83" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="T" pressed="false">
		<event keycode="5" unicode="84" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="U" pressed="false">
		<event keycode="7" unicode="85" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="V" pressed="false">
		<event keycode="2" unicode="86" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="W" pressed="false">
		<event keycode="6" unicode="87" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="X" pressed="false">
		<event keycode="Bar" unicode="88" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="Y" pressed="false">
		<event keycode="AsciiTilde" unicode="89" modifiers="Alt|Shift" pressed="false"/>
	</map>
	<map keycode="Z" pressed="false">
		<event keycode="Z" unicode="90" modifiers="Alt|Shift" pressed="false"/>
	</map>
</state>

<state name="iFn">
	<map keycode="Space" pressed="true">
		<event keycode="Bar" unicode="124" pressed="true" autorepeat="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="Apostrophe" pressed="true">
		<event keycode="AsciiTilde" unicode="126" pressed="true" autorepeat="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="Comma" pressed="true">
		<event keycode="ParenRight" unicode="41" pressed="true" autorepeat="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="Period" pressed="true">
		<event keycode="Less" unicode="60" pressed="true" autorepeat="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="Slash" pressed="true">
		<event keycode="NumLock" unicode="-1" pressed="true"/>
		<next-state name="Fn-Num"/>
	</map>
	<map keycode="A" pressed="true">
		<event keycode="Exclam" unicode="33" pressed="true" autorepeat="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="B" pressed="true">
		<event keycode="Minus" unicode="45" pressed="true" autorepeat="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="C" pressed="true">
		<event keycode="C" unicode="3" modifiers="Control" pressed="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="D" pressed="true">
		<event keycode="NumberSign" unicode="35" pressed="true" autorepeat="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="E" pressed="true">
		<event keycode="3" unicode="51" pressed="true" autorepeat="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="F" pressed="true">
		<event keycode="Dollar" unicode="36" pressed="true" autorepeat="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="G" pressed="true">
		<event keycode="Percent" unicode="37" pressed="true" autorepeat="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="H" pressed="true">
		<event keycode="Underscore" unicode="95" pressed="true" autorepeat="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="I" pressed="true">
		<event keycode="8" unicode="56" pressed="true" autorepeat="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="J" pressed="true">
		<event keycode="Ampersand" unicode="38" pressed="true" autorepeat="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="K" pressed="true">
		<event keycode="Asterisk" unicode="42" pressed="true" autorepeat="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="L" pressed="true">
		<event keycode="ParenLeft" unicode="40" pressed="true" autorepeat="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="M" pressed="true">
		<event keycode="Equal" unicode="61" pressed="true" autorepeat="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="N" pressed="true">
		<event keycode="Plus" unicode="43" pressed="true" autorepeat="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="O" pressed="true">
		<event keycode="9" unicode="57" pressed="true" autorepeat="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="P" pressed="true">
		<event keycode="0" unicode="48" pressed="true" autorepeat="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="Q" pressed="true">
		<event keycode="1" unicode="49" pressed="true" autorepeat="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="R" pressed="true">
		<event keycode="4" unicode="52" pressed="true" autorepeat="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="S" pressed="true">
		<event keycode="At" unicode="64" pressed="true" autorepeat="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="T" pressed="true">
		<event keycode="5" unicode="53" pressed="true" autorepeat="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="U" pressed="true">
		<event keycode="7" unicode="55" pressed="true" autorepeat="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="V" pressed="true">
		<event keycode="V" unicode="22" modifiers="Control" pressed="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="W" pressed="true">
		<event keycode="2" unicode="50" pressed="true" autorepeat="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="X" pressed="true">
		<event keycode="X" unicode="24" modifiers="Control" pressed="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="Y" pressed="true">
		<event keycode="6" unicode="54" pressed="true" autorepeat="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="Tab" pressed="true">
		<event keycode="CapsLock" unicode="-1" pressed="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="Left Shift" pressed="true">
		<event keycode="Shift" unicode="-1" modifiers="Control" pressed="true"/>
		<next-state name="LShift-Fn"/>
	</map>
	<map keycode="Right Shift" pressed="true">
		<event keycode="Meta" unicode="-1" modifiers="Alt|Shift" pressed="true"/>
		<next-state name="RShift-Fn"/>
	</map>
	<map keycode="Space" pressed="false">
		<event keycode="Bar" unicode="124" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="Apostrophe" pressed="false">
		<event keycode="AsciiTilde" unicode="126" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="Comma" pressed="false">
		<event keycode="ParenRight" unicode="41" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="Period" pressed="false">
		<event keycode="Less" unicode="60" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="A" pressed="false">
		<event keycode="Exclam" unicode="33" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="B" pressed="false">
		<event keycode="Minus" unicode="45" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="C" pressed="false">
		<event keycode="C" unicode="3" modifiers="Control" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="D" pressed="false">
		<event keycode="NumberSign" unicode="35" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="E" pressed="false">
		<event keycode="3" unicode="51" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="F" pressed="false">
		<event keycode="Dollar" unicode="36" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="G" pressed="false">
		<event keycode="Percent" unicode="37" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="H" pressed="false">
		<event keycode="Underscore" unicode="95" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="I" pressed="false">
		<event keycode="8" unicode="56" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="J" pressed="false">
		<event keycode="Ampersand" unicode="38" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="K" pressed="false">
		<event keycode="Asterisk" unicode="42" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="L" pressed="false">
		<event keycode="ParenLeft" unicode="40" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="M" pressed="false">
		<event keycode="Equal" unicode="61" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="N" pressed="false">
		<event keycode="Plus" unicode="43" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="O" pressed="false">
		<event keycode="9" unicode="57" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="P" pressed="false">
		<event keycode="0" unicode="48" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="Q" pressed="false">
		<event keycode="1" unicode="49" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="R" pressed="false">
		<event keycode="4" unicode="52" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="S" pressed="false">
		<event keycode="At" unicode="64" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="T" pressed="false">
		<event keycode="5" unicode="53" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="U" pressed="false">
		<event keycode="7" unicode="55" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="V" pressed="false">
		<event keycode="V" unicode="22" modifiers="Control" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="W" pressed="false">
		<event keycode="2" unicode="50" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="X" pressed="false">
		<event keycode="X" unicode="24" modifiers="Control" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="Y" pressed="false">
		<event keycode="6" unicode="54" pressed="false"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="Fn" pressed="false">
		<event keycode="F22" unicode="-1" pressed="true"/>
		<next-state name="sFn"/>
	</map>
</state>

<state name="sFn">
	<map keycode="Space" pressed="true">
		<event keycode="Bar" unicode="124" pressed="true" autorepeat="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="Apostrophe" pressed="true">
		<event keycode="AsciiTilde" unicode="126" pressed="true" autorepeat="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="Comma" pressed="true">
		<event keycode="ParenRight" unicode="41" pressed="true" autorepeat="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="Period" pressed="true">
		<event keycode="Less" unicode="60" pressed="true" autorepeat="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="Slash" pressed="true">
		<event keycode="NumLock" unicode="-1" pressed="true"/>
		<next-state name="Num"/>
	</map>
	<map keycode="A" pressed="true">
		<event keycode="Exclam" unicode="33" pressed="true" autorepeat="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="B" pressed="true">
		<event keycode="Minus" unicode="45" pressed="true" autorepeat="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="C" pressed="true">
		<event keycode="C" unicode="3" modifiers="Control" pressed="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="D" pressed="true">
		<event keycode="NumberSign" unicode="35" pressed="true" autorepeat="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="E" pressed="true">
		<event keycode="3" unicode="51" pressed="true" autorepeat="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="F" pressed="true">
		<event keycode="Dollar" unicode="36" pressed="true" autorepeat="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="G" pressed="true">
		<event keycode="Percent" unicode="37" pressed="true" autorepeat="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="H" pressed="true">
		<event keycode="Underscore" unicode="95" pressed="true" autorepeat="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="I" pressed="true">
		<event keycode="8" unicode="56" pressed="true" autorepeat="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="J" pressed="true">
		<event keycode="Ampersand" unicode="38" pressed="true" autorepeat="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="K" pressed="true">
		<event keycode="Asterisk" unicode="42" pressed="true" autorepeat="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="L" pressed="true">
		<event keycode="ParenLeft" unicode="40" pressed="true" autorepeat="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="M" pressed="true">
		<event keycode="Equal" unicode="61" pressed="true" autorepeat="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="N" pressed="true">
		<event keycode="Plus" unicode="43" pressed="true" autorepeat="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="O" pressed="true">
		<event keycode="9" unicode="57" pressed="true" autorepeat="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="P" pressed="true">
		<event keycode="0" unicode="48" pressed="true" autorepeat="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="Q" pressed="true">
		<event keycode="1" unicode="49" pressed="true" autorepeat="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="R" pressed="true">
		<event keycode="4" unicode="52" pressed="true" autorepeat="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="S" pressed="true">
		<event keycode="At" unicode="64" pressed="true" autorepeat="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="T" pressed="true">
		<event keycode="5" unicode="53" pressed="true" autorepeat="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="U" pressed="true">
		<event keycode="7" unicode="55" pressed="true" autorepeat="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="V" pressed="true">
		<event keycode="V" unicode="22" modifiers="Control" pressed="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="W" pressed="true">
		<event keycode="2" unicode="50" pressed="true" autorepeat="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="X" pressed="true">
		<event keycode="X" unicode="24" modifiers="Control" pressed="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="Y" pressed="true">
		<event keycode="6" unicode="54" pressed="true" autorepeat="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="Tab" pressed="true">
		<event keycode="CapsLock" unicode="-1" pressed="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="Left Shift" pressed="true">
		<event keycode="Shift" unicode="-1" modifiers="Control" pressed="true"/>
		<next-state name="LShift"/>
	</map>
	<map keycode="Right Shift" pressed="true">
		<event keycode="Meta" unicode="-1" modifiers="Alt|Shift" pressed="true"/>
		<next-state name="RShift"/>
	</map>
	<map keycode="Space" pressed="false">
		<event keycode="Bar" unicode="124" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="Apostrophe" pressed="false">
		<event keycode="AsciiTilde" unicode="126" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="Comma" pressed="false">
		<event keycode="ParenRight" unicode="41" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="Period" pressed="false">
		<event keycode="Less" unicode="60" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="A" pressed="false">
		<event keycode="Exclam" unicode="33" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="B" pressed="false">
		<event keycode="Minus" unicode="45" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="C" pressed="false">
		<event keycode="C" unicode="3" modifiers="Control" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="D" pressed="false">
		<event keycode="NumberSign" unicode="35" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="E" pressed="false">
		<event keycode="3" unicode="51" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="F" pressed="false">
		<event keycode="Dollar" unicode="36" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="G" pressed="false">
		<event keycode="Percent" unicode="37" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="H" pressed="false">
		<event keycode="Underscore" unicode="95" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="I" pressed="false">
		<event keycode="8" unicode="56" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="J" pressed="false">
		<event keycode="Ampersand" unicode="38" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="K" pressed="false">
		<event keycode="Asterisk" unicode="42" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="L" pressed="false">
		<event keycode="ParenLeft" unicode="40" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="M" pressed="false">
		<event keycode="Equal" unicode="61" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="N" pressed="false">
		<event keycode="Plus" unicode="43" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="O" pressed="false">
		<event keycode="9" unicode="57" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="P" pressed="false">
		<event keycode="0" unicode="48" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="Q" pressed="false">
		<event keycode="1" unicode="49" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="R" pressed="false">
		<event keycode="4" unicode="52" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="S" pressed="false">
		<event keycode="At" unicode="64" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="T" pressed="false">
		<event keycode="5" unicode="53" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="U" pressed="false">
		<event keycode="7" unicode="55" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="V" pressed="false">
		<event keycode="V" unicode="22" modifiers="Control" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="W" pressed="false">
		<event keycode="2" unicode="50" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="X" pressed="false">
		<event keycode="X" unicode="24" modifiers="Control" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="Y" pressed="false">
		<event keycode="6" unicode="54" pressed="false"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="Fn" pressed="false">
		<event keycode="F22" unicode="-1" pressed="true"/>
		<next-state name="iFn"/>
	</map>
</state>

<state name="Caps-iFn">
	<map keycode="Space" pressed="true">
		<event keycode="Bar" unicode="124" pressed="true" autorepeat="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="Apostrophe" pressed="true">
		<event keycode="AsciiTilde" unicode="126" pressed="true" autorepeat="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="Comma" pressed="true">
		<event keycode="ParenRight" unicode="41" pressed="true" autorepeat="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="Period" pressed="true">
		<event keycode="Less" unicode="60" pressed="true" autorepeat="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="Slash" pressed="true">
		<event keycode="NumLock" unicode="-1" pressed="true"/>
		<next-state name="Fn-Num"/>
	</map>
	<map keycode="A" pressed="true">
		<event keycode="Exclam" unicode="33" pressed="true" autorepeat="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="B" pressed="true">
		<event keycode="Minus" unicode="45" pressed="true" autorepeat="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="C" pressed="true">
		<event keycode="C" unicode="3" modifiers="Control" pressed="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="D" pressed="true">
		<event keycode="NumberSign" unicode="35" pressed="true" autorepeat="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="E" pressed="true">
		<event keycode="3" unicode="51" pressed="true" autorepeat="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="F" pressed="true">
		<event keycode="Dollar" unicode="36" pressed="true" autorepeat="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="G" pressed="true">
		<event keycode="Percent" unicode="37" pressed="true" autorepeat="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="H" pressed="true">
		<event keycode="Underscore" unicode="95" pressed="true" autorepeat="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="I" pressed="true">
		<event keycode="8" unicode="56" pressed="true" autorepeat="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="J" pressed="true">
		<event keycode="Ampersand" unicode="38" pressed="true" autorepeat="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="K" pressed="true">
		<event keycode="Asterisk" unicode="42" pressed="true" autorepeat="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="L" pressed="true">
		<event keycode="ParenLeft" unicode="40" pressed="true" autorepeat="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="M" pressed="true">
		<event keycode="Equal" unicode="61" pressed="true" autorepeat="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="N" pressed="true">
		<event keycode="Plus" unicode="43" pressed="true" autorepeat="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="O" pressed="true">
		<event keycode="9" unicode="57" pressed="true" autorepeat="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="P" pressed="true">
		<event keycode="0" unicode="48" pressed="true" autorepeat="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="Q" pressed="true">
		<event keycode="1" unicode="49" pressed="true" autorepeat="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="R" pressed="true">
		<event keycode="4" unicode="52" pressed="true" autorepeat="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="S" pressed="true">
		<event keycode="At" unicode="64" pressed="true" autorepeat="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="T" pressed="true">
		<event keycode="5" unicode="53" pressed="true" autorepeat="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="U" pressed="true">
		<event keycode="7" unicode="55" pressed="true" autorepeat="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="V" pressed="true">
		<event keycode="V" unicode="22" modifiers="Control" pressed="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="W" pressed="true">
		<event keycode="2" unicode="50" pressed="true" autorepeat="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="X" pressed="true">
		<event keycode="X" unicode="24" modifiers="Control" pressed="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="Y" pressed="true">
		<event keycode="6" unicode="54" pressed="true" autorepeat="true"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="Tab" pressed="true">
		<event keycode="CapsLock" unicode="-1" pressed="true"/>
		<next-state name="Fn"/>
	</map>
	<map keycode="Left Shift" pressed="true">
		<event keycode="Shift" unicode="-1" modifiers="Control" pressed="true"/>
		<next-state name="LShift-Fn-Caps"/>
	</map>
	<map keycode="Right Shift" pressed="true">
		<event keycode="Meta" unicode="-1" modifiers="Alt|Shift" pressed="true"/>
		<next-state name="RShift-Fn-Caps"/>
	</map>
	<map keycode="Space" pressed="false">
		<event keycode="Bar" unicode="124" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="Apostrophe" pressed="false">
		<event keycode="AsciiTilde" unicode="126" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="Comma" pressed="false">
		<event keycode="ParenRight" unicode="41" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="Period" pressed="false">
		<event keycode="Less" unicode="60" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="A" pressed="false">
		<event keycode="Exclam" unicode="33" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="B" pressed="false">
		<event keycode="Minus" unicode="45" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="C" pressed="false">
		<event keycode="C" unicode="3" modifiers="Control" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="D" pressed="false">
		<event keycode="NumberSign" unicode="35" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="E" pressed="false">
		<event keycode="3" unicode="51" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="F" pressed="false">
		<event keycode="Dollar" unicode="36" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="G" pressed="false">
		<event keycode="Percent" unicode="37" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="H" pressed="false">
		<event keycode="Underscore" unicode="95" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="I" pressed="false">
		<event keycode="8" unicode="56" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="J" pressed="false">
		<event keycode="Ampersand" unicode="38" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="K" pressed="false">
		<event keycode="Asterisk" unicode="42" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="L" pressed="false">
		<event keycode="ParenLeft" unicode="40" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="M" pressed="false">
		<event keycode="Equal" unicode="61" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="N" pressed="false">
		<event keycode="Plus" unicode="43" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="O" pressed="false">
		<event keycode="9" unicode="57" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="P" pressed="false">
		<event keycode="0" unicode="48" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="Q" pressed="false">
		<event keycode="1" unicode="49" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="R" pressed="false">
		<event keycode="4" unicode="52" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="S" pressed="false">
		<event keycode="At" unicode="64" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="T" pressed="false">
		<event keycode="5" unicode="53" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="U" pressed="false">
		<event keycode="7" unicode="55" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="V" pressed="false">
		<event keycode="V" unicode="22" modifiers="Control" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="W" pressed="false">
		<event keycode="2" unicode="50" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="X" pressed="false">
		<event keycode="X" unicode="24" modifiers="Control" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="Y" pressed="false">
		<event keycode="6" unicode="54" pressed="false"/>
		<next-state name="Fn-Caps"/>
	</map>
	<map keycode="Fn" pressed="false">
		<event keycode="F22" unicode="-1" pressed="true"/>
		<next-state name="Caps-sFn"/>
	</map>
</state>

<state name="Caps-sFn">
	<map keycode="Space" pressed="true">
		<event keycode="Bar" unicode="124" pressed="true" autorepeat="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="Apostrophe" pressed="true">
		<event keycode="AsciiTilde" unicode="126" pressed="true" autorepeat="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="Comma" pressed="true">
		<event keycode="ParenRight" unicode="41" pressed="true" autorepeat="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="Period" pressed="true">
		<event keycode="Less" unicode="60" pressed="true" autorepeat="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="Slash" pressed="true">
		<event keycode="NumLock" unicode="-1" pressed="true"/>
		<next-state name="Num"/>
	</map>
	<map keycode="A" pressed="true">
		<event keycode="Exclam" unicode="33" pressed="true" autorepeat="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="B" pressed="true">
		<event keycode="Minus" unicode="45" pressed="true" autorepeat="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="C" pressed="true">
		<event keycode="C" unicode="3" modifiers="Control" pressed="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="D" pressed="true">
		<event keycode="NumberSign" unicode="35" pressed="true" autorepeat="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="E" pressed="true">
		<event keycode="3" unicode="51" pressed="true" autorepeat="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="F" pressed="true">
		<event keycode="Dollar" unicode="36" pressed="true" autorepeat="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="G" pressed="true">
		<event keycode="Percent" unicode="37" pressed="true" autorepeat="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="H" pressed="true">
		<event keycode="Underscore" unicode="95" pressed="true" autorepeat="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="I" pressed="true">
		<event keycode="8" unicode="56" pressed="true" autorepeat="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="J" pressed="true">
		<event keycode="Ampersand" unicode="38" pressed="true" autorepeat="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="K" pressed="true">
		<event keycode="Asterisk" unicode="42" pressed="true" autorepeat="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="L" pressed="true">
		<event keycode="ParenLeft" unicode="40" pressed="true" autorepeat="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="M" pressed="true">
		<event keycode="Equal" unicode="61" pressed="true" autorepeat="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="N" pressed="true">
		<event keycode="Plus" unicode="43" pressed="true" autorepeat="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="O" pressed="true">
		<event keycode="9" unicode="57" pressed="true" autorepeat="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="P" pressed="true">
		<event keycode="0" unicode="48" pressed="true" autorepeat="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="Q" pressed="true">
		<event keycode="1" unicode="49" pressed="true" autorepeat="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="R" pressed="true">
		<event keycode="4" unicode="52" pressed="true" autorepeat="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="S" pressed="true">
		<event keycode="At" unicode="64" pressed="true" autorepeat="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="T" pressed="true">
		<event keycode="5" unicode="53" pressed="true" autorepeat="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="U" pressed="true">
		<event keycode="7" unicode="55" pressed="true" autorepeat="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="V" pressed="true">
		<event keycode="V" unicode="22" modifiers="Control" pressed="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="W" pressed="true">
		<event keycode="2" unicode="50" pressed="true" autorepeat="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="X" pressed="true">
		<event keycode="X" unicode="24" modifiers="Control" pressed="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="Y" pressed="true">
		<event keycode="6" unicode="54" pressed="true" autorepeat="true"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="Tab" pressed="true">
		<event keycode="CapsLock" unicode="-1" pressed="true"/>
		<next-state name="Normal"/>
	</map>
	<map keycode="Left Shift" pressed="true">
		<event keycode="Shift" unicode="-1" modifiers="Control" pressed="true"/>
		<next-state name="LShift-Caps"/>
	</map>
	<map keycode="Right Shift" pressed="true">
		<event keycode="Meta" unicode="-1" modifiers="Alt|Shift" pressed="true"/>
		<next-state name="RShift-Caps"/>
	</map>
	<map keycode="Space" pressed="false">
		<event keycode="Bar" unicode="124" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="Apostrophe" pressed="false">
		<event keycode="AsciiTilde" unicode="126" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="Comma" pressed="false">
		<event keycode="ParenRight" unicode="41" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="Period" pressed="false">
		<event keycode="Less" unicode="60" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="A" pressed="false">
		<event keycode="Exclam" unicode="33" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="B" pressed="false">
		<event keycode="Minus" unicode="45" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="C" pressed="false">
		<event keycode="C" unicode="3" modifiers="Control" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="D" pressed="false">
		<event keycode="NumberSign" unicode="35" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="E" pressed="false">
		<event keycode="3" unicode="51" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="F" pressed="false">
		<event keycode="Dollar" unicode="36" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="G" pressed="false">
		<event keycode="Percent" unicode="37" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="H" pressed="false">
		<event keycode="Underscore" unicode="95" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="I" pressed="false">
		<event keycode="8" unicode="56" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="J" pressed="false">
		<event keycode="Ampersand" unicode="38" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="K" pressed="false">
		<event keycode="Asterisk" unicode="42" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="L" pressed="false">
		<event keycode="ParenLeft" unicode="40" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="M" pressed="false">
		<event keycode="Equal" unicode="61" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="N" pressed="false">
		<event keycode="Plus" unicode="43" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="O" pressed="false">
		<event keycode="9" unicode="57" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="P" pressed="false">
		<event keycode="0" unicode="48" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="Q" pressed="false">
		<event keycode="1" unicode="49" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="R" pressed="false">
		<event keycode="4" unicode="52" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="S" pressed="false">
		<event keycode="At" unicode="64" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="T" pressed="false">
		<event keycode="5" unicode="53" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="U" pressed="false">
		<event keycode="7" unicode="55" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="V" pressed="false">
		<event keycode="V" unicode="22" modifiers="Control" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="W" pressed="false">
		<event keycode="2" unicode="50" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="X" pressed="false">
		<event keycode="X" unicode="24" modifiers="Control" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="Y" pressed="false">
		<event keycode="6" unicode="54" pressed="false"/>
		<next-state name="Caps"/>
	</map>
	<map keycode="Fn" pressed="false">
		<event keycode="F22" unicode="-1" pressed="true"/>
		<next-state name="Caps-iFn"/>
	</map>
</state>

</keymap>