input_filter: update character generators

This adds complete character-generator configurations for English (US),
German (Germany and Switzerland), and French (France and Switzerland).
The configs are manually amended and stripped-down versions of
xkb2ifcfg generated configs.

Issue #3483
This commit is contained in:
Christian Helmuth 2019-08-26 17:15:43 +02:00
parent 8ae5c906d0
commit 701b1d41e8
9 changed files with 1742 additions and 656 deletions

View File

@ -490,7 +490,7 @@ You can edit this component's configuration via
! inspect:/> vim /config/input_filter
To change the keyboard layout to German, change "en_us.chargen" to
"de.chargen" and save the file. The change becomes effective immediately at
"de_de.chargen" and save the file. The change becomes effective immediately at
saving time.
To remap the capslock key to escape - a key often needed while using Vim -

View File

@ -115,9 +115,10 @@ install_config {
<rom name="usb" label="usb.config"/>
<rom name="clipboard" label="clipboard.config"/>
<rom name="en_us.chargen"/>
<rom name="fr.chargen"/>
<rom name="de.chargen"/>
<rom name="de_ch.chargen"/>
<rom name="de_de.chargen"/>
<rom name="fr_ch.chargen"/>
<rom name="fr_fr.chargen"/>
<rom name="special.chargen"/>
<rom name="vimrc"/>
<tar name="launcher.tar"/>
@ -495,7 +496,7 @@ file copy -force [genode_dir]/repos/gems/run/sculpt/machine.vbox [run_dir]/genod
file copy -force [genode_dir]/repos/gems/recipes/raw/drivers_managed-pc/drivers.config \
[run_dir]/genode/drivers.config
foreach file { fr.chargen en_us.chargen de.chargen de_ch.chargen special.chargen } {
foreach file { en_us.chargen de_ch.chargen de_de.chargen fr_ch.chargen fr_fr.chargen special.chargen } {
file copy -force [genode_dir]/repos/os/src/server/input_filter/$file \
[run_dir]/genode/$file }

View File

@ -1,165 +0,0 @@
<chargen>
<map>
<key name="KEY_ESC" ascii="27"/>
<key name="KEY_1" char="1"/>
<key name="KEY_2" char="2"/>
<key name="KEY_3" char="3"/>
<key name="KEY_4" char="4"/>
<key name="KEY_5" char="5"/>
<key name="KEY_6" char="6"/>
<key name="KEY_7" char="7"/>
<key name="KEY_8" char="8"/>
<key name="KEY_9" char="9"/>
<key name="KEY_0" char="0"/>
<key name="KEY_MINUS" b0="195" b1="159"/> <!-- 'ß' -->
<key name="KEY_EQUAL" ascii="39"/> <!-- '´' -->
<key name="KEY_BACKSPACE" ascii="8"/>
<key name="KEY_TAB" ascii="9"/>
<key name="KEY_Q" char="q"/>
<key name="KEY_W" char="w"/>
<key name="KEY_E" char="e"/>
<key name="KEY_R" char="r"/>
<key name="KEY_T" char="t"/>
<key name="KEY_Y" char="z"/>
<key name="KEY_U" char="u"/>
<key name="KEY_I" char="i"/>
<key name="KEY_O" char="o"/>
<key name="KEY_P" char="p"/>
<key name="KEY_LEFTBRACE" b0="195" b1="188"/> <!-- 'ü' -->
<key name="KEY_RIGHTBRACE" char="+"/>
<key name="KEY_ENTER" ascii="10"/>
<key name="KEY_A" char="a"/>
<key name="KEY_S" char="s"/>
<key name="KEY_D" char="d"/>
<key name="KEY_F" char="f"/>
<key name="KEY_G" char="g"/>
<key name="KEY_H" char="h"/>
<key name="KEY_J" char="j"/>
<key name="KEY_K" char="k"/>
<key name="KEY_L" char="l"/>
<key name="KEY_SEMICOLON" b0="195" b1="182"/> <!-- 'ö' -->
<key name="KEY_APOSTROPHE" b0="195" b1="164"/> <!-- 'ä' -->
<key name="KEY_GRAVE" char="^"/>
<key name="KEY_BACKSLASH" char="#"/>
<key name="KEY_102ND" ascii="60"/> <!-- '<' -->
<key name="KEY_Z" char="y"/>
<key name="KEY_X" char="x"/>
<key name="KEY_C" char="c"/>
<key name="KEY_V" char="v"/>
<key name="KEY_B" char="b"/>
<key name="KEY_N" char="n"/>
<key name="KEY_M" char="m"/>
<key name="KEY_COMMA" char=","/>
<key name="KEY_DOT" char="."/>
<key name="KEY_SLASH" char="-"/>
<key name="KEY_SPACE" char=" "/>
<key name="KEY_KP7" char="7"/>
<key name="KEY_KP8" char="8"/>
<key name="KEY_KP9" char="9"/>
<key name="KEY_KPMINUS" char="-"/>
<key name="KEY_KP4" char="4"/>
<key name="KEY_KP5" char="5"/>
<key name="KEY_KP6" char="6"/>
<key name="KEY_KPPLUS" char="+"/>
<key name="KEY_KP1" char="1"/>
<key name="KEY_KP2" char="2"/>
<key name="KEY_KP3" char="3"/>
<key name="KEY_KP0" char="0"/>
<key name="KEY_KPDOT" char="."/>
<key name="KEY_KPENTER" ascii="10"/>
<key name="KEY_KPSLASH" char="/"/>
<key name="KEY_KPASTERISK" char="*"/>
</map>
<map mod1="yes">
<key name="KEY_1" char="!"/>
<key name="KEY_2" ascii="34"/> <!-- '"' -->
<key name="KEY_3" b0="194" b1="167"/> <!-- '§' -->
<key name="KEY_4" char="$"/>
<key name="KEY_5" char="%"/>
<key name="KEY_6" ascii="38"/> <!-- '&' -->
<key name="KEY_7" char="/"/> <!-- '/' -->
<key name="KEY_8" char="("/>
<key name="KEY_9" char=")"/>
<key name="KEY_0" char="="/>
<key name="KEY_MINUS" char="?"/>
<key name="KEY_EQUAL" char="`"/>
<key name="KEY_Q" char="Q"/>
<key name="KEY_W" char="W"/>
<key name="KEY_E" char="E"/>
<key name="KEY_R" char="R"/>
<key name="KEY_T" char="T"/>
<key name="KEY_Y" char="Z"/>
<key name="KEY_U" char="U"/>
<key name="KEY_I" char="I"/>
<key name="KEY_O" char="O"/>
<key name="KEY_P" char="P"/>
<key name="KEY_LEFTBRACE" b0="195" b1="156"/> <!-- 'Ü' -->
<key name="KEY_RIGHTBRACE" char="*"/>
<key name="KEY_A" char="A"/>
<key name="KEY_S" char="S"/>
<key name="KEY_D" char="D"/>
<key name="KEY_F" char="F"/>
<key name="KEY_G" char="G"/>
<key name="KEY_H" char="H"/>
<key name="KEY_J" char="J"/>
<key name="KEY_K" char="K"/>
<key name="KEY_L" char="L"/>
<key name="KEY_SEMICOLON" b0="195" b1="150"/> <!-- 'Ö' -->
<key name="KEY_APOSTROPHE" b0="195" b1="132"/> <!-- 'Ä' -->
<key name="KEY_GRAVE" b0="194" b1="176"/> <!-- '°' -->
<key name="KEY_BACKSLASH" char="'"/>
<key name="KEY_102ND" ascii="62"/> <!-- '>' -->
<key name="KEY_Z" char="Y"/>
<key name="KEY_X" char="X"/>
<key name="KEY_C" char="C"/>
<key name="KEY_V" char="V"/>
<key name="KEY_B" char="B"/>
<key name="KEY_N" char="N"/>
<key name="KEY_M" char="M"/>
<key name="KEY_COMMA" char=";"/>
<key name="KEY_DOT" char=":"/>
<key name="KEY_SLASH" char="_"/>
</map>
<map mod2="yes">
<key name="KEY_A" ascii="1"/>
<key name="KEY_B" ascii="2"/>
<key name="KEY_C" ascii="3"/>
<key name="KEY_D" ascii="4"/>
<key name="KEY_E" ascii="5"/>
<key name="KEY_F" ascii="6"/>
<key name="KEY_G" ascii="7"/>
<key name="KEY_H" ascii="8"/>
<key name="KEY_I" ascii="9"/>
<key name="KEY_J" ascii="10"/>
<key name="KEY_K" ascii="11"/>
<key name="KEY_L" ascii="12"/>
<key name="KEY_M" ascii="13"/>
<key name="KEY_N" ascii="14"/>
<key name="KEY_O" ascii="15"/>
<key name="KEY_P" ascii="16"/>
<key name="KEY_Q" ascii="17"/>
<key name="KEY_R" ascii="18"/>
<key name="KEY_S" ascii="19"/>
<key name="KEY_T" ascii="20"/>
<key name="KEY_U" ascii="21"/>
<key name="KEY_V" ascii="22"/>
<key name="KEY_W" ascii="23"/>
<key name="KEY_X" ascii="24"/>
<key name="KEY_Y" ascii="26"/>
<key name="KEY_Z" ascii="25"/>
</map>
<map mod3="yes">
<key name="KEY_2" b0="194" b1="178"/> <!-- superscript two -->
<key name="KEY_3" b0="194" b1="179"/> <!-- superscript three -->
<key name="KEY_7" char="{"/>
<key name="KEY_8" char="["/>
<key name="KEY_9" char="]"/>
<key name="KEY_0" char="}"/>
<key name="KEY_E" b0="226" b1="130" b2="172"/> <!-- euro sign -->
<key name="KEY_MINUS" ascii="92"/> <!-- '\' -->
<key name="KEY_Q" char="@"/>
<key name="KEY_M" b0="194" b1="181"/> <!-- small micro -->
<key name="KEY_102ND" char="|"/>
<key name="KEY_RIGHTBRACE" char="~"/>
</map>
</chargen>

View File

@ -1,168 +1,371 @@
<!-- ch//de_CH.UTF-8 chargen configuration generated by xkb2ifcfg -->
<!-- manually amended (*) and stripped down -->
<chargen>
<map>
<key name="KEY_ESC" ascii="27"/>
<key name="KEY_1" char="1"/>
<key name="KEY_2" char="2"/>
<key name="KEY_3" char="3"/>
<key name="KEY_4" char="4"/>
<key name="KEY_5" char="5"/>
<key name="KEY_6" char="6"/>
<key name="KEY_7" char="7"/>
<key name="KEY_8" char="8"/>
<key name="KEY_9" char="9"/>
<key name="KEY_0" char="0"/>
<key name="KEY_MINUS" char="'"/>
<key name="KEY_EQUAL" char="^"/>
<key name="KEY_BACKSPACE" ascii="8"/>
<key name="KEY_TAB" ascii="9"/>
<key name="KEY_Q" char="q"/>
<key name="KEY_W" char="w"/>
<key name="KEY_E" char="e"/>
<key name="KEY_R" char="r"/>
<key name="KEY_T" char="t"/>
<key name="KEY_Y" char="z"/>
<key name="KEY_U" char="u"/>
<key name="KEY_I" char="i"/>
<key name="KEY_O" char="o"/>
<key name="KEY_P" char="p"/>
<key name="KEY_LEFTBRACE" b0="195" b1="188"/> <!-- 'ü' -->
<key name="KEY_RIGHTBRACE" b0="194" b1="168"/> <!-- '¨' -->
<key name="KEY_ENTER" ascii="10"/>
<key name="KEY_A" char="a"/>
<key name="KEY_S" char="s"/>
<key name="KEY_D" char="d"/>
<key name="KEY_F" char="f"/>
<key name="KEY_G" char="g"/>
<key name="KEY_H" char="h"/>
<key name="KEY_J" char="j"/>
<key name="KEY_K" char="k"/>
<key name="KEY_L" char="l"/>
<key name="KEY_SEMICOLON" b0="195" b1="182"/> <!-- 'ö' -->
<key name="KEY_APOSTROPHE" b0="195" b1="164"/> <!-- 'ä' -->
<key name="KEY_GRAVE" b0="194" b1="167"/> <!-- '§' -->
<key name="KEY_BACKSLASH" char="$"/>
<key name="KEY_102ND" ascii="60"/> <!-- '<' -->
<key name="KEY_Z" char="y"/>
<key name="KEY_X" char="x"/>
<key name="KEY_C" char="c"/>
<key name="KEY_V" char="v"/>
<key name="KEY_B" char="b"/>
<key name="KEY_N" char="n"/>
<key name="KEY_M" char="m"/>
<key name="KEY_COMMA" char=","/>
<key name="KEY_DOT" char="."/>
<key name="KEY_SLASH" char="-"/>
<key name="KEY_SPACE" char=" "/>
<key name="KEY_KP7" char="7"/>
<key name="KEY_KP8" char="8"/>
<key name="KEY_KP9" char="9"/>
<key name="KEY_KPMINUS" char="-"/>
<key name="KEY_KP4" char="4"/>
<key name="KEY_KP5" char="5"/>
<key name="KEY_KP6" char="6"/>
<key name="KEY_KPPLUS" char="+"/>
<key name="KEY_KP1" char="1"/>
<key name="KEY_KP2" char="2"/>
<key name="KEY_KP3" char="3"/>
<key name="KEY_KP0" char="0"/>
<key name="KEY_KPDOT" char="."/>
<key name="KEY_KPENTER" ascii="10"/>
<key name="KEY_KPSLASH" char="/"/>
<key name="KEY_KPASTERISK" char="*"/>
<!-- printable -->
<key name="KEY_1" code="0x0031"/> <!-- 1 -->
<key name="KEY_2" code="0x0032"/> <!-- 2 -->
<key name="KEY_3" code="0x0033"/> <!-- 3 -->
<key name="KEY_4" code="0x0034"/> <!-- 4 -->
<key name="KEY_5" code="0x0035"/> <!-- 5 -->
<key name="KEY_6" code="0x0036"/> <!-- 6 -->
<key name="KEY_7" code="0x0037"/> <!-- 7 -->
<key name="KEY_8" code="0x0038"/> <!-- 8 -->
<key name="KEY_9" code="0x0039"/> <!-- 9 -->
<key name="KEY_0" code="0x0030"/> <!-- 0 -->
<key name="KEY_MINUS" code="0x0027"/> <!-- ' -->
<key name="KEY_EQUAL" code="0x0302"/> <!-- dead_circumflex -->
<key name="KEY_Q" code="0x0071"/> <!-- q -->
<key name="KEY_W" code="0x0077"/> <!-- w -->
<key name="KEY_E" code="0x0065"/> <!-- e -->
<key name="KEY_R" code="0x0072"/> <!-- r -->
<key name="KEY_T" code="0x0074"/> <!-- t -->
<key name="KEY_Y" code="0x007a"/> <!-- z -->
<key name="KEY_U" code="0x0075"/> <!-- u -->
<key name="KEY_I" code="0x0069"/> <!-- i -->
<key name="KEY_O" code="0x006f"/> <!-- o -->
<key name="KEY_P" code="0x0070"/> <!-- p -->
<key name="KEY_LEFTBRACE" code="0x00fc"/> <!-- ü -->
<key name="KEY_RIGHTBRACE" code="0x0308"/> <!-- dead_diaeresis -->
<key name="KEY_A" code="0x0061"/> <!-- a -->
<key name="KEY_S" code="0x0073"/> <!-- s -->
<key name="KEY_D" code="0x0064"/> <!-- d -->
<key name="KEY_F" code="0x0066"/> <!-- f -->
<key name="KEY_G" code="0x0067"/> <!-- g -->
<key name="KEY_H" code="0x0068"/> <!-- h -->
<key name="KEY_J" code="0x006a"/> <!-- j -->
<key name="KEY_K" code="0x006b"/> <!-- k -->
<key name="KEY_L" code="0x006c"/> <!-- l -->
<key name="KEY_SEMICOLON" code="0x00f6"/> <!-- ö -->
<key name="KEY_APOSTROPHE" code="0x00e4"/> <!-- ä -->
<key name="KEY_GRAVE" code="0x00a7"/> <!-- § -->
<key name="KEY_BACKSLASH" code="0x0024"/> <!-- $ -->
<key name="KEY_Z" code="0x0079"/> <!-- y -->
<key name="KEY_X" code="0x0078"/> <!-- x -->
<key name="KEY_C" code="0x0063"/> <!-- c -->
<key name="KEY_V" code="0x0076"/> <!-- v -->
<key name="KEY_B" code="0x0062"/> <!-- b -->
<key name="KEY_N" code="0x006e"/> <!-- n -->
<key name="KEY_M" code="0x006d"/> <!-- m -->
<key name="KEY_COMMA" code="0x002c"/> <!-- , -->
<key name="KEY_DOT" code="0x002e"/> <!-- . -->
<key name="KEY_SLASH" code="0x002d"/> <!-- - -->
<key name="KEY_KPASTERISK" code="0x002a"/> <!-- * -->
<key name="KEY_SPACE" code="0x0020"/> <!-- -->
<key name="KEY_KP7" code="0x0037"/> <!-- 7 -->
<key name="KEY_KP8" code="0x0038"/> <!-- 8 -->
<key name="KEY_KP9" code="0x0039"/> <!-- 9 -->
<key name="KEY_KPMINUS" code="0x002d"/> <!-- - -->
<key name="KEY_KP4" code="0x0034"/> <!-- 4 -->
<key name="KEY_KP5" code="0x0035"/> <!-- 5 -->
<key name="KEY_KP6" code="0x0036"/> <!-- 6 -->
<key name="KEY_KPPLUS" code="0x002b"/> <!-- + -->
<key name="KEY_KP1" code="0x0031"/> <!-- 1 -->
<key name="KEY_KP2" code="0x0032"/> <!-- 2 -->
<key name="KEY_KP3" code="0x0033"/> <!-- 3 -->
<key name="KEY_KP0" code="0x0030"/> <!-- 0 -->
<key name="KEY_KPDOT" code="0x002e"/> <!-- . -->
<key name="KEY_102ND" code="0x003c"/> <!-- < -->
<key name="KEY_KPSLASH" code="0x002f"/> <!-- / -->
<!-- non-printable -->
<key name="KEY_ESC" ascii="27"/>
<key name="KEY_BACKSPACE" ascii="8"/>
<key name="KEY_TAB" ascii="9"/>
<key name="KEY_ENTER" ascii="10"/>
<key name="KEY_KPENTER" ascii="10"/>
<key name="KEY_DELETE" ascii="127"/>
</map>
<map mod1="yes">
<key name="KEY_1" char="+"/>
<key name="KEY_2" ascii="34"/> <!-- '"' -->
<key name="KEY_3" char="*"/>
<key name="KEY_4" b0="195" b1="167"/> <!-- 'ç' -->
<key name="KEY_5" char="%"/>
<key name="KEY_6" ascii="38"/> <!-- '&' -->
<key name="KEY_7" char="/"/> <!-- '/' -->
<key name="KEY_8" char="("/>
<key name="KEY_9" char=")"/>
<key name="KEY_0" char="="/>
<key name="KEY_MINUS" char="?"/>
<key name="KEY_EQUAL" char="`"/>
<key name="KEY_Q" char="Q"/>
<key name="KEY_W" char="W"/>
<key name="KEY_E" char="E"/>
<key name="KEY_R" char="R"/>
<key name="KEY_T" char="T"/>
<key name="KEY_Y" char="Z"/>
<key name="KEY_U" char="U"/>
<key name="KEY_I" char="I"/>
<key name="KEY_O" char="O"/>
<key name="KEY_P" char="P"/>
<key name="KEY_LEFTBRACE" b0="195" b1="168"/> <!-- 'è' -->
<key name="KEY_RIGHTBRACE" char="!"/>
<key name="KEY_A" char="A"/>
<key name="KEY_S" char="S"/>
<key name="KEY_D" char="D"/>
<key name="KEY_F" char="F"/>
<key name="KEY_G" char="G"/>
<key name="KEY_H" char="H"/>
<key name="KEY_J" char="J"/>
<key name="KEY_K" char="K"/>
<key name="KEY_L" char="L"/>
<key name="KEY_SEMICOLON" b0="195" b1="169"/> <!-- 'é' -->
<key name="KEY_APOSTROPHE" b0="195" b1="160"/> <!-- 'à' -->
<key name="KEY_GRAVE" b0="194" b1="176"/> <!-- '°' -->
<key name="KEY_BACKSLASH" char="'"/>
<key name="KEY_102ND" ascii="62"/> <!-- '>' -->
<key name="KEY_Z" char="Y"/>
<key name="KEY_X" char="X"/>
<key name="KEY_C" char="C"/>
<key name="KEY_V" char="V"/>
<key name="KEY_B" char="B"/>
<key name="KEY_N" char="N"/>
<key name="KEY_M" char="M"/>
<key name="KEY_COMMA" char=";"/>
<key name="KEY_DOT" char=":"/>
<key name="KEY_SLASH" char="_"/>
<!-- SHIFT -->
<map mod1="true" mod2="false" mod3="false" mod4="false">
<key name="KEY_1" code="0x002b"/> <!-- + -->
<key name="KEY_2" code="0x0022"/> <!-- " -->
<key name="KEY_3" code="0x002a"/> <!-- * -->
<key name="KEY_4" code="0x00e7"/> <!-- ç -->
<key name="KEY_5" code="0x0025"/> <!-- % -->
<key name="KEY_6" code="0x0026"/> <!-- & -->
<key name="KEY_7" code="0x002f"/> <!-- / -->
<key name="KEY_8" code="0x0028"/> <!-- ( -->
<key name="KEY_9" code="0x0029"/> <!-- ) -->
<key name="KEY_0" code="0x003d"/> <!-- = -->
<key name="KEY_MINUS" code="0x003f"/> <!-- ? -->
<key name="KEY_EQUAL" code="0x0300"/> <!-- dead_grave -->
<key name="KEY_Q" code="0x0051"/> <!-- Q -->
<key name="KEY_W" code="0x0057"/> <!-- W -->
<key name="KEY_E" code="0x0045"/> <!-- E -->
<key name="KEY_R" code="0x0052"/> <!-- R -->
<key name="KEY_T" code="0x0054"/> <!-- T -->
<key name="KEY_Y" code="0x005a"/> <!-- Z -->
<key name="KEY_U" code="0x0055"/> <!-- U -->
<key name="KEY_I" code="0x0049"/> <!-- I -->
<key name="KEY_O" code="0x004f"/> <!-- O -->
<key name="KEY_P" code="0x0050"/> <!-- P -->
<key name="KEY_LEFTBRACE" code="0x00e8"/> <!-- è -->
<key name="KEY_RIGHTBRACE" code="0x0021"/> <!-- ! -->
<key name="KEY_A" code="0x0041"/> <!-- A -->
<key name="KEY_S" code="0x0053"/> <!-- S -->
<key name="KEY_D" code="0x0044"/> <!-- D -->
<key name="KEY_F" code="0x0046"/> <!-- F -->
<key name="KEY_G" code="0x0047"/> <!-- G -->
<key name="KEY_H" code="0x0048"/> <!-- H -->
<key name="KEY_J" code="0x004a"/> <!-- J -->
<key name="KEY_K" code="0x004b"/> <!-- K -->
<key name="KEY_L" code="0x004c"/> <!-- L -->
<key name="KEY_SEMICOLON" code="0x00e9"/> <!-- é -->
<key name="KEY_APOSTROPHE" code="0x00e0"/> <!-- à -->
<key name="KEY_GRAVE" code="0x00b0"/> <!-- ° -->
<key name="KEY_BACKSLASH" code="0x00a3"/> <!-- £ -->
<key name="KEY_Z" code="0x0059"/> <!-- Y -->
<key name="KEY_X" code="0x0058"/> <!-- X -->
<key name="KEY_C" code="0x0043"/> <!-- C -->
<key name="KEY_V" code="0x0056"/> <!-- V -->
<key name="KEY_B" code="0x0042"/> <!-- B -->
<key name="KEY_N" code="0x004e"/> <!-- N -->
<key name="KEY_M" code="0x004d"/> <!-- M -->
<key name="KEY_COMMA" code="0x003b"/> <!-- ; -->
<key name="KEY_DOT" code="0x003a"/> <!-- : -->
<key name="KEY_SLASH" code="0x005f"/> <!-- _ -->
<key name="KEY_102ND" code="0x003e"/> <!-- > -->
</map>
<map mod2="yes">
<key name="KEY_A" ascii="1"/>
<key name="KEY_B" ascii="2"/>
<key name="KEY_C" ascii="3"/>
<key name="KEY_D" ascii="4"/>
<key name="KEY_E" ascii="5"/>
<key name="KEY_F" ascii="6"/>
<key name="KEY_G" ascii="7"/>
<key name="KEY_H" ascii="8"/>
<key name="KEY_I" ascii="9"/>
<key name="KEY_J" ascii="10"/>
<key name="KEY_K" ascii="11"/>
<key name="KEY_L" ascii="12"/>
<key name="KEY_M" ascii="13"/>
<key name="KEY_N" ascii="14"/>
<key name="KEY_O" ascii="15"/>
<key name="KEY_P" ascii="16"/>
<key name="KEY_Q" ascii="17"/>
<key name="KEY_R" ascii="18"/>
<key name="KEY_S" ascii="19"/>
<key name="KEY_T" ascii="20"/>
<key name="KEY_U" ascii="21"/>
<key name="KEY_V" ascii="22"/>
<key name="KEY_W" ascii="23"/>
<key name="KEY_X" ascii="24"/>
<key name="KEY_Y" ascii="26"/>
<key name="KEY_Z" ascii="25"/>
<!-- CONTROL -->
<map mod2="true">
<key name="KEY_3" code="0x001b"/> <!-- ESC (escape) CTRL-3 -->
<key name="KEY_4" code="0x001c"/> <!-- FS (file separator) CTRL-4 -->
<key name="KEY_5" code="0x001d"/> <!-- GS (group separator) CTRL-5 -->
<key name="KEY_6" code="0x001e"/> <!-- RS (record separator) CTRL-6 -->
<key name="KEY_7" code="0x001f"/> <!-- US (unit separator) CTRL-7 -->
<key name="KEY_Q" code="0x0011"/> <!-- DC1 (device control 1) CTRL-q -->
<key name="KEY_W" code="0x0017"/> <!-- ETB (end of trans. blk) CTRL-w -->
<key name="KEY_E" code="0x0005"/> <!-- ENQ (enquiry) CTRL-e -->
<key name="KEY_R" code="0x0012"/> <!-- DC2 (device control 2) CTRL-r -->
<key name="KEY_T" code="0x0014"/> <!-- DC4 (device control 4) CTRL-t -->
<key name="KEY_Y" code="0x001a"/> <!-- SUB (substitute) CTRL-z -->
<key name="KEY_U" code="0x0015"/> <!-- NAK (negative ack.) CTRL-u -->
<key name="KEY_I" code="0x0009"/> <!-- HT '\t' (horizontal tab) CTRL-i -->
<key name="KEY_O" code="0x000f"/> <!-- SI (shift in) CTRL-o -->
<key name="KEY_P" code="0x0010"/> <!-- DLE (data link escape) CTRL-p -->
<key name="KEY_A" code="0x0001"/> <!-- SOH (start of heading) CTRL-a -->
<key name="KEY_S" code="0x0013"/> <!-- DC3 (device control 3) CTRL-s -->
<key name="KEY_D" code="0x0004"/> <!-- EOT (end of transmission) CTRL-d -->
<key name="KEY_F" code="0x0006"/> <!-- ACK (acknowledge) CTRL-f -->
<key name="KEY_G" code="0x0007"/> <!-- BEL '\a' (bell) CTRL-g -->
<key name="KEY_H" code="0x0008"/> <!-- BS '\b' (backspace) CTRL-h -->
<key name="KEY_J" code="0x000a"/> <!-- LF '\n' (new line) CTRL-j -->
<key name="KEY_K" code="0x000b"/> <!-- VT '\v' (vertical tab) CTRL-k -->
<key name="KEY_L" code="0x000c"/> <!-- FF '\f' (form feed) CTRL-l -->
<key name="KEY_Z" code="0x0019"/> <!-- EM (end of medium) CTRL-y -->
<key name="KEY_X" code="0x0018"/> <!-- CAN (cancel) CTRL-x -->
<key name="KEY_C" code="0x0003"/> <!-- ETX (end of text) CTRL-c -->
<key name="KEY_V" code="0x0016"/> <!-- SYN (synchronous idle) CTRL-v -->
<key name="KEY_B" code="0x0002"/> <!-- STX (start of text) CTRL-b -->
<key name="KEY_N" code="0x000e"/> <!-- SO (shift out) CTRL-n -->
<key name="KEY_M" code="0x000d"/> <!-- CR '\r' (carriage ret) CTRL-m -->
<key name="KEY_KP7" code="0x001f"/> <!-- US (unit separator) CTRL-KP_7 -->
<key name="KEY_KP4" code="0x001c"/> <!-- FS (file separator) CTRL-KP_4 -->
<key name="KEY_KP5" code="0x001d"/> <!-- GS (group separator) CTRL-KP_5 -->
<key name="KEY_KP6" code="0x001e"/> <!-- RS (record separator) CTRL-KP_6 -->
<key name="KEY_KP3" code="0x001b"/> <!-- ESC (escape) CTRL-KP_3 -->
</map>
<map mod3="yes">
<key name="KEY_1" char="|"/>
<key name="KEY_2" char="@"/>
<key name="KEY_3" char="#"/>
<key name="KEY_6" b0="194" b1="172"/> <!-- '¬' -->
<key name="KEY_7" char="|"/>
<key name="KEY_8" b0="194" b1="162"/> <!-- '¢' -->
<key name="KEY_E" b0="226" b1="130" b2="172"/> <!-- euro sign -->
<key name="KEY_MINUS" ascii="39"/> <!-- '´' -->
<key name="KEY_EQUAL" char="~"/>
<key name="KEY_M" b0="194" b1="181"/> <!-- small micro -->
<key name="KEY_102ND" ascii="92"/> <!-- '\' -->
<key name="KEY_RIGHTBRACE" char="]"/>
<key name="KEY_LEFTBRACE" char="["/>
<key name="KEY_APOSTROPHE" char="{"/>
<key name="KEY_BACKSLASH" char="}"/>
<!-- ALTGR -->
<map mod1="false" mod2="false" mod3="true" mod4="false">
<key name="KEY_1" code="0x00a6"/> <!-- ¦ (*) -->
<key name="KEY_2" code="0x0040"/> <!-- @ -->
<key name="KEY_3" code="0x0023"/> <!-- # -->
<key name="KEY_4" code="0x00b0"/> <!-- ° (*) -->
<key name="KEY_5" code="0x00a7"/> <!-- § (*) -->
<key name="KEY_6" code="0x00ac"/> <!-- ¬ -->
<key name="KEY_7" code="0x007c"/> <!-- | -->
<key name="KEY_8" code="0x00a2"/> <!-- ¢ -->
<key name="KEY_9" code="0x005d"/> <!-- ] -->
<key name="KEY_0" code="0x007d"/> <!-- } -->
<key name="KEY_MINUS" code="0x0301"/> <!-- dead_acute -->
<key name="KEY_EQUAL" code="0x0303"/> <!-- dead_tilde -->
<key name="KEY_E" code="0x20ac"/> <!-- € -->
<key name="KEY_LEFTBRACE" code="0x005b"/> <!-- [ -->
<key name="KEY_RIGHTBRACE" code="0x005d"/> <!-- ] -->
<key name="KEY_S" code="0x00df"/> <!-- ß -->
<key name="KEY_SEMICOLON" code="0x0301"/> <!-- dead_acute -->
<key name="KEY_APOSTROPHE" code="0x007b"/> <!-- { -->
<key name="KEY_BACKSLASH" code="0x007d"/> <!-- } -->
<key name="KEY_102ND" code="0x005c"/> <!-- \ -->
</map>
<!-- CAPSLOCK -->
<map mod1="false" mod2="false" mod3="false" mod4="true">
<key name="KEY_Q" code="0x0051"/> <!-- Q -->
<key name="KEY_W" code="0x0057"/> <!-- W -->
<key name="KEY_E" code="0x0045"/> <!-- E -->
<key name="KEY_R" code="0x0052"/> <!-- R -->
<key name="KEY_T" code="0x0054"/> <!-- T -->
<key name="KEY_Y" code="0x005a"/> <!-- Z -->
<key name="KEY_U" code="0x0055"/> <!-- U -->
<key name="KEY_I" code="0x0049"/> <!-- I -->
<key name="KEY_O" code="0x004f"/> <!-- O -->
<key name="KEY_P" code="0x0050"/> <!-- P -->
<key name="KEY_LEFTBRACE" code="0x00dc"/> <!-- Ü -->
<key name="KEY_A" code="0x0041"/> <!-- A -->
<key name="KEY_S" code="0x0053"/> <!-- S -->
<key name="KEY_D" code="0x0044"/> <!-- D -->
<key name="KEY_F" code="0x0046"/> <!-- F -->
<key name="KEY_G" code="0x0047"/> <!-- G -->
<key name="KEY_H" code="0x0048"/> <!-- H -->
<key name="KEY_J" code="0x004a"/> <!-- J -->
<key name="KEY_K" code="0x004b"/> <!-- K -->
<key name="KEY_L" code="0x004c"/> <!-- L -->
<key name="KEY_SEMICOLON" code="0x00d6"/> <!-- Ö -->
<key name="KEY_APOSTROPHE" code="0x00c4"/> <!-- Ä -->
<key name="KEY_Z" code="0x0059"/> <!-- Y -->
<key name="KEY_X" code="0x0058"/> <!-- X -->
<key name="KEY_C" code="0x0043"/> <!-- C -->
<key name="KEY_V" code="0x0056"/> <!-- V -->
<key name="KEY_B" code="0x0042"/> <!-- B -->
<key name="KEY_N" code="0x004e"/> <!-- N -->
<key name="KEY_M" code="0x004d"/> <!-- M -->
</map>
<!-- SHIFT-ALTGR -->
<!-- SHIFT-CAPSLOCK -->
<map mod1="true" mod2="false" mod3="false" mod4="true">
<key name="KEY_1" code="0x002b"/> <!-- + -->
<key name="KEY_2" code="0x0022"/> <!-- " -->
<key name="KEY_3" code="0x002a"/> <!-- * -->
<key name="KEY_4" code="0x00c7"/> <!-- Ç -->
<key name="KEY_5" code="0x0025"/> <!-- % -->
<key name="KEY_6" code="0x0026"/> <!-- & -->
<key name="KEY_7" code="0x002f"/> <!-- / -->
<key name="KEY_8" code="0x0028"/> <!-- ( -->
<key name="KEY_9" code="0x0029"/> <!-- ) -->
<key name="KEY_0" code="0x003d"/> <!-- = -->
<key name="KEY_MINUS" code="0x003f"/> <!-- ? -->
<key name="KEY_EQUAL" code="0x0300"/> <!-- dead_grave -->
<key name="KEY_Q" code="0x0071"/> <!-- q -->
<key name="KEY_W" code="0x0077"/> <!-- w -->
<key name="KEY_E" code="0x0065"/> <!-- e -->
<key name="KEY_R" code="0x0072"/> <!-- r -->
<key name="KEY_T" code="0x0074"/> <!-- t -->
<key name="KEY_Y" code="0x007a"/> <!-- z -->
<key name="KEY_U" code="0x0075"/> <!-- u -->
<key name="KEY_I" code="0x0069"/> <!-- i -->
<key name="KEY_O" code="0x006f"/> <!-- o -->
<key name="KEY_P" code="0x0070"/> <!-- p -->
<key name="KEY_LEFTBRACE" code="0x00c8"/> <!-- È -->
<key name="KEY_RIGHTBRACE" code="0x0021"/> <!-- ! -->
<key name="KEY_A" code="0x0061"/> <!-- a -->
<key name="KEY_S" code="0x0073"/> <!-- s -->
<key name="KEY_D" code="0x0064"/> <!-- d -->
<key name="KEY_F" code="0x0066"/> <!-- f -->
<key name="KEY_G" code="0x0067"/> <!-- g -->
<key name="KEY_H" code="0x0068"/> <!-- h -->
<key name="KEY_J" code="0x006a"/> <!-- j -->
<key name="KEY_K" code="0x006b"/> <!-- k -->
<key name="KEY_L" code="0x006c"/> <!-- l -->
<key name="KEY_SEMICOLON" code="0x00c9"/> <!-- É -->
<key name="KEY_APOSTROPHE" code="0x00c0"/> <!-- À -->
<key name="KEY_GRAVE" code="0x00b0"/> <!-- ° -->
<key name="KEY_BACKSLASH" code="0x00a3"/> <!-- £ -->
<key name="KEY_Z" code="0x0079"/> <!-- y -->
<key name="KEY_X" code="0x0078"/> <!-- x -->
<key name="KEY_C" code="0x0063"/> <!-- c -->
<key name="KEY_V" code="0x0076"/> <!-- v -->
<key name="KEY_B" code="0x0062"/> <!-- b -->
<key name="KEY_N" code="0x006e"/> <!-- n -->
<key name="KEY_M" code="0x006d"/> <!-- m -->
<key name="KEY_COMMA" code="0x003b"/> <!-- ; -->
<key name="KEY_DOT" code="0x003a"/> <!-- : -->
<key name="KEY_SLASH" code="0x005f"/> <!-- _ -->
<key name="KEY_102ND" code="0x003e"/> <!-- > -->
</map>
<!-- ALTGR-CAPSLOCK -->
<map mod1="false" mod2="false" mod3="true" mod4="true">
<key name="KEY_1" code="0x00a6"/> <!-- ¦ (*) -->
<key name="KEY_2" code="0x0040"/> <!-- @ -->
<key name="KEY_3" code="0x0023"/> <!-- # -->
<key name="KEY_4" code="0x00b0"/> <!-- ° (*) -->
<key name="KEY_5" code="0x00a7"/> <!-- § (*) -->
<key name="KEY_6" code="0x00ac"/> <!-- ¬ -->
<key name="KEY_7" code="0x007c"/> <!-- | -->
<key name="KEY_8" code="0x00a2"/> <!-- ¢ -->
<key name="KEY_9" code="0x005d"/> <!-- ] -->
<key name="KEY_0" code="0x007d"/> <!-- } -->
<key name="KEY_MINUS" code="0x0301"/> <!-- dead_acute -->
<key name="KEY_EQUAL" code="0x0303"/> <!-- dead_tilde -->
<key name="KEY_E" code="0x20ac"/> <!-- € -->
<key name="KEY_LEFTBRACE" code="0x005b"/> <!-- [ -->
<key name="KEY_RIGHTBRACE" code="0x005d"/> <!-- ] -->
<key name="KEY_S" code="0x00df"/> <!-- ß -->
<key name="KEY_SEMICOLON" code="0x0301"/> <!-- dead_acute -->
<key name="KEY_APOSTROPHE" code="0x007b"/> <!-- { -->
<key name="KEY_BACKSLASH" code="0x007d"/> <!-- } -->
<key name="KEY_102ND" code="0x005c"/> <!-- \ -->
</map>
<!-- SHIFT-ALTGR-CAPSLOCK -->
<!-- dead-key / compose sequences -->
<sequence first="0x0300" second="0x0020" code="0x0060"/> <!-- ` -->
<sequence first="0x0300" second="0x0041" code="0x00c0"/> <!-- À -->
<sequence first="0x0300" second="0x0045" code="0x00c8"/> <!-- È -->
<sequence first="0x0300" second="0x0049" code="0x00cc"/> <!-- Ì -->
<sequence first="0x0300" second="0x004f" code="0x00d2"/> <!-- Ò -->
<sequence first="0x0300" second="0x0055" code="0x00d9"/> <!-- Ù -->
<sequence first="0x0300" second="0x0061" code="0x00e0"/> <!-- à -->
<sequence first="0x0300" second="0x0065" code="0x00e8"/> <!-- è -->
<sequence first="0x0300" second="0x0069" code="0x00ec"/> <!-- ì -->
<sequence first="0x0300" second="0x006f" code="0x00f2"/> <!-- ò -->
<sequence first="0x0300" second="0x0075" code="0x00f9"/> <!-- ù -->
<sequence first="0x0300" second="0x0300" code="0x0060"/> <!-- ` -->
<sequence first="0x0301" second="0x0020" code="0x00b4"/> <!-- ´ (*) -->
<sequence first="0x0301" second="0x0041" code="0x00c1"/> <!-- Á -->
<sequence first="0x0301" second="0x0045" code="0x00c9"/> <!-- É -->
<sequence first="0x0301" second="0x0049" code="0x00cd"/> <!-- Í -->
<sequence first="0x0301" second="0x004f" code="0x00d3"/> <!-- Ó -->
<sequence first="0x0301" second="0x0055" code="0x00da"/> <!-- Ú -->
<sequence first="0x0301" second="0x0059" code="0x00dd"/> <!-- Ý -->
<sequence first="0x0301" second="0x0061" code="0x00e1"/> <!-- á -->
<sequence first="0x0301" second="0x0065" code="0x00e9"/> <!-- é -->
<sequence first="0x0301" second="0x0069" code="0x00ed"/> <!-- í -->
<sequence first="0x0301" second="0x006f" code="0x00f3"/> <!-- ó -->
<sequence first="0x0301" second="0x0075" code="0x00fa"/> <!-- ú -->
<sequence first="0x0301" second="0x0079" code="0x00fd"/> <!-- ý -->
<sequence first="0x0301" second="0x0301" code="0x00b4"/> <!-- ´ -->
<sequence first="0x0302" second="0x0020" code="0x005e"/> <!-- ^ -->
<sequence first="0x0302" second="0x0041" code="0x00c2"/> <!-- Â -->
<sequence first="0x0302" second="0x0045" code="0x00ca"/> <!-- Ê -->
<sequence first="0x0302" second="0x0049" code="0x00ce"/> <!-- Î -->
<sequence first="0x0302" second="0x004f" code="0x00d4"/> <!-- Ô -->
<sequence first="0x0302" second="0x0055" code="0x00db"/> <!-- Û -->
<sequence first="0x0302" second="0x0061" code="0x00e2"/> <!-- â -->
<sequence first="0x0302" second="0x0065" code="0x00ea"/> <!-- ê -->
<sequence first="0x0302" second="0x0069" code="0x00ee"/> <!-- î -->
<sequence first="0x0302" second="0x006f" code="0x00f4"/> <!-- ô -->
<sequence first="0x0302" second="0x0075" code="0x00fb"/> <!-- û -->
<sequence first="0x0302" second="0x0302" code="0x005e"/> <!-- ^ -->
<sequence first="0x0303" second="0x0020" code="0x007e"/> <!-- ~ -->
<sequence first="0x0303" second="0x0041" code="0x00c3"/> <!-- Ã -->
<sequence first="0x0303" second="0x004e" code="0x00d1"/> <!-- Ñ -->
<sequence first="0x0303" second="0x004f" code="0x00d5"/> <!-- Õ -->
<sequence first="0x0303" second="0x0061" code="0x00e3"/> <!-- ã -->
<sequence first="0x0303" second="0x006e" code="0x00f1"/> <!-- ñ -->
<sequence first="0x0303" second="0x006f" code="0x00f5"/> <!-- õ -->
<sequence first="0x0303" second="0x0303" code="0x007e"/> <!-- ~ -->
<sequence first="0x0308" second="0x0020" code="0x00a8"/> <!-- ¨ (*) -->
<sequence first="0x0308" second="0x0041" code="0x00c4"/> <!-- Ä -->
<sequence first="0x0308" second="0x0045" code="0x00cb"/> <!-- Ë -->
<sequence first="0x0308" second="0x0049" code="0x00cf"/> <!-- Ï -->
<sequence first="0x0308" second="0x004f" code="0x00d6"/> <!-- Ö -->
<sequence first="0x0308" second="0x0055" code="0x00dc"/> <!-- Ü -->
<sequence first="0x0308" second="0x0059" code="0x0178"/> <!-- Ÿ -->
<sequence first="0x0308" second="0x0061" code="0x00e4"/> <!-- ä -->
<sequence first="0x0308" second="0x0065" code="0x00eb"/> <!-- ë -->
<sequence first="0x0308" second="0x0069" code="0x00ef"/> <!-- ï -->
<sequence first="0x0308" second="0x006f" code="0x00f6"/> <!-- ö -->
<sequence first="0x0308" second="0x0075" code="0x00fc"/> <!-- ü -->
<sequence first="0x0308" second="0x0079" code="0x00ff"/> <!-- ÿ -->
<sequence first="0x0308" second="0x0308" code="0x00a8"/> <!-- ¨ -->
</chargen>

View File

@ -0,0 +1,314 @@
<!-- de/nodeadkeys/de_DE.UTF-8 chargen configuration generated by xkb2ifcfg -->
<!-- manually amended (*) and stripped down -->
<chargen>
<map>
<!-- printable -->
<key name="KEY_1" code="0x0031"/> <!-- 1 -->
<key name="KEY_2" code="0x0032"/> <!-- 2 -->
<key name="KEY_3" code="0x0033"/> <!-- 3 -->
<key name="KEY_4" code="0x0034"/> <!-- 4 -->
<key name="KEY_5" code="0x0035"/> <!-- 5 -->
<key name="KEY_6" code="0x0036"/> <!-- 6 -->
<key name="KEY_7" code="0x0037"/> <!-- 7 -->
<key name="KEY_8" code="0x0038"/> <!-- 8 -->
<key name="KEY_9" code="0x0039"/> <!-- 9 -->
<key name="KEY_0" code="0x0030"/> <!-- 0 -->
<key name="KEY_MINUS" code="0x00df"/> <!-- ß -->
<key name="KEY_EQUAL" code="0x00b4"/> <!-- ´ -->
<key name="KEY_Q" code="0x0071"/> <!-- q -->
<key name="KEY_W" code="0x0077"/> <!-- w -->
<key name="KEY_E" code="0x0065"/> <!-- e -->
<key name="KEY_R" code="0x0072"/> <!-- r -->
<key name="KEY_T" code="0x0074"/> <!-- t -->
<key name="KEY_Y" code="0x007a"/> <!-- z -->
<key name="KEY_U" code="0x0075"/> <!-- u -->
<key name="KEY_I" code="0x0069"/> <!-- i -->
<key name="KEY_O" code="0x006f"/> <!-- o -->
<key name="KEY_P" code="0x0070"/> <!-- p -->
<key name="KEY_LEFTBRACE" code="0x00fc"/> <!-- ü -->
<key name="KEY_RIGHTBRACE" code="0x002b"/> <!-- + -->
<key name="KEY_A" code="0x0061"/> <!-- a -->
<key name="KEY_S" code="0x0073"/> <!-- s -->
<key name="KEY_D" code="0x0064"/> <!-- d -->
<key name="KEY_F" code="0x0066"/> <!-- f -->
<key name="KEY_G" code="0x0067"/> <!-- g -->
<key name="KEY_H" code="0x0068"/> <!-- h -->
<key name="KEY_J" code="0x006a"/> <!-- j -->
<key name="KEY_K" code="0x006b"/> <!-- k -->
<key name="KEY_L" code="0x006c"/> <!-- l -->
<key name="KEY_SEMICOLON" code="0x00f6"/> <!-- ö -->
<key name="KEY_APOSTROPHE" code="0x00e4"/> <!-- ä -->
<key name="KEY_GRAVE" code="0x005e"/> <!-- ^ -->
<key name="KEY_BACKSLASH" code="0x0023"/> <!-- # -->
<key name="KEY_Z" code="0x0079"/> <!-- y -->
<key name="KEY_X" code="0x0078"/> <!-- x -->
<key name="KEY_C" code="0x0063"/> <!-- c -->
<key name="KEY_V" code="0x0076"/> <!-- v -->
<key name="KEY_B" code="0x0062"/> <!-- b -->
<key name="KEY_N" code="0x006e"/> <!-- n -->
<key name="KEY_M" code="0x006d"/> <!-- m -->
<key name="KEY_COMMA" code="0x002c"/> <!-- , -->
<key name="KEY_DOT" code="0x002e"/> <!-- . -->
<key name="KEY_SLASH" code="0x002d"/> <!-- - -->
<key name="KEY_KPASTERISK" code="0x002a"/> <!-- * -->
<key name="KEY_SPACE" code="0x0020"/> <!-- -->
<key name="KEY_KP7" code="0x0037"/> <!-- 7 -->
<key name="KEY_KP8" code="0x0038"/> <!-- 8 -->
<key name="KEY_KP9" code="0x0039"/> <!-- 9 -->
<key name="KEY_KPMINUS" code="0x002d"/> <!-- - -->
<key name="KEY_KP4" code="0x0034"/> <!-- 4 -->
<key name="KEY_KP5" code="0x0035"/> <!-- 5 -->
<key name="KEY_KP6" code="0x0036"/> <!-- 6 -->
<key name="KEY_KPPLUS" code="0x002b"/> <!-- + -->
<key name="KEY_KP1" code="0x0031"/> <!-- 1 -->
<key name="KEY_KP2" code="0x0032"/> <!-- 2 -->
<key name="KEY_KP3" code="0x0033"/> <!-- 3 -->
<key name="KEY_KP0" code="0x0030"/> <!-- 0 -->
<key name="KEY_KPDOT" code="0x002c"/> <!-- , -->
<key name="KEY_102ND" code="0x003c"/> <!-- < -->
<key name="KEY_KPSLASH" code="0x002f"/> <!-- / -->
<!-- non-printable -->
<key name="KEY_ESC" ascii="27"/>
<key name="KEY_BACKSPACE" ascii="8"/>
<key name="KEY_TAB" ascii="9"/>
<key name="KEY_ENTER" ascii="10"/>
<key name="KEY_KPENTER" ascii="10"/>
<key name="KEY_DELETE" ascii="127"/>
<dummy/>
</map>
<!-- SHIFT -->
<map mod1="true" mod2="false" mod3="false" mod4="false">
<key name="KEY_1" code="0x0021"/> <!-- ! -->
<key name="KEY_2" code="0x0022"/> <!-- " -->
<key name="KEY_3" code="0x00a7"/> <!-- § -->
<key name="KEY_4" code="0x0024"/> <!-- $ -->
<key name="KEY_5" code="0x0025"/> <!-- % -->
<key name="KEY_6" code="0x0026"/> <!-- & -->
<key name="KEY_7" code="0x002f"/> <!-- / -->
<key name="KEY_8" code="0x0028"/> <!-- ( -->
<key name="KEY_9" code="0x0029"/> <!-- ) -->
<key name="KEY_0" code="0x003d"/> <!-- = -->
<key name="KEY_MINUS" code="0x003f"/> <!-- ? -->
<key name="KEY_EQUAL" code="0x0060"/> <!-- ` -->
<key name="KEY_Q" code="0x0051"/> <!-- Q -->
<key name="KEY_W" code="0x0057"/> <!-- W -->
<key name="KEY_E" code="0x0045"/> <!-- E -->
<key name="KEY_R" code="0x0052"/> <!-- R -->
<key name="KEY_T" code="0x0054"/> <!-- T -->
<key name="KEY_Y" code="0x005a"/> <!-- Z -->
<key name="KEY_U" code="0x0055"/> <!-- U -->
<key name="KEY_I" code="0x0049"/> <!-- I -->
<key name="KEY_O" code="0x004f"/> <!-- O -->
<key name="KEY_P" code="0x0050"/> <!-- P -->
<key name="KEY_LEFTBRACE" code="0x00dc"/> <!-- Ü -->
<key name="KEY_RIGHTBRACE" code="0x002a"/> <!-- * -->
<key name="KEY_A" code="0x0041"/> <!-- A -->
<key name="KEY_S" code="0x0053"/> <!-- S -->
<key name="KEY_D" code="0x0044"/> <!-- D -->
<key name="KEY_F" code="0x0046"/> <!-- F -->
<key name="KEY_G" code="0x0047"/> <!-- G -->
<key name="KEY_H" code="0x0048"/> <!-- H -->
<key name="KEY_J" code="0x004a"/> <!-- J -->
<key name="KEY_K" code="0x004b"/> <!-- K -->
<key name="KEY_L" code="0x004c"/> <!-- L -->
<key name="KEY_SEMICOLON" code="0x00d6"/> <!-- Ö -->
<key name="KEY_APOSTROPHE" code="0x00c4"/> <!-- Ä -->
<key name="KEY_GRAVE" code="0x00b0"/> <!-- ° -->
<key name="KEY_BACKSLASH" code="0x0027"/> <!-- ' -->
<key name="KEY_Z" code="0x0059"/> <!-- Y -->
<key name="KEY_X" code="0x0058"/> <!-- X -->
<key name="KEY_C" code="0x0043"/> <!-- C -->
<key name="KEY_V" code="0x0056"/> <!-- V -->
<key name="KEY_B" code="0x0042"/> <!-- B -->
<key name="KEY_N" code="0x004e"/> <!-- N -->
<key name="KEY_M" code="0x004d"/> <!-- M -->
<key name="KEY_COMMA" code="0x003b"/> <!-- ; -->
<key name="KEY_DOT" code="0x003a"/> <!-- : -->
<key name="KEY_SLASH" code="0x005f"/> <!-- _ -->
<key name="KEY_KPASTERISK" code="0x002a"/> <!-- * -->
<key name="KEY_KPMINUS" code="0x002d"/> <!-- - -->
<key name="KEY_KPPLUS" code="0x002b"/> <!-- + -->
<key name="KEY_102ND" code="0x003e"/> <!-- > -->
<key name="KEY_KPSLASH" code="0x002f"/> <!-- / -->
<dummy/>
</map>
<!-- CONTROL -->
<map mod2="true">
<key name="KEY_3" code="0x001b"/> <!-- ESC (escape) CTRL-3 -->
<key name="KEY_4" code="0x001c"/> <!-- FS (file separator) CTRL-4 -->
<key name="KEY_5" code="0x001d"/> <!-- GS (group separator) CTRL-5 -->
<key name="KEY_6" code="0x001e"/> <!-- RS (record separator) CTRL-6 -->
<key name="KEY_7" code="0x001f"/> <!-- US (unit separator) CTRL-7 -->
<key name="KEY_Q" code="0x0011"/> <!-- DC1 (device control 1) CTRL-q -->
<key name="KEY_W" code="0x0017"/> <!-- ETB (end of trans. blk) CTRL-w -->
<key name="KEY_E" code="0x0005"/> <!-- ENQ (enquiry) CTRL-e -->
<key name="KEY_R" code="0x0012"/> <!-- DC2 (device control 2) CTRL-r -->
<key name="KEY_T" code="0x0014"/> <!-- DC4 (device control 4) CTRL-t -->
<key name="KEY_Y" code="0x001a"/> <!-- SUB (substitute) CTRL-z -->
<key name="KEY_U" code="0x0015"/> <!-- NAK (negative ack.) CTRL-u -->
<key name="KEY_I" code="0x0009"/> <!-- HT '\t' (horizontal tab) CTRL-i -->
<key name="KEY_O" code="0x000f"/> <!-- SI (shift in) CTRL-o -->
<key name="KEY_P" code="0x0010"/> <!-- DLE (data link escape) CTRL-p -->
<key name="KEY_A" code="0x0001"/> <!-- SOH (start of heading) CTRL-a -->
<key name="KEY_S" code="0x0013"/> <!-- DC3 (device control 3) CTRL-s -->
<key name="KEY_D" code="0x0004"/> <!-- EOT (end of transmission) CTRL-d -->
<key name="KEY_F" code="0x0006"/> <!-- ACK (acknowledge) CTRL-f -->
<key name="KEY_G" code="0x0007"/> <!-- BEL '\a' (bell) CTRL-g -->
<key name="KEY_H" code="0x0008"/> <!-- BS '\b' (backspace) CTRL-h -->
<key name="KEY_J" code="0x000a"/> <!-- LF '\n' (new line) CTRL-j -->
<key name="KEY_K" code="0x000b"/> <!-- VT '\v' (vertical tab) CTRL-k -->
<key name="KEY_L" code="0x000c"/> <!-- FF '\f' (form feed) CTRL-l -->
<key name="KEY_GRAVE" code="0x001e"/> <!-- RS (record separator) CTRL-asciicircum -->
<key name="KEY_Z" code="0x0019"/> <!-- EM (end of medium) CTRL-y -->
<key name="KEY_X" code="0x0018"/> <!-- CAN (cancel) CTRL-x -->
<key name="KEY_C" code="0x0003"/> <!-- ETX (end of text) CTRL-c -->
<key name="KEY_V" code="0x0016"/> <!-- SYN (synchronous idle) CTRL-v -->
<key name="KEY_B" code="0x0002"/> <!-- STX (start of text) CTRL-b -->
<key name="KEY_N" code="0x000e"/> <!-- SO (shift out) CTRL-n -->
<key name="KEY_M" code="0x000d"/> <!-- CR '\r' (carriage ret) CTRL-m -->
<key name="KEY_KP7" code="0x001f"/> <!-- US (unit separator) CTRL-KP_7 -->
<key name="KEY_KP4" code="0x001c"/> <!-- FS (file separator) CTRL-KP_4 -->
<key name="KEY_KP5" code="0x001d"/> <!-- GS (group separator) CTRL-KP_5 -->
<key name="KEY_KP6" code="0x001e"/> <!-- RS (record separator) CTRL-KP_6 -->
<key name="KEY_KP3" code="0x001b"/> <!-- ESC (escape) CTRL-KP_3 -->
<dummy/>
</map>
<!-- ALTGR -->
<map mod1="false" mod2="false" mod3="true" mod4="false">
<key name="KEY_1" code="0x00b9"/> <!-- ¹ -->
<key name="KEY_2" code="0x00b2"/> <!-- ² -->
<key name="KEY_3" code="0x00b3"/> <!-- ³ -->
<key name="KEY_4" code="0x00bc"/> <!-- ¼ -->
<key name="KEY_5" code="0x00bd"/> <!-- ½ -->
<key name="KEY_6" code="0x00ac"/> <!-- ¬ -->
<key name="KEY_7" code="0x007b"/> <!-- { -->
<key name="KEY_8" code="0x005b"/> <!-- [ -->
<key name="KEY_9" code="0x005d"/> <!-- ] -->
<key name="KEY_0" code="0x007d"/> <!-- } -->
<key name="KEY_MINUS" code="0x005c"/> <!-- \ -->
<key name="KEY_Q" code="0x0040"/> <!-- @ -->
<key name="KEY_E" code="0x20ac"/> <!-- € -->
<key name="KEY_RIGHTBRACE" code="0x007e"/> <!-- ~ -->
<key name="KEY_M" code="0x00b5"/> <!-- µ -->
<key name="KEY_102ND" code="0x007c"/> <!-- | -->
<dummy/>
</map>
<!-- CAPSLOCK -->
<map mod1="false" mod2="false" mod3="false" mod4="true">
<key name="KEY_Q" code="0x0051"/> <!-- Q -->
<key name="KEY_W" code="0x0057"/> <!-- W -->
<key name="KEY_E" code="0x0045"/> <!-- E -->
<key name="KEY_R" code="0x0052"/> <!-- R -->
<key name="KEY_T" code="0x0054"/> <!-- T -->
<key name="KEY_Y" code="0x005a"/> <!-- Z -->
<key name="KEY_U" code="0x0055"/> <!-- U -->
<key name="KEY_I" code="0x0049"/> <!-- I -->
<key name="KEY_O" code="0x004f"/> <!-- O -->
<key name="KEY_P" code="0x0050"/> <!-- P -->
<key name="KEY_LEFTBRACE" code="0x00dc"/> <!-- Ü -->
<key name="KEY_A" code="0x0041"/> <!-- A -->
<key name="KEY_S" code="0x0053"/> <!-- S -->
<key name="KEY_D" code="0x0044"/> <!-- D -->
<key name="KEY_F" code="0x0046"/> <!-- F -->
<key name="KEY_G" code="0x0047"/> <!-- G -->
<key name="KEY_H" code="0x0048"/> <!-- H -->
<key name="KEY_J" code="0x004a"/> <!-- J -->
<key name="KEY_K" code="0x004b"/> <!-- K -->
<key name="KEY_L" code="0x004c"/> <!-- L -->
<key name="KEY_SEMICOLON" code="0x00d6"/> <!-- Ö -->
<key name="KEY_APOSTROPHE" code="0x00c4"/> <!-- Ä -->
<key name="KEY_Z" code="0x0059"/> <!-- Y -->
<key name="KEY_X" code="0x0058"/> <!-- X -->
<key name="KEY_C" code="0x0043"/> <!-- C -->
<key name="KEY_V" code="0x0056"/> <!-- V -->
<key name="KEY_B" code="0x0042"/> <!-- B -->
<key name="KEY_N" code="0x004e"/> <!-- N -->
<key name="KEY_M" code="0x004d"/> <!-- M -->
</map>
<!-- SHIFT-ALTGR -->
<!-- SHIFT-CAPSLOCK -->
<map mod1="true" mod2="false" mod3="false" mod4="true">
<key name="KEY_1" code="0x0021"/> <!-- ! -->
<key name="KEY_2" code="0x0022"/> <!-- " -->
<key name="KEY_3" code="0x00a7"/> <!-- § -->
<key name="KEY_4" code="0x0024"/> <!-- $ -->
<key name="KEY_5" code="0x0025"/> <!-- % -->
<key name="KEY_6" code="0x0026"/> <!-- & -->
<key name="KEY_7" code="0x002f"/> <!-- / -->
<key name="KEY_8" code="0x0028"/> <!-- ( -->
<key name="KEY_9" code="0x0029"/> <!-- ) -->
<key name="KEY_0" code="0x003d"/> <!-- = -->
<key name="KEY_MINUS" code="0x003f"/> <!-- ? -->
<key name="KEY_EQUAL" code="0x0060"/> <!-- ` -->
<key name="KEY_Q" code="0x0071"/> <!-- q -->
<key name="KEY_W" code="0x0077"/> <!-- w -->
<key name="KEY_E" code="0x0065"/> <!-- e -->
<key name="KEY_R" code="0x0072"/> <!-- r -->
<key name="KEY_T" code="0x0074"/> <!-- t -->
<key name="KEY_Y" code="0x007a"/> <!-- z -->
<key name="KEY_U" code="0x0075"/> <!-- u -->
<key name="KEY_I" code="0x0069"/> <!-- i -->
<key name="KEY_O" code="0x006f"/> <!-- o -->
<key name="KEY_P" code="0x0070"/> <!-- p -->
<key name="KEY_LEFTBRACE" code="0x00fc"/> <!-- ü -->
<key name="KEY_RIGHTBRACE" code="0x002a"/> <!-- * -->
<key name="KEY_A" code="0x0061"/> <!-- a -->
<key name="KEY_S" code="0x0073"/> <!-- s -->
<key name="KEY_D" code="0x0064"/> <!-- d -->
<key name="KEY_F" code="0x0066"/> <!-- f -->
<key name="KEY_G" code="0x0067"/> <!-- g -->
<key name="KEY_H" code="0x0068"/> <!-- h -->
<key name="KEY_J" code="0x006a"/> <!-- j -->
<key name="KEY_K" code="0x006b"/> <!-- k -->
<key name="KEY_L" code="0x006c"/> <!-- l -->
<key name="KEY_SEMICOLON" code="0x00f6"/> <!-- ö -->
<key name="KEY_APOSTROPHE" code="0x00e4"/> <!-- ä -->
<key name="KEY_GRAVE" code="0x00b0"/> <!-- ° -->
<key name="KEY_BACKSLASH" code="0x0027"/> <!-- ' -->
<key name="KEY_Z" code="0x0079"/> <!-- y -->
<key name="KEY_X" code="0x0078"/> <!-- x -->
<key name="KEY_C" code="0x0063"/> <!-- c -->
<key name="KEY_V" code="0x0076"/> <!-- v -->
<key name="KEY_B" code="0x0062"/> <!-- b -->
<key name="KEY_N" code="0x006e"/> <!-- n -->
<key name="KEY_M" code="0x006d"/> <!-- m -->
<key name="KEY_COMMA" code="0x003b"/> <!-- ; -->
<key name="KEY_DOT" code="0x003a"/> <!-- : -->
<key name="KEY_SLASH" code="0x005f"/> <!-- _ -->
<key name="KEY_102ND" code="0x003e"/> <!-- > -->
<dummy/>
</map>
<!-- ALTGR-CAPSLOCK -->
<map mod1="false" mod2="false" mod3="true" mod4="true">
<key name="KEY_1" code="0x00b9"/> <!-- ¹ -->
<key name="KEY_2" code="0x00b2"/> <!-- ² -->
<key name="KEY_3" code="0x00b3"/> <!-- ³ -->
<key name="KEY_4" code="0x00bc"/> <!-- ¼ -->
<key name="KEY_5" code="0x00bd"/> <!-- ½ -->
<key name="KEY_6" code="0x00ac"/> <!-- ¬ -->
<key name="KEY_7" code="0x007b"/> <!-- { -->
<key name="KEY_8" code="0x005b"/> <!-- [ -->
<key name="KEY_9" code="0x005d"/> <!-- ] -->
<key name="KEY_0" code="0x007d"/> <!-- } -->
<key name="KEY_MINUS" code="0x005c"/> <!-- \ -->
<key name="KEY_Q" code="0x0040"/> <!-- @ -->
<key name="KEY_E" code="0x20ac"/> <!-- € -->
<key name="KEY_RIGHTBRACE" code="0x007e"/> <!-- ~ -->
<key name="KEY_M" code="0x00b5"/> <!-- µ -->
<key name="KEY_102ND" code="0x007c"/> <!-- | -->
<dummy/>
</map>
<!-- SHIFT-ALTGR-CAPSLOCK -->
<!-- dead-key / compose sequences -->
</chargen>

View File

@ -1,149 +1,275 @@
<!-- us/euro/en_US.UTF-8 chargen configuration generated by xkb2ifcfg -->
<!-- manually amended (*) and stripped down -->
<chargen>
<map>
<key name="KEY_ESC" ascii="27"/>
<key name="KEY_1" char="1"/>
<key name="KEY_2" char="2"/>
<key name="KEY_3" char="3"/>
<key name="KEY_4" char="4"/>
<key name="KEY_5" char="5"/>
<key name="KEY_6" char="6"/>
<key name="KEY_7" char="7"/>
<key name="KEY_8" char="8"/>
<key name="KEY_9" char="9"/>
<key name="KEY_0" char="0"/>
<key name="KEY_MINUS" char="-"/>
<key name="KEY_EQUAL" char="="/>
<key name="KEY_BACKSPACE" ascii="8"/>
<key name="KEY_TAB" ascii="9"/>
<key name="KEY_Q" char="q"/>
<key name="KEY_W" char="w"/>
<key name="KEY_E" char="e"/>
<key name="KEY_R" char="r"/>
<key name="KEY_T" char="t"/>
<key name="KEY_Y" char="y"/>
<key name="KEY_U" char="u"/>
<key name="KEY_I" char="i"/>
<key name="KEY_O" char="o"/>
<key name="KEY_P" char="p"/>
<key name="KEY_LEFTBRACE" char="["/>
<key name="KEY_RIGHTBRACE" char="]"/>
<key name="KEY_ENTER" ascii="10"/>
<key name="KEY_A" char="a"/>
<key name="KEY_S" char="s"/>
<key name="KEY_D" char="d"/>
<key name="KEY_F" char="f"/>
<key name="KEY_G" char="g"/>
<key name="KEY_H" char="h"/>
<key name="KEY_J" char="j"/>
<key name="KEY_K" char="k"/>
<key name="KEY_L" char="l"/>
<key name="KEY_SEMICOLON" char=";"/>
<key name="KEY_APOSTROPHE" char="'"/>
<key name="KEY_GRAVE" char="`"/>
<key name="KEY_BACKSLASH" ascii="92"/> <!-- '\' -->
<key name="KEY_Z" char="z"/>
<key name="KEY_X" char="x"/>
<key name="KEY_C" char="c"/>
<key name="KEY_V" char="v"/>
<key name="KEY_B" char="b"/>
<key name="KEY_N" char="n"/>
<key name="KEY_M" char="m"/>
<key name="KEY_COMMA" char=","/>
<key name="KEY_DOT" char="."/>
<key name="KEY_SLASH" char="/"/>
<key name="KEY_SPACE" char=" "/>
<key name="KEY_KP7" char="7"/>
<key name="KEY_KP8" char="8"/>
<key name="KEY_KP9" char="9"/>
<key name="KEY_KPMINUS" char="-"/>
<key name="KEY_KP4" char="4"/>
<key name="KEY_KP5" char="5"/>
<key name="KEY_KP6" char="6"/>
<key name="KEY_KPPLUS" char="+"/>
<key name="KEY_KP1" char="1"/>
<key name="KEY_KP2" char="2"/>
<key name="KEY_KP3" char="3"/>
<key name="KEY_KP0" char="0"/>
<key name="KEY_KPDOT" char="."/>
<key name="KEY_KPENTER" ascii="10"/>
<key name="KEY_KPSLASH" char="/"/>
<key name="KEY_KPASTERISK" char="*"/>
<!-- printable -->
<key name="KEY_1" code="0x0031"/> <!-- 1 -->
<key name="KEY_2" code="0x0032"/> <!-- 2 -->
<key name="KEY_3" code="0x0033"/> <!-- 3 -->
<key name="KEY_4" code="0x0034"/> <!-- 4 -->
<key name="KEY_5" code="0x0035"/> <!-- 5 -->
<key name="KEY_6" code="0x0036"/> <!-- 6 -->
<key name="KEY_7" code="0x0037"/> <!-- 7 -->
<key name="KEY_8" code="0x0038"/> <!-- 8 -->
<key name="KEY_9" code="0x0039"/> <!-- 9 -->
<key name="KEY_0" code="0x0030"/> <!-- 0 -->
<key name="KEY_MINUS" code="0x002d"/> <!-- - -->
<key name="KEY_EQUAL" code="0x003d"/> <!-- = -->
<key name="KEY_Q" code="0x0071"/> <!-- q -->
<key name="KEY_W" code="0x0077"/> <!-- w -->
<key name="KEY_E" code="0x0065"/> <!-- e -->
<key name="KEY_R" code="0x0072"/> <!-- r -->
<key name="KEY_T" code="0x0074"/> <!-- t -->
<key name="KEY_Y" code="0x0079"/> <!-- y -->
<key name="KEY_U" code="0x0075"/> <!-- u -->
<key name="KEY_I" code="0x0069"/> <!-- i -->
<key name="KEY_O" code="0x006f"/> <!-- o -->
<key name="KEY_P" code="0x0070"/> <!-- p -->
<key name="KEY_LEFTBRACE" code="0x005b"/> <!-- [ -->
<key name="KEY_RIGHTBRACE" code="0x005d"/> <!-- ] -->
<key name="KEY_A" code="0x0061"/> <!-- a -->
<key name="KEY_S" code="0x0073"/> <!-- s -->
<key name="KEY_D" code="0x0064"/> <!-- d -->
<key name="KEY_F" code="0x0066"/> <!-- f -->
<key name="KEY_G" code="0x0067"/> <!-- g -->
<key name="KEY_H" code="0x0068"/> <!-- h -->
<key name="KEY_J" code="0x006a"/> <!-- j -->
<key name="KEY_K" code="0x006b"/> <!-- k -->
<key name="KEY_L" code="0x006c"/> <!-- l -->
<key name="KEY_SEMICOLON" code="0x003b"/> <!-- ; -->
<key name="KEY_APOSTROPHE" code="0x0027"/> <!-- ' -->
<key name="KEY_GRAVE" code="0x0060"/> <!-- ` -->
<key name="KEY_BACKSLASH" code="0x005c"/> <!-- \ -->
<key name="KEY_Z" code="0x007a"/> <!-- z -->
<key name="KEY_X" code="0x0078"/> <!-- x -->
<key name="KEY_C" code="0x0063"/> <!-- c -->
<key name="KEY_V" code="0x0076"/> <!-- v -->
<key name="KEY_B" code="0x0062"/> <!-- b -->
<key name="KEY_N" code="0x006e"/> <!-- n -->
<key name="KEY_M" code="0x006d"/> <!-- m -->
<key name="KEY_COMMA" code="0x002c"/> <!-- , -->
<key name="KEY_DOT" code="0x002e"/> <!-- . -->
<key name="KEY_SLASH" code="0x002f"/> <!-- / -->
<key name="KEY_KPASTERISK" code="0x002a"/> <!-- * -->
<key name="KEY_SPACE" code="0x0020"/> <!-- -->
<key name="KEY_KP7" code="0x0037"/> <!-- 7 -->
<key name="KEY_KP8" code="0x0038"/> <!-- 8 -->
<key name="KEY_KP9" code="0x0039"/> <!-- 9 -->
<key name="KEY_KPMINUS" code="0x002d"/> <!-- - -->
<key name="KEY_KP4" code="0x0034"/> <!-- 4 -->
<key name="KEY_KP5" code="0x0035"/> <!-- 5 -->
<key name="KEY_KP6" code="0x0036"/> <!-- 6 -->
<key name="KEY_KPPLUS" code="0x002b"/> <!-- + -->
<key name="KEY_KP1" code="0x0031"/> <!-- 1 -->
<key name="KEY_KP2" code="0x0032"/> <!-- 2 -->
<key name="KEY_KP3" code="0x0033"/> <!-- 3 -->
<key name="KEY_KP0" code="0x0030"/> <!-- 0 -->
<key name="KEY_KPDOT" code="0x002e"/> <!-- . -->
<key name="KEY_102ND" code="0x003c"/> <!-- < -->
<key name="KEY_KPSLASH" code="0x002f"/> <!-- / -->
<!-- non-printable -->
<key name="KEY_ESC" ascii="27"/>
<key name="KEY_BACKSPACE" ascii="8"/>
<key name="KEY_TAB" ascii="9"/>
<key name="KEY_ENTER" ascii="10"/>
<key name="KEY_KPENTER" ascii="10"/>
<key name="KEY_DELETE" ascii="127"/>
</map>
<map mod1="yes">
<key name="KEY_1" char="!"/>
<key name="KEY_2" char="@"/>
<key name="KEY_3" char="#"/>
<key name="KEY_4" char="$"/>
<key name="KEY_5" char="%"/>
<key name="KEY_6" char="^"/>
<key name="KEY_7" ascii="38"/> <!-- '&' -->
<key name="KEY_8" char="*"/>
<key name="KEY_9" char="("/>
<key name="KEY_0" char=")"/>
<key name="KEY_MINUS" char="_"/>
<key name="KEY_EQUAL" char="+"/>
<key name="KEY_Q" char="Q"/>
<key name="KEY_W" char="W"/>
<key name="KEY_E" char="E"/>
<key name="KEY_R" char="R"/>
<key name="KEY_T" char="T"/>
<key name="KEY_Y" char="Y"/>
<key name="KEY_U" char="U"/>
<key name="KEY_I" char="I"/>
<key name="KEY_O" char="O"/>
<key name="KEY_P" char="P"/>
<key name="KEY_LEFTBRACE" char="{"/>
<key name="KEY_RIGHTBRACE" char="}"/>
<key name="KEY_A" char="A"/>
<key name="KEY_S" char="S"/>
<key name="KEY_D" char="D"/>
<key name="KEY_F" char="F"/>
<key name="KEY_G" char="G"/>
<key name="KEY_H" char="H"/>
<key name="KEY_J" char="J"/>
<key name="KEY_K" char="K"/>
<key name="KEY_L" char="L"/>
<key name="KEY_SEMICOLON" char=":"/>
<key name="KEY_APOSTROPHE" ascii="34"/> <!-- '"' -->
<key name="KEY_GRAVE" char="~"/>
<key name="KEY_BACKSLASH" char="|"/>
<key name="KEY_Z" char="Z"/>
<key name="KEY_X" char="X"/>
<key name="KEY_C" char="C"/>
<key name="KEY_V" char="V"/>
<key name="KEY_B" char="B"/>
<key name="KEY_N" char="N"/>
<key name="KEY_M" char="M"/>
<key name="KEY_COMMA" ascii="60"/> <!-- '<' -->
<key name="KEY_DOT" ascii="62"/> <!-- '>' -->
<key name="KEY_SLASH" char="?"/>
<!-- SHIFT -->
<map mod1="true" mod2="false" mod3="false" mod4="false">
<key name="KEY_1" code="0x0021"/> <!-- ! -->
<key name="KEY_2" code="0x0040"/> <!-- @ -->
<key name="KEY_3" code="0x0023"/> <!-- # -->
<key name="KEY_4" code="0x0024"/> <!-- $ -->
<key name="KEY_5" code="0x0025"/> <!-- % -->
<key name="KEY_6" code="0x005e"/> <!-- ^ -->
<key name="KEY_7" code="0x0026"/> <!-- & -->
<key name="KEY_8" code="0x002a"/> <!-- * -->
<key name="KEY_9" code="0x0028"/> <!-- ( -->
<key name="KEY_0" code="0x0029"/> <!-- ) -->
<key name="KEY_MINUS" code="0x005f"/> <!-- _ -->
<key name="KEY_EQUAL" code="0x002b"/> <!-- + -->
<key name="KEY_Q" code="0x0051"/> <!-- Q -->
<key name="KEY_W" code="0x0057"/> <!-- W -->
<key name="KEY_E" code="0x0045"/> <!-- E -->
<key name="KEY_R" code="0x0052"/> <!-- R -->
<key name="KEY_T" code="0x0054"/> <!-- T -->
<key name="KEY_Y" code="0x0059"/> <!-- Y -->
<key name="KEY_U" code="0x0055"/> <!-- U -->
<key name="KEY_I" code="0x0049"/> <!-- I -->
<key name="KEY_O" code="0x004f"/> <!-- O -->
<key name="KEY_P" code="0x0050"/> <!-- P -->
<key name="KEY_LEFTBRACE" code="0x007b"/> <!-- { -->
<key name="KEY_RIGHTBRACE" code="0x007d"/> <!-- } -->
<key name="KEY_A" code="0x0041"/> <!-- A -->
<key name="KEY_S" code="0x0053"/> <!-- S -->
<key name="KEY_D" code="0x0044"/> <!-- D -->
<key name="KEY_F" code="0x0046"/> <!-- F -->
<key name="KEY_G" code="0x0047"/> <!-- G -->
<key name="KEY_H" code="0x0048"/> <!-- H -->
<key name="KEY_J" code="0x004a"/> <!-- J -->
<key name="KEY_K" code="0x004b"/> <!-- K -->
<key name="KEY_L" code="0x004c"/> <!-- L -->
<key name="KEY_SEMICOLON" code="0x003a"/> <!-- : -->
<key name="KEY_APOSTROPHE" code="0x0022"/> <!-- " -->
<key name="KEY_GRAVE" code="0x007e"/> <!-- ~ -->
<key name="KEY_BACKSLASH" code="0x007c"/> <!-- | -->
<key name="KEY_Z" code="0x005a"/> <!-- Z -->
<key name="KEY_X" code="0x0058"/> <!-- X -->
<key name="KEY_C" code="0x0043"/> <!-- C -->
<key name="KEY_V" code="0x0056"/> <!-- V -->
<key name="KEY_B" code="0x0042"/> <!-- B -->
<key name="KEY_N" code="0x004e"/> <!-- N -->
<key name="KEY_M" code="0x004d"/> <!-- M -->
<key name="KEY_COMMA" code="0x003c"/> <!-- < -->
<key name="KEY_DOT" code="0x003e"/> <!-- > -->
<key name="KEY_SLASH" code="0x003f"/> <!-- ? -->
<key name="KEY_KPASTERISK" code="0x002a"/> <!-- * -->
<key name="KEY_KPMINUS" code="0x002d"/> <!-- - -->
<key name="KEY_KPPLUS" code="0x002b"/> <!-- + -->
<key name="KEY_102ND" code="0x003e"/> <!-- > -->
<key name="KEY_KPSLASH" code="0x002f"/> <!-- / -->
</map>
<map mod2="yes">
<key name="KEY_A" ascii="1"/>
<key name="KEY_B" ascii="2"/>
<key name="KEY_C" ascii="3"/>
<key name="KEY_D" ascii="4"/>
<key name="KEY_E" ascii="5"/>
<key name="KEY_F" ascii="6"/>
<key name="KEY_G" ascii="7"/>
<key name="KEY_H" ascii="8"/>
<key name="KEY_I" ascii="9"/>
<key name="KEY_J" ascii="10"/>
<key name="KEY_K" ascii="11"/>
<key name="KEY_L" ascii="12"/>
<key name="KEY_M" ascii="13"/>
<key name="KEY_N" ascii="14"/>
<key name="KEY_O" ascii="15"/>
<key name="KEY_P" ascii="16"/>
<key name="KEY_Q" ascii="17"/>
<key name="KEY_R" ascii="18"/>
<key name="KEY_S" ascii="19"/>
<key name="KEY_T" ascii="20"/>
<key name="KEY_U" ascii="21"/>
<key name="KEY_V" ascii="22"/>
<key name="KEY_W" ascii="23"/>
<key name="KEY_X" ascii="24"/>
<key name="KEY_Y" ascii="25"/>
<key name="KEY_Z" ascii="26"/>
<!-- CONTROL -->
<map mod2="true">
<key name="KEY_3" code="0x001b"/> <!-- ESC (escape) CTRL-3 -->
<key name="KEY_4" code="0x001c"/> <!-- FS (file separator) CTRL-4 -->
<key name="KEY_5" code="0x001d"/> <!-- GS (group separator) CTRL-5 -->
<key name="KEY_6" code="0x001e"/> <!-- RS (record separator) CTRL-6 -->
<key name="KEY_7" code="0x001f"/> <!-- US (unit separator) CTRL-7 -->
<key name="KEY_Q" code="0x0011"/> <!-- DC1 (device control 1) CTRL-q -->
<key name="KEY_W" code="0x0017"/> <!-- ETB (end of trans. blk) CTRL-w -->
<key name="KEY_E" code="0x0005"/> <!-- ENQ (enquiry) CTRL-e -->
<key name="KEY_R" code="0x0012"/> <!-- DC2 (device control 2) CTRL-r -->
<key name="KEY_T" code="0x0014"/> <!-- DC4 (device control 4) CTRL-t -->
<key name="KEY_Y" code="0x0019"/> <!-- EM (end of medium) CTRL-y -->
<key name="KEY_U" code="0x0015"/> <!-- NAK (negative ack.) CTRL-u -->
<key name="KEY_I" code="0x0009"/> <!-- HT '\t' (horizontal tab) CTRL-i -->
<key name="KEY_O" code="0x000f"/> <!-- SI (shift in) CTRL-o -->
<key name="KEY_P" code="0x0010"/> <!-- DLE (data link escape) CTRL-p -->
<key name="KEY_LEFTBRACE" code="0x001b"/> <!-- ESC (escape) CTRL-bracketleft -->
<key name="KEY_RIGHTBRACE" code="0x001d"/> <!-- GS (group separator) CTRL-bracketright -->
<key name="KEY_A" code="0x0001"/> <!-- SOH (start of heading) CTRL-a -->
<key name="KEY_S" code="0x0013"/> <!-- DC3 (device control 3) CTRL-s -->
<key name="KEY_D" code="0x0004"/> <!-- EOT (end of transmission) CTRL-d -->
<key name="KEY_F" code="0x0006"/> <!-- ACK (acknowledge) CTRL-f -->
<key name="KEY_G" code="0x0007"/> <!-- BEL '\a' (bell) CTRL-g -->
<key name="KEY_H" code="0x0008"/> <!-- BS '\b' (backspace) CTRL-h -->
<key name="KEY_J" code="0x000a"/> <!-- LF '\n' (new line) CTRL-j -->
<key name="KEY_K" code="0x000b"/> <!-- VT '\v' (vertical tab) CTRL-k -->
<key name="KEY_L" code="0x000c"/> <!-- FF '\f' (form feed) CTRL-l -->
<key name="KEY_BACKSLASH" code="0x001c"/> <!-- FS (file separator) CTRL-backslash -->
<key name="KEY_Z" code="0x001a"/> <!-- SUB (substitute) CTRL-z -->
<key name="KEY_X" code="0x0018"/> <!-- CAN (cancel) CTRL-x -->
<key name="KEY_C" code="0x0003"/> <!-- ETX (end of text) CTRL-c -->
<key name="KEY_V" code="0x0016"/> <!-- SYN (synchronous idle) CTRL-v -->
<key name="KEY_B" code="0x0002"/> <!-- STX (start of text) CTRL-b -->
<key name="KEY_N" code="0x000e"/> <!-- SO (shift out) CTRL-n -->
<key name="KEY_M" code="0x000d"/> <!-- CR '\r' (carriage ret) CTRL-m -->
<key name="KEY_SLASH" code="0x001f"/> <!-- US (unit separator) CTRL-slash -->
<key name="KEY_KP7" code="0x001f"/> <!-- US (unit separator) CTRL-KP_7 -->
<key name="KEY_KP4" code="0x001c"/> <!-- FS (file separator) CTRL-KP_4 -->
<key name="KEY_KP5" code="0x001d"/> <!-- GS (group separator) CTRL-KP_5 -->
<key name="KEY_KP6" code="0x001e"/> <!-- RS (record separator) CTRL-KP_6 -->
<key name="KEY_KP3" code="0x001b"/> <!-- ESC (escape) CTRL-KP_3 -->
</map>
<!-- ALTGR -->
<map mod1="false" mod2="false" mod3="true" mod4="false">
<key name="KEY_5" code="0x20ac"/> <!-- € -->
<key name="KEY_102ND" code="0x007c"/> <!-- | -->
</map>
<!-- CAPSLOCK -->
<map mod1="false" mod2="false" mod3="false" mod4="true">
<key name="KEY_Q" code="0x0051"/> <!-- Q -->
<key name="KEY_W" code="0x0057"/> <!-- W -->
<key name="KEY_E" code="0x0045"/> <!-- E -->
<key name="KEY_R" code="0x0052"/> <!-- R -->
<key name="KEY_T" code="0x0054"/> <!-- T -->
<key name="KEY_Y" code="0x0059"/> <!-- Y -->
<key name="KEY_U" code="0x0055"/> <!-- U -->
<key name="KEY_I" code="0x0049"/> <!-- I -->
<key name="KEY_O" code="0x004f"/> <!-- O -->
<key name="KEY_P" code="0x0050"/> <!-- P -->
<key name="KEY_A" code="0x0041"/> <!-- A -->
<key name="KEY_S" code="0x0053"/> <!-- S -->
<key name="KEY_D" code="0x0044"/> <!-- D -->
<key name="KEY_F" code="0x0046"/> <!-- F -->
<key name="KEY_G" code="0x0047"/> <!-- G -->
<key name="KEY_H" code="0x0048"/> <!-- H -->
<key name="KEY_J" code="0x004a"/> <!-- J -->
<key name="KEY_K" code="0x004b"/> <!-- K -->
<key name="KEY_L" code="0x004c"/> <!-- L -->
<key name="KEY_Z" code="0x005a"/> <!-- Z -->
<key name="KEY_X" code="0x0058"/> <!-- X -->
<key name="KEY_C" code="0x0043"/> <!-- C -->
<key name="KEY_V" code="0x0056"/> <!-- V -->
<key name="KEY_B" code="0x0042"/> <!-- B -->
<key name="KEY_N" code="0x004e"/> <!-- N -->
<key name="KEY_M" code="0x004d"/> <!-- M -->
</map>
<!-- SHIFT-ALTGR -->
<!-- SHIFT-CAPSLOCK -->
<map mod1="true" mod2="false" mod3="false" mod4="true">
<key name="KEY_1" code="0x0021"/> <!-- ! -->
<key name="KEY_2" code="0x0040"/> <!-- @ -->
<key name="KEY_3" code="0x0023"/> <!-- # -->
<key name="KEY_4" code="0x0024"/> <!-- $ -->
<key name="KEY_5" code="0x0025"/> <!-- % -->
<key name="KEY_6" code="0x005e"/> <!-- ^ -->
<key name="KEY_7" code="0x0026"/> <!-- & -->
<key name="KEY_8" code="0x002a"/> <!-- * -->
<key name="KEY_9" code="0x0028"/> <!-- ( -->
<key name="KEY_0" code="0x0029"/> <!-- ) -->
<key name="KEY_MINUS" code="0x005f"/> <!-- _ -->
<key name="KEY_EQUAL" code="0x002b"/> <!-- + -->
<key name="KEY_Q" code="0x0071"/> <!-- q -->
<key name="KEY_W" code="0x0077"/> <!-- w -->
<key name="KEY_E" code="0x0065"/> <!-- e -->
<key name="KEY_R" code="0x0072"/> <!-- r -->
<key name="KEY_T" code="0x0074"/> <!-- t -->
<key name="KEY_Y" code="0x0079"/> <!-- y -->
<key name="KEY_U" code="0x0075"/> <!-- u -->
<key name="KEY_I" code="0x0069"/> <!-- i -->
<key name="KEY_O" code="0x006f"/> <!-- o -->
<key name="KEY_P" code="0x0070"/> <!-- p -->
<key name="KEY_LEFTBRACE" code="0x007b"/> <!-- { -->
<key name="KEY_RIGHTBRACE" code="0x007d"/> <!-- } -->
<key name="KEY_A" code="0x0061"/> <!-- a -->
<key name="KEY_S" code="0x0073"/> <!-- s -->
<key name="KEY_D" code="0x0064"/> <!-- d -->
<key name="KEY_F" code="0x0066"/> <!-- f -->
<key name="KEY_G" code="0x0067"/> <!-- g -->
<key name="KEY_H" code="0x0068"/> <!-- h -->
<key name="KEY_J" code="0x006a"/> <!-- j -->
<key name="KEY_K" code="0x006b"/> <!-- k -->
<key name="KEY_L" code="0x006c"/> <!-- l -->
<key name="KEY_SEMICOLON" code="0x003a"/> <!-- : -->
<key name="KEY_APOSTROPHE" code="0x0022"/> <!-- " -->
<key name="KEY_GRAVE" code="0x007e"/> <!-- ~ -->
<key name="KEY_BACKSLASH" code="0x007c"/> <!-- | -->
<key name="KEY_Z" code="0x007a"/> <!-- z -->
<key name="KEY_X" code="0x0078"/> <!-- x -->
<key name="KEY_C" code="0x0063"/> <!-- c -->
<key name="KEY_V" code="0x0076"/> <!-- v -->
<key name="KEY_B" code="0x0062"/> <!-- b -->
<key name="KEY_N" code="0x006e"/> <!-- n -->
<key name="KEY_M" code="0x006d"/> <!-- m -->
<key name="KEY_COMMA" code="0x003c"/> <!-- < -->
<key name="KEY_DOT" code="0x003e"/> <!-- > -->
<key name="KEY_SLASH" code="0x003f"/> <!-- ? -->
<key name="KEY_102ND" code="0x003e"/> <!-- > -->
</map>
<!-- ALTGR-CAPSLOCK -->
<!-- SHIFT-ALTGR-CAPSLOCK -->
<!-- dead-key / compose sequences -->
</chargen>

View File

@ -1,183 +0,0 @@
<chargen>
<map>
<key name="KEY_ESC" code="27"/>
<key name="KEY_1" code="0x26"/> <!-- & -->
<key name="KEY_2" code="0xe9"/> <!-- é -->
<key name="KEY_3" code="0x22"/> <!-- " -->
<key name="KEY_4" char="'"/> <!-- ' -->
<key name="KEY_5" char="("/>
<key name="KEY_6" char="-"/>
<key name="KEY_7" code="0xe8"/> <!-- è -->
<key name="KEY_8" char="_"/>
<key name="KEY_9" code="0xe7"/> <!-- ç -->
<key name="KEY_0" code="0xe0"/> <!-- à -->
<key name="KEY_MINUS" char=")"/>
<key name="KEY_EQUAL" char="="/>
<key name="KEY_BACKSPACE" code="8"/>
<key name="KEY_TAB" code="9"/>
<key name="KEY_Q" char="a"/>
<key name="KEY_W" char="z"/>
<key name="KEY_E" char="e"/>
<key name="KEY_R" char="r"/>
<key name="KEY_T" char="t"/>
<key name="KEY_Y" char="y"/>
<key name="KEY_U" char="u"/>
<key name="KEY_I" char="i"/>
<key name="KEY_O" char="o"/>
<key name="KEY_P" char="p"/>
<key name="KEY_RIGHTBRACE" char="$"/>
<key name="KEY_ENTER" code="10"/>
<key name="KEY_A" char="q"/>
<key name="KEY_S" char="s"/>
<key name="KEY_D" char="d"/>
<key name="KEY_F" char="f"/>
<key name="KEY_G" char="g"/>
<key name="KEY_H" char="h"/>
<key name="KEY_J" char="j"/>
<key name="KEY_K" char="k"/>
<key name="KEY_L" char="l"/>
<key name="KEY_SEMICOLON" char="m"/>
<key name="KEY_APOSTROPHE" code="0xf9"/> <!-- ù -->
<key name="KEY_GRAVE" code="0xb2"/> <!-- ² -->
<key name="KEY_BACKSLASH" char="*"/>
<key name="KEY_102ND" code="0x3c"/> <!-- less-than -->
<key name="KEY_Z" char="w"/>
<key name="KEY_X" char="x"/>
<key name="KEY_C" char="c"/>
<key name="KEY_V" char="v"/>
<key name="KEY_B" char="b"/>
<key name="KEY_N" char="n"/>
<key name="KEY_M" code="44"/>
<key name="KEY_COMMA" char=";"/>
<key name="KEY_DOT" char=":"/>
<key name="KEY_SLASH" char="!"/>
<key name="KEY_SPACE" char=" "/>
<key name="KEY_KP7" char="7"/>
<key name="KEY_KP8" char="8"/>
<key name="KEY_KP9" char="9"/>
<key name="KEY_KPMINUS" char="-"/>
<key name="KEY_KP4" char="4"/>
<key name="KEY_KP5" char="5"/>
<key name="KEY_KP6" char="6"/>
<key name="KEY_KPPLUS" char="+"/>
<key name="KEY_KP1" char="1"/>
<key name="KEY_KP2" char="2"/>
<key name="KEY_KP3" char="3"/>
<key name="KEY_KP0" char="0"/>
<key name="KEY_KPDOT" char="."/>
<key name="KEY_KPENTER" code="10"/>
<key name="KEY_KPSLASH" char="/"/>
<key name="KEY_KPASTERISK" char="*"/>
</map>
<map mod1="yes">
<key name="KEY_1" char="1"/>
<key name="KEY_2" char="2"/>
<key name="KEY_3" char="3"/>
<key name="KEY_4" char="4"/>
<key name="KEY_5" char="5"/>
<key name="KEY_6" char="6"/>
<key name="KEY_7" char="7"/>
<key name="KEY_8" char="8"/>
<key name="KEY_9" char="9"/>
<key name="KEY_0" char="0"/>
<key name="KEY_MINUS" code="0xb0"/> <!-- ° -->
<key name="KEY_EQUAL" char="+"/>
<key name="KEY_Q" char="A"/>
<key name="KEY_W" char="Z"/>
<key name="KEY_E" char="E"/>
<key name="KEY_R" char="R"/>
<key name="KEY_T" char="T"/>
<key name="KEY_Y" char="Y"/>
<key name="KEY_U" char="U"/>
<key name="KEY_I" char="I"/>
<key name="KEY_O" char="O"/>
<key name="KEY_P" char="P"/>
<key name="KEY_RIGHTBRACE" code="0xa3"/> <!-- £ -->
<key name="KEY_A" char="Q"/>
<key name="KEY_S" char="S"/>
<key name="KEY_D" char="D"/>
<key name="KEY_F" char="F"/>
<key name="KEY_G" char="G"/>
<key name="KEY_H" char="H"/>
<key name="KEY_J" char="J"/>
<key name="KEY_K" char="K"/>
<key name="KEY_L" char="L"/>
<key name="KEY_SEMICOLON" char="M"/>
<key name="KEY_APOSTROPHE" char="%"/>
<key name="KEY_GRAVE" code="0xb3"/> <!-- ³ -->
<key name="KEY_BACKSLASH" code="0xb5"/> <!-- µ -->
<key name="KEY_102ND" code="0x3e"/> <!-- greater-than -->
<key name="KEY_Z" char="W"/>
<key name="KEY_X" char="X"/>
<key name="KEY_C" char="C"/>
<key name="KEY_V" char="V"/>
<key name="KEY_B" char="B"/>
<key name="KEY_N" char="N"/>
<key name="KEY_M" char="?"/>
<key name="KEY_COMMA" char="."/>
<key name="KEY_DOT" char="/"/>
<key name="KEY_SLASH" code="0xa7"/> <!-- § -->
</map>
<map mod2="yes">
<key name="KEY_A" code="1"/>
<key name="KEY_B" code="2"/>
<key name="KEY_C" code="3"/>
<key name="KEY_D" code="4"/>
<key name="KEY_E" code="5"/>
<key name="KEY_F" code="6"/>
<key name="KEY_G" code="7"/>
<key name="KEY_H" code="8"/>
<key name="KEY_I" code="9"/>
<key name="KEY_J" code="10"/>
<key name="KEY_K" code="11"/>
<key name="KEY_L" code="12"/>
<key name="KEY_M" code="13"/>
<key name="KEY_N" code="14"/>
<key name="KEY_O" code="15"/>
<key name="KEY_P" code="16"/>
<key name="KEY_Q" code="17"/>
<key name="KEY_R" code="18"/>
<key name="KEY_S" code="19"/>
<key name="KEY_T" code="20"/>
<key name="KEY_U" code="21"/>
<key name="KEY_V" code="22"/>
<key name="KEY_W" code="23"/>
<key name="KEY_X" code="24"/>
<key name="KEY_Y" code="25"/>
<key name="KEY_Z" code="26"/>
</map>
<map mod3="yes">
<key name="KEY_ESC" code="27"/>
<key name="KEY_2" char="~"/>
<key name="KEY_3" char="3"/>
<key name="KEY_3" char="#"/>
<key name="KEY_4" char="{"/>
<key name="KEY_5" char="["/>
<key name="KEY_6" char="|"/>
<key name="KEY_7" char="`"/>
<key name="KEY_8" code="92"/> <!-- \ -->
<key name="KEY_9" char="^"/>
<key name="KEY_0" char="@"/>
<key name="KEY_MINUS" char="]"/>
<key name="KEY_EQUAL" char="}"/>
<key name="KEY_E" code="0x20ac"/> <!-- € -->
<key name="KEY_RIGHTBRACE" code="0xa4"/> <!-- ¤ -->
</map>
<mod4>
<key name="KEY_LEFTBRACE"/>
</mod4>
<map mod4="yes">
<key name="KEY_Q" code="0xe2"/> <!-- â -->
<key name="KEY_E" code="0xea"/> <!-- ê -->
<key name="KEY_U" code="0xfb"/> <!-- û -->
<key name="KEY_I" code="0xee"/> <!-- î -->
<key name="KEY_O" code="0xf4"/> <!-- ô -->
</map>
<map mod1="yes" mod4="yes">
<key name="KEY_Q" code="0xe4"/> <!-- ä -->
<key name="KEY_E" code="0xeb"/> <!-- ë -->
<key name="KEY_U" code="0xfc"/> <!-- ü -->
<key name="KEY_I" code="0xef"/> <!-- ï -->
<key name="KEY_O" code="0xf6"/> <!-- ö -->
</map>
</chargen>

View File

@ -0,0 +1,371 @@
<!-- ch/fr/fr_CH.UTF-8 chargen configuration generated by xkb2ifcfg -->
<!-- manually amended (*) and stripped down -->
<chargen>
<map>
<!-- printable -->
<key name="KEY_1" code="0x0031"/> <!-- 1 -->
<key name="KEY_2" code="0x0032"/> <!-- 2 -->
<key name="KEY_3" code="0x0033"/> <!-- 3 -->
<key name="KEY_4" code="0x0034"/> <!-- 4 -->
<key name="KEY_5" code="0x0035"/> <!-- 5 -->
<key name="KEY_6" code="0x0036"/> <!-- 6 -->
<key name="KEY_7" code="0x0037"/> <!-- 7 -->
<key name="KEY_8" code="0x0038"/> <!-- 8 -->
<key name="KEY_9" code="0x0039"/> <!-- 9 -->
<key name="KEY_0" code="0x0030"/> <!-- 0 -->
<key name="KEY_MINUS" code="0x0027"/> <!-- ' -->
<key name="KEY_EQUAL" code="0x0302"/> <!-- dead_circumflex -->
<key name="KEY_Q" code="0x0071"/> <!-- q -->
<key name="KEY_W" code="0x0077"/> <!-- w -->
<key name="KEY_E" code="0x0065"/> <!-- e -->
<key name="KEY_R" code="0x0072"/> <!-- r -->
<key name="KEY_T" code="0x0074"/> <!-- t -->
<key name="KEY_Y" code="0x007a"/> <!-- z -->
<key name="KEY_U" code="0x0075"/> <!-- u -->
<key name="KEY_I" code="0x0069"/> <!-- i -->
<key name="KEY_O" code="0x006f"/> <!-- o -->
<key name="KEY_P" code="0x0070"/> <!-- p -->
<key name="KEY_LEFTBRACE" code="0x00e8"/> <!-- è -->
<key name="KEY_RIGHTBRACE" code="0x0308"/> <!-- dead_diaeresis -->
<key name="KEY_A" code="0x0061"/> <!-- a -->
<key name="KEY_S" code="0x0073"/> <!-- s -->
<key name="KEY_D" code="0x0064"/> <!-- d -->
<key name="KEY_F" code="0x0066"/> <!-- f -->
<key name="KEY_G" code="0x0067"/> <!-- g -->
<key name="KEY_H" code="0x0068"/> <!-- h -->
<key name="KEY_J" code="0x006a"/> <!-- j -->
<key name="KEY_K" code="0x006b"/> <!-- k -->
<key name="KEY_L" code="0x006c"/> <!-- l -->
<key name="KEY_SEMICOLON" code="0x00e9"/> <!-- é -->
<key name="KEY_APOSTROPHE" code="0x00e0"/> <!-- à -->
<key name="KEY_GRAVE" code="0x00a7"/> <!-- § -->
<key name="KEY_BACKSLASH" code="0x0024"/> <!-- $ -->
<key name="KEY_Z" code="0x0079"/> <!-- y -->
<key name="KEY_X" code="0x0078"/> <!-- x -->
<key name="KEY_C" code="0x0063"/> <!-- c -->
<key name="KEY_V" code="0x0076"/> <!-- v -->
<key name="KEY_B" code="0x0062"/> <!-- b -->
<key name="KEY_N" code="0x006e"/> <!-- n -->
<key name="KEY_M" code="0x006d"/> <!-- m -->
<key name="KEY_COMMA" code="0x002c"/> <!-- , -->
<key name="KEY_DOT" code="0x002e"/> <!-- . -->
<key name="KEY_SLASH" code="0x002d"/> <!-- - -->
<key name="KEY_KPASTERISK" code="0x002a"/> <!-- * -->
<key name="KEY_SPACE" code="0x0020"/> <!-- -->
<key name="KEY_KP7" code="0x0037"/> <!-- 7 -->
<key name="KEY_KP8" code="0x0038"/> <!-- 8 -->
<key name="KEY_KP9" code="0x0039"/> <!-- 9 -->
<key name="KEY_KPMINUS" code="0x002d"/> <!-- - -->
<key name="KEY_KP4" code="0x0034"/> <!-- 4 -->
<key name="KEY_KP5" code="0x0035"/> <!-- 5 -->
<key name="KEY_KP6" code="0x0036"/> <!-- 6 -->
<key name="KEY_KPPLUS" code="0x002b"/> <!-- + -->
<key name="KEY_KP1" code="0x0031"/> <!-- 1 -->
<key name="KEY_KP2" code="0x0032"/> <!-- 2 -->
<key name="KEY_KP3" code="0x0033"/> <!-- 3 -->
<key name="KEY_KP0" code="0x0030"/> <!-- 0 -->
<key name="KEY_KPDOT" code="0x002e"/> <!-- . -->
<key name="KEY_102ND" code="0x003c"/> <!-- < -->
<key name="KEY_KPSLASH" code="0x002f"/> <!-- / -->
<!-- non-printable -->
<key name="KEY_ESC" ascii="27"/>
<key name="KEY_BACKSPACE" ascii="8"/>
<key name="KEY_TAB" ascii="9"/>
<key name="KEY_ENTER" ascii="10"/>
<key name="KEY_KPENTER" ascii="10"/>
<key name="KEY_DELETE" ascii="127"/>
</map>
<!-- SHIFT -->
<map mod1="true" mod2="false" mod3="false" mod4="false">
<key name="KEY_1" code="0x002b"/> <!-- + -->
<key name="KEY_2" code="0x0022"/> <!-- " -->
<key name="KEY_3" code="0x002a"/> <!-- * -->
<key name="KEY_4" code="0x00e7"/> <!-- ç -->
<key name="KEY_5" code="0x0025"/> <!-- % -->
<key name="KEY_6" code="0x0026"/> <!-- & -->
<key name="KEY_7" code="0x002f"/> <!-- / -->
<key name="KEY_8" code="0x0028"/> <!-- ( -->
<key name="KEY_9" code="0x0029"/> <!-- ) -->
<key name="KEY_0" code="0x003d"/> <!-- = -->
<key name="KEY_MINUS" code="0x003f"/> <!-- ? -->
<key name="KEY_EQUAL" code="0x0300"/> <!-- dead_grave -->
<key name="KEY_Q" code="0x0051"/> <!-- Q -->
<key name="KEY_W" code="0x0057"/> <!-- W -->
<key name="KEY_E" code="0x0045"/> <!-- E -->
<key name="KEY_R" code="0x0052"/> <!-- R -->
<key name="KEY_T" code="0x0054"/> <!-- T -->
<key name="KEY_Y" code="0x005a"/> <!-- Z -->
<key name="KEY_U" code="0x0055"/> <!-- U -->
<key name="KEY_I" code="0x0049"/> <!-- I -->
<key name="KEY_O" code="0x004f"/> <!-- O -->
<key name="KEY_P" code="0x0050"/> <!-- P -->
<key name="KEY_LEFTBRACE" code="0x00fc"/> <!-- ü -->
<key name="KEY_RIGHTBRACE" code="0x0021"/> <!-- ! -->
<key name="KEY_A" code="0x0041"/> <!-- A -->
<key name="KEY_S" code="0x0053"/> <!-- S -->
<key name="KEY_D" code="0x0044"/> <!-- D -->
<key name="KEY_F" code="0x0046"/> <!-- F -->
<key name="KEY_G" code="0x0047"/> <!-- G -->
<key name="KEY_H" code="0x0048"/> <!-- H -->
<key name="KEY_J" code="0x004a"/> <!-- J -->
<key name="KEY_K" code="0x004b"/> <!-- K -->
<key name="KEY_L" code="0x004c"/> <!-- L -->
<key name="KEY_SEMICOLON" code="0x00f6"/> <!-- ö -->
<key name="KEY_APOSTROPHE" code="0x00e4"/> <!-- ä -->
<key name="KEY_GRAVE" code="0x00b0"/> <!-- ° -->
<key name="KEY_BACKSLASH" code="0x00a3"/> <!-- £ -->
<key name="KEY_Z" code="0x0059"/> <!-- Y -->
<key name="KEY_X" code="0x0058"/> <!-- X -->
<key name="KEY_C" code="0x0043"/> <!-- C -->
<key name="KEY_V" code="0x0056"/> <!-- V -->
<key name="KEY_B" code="0x0042"/> <!-- B -->
<key name="KEY_N" code="0x004e"/> <!-- N -->
<key name="KEY_M" code="0x004d"/> <!-- M -->
<key name="KEY_COMMA" code="0x003b"/> <!-- ; -->
<key name="KEY_DOT" code="0x003a"/> <!-- : -->
<key name="KEY_SLASH" code="0x005f"/> <!-- _ -->
<key name="KEY_102ND" code="0x003e"/> <!-- > -->
</map>
<!-- CONTROL -->
<map mod2="true">
<key name="KEY_3" code="0x001b"/> <!-- ESC (escape) CTRL-3 -->
<key name="KEY_4" code="0x001c"/> <!-- FS (file separator) CTRL-4 -->
<key name="KEY_5" code="0x001d"/> <!-- GS (group separator) CTRL-5 -->
<key name="KEY_6" code="0x001e"/> <!-- RS (record separator) CTRL-6 -->
<key name="KEY_7" code="0x001f"/> <!-- US (unit separator) CTRL-7 -->
<key name="KEY_Q" code="0x0011"/> <!-- DC1 (device control 1) CTRL-q -->
<key name="KEY_W" code="0x0017"/> <!-- ETB (end of trans. blk) CTRL-w -->
<key name="KEY_E" code="0x0005"/> <!-- ENQ (enquiry) CTRL-e -->
<key name="KEY_R" code="0x0012"/> <!-- DC2 (device control 2) CTRL-r -->
<key name="KEY_T" code="0x0014"/> <!-- DC4 (device control 4) CTRL-t -->
<key name="KEY_Y" code="0x001a"/> <!-- SUB (substitute) CTRL-z -->
<key name="KEY_U" code="0x0015"/> <!-- NAK (negative ack.) CTRL-u -->
<key name="KEY_I" code="0x0009"/> <!-- HT '\t' (horizontal tab) CTRL-i -->
<key name="KEY_O" code="0x000f"/> <!-- SI (shift in) CTRL-o -->
<key name="KEY_P" code="0x0010"/> <!-- DLE (data link escape) CTRL-p -->
<key name="KEY_A" code="0x0001"/> <!-- SOH (start of heading) CTRL-a -->
<key name="KEY_S" code="0x0013"/> <!-- DC3 (device control 3) CTRL-s -->
<key name="KEY_D" code="0x0004"/> <!-- EOT (end of transmission) CTRL-d -->
<key name="KEY_F" code="0x0006"/> <!-- ACK (acknowledge) CTRL-f -->
<key name="KEY_G" code="0x0007"/> <!-- BEL '\a' (bell) CTRL-g -->
<key name="KEY_H" code="0x0008"/> <!-- BS '\b' (backspace) CTRL-h -->
<key name="KEY_J" code="0x000a"/> <!-- LF '\n' (new line) CTRL-j -->
<key name="KEY_K" code="0x000b"/> <!-- VT '\v' (vertical tab) CTRL-k -->
<key name="KEY_L" code="0x000c"/> <!-- FF '\f' (form feed) CTRL-l -->
<key name="KEY_Z" code="0x0019"/> <!-- EM (end of medium) CTRL-y -->
<key name="KEY_X" code="0x0018"/> <!-- CAN (cancel) CTRL-x -->
<key name="KEY_C" code="0x0003"/> <!-- ETX (end of text) CTRL-c -->
<key name="KEY_V" code="0x0016"/> <!-- SYN (synchronous idle) CTRL-v -->
<key name="KEY_B" code="0x0002"/> <!-- STX (start of text) CTRL-b -->
<key name="KEY_N" code="0x000e"/> <!-- SO (shift out) CTRL-n -->
<key name="KEY_M" code="0x000d"/> <!-- CR '\r' (carriage ret) CTRL-m -->
<key name="KEY_KP7" code="0x001f"/> <!-- US (unit separator) CTRL-KP_7 -->
<key name="KEY_KP4" code="0x001c"/> <!-- FS (file separator) CTRL-KP_4 -->
<key name="KEY_KP5" code="0x001d"/> <!-- GS (group separator) CTRL-KP_5 -->
<key name="KEY_KP6" code="0x001e"/> <!-- RS (record separator) CTRL-KP_6 -->
<key name="KEY_KP3" code="0x001b"/> <!-- ESC (escape) CTRL-KP_3 -->
</map>
<!-- ALTGR -->
<map mod1="false" mod2="false" mod3="true" mod4="false">
<key name="KEY_1" code="0x00a6"/> <!-- ¦ (*) -->
<key name="KEY_2" code="0x0040"/> <!-- @ -->
<key name="KEY_3" code="0x0023"/> <!-- # -->
<key name="KEY_4" code="0x00b0"/> <!-- ° (*) -->
<key name="KEY_5" code="0x00a7"/> <!-- § (*) -->
<key name="KEY_6" code="0x00ac"/> <!-- ¬ -->
<key name="KEY_7" code="0x007c"/> <!-- | -->
<key name="KEY_8" code="0x00a2"/> <!-- ¢ -->
<key name="KEY_9" code="0x005d"/> <!-- ] -->
<key name="KEY_0" code="0x007d"/> <!-- } -->
<key name="KEY_MINUS" code="0x0301"/> <!-- dead_acute -->
<key name="KEY_EQUAL" code="0x0303"/> <!-- dead_tilde -->
<key name="KEY_E" code="0x20ac"/> <!-- € -->
<key name="KEY_LEFTBRACE" code="0x005b"/> <!-- [ -->
<key name="KEY_RIGHTBRACE" code="0x005d"/> <!-- ] -->
<key name="KEY_S" code="0x00df"/> <!-- ß -->
<key name="KEY_SEMICOLON" code="0x0301"/> <!-- dead_acute -->
<key name="KEY_APOSTROPHE" code="0x007b"/> <!-- { -->
<key name="KEY_BACKSLASH" code="0x007d"/> <!-- } -->
<key name="KEY_102ND" code="0x005c"/> <!-- \ -->
</map>
<!-- CAPSLOCK -->
<map mod1="false" mod2="false" mod3="false" mod4="true">
<key name="KEY_Q" code="0x0051"/> <!-- Q -->
<key name="KEY_W" code="0x0057"/> <!-- W -->
<key name="KEY_E" code="0x0045"/> <!-- E -->
<key name="KEY_R" code="0x0052"/> <!-- R -->
<key name="KEY_T" code="0x0054"/> <!-- T -->
<key name="KEY_Y" code="0x005a"/> <!-- Z -->
<key name="KEY_U" code="0x0055"/> <!-- U -->
<key name="KEY_I" code="0x0049"/> <!-- I -->
<key name="KEY_O" code="0x004f"/> <!-- O -->
<key name="KEY_P" code="0x0050"/> <!-- P -->
<key name="KEY_LEFTBRACE" code="0x00c8"/> <!-- È -->
<key name="KEY_A" code="0x0041"/> <!-- A -->
<key name="KEY_S" code="0x0053"/> <!-- S -->
<key name="KEY_D" code="0x0044"/> <!-- D -->
<key name="KEY_F" code="0x0046"/> <!-- F -->
<key name="KEY_G" code="0x0047"/> <!-- G -->
<key name="KEY_H" code="0x0048"/> <!-- H -->
<key name="KEY_J" code="0x004a"/> <!-- J -->
<key name="KEY_K" code="0x004b"/> <!-- K -->
<key name="KEY_L" code="0x004c"/> <!-- L -->
<key name="KEY_SEMICOLON" code="0x00c9"/> <!-- É -->
<key name="KEY_APOSTROPHE" code="0x00c0"/> <!-- À -->
<key name="KEY_Z" code="0x0059"/> <!-- Y -->
<key name="KEY_X" code="0x0058"/> <!-- X -->
<key name="KEY_C" code="0x0043"/> <!-- C -->
<key name="KEY_V" code="0x0056"/> <!-- V -->
<key name="KEY_B" code="0x0042"/> <!-- B -->
<key name="KEY_N" code="0x004e"/> <!-- N -->
<key name="KEY_M" code="0x004d"/> <!-- M -->
</map>
<!-- SHIFT-ALTGR -->
<!-- SHIFT-CAPSLOCK -->
<map mod1="true" mod2="false" mod3="false" mod4="true">
<key name="KEY_1" code="0x002b"/> <!-- + -->
<key name="KEY_2" code="0x0022"/> <!-- " -->
<key name="KEY_3" code="0x002a"/> <!-- * -->
<key name="KEY_4" code="0x00c7"/> <!-- Ç -->
<key name="KEY_5" code="0x0025"/> <!-- % -->
<key name="KEY_6" code="0x0026"/> <!-- & -->
<key name="KEY_7" code="0x002f"/> <!-- / -->
<key name="KEY_8" code="0x0028"/> <!-- ( -->
<key name="KEY_9" code="0x0029"/> <!-- ) -->
<key name="KEY_0" code="0x003d"/> <!-- = -->
<key name="KEY_MINUS" code="0x003f"/> <!-- ? -->
<key name="KEY_EQUAL" code="0x0300"/> <!-- dead_grave -->
<key name="KEY_Q" code="0x0071"/> <!-- q -->
<key name="KEY_W" code="0x0077"/> <!-- w -->
<key name="KEY_E" code="0x0065"/> <!-- e -->
<key name="KEY_R" code="0x0072"/> <!-- r -->
<key name="KEY_T" code="0x0074"/> <!-- t -->
<key name="KEY_Y" code="0x007a"/> <!-- z -->
<key name="KEY_U" code="0x0075"/> <!-- u -->
<key name="KEY_I" code="0x0069"/> <!-- i -->
<key name="KEY_O" code="0x006f"/> <!-- o -->
<key name="KEY_P" code="0x0070"/> <!-- p -->
<key name="KEY_LEFTBRACE" code="0x00dc"/> <!-- Ü -->
<key name="KEY_RIGHTBRACE" code="0x0021"/> <!-- ! -->
<key name="KEY_A" code="0x0061"/> <!-- a -->
<key name="KEY_S" code="0x0073"/> <!-- s -->
<key name="KEY_D" code="0x0064"/> <!-- d -->
<key name="KEY_F" code="0x0066"/> <!-- f -->
<key name="KEY_G" code="0x0067"/> <!-- g -->
<key name="KEY_H" code="0x0068"/> <!-- h -->
<key name="KEY_J" code="0x006a"/> <!-- j -->
<key name="KEY_K" code="0x006b"/> <!-- k -->
<key name="KEY_L" code="0x006c"/> <!-- l -->
<key name="KEY_SEMICOLON" code="0x00d6"/> <!-- Ö -->
<key name="KEY_APOSTROPHE" code="0x00c4"/> <!-- Ä -->
<key name="KEY_GRAVE" code="0x00b0"/> <!-- ° -->
<key name="KEY_BACKSLASH" code="0x00a3"/> <!-- £ -->
<key name="KEY_Z" code="0x0079"/> <!-- y -->
<key name="KEY_X" code="0x0078"/> <!-- x -->
<key name="KEY_C" code="0x0063"/> <!-- c -->
<key name="KEY_V" code="0x0076"/> <!-- v -->
<key name="KEY_B" code="0x0062"/> <!-- b -->
<key name="KEY_N" code="0x006e"/> <!-- n -->
<key name="KEY_M" code="0x006d"/> <!-- m -->
<key name="KEY_COMMA" code="0x003b"/> <!-- ; -->
<key name="KEY_DOT" code="0x003a"/> <!-- : -->
<key name="KEY_SLASH" code="0x005f"/> <!-- _ -->
<key name="KEY_102ND" code="0x003e"/> <!-- > -->
</map>
<!-- ALTGR-CAPSLOCK -->
<map mod1="false" mod2="false" mod3="true" mod4="true">
<key name="KEY_1" code="0x00a6"/> <!-- ¦ (*) -->
<key name="KEY_2" code="0x0040"/> <!-- @ -->
<key name="KEY_3" code="0x0023"/> <!-- # -->
<key name="KEY_4" code="0x00b0"/> <!-- ° (*) -->
<key name="KEY_5" code="0x00a7"/> <!-- § (*) -->
<key name="KEY_6" code="0x00ac"/> <!-- ¬ -->
<key name="KEY_7" code="0x007c"/> <!-- | -->
<key name="KEY_8" code="0x00a2"/> <!-- ¢ -->
<key name="KEY_9" code="0x005d"/> <!-- ] -->
<key name="KEY_0" code="0x007d"/> <!-- } -->
<key name="KEY_MINUS" code="0x0301"/> <!-- dead_acute -->
<key name="KEY_EQUAL" code="0x0303"/> <!-- dead_tilde -->
<key name="KEY_E" code="0x20ac"/> <!-- € -->
<key name="KEY_LEFTBRACE" code="0x005b"/> <!-- [ -->
<key name="KEY_RIGHTBRACE" code="0x005d"/> <!-- ] -->
<key name="KEY_S" code="0x00df"/> <!-- ß -->
<key name="KEY_SEMICOLON" code="0x0301"/> <!-- dead_acute -->
<key name="KEY_APOSTROPHE" code="0x007b"/> <!-- { -->
<key name="KEY_BACKSLASH" code="0x007d"/> <!-- } -->
<key name="KEY_102ND" code="0x005c"/> <!-- \ -->
</map>
<!-- SHIFT-ALTGR-CAPSLOCK -->
<!-- dead-key / compose sequences -->
<sequence first="0x0300" second="0x0020" code="0x0060"/> <!-- ` -->
<sequence first="0x0300" second="0x0041" code="0x00c0"/> <!-- À -->
<sequence first="0x0300" second="0x0045" code="0x00c8"/> <!-- È -->
<sequence first="0x0300" second="0x0049" code="0x00cc"/> <!-- Ì -->
<sequence first="0x0300" second="0x004f" code="0x00d2"/> <!-- Ò -->
<sequence first="0x0300" second="0x0055" code="0x00d9"/> <!-- Ù -->
<sequence first="0x0300" second="0x0061" code="0x00e0"/> <!-- à -->
<sequence first="0x0300" second="0x0065" code="0x00e8"/> <!-- è -->
<sequence first="0x0300" second="0x0069" code="0x00ec"/> <!-- ì -->
<sequence first="0x0300" second="0x006f" code="0x00f2"/> <!-- ò -->
<sequence first="0x0300" second="0x0075" code="0x00f9"/> <!-- ù -->
<sequence first="0x0300" second="0x0300" code="0x0060"/> <!-- ` -->
<sequence first="0x0301" second="0x0020" code="0x00b4"/> <!-- ´ (*) -->
<sequence first="0x0301" second="0x0041" code="0x00c1"/> <!-- Á -->
<sequence first="0x0301" second="0x0045" code="0x00c9"/> <!-- É -->
<sequence first="0x0301" second="0x0049" code="0x00cd"/> <!-- Í -->
<sequence first="0x0301" second="0x004f" code="0x00d3"/> <!-- Ó -->
<sequence first="0x0301" second="0x0055" code="0x00da"/> <!-- Ú -->
<sequence first="0x0301" second="0x0059" code="0x00dd"/> <!-- Ý -->
<sequence first="0x0301" second="0x0061" code="0x00e1"/> <!-- á -->
<sequence first="0x0301" second="0x0065" code="0x00e9"/> <!-- é -->
<sequence first="0x0301" second="0x0069" code="0x00ed"/> <!-- í -->
<sequence first="0x0301" second="0x006f" code="0x00f3"/> <!-- ó -->
<sequence first="0x0301" second="0x0075" code="0x00fa"/> <!-- ú -->
<sequence first="0x0301" second="0x0079" code="0x00fd"/> <!-- ý -->
<sequence first="0x0301" second="0x0301" code="0x00b4"/> <!-- ´ -->
<sequence first="0x0302" second="0x0020" code="0x005e"/> <!-- ^ -->
<sequence first="0x0302" second="0x0041" code="0x00c2"/> <!-- Â -->
<sequence first="0x0302" second="0x0045" code="0x00ca"/> <!-- Ê -->
<sequence first="0x0302" second="0x0049" code="0x00ce"/> <!-- Î -->
<sequence first="0x0302" second="0x004f" code="0x00d4"/> <!-- Ô -->
<sequence first="0x0302" second="0x0055" code="0x00db"/> <!-- Û -->
<sequence first="0x0302" second="0x0061" code="0x00e2"/> <!-- â -->
<sequence first="0x0302" second="0x0065" code="0x00ea"/> <!-- ê -->
<sequence first="0x0302" second="0x0069" code="0x00ee"/> <!-- î -->
<sequence first="0x0302" second="0x006f" code="0x00f4"/> <!-- ô -->
<sequence first="0x0302" second="0x0075" code="0x00fb"/> <!-- û -->
<sequence first="0x0302" second="0x0302" code="0x005e"/> <!-- ^ -->
<sequence first="0x0303" second="0x0020" code="0x007e"/> <!-- ~ -->
<sequence first="0x0303" second="0x0041" code="0x00c3"/> <!-- Ã -->
<sequence first="0x0303" second="0x004e" code="0x00d1"/> <!-- Ñ -->
<sequence first="0x0303" second="0x004f" code="0x00d5"/> <!-- Õ -->
<sequence first="0x0303" second="0x0061" code="0x00e3"/> <!-- ã -->
<sequence first="0x0303" second="0x006e" code="0x00f1"/> <!-- ñ -->
<sequence first="0x0303" second="0x006f" code="0x00f5"/> <!-- õ -->
<sequence first="0x0303" second="0x0303" code="0x007e"/> <!-- ~ -->
<sequence first="0x0308" second="0x0020" code="0x00a8"/> <!-- ¨ (*) -->
<sequence first="0x0308" second="0x0041" code="0x00c4"/> <!-- Ä -->
<sequence first="0x0308" second="0x0045" code="0x00cb"/> <!-- Ë -->
<sequence first="0x0308" second="0x0049" code="0x00cf"/> <!-- Ï -->
<sequence first="0x0308" second="0x004f" code="0x00d6"/> <!-- Ö -->
<sequence first="0x0308" second="0x0055" code="0x00dc"/> <!-- Ü -->
<sequence first="0x0308" second="0x0059" code="0x0178"/> <!-- Ÿ -->
<sequence first="0x0308" second="0x0061" code="0x00e4"/> <!-- ä -->
<sequence first="0x0308" second="0x0065" code="0x00eb"/> <!-- ë -->
<sequence first="0x0308" second="0x0069" code="0x00ef"/> <!-- ï -->
<sequence first="0x0308" second="0x006f" code="0x00f6"/> <!-- ö -->
<sequence first="0x0308" second="0x0075" code="0x00fc"/> <!-- ü -->
<sequence first="0x0308" second="0x0079" code="0x00ff"/> <!-- ÿ -->
<sequence first="0x0308" second="0x0308" code="0x00a8"/> <!-- ¨ -->
</chargen>

View File

@ -0,0 +1,419 @@
<!-- fr//fr_FR.UTF-8 chargen configuration generated by xkb2ifcfg -->
<!-- manually amended (*) and stripped down -->
<chargen>
<map>
<!-- printable -->
<key name="KEY_1" code="0x0026"/> <!-- & -->
<key name="KEY_2" code="0x00e9"/> <!-- é -->
<key name="KEY_3" code="0x0022"/> <!-- " -->
<key name="KEY_4" code="0x0027"/> <!-- ' -->
<key name="KEY_5" code="0x0028"/> <!-- ( -->
<key name="KEY_6" code="0x002d"/> <!-- - -->
<key name="KEY_7" code="0x00e8"/> <!-- è -->
<key name="KEY_8" code="0x005f"/> <!-- _ -->
<key name="KEY_9" code="0x00e7"/> <!-- ç -->
<key name="KEY_0" code="0x00e0"/> <!-- à -->
<key name="KEY_MINUS" code="0x0029"/> <!-- ) -->
<key name="KEY_EQUAL" code="0x003d"/> <!-- = -->
<key name="KEY_Q" code="0x0061"/> <!-- a -->
<key name="KEY_W" code="0x007a"/> <!-- z -->
<key name="KEY_E" code="0x0065"/> <!-- e -->
<key name="KEY_R" code="0x0072"/> <!-- r -->
<key name="KEY_T" code="0x0074"/> <!-- t -->
<key name="KEY_Y" code="0x0079"/> <!-- y -->
<key name="KEY_U" code="0x0075"/> <!-- u -->
<key name="KEY_I" code="0x0069"/> <!-- i -->
<key name="KEY_O" code="0x006f"/> <!-- o -->
<key name="KEY_P" code="0x0070"/> <!-- p -->
<key name="KEY_LEFTBRACE" code="0x0302"/> <!-- dead_circumflex -->
<key name="KEY_RIGHTBRACE" code="0x0024"/> <!-- $ -->
<key name="KEY_A" code="0x0071"/> <!-- q -->
<key name="KEY_S" code="0x0073"/> <!-- s -->
<key name="KEY_D" code="0x0064"/> <!-- d -->
<key name="KEY_F" code="0x0066"/> <!-- f -->
<key name="KEY_G" code="0x0067"/> <!-- g -->
<key name="KEY_H" code="0x0068"/> <!-- h -->
<key name="KEY_J" code="0x006a"/> <!-- j -->
<key name="KEY_K" code="0x006b"/> <!-- k -->
<key name="KEY_L" code="0x006c"/> <!-- l -->
<key name="KEY_SEMICOLON" code="0x006d"/> <!-- m -->
<key name="KEY_APOSTROPHE" code="0x00f9"/> <!-- ù -->
<key name="KEY_GRAVE" code="0x00b2"/> <!-- ² -->
<key name="KEY_BACKSLASH" code="0x002a"/> <!-- * -->
<key name="KEY_Z" code="0x0077"/> <!-- w -->
<key name="KEY_X" code="0x0078"/> <!-- x -->
<key name="KEY_C" code="0x0063"/> <!-- c -->
<key name="KEY_V" code="0x0076"/> <!-- v -->
<key name="KEY_B" code="0x0062"/> <!-- b -->
<key name="KEY_N" code="0x006e"/> <!-- n -->
<key name="KEY_M" code="0x002c"/> <!-- , -->
<key name="KEY_COMMA" code="0x003b"/> <!-- ; -->
<key name="KEY_DOT" code="0x003a"/> <!-- : -->
<key name="KEY_SLASH" code="0x0021"/> <!-- ! -->
<key name="KEY_KPASTERISK" code="0x002a"/> <!-- * -->
<key name="KEY_SPACE" code="0x0020"/> <!-- -->
<key name="KEY_KP7" code="0x0037"/> <!-- 7 -->
<key name="KEY_KP8" code="0x0038"/> <!-- 8 -->
<key name="KEY_KP9" code="0x0039"/> <!-- 9 -->
<key name="KEY_KPMINUS" code="0x002d"/> <!-- - -->
<key name="KEY_KP4" code="0x0034"/> <!-- 4 -->
<key name="KEY_KP5" code="0x0035"/> <!-- 5 -->
<key name="KEY_KP6" code="0x0036"/> <!-- 6 -->
<key name="KEY_KPPLUS" code="0x002b"/> <!-- + -->
<key name="KEY_KP1" code="0x0031"/> <!-- 1 -->
<key name="KEY_KP2" code="0x0032"/> <!-- 2 -->
<key name="KEY_KP3" code="0x0033"/> <!-- 3 -->
<key name="KEY_KP0" code="0x0030"/> <!-- 0 -->
<key name="KEY_KPDOT" code="0x002e"/> <!-- . -->
<key name="KEY_102ND" code="0x003c"/> <!-- < -->
<key name="KEY_KPSLASH" code="0x002f"/> <!-- / -->
<!-- non-printable -->
<key name="KEY_ESC" ascii="27"/>
<key name="KEY_BACKSPACE" ascii="8"/>
<key name="KEY_TAB" ascii="9"/>
<key name="KEY_ENTER" ascii="10"/>
<key name="KEY_KPENTER" ascii="10"/>
<key name="KEY_DELETE" ascii="127"/>
</map>
<!-- SHIFT -->
<map mod1="true" mod2="false" mod3="false" mod4="false">
<key name="KEY_1" code="0x0031"/> <!-- 1 -->
<key name="KEY_2" code="0x0032"/> <!-- 2 -->
<key name="KEY_3" code="0x0033"/> <!-- 3 -->
<key name="KEY_4" code="0x0034"/> <!-- 4 -->
<key name="KEY_5" code="0x0035"/> <!-- 5 -->
<key name="KEY_6" code="0x0036"/> <!-- 6 -->
<key name="KEY_7" code="0x0037"/> <!-- 7 -->
<key name="KEY_8" code="0x0038"/> <!-- 8 -->
<key name="KEY_9" code="0x0039"/> <!-- 9 -->
<key name="KEY_0" code="0x0030"/> <!-- 0 -->
<key name="KEY_MINUS" code="0x00b0"/> <!-- ° -->
<key name="KEY_EQUAL" code="0x002b"/> <!-- + -->
<key name="KEY_Q" code="0x0041"/> <!-- A -->
<key name="KEY_W" code="0x005a"/> <!-- Z -->
<key name="KEY_E" code="0x0045"/> <!-- E -->
<key name="KEY_R" code="0x0052"/> <!-- R -->
<key name="KEY_T" code="0x0054"/> <!-- T -->
<key name="KEY_Y" code="0x0059"/> <!-- Y -->
<key name="KEY_U" code="0x0055"/> <!-- U -->
<key name="KEY_I" code="0x0049"/> <!-- I -->
<key name="KEY_O" code="0x004f"/> <!-- O -->
<key name="KEY_P" code="0x0050"/> <!-- P -->
<key name="KEY_LEFTBRACE" code="0x0308"/> <!-- dead_diaeresis -->
<key name="KEY_RIGHTBRACE" code="0x00a3"/> <!-- £ -->
<key name="KEY_A" code="0x0051"/> <!-- Q -->
<key name="KEY_S" code="0x0053"/> <!-- S -->
<key name="KEY_D" code="0x0044"/> <!-- D -->
<key name="KEY_F" code="0x0046"/> <!-- F -->
<key name="KEY_G" code="0x0047"/> <!-- G -->
<key name="KEY_H" code="0x0048"/> <!-- H -->
<key name="KEY_J" code="0x004a"/> <!-- J -->
<key name="KEY_K" code="0x004b"/> <!-- K -->
<key name="KEY_L" code="0x004c"/> <!-- L -->
<key name="KEY_SEMICOLON" code="0x004d"/> <!-- M -->
<key name="KEY_APOSTROPHE" code="0x0025"/> <!-- % -->
<key name="KEY_GRAVE" code="0x007e"/> <!-- ~ -->
<key name="KEY_BACKSLASH" code="0x00b5"/> <!-- µ -->
<key name="KEY_Z" code="0x0057"/> <!-- W -->
<key name="KEY_X" code="0x0058"/> <!-- X -->
<key name="KEY_C" code="0x0043"/> <!-- C -->
<key name="KEY_V" code="0x0056"/> <!-- V -->
<key name="KEY_B" code="0x0042"/> <!-- B -->
<key name="KEY_N" code="0x004e"/> <!-- N -->
<key name="KEY_M" code="0x003f"/> <!-- ? -->
<key name="KEY_COMMA" code="0x002e"/> <!-- . -->
<key name="KEY_DOT" code="0x002f"/> <!-- / -->
<key name="KEY_SLASH" code="0x00a7"/> <!-- § -->
<key name="KEY_102ND" code="0x003e"/> <!-- > -->
</map>
<!-- CONTROL -->
<map mod2="true">
<key name="KEY_8" code="0x001f"/> <!-- US (unit separator) CTRL-underscore -->
<key name="KEY_Q" code="0x0001"/> <!-- SOH (start of heading) CTRL-a -->
<key name="KEY_W" code="0x001a"/> <!-- SUB (substitute) CTRL-z -->
<key name="KEY_E" code="0x0005"/> <!-- ENQ (enquiry) CTRL-e -->
<key name="KEY_R" code="0x0012"/> <!-- DC2 (device control 2) CTRL-r -->
<key name="KEY_T" code="0x0014"/> <!-- DC4 (device control 4) CTRL-t -->
<key name="KEY_Y" code="0x0019"/> <!-- EM (end of medium) CTRL-y -->
<key name="KEY_U" code="0x0015"/> <!-- NAK (negative ack.) CTRL-u -->
<key name="KEY_I" code="0x0009"/> <!-- HT '\t' (horizontal tab) CTRL-i -->
<key name="KEY_O" code="0x000f"/> <!-- SI (shift in) CTRL-o -->
<key name="KEY_P" code="0x0010"/> <!-- DLE (data link escape) CTRL-p -->
<key name="KEY_A" code="0x0011"/> <!-- DC1 (device control 1) CTRL-q -->
<key name="KEY_S" code="0x0013"/> <!-- DC3 (device control 3) CTRL-s -->
<key name="KEY_D" code="0x0004"/> <!-- EOT (end of transmission) CTRL-d -->
<key name="KEY_F" code="0x0006"/> <!-- ACK (acknowledge) CTRL-f -->
<key name="KEY_G" code="0x0007"/> <!-- BEL '\a' (bell) CTRL-g -->
<key name="KEY_H" code="0x0008"/> <!-- BS '\b' (backspace) CTRL-h -->
<key name="KEY_J" code="0x000a"/> <!-- LF '\n' (new line) CTRL-j -->
<key name="KEY_K" code="0x000b"/> <!-- VT '\v' (vertical tab) CTRL-k -->
<key name="KEY_L" code="0x000c"/> <!-- FF '\f' (form feed) CTRL-l -->
<key name="KEY_SEMICOLON" code="0x000d"/> <!-- CR '\r' (carriage ret) CTRL-m -->
<key name="KEY_Z" code="0x0017"/> <!-- ETB (end of trans. blk) CTRL-w -->
<key name="KEY_X" code="0x0018"/> <!-- CAN (cancel) CTRL-x -->
<key name="KEY_C" code="0x0003"/> <!-- ETX (end of text) CTRL-c -->
<key name="KEY_V" code="0x0016"/> <!-- SYN (synchronous idle) CTRL-v -->
<key name="KEY_B" code="0x0002"/> <!-- STX (start of text) CTRL-b -->
<key name="KEY_N" code="0x000e"/> <!-- SO (shift out) CTRL-n -->
<key name="KEY_KP7" code="0x001f"/> <!-- US (unit separator) CTRL-KP_7 -->
<key name="KEY_KP4" code="0x001c"/> <!-- FS (file separator) CTRL-KP_4 -->
<key name="KEY_KP5" code="0x001d"/> <!-- GS (group separator) CTRL-KP_5 -->
<key name="KEY_KP6" code="0x001e"/> <!-- RS (record separator) CTRL-KP_6 -->
<key name="KEY_KP3" code="0x001b"/> <!-- ESC (escape) CTRL-KP_3 -->
</map>
<!-- ALTGR -->
<map mod1="false" mod2="false" mod3="true" mod4="false">
<key name="KEY_1" code="0x00b9"/> <!-- ¹ -->
<key name="KEY_2" code="0x007e"/> <!-- ~ -->
<key name="KEY_3" code="0x0023"/> <!-- # -->
<key name="KEY_4" code="0x007b"/> <!-- { -->
<key name="KEY_5" code="0x005b"/> <!-- [ -->
<key name="KEY_6" code="0x007c"/> <!-- | -->
<key name="KEY_7" code="0x0060"/> <!-- ` -->
<key name="KEY_8" code="0x005c"/> <!-- \ -->
<key name="KEY_9" code="0x005e"/> <!-- ^ -->
<key name="KEY_0" code="0x0040"/> <!-- @ -->
<key name="KEY_MINUS" code="0x005d"/> <!-- ] -->
<key name="KEY_EQUAL" code="0x007d"/> <!-- } -->
<key name="KEY_Q" code="0x00e6"/> <!-- æ -->
<key name="KEY_W" code="0x00ab"/> <!-- « -->
<key name="KEY_E" code="0x20ac"/> <!-- € -->
<key name="KEY_R" code="0x00b6"/> <!-- ¶ -->
<key name="KEY_T" code="0x0167"/> <!-- ŧ -->
<key name="KEY_Y" code="0x2190"/> <!-- ← -->
<key name="KEY_U" code="0x2193"/> <!-- ↓ -->
<key name="KEY_I" code="0x2192"/> <!-- → -->
<key name="KEY_O" code="0x00f8"/> <!-- ø -->
<key name="KEY_P" code="0x00fe"/> <!-- þ -->
<key name="KEY_RIGHTBRACE" code="0x00a4"/> <!-- ¤ -->
<key name="KEY_A" code="0x0040"/> <!-- @ -->
<key name="KEY_S" code="0x00df"/> <!-- ß -->
<key name="KEY_D" code="0x00f0"/> <!-- ð -->
<key name="KEY_F" code="0x0111"/> <!-- đ -->
<key name="KEY_G" code="0x014b"/> <!-- ŋ -->
<key name="KEY_H" code="0x0127"/> <!-- ħ -->
<key name="KEY_K" code="0x0138"/> <!-- ĸ -->
<key name="KEY_L" code="0x0142"/> <!-- ł -->
<key name="KEY_SEMICOLON" code="0x00b5"/> <!-- µ -->
<key name="KEY_GRAVE" code="0x00ac"/> <!-- ¬ -->
<key name="KEY_Z" code="0x0142"/> <!-- ł -->
<key name="KEY_X" code="0x00bb"/> <!-- » -->
<key name="KEY_C" code="0x00a2"/> <!-- ¢ -->
<key name="KEY_V" code="0x201c"/> <!-- “ -->
<key name="KEY_B" code="0x201d"/> <!-- ” -->
<key name="KEY_N" code="0x006e"/> <!-- n -->
<key name="KEY_COMMA" code="0x2500"/> <!-- ─ -->
<key name="KEY_DOT" code="0x00b7"/> <!-- · -->
<key name="KEY_102ND" code="0x007c"/> <!-- | -->
</map>
<!-- CAPSLOCK -->
<map mod1="false" mod2="false" mod3="false" mod4="true">
<key name="KEY_2" code="0x00c9"/> <!-- É -->
<key name="KEY_7" code="0x00c8"/> <!-- È -->
<key name="KEY_9" code="0x00c7"/> <!-- Ç -->
<key name="KEY_0" code="0x00c0"/> <!-- À -->
<key name="KEY_Q" code="0x0041"/> <!-- A -->
<key name="KEY_W" code="0x005a"/> <!-- Z -->
<key name="KEY_E" code="0x0045"/> <!-- E -->
<key name="KEY_R" code="0x0052"/> <!-- R -->
<key name="KEY_T" code="0x0054"/> <!-- T -->
<key name="KEY_Y" code="0x0059"/> <!-- Y -->
<key name="KEY_U" code="0x0055"/> <!-- U -->
<key name="KEY_I" code="0x0049"/> <!-- I -->
<key name="KEY_O" code="0x004f"/> <!-- O -->
<key name="KEY_P" code="0x0050"/> <!-- P -->
<key name="KEY_A" code="0x0051"/> <!-- Q -->
<key name="KEY_S" code="0x0053"/> <!-- S -->
<key name="KEY_D" code="0x0044"/> <!-- D -->
<key name="KEY_F" code="0x0046"/> <!-- F -->
<key name="KEY_G" code="0x0047"/> <!-- G -->
<key name="KEY_H" code="0x0048"/> <!-- H -->
<key name="KEY_J" code="0x004a"/> <!-- J -->
<key name="KEY_K" code="0x004b"/> <!-- K -->
<key name="KEY_L" code="0x004c"/> <!-- L -->
<key name="KEY_SEMICOLON" code="0x004d"/> <!-- M -->
<key name="KEY_APOSTROPHE" code="0x00d9"/> <!-- Ù -->
<key name="KEY_Z" code="0x0057"/> <!-- W -->
<key name="KEY_X" code="0x0058"/> <!-- X -->
<key name="KEY_C" code="0x0043"/> <!-- C -->
<key name="KEY_V" code="0x0056"/> <!-- V -->
<key name="KEY_B" code="0x0042"/> <!-- B -->
<key name="KEY_N" code="0x004e"/> <!-- N -->
</map>
<!-- SHIFT-ALTGR -->
<map mod1="true" mod2="false" mod3="true" mod4="false">
<key name="KEY_1" code="0x00a1"/> <!-- ¡ -->
<key name="KEY_2" code="0x215b"/> <!-- ⅛ -->
<key name="KEY_3" code="0x00a3"/> <!-- £ -->
<key name="KEY_4" code="0x0024"/> <!-- $ -->
<key name="KEY_5" code="0x215c"/> <!-- ⅜ -->
<key name="KEY_6" code="0x215d"/> <!-- ⅝ -->
<key name="KEY_7" code="0x215e"/> <!-- ⅞ -->
<key name="KEY_8" code="0x2122"/> <!-- ™ -->
<key name="KEY_9" code="0x00b1"/> <!-- ± -->
<key name="KEY_0" code="0x00b0"/> <!-- ° -->
<key name="KEY_MINUS" code="0x00bf"/> <!-- ¿ -->
<key name="KEY_Q" code="0x00c6"/> <!-- Æ -->
<key name="KEY_W" code="0x003c"/> <!-- < -->
<key name="KEY_E" code="0x00a2"/> <!-- ¢ -->
<key name="KEY_R" code="0x00ae"/> <!-- ® -->
<key name="KEY_T" code="0x0166"/> <!-- Ŧ -->
<key name="KEY_Y" code="0x00a5"/> <!-- ¥ -->
<key name="KEY_U" code="0x2191"/> <!-- ↑ -->
<key name="KEY_I" code="0x0131"/> <!-- ı -->
<key name="KEY_O" code="0x00d8"/> <!-- Ø -->
<key name="KEY_P" code="0x00de"/> <!-- Þ -->
<key name="KEY_A" code="0x03a9"/> <!-- Ω -->
<key name="KEY_S" code="0x00a7"/> <!-- § -->
<key name="KEY_D" code="0x00d0"/> <!-- Ð -->
<key name="KEY_F" code="0x00aa"/> <!-- ª -->
<key name="KEY_G" code="0x014a"/> <!-- Ŋ -->
<key name="KEY_H" code="0x0126"/> <!-- Ħ -->
<key name="KEY_K" code="0x0026"/> <!-- & -->
<key name="KEY_L" code="0x0141"/> <!-- Ł -->
<key name="KEY_SEMICOLON" code="0x00ba"/> <!-- º -->
<key name="KEY_GRAVE" code="0x00ac"/> <!-- ¬ -->
<key name="KEY_Z" code="0x0141"/> <!-- Ł -->
<key name="KEY_X" code="0x003e"/> <!-- > -->
<key name="KEY_C" code="0x00a9"/> <!-- © -->
<key name="KEY_V" code="0x2018"/> <!-- -->
<key name="KEY_B" code="0x2019"/> <!-- -->
<key name="KEY_N" code="0x004e"/> <!-- N -->
<key name="KEY_COMMA" code="0x00d7"/> <!-- × -->
<key name="KEY_DOT" code="0x00f7"/> <!-- ÷ -->
<key name="KEY_102ND" code="0x00a6"/> <!-- ¦ -->
</map>
<!-- SHIFT-CAPSLOCK -->
<map mod1="true" mod2="false" mod3="false" mod4="true">
<key name="KEY_1" code="0x0031"/> <!-- 1 -->
<key name="KEY_2" code="0x0032"/> <!-- 2 -->
<key name="KEY_3" code="0x0033"/> <!-- 3 -->
<key name="KEY_4" code="0x0034"/> <!-- 4 -->
<key name="KEY_5" code="0x0035"/> <!-- 5 -->
<key name="KEY_6" code="0x0036"/> <!-- 6 -->
<key name="KEY_7" code="0x0037"/> <!-- 7 -->
<key name="KEY_8" code="0x0038"/> <!-- 8 -->
<key name="KEY_9" code="0x0039"/> <!-- 9 -->
<key name="KEY_0" code="0x0030"/> <!-- 0 -->
<key name="KEY_MINUS" code="0x00b0"/> <!-- ° -->
<key name="KEY_EQUAL" code="0x002b"/> <!-- + -->
<key name="KEY_Q" code="0x0061"/> <!-- a -->
<key name="KEY_W" code="0x007a"/> <!-- z -->
<key name="KEY_E" code="0x0065"/> <!-- e -->
<key name="KEY_R" code="0x0072"/> <!-- r -->
<key name="KEY_T" code="0x0074"/> <!-- t -->
<key name="KEY_Y" code="0x0079"/> <!-- y -->
<key name="KEY_U" code="0x0075"/> <!-- u -->
<key name="KEY_I" code="0x0069"/> <!-- i -->
<key name="KEY_O" code="0x006f"/> <!-- o -->
<key name="KEY_P" code="0x0070"/> <!-- p -->
<key name="KEY_RIGHTBRACE" code="0x00a3"/> <!-- £ -->
<key name="KEY_A" code="0x0071"/> <!-- q -->
<key name="KEY_S" code="0x0073"/> <!-- s -->
<key name="KEY_D" code="0x0064"/> <!-- d -->
<key name="KEY_F" code="0x0066"/> <!-- f -->
<key name="KEY_G" code="0x0067"/> <!-- g -->
<key name="KEY_H" code="0x0068"/> <!-- h -->
<key name="KEY_J" code="0x006a"/> <!-- j -->
<key name="KEY_K" code="0x006b"/> <!-- k -->
<key name="KEY_L" code="0x006c"/> <!-- l -->
<key name="KEY_SEMICOLON" code="0x006d"/> <!-- m -->
<key name="KEY_APOSTROPHE" code="0x0025"/> <!-- % -->
<key name="KEY_GRAVE" code="0x007e"/> <!-- ~ -->
<key name="KEY_Z" code="0x0077"/> <!-- w -->
<key name="KEY_X" code="0x0078"/> <!-- x -->
<key name="KEY_C" code="0x0063"/> <!-- c -->
<key name="KEY_V" code="0x0076"/> <!-- v -->
<key name="KEY_B" code="0x0062"/> <!-- b -->
<key name="KEY_N" code="0x006e"/> <!-- n -->
<key name="KEY_M" code="0x003f"/> <!-- ? -->
<key name="KEY_COMMA" code="0x002e"/> <!-- . -->
<key name="KEY_DOT" code="0x002f"/> <!-- / -->
<key name="KEY_SLASH" code="0x00a7"/> <!-- § -->
<key name="KEY_102ND" code="0x003e"/> <!-- > -->
</map>
<!-- ALTGR-CAPSLOCK -->
<map mod1="false" mod2="false" mod3="true" mod4="true">
<key name="KEY_1" code="0x00b9"/> <!-- ¹ -->
<key name="KEY_2" code="0x007e"/> <!-- ~ -->
<key name="KEY_3" code="0x0023"/> <!-- # -->
<key name="KEY_4" code="0x007b"/> <!-- { -->
<key name="KEY_5" code="0x005b"/> <!-- [ -->
<key name="KEY_6" code="0x007c"/> <!-- | -->
<key name="KEY_7" code="0x0060"/> <!-- ` -->
<key name="KEY_8" code="0x005c"/> <!-- \ -->
<key name="KEY_9" code="0x005e"/> <!-- ^ -->
<key name="KEY_0" code="0x0040"/> <!-- @ -->
<key name="KEY_MINUS" code="0x005d"/> <!-- ] -->
<key name="KEY_EQUAL" code="0x007d"/> <!-- } -->
<key name="KEY_Q" code="0x00e6"/> <!-- æ -->
<key name="KEY_W" code="0x00ab"/> <!-- « -->
<key name="KEY_E" code="0x20ac"/> <!-- € -->
<key name="KEY_R" code="0x00b6"/> <!-- ¶ -->
<key name="KEY_T" code="0x0167"/> <!-- ŧ -->
<key name="KEY_Y" code="0x2190"/> <!-- ← -->
<key name="KEY_U" code="0x2193"/> <!-- ↓ -->
<key name="KEY_I" code="0x2192"/> <!-- → -->
<key name="KEY_O" code="0x00f8"/> <!-- ø -->
<key name="KEY_P" code="0x00fe"/> <!-- þ -->
<key name="KEY_RIGHTBRACE" code="0x00a4"/> <!-- ¤ -->
<key name="KEY_A" code="0x0040"/> <!-- @ -->
<key name="KEY_S" code="0x00df"/> <!-- ß -->
<key name="KEY_D" code="0x00f0"/> <!-- ð -->
<key name="KEY_F" code="0x0111"/> <!-- đ -->
<key name="KEY_G" code="0x014b"/> <!-- ŋ -->
<key name="KEY_H" code="0x0127"/> <!-- ħ -->
<key name="KEY_K" code="0x0138"/> <!-- ĸ -->
<key name="KEY_L" code="0x0142"/> <!-- ł -->
<key name="KEY_SEMICOLON" code="0x00b5"/> <!-- µ -->
<key name="KEY_GRAVE" code="0x00ac"/> <!-- ¬ -->
<key name="KEY_Z" code="0x0142"/> <!-- ł -->
<key name="KEY_X" code="0x00bb"/> <!-- » -->
<key name="KEY_C" code="0x00a2"/> <!-- ¢ -->
<key name="KEY_V" code="0x201c"/> <!-- “ -->
<key name="KEY_B" code="0x201d"/> <!-- ” -->
<key name="KEY_N" code="0x006e"/> <!-- n -->
<key name="KEY_COMMA" code="0x2500"/> <!-- ─ -->
<key name="KEY_DOT" code="0x00b7"/> <!-- · -->
<key name="KEY_102ND" code="0x007c"/> <!-- | -->
</map>
<!-- SHIFT-ALTGR-CAPSLOCK -->
<!-- dead-key / compose sequences -->
<sequence first="0x0302" second="0x0020" code="0x005e"/> <!-- ^ -->
<sequence first="0x0302" second="0x0041" code="0x00c2"/> <!-- Â -->
<sequence first="0x0302" second="0x0045" code="0x00ca"/> <!-- Ê -->
<sequence first="0x0302" second="0x0049" code="0x00ce"/> <!-- Î -->
<sequence first="0x0302" second="0x004f" code="0x00d4"/> <!-- Ô -->
<sequence first="0x0302" second="0x0055" code="0x00db"/> <!-- Û -->
<sequence first="0x0302" second="0x0061" code="0x00e2"/> <!-- â -->
<sequence first="0x0302" second="0x0065" code="0x00ea"/> <!-- ê -->
<sequence first="0x0302" second="0x0069" code="0x00ee"/> <!-- î -->
<sequence first="0x0302" second="0x006f" code="0x00f4"/> <!-- ô -->
<sequence first="0x0302" second="0x0075" code="0x00fb"/> <!-- û -->
<sequence first="0x0302" second="0x0302" code="0x005e"/> <!-- ^ -->
<sequence first="0x0308" second="0x0020" code="0x00a8"/> <!-- ¨ (*) -->
<sequence first="0x0308" second="0x0041" code="0x00c4"/> <!-- Ä -->
<sequence first="0x0308" second="0x0045" code="0x00cb"/> <!-- Ë -->
<sequence first="0x0308" second="0x0049" code="0x00cf"/> <!-- Ï -->
<sequence first="0x0308" second="0x004f" code="0x00d6"/> <!-- Ö -->
<sequence first="0x0308" second="0x0055" code="0x00dc"/> <!-- Ü -->
<sequence first="0x0308" second="0x0059" code="0x0178"/> <!-- Ÿ -->
<sequence first="0x0308" second="0x0061" code="0x00e4"/> <!-- ä -->
<sequence first="0x0308" second="0x0065" code="0x00eb"/> <!-- ë -->
<sequence first="0x0308" second="0x0069" code="0x00ef"/> <!-- ï -->
<sequence first="0x0308" second="0x006f" code="0x00f6"/> <!-- ö -->
<sequence first="0x0308" second="0x0075" code="0x00fc"/> <!-- ü -->
<sequence first="0x0308" second="0x0079" code="0x00ff"/> <!-- ÿ -->
<sequence first="0x0308" second="0x0308" code="0x00a8"/> <!-- ¨ -->
</chargen>