summaryrefslogtreecommitdiffstats
path: root/instfiles
diff options
context:
space:
mode:
Diffstat (limited to 'instfiles')
-rw-r--r--instfiles/Makefile.am95
-rw-r--r--instfiles/default/Makefile.am5
-rw-r--r--instfiles/init.d/Makefile.am6
-rw-r--r--instfiles/init.d/xrdp17
-rw-r--r--instfiles/keymap-names.txt124
-rw-r--r--instfiles/km-00000407.ini (renamed from instfiles/km-0407.ini)0
-rw-r--r--instfiles/km-00000409.ini (renamed from instfiles/km-0409.ini)0
-rw-r--r--instfiles/km-0000040a.ini659
-rw-r--r--instfiles/km-0000040b.ini (renamed from instfiles/km-041d.ini)0
-rw-r--r--instfiles/km-0000040c.ini (renamed from instfiles/km-040c.ini)0
-rw-r--r--instfiles/km-00000410.ini (renamed from instfiles/km-0410.ini)0
-rw-r--r--instfiles/km-00000411.ini (renamed from instfiles/km-e0200411.ini)32
-rw-r--r--instfiles/km-00000412.ini (renamed from instfiles/km-e0210411.ini)2112
-rw-r--r--instfiles/km-00000414.ini (renamed from instfiles/km-0414.ini)0
-rw-r--r--instfiles/km-00000415.ini (renamed from instfiles/km-0415.ini)0
-rw-r--r--instfiles/km-00000416.ini (renamed from instfiles/km-0416.ini)0
-rw-r--r--instfiles/km-00000419.ini (renamed from instfiles/km-0419.ini)0
-rw-r--r--instfiles/km-0000041d.ini791
-rw-r--r--instfiles/km-00000807.ini (renamed from instfiles/km-0807.ini)0
-rw-r--r--instfiles/km-00000809.ini (renamed from instfiles/km-e0010411.ini)492
-rw-r--r--instfiles/km-0000080c.ini (renamed from instfiles/km-080c.ini)0
-rw-r--r--instfiles/km-00000813.ini (renamed from instfiles/km-0813.ini)0
-rw-r--r--instfiles/km-00000816.ini (renamed from instfiles/km-0816.ini)0
-rw-r--r--instfiles/km-0000100c.ini659
-rw-r--r--instfiles/km-0411.ini1055
-rw-r--r--instfiles/pam.d/Makefile.am21
-rw-r--r--instfiles/pam.d/xrdp-sesman.common (renamed from instfiles/pam.d/xrdp-sesman)1
-rw-r--r--instfiles/pam.d/xrdp-sesman.password-auth4
-rw-r--r--instfiles/pulse/Makefile.am5
-rw-r--r--instfiles/rc.d/Makefile.am2
-rw-r--r--instfiles/rc.d/xrdp80
-rw-r--r--instfiles/xrdp-sesman.service4
-rw-r--r--instfiles/xrdp.service3
33 files changed, 3736 insertions, 2431 deletions
diff --git a/instfiles/Makefile.am b/instfiles/Makefile.am
index 85b5ffaa..92cc9cf2 100644
--- a/instfiles/Makefile.am
+++ b/instfiles/Makefile.am
@@ -1,38 +1,75 @@
-EXTRA_DIST = xrdp.sh km-0407.ini km-0409.ini km-040c.ini km-0410.ini km-0419.ini km-041d.ini km-0816.ini \
-xrdp-sesman.service \
-xrdp.service
+EXTRA_DIST = \
+ keymap-names.txt \
+ xrdp.sh \
+ xrdp-sesman.service \
+ xrdp.service
-SUBDIRS = \
+#
+# files for all platforms
+#
+startscriptdir=$(sysconfdir)/xrdp
+
+dist_startscript_DATA = \
+ km-00000407.ini \
+ km-00000409.ini \
+ km-0000040a.ini \
+ km-0000040b.ini \
+ km-0000040c.ini \
+ km-00000410.ini \
+ km-00000411.ini \
+ km-00000412.ini \
+ km-00000414.ini \
+ km-00000415.ini \
+ km-00000416.ini \
+ km-00000419.ini \
+ km-0000041d.ini \
+ km-00000807.ini \
+ km-00000809.ini \
+ km-0000080c.ini \
+ km-00000813.ini \
+ km-00000816.ini \
+ km-0000100c.ini
+
+#
+# platform specific files
+#
+SUBDIRS =
+if LINUX
+SUBDIRS += \
pam.d \
- init.d \
- default \
pulse
-
+dist_startscript_SCRIPTS = xrdp.sh
if HAVE_SYSTEMD
-systemdsystemunit_DATA = \
- xrdp-sesman.service \
- xrdp.service
-endif
+dist_systemdsystemunit_DATA = \
+ xrdp-sesman.service \
+ xrdp.service
+else
+SUBDIRS += \
+ default \
+ init.d
+endif # HAVE_SYSTEMD
+endif # LINUX
-startscriptdir=$(sysconfdir)/xrdp
+if FREEBSD
+SUBDIRS += \
+ pam.d \
+ rc.d \
+ pulse
+endif
-startscript_DATA = \
- xrdp.sh \
- km-0407.ini \
- km-0409.ini \
- km-040c.ini \
- km-0410.ini \
- km-0411.ini \
- km-0415.ini \
- km-0419.ini \
- km-041d.ini \
- km-0816.ini \
- km-e0010411.ini \
- km-e0200411.ini \
- km-e0210411.ini
+#
+# install-data-hook for each platform
+#
+if LINUX
+# must be tab below
+install-data-hook:
+ if [ -f $(DESTDIR)$(sysconfdir)/init.d/xrdp ]; then \
+ sed -i 's|__BASE__|$(prefix)|' $(DESTDIR)$(sysconfdir)/init.d/xrdp; \
+ fi
+endif
+if FREEBSD
# must be tab below
install-data-hook:
- chmod 755 $(DESTDIR)$(sysconfdir)/xrdp/xrdp.sh
- chmod 755 $(DESTDIR)$(sysconfdir)/init.d/xrdp
- sed -i 's|__BASE__|$(prefix)|' $(DESTDIR)$(sysconfdir)/init.d/xrdp;
+ sed -i '' 's|%%PREFIX%%|$(prefix)|g' $(DESTDIR)$(sysconfdir)/rc.d/xrdp
+endif
diff --git a/instfiles/default/Makefile.am b/instfiles/default/Makefile.am
index 6a7f4f2b..f379a46d 100644
--- a/instfiles/default/Makefile.am
+++ b/instfiles/default/Makefile.am
@@ -1,3 +1,2 @@
-EXTRA_DIST = xrdp
-startscriptdir=$(sysconfdir)/default
-startscript_DATA = xrdp
+startscriptdir = $(sysconfdir)/default
+dist_startscript_DATA = xrdp
diff --git a/instfiles/init.d/Makefile.am b/instfiles/init.d/Makefile.am
index ae411c20..2ffff4fe 100644
--- a/instfiles/init.d/Makefile.am
+++ b/instfiles/init.d/Makefile.am
@@ -1,4 +1,2 @@
-EXTRA_DIST = xrdp
-startscriptdir=$(sysconfdir)/init.d
-startscript_DATA = xrdp
-
+startscriptdir = $(sysconfdir)/init.d
+dist_startscript_SCRIPTS = xrdp
diff --git a/instfiles/init.d/xrdp b/instfiles/init.d/xrdp
index dcdb01a4..f64e5965 100644
--- a/instfiles/init.d/xrdp
+++ b/instfiles/init.d/xrdp
@@ -18,12 +18,11 @@ PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
BASE=__BASE__
DAEMON=${BASE}/sbin/xrdp
SDAEMON=${BASE}/sbin/xrdp-sesman
-PIDDIR=/var/run/xrdp/
+PIDDIR=/var/run/
SESMAN_START=yes
#USERID=xrdp
# the X11rdp backend only works as root at the moment - GH 20/03/2013
USERID=root
-RSAKEYS=/etc/xrdp/rsakeys.ini
NAME=xrdp
DESC="Remote Desktop Protocol server"
@@ -67,18 +66,6 @@ if [ "$(id -u)" = "0" ]; then
mkdir $PIDDIR
fi
chown $USERID:$USERID $PIDDIR
-
- # Check for rsa key
- if [ ! -f $RSAKEYS ] ; then
- log_action_begin_msg "Generating xrdp RSA keys..."
- (umask 077 ; xrdp-keygen xrdp $RSAKEYS)
- chown $USERID:$USERID $RSAKEYS
- if [ ! -f $RSAKEYS ] ; then
- log_action_end_msg 1 "could not create $RSAKEYS"
- exit 1
- fi
- log_action_end_msg 0 "done"
- fi
fi
@@ -139,7 +126,7 @@ case "$1" in
;;
force-stop)
$0 stop
- # because it doesn't allways die the right way
+ # because it doesn't always die the right way
force_stop
;;
restart|force-reload)
diff --git a/instfiles/keymap-names.txt b/instfiles/keymap-names.txt
new file mode 100644
index 00000000..2d9676dd
--- /dev/null
+++ b/instfiles/keymap-names.txt
@@ -0,0 +1,124 @@
+
+0x00000436 af Afrikaans
+0x0000041C sq Albanian
+0x00000001 ar Arabic
+0x00000401 ar-sa Arabic (Saudi Arabia)
+0x00000801 ar-iq Arabic (Iraq)
+0x00000C01 ar-eg Arabic (Egypt)
+0x00001001 ar-ly Arabic (Libya)
+0x00001401 ar-dz Arabic (Algeria)
+0x00001801 ar-ma Arabic (Morocco)
+0x00001C01 ar-tn Arabic (Tunisia)
+0x00002001 ar-om Arabic (Oman)
+0x00002401 ar-ye Arabic (Yemen)
+0x00002801 ar-sy Arabic (Syria)
+0x00002C01 ar-jo Arabic (Jordan)
+0x00003001 ar-lb Arabic (Lebanon)
+0x00003401 ar-kw Arabic (Kuwait)
+0x00003801 ar-ae Arabic (U.A.E.)
+0x00003C01 ar-bh Arabic (Bahrain)
+0x00004001 ar-qa Arabic (Qatar)
+0x0000042D eu Basque
+0x00000402 bg Bulgarian
+0x00000423 be Belarusian
+0x00000403 ca Catalan
+0x00000004 zh Chinese
+0x00000404 zh-tw Chinese (Taiwan)
+0x00000804 zh-cn Chinese (China)
+0x00000C04 zh-hk Chinese (Hong Kong SAR)
+0x00001004 zh-sg Chinese (Singapore)
+0x0000041A hr Croatian
+0x00000405 cs Czech
+0x00000406 da Danish
+0x00000413 nl Dutch (Netherlands)
+0x00000813 nl-be Dutch (Belgium)
+0x00000009 en English
+0x00000409 en-us English (United States)
+0x00000809 en-gb English (United Kingdom)
+0x00000C09 en-au English (Australia)
+0x00001009 en-ca English (Canada)
+0x00001409 en-nz English (New Zealand)
+0x00001809 en-ie English (Ireland)
+0x00001C09 en-za English (South Africa)
+0x00002009 en-jm English (Jamaica)
+0x00002809 en-bz English (Belize)
+0x00002C09 en-tt English (Trinidad)
+0x00000425 et Estonian
+0x00000438 fo Faeroese
+0x00000429 fa Farsi
+0x0000040B fi Finnish
+0x0000040C fr French (France)
+0x0000080C fr-be French (Belgium)
+0x00000C0C fr-ca French (Canada)
+0x0000100C fr-ch French (Switzerland)
+0x0000140C fr-lu French (Luxembourg)
+0x0000043C gd Gaelic
+0x00000407 de German (Germany)
+0x00000807 de-ch German (Switzerland)
+0x00000C07 de-at German (Austria)
+0x00001007 de-lu German (Luxembourg)
+0x00001407 de-li German (Liechtenstein)
+0x00000408 el Greek
+0x0000040D he Hebrew
+0x00000439 hi Hindi
+0x0000040E hu Hungarian
+0x0000040F is Icelandic
+0x00000421 in Indonesian
+0x00000410 it Italian (Italy)
+0x00000810 it-ch Italian (Switzerland)
+0x00000411 ja Japanese
+0x00000412 ko Korean
+0x00000426 lv Latvian
+0x00000427 lt Lithuanian
+0x0000042F mk FYRO Macedonian
+0x0000043E ms Malay (Malaysia)
+0x0000043A mt Maltese
+0x00000414 no Norwegian (Bokmal)
+0x00000814 no Norwegian (Nynorsk)
+0x00000415 pl Polish
+0x00000416 pt-br Portuguese (Brazil)
+0x00000816 pt Portuguese (Portugal)
+0x00000417 rm Rhaeto-Romanic
+0x00000418 ro Romanian
+0x00000818 ro-mo Romanian (Moldova)
+0x00000419 ru Russian
+0x00000819 ru-mo Russian (Moldova)
+0x00000C1A sr Serbian (Cyrillic)
+0x0000081A sr Serbian (Latin)
+0x0000041B sk Slovak
+0x00000424 sl Slovenian
+0x0000042E sb Sorbian
+0x0000040A es Spanish (Traditional Sort)
+0x0000080A es-mx Spanish (Mexico)
+0x00000C0A es Spanish (International Sort)
+0x0000100A es-gt Spanish (Guatemala)
+0x0000140A es-cr Spanish (Costa Rica)
+0x0000180A es-pa Spanish (Panama)
+0x00001C0A es-do Spanish (Dominican Republic)
+0x0000200A es-ve Spanish (Venezuela)
+0x0000240A es-co Spanish (Colombia)
+0x0000280A es-pe Spanish (Peru)
+0x00002C0A es-ar Spanish (Argentina)
+0x0000300A es-ec Spanish (Ecuador)
+0x0000340A es-cl Spanish (Chile)
+0x0000380A es-uy Spanish (Uruguay)
+0x00003C0A es-py Spanish (Paraguay)
+0x0000400A es-bo Spanish (Bolivia)
+0x0000440A es-sv Spanish (El Salvador)
+0x0000480A es-hn Spanish (Honduras)
+0x00004C0A es-ni Spanish (Nicaragua)
+0x0000500A es-pr Spanish (Puerto Rico)
+0x00000430 sx Sutu
+0x0000041D sv Swedish
+0x0000081D sv-fi Swedish (Finland)
+0x0000041E th Thai
+0x00000431 ts Tsonga
+0x00000432 tn Tswana
+0x0000041F tr Turkish
+0x00000422 uk Ukrainian
+0x00000420 ur Urdu
+0x0000042A vi Vietnamese
+0x00000434 xh Xhosa
+0x0000043D ji Yiddish
+0x00000435 zu Zulu
+
diff --git a/instfiles/km-0407.ini b/instfiles/km-00000407.ini
index 6021211d..6021211d 100644
--- a/instfiles/km-0407.ini
+++ b/instfiles/km-00000407.ini
diff --git a/instfiles/km-0409.ini b/instfiles/km-00000409.ini
index a565a9b0..a565a9b0 100644
--- a/instfiles/km-0409.ini
+++ b/instfiles/km-00000409.ini
diff --git a/instfiles/km-0000040a.ini b/instfiles/km-0000040a.ini
new file mode 100644
index 00000000..5a961845
--- /dev/null
+++ b/instfiles/km-0000040a.ini
@@ -0,0 +1,659 @@
+[noshift]
+Key8=0:0
+Key9=65307:27
+Key10=49:49
+Key11=50:50
+Key12=51:51
+Key13=52:52
+Key14=53:53
+Key15=54:54
+Key16=55:55
+Key17=56:56
+Key18=57:57
+Key19=48:48
+Key20=39:39
+Key21=161:161
+Key22=65288:8
+Key23=65289:9
+Key24=113:113
+Key25=119:119
+Key26=101:101
+Key27=114:114
+Key28=116:116
+Key29=121:121
+Key30=117:117
+Key31=105:105
+Key32=111:111
+Key33=112:112
+Key34=65104:96
+Key35=43:43
+Key36=65293:13
+Key37=65507:0
+Key38=97:97
+Key39=115:115
+Key40=100:100
+Key41=102:102
+Key42=103:103
+Key43=104:104
+Key44=106:106
+Key45=107:107
+Key46=108:108
+Key47=241:241
+Key48=65105:180
+Key49=186:186
+Key50=65505:0
+Key51=231:231
+Key52=122:122
+Key53=120:120
+Key54=99:99
+Key55=118:118
+Key56=98:98
+Key57=110:110
+Key58=109:109
+Key59=44:44
+Key60=46:46
+Key61=45:45
+Key62=65506:0
+Key63=65450:42
+Key64=65364:0
+Key65=32:32
+Key66=65509:0
+Key67=65470:0
+Key68=65471:0
+Key69=65472:0
+Key70=65473:0
+Key71=65474:0
+Key72=65475:0
+Key73=65476:0
+Key74=65477:0
+Key75=65478:0
+Key76=65479:0
+Key77=65407:0
+Key78=65300:0
+Key79=65429:0
+Key80=65431:0
+Key81=65434:0
+Key82=65453:45
+Key83=65430:0
+Key84=65437:0
+Key85=65432:0
+Key86=65451:43
+Key87=65436:0
+Key88=65433:0
+Key89=65435:0
+Key90=65438:0
+Key91=65439:0
+Key92=0:0
+Key93=0:0
+Key94=60:60
+Key95=65480:0
+Key96=65481:0
+Key97=65360:0
+Key98=65362:0
+Key99=65365:0
+Key100=65361:0
+Key101=0:0
+Key102=65363:0
+Key103=65367:0
+Key104=65364:0
+Key105=65366:0
+Key106=65379:0
+Key107=65535:127
+Key108=65421:13
+Key109=65508:0
+Key110=65299:0
+Key111=65377:0
+Key112=65455:47
+Key113=65514:0
+Key114=0:0
+Key115=65515:0
+Key116=65516:0
+Key117=65383:0
+Key118=0:0
+Key119=0:0
+Key120=0:0
+Key121=0:0
+Key122=0:0
+Key123=0:0
+Key124=65027:0
+Key125=0:0
+Key126=65469:61
+Key127=0:0
+Key128=0:0
+Key129=0:0
+Key130=0:0
+Key131=0:0
+Key132=0:0
+Key133=0:0
+Key134=0:0
+Key135=0:0
+Key136=0:0
+Key137=0:0
+
+[shift]
+Key8=0:0
+Key9=65307:27
+Key10=33:33
+Key11=34:34
+Key12=183:183
+Key13=36:36
+Key14=37:37
+Key15=38:38
+Key16=47:47
+Key17=40:40
+Key18=41:41
+Key19=61:61
+Key20=63:63
+Key21=191:191
+Key22=65288:8
+Key23=65056:0
+Key24=81:81
+Key25=87:87
+Key26=69:69
+Key27=82:82
+Key28=84:84
+Key29=89:89
+Key30=85:85
+Key31=73:73
+Key32=79:79
+Key33=80:80
+Key34=65106:94
+Key35=42:42
+Key36=65293:13
+Key37=65507:0
+Key38=65:65
+Key39=83:83
+Key40=68:68
+Key41=70:70
+Key42=71:71
+Key43=72:72
+Key44=74:74
+Key45=75:75
+Key46=76:76
+Key47=209:209
+Key48=65111:168
+Key49=170:170
+Key50=65505:0
+Key51=199:199
+Key52=90:90
+Key53=88:88
+Key54=67:67
+Key55=86:86
+Key56=66:66
+Key57=78:78
+Key58=77:77
+Key59=59:59
+Key60=58:58
+Key61=95:95
+Key62=65506:0
+Key63=65450:42
+Key64=65364:0
+Key65=32:32
+Key66=65509:0
+Key67=65470:0
+Key68=65471:0
+Key69=65472:0
+Key70=65473:0
+Key71=65474:0
+Key72=65475:0
+Key73=65476:0
+Key74=65477:0
+Key75=65478:0
+Key76=65479:0
+Key77=65273:0
+Key78=65300:0
+Key79=65463:55
+Key80=65464:56
+Key81=65465:57
+Key82=65453:45
+Key83=65460:52
+Key84=65461:53
+Key85=65462:54
+Key86=65451:43
+Key87=65457:49
+Key88=65458:50
+Key89=65459:51
+Key90=65456:48
+Key91=65454:46
+Key92=0:0
+Key93=0:0
+Key94=62:62
+Key95=65480:0
+Key96=65481:0
+Key97=65360:0
+Key98=65362:0
+Key99=65365:0
+Key100=65361:0
+Key101=0:0
+Key102=65363:0
+Key103=65367:0
+Key104=65364:0
+Key105=65366:0
+Key106=65379:0
+Key107=65535:127
+Key108=65421:13
+Key109=65508:0
+Key110=65299:0
+Key111=65377:0
+Key112=65455:47
+Key113=65512:0
+Key114=0:0
+Key115=65515:0
+Key116=65516:0
+Key117=65383:0
+Key118=0:0
+Key119=0:0
+Key120=0:0
+Key121=0:0
+Key122=0:0
+Key123=0:0
+Key124=65027:0
+Key125=65513:0
+Key126=65469:61
+Key127=65515:0
+Key128=65517:0
+Key129=0:0
+Key130=0:0
+Key131=0:0
+Key132=0:0
+Key133=0:0
+Key134=0:0
+Key135=0:0
+Key136=0:0
+Key137=0:0
+
+[altgr]
+Key8=0:0
+Key9=65307:27
+Key10=124:124
+Key11=64:64
+Key12=35:35
+Key13=126:126
+Key14=189:189
+Key15=172:172
+Key16=123:123
+Key17=91:91
+Key18=93:93
+Key19=125:125
+Key20=92:92
+Key21=126:126
+Key22=65288:8
+Key23=65289:9
+Key24=64:64
+Key25=435:322
+Key26=8364:8364
+Key27=182:182
+Key28=956:359
+Key29=2299:8592
+Key30=2302:8595
+Key31=2301:8594
+Key32=248:248
+Key33=254:254
+Key34=91:91
+Key35=93:93
+Key36=65293:13
+Key37=65507:0
+Key38=230:230
+Key39=223:223
+Key40=240:240
+Key41=496:273
+Key42=959:331
+Key43=689:295
+Key44=106:106
+Key45=930:312
+Key46=435:322
+Key47=126:126
+Key48=123:123
+Key49=92:92
+Key50=65505:0
+Key51=125:125
+Key52=171:171
+Key53=187:187
+Key54=162:162
+Key55=2770:8220
+Key56=2771:8221
+Key57=110:110
+Key58=181:181
+Key59=2211:0
+Key60=183:183
+Key61=65120:0
+Key62=65506:0
+Key63=65450:42
+Key64=65364:0
+Key65=32:32
+Key66=65509:0
+Key67=65470:0
+Key68=65471:0
+Key69=65472:0
+Key70=65473:0
+Key71=65474:0
+Key72=65475:0
+Key73=65476:0
+Key74=65477:0
+Key75=65478:0
+Key76=65479:0
+Key77=65407:0
+Key78=65300:0
+Key79=65429:0
+Key80=65431:0
+Key81=65434:0
+Key82=65453:45
+Key83=65430:0
+Key84=65437:0
+Key85=65432:0
+Key86=65451:43
+Key87=65436:0
+Key88=65433:0
+Key89=65435:0
+Key90=65438:0
+Key91=65439:0
+Key92=0:0
+Key93=0:0
+Key94=124:124
+Key95=65480:0
+Key96=65481:0
+Key97=65360:0
+Key98=65362:0
+Key99=65365:0
+Key100=65361:0
+Key101=0:0
+Key102=65363:0
+Key103=65367:0
+Key104=65364:0
+Key105=65366:0
+Key106=65379:0
+Key107=65535:127
+Key108=65421:13
+Key109=65508:0
+Key110=65299:0
+Key111=0:0
+Key112=65455:47
+Key113=65514:0
+Key114=0:0
+Key115=65515:0
+Key116=65516:0
+Key117=65383:0
+Key118=0:0
+Key119=0:0
+Key120=0:0
+Key121=0:0
+Key122=0:0
+Key123=0:0
+Key124=65027:0
+Key125=0:0
+Key126=65469:61
+Key127=0:0
+Key128=0:0
+Key129=0:0
+Key130=0:0
+Key131=0:0
+Key132=0:0
+Key133=0:0
+Key134=0:0
+Key135=0:0
+Key136=0:0
+Key137=0:0
+
+[capslock]
+Key8=0:0
+Key9=65307:27
+Key10=49:49
+Key11=50:50
+Key12=51:51
+Key13=52:52
+Key14=53:53
+Key15=54:54
+Key16=55:55
+Key17=56:56
+Key18=57:57
+Key19=48:48
+Key20=39:39
+Key21=161:161
+Key22=65288:8
+Key23=65289:9
+Key24=81:81
+Key25=87:87
+Key26=69:69
+Key27=82:82
+Key28=84:84
+Key29=89:89
+Key30=85:85
+Key31=73:73
+Key32=79:79
+Key33=80:80
+Key34=65104:96
+Key35=43:43
+Key36=65293:13
+Key37=65507:0
+Key38=65:65
+Key39=83:83
+Key40=68:68
+Key41=70:70
+Key42=71:71
+Key43=72:72
+Key44=74:74
+Key45=75:75
+Key46=76:76
+Key47=209:209
+Key48=65105:180
+Key49=186:186
+Key50=65505:0
+Key51=199:199
+Key52=90:90
+Key53=88:88
+Key54=67:67
+Key55=86:86
+Key56=66:66
+Key57=78:78
+Key58=77:77
+Key59=44:44
+Key60=46:46
+Key61=45:45
+Key62=65506:0
+Key63=65450:42
+Key64=65364:0
+Key65=32:32
+Key66=65509:0
+Key67=65470:0
+Key68=65471:0
+Key69=65472:0
+Key70=65473:0
+Key71=65474:0
+Key72=65475:0
+Key73=65476:0
+Key74=65477:0
+Key75=65478:0
+Key76=65479:0
+Key77=65407:0
+Key78=65300:0
+Key79=65429:0
+Key80=65431:0
+Key81=65434:0
+Key82=65453:45
+Key83=65430:0
+Key84=65437:0
+Key85=65432:0
+Key86=65451:43
+Key87=65436:0
+Key88=65433:0
+Key89=65435:0
+Key90=65438:0
+Key91=65439:0
+Key92=0:0
+Key93=0:0
+Key94=60:60
+Key95=65480:0
+Key96=65481:0
+Key97=65360:0
+Key98=65362:0
+Key99=65365:0
+Key100=65361:0
+Key101=0:0
+Key102=65363:0
+Key103=65367:0
+Key104=65364:0
+Key105=65366:0
+Key106=65379:0
+Key107=65535:127
+Key108=65421:13
+Key109=65508:0
+Key110=65299:0
+Key111=65377:0
+Key112=65455:47
+Key113=65514:0
+Key114=0:0
+Key115=65515:0
+Key116=65516:0
+Key117=65383:0
+Key118=0:0
+Key119=0:0
+Key120=0:0
+Key121=0:0
+Key122=0:0
+Key123=0:0
+Key124=65027:0
+Key125=0:0
+Key126=65469:61
+Key127=0:0
+Key128=0:0
+Key129=0:0
+Key130=0:0
+Key131=0:0
+Key132=0:0
+Key133=0:0
+Key134=0:0
+Key135=0:0
+Key136=0:0
+Key137=0:0
+
+[shiftcapslock]
+Key8=0:0
+Key9=65307:27
+Key10=33:33
+Key11=34:34
+Key12=183:183
+Key13=36:36
+Key14=37:37
+Key15=38:38
+Key16=47:47
+Key17=40:40
+Key18=41:41
+Key19=61:61
+Key20=63:63
+Key21=191:191
+Key22=65288:8
+Key23=65056:0
+Key24=113:113
+Key25=119:119
+Key26=101:101
+Key27=114:114
+Key28=116:116
+Key29=121:121
+Key30=117:117
+Key31=105:105
+Key32=111:111
+Key33=112:112
+Key34=65106:94
+Key35=42:42
+Key36=65293:13
+Key37=65507:0
+Key38=97:97
+Key39=115:115
+Key40=100:100
+Key41=102:102
+Key42=103:103
+Key43=104:104
+Key44=106:106
+Key45=107:107
+Key46=108:108
+Key47=241:241
+Key48=65111:168
+Key49=170:170
+Key50=65505:0
+Key51=231:231
+Key52=122:122
+Key53=120:120
+Key54=99:99
+Key55=118:118
+Key56=98:98
+Key57=110:110
+Key58=109:109
+Key59=59:59
+Key60=58:58
+Key61=95:95
+Key62=65506:0
+Key63=65450:42
+Key64=65364:0
+Key65=32:32
+Key66=65509:0
+Key67=65470:0
+Key68=65471:0
+Key69=65472:0
+Key70=65473:0
+Key71=65474:0
+Key72=65475:0
+Key73=65476:0
+Key74=65477:0
+Key75=65478:0
+Key76=65479:0
+Key77=65273:0
+Key78=65300:0
+Key79=65463:55
+Key80=65464:56
+Key81=65465:57
+Key82=65453:45
+Key83=65460:52
+Key84=65461:53
+Key85=65462:54
+Key86=65451:43
+Key87=65457:49
+Key88=65458:50
+Key89=65459:51
+Key90=65456:48
+Key91=65454:46
+Key92=0:0
+Key93=0:0
+Key94=62:62
+Key95=65480:0
+Key96=65481:0
+Key97=65360:0
+Key98=65362:0
+Key99=65365:0
+Key100=65361:0
+Key101=0:0
+Key102=65363:0
+Key103=65367:0
+Key104=65364:0
+Key105=65366:0
+Key106=65379:0
+Key107=65535:127
+Key108=65421:13
+Key109=65508:0
+Key110=65299:0
+Key111=65377:0
+Key112=65455:47
+Key113=65512:0
+Key114=0:0
+Key115=65515:0
+Key116=65516:0
+Key117=65383:0
+Key118=0:0
+Key119=0:0
+Key120=0:0
+Key121=0:0
+Key122=0:0
+Key123=0:0
+Key124=65027:0
+Key125=65513:0
+Key126=65469:61
+Key127=65515:0
+Key128=65517:0
+Key129=0:0
+Key130=0:0
+Key131=0:0
+Key132=0:0
+Key133=0:0
+Key134=0:0
+Key135=0:0
+Key136=0:0
+Key137=0:0
diff --git a/instfiles/km-041d.ini b/instfiles/km-0000040b.ini
index 3cf432b2..3cf432b2 100644
--- a/instfiles/km-041d.ini
+++ b/instfiles/km-0000040b.ini
diff --git a/instfiles/km-040c.ini b/instfiles/km-0000040c.ini
index 6895c4a2..6895c4a2 100644
--- a/instfiles/km-040c.ini
+++ b/instfiles/km-0000040c.ini
diff --git a/instfiles/km-0410.ini b/instfiles/km-00000410.ini
index a9723117..a9723117 100644
--- a/instfiles/km-0410.ini
+++ b/instfiles/km-00000410.ini
diff --git a/instfiles/km-e0200411.ini b/instfiles/km-00000411.ini
index 50ba669f..e860e6fd 100644
--- a/instfiles/km-e0200411.ini
+++ b/instfiles/km-00000411.ini
@@ -120,9 +120,9 @@ Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
-Key129=0:0
+Key129=65315:0
Key130=0:0
-Key131=0:0
+Key131=65314:0
Key132=0:0
Key133=165:165
Key134=0:0
@@ -252,9 +252,9 @@ Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
-Key129=0:0
+Key129=65315:0
Key130=0:0
-Key131=0:0
+Key131=65314:0
Key132=0:0
Key133=124:124
Key134=0:0
@@ -384,9 +384,9 @@ Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
-Key129=0:0
+Key129=65315:0
Key130=0:0
-Key131=0:0
+Key131=65314:0
Key132=0:0
Key133=165:165
Key134=0:0
@@ -516,9 +516,9 @@ Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
-Key129=0:0
+Key129=65315:0
Key130=0:0
-Key131=0:0
+Key131=65314:0
Key132=0:0
Key133=124:124
Key134=0:0
@@ -648,9 +648,9 @@ Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
-Key129=0:0
+Key129=65315:0
Key130=0:0
-Key131=0:0
+Key131=65314:0
Key132=0:0
Key133=165:165
Key134=0:0
@@ -780,9 +780,9 @@ Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
-Key129=0:0
+Key129=65315:0
Key130=0:0
-Key131=0:0
+Key131=65314:0
Key132=0:0
Key133=165:165
Key134=0:0
@@ -912,9 +912,9 @@ Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
-Key129=0:0
+Key129=65315:0
Key130=0:0
-Key131=0:0
+Key131=65314:0
Key132=0:0
Key133=124:124
Key134=0:0
@@ -1044,9 +1044,9 @@ Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
-Key129=0:0
+Key129=65315:0
Key130=0:0
-Key131=0:0
+Key131=65314:0
Key132=0:0
Key133=124:124
Key134=0:0
diff --git a/instfiles/km-e0210411.ini b/instfiles/km-00000412.ini
index 50ba669f..e8cb305e 100644
--- a/instfiles/km-e0210411.ini
+++ b/instfiles/km-00000412.ini
@@ -1,1055 +1,1057 @@
-[noshift]
-Key8=65406:0
-Key9=65307:27
-Key10=49:49
-Key11=50:50
-Key12=51:51
-Key13=52:52
-Key14=53:53
-Key15=54:54
-Key16=55:55
-Key17=56:56
-Key18=57:57
-Key19=48:48
-Key20=45:45
-Key21=94:94
-Key22=65288:8
-Key23=65289:9
-Key24=113:113
-Key25=119:119
-Key26=101:101
-Key27=114:114
-Key28=116:116
-Key29=121:121
-Key30=117:117
-Key31=105:105
-Key32=111:111
-Key33=112:112
-Key34=64:64
-Key35=91:91
-Key36=65293:13
-Key37=65507:0
-Key38=97:97
-Key39=115:115
-Key40=100:100
-Key41=102:102
-Key42=103:103
-Key43=104:104
-Key44=106:106
-Key45=107:107
-Key46=108:108
-Key47=59:59
-Key48=58:58
-Key49=65322:0
-Key50=65505:0
-Key51=93:93
-Key52=122:122
-Key53=120:120
-Key54=99:99
-Key55=118:118
-Key56=98:98
-Key57=110:110
-Key58=109:109
-Key59=44:44
-Key60=46:46
-Key61=47:47
-Key62=65506:0
-Key63=65450:42
-Key64=65513:0
-Key65=32:32
-Key66=65328:0
-Key67=65470:0
-Key68=65471:0
-Key69=65472:0
-Key70=65473:0
-Key71=65474:0
-Key72=65475:0
-Key73=65476:0
-Key74=65477:0
-Key75=65478:0
-Key76=65479:0
-Key77=65407:0
-Key78=65300:0
-Key79=65429:0
-Key80=65431:0
-Key81=65434:0
-Key82=65453:45
-Key83=65430:0
-Key84=65437:0
-Key85=65432:0
-Key86=65451:43
-Key87=65436:0
-Key88=65433:0
-Key89=65435:0
-Key90=65438:0
-Key91=65439:0
-Key92=65377:0
-Key93=0:0
-Key94=60:60
-Key95=65480:0
-Key96=65481:0
-Key97=65360:0
-Key98=65362:0
-Key99=65365:0
-Key100=65361:0
-Key101=0:0
-Key102=65363:0
-Key103=65367:0
-Key104=65364:0
-Key105=65366:0
-Key106=65379:0
-Key107=65535:127
-Key108=65421:13
-Key109=65508:0
-Key110=65299:0
-Key111=65377:0
-Key112=65455:47
-Key113=65514:0
-Key114=269025049:0
-Key115=65515:0
-Key116=65516:0
-Key117=0:0
-Key118=269025153:0
-Key119=269025093:0
-Key120=269025094:0
-Key121=269025095:0
-Key122=269025096:0
-Key123=92:92
-Key124=65027:0
-Key125=0:0
-Key126=65469:61
-Key127=0:0
-Key128=0:0
-Key129=0:0
-Key130=0:0
-Key131=0:0
-Key132=0:0
-Key133=165:165
-Key134=0:0
-Key135=0:0
-Key136=0:0
-Key137=0:0
-
-[shift]
-Key8=65406:0
-Key9=65307:27
-Key10=33:33
-Key11=34:34
-Key12=35:35
-Key13=36:36
-Key14=37:37
-Key15=38:38
-Key16=39:39
-Key17=40:40
-Key18=41:41
-Key19=48:48
-Key20=61:61
-Key21=126:126
-Key22=65288:8
-Key23=65056:0
-Key24=81:81
-Key25=87:87
-Key26=69:69
-Key27=82:82
-Key28=84:84
-Key29=89:89
-Key30=85:85
-Key31=73:73
-Key32=79:79
-Key33=80:80
-Key34=96:96
-Key35=123:123
-Key36=65293:13
-Key37=65507:0
-Key38=65:65
-Key39=83:83
-Key40=68:68
-Key41=70:70
-Key42=71:71
-Key43=72:72
-Key44=74:74
-Key45=75:75
-Key46=76:76
-Key47=43:43
-Key48=42:42
-Key49=65322:0
-Key50=65505:0
-Key51=125:125
-Key52=90:90
-Key53=88:88
-Key54=67:67
-Key55=86:86
-Key56=66:66
-Key57=78:78
-Key58=77:77
-Key59=60:60
-Key60=62:62
-Key61=63:63
-Key62=65506:0
-Key63=65450:42
-Key64=65511:0
-Key65=32:32
-Key66=65509:0
-Key67=65470:0
-Key68=65471:0
-Key69=65472:0
-Key70=65473:0
-Key71=65474:0
-Key72=65475:0
-Key73=65476:0
-Key74=65477:0
-Key75=65478:0
-Key76=65479:0
-Key77=65407:0
-Key78=65300:0
-Key79=65463:55
-Key80=65464:56
-Key81=65465:57
-Key82=65453:45
-Key83=65460:52
-Key84=65461:53
-Key85=65462:54
-Key86=65451:43
-Key87=65457:49
-Key88=65458:50
-Key89=65459:51
-Key90=65456:48
-Key91=65454:46
-Key92=65377:0
-Key93=0:0
-Key94=62:62
-Key95=65480:0
-Key96=65481:0
-Key97=65360:0
-Key98=65362:0
-Key99=65365:0
-Key100=65361:0
-Key101=0:0
-Key102=65363:0
-Key103=65367:0
-Key104=65364:0
-Key105=65366:0
-Key106=65379:0
-Key107=65535:127
-Key108=65421:13
-Key109=65508:0
-Key110=65299:0
-Key111=65377:0
-Key112=65455:47
-Key113=65512:0
-Key114=269025049:0
-Key115=65515:0
-Key116=65516:0
-Key117=0:0
-Key118=269025153:0
-Key119=269025093:0
-Key120=269025094:0
-Key121=269025095:0
-Key122=269025096:0
-Key123=95:95
-Key124=65027:0
-Key125=65513:0
-Key126=65469:61
-Key127=65515:0
-Key128=65517:0
-Key129=0:0
-Key130=0:0
-Key131=0:0
-Key132=0:0
-Key133=124:124
-Key134=0:0
-Key135=0:0
-Key136=0:0
-Key137=0:0
-
-[altgr]
-Key8=65406:0
-Key9=65307:27
-Key10=49:49
-Key11=50:50
-Key12=51:51
-Key13=52:52
-Key14=53:53
-Key15=54:54
-Key16=55:55
-Key17=56:56
-Key18=57:57
-Key19=48:48
-Key20=45:45
-Key21=94:94
-Key22=65288:8
-Key23=65289:9
-Key24=113:113
-Key25=119:119
-Key26=101:101
-Key27=114:114
-Key28=116:116
-Key29=121:121
-Key30=117:117
-Key31=105:105
-Key32=111:111
-Key33=112:112
-Key34=64:64
-Key35=91:91
-Key36=65293:13
-Key37=65507:0
-Key38=97:97
-Key39=115:115
-Key40=100:100
-Key41=102:102
-Key42=103:103
-Key43=104:104
-Key44=106:106
-Key45=107:107
-Key46=108:108
-Key47=59:59
-Key48=58:58
-Key49=65322:0
-Key50=65505:0
-Key51=93:93
-Key52=122:122
-Key53=120:120
-Key54=99:99
-Key55=118:118
-Key56=98:98
-Key57=110:110
-Key58=109:109
-Key59=44:44
-Key60=46:46
-Key61=47:47
-Key62=65506:0
-Key63=65450:42
-Key64=65513:0
-Key65=32:32
-Key66=65328:0
-Key67=65470:0
-Key68=65471:0
-Key69=65472:0
-Key70=65473:0
-Key71=65474:0
-Key72=65475:0
-Key73=65476:0
-Key74=65477:0
-Key75=65478:0
-Key76=65479:0
-Key77=65407:0
-Key78=65300:0
-Key79=65429:0
-Key80=65431:0
-Key81=65434:0
-Key82=65453:45
-Key83=65430:0
-Key84=65437:0
-Key85=65432:0
-Key86=65451:43
-Key87=65436:0
-Key88=65433:0
-Key89=65435:0
-Key90=65438:0
-Key91=65439:0
-Key92=65377:0
-Key93=0:0
-Key94=124:124
-Key95=65480:0
-Key96=65481:0
-Key97=65360:0
-Key98=65362:0
-Key99=65365:0
-Key100=65361:0
-Key101=0:0
-Key102=65363:0
-Key103=65367:0
-Key104=65364:0
-Key105=65366:0
-Key106=65379:0
-Key107=65535:127
-Key108=65421:13
-Key109=65508:0
-Key110=65299:0
-Key111=65377:0
-Key112=65455:47
-Key113=65514:0
-Key114=269025049:0
-Key115=65515:0
-Key116=65516:0
-Key117=0:0
-Key118=269025153:0
-Key119=269025093:0
-Key120=269025094:0
-Key121=269025095:0
-Key122=269025096:0
-Key123=0:0
-Key124=65027:0
-Key125=0:0
-Key126=65469:61
-Key127=0:0
-Key128=0:0
-Key129=0:0
-Key130=0:0
-Key131=0:0
-Key132=0:0
-Key133=165:165
-Key134=0:0
-Key135=0:0
-Key136=0:0
-Key137=0:0
-
-[shiftaltgr]
-Key8=65406:0
-Key9=65307:27
-Key10=33:33
-Key11=34:34
-Key12=35:35
-Key13=36:36
-Key14=37:37
-Key15=38:38
-Key16=39:39
-Key17=40:40
-Key18=41:41
-Key19=48:48
-Key20=61:61
-Key21=126:126
-Key22=65288:8
-Key23=65056:0
-Key24=81:81
-Key25=87:87
-Key26=69:69
-Key27=82:82
-Key28=84:84
-Key29=89:89
-Key30=85:85
-Key31=73:73
-Key32=79:79
-Key33=80:80
-Key34=96:96
-Key35=123:123
-Key36=65293:13
-Key37=65507:0
-Key38=65:65
-Key39=83:83
-Key40=68:68
-Key41=70:70
-Key42=71:71
-Key43=72:72
-Key44=74:74
-Key45=75:75
-Key46=76:76
-Key47=43:43
-Key48=42:42
-Key49=65322:0
-Key50=65505:0
-Key51=125:125
-Key52=90:90
-Key53=88:88
-Key54=67:67
-Key55=86:86
-Key56=66:66
-Key57=78:78
-Key58=77:77
-Key59=60:60
-Key60=62:62
-Key61=63:63
-Key62=65506:0
-Key63=65450:42
-Key64=65511:0
-Key65=32:32
-Key66=65509:0
-Key67=65470:0
-Key68=65471:0
-Key69=65472:0
-Key70=65473:0
-Key71=65474:0
-Key72=65475:0
-Key73=65476:0
-Key74=65477:0
-Key75=65478:0
-Key76=65479:0
-Key77=65407:0
-Key78=65300:0
-Key79=65463:55
-Key80=65464:56
-Key81=65465:57
-Key82=65453:45
-Key83=65460:52
-Key84=65461:53
-Key85=65462:54
-Key86=65451:43
-Key87=65457:49
-Key88=65458:50
-Key89=65459:51
-Key90=65456:48
-Key91=65454:46
-Key92=65377:0
-Key93=0:0
-Key94=166:166
-Key95=65480:0
-Key96=65481:0
-Key97=65360:0
-Key98=65362:0
-Key99=65365:0
-Key100=65361:0
-Key101=0:0
-Key102=65363:0
-Key103=65367:0
-Key104=65364:0
-Key105=65366:0
-Key106=65379:0
-Key107=65535:127
-Key108=65421:13
-Key109=65508:0
-Key110=65299:0
-Key111=65377:0
-Key112=65455:47
-Key113=65512:0
-Key114=269025049:0
-Key115=65515:0
-Key116=65516:0
-Key117=0:0
-Key118=269025153:0
-Key119=269025093:0
-Key120=269025094:0
-Key121=269025095:0
-Key122=269025096:0
-Key123=0:0
-Key124=65027:0
-Key125=65513:0
-Key126=65469:61
-Key127=65515:0
-Key128=65517:0
-Key129=0:0
-Key130=0:0
-Key131=0:0
-Key132=0:0
-Key133=124:124
-Key134=0:0
-Key135=0:0
-Key136=0:0
-Key137=0:0
-
-[capslock]
-Key8=65406:0
-Key9=65307:27
-Key10=49:49
-Key11=50:50
-Key12=51:51
-Key13=52:52
-Key14=53:53
-Key15=54:54
-Key16=55:55
-Key17=56:56
-Key18=57:57
-Key19=48:48
-Key20=45:45
-Key21=94:94
-Key22=65288:8
-Key23=65289:9
-Key24=81:81
-Key25=87:87
-Key26=69:69
-Key27=82:82
-Key28=84:84
-Key29=89:89
-Key30=85:85
-Key31=73:73
-Key32=79:79
-Key33=80:80
-Key34=64:64
-Key35=91:91
-Key36=65293:13
-Key37=65507:0
-Key38=65:65
-Key39=83:83
-Key40=68:68
-Key41=70:70
-Key42=71:71
-Key43=72:72
-Key44=74:74
-Key45=75:75
-Key46=76:76
-Key47=59:59
-Key48=58:58
-Key49=65322:0
-Key50=65505:0
-Key51=93:93
-Key52=90:90
-Key53=88:88
-Key54=67:67
-Key55=86:86
-Key56=66:66
-Key57=78:78
-Key58=77:77
-Key59=44:44
-Key60=46:46
-Key61=47:47
-Key62=65506:0
-Key63=65450:42
-Key64=65513:0
-Key65=32:32
-Key66=65328:0
-Key67=65470:0
-Key68=65471:0
-Key69=65472:0
-Key70=65473:0
-Key71=65474:0
-Key72=65475:0
-Key73=65476:0
-Key74=65477:0
-Key75=65478:0
-Key76=65479:0
-Key77=65407:0
-Key78=65300:0
-Key79=65429:0
-Key80=65431:0
-Key81=65434:0
-Key82=65453:45
-Key83=65430:0
-Key84=65437:0
-Key85=65432:0
-Key86=65451:43
-Key87=65436:0
-Key88=65433:0
-Key89=65435:0
-Key90=65438:0
-Key91=65439:0
-Key92=65377:0
-Key93=0:0
-Key94=60:60
-Key95=65480:0
-Key96=65481:0
-Key97=65360:0
-Key98=65362:0
-Key99=65365:0
-Key100=65361:0
-Key101=0:0
-Key102=65363:0
-Key103=65367:0
-Key104=65364:0
-Key105=65366:0
-Key106=65379:0
-Key107=65535:127
-Key108=65421:13
-Key109=65508:0
-Key110=65299:0
-Key111=65377:0
-Key112=65455:47
-Key113=65514:0
-Key114=269025049:0
-Key115=65515:0
-Key116=65516:0
-Key117=0:0
-Key118=269025153:0
-Key119=269025093:0
-Key120=269025094:0
-Key121=269025095:0
-Key122=269025096:0
-Key123=0:0
-Key124=65027:0
-Key125=0:0
-Key126=65469:61
-Key127=0:0
-Key128=0:0
-Key129=0:0
-Key130=0:0
-Key131=0:0
-Key132=0:0
-Key133=165:165
-Key134=0:0
-Key135=0:0
-Key136=0:0
-Key137=0:0
-
-[capslockaltgr]
-Key8=65406:0
-Key9=65307:27
-Key10=49:49
-Key11=50:50
-Key12=51:51
-Key13=52:52
-Key14=53:53
-Key15=54:54
-Key16=55:55
-Key17=56:56
-Key18=57:57
-Key19=48:48
-Key20=45:45
-Key21=94:94
-Key22=65288:8
-Key23=65289:9
-Key24=81:81
-Key25=87:87
-Key26=69:69
-Key27=82:82
-Key28=84:84
-Key29=89:89
-Key30=85:85
-Key31=73:73
-Key32=79:79
-Key33=80:80
-Key34=64:64
-Key35=91:91
-Key36=65293:13
-Key37=65507:0
-Key38=65:65
-Key39=83:83
-Key40=68:68
-Key41=70:70
-Key42=71:71
-Key43=72:72
-Key44=74:74
-Key45=75:75
-Key46=76:76
-Key47=59:59
-Key48=58:58
-Key49=65322:0
-Key50=65505:0
-Key51=93:93
-Key52=90:90
-Key53=88:88
-Key54=67:67
-Key55=86:86
-Key56=66:66
-Key57=78:78
-Key58=77:77
-Key59=44:44
-Key60=46:46
-Key61=47:47
-Key62=65506:0
-Key63=65450:42
-Key64=65513:0
-Key65=32:32
-Key66=65328:0
-Key67=65470:0
-Key68=65471:0
-Key69=65472:0
-Key70=65473:0
-Key71=65474:0
-Key72=65475:0
-Key73=65476:0
-Key74=65477:0
-Key75=65478:0
-Key76=65479:0
-Key77=65407:0
-Key78=65300:0
-Key79=65429:0
-Key80=65431:0
-Key81=65434:0
-Key82=65453:45
-Key83=65430:0
-Key84=65437:0
-Key85=65432:0
-Key86=65451:43
-Key87=65436:0
-Key88=65433:0
-Key89=65435:0
-Key90=65438:0
-Key91=65439:0
-Key92=65377:0
-Key93=0:0
-Key94=124:124
-Key95=65480:0
-Key96=65481:0
-Key97=65360:0
-Key98=65362:0
-Key99=65365:0
-Key100=65361:0
-Key101=0:0
-Key102=65363:0
-Key103=65367:0
-Key104=65364:0
-Key105=65366:0
-Key106=65379:0
-Key107=65535:127
-Key108=65421:13
-Key109=65508:0
-Key110=65299:0
-Key111=65377:0
-Key112=65455:47
-Key113=65514:0
-Key114=269025049:0
-Key115=65515:0
-Key116=65516:0
-Key117=0:0
-Key118=269025153:0
-Key119=269025093:0
-Key120=269025094:0
-Key121=269025095:0
-Key122=269025096:0
-Key123=0:0
-Key124=65027:0
-Key125=0:0
-Key126=65469:61
-Key127=0:0
-Key128=0:0
-Key129=0:0
-Key130=0:0
-Key131=0:0
-Key132=0:0
-Key133=165:165
-Key134=0:0
-Key135=0:0
-Key136=0:0
-Key137=0:0
-
-[shiftcapslock]
-Key8=65406:0
-Key9=65307:27
-Key10=33:33
-Key11=34:34
-Key12=35:35
-Key13=36:36
-Key14=37:37
-Key15=38:38
-Key16=39:39
-Key17=40:40
-Key18=41:41
-Key19=48:48
-Key20=61:61
-Key21=126:126
-Key22=65288:8
-Key23=65056:0
-Key24=113:113
-Key25=119:119
-Key26=101:101
-Key27=114:114
-Key28=116:116
-Key29=121:121
-Key30=117:117
-Key31=105:105
-Key32=111:111
-Key33=112:112
-Key34=96:96
-Key35=123:123
-Key36=65293:13
-Key37=65507:0
-Key38=97:97
-Key39=115:115
-Key40=100:100
-Key41=102:102
-Key42=103:103
-Key43=104:104
-Key44=106:106
-Key45=107:107
-Key46=108:108
-Key47=43:43
-Key48=42:42
-Key49=65322:0
-Key50=65505:0
-Key51=125:125
-Key52=122:122
-Key53=120:120
-Key54=99:99
-Key55=118:118
-Key56=98:98
-Key57=110:110
-Key58=109:109
-Key59=60:60
-Key60=62:62
-Key61=63:63
-Key62=65506:0
-Key63=65450:42
-Key64=65511:0
-Key65=32:32
-Key66=65509:0
-Key67=65470:0
-Key68=65471:0
-Key69=65472:0
-Key70=65473:0
-Key71=65474:0
-Key72=65475:0
-Key73=65476:0
-Key74=65477:0
-Key75=65478:0
-Key76=65479:0
-Key77=65407:0
-Key78=65300:0
-Key79=65463:55
-Key80=65464:56
-Key81=65465:57
-Key82=65453:45
-Key83=65460:52
-Key84=65461:53
-Key85=65462:54
-Key86=65451:43
-Key87=65457:49
-Key88=65458:50
-Key89=65459:51
-Key90=65456:48
-Key91=65454:46
-Key92=65377:0
-Key93=0:0
-Key94=62:62
-Key95=65480:0
-Key96=65481:0
-Key97=65360:0
-Key98=65362:0
-Key99=65365:0
-Key100=65361:0
-Key101=0:0
-Key102=65363:0
-Key103=65367:0
-Key104=65364:0
-Key105=65366:0
-Key106=65379:0
-Key107=65535:127
-Key108=65421:13
-Key109=65508:0
-Key110=65299:0
-Key111=65377:0
-Key112=65455:47
-Key113=65512:0
-Key114=269025049:0
-Key115=65515:0
-Key116=65516:0
-Key117=0:0
-Key118=269025153:0
-Key119=269025093:0
-Key120=269025094:0
-Key121=269025095:0
-Key122=269025096:0
-Key123=0:0
-Key124=65027:0
-Key125=65513:0
-Key126=65469:61
-Key127=65515:0
-Key128=65517:0
-Key129=0:0
-Key130=0:0
-Key131=0:0
-Key132=0:0
-Key133=124:124
-Key134=0:0
-Key135=0:0
-Key136=0:0
-Key137=0:0
-
-[shiftcapslockaltgr]
-Key8=65406:0
-Key9=65307:27
-Key10=33:33
-Key11=34:34
-Key12=35:35
-Key13=36:36
-Key14=37:37
-Key15=38:38
-Key16=39:39
-Key17=40:40
-Key18=41:41
-Key19=48:48
-Key20=61:61
-Key21=126:126
-Key22=65288:8
-Key23=65056:0
-Key24=113:113
-Key25=119:119
-Key26=101:101
-Key27=114:114
-Key28=116:116
-Key29=121:121
-Key30=117:117
-Key31=105:105
-Key32=111:111
-Key33=112:112
-Key34=96:96
-Key35=123:123
-Key36=65293:13
-Key37=65507:0
-Key38=97:97
-Key39=115:115
-Key40=100:100
-Key41=102:102
-Key42=103:103
-Key43=104:104
-Key44=106:106
-Key45=107:107
-Key46=108:108
-Key47=43:43
-Key48=42:42
-Key49=65322:0
-Key50=65505:0
-Key51=125:125
-Key52=122:122
-Key53=120:120
-Key54=99:99
-Key55=118:118
-Key56=98:98
-Key57=110:110
-Key58=109:109
-Key59=60:60
-Key60=62:62
-Key61=63:63
-Key62=65506:0
-Key63=65450:42
-Key64=65511:0
-Key65=32:32
-Key66=65509:0
-Key67=65470:0
-Key68=65471:0
-Key69=65472:0
-Key70=65473:0
-Key71=65474:0
-Key72=65475:0
-Key73=65476:0
-Key74=65477:0
-Key75=65478:0
-Key76=65479:0
-Key77=65407:0
-Key78=65300:0
-Key79=65463:55
-Key80=65464:56
-Key81=65465:57
-Key82=65453:45
-Key83=65460:52
-Key84=65461:53
-Key85=65462:54
-Key86=65451:43
-Key87=65457:49
-Key88=65458:50
-Key89=65459:51
-Key90=65456:48
-Key91=65454:46
-Key92=65377:0
-Key93=0:0
-Key94=166:166
-Key95=65480:0
-Key96=65481:0
-Key97=65360:0
-Key98=65362:0
-Key99=65365:0
-Key100=65361:0
-Key101=0:0
-Key102=65363:0
-Key103=65367:0
-Key104=65364:0
-Key105=65366:0
-Key106=65379:0
-Key107=65535:127
-Key108=65421:13
-Key109=65508:0
-Key110=65299:0
-Key111=65377:0
-Key112=65455:47
-Key113=65512:0
-Key114=269025049:0
-Key115=65515:0
-Key116=65516:0
-Key117=0:0
-Key118=269025153:0
-Key119=269025093:0
-Key120=269025094:0
-Key121=269025095:0
-Key122=269025096:0
-Key123=0:0
-Key124=65027:0
-Key125=65513:0
-Key126=65469:61
-Key127=65515:0
-Key128=65517:0
-Key129=0:0
-Key130=0:0
-Key131=0:0
-Key132=0:0
-Key133=124:124
-Key134=0:0
-Key135=0:0
-Key136=0:0
-Key137=0:0
+[noshift]
+Key8=65406:0
+Key9=65307:27
+Key10=49:49
+Key11=50:50
+Key12=51:51
+Key13=52:52
+Key14=53:53
+Key15=54:54
+Key16=55:55
+Key17=56:56
+Key18=57:57
+Key19=48:48
+Key20=45:45
+Key21=61:61
+Key22=65288:8
+Key23=65289:9
+Key24=113:113
+Key25=119:119
+Key26=101:101
+Key27=114:114
+Key28=116:116
+Key29=121:121
+Key30=117:117
+Key31=105:105
+Key32=111:111
+Key33=112:112
+Key34=91:91
+Key35=93:93
+Key36=65293:13
+Key37=65507:0
+Key38=97:97
+Key39=115:115
+Key40=100:100
+Key41=102:102
+Key42=103:103
+Key43=104:104
+Key44=106:106
+Key45=107:107
+Key46=108:108
+Key47=59:59
+Key48=39:39
+Key49=96:96
+Key50=65505:0
+Key51=92:92
+Key52=122:122
+Key53=120:120
+Key54=99:99
+Key55=118:118
+Key56=98:98
+Key57=110:110
+Key58=109:109
+Key59=44:44
+Key60=46:46
+Key61=47:47
+Key62=65506:0
+Key63=65450:42
+Key64=65513:0
+Key65=32:32
+Key66=65509:0
+Key67=65470:0
+Key68=65471:0
+Key69=65472:0
+Key70=65473:0
+Key71=65474:0
+Key72=65475:0
+Key73=65476:0
+Key74=65477:0
+Key75=65478:0
+Key76=65479:0
+Key77=65407:0
+Key78=65300:0
+Key79=65429:0
+Key80=65431:0
+Key81=65434:0
+Key82=65453:45
+Key83=65430:0
+Key84=65437:0
+Key85=65432:0
+Key86=65451:43
+Key87=65436:0
+Key88=65433:0
+Key89=65435:0
+Key90=65438:0
+Key91=65439:0
+Key92=0:0
+Key93=0:0
+Key94=60:60
+Key95=65480:0
+Key96=65481:0
+Key97=65360:0
+Key98=65362:0
+Key99=65365:0
+Key100=65361:0
+Key101=0:0
+Key102=65363:0
+Key103=65367:0
+Key104=65364:0
+Key105=65366:0
+Key106=65379:0
+Key107=65535:127
+Key108=65421:13
+Key109=65508:0
+Key110=65299:0
+Key111=65377:0
+Key112=65455:47
+Key113=65514:0
+Key114=0:0
+Key115=65515:0
+Key116=65516:0
+Key117=65383:0
+Key118=0:0
+Key119=0:0
+Key120=0:0
+Key121=0:0
+Key122=0:0
+Key123=0:0
+Key124=65027:0
+Key125=0:0
+Key126=65469:61
+Key127=0:0
+Key128=0:0
+Key129=0:0
+Key130=0:0
+Key131=0:0
+Key132=0:0
+Key133=0:0
+Key134=65454:46
+Key135=0:0
+Key136=0:0
+Key137=0:0
+
+[shift]
+Key8=65406:0
+Key9=65307:27
+Key10=33:33
+Key11=64:64
+Key12=35:35
+Key13=36:36
+Key14=37:37
+Key15=94:94
+Key16=38:38
+Key17=42:42
+Key18=40:40
+Key19=41:41
+Key20=95:95
+Key21=43:43
+Key22=65288:8
+Key23=65056:0
+Key24=81:81
+Key25=87:87
+Key26=69:69
+Key27=82:82
+Key28=84:84
+Key29=89:89
+Key30=85:85
+Key31=73:73
+Key32=79:79
+Key33=80:80
+Key34=123:123
+Key35=125:125
+Key36=65293:13
+Key37=65507:0
+Key38=65:65
+Key39=83:83
+Key40=68:68
+Key41=70:70
+Key42=71:71
+Key43=72:72
+Key44=74:74
+Key45=75:75
+Key46=76:76
+Key47=58:58
+Key48=34:34
+Key49=126:126
+Key50=65505:0
+Key51=124:124
+Key52=90:90
+Key53=88:88
+Key54=67:67
+Key55=86:86
+Key56=66:66
+Key57=78:78
+Key58=77:77
+Key59=60:60
+Key60=62:62
+Key61=63:63
+Key62=65506:0
+Key63=65450:42
+Key64=65511:0
+Key65=32:32
+Key66=65509:0
+Key67=65470:0
+Key68=65471:0
+Key69=65472:0
+Key70=65473:0
+Key71=65474:0
+Key72=65475:0
+Key73=65476:0
+Key74=65477:0
+Key75=65478:0
+Key76=65479:0
+Key77=65407:0
+Key78=65300:0
+Key79=65463:55
+Key80=65464:56
+Key81=65465:57
+Key82=65453:45
+Key83=65460:52
+Key84=65461:53
+Key85=65462:54
+Key86=65451:43
+Key87=65457:49
+Key88=65458:50
+Key89=65459:51
+Key90=65456:48
+Key91=65454:46
+Key92=0:0
+Key93=0:0
+Key94=62:62
+Key95=65480:0
+Key96=65481:0
+Key97=65360:0
+Key98=65362:0
+Key99=65365:0
+Key100=65361:0
+Key101=0:0
+Key102=65363:0
+Key103=65367:0
+Key104=65364:0
+Key105=65366:0
+Key106=65379:0
+Key107=65535:127
+Key108=65421:13
+Key109=65508:0
+Key110=65299:0
+Key111=65377:0
+Key112=65455:47
+Key113=65512:0
+Key114=0:0
+Key115=65515:0
+Key116=65516:0
+Key117=65383:0
+Key118=0:0
+Key119=0:0
+Key120=0:0
+Key121=0:0
+Key122=0:0
+Key123=0:0
+Key124=65027:0
+Key125=65513:0
+Key126=65469:61
+Key127=65515:0
+Key128=65517:0
+Key129=0:0
+Key130=0:0
+Key131=0:0
+Key132=0:0
+Key133=0:0
+Key134=65454:46
+Key135=0:0
+Key136=0:0
+Key137=0:0
+
+[altgr]
+Key8=65406:0
+Key9=65307:27
+Key10=49:49
+Key11=50:50
+Key12=51:51
+Key13=52:52
+Key14=53:53
+Key15=54:54
+Key16=55:55
+Key17=56:56
+Key18=57:57
+Key19=48:48
+Key20=45:45
+Key21=61:61
+Key22=65288:8
+Key23=65289:9
+Key24=113:113
+Key25=119:119
+Key26=101:101
+Key27=114:114
+Key28=116:116
+Key29=121:121
+Key30=117:117
+Key31=105:105
+Key32=111:111
+Key33=112:112
+Key34=91:91
+Key35=93:93
+Key36=65293:13
+Key37=65507:0
+Key38=97:97
+Key39=115:115
+Key40=100:100
+Key41=102:102
+Key42=103:103
+Key43=104:104
+Key44=106:106
+Key45=107:107
+Key46=108:108
+Key47=59:59
+Key48=39:39
+Key49=96:96
+Key50=65505:0
+Key51=92:92
+Key52=122:122
+Key53=120:120
+Key54=99:99
+Key55=118:118
+Key56=98:98
+Key57=110:110
+Key58=109:109
+Key59=44:44
+Key60=46:46
+Key61=47:47
+Key62=65506:0
+Key63=65450:42
+Key64=65513:0
+Key65=32:32
+Key66=65509:0
+Key67=65470:0
+Key68=65471:0
+Key69=65472:0
+Key70=65473:0
+Key71=65474:0
+Key72=65475:0
+Key73=65476:0
+Key74=65477:0
+Key75=65478:0
+Key76=65479:0
+Key77=65407:0
+Key78=65300:0
+Key79=65429:0
+Key80=65431:0
+Key81=65434:0
+Key82=65453:45
+Key83=65430:0
+Key84=65437:0
+Key85=65432:0
+Key86=65451:43
+Key87=65436:0
+Key88=65433:0
+Key89=65435:0
+Key90=65438:0
+Key91=65439:0
+Key92=0:0
+Key93=0:0
+Key94=124:124
+Key95=65480:0
+Key96=65481:0
+Key97=65360:0
+Key98=65362:0
+Key99=65365:0
+Key100=65361:0
+Key101=0:0
+Key102=65363:0
+Key103=65367:0
+Key104=65364:0
+Key105=65366:0
+Key106=65379:0
+Key107=65535:127
+Key108=65421:13
+Key109=65508:0
+Key110=65299:0
+Key111=65377:0
+Key112=65455:47
+Key113=65514:0
+Key114=0:0
+Key115=65515:0
+Key116=65516:0
+Key117=65383:0
+Key118=0:0
+Key119=0:0
+Key120=0:0
+Key121=0:0
+Key122=0:0
+Key123=0:0
+Key124=65027:0
+Key125=0:0
+Key126=65469:61
+Key127=0:0
+Key128=0:0
+Key129=0:0
+Key130=0:0
+Key131=0:0
+Key132=0:0
+Key133=0:0
+Key134=65454:46
+Key135=0:0
+Key136=0:0
+Key137=0:0
+
+[shiftaltgr]
+Key8=65406:0
+Key9=65307:27
+Key10=33:33
+Key11=64:64
+Key12=35:35
+Key13=36:36
+Key14=37:37
+Key15=94:94
+Key16=38:38
+Key17=42:42
+Key18=40:40
+Key19=41:41
+Key20=95:95
+Key21=43:43
+Key22=65288:8
+Key23=65056:0
+Key24=81:81
+Key25=87:87
+Key26=69:69
+Key27=82:82
+Key28=84:84
+Key29=89:89
+Key30=85:85
+Key31=73:73
+Key32=79:79
+Key33=80:80
+Key34=123:123
+Key35=125:125
+Key36=65293:13
+Key37=65507:0
+Key38=65:65
+Key39=83:83
+Key40=68:68
+Key41=70:70
+Key42=71:71
+Key43=72:72
+Key44=74:74
+Key45=75:75
+Key46=76:76
+Key47=58:58
+Key48=34:34
+Key49=126:126
+Key50=65505:0
+Key51=124:124
+Key52=90:90
+Key53=88:88
+Key54=67:67
+Key55=86:86
+Key56=66:66
+Key57=78:78
+Key58=77:77
+Key59=60:60
+Key60=62:62
+Key61=63:63
+Key62=65506:0
+Key63=65450:42
+Key64=65511:0
+Key65=32:32
+Key66=65509:0
+Key67=65470:0
+Key68=65471:0
+Key69=65472:0
+Key70=65473:0
+Key71=65474:0
+Key72=65475:0
+Key73=65476:0
+Key74=65477:0
+Key75=65478:0
+Key76=65479:0
+Key77=65407:0
+Key78=65300:0
+Key79=65463:55
+Key80=65464:56
+Key81=65465:57
+Key82=65453:45
+Key83=65460:52
+Key84=65461:53
+Key85=65462:54
+Key86=65451:43
+Key87=65457:49
+Key88=65458:50
+Key89=65459:51
+Key90=65456:48
+Key91=65454:46
+Key92=0:0
+Key93=0:0
+Key94=166:166
+Key95=65480:0
+Key96=65481:0
+Key97=65360:0
+Key98=65362:0
+Key99=65365:0
+Key100=65361:0
+Key101=0:0
+Key102=65363:0
+Key103=65367:0
+Key104=65364:0
+Key105=65366:0
+Key106=65379:0
+Key107=65535:127
+Key108=65421:13
+Key109=65508:0
+Key110=65299:0
+Key111=65377:0
+Key112=65455:47
+Key113=65512:0
+Key114=0:0
+Key115=65515:0
+Key116=65516:0
+Key117=65383:0
+Key118=0:0
+Key119=0:0
+Key120=0:0
+Key121=0:0
+Key122=0:0
+Key123=0:0
+Key124=65027:0
+Key125=65513:0
+Key126=65469:61
+Key127=65515:0
+Key128=65517:0
+Key129=0:0
+Key130=0:0
+Key131=0:0
+Key132=0:0
+Key133=0:0
+Key134=65454:46
+Key135=0:0
+Key136=0:0
+Key137=0:0
+
+[capslock]
+Key8=65406:0
+Key9=65307:27
+Key10=49:49
+Key11=50:50
+Key12=51:51
+Key13=52:52
+Key14=53:53
+Key15=54:54
+Key16=55:55
+Key17=56:56
+Key18=57:57
+Key19=48:48
+Key20=45:45
+Key21=61:61
+Key22=65288:8
+Key23=65289:9
+Key24=81:81
+Key25=87:87
+Key26=69:69
+Key27=82:82
+Key28=84:84
+Key29=89:89
+Key30=85:85
+Key31=73:73
+Key32=79:79
+Key33=80:80
+Key34=91:91
+Key35=93:93
+Key36=65293:13
+Key37=65507:0
+Key38=65:65
+Key39=83:83
+Key40=68:68
+Key41=70:70
+Key42=71:71
+Key43=72:72
+Key44=74:74
+Key45=75:75
+Key46=76:76
+Key47=59:59
+Key48=39:39
+Key49=96:96
+Key50=65505:0
+Key51=92:92
+Key52=90:90
+Key53=88:88
+Key54=67:67
+Key55=86:86
+Key56=66:66
+Key57=78:78
+Key58=77:77
+Key59=44:44
+Key60=46:46
+Key61=47:47
+Key62=65506:0
+Key63=65450:42
+Key64=65513:0
+Key65=32:32
+Key66=65509:0
+Key67=65470:0
+Key68=65471:0
+Key69=65472:0
+Key70=65473:0
+Key71=65474:0
+Key72=65475:0
+Key73=65476:0
+Key74=65477:0
+Key75=65478:0
+Key76=65479:0
+Key77=65407:0
+Key78=65300:0
+Key79=65429:0
+Key80=65431:0
+Key81=65434:0
+Key82=65453:45
+Key83=65430:0
+Key84=65437:0
+Key85=65432:0
+Key86=65451:43
+Key87=65436:0
+Key88=65433:0
+Key89=65435:0
+Key90=65438:0
+Key91=65439:0
+Key92=0:0
+Key93=0:0
+Key94=60:60
+Key95=65480:0
+Key96=65481:0
+Key97=65360:0
+Key98=65362:0
+Key99=65365:0
+Key100=65361:0
+Key101=0:0
+Key102=65363:0
+Key103=65367:0
+Key104=65364:0
+Key105=65366:0
+Key106=65379:0
+Key107=65535:127
+Key108=65421:13
+Key109=65508:0
+Key110=65299:0
+Key111=65377:0
+Key112=65455:47
+Key113=65514:0
+Key114=0:0
+Key115=65515:0
+Key116=65516:0
+Key117=65383:0
+Key118=0:0
+Key119=0:0
+Key120=0:0
+Key121=0:0
+Key122=0:0
+Key123=0:0
+Key124=65027:0
+Key125=0:0
+Key126=65469:61
+Key127=0:0
+Key128=0:0
+Key129=0:0
+Key130=0:0
+Key131=0:0
+Key132=0:0
+Key133=0:0
+Key134=65454:46
+Key135=0:0
+Key136=0:0
+Key137=0:0
+
+[capslockaltgr]
+Key8=65406:0
+Key9=65307:27
+Key10=49:49
+Key11=50:50
+Key12=51:51
+Key13=52:52
+Key14=53:53
+Key15=54:54
+Key16=55:55
+Key17=56:56
+Key18=57:57
+Key19=48:48
+Key20=45:45
+Key21=61:61
+Key22=65288:8
+Key23=65289:9
+Key24=81:81
+Key25=87:87
+Key26=69:69
+Key27=82:82
+Key28=84:84
+Key29=89:89
+Key30=85:85
+Key31=73:73
+Key32=79:79
+Key33=80:80
+Key34=91:91
+Key35=93:93
+Key36=65293:13
+Key37=65507:0
+Key38=65:65
+Key39=83:83
+Key40=68:68
+Key41=70:70
+Key42=71:71
+Key43=72:72
+Key44=74:74
+Key45=75:75
+Key46=76:76
+Key47=59:59
+Key48=39:39
+Key49=96:96
+Key50=65505:0
+Key51=92:92
+Key52=90:90
+Key53=88:88
+Key54=67:67
+Key55=86:86
+Key56=66:66
+Key57=78:78
+Key58=77:77
+Key59=44:44
+Key60=46:46
+Key61=47:47
+Key62=65506:0
+Key63=65450:42
+Key64=65513:0
+Key65=32:32
+Key66=65509:0
+Key67=65470:0
+Key68=65471:0
+Key69=65472:0
+Key70=65473:0
+Key71=65474:0
+Key72=65475:0
+Key73=65476:0
+Key74=65477:0
+Key75=65478:0
+Key76=65479:0
+Key77=65407:0
+Key78=65300:0
+Key79=65429:0
+Key80=65431:0
+Key81=65434:0
+Key82=65453:45
+Key83=65430:0
+Key84=65437:0
+Key85=65432:0
+Key86=65451:43
+Key87=65436:0
+Key88=65433:0
+Key89=65435:0
+Key90=65438:0
+Key91=65439:0
+Key92=0:0
+Key93=0:0
+Key94=124:124
+Key95=65480:0
+Key96=65481:0
+Key97=65360:0
+Key98=65362:0
+Key99=65365:0
+Key100=65361:0
+Key101=0:0
+Key102=65363:0
+Key103=65367:0
+Key104=65364:0
+Key105=65366:0
+Key106=65379:0
+Key107=65535:127
+Key108=65421:13
+Key109=65508:0
+Key110=65299:0
+Key111=65377:0
+Key112=65455:47
+Key113=65514:0
+Key114=0:0
+Key115=65515:0
+Key116=65516:0
+Key117=65383:0
+Key118=0:0
+Key119=0:0
+Key120=0:0
+Key121=0:0
+Key122=0:0
+Key123=0:0
+Key124=65027:0
+Key125=0:0
+Key126=65469:61
+Key127=0:0
+Key128=0:0
+Key129=0:0
+Key130=0:0
+Key131=0:0
+Key132=0:0
+Key133=0:0
+Key134=65454:46
+Key135=0:0
+Key136=0:0
+Key137=0:0
+
+[shiftcapslock]
+Key8=65406:0
+Key9=65307:27
+Key10=33:33
+Key11=64:64
+Key12=35:35
+Key13=36:36
+Key14=37:37
+Key15=94:94
+Key16=38:38
+Key17=42:42
+Key18=40:40
+Key19=41:41
+Key20=95:95
+Key21=43:43
+Key22=65288:8
+Key23=65056:0
+Key24=113:113
+Key25=119:119
+Key26=101:101
+Key27=114:114
+Key28=116:116
+Key29=121:121
+Key30=117:117
+Key31=105:105
+Key32=111:111
+Key33=112:112
+Key34=123:123
+Key35=125:125
+Key36=65293:13
+Key37=65507:0
+Key38=97:97
+Key39=115:115
+Key40=100:100
+Key41=102:102
+Key42=103:103
+Key43=104:104
+Key44=106:106
+Key45=107:107
+Key46=108:108
+Key47=58:58
+Key48=34:34
+Key49=126:126
+Key50=65505:0
+Key51=124:124
+Key52=122:122
+Key53=120:120
+Key54=99:99
+Key55=118:118
+Key56=98:98
+Key57=110:110
+Key58=109:109
+Key59=60:60
+Key60=62:62
+Key61=63:63
+Key62=65506:0
+Key63=65450:42
+Key64=65511:0
+Key65=32:32
+Key66=65509:0
+Key67=65470:0
+Key68=65471:0
+Key69=65472:0
+Key70=65473:0
+Key71=65474:0
+Key72=65475:0
+Key73=65476:0
+Key74=65477:0
+Key75=65478:0
+Key76=65479:0
+Key77=65407:0
+Key78=65300:0
+Key79=65463:55
+Key80=65464:56
+Key81=65465:57
+Key82=65453:45
+Key83=65460:52
+Key84=65461:53
+Key85=65462:54
+Key86=65451:43
+Key87=65457:49
+Key88=65458:50
+Key89=65459:51
+Key90=65456:48
+Key91=65454:46
+Key92=0:0
+Key93=0:0
+Key94=62:62
+Key95=65480:0
+Key96=65481:0
+Key97=65360:0
+Key98=65362:0
+Key99=65365:0
+Key100=65361:0
+Key101=0:0
+Key102=65363:0
+Key103=65367:0
+Key104=65364:0
+Key105=65366:0
+Key106=65379:0
+Key107=65535:127
+Key108=65421:13
+Key109=65508:0
+Key110=65299:0
+Key111=65377:0
+Key112=65455:47
+Key113=65512:0
+Key114=0:0
+Key115=65515:0
+Key116=65516:0
+Key117=65383:0
+Key118=0:0
+Key119=0:0
+Key120=0:0
+Key121=0:0
+Key122=0:0
+Key123=0:0
+Key124=65027:0
+Key125=65513:0
+Key126=65469:61
+Key127=65515:0
+Key128=65517:0
+Key129=0:0
+Key130=0:0
+Key131=0:0
+Key132=0:0
+Key133=0:0
+Key134=65454:46
+Key135=0:0
+Key136=0:0
+Key137=0:0
+
+[shiftcapslockaltgr]
+Key8=65406:0
+Key9=65307:27
+Key10=33:33
+Key11=64:64
+Key12=35:35
+Key13=36:36
+Key14=37:37
+Key15=94:94
+Key16=38:38
+Key17=42:42
+Key18=40:40
+Key19=41:41
+Key20=95:95
+Key21=43:43
+Key22=65288:8
+Key23=65056:0
+Key24=113:113
+Key25=119:119
+Key26=101:101
+Key27=114:114
+Key28=116:116
+Key29=121:121
+Key30=117:117
+Key31=105:105
+Key32=111:111
+Key33=112:112
+Key34=123:123
+Key35=125:125
+Key36=65293:13
+Key37=65507:0
+Key38=97:97
+Key39=115:115
+Key40=100:100
+Key41=102:102
+Key42=103:103
+Key43=104:104
+Key44=106:106
+Key45=107:107
+Key46=108:108
+Key47=58:58
+Key48=34:34
+Key49=126:126
+Key50=65505:0
+Key51=124:124
+Key52=122:122
+Key53=120:120
+Key54=99:99
+Key55=118:118
+Key56=98:98
+Key57=110:110
+Key58=109:109
+Key59=60:60
+Key60=62:62
+Key61=63:63
+Key62=65506:0
+Key63=65450:42
+Key64=65511:0
+Key65=32:32
+Key66=65509:0
+Key67=65470:0
+Key68=65471:0
+Key69=65472:0
+Key70=65473:0
+Key71=65474:0
+Key72=65475:0
+Key73=65476:0
+Key74=65477:0
+Key75=65478:0
+Key76=65479:0
+Key77=65407:0
+Key78=65300:0
+Key79=65463:55
+Key80=65464:56
+Key81=65465:57
+Key82=65453:45
+Key83=65460:52
+Key84=65461:53
+Key85=65462:54
+Key86=65451:43
+Key87=65457:49
+Key88=65458:50
+Key89=65459:51
+Key90=65456:48
+Key91=65454:46
+Key92=0:0
+Key93=0:0
+Key94=166:166
+Key95=65480:0
+Key96=65481:0
+Key97=65360:0
+Key98=65362:0
+Key99=65365:0
+Key100=65361:0
+Key101=0:0
+Key102=65363:0
+Key103=65367:0
+Key104=65364:0
+Key105=65366:0
+Key106=65379:0
+Key107=65535:127
+Key108=65421:13
+Key109=65508:0
+Key110=65299:0
+Key111=65377:0
+Key112=65455:47
+Key113=65512:0
+Key114=0:0
+Key115=65515:0
+Key116=65516:0
+Key117=65383:0
+Key118=0:0
+Key119=0:0
+Key120=0:0
+Key121=0:0
+Key122=0:0
+Key123=0:0
+Key124=65027:0
+Key125=65513:0
+Key126=65469:61
+Key127=65515:0
+Key128=65517:0
+Key129=0:0
+Key130=0:0
+Key131=0:0
+Key132=0:0
+Key133=0:0
+Key134=65454:46
+Key135=0:0
+Key136=0:0
+Key137=0:0
+Key209=65329:0
+Key210=65332:0
diff --git a/instfiles/km-0414.ini b/instfiles/km-00000414.ini
index 08ba2ab8..08ba2ab8 100644
--- a/instfiles/km-0414.ini
+++ b/instfiles/km-00000414.ini
diff --git a/instfiles/km-0415.ini b/instfiles/km-00000415.ini
index 884e534f..884e534f 100644
--- a/instfiles/km-0415.ini
+++ b/instfiles/km-00000415.ini
diff --git a/instfiles/km-0416.ini b/instfiles/km-00000416.ini
index 9f2eb4db..9f2eb4db 100644
--- a/instfiles/km-0416.ini
+++ b/instfiles/km-00000416.ini
diff --git a/instfiles/km-0419.ini b/instfiles/km-00000419.ini
index 81395886..81395886 100644
--- a/instfiles/km-0419.ini
+++ b/instfiles/km-00000419.ini
diff --git a/instfiles/km-0000041d.ini b/instfiles/km-0000041d.ini
new file mode 100644
index 00000000..3cf432b2
--- /dev/null
+++ b/instfiles/km-0000041d.ini
@@ -0,0 +1,791 @@
+[noshift]
+Key8=65406:0
+Key9=65307:27
+Key10=49:49
+Key11=50:50
+Key12=51:51
+Key13=52:52
+Key14=53:53
+Key15=54:54
+Key16=55:55
+Key17=56:56
+Key18=57:57
+Key19=48:48
+Key20=43:43
+Key21=65105:180
+Key22=65288:8
+Key23=65289:9
+Key24=113:113
+Key25=119:119
+Key26=101:101
+Key27=114:114
+Key28=116:116
+Key29=121:121
+Key30=117:117
+Key31=105:105
+Key32=111:111
+Key33=112:112
+Key34=229:229
+Key35=65111:168
+Key36=65293:13
+Key37=65507:0
+Key38=97:97
+Key39=115:115
+Key40=100:100
+Key41=102:102
+Key42=103:103
+Key43=104:104
+Key44=106:106
+Key45=107:107
+Key46=108:108
+Key47=246:246
+Key48=228:228
+Key49=167:167
+Key50=65505:0
+Key51=39:39
+Key52=122:122
+Key53=120:120
+Key54=99:99
+Key55=118:118
+Key56=98:98
+Key57=110:110
+Key58=109:109
+Key59=44:44
+Key60=46:46
+Key61=45:45
+Key62=65506:0
+Key63=65450:42
+Key64=65513:0
+Key65=32:32
+Key66=65509:0
+Key67=65470:0
+Key68=65471:0
+Key69=65472:0
+Key70=65473:0
+Key71=65474:0
+Key72=65475:0
+Key73=65476:0
+Key74=65477:0
+Key75=65478:0
+Key76=65479:0
+Key77=65407:0
+Key78=65300:0
+Key79=65429:0
+Key80=65431:0
+Key81=65434:0
+Key82=65453:45
+Key83=65430:0
+Key84=65437:0
+Key85=65432:0
+Key86=65451:43
+Key87=65436:0
+Key88=65433:0
+Key89=65435:0
+Key90=65438:0
+Key91=65439:0
+Key92=65377:0
+Key93=0:0
+Key94=60:60
+Key95=65480:0
+Key96=65481:0
+Key97=65360:0
+Key98=65362:0
+Key99=65365:0
+Key100=65361:0
+Key101=0:0
+Key102=65363:0
+Key103=65367:0
+Key104=65364:0
+Key105=65366:0
+Key106=65379:0
+Key107=65535:127
+Key108=65421:13
+Key109=65508:0
+Key110=65299:0
+Key111=65377:0
+Key112=65455:47
+Key113=65027:0
+Key114=269025049:0
+Key115=65515:0
+Key116=65312:0
+Key117=0:0
+Key118=269025153:0
+Key119=269025093:0
+Key120=269025094:0
+Key121=269025095:0
+Key122=269025096:0
+Key123=0:0
+Key124=65027:0
+Key125=0:0
+Key126=65469:61
+Key127=0:0
+Key128=0:0
+Key129=0:0
+Key130=0:0
+Key131=0:0
+Key132=0:0
+Key133=0:0
+Key134=0:0
+Key135=0:0
+Key136=0:0
+Key137=0:0
+
+[shift]
+Key8=65406:0
+Key9=65307:27
+Key10=33:33
+Key11=34:34
+Key12=35:35
+Key13=164:164
+Key14=37:37
+Key15=38:38
+Key16=47:47
+Key17=40:40
+Key18=41:41
+Key19=61:61
+Key20=63:63
+Key21=65104:96
+Key22=65288:8
+Key23=65056:0
+Key24=81:81
+Key25=87:87
+Key26=69:69
+Key27=82:82
+Key28=84:84
+Key29=89:89
+Key30=85:85
+Key31=73:73
+Key32=79:79
+Key33=80:80
+Key34=197:197
+Key35=65106:94
+Key36=65293:13
+Key37=65507:0
+Key38=65:65
+Key39=83:83
+Key40=68:68
+Key41=70:70
+Key42=71:71
+Key43=72:72
+Key44=74:74
+Key45=75:75
+Key46=76:76
+Key47=214:214
+Key48=196:196
+Key49=189:189
+Key50=65505:0
+Key51=42:42
+Key52=90:90
+Key53=88:88
+Key54=67:67
+Key55=86:86
+Key56=66:66
+Key57=78:78
+Key58=77:77
+Key59=59:59
+Key60=58:58
+Key61=95:95
+Key62=65506:0
+Key63=65450:42
+Key64=65032:0
+Key65=32:32
+Key66=65509:0
+Key67=65470:0
+Key68=65471:0
+Key69=65472:0
+Key70=65473:0
+Key71=65474:0
+Key72=65475:0
+Key73=65476:0
+Key74=65477:0
+Key75=65478:0
+Key76=65479:0
+Key77=65407:0
+Key78=65300:0
+Key79=65463:55
+Key80=65464:56
+Key81=65465:57
+Key82=65453:45
+Key83=65460:52
+Key84=65461:53
+Key85=65462:54
+Key86=65451:43
+Key87=65457:49
+Key88=65458:50
+Key89=65459:51
+Key90=65456:48
+Key91=65452:44
+Key92=65377:0
+Key93=0:0
+Key94=62:62
+Key95=65480:0
+Key96=65481:0
+Key97=65360:0
+Key98=65362:0
+Key99=65365:0
+Key100=65361:0
+Key101=0:0
+Key102=65363:0
+Key103=65367:0
+Key104=65364:0
+Key105=65366:0
+Key106=65379:0
+Key107=65535:127
+Key108=65421:13
+Key109=65508:0
+Key110=65299:0
+Key111=65377:0
+Key112=65455:47
+Key113=65027:0
+Key114=269025049:0
+Key115=65515:0
+Key116=65312:0
+Key117=0:0
+Key118=269025153:0
+Key119=269025093:0
+Key120=269025094:0
+Key121=269025095:0
+Key122=269025096:0
+Key123=0:0
+Key124=65027:0
+Key125=65513:0
+Key126=65469:61
+Key127=65515:0
+Key128=65517:0
+Key129=0:0
+Key130=0:0
+Key131=0:0
+Key132=0:0
+Key133=0:0
+Key134=0:0
+Key135=0:0
+Key136=0:0
+Key137=0:0
+
+[altgr]
+Key8=65406:0
+Key9=65307:27
+Key10=161:161
+Key11=64:64
+Key12=163:163
+Key13=36:36
+Key14=8364:8364
+Key15=165:165
+Key16=123:123
+Key17=91:91
+Key18=93:93
+Key19=125:125
+Key20=92:92
+Key21=177:177
+Key22=65288:8
+Key23=65289:9
+Key24=64:64
+Key25=435:322
+Key26=8364:8364
+Key27=174:174
+Key28=254:254
+Key29=2299:8592
+Key30=2302:8595
+Key31=2301:8594
+Key32=5053:339
+Key33=254:254
+Key34=65111:168
+Key35=65107:126
+Key36=65293:13
+Key37=65507:0
+Key38=170:170
+Key39=223:223
+Key40=240:240
+Key41=496:273
+Key42=959:331
+Key43=689:295
+Key44=65121:0
+Key45=930:312
+Key46=435:322
+Key47=248:248
+Key48=230:230
+Key49=182:182
+Key50=65505:0
+Key51=180:180
+Key52=171:171
+Key53=187:187
+Key54=169:169
+Key55=2770:8220
+Key56=2771:8221
+Key57=110:110
+Key58=181:181
+Key59=65115:184
+Key60=183:183
+Key61=65120:0
+Key62=65506:0
+Key63=65450:42
+Key64=65513:0
+Key65=32:32
+Key66=65509:0
+Key67=65470:0
+Key68=65471:0
+Key69=65472:0
+Key70=65473:0
+Key71=65474:0
+Key72=65475:0
+Key73=65476:0
+Key74=65477:0
+Key75=65478:0
+Key76=65479:0
+Key77=65407:0
+Key78=65300:0
+Key79=65429:0
+Key80=65431:0
+Key81=65434:0
+Key82=65453:45
+Key83=65430:0
+Key84=65437:0
+Key85=65432:0
+Key86=65451:43
+Key87=65436:0
+Key88=65433:0
+Key89=65435:0
+Key90=65438:0
+Key91=65439:0
+Key92=65377:0
+Key93=0:0
+Key94=124:124
+Key95=65480:0
+Key96=65481:0
+Key97=65360:0
+Key98=65362:0
+Key99=65365:0
+Key100=65361:0
+Key101=0:0
+Key102=65363:0
+Key103=65367:0
+Key104=65364:0
+Key105=65366:0
+Key106=65379:0
+Key107=65535:127
+Key108=65421:13
+Key109=65508:0
+Key110=65299:0
+Key111=65377:0
+Key112=65455:47
+Key113=65027:0
+Key114=269025049:0
+Key115=65515:0
+Key116=65312:0
+Key117=0:0
+Key118=269025153:0
+Key119=269025093:0
+Key120=269025094:0
+Key121=269025095:0
+Key122=269025096:0
+Key123=0:0
+Key124=65027:0
+Key125=0:0
+Key126=65469:61
+Key127=0:0
+Key128=0:0
+Key129=0:0
+Key130=0:0
+Key131=0:0
+Key132=0:0
+Key133=0:0
+Key134=0:0
+Key135=0:0
+Key136=0:0
+Key137=0:0
+
+[shiftaltgr]
+Key8=65406:0
+Key9=65307:27
+Key10=185:185
+Key11=178:178
+Key12=179:179
+Key13=188:188
+Key14=162:162
+Key15=2757:8541
+Key16=247:247
+Key17=171:171
+Key18=187:187
+Key19=176:176
+Key20=191:191
+Key21=172:172
+Key22=65288:8
+Key23=65056:0
+Key24=2009:937
+Key25=419:321
+Key26=162:162
+Key27=174:174
+Key28=222:222
+Key29=165:165
+Key30=2300:8593
+Key31=697:305
+Key32=5052:338
+Key33=222:222
+Key34=65112:176
+Key35=65114:711
+Key36=65293:13
+Key37=65507:0
+Key38=186:186
+Key39=167:167
+Key40=208:208
+Key41=170:170
+Key42=957:330
+Key43=673:294
+Key44=65122:0
+Key45=38:38
+Key46=419:321
+Key47=216:216
+Key48=198:198
+Key49=190:190
+Key50=65505:0
+Key51=215:215
+Key52=60:60
+Key53=62:62
+Key54=169:169
+Key55=2768:8216
+Key56=2769:8217
+Key57=78:78
+Key58=186:186
+Key59=65116:731
+Key60=65110:729
+Key61=65110:729
+Key62=65506:0
+Key63=65450:42
+Key64=65032:0
+Key65=160:160
+Key66=65509:0
+Key67=65470:0
+Key68=65471:0
+Key69=65472:0
+Key70=65473:0
+Key71=65474:0
+Key72=65475:0
+Key73=65476:0
+Key74=65477:0
+Key75=65478:0
+Key76=65479:0
+Key77=65407:0
+Key78=65300:0
+Key79=65463:55
+Key80=65464:56
+Key81=65465:57
+Key82=65453:45
+Key83=65460:52
+Key84=65461:53
+Key85=65462:54
+Key86=65451:43
+Key87=65457:49
+Key88=65458:50
+Key89=65459:51
+Key90=65456:48
+Key91=65452:44
+Key92=65377:0
+Key93=0:0
+Key94=166:166
+Key95=65480:0
+Key96=65481:0
+Key97=65360:0
+Key98=65362:0
+Key99=65365:0
+Key100=65361:0
+Key101=0:0
+Key102=65363:0
+Key103=65367:0
+Key104=65364:0
+Key105=65366:0
+Key106=65379:0
+Key107=65535:127
+Key108=65421:13
+Key109=65508:0
+Key110=65299:0
+Key111=65377:0
+Key112=65455:47
+Key113=65027:0
+Key114=269025049:0
+Key115=65515:0
+Key116=65312:0
+Key117=0:0
+Key118=269025153:0
+Key119=269025093:0
+Key120=269025094:0
+Key121=269025095:0
+Key122=269025096:0
+Key123=0:0
+Key124=65027:0
+Key125=65513:0
+Key126=65469:61
+Key127=65515:0
+Key128=65517:0
+Key129=0:0
+Key130=0:0
+Key131=0:0
+Key132=0:0
+Key133=0:0
+Key134=0:0
+Key135=0:0
+Key136=0:0
+Key137=0:0
+
+[capslock]
+Key8=65406:0
+Key9=65307:27
+Key10=49:49
+Key11=50:50
+Key12=51:51
+Key13=52:52
+Key14=53:53
+Key15=54:54
+Key16=55:55
+Key17=56:56
+Key18=57:57
+Key19=48:48
+Key20=43:43
+Key21=65105:180
+Key22=65288:8
+Key23=65289:9
+Key24=81:81
+Key25=87:87
+Key26=69:69
+Key27=82:82
+Key28=84:84
+Key29=89:89
+Key30=85:85
+Key31=73:73
+Key32=79:79
+Key33=80:80
+Key34=197:197
+Key35=65111:168
+Key36=65293:13
+Key37=65507:0
+Key38=65:65
+Key39=83:83
+Key40=68:68
+Key41=70:70
+Key42=71:71
+Key43=72:72
+Key44=74:74
+Key45=75:75
+Key46=76:76
+Key47=214:214
+Key48=196:196
+Key49=167:167
+Key50=65505:0
+Key51=39:39
+Key52=90:90
+Key53=88:88
+Key54=67:67
+Key55=86:86
+Key56=66:66
+Key57=78:78
+Key58=77:77
+Key59=44:44
+Key60=46:46
+Key61=45:45
+Key62=65506:0
+Key63=65450:42
+Key64=65513:0
+Key65=32:32
+Key66=65509:0
+Key67=65470:0
+Key68=65471:0
+Key69=65472:0
+Key70=65473:0
+Key71=65474:0
+Key72=65475:0
+Key73=65476:0
+Key74=65477:0
+Key75=65478:0
+Key76=65479:0
+Key77=65407:0
+Key78=65300:0
+Key79=65429:0
+Key80=65431:0
+Key81=65434:0
+Key82=65453:45
+Key83=65430:0
+Key84=65437:0
+Key85=65432:0
+Key86=65451:43
+Key87=65436:0
+Key88=65433:0
+Key89=65435:0
+Key90=65438:0
+Key91=65439:0
+Key92=65377:0
+Key93=0:0
+Key94=60:60
+Key95=65480:0
+Key96=65481:0
+Key97=65360:0
+Key98=65362:0
+Key99=65365:0
+Key100=65361:0
+Key101=0:0
+Key102=65363:0
+Key103=65367:0
+Key104=65364:0
+Key105=65366:0
+Key106=65379:0
+Key107=65535:127
+Key108=65421:13
+Key109=65508:0
+Key110=65299:0
+Key111=65377:0
+Key112=65455:47
+Key113=65027:0
+Key114=269025049:0
+Key115=65515:0
+Key116=65312:0
+Key117=0:0
+Key118=269025153:0
+Key119=269025093:0
+Key120=269025094:0
+Key121=269025095:0
+Key122=269025096:0
+Key123=0:0
+Key124=65027:0
+Key125=0:0
+Key126=65469:61
+Key127=0:0
+Key128=0:0
+Key129=0:0
+Key130=0:0
+Key131=0:0
+Key132=0:0
+Key133=0:0
+Key134=0:0
+Key135=0:0
+Key136=0:0
+Key137=0:0
+[shiftcapslock]
+Key8=65406:0
+Key9=65307:27
+Key10=33:33
+Key11=34:34
+Key12=35:35
+Key13=164:164
+Key14=37:37
+Key15=38:38
+Key16=47:47
+Key17=40:40
+Key18=41:41
+Key19=61:61
+Key20=63:63
+Key21=65104:96
+Key22=65288:8
+Key23=65056:0
+Key24=113:113
+Key25=119:119
+Key26=101:101
+Key27=114:114
+Key28=116:116
+Key29=121:121
+Key30=117:117
+Key31=105:105
+Key32=111:111
+Key33=112:112
+Key34=229:229
+Key35=65106:94
+Key36=65293:13
+Key37=65507:0
+Key38=97:97
+Key39=115:115
+Key40=100:100
+Key41=102:102
+Key42=103:103
+Key43=104:104
+Key44=106:106
+Key45=107:107
+Key46=108:108
+Key47=246:246
+Key48=228:228
+Key49=189:189
+Key50=65505:0
+Key51=42:42
+Key52=122:122
+Key53=120:120
+Key54=99:99
+Key55=118:118
+Key56=98:98
+Key57=110:110
+Key58=109:109
+Key59=59:59
+Key60=58:58
+Key61=95:95
+Key62=65506:0
+Key63=65450:42
+Key64=65032:0
+Key65=32:32
+Key66=65509:0
+Key67=65470:0
+Key68=65471:0
+Key69=65472:0
+Key70=65473:0
+Key71=65474:0
+Key72=65475:0
+Key73=65476:0
+Key74=65477:0
+Key75=65478:0
+Key76=65479:0
+Key77=65407:0
+Key78=65300:0
+Key79=65463:55
+Key80=65464:56
+Key81=65465:57
+Key82=65453:45
+Key83=65460:52
+Key84=65461:53
+Key85=65462:54
+Key86=65451:43
+Key87=65457:49
+Key88=65458:50
+Key89=65459:51
+Key90=65456:48
+Key91=65452:44
+Key92=65377:0
+Key93=0:0
+Key94=62:62
+Key95=65480:0
+Key96=65481:0
+Key97=65360:0
+Key98=65362:0
+Key99=65365:0
+Key100=65361:0
+Key101=0:0
+Key102=65363:0
+Key103=65367:0
+Key104=65364:0
+Key105=65366:0
+Key106=65379:0
+Key107=65535:127
+Key108=65421:13
+Key109=65508:0
+Key110=65299:0
+Key111=65377:0
+Key112=65455:47
+Key113=65027:0
+Key114=269025049:0
+Key115=65515:0
+Key116=65312:0
+Key117=0:0
+Key118=269025153:0
+Key119=269025093:0
+Key120=269025094:0
+Key121=269025095:0
+Key122=269025096:0
+Key123=0:0
+Key124=65027:0
+Key125=65513:0
+Key126=65469:61
+Key127=65515:0
+Key128=65517:0
+Key129=0:0
+Key130=0:0
+Key131=0:0
+Key132=0:0
+Key133=0:0
+Key134=0:0
+Key135=0:0
+Key136=0:0
+Key137=0:0
+
diff --git a/instfiles/km-0807.ini b/instfiles/km-00000807.ini
index 7733eaf3..7733eaf3 100644
--- a/instfiles/km-0807.ini
+++ b/instfiles/km-00000807.ini
diff --git a/instfiles/km-e0010411.ini b/instfiles/km-00000809.ini
index 50ba669f..33c3dfa5 100644
--- a/instfiles/km-e0010411.ini
+++ b/instfiles/km-00000809.ini
@@ -12,7 +12,7 @@ Key17=56:56
Key18=57:57
Key19=48:48
Key20=45:45
-Key21=94:94
+Key21=61:61
Key22=65288:8
Key23=65289:9
Key24=113:113
@@ -25,8 +25,8 @@ Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
-Key34=64:64
-Key35=91:91
+Key34=91:91
+Key35=93:93
Key36=65293:13
Key37=65507:0
Key38=97:97
@@ -39,10 +39,10 @@ Key44=106:106
Key45=107:107
Key46=108:108
Key47=59:59
-Key48=58:58
-Key49=65322:0
+Key48=39:39
+Key49=96:96
Key50=65505:0
-Key51=93:93
+Key51=35:35
Key52=122:122
Key53=120:120
Key54=99:99
@@ -57,7 +57,7 @@ Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
-Key66=65328:0
+Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
@@ -85,7 +85,7 @@ Key90=65438:0
Key91=65439:0
Key92=65377:0
Key93=0:0
-Key94=60:60
+Key94=92:92
Key95=65480:0
Key96=65481:0
Key97=65360:0
@@ -104,7 +104,7 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
-Key113=65514:0
+Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
@@ -114,7 +114,7 @@ Key119=269025093:0
Key120=269025094:0
Key121=269025095:0
Key122=269025096:0
-Key123=92:92
+Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
@@ -124,7 +124,7 @@ Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
-Key133=165:165
+Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
@@ -135,16 +135,16 @@ Key8=65406:0
Key9=65307:27
Key10=33:33
Key11=34:34
-Key12=35:35
+Key12=163:163
Key13=36:36
Key14=37:37
-Key15=38:38
-Key16=39:39
-Key17=40:40
-Key18=41:41
-Key19=48:48
-Key20=61:61
-Key21=126:126
+Key15=94:94
+Key16=38:38
+Key17=42:42
+Key18=40:40
+Key19=41:41
+Key20=95:95
+Key21=43:43
Key22=65288:8
Key23=65056:0
Key24=81:81
@@ -157,8 +157,8 @@ Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
-Key34=96:96
-Key35=123:123
+Key34=123:123
+Key35=125:125
Key36=65293:13
Key37=65507:0
Key38=65:65
@@ -170,11 +170,11 @@ Key43=72:72
Key44=74:74
Key45=75:75
Key46=76:76
-Key47=43:43
-Key48=42:42
-Key49=65322:0
+Key47=58:58
+Key48=64:64
+Key49=172:172
Key50=65505:0
-Key51=125:125
+Key51=126:126
Key52=90:90
Key53=88:88
Key54=67:67
@@ -217,7 +217,7 @@ Key90=65456:48
Key91=65454:46
Key92=65377:0
Key93=0:0
-Key94=62:62
+Key94=124:124
Key95=65480:0
Key96=65481:0
Key97=65360:0
@@ -236,7 +236,7 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
-Key113=65512:0
+Key113=65312:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
@@ -246,7 +246,7 @@ Key119=269025093:0
Key120=269025094:0
Key121=269025095:0
Key122=269025096:0
-Key123=95:95
+Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
@@ -256,7 +256,7 @@ Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
-Key133=124:124
+Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
@@ -265,63 +265,63 @@ Key137=0:0
[altgr]
Key8=65406:0
Key9=65307:27
-Key10=49:49
-Key11=50:50
-Key12=51:51
-Key13=52:52
-Key14=53:53
-Key15=54:54
-Key16=55:55
-Key17=56:56
-Key18=57:57
-Key19=48:48
-Key20=45:45
-Key21=94:94
+Key10=185:185
+Key11=178:178
+Key12=179:179
+Key13=8364:8364
+Key14=189:189
+Key15=190:190
+Key16=123:123
+Key17=91:91
+Key18=93:93
+Key19=125:125
+Key20=92:92
+Key21=65115:184
Key22=65288:8
Key23=65289:9
-Key24=113:113
-Key25=119:119
+Key24=64:64
+Key25=435:322
Key26=101:101
-Key27=114:114
-Key28=116:116
-Key29=121:121
-Key30=117:117
-Key31=105:105
-Key32=111:111
-Key33=112:112
-Key34=64:64
-Key35=91:91
+Key27=182:182
+Key28=956:359
+Key29=2299:8592
+Key30=2302:8595
+Key31=2301:8594
+Key32=248:248
+Key33=254:254
+Key34=65111:168
+Key35=65107:126
Key36=65293:13
Key37=65507:0
-Key38=97:97
-Key39=115:115
-Key40=100:100
-Key41=102:102
-Key42=103:103
-Key43=104:104
-Key44=106:106
-Key45=107:107
-Key46=108:108
-Key47=59:59
-Key48=58:58
-Key49=65322:0
+Key38=230:230
+Key39=223:223
+Key40=240:240
+Key41=496:273
+Key42=959:331
+Key43=689:295
+Key44=65121:0
+Key45=930:312
+Key46=435:322
+Key47=65105:180
+Key48=65106:94
+Key49=124:124
Key50=65505:0
-Key51=93:93
-Key52=122:122
-Key53=120:120
-Key54=99:99
-Key55=118:118
-Key56=98:98
+Key51=65104:96
+Key52=171:171
+Key53=187:187
+Key54=162:162
+Key55=2770:8220
+Key56=2771:8221
Key57=110:110
-Key58=109:109
-Key59=44:44
-Key60=46:46
-Key61=47:47
+Key58=181:181
+Key59=2211:0
+Key60=183:183
+Key61=65120:0
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
-Key66=65328:0
+Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
@@ -368,7 +368,7 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
-Key113=65514:0
+Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
@@ -388,7 +388,7 @@ Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
-Key133=165:165
+Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
@@ -397,58 +397,58 @@ Key137=0:0
[shiftaltgr]
Key8=65406:0
Key9=65307:27
-Key10=33:33
-Key11=34:34
-Key12=35:35
-Key13=36:36
-Key14=37:37
-Key15=38:38
-Key16=39:39
-Key17=40:40
-Key18=41:41
-Key19=48:48
-Key20=61:61
-Key21=126:126
+Key10=161:161
+Key11=2755:8539
+Key12=163:163
+Key13=188:188
+Key14=2756:8540
+Key15=2757:8541
+Key16=2758:8542
+Key17=2761:8482
+Key18=177:177
+Key19=176:176
+Key20=191:191
+Key21=65116:731
Key22=65288:8
Key23=65056:0
-Key24=81:81
-Key25=87:87
+Key24=2009:937
+Key25=419:321
Key26=69:69
-Key27=82:82
-Key28=84:84
-Key29=89:89
-Key30=85:85
-Key31=73:73
-Key32=79:79
-Key33=80:80
-Key34=96:96
-Key35=123:123
+Key27=174:174
+Key28=940:358
+Key29=165:165
+Key30=2300:8593
+Key31=697:305
+Key32=216:216
+Key33=222:222
+Key34=65112:176
+Key35=65108:175
Key36=65293:13
Key37=65507:0
-Key38=65:65
-Key39=83:83
-Key40=68:68
-Key41=70:70
-Key42=71:71
-Key43=72:72
-Key44=74:74
-Key45=75:75
-Key46=76:76
-Key47=43:43
-Key48=42:42
-Key49=65322:0
+Key38=198:198
+Key39=167:167
+Key40=208:208
+Key41=170:170
+Key42=957:330
+Key43=673:294
+Key44=65122:0
+Key45=38:38
+Key46=419:321
+Key47=65113:733
+Key48=65114:711
+Key49=124:124
Key50=65505:0
-Key51=125:125
-Key52=90:90
-Key53=88:88
-Key54=67:67
-Key55=86:86
-Key56=66:66
+Key51=65109:728
+Key52=60:60
+Key53=62:62
+Key54=169:169
+Key55=2768:8216
+Key56=2769:8217
Key57=78:78
-Key58=77:77
-Key59=60:60
-Key60=62:62
-Key61=63:63
+Key58=186:186
+Key59=215:215
+Key60=247:247
+Key61=65110:729
Key62=65506:0
Key63=65450:42
Key64=65511:0
@@ -500,7 +500,7 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
-Key113=65512:0
+Key113=65312:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
@@ -520,7 +520,7 @@ Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
-Key133=124:124
+Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
@@ -540,7 +540,7 @@ Key17=56:56
Key18=57:57
Key19=48:48
Key20=45:45
-Key21=94:94
+Key21=61:61
Key22=65288:8
Key23=65289:9
Key24=81:81
@@ -553,8 +553,8 @@ Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
-Key34=64:64
-Key35=91:91
+Key34=91:91
+Key35=93:93
Key36=65293:13
Key37=65507:0
Key38=65:65
@@ -567,10 +567,10 @@ Key44=74:74
Key45=75:75
Key46=76:76
Key47=59:59
-Key48=58:58
-Key49=65322:0
+Key48=39:39
+Key49=96:96
Key50=65505:0
-Key51=93:93
+Key51=35:35
Key52=90:90
Key53=88:88
Key54=67:67
@@ -585,7 +585,7 @@ Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
-Key66=65328:0
+Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
@@ -613,7 +613,7 @@ Key90=65438:0
Key91=65439:0
Key92=65377:0
Key93=0:0
-Key94=60:60
+Key94=92:92
Key95=65480:0
Key96=65481:0
Key97=65360:0
@@ -632,7 +632,7 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
-Key113=65514:0
+Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
@@ -652,7 +652,7 @@ Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
-Key133=165:165
+Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
@@ -661,63 +661,63 @@ Key137=0:0
[capslockaltgr]
Key8=65406:0
Key9=65307:27
-Key10=49:49
-Key11=50:50
-Key12=51:51
-Key13=52:52
-Key14=53:53
-Key15=54:54
-Key16=55:55
-Key17=56:56
-Key18=57:57
-Key19=48:48
-Key20=45:45
-Key21=94:94
+Key10=185:185
+Key11=178:178
+Key12=179:179
+Key13=8364:8364
+Key14=189:189
+Key15=190:190
+Key16=123:123
+Key17=91:91
+Key18=93:93
+Key19=125:125
+Key20=92:92
+Key21=65115:184
Key22=65288:8
Key23=65289:9
-Key24=81:81
-Key25=87:87
+Key24=64:64
+Key25=419:321
Key26=69:69
-Key27=82:82
-Key28=84:84
-Key29=89:89
-Key30=85:85
-Key31=73:73
-Key32=79:79
-Key33=80:80
-Key34=64:64
-Key35=91:91
+Key27=182:182
+Key28=940:358
+Key29=2299:8592
+Key30=2302:8595
+Key31=2301:8594
+Key32=216:216
+Key33=222:222
+Key34=65111:168
+Key35=65107:126
Key36=65293:13
Key37=65507:0
-Key38=65:65
-Key39=83:83
-Key40=68:68
-Key41=70:70
-Key42=71:71
-Key43=72:72
-Key44=74:74
-Key45=75:75
-Key46=76:76
-Key47=59:59
-Key48=58:58
-Key49=65322:0
+Key38=198:198
+Key39=223:223
+Key40=208:208
+Key41=464:272
+Key42=957:330
+Key43=673:294
+Key44=65121:0
+Key45=930:312
+Key46=419:321
+Key47=65105:180
+Key48=65106:94
+Key49=124:124
Key50=65505:0
-Key51=93:93
-Key52=90:90
-Key53=88:88
-Key54=67:67
-Key55=86:86
-Key56=66:66
+Key51=65104:96
+Key52=171:171
+Key53=187:187
+Key54=162:162
+Key55=2770:8220
+Key56=2771:8221
Key57=78:78
-Key58=77:77
-Key59=44:44
-Key60=46:46
-Key61=47:47
+Key58=924:0
+Key59=2211:0
+Key60=183:183
+Key61=65120:0
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
-Key66=65328:0
+Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
@@ -764,7 +764,7 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
-Key113=65514:0
+Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
@@ -784,7 +784,7 @@ Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
-Key133=165:165
+Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
@@ -795,16 +795,16 @@ Key8=65406:0
Key9=65307:27
Key10=33:33
Key11=34:34
-Key12=35:35
+Key12=163:163
Key13=36:36
Key14=37:37
-Key15=38:38
-Key16=39:39
-Key17=40:40
-Key18=41:41
-Key19=48:48
-Key20=61:61
-Key21=126:126
+Key15=94:94
+Key16=38:38
+Key17=42:42
+Key18=40:40
+Key19=41:41
+Key20=95:95
+Key21=43:43
Key22=65288:8
Key23=65056:0
Key24=113:113
@@ -817,8 +817,8 @@ Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
-Key34=96:96
-Key35=123:123
+Key34=123:123
+Key35=125:125
Key36=65293:13
Key37=65507:0
Key38=97:97
@@ -830,11 +830,11 @@ Key43=104:104
Key44=106:106
Key45=107:107
Key46=108:108
-Key47=43:43
-Key48=42:42
-Key49=65322:0
+Key47=58:58
+Key48=64:64
+Key49=172:172
Key50=65505:0
-Key51=125:125
+Key51=126:126
Key52=122:122
Key53=120:120
Key54=99:99
@@ -877,7 +877,7 @@ Key90=65456:48
Key91=65454:46
Key92=65377:0
Key93=0:0
-Key94=62:62
+Key94=124:124
Key95=65480:0
Key96=65481:0
Key97=65360:0
@@ -896,7 +896,7 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
-Key113=65512:0
+Key113=65312:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
@@ -916,7 +916,7 @@ Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
-Key133=124:124
+Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
@@ -925,58 +925,58 @@ Key137=0:0
[shiftcapslockaltgr]
Key8=65406:0
Key9=65307:27
-Key10=33:33
-Key11=34:34
-Key12=35:35
-Key13=36:36
-Key14=37:37
-Key15=38:38
-Key16=39:39
-Key17=40:40
-Key18=41:41
-Key19=48:48
-Key20=61:61
-Key21=126:126
+Key10=161:161
+Key11=2755:8539
+Key12=163:163
+Key13=188:188
+Key14=2756:8540
+Key15=2757:8541
+Key16=2758:8542
+Key17=2761:8482
+Key18=177:177
+Key19=176:176
+Key20=191:191
+Key21=65116:731
Key22=65288:8
Key23=65056:0
-Key24=113:113
-Key25=119:119
+Key24=2009:937
+Key25=435:322
Key26=101:101
-Key27=114:114
-Key28=116:116
-Key29=121:121
-Key30=117:117
-Key31=105:105
-Key32=111:111
-Key33=112:112
-Key34=96:96
-Key35=123:123
+Key27=174:174
+Key28=956:359
+Key29=165:165
+Key30=2300:8593
+Key31=697:305
+Key32=248:248
+Key33=254:254
+Key34=65112:176
+Key35=65108:175
Key36=65293:13
Key37=65507:0
-Key38=97:97
-Key39=115:115
-Key40=100:100
-Key41=102:102
-Key42=103:103
-Key43=104:104
-Key44=106:106
-Key45=107:107
-Key46=108:108
-Key47=43:43
-Key48=42:42
-Key49=65322:0
+Key38=230:230
+Key39=167:167
+Key40=240:240
+Key41=170:170
+Key42=959:331
+Key43=689:295
+Key44=65122:0
+Key45=38:38
+Key46=435:322
+Key47=65113:733
+Key48=65114:711
+Key49=124:124
Key50=65505:0
-Key51=125:125
-Key52=122:122
-Key53=120:120
-Key54=99:99
-Key55=118:118
-Key56=98:98
+Key51=65109:728
+Key52=60:60
+Key53=62:62
+Key54=169:169
+Key55=2768:8216
+Key56=2769:8217
Key57=110:110
-Key58=109:109
-Key59=60:60
-Key60=62:62
-Key61=63:63
+Key58=186:186
+Key59=215:215
+Key60=247:247
+Key61=65110:729
Key62=65506:0
Key63=65450:42
Key64=65511:0
@@ -1028,7 +1028,7 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
-Key113=65512:0
+Key113=65312:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
@@ -1048,7 +1048,7 @@ Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
-Key133=124:124
+Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
diff --git a/instfiles/km-080c.ini b/instfiles/km-0000080c.ini
index 3b160b37..3b160b37 100644
--- a/instfiles/km-080c.ini
+++ b/instfiles/km-0000080c.ini
diff --git a/instfiles/km-0813.ini b/instfiles/km-00000813.ini
index 3b160b37..3b160b37 100644
--- a/instfiles/km-0813.ini
+++ b/instfiles/km-00000813.ini
diff --git a/instfiles/km-0816.ini b/instfiles/km-00000816.ini
index 3a5801b2..3a5801b2 100644
--- a/instfiles/km-0816.ini
+++ b/instfiles/km-00000816.ini
diff --git a/instfiles/km-0000100c.ini b/instfiles/km-0000100c.ini
new file mode 100644
index 00000000..fd963fc0
--- /dev/null
+++ b/instfiles/km-0000100c.ini
@@ -0,0 +1,659 @@
+[noshift]
+Key8=0:0
+Key9=65307:27
+Key10=49:49
+Key11=50:50
+Key12=51:51
+Key13=52:52
+Key14=53:53
+Key15=54:54
+Key16=55:55
+Key17=56:56
+Key18=57:57
+Key19=48:48
+Key20=39:39
+Key21=65106:94
+Key22=65288:8
+Key23=65289:9
+Key24=113:113
+Key25=119:119
+Key26=101:101
+Key27=114:114
+Key28=116:116
+Key29=122:122
+Key30=117:117
+Key31=105:105
+Key32=111:111
+Key33=112:112
+Key34=232:232
+Key35=65111:168
+Key36=65293:13
+Key37=65507:0
+Key38=97:97
+Key39=115:115
+Key40=100:100
+Key41=102:102
+Key42=103:103
+Key43=104:104
+Key44=106:106
+Key45=107:107
+Key46=108:108
+Key47=233:233
+Key48=224:224
+Key49=167:167
+Key50=65505:0
+Key51=36:36
+Key52=121:121
+Key53=120:120
+Key54=99:99
+Key55=118:118
+Key56=98:98
+Key57=110:110
+Key58=109:109
+Key59=44:44
+Key60=46:46
+Key61=45:45
+Key62=65506:0
+Key63=65450:42
+Key64=65513:0
+Key65=32:32
+Key66=65509:0
+Key67=65470:0
+Key68=65471:0
+Key69=65472:0
+Key70=65473:0
+Key71=65474:0
+Key72=65475:0
+Key73=65476:0
+Key74=65477:0
+Key75=65478:0
+Key76=65479:0
+Key77=65407:0
+Key78=65300:0
+Key79=65429:0
+Key80=65431:0
+Key81=65434:0
+Key82=65453:45
+Key83=65430:0
+Key84=65437:0
+Key85=65432:0
+Key86=65451:43
+Key87=65436:0
+Key88=65433:0
+Key89=65435:0
+Key90=65438:0
+Key91=65439:0
+Key92=0:0
+Key93=65406:0
+Key94=60:60
+Key95=65480:0
+Key96=65481:0
+Key97=65360:0
+Key98=65362:0
+Key99=65365:0
+Key100=65361:0
+Key101=0:0
+Key102=65363:0
+Key103=65367:0
+Key104=65364:0
+Key105=65366:0
+Key106=65379:0
+Key107=65535:127
+Key108=65421:13
+Key109=65508:0
+Key110=65299:0
+Key111=65377:0
+Key112=65455:47
+Key113=65027:0
+Key114=0:0
+Key115=0:0
+Key116=0:0
+Key117=0:0
+Key118=0:0
+Key119=0:0
+Key120=0:0
+Key121=0:0
+Key122=0:0
+Key123=0:0
+Key124=65027:0
+Key125=0:0
+Key126=65469:61
+Key127=0:0
+Key128=0:0
+Key129=0:0
+Key130=0:0
+Key131=0:0
+Key132=0:0
+Key133=0:0
+Key134=0:0
+Key135=0:0
+Key136=0:0
+Key137=0:0
+
+[shift]
+Key8=0:0
+Key9=65307:27
+Key10=43:43
+Key11=34:34
+Key12=42:42
+Key13=231:231
+Key14=37:37
+Key15=38:38
+Key16=47:47
+Key17=40:40
+Key18=41:41
+Key19=61:61
+Key20=63:63
+Key21=65104:96
+Key22=65288:8
+Key23=65056:0
+Key24=81:81
+Key25=87:87
+Key26=69:69
+Key27=82:82
+Key28=84:84
+Key29=90:90
+Key30=85:85
+Key31=73:73
+Key32=79:79
+Key33=80:80
+Key34=252:252
+Key35=33:33
+Key36=65293:13
+Key37=65507:0
+Key38=65:65
+Key39=83:83
+Key40=68:68
+Key41=70:70
+Key42=71:71
+Key43=72:72
+Key44=74:74
+Key45=75:75
+Key46=76:76
+Key47=246:246
+Key48=228:228
+Key49=176:176
+Key50=65505:0
+Key51=163:163
+Key52=89:89
+Key53=88:88
+Key54=67:67
+Key55=86:86
+Key56=66:66
+Key57=78:78
+Key58=77:77
+Key59=59:59
+Key60=58:58
+Key61=95:95
+Key62=65506:0
+Key63=65450:42
+Key64=65511:0
+Key65=32:32
+Key66=65509:0
+Key67=65470:0
+Key68=65471:0
+Key69=65472:0
+Key70=65473:0
+Key71=65474:0
+Key72=65475:0
+Key73=65476:0
+Key74=65477:0
+Key75=65478:0
+Key76=65479:0
+Key77=65273:0
+Key78=65300:0
+Key79=65463:55
+Key80=65464:56
+Key81=65465:57
+Key82=65453:45
+Key83=65460:52
+Key84=65461:53
+Key85=65462:54
+Key86=65451:43
+Key87=65457:49
+Key88=65458:50
+Key89=65459:51
+Key90=65456:48
+Key91=65454:46
+Key92=0:0
+Key93=65406:0
+Key94=62:62
+Key95=65480:0
+Key96=65481:0
+Key97=65360:0
+Key98=65362:0
+Key99=65365:0
+Key100=65361:0
+Key101=0:0
+Key102=65363:0
+Key103=65367:0
+Key104=65364:0
+Key105=65366:0
+Key106=65379:0
+Key107=65535:127
+Key108=65421:13
+Key109=65508:0
+Key110=65299:0
+Key111=65377:0
+Key112=65455:47
+Key113=65312:0
+Key114=0:0
+Key115=0:0
+Key116=0:0
+Key117=0:0
+Key118=0:0
+Key119=0:0
+Key120=0:0
+Key121=0:0
+Key122=0:0
+Key123=0:0
+Key124=65027:0
+Key125=65513:0
+Key126=65469:61
+Key127=65515:0
+Key128=65517:0
+Key129=0:0
+Key130=0:0
+Key131=0:0
+Key132=0:0
+Key133=0:0
+Key134=0:0
+Key135=0:0
+Key136=0:0
+Key137=0:0
+
+[altgr]
+Key8=0:0
+Key9=65307:27
+Key10=124:124
+Key11=64:64
+Key12=35:35
+Key13=188:188
+Key14=189:189
+Key15=172:172
+Key16=166:166
+Key17=162:162
+Key18=93:93
+Key19=125:125
+Key20=65105:180
+Key21=65107:126
+Key22=65288:8
+Key23=65289:9
+Key24=64:64
+Key25=435:322
+Key26=8364:8364
+Key27=182:182
+Key28=956:359
+Key29=2299:8592
+Key30=2302:8595
+Key31=2301:8594
+Key32=248:248
+Key33=254:254
+Key34=91:91
+Key35=93:93
+Key36=65293:13
+Key37=65507:0
+Key38=230:230
+Key39=223:223
+Key40=240:240
+Key41=496:273
+Key42=959:331
+Key43=689:295
+Key44=106:106
+Key45=930:312
+Key46=435:322
+Key47=65105:180
+Key48=123:123
+Key49=172:172
+Key50=65505:0
+Key51=125:125
+Key52=171:171
+Key53=187:187
+Key54=162:162
+Key55=2770:8220
+Key56=2771:8221
+Key57=110:110
+Key58=181:181
+Key59=2211:0
+Key60=183:183
+Key61=65120:0
+Key62=65506:0
+Key63=65450:42
+Key64=65513:0
+Key65=32:32
+Key66=65509:0
+Key67=65470:0
+Key68=65471:0
+Key69=65472:0
+Key70=65473:0
+Key71=65474:0
+Key72=65475:0
+Key73=65476:0
+Key74=65477:0
+Key75=65478:0
+Key76=65479:0
+Key77=65407:0
+Key78=65300:0
+Key79=65429:0
+Key80=65431:0
+Key81=65434:0
+Key82=65453:45
+Key83=65430:0
+Key84=65437:0
+Key85=65432:0
+Key86=65451:43
+Key87=65436:0
+Key88=65433:0
+Key89=65435:0
+Key90=65438:0
+Key91=65439:0
+Key92=0:0
+Key93=65406:0
+Key94=92:92
+Key95=65480:0
+Key96=65481:0
+Key97=65360:0
+Key98=65362:0
+Key99=65365:0
+Key100=65361:0
+Key101=0:0
+Key102=65363:0
+Key103=65367:0
+Key104=65364:0
+Key105=65366:0
+Key106=65379:0
+Key107=65535:127
+Key108=65421:13
+Key109=65508:0
+Key110=65299:0
+Key111=0:0
+Key112=65455:47
+Key113=65027:0
+Key114=0:0
+Key115=0:0
+Key116=0:0
+Key117=0:0
+Key118=0:0
+Key119=0:0
+Key120=0:0
+Key121=0:0
+Key122=0:0
+Key123=0:0
+Key124=65027:0
+Key125=0:0
+Key126=65469:61
+Key127=0:0
+Key128=0:0
+Key129=0:0
+Key130=0:0
+Key131=0:0
+Key132=0:0
+Key133=0:0
+Key134=0:0
+Key135=0:0
+Key136=0:0
+Key137=0:0
+
+[capslock]
+Key8=0:0
+Key9=65307:27
+Key10=49:49
+Key11=50:50
+Key12=51:51
+Key13=52:52
+Key14=53:53
+Key15=54:54
+Key16=55:55
+Key17=56:56
+Key18=57:57
+Key19=48:48
+Key20=39:39
+Key21=65106:94
+Key22=65288:8
+Key23=65289:9
+Key24=81:81
+Key25=87:87
+Key26=69:69
+Key27=82:82
+Key28=84:84
+Key29=90:90
+Key30=85:85
+Key31=73:73
+Key32=79:79
+Key33=80:80
+Key34=200:200
+Key35=65111:168
+Key36=65293:13
+Key37=65507:0
+Key38=65:65
+Key39=83:83
+Key40=68:68
+Key41=70:70
+Key42=71:71
+Key43=72:72
+Key44=74:74
+Key45=75:75
+Key46=76:76
+Key47=201:201
+Key48=192:192
+Key49=167:167
+Key50=65505:0
+Key51=36:36
+Key52=89:89
+Key53=88:88
+Key54=67:67
+Key55=86:86
+Key56=66:66
+Key57=78:78
+Key58=77:77
+Key59=44:44
+Key60=46:46
+Key61=45:45
+Key62=65506:0
+Key63=65450:42
+Key64=65513:0
+Key65=32:32
+Key66=65509:0
+Key67=65470:0
+Key68=65471:0
+Key69=65472:0
+Key70=65473:0
+Key71=65474:0
+Key72=65475:0
+Key73=65476:0
+Key74=65477:0
+Key75=65478:0
+Key76=65479:0
+Key77=65407:0
+Key78=65300:0
+Key79=65429:0
+Key80=65431:0
+Key81=65434:0
+Key82=65453:45
+Key83=65430:0
+Key84=65437:0
+Key85=65432:0
+Key86=65451:43
+Key87=65436:0
+Key88=65433:0
+Key89=65435:0
+Key90=65438:0
+Key91=65439:0
+Key92=0:0
+Key93=65406:0
+Key94=60:60
+Key95=65480:0
+Key96=65481:0
+Key97=65360:0
+Key98=65362:0
+Key99=65365:0
+Key100=65361:0
+Key101=0:0
+Key102=65363:0
+Key103=65367:0
+Key104=65364:0
+Key105=65366:0
+Key106=65379:0
+Key107=65535:127
+Key108=65421:13
+Key109=65508:0
+Key110=65299:0
+Key111=65377:0
+Key112=65455:47
+Key113=65027:0
+Key114=0:0
+Key115=0:0
+Key116=0:0
+Key117=0:0
+Key118=0:0
+Key119=0:0
+Key120=0:0
+Key121=0:0
+Key122=0:0
+Key123=0:0
+Key124=65027:0
+Key125=0:0
+Key126=65469:61
+Key127=0:0
+Key128=0:0
+Key129=0:0
+Key130=0:0
+Key131=0:0
+Key132=0:0
+Key133=0:0
+Key134=0:0
+Key135=0:0
+Key136=0:0
+Key137=0:0
+
+[shiftcapslock]
+Key8=0:0
+Key9=65307:27
+Key10=43:43
+Key11=34:34
+Key12=42:42
+Key13=199:199
+Key14=37:37
+Key15=38:38
+Key16=47:47
+Key17=40:40
+Key18=41:41
+Key19=61:61
+Key20=63:63
+Key21=65104:96
+Key22=65288:8
+Key23=65056:0
+Key24=113:113
+Key25=119:119
+Key26=101:101
+Key27=114:114
+Key28=116:116
+Key29=122:122
+Key30=117:117
+Key31=105:105
+Key32=111:111
+Key33=112:112
+Key34=220:220
+Key35=33:33
+Key36=65293:13
+Key37=65507:0
+Key38=97:97
+Key39=115:115
+Key40=100:100
+Key41=102:102
+Key42=103:103
+Key43=104:104
+Key44=106:106
+Key45=107:107
+Key46=108:108
+Key47=214:214
+Key48=196:196
+Key49=176:176
+Key50=65505:0
+Key51=163:163
+Key52=121:121
+Key53=120:120
+Key54=99:99
+Key55=118:118
+Key56=98:98
+Key57=110:110
+Key58=109:109
+Key59=59:59
+Key60=58:58
+Key61=95:95
+Key62=65506:0
+Key63=65450:42
+Key64=65511:0
+Key65=32:32
+Key66=65509:0
+Key67=65470:0
+Key68=65471:0
+Key69=65472:0
+Key70=65473:0
+Key71=65474:0
+Key72=65475:0
+Key73=65476:0
+Key74=65477:0
+Key75=65478:0
+Key76=65479:0
+Key77=65273:0
+Key78=65300:0
+Key79=65463:55
+Key80=65464:56
+Key81=65465:57
+Key82=65453:45
+Key83=65460:52
+Key84=65461:53
+Key85=65462:54
+Key86=65451:43
+Key87=65457:49
+Key88=65458:50
+Key89=65459:51
+Key90=65456:48
+Key91=65454:46
+Key92=0:0
+Key93=65406:0
+Key94=62:62
+Key95=65480:0
+Key96=65481:0
+Key97=65360:0
+Key98=65362:0
+Key99=65365:0
+Key100=65361:0
+Key101=0:0
+Key102=65363:0
+Key103=65367:0
+Key104=65364:0
+Key105=65366:0
+Key106=65379:0
+Key107=65535:127
+Key108=65421:13
+Key109=65508:0
+Key110=65299:0
+Key111=65377:0
+Key112=65455:47
+Key113=65312:0
+Key114=0:0
+Key115=0:0
+Key116=0:0
+Key117=0:0
+Key118=0:0
+Key119=0:0
+Key120=0:0
+Key121=0:0
+Key122=0:0
+Key123=0:0
+Key124=65027:0
+Key125=65513:0
+Key126=65469:61
+Key127=65515:0
+Key128=65517:0
+Key129=0:0
+Key130=0:0
+Key131=0:0
+Key132=0:0
+Key133=0:0
+Key134=0:0
+Key135=0:0
+Key136=0:0
+Key137=0:0
diff --git a/instfiles/km-0411.ini b/instfiles/km-0411.ini
deleted file mode 100644
index 50ba669f..00000000
--- a/instfiles/km-0411.ini
+++ /dev/null
@@ -1,1055 +0,0 @@
-[noshift]
-Key8=65406:0
-Key9=65307:27
-Key10=49:49
-Key11=50:50
-Key12=51:51
-Key13=52:52
-Key14=53:53
-Key15=54:54
-Key16=55:55
-Key17=56:56
-Key18=57:57
-Key19=48:48
-Key20=45:45
-Key21=94:94
-Key22=65288:8
-Key23=65289:9
-Key24=113:113
-Key25=119:119
-Key26=101:101
-Key27=114:114
-Key28=116:116
-Key29=121:121
-Key30=117:117
-Key31=105:105
-Key32=111:111
-Key33=112:112
-Key34=64:64
-Key35=91:91
-Key36=65293:13
-Key37=65507:0
-Key38=97:97
-Key39=115:115
-Key40=100:100
-Key41=102:102
-Key42=103:103
-Key43=104:104
-Key44=106:106
-Key45=107:107
-Key46=108:108
-Key47=59:59
-Key48=58:58
-Key49=65322:0
-Key50=65505:0
-Key51=93:93
-Key52=122:122
-Key53=120:120
-Key54=99:99
-Key55=118:118
-Key56=98:98
-Key57=110:110
-Key58=109:109
-Key59=44:44
-Key60=46:46
-Key61=47:47
-Key62=65506:0
-Key63=65450:42
-Key64=65513:0
-Key65=32:32
-Key66=65328:0
-Key67=65470:0
-Key68=65471:0
-Key69=65472:0
-Key70=65473:0
-Key71=65474:0
-Key72=65475:0
-Key73=65476:0
-Key74=65477:0
-Key75=65478:0
-Key76=65479:0
-Key77=65407:0
-Key78=65300:0
-Key79=65429:0
-Key80=65431:0
-Key81=65434:0
-Key82=65453:45
-Key83=65430:0
-Key84=65437:0
-Key85=65432:0
-Key86=65451:43
-Key87=65436:0
-Key88=65433:0
-Key89=65435:0
-Key90=65438:0
-Key91=65439:0
-Key92=65377:0
-Key93=0:0
-Key94=60:60
-Key95=65480:0
-Key96=65481:0
-Key97=65360:0
-Key98=65362:0
-Key99=65365:0
-Key100=65361:0
-Key101=0:0
-Key102=65363:0
-Key103=65367:0
-Key104=65364:0
-Key105=65366:0
-Key106=65379:0
-Key107=65535:127
-Key108=65421:13
-Key109=65508:0
-Key110=65299:0
-Key111=65377:0
-Key112=65455:47
-Key113=65514:0
-Key114=269025049:0
-Key115=65515:0
-Key116=65516:0
-Key117=0:0
-Key118=269025153:0
-Key119=269025093:0
-Key120=269025094:0
-Key121=269025095:0
-Key122=269025096:0
-Key123=92:92
-Key124=65027:0
-Key125=0:0
-Key126=65469:61
-Key127=0:0
-Key128=0:0
-Key129=0:0
-Key130=0:0
-Key131=0:0
-Key132=0:0
-Key133=165:165
-Key134=0:0
-Key135=0:0
-Key136=0:0
-Key137=0:0
-
-[shift]
-Key8=65406:0
-Key9=65307:27
-Key10=33:33
-Key11=34:34
-Key12=35:35
-Key13=36:36
-Key14=37:37
-Key15=38:38
-Key16=39:39
-Key17=40:40
-Key18=41:41
-Key19=48:48
-Key20=61:61
-Key21=126:126
-Key22=65288:8
-Key23=65056:0
-Key24=81:81
-Key25=87:87
-Key26=69:69
-Key27=82:82
-Key28=84:84
-Key29=89:89
-Key30=85:85
-Key31=73:73
-Key32=79:79
-Key33=80:80
-Key34=96:96
-Key35=123:123
-Key36=65293:13
-Key37=65507:0
-Key38=65:65
-Key39=83:83
-Key40=68:68
-Key41=70:70
-Key42=71:71
-Key43=72:72
-Key44=74:74
-Key45=75:75
-Key46=76:76
-Key47=43:43
-Key48=42:42
-Key49=65322:0
-Key50=65505:0
-Key51=125:125
-Key52=90:90
-Key53=88:88
-Key54=67:67
-Key55=86:86
-Key56=66:66
-Key57=78:78
-Key58=77:77
-Key59=60:60
-Key60=62:62
-Key61=63:63
-Key62=65506:0
-Key63=65450:42
-Key64=65511:0
-Key65=32:32
-Key66=65509:0
-Key67=65470:0
-Key68=65471:0
-Key69=65472:0
-Key70=65473:0
-Key71=65474:0
-Key72=65475:0
-Key73=65476:0
-Key74=65477:0
-Key75=65478:0
-Key76=65479:0
-Key77=65407:0
-Key78=65300:0
-Key79=65463:55
-Key80=65464:56
-Key81=65465:57
-Key82=65453:45
-Key83=65460:52
-Key84=65461:53
-Key85=65462:54
-Key86=65451:43
-Key87=65457:49
-Key88=65458:50
-Key89=65459:51
-Key90=65456:48
-Key91=65454:46
-Key92=65377:0
-Key93=0:0
-Key94=62:62
-Key95=65480:0
-Key96=65481:0
-Key97=65360:0
-Key98=65362:0
-Key99=65365:0
-Key100=65361:0
-Key101=0:0
-Key102=65363:0
-Key103=65367:0
-Key104=65364:0
-Key105=65366:0
-Key106=65379:0
-Key107=65535:127
-Key108=65421:13
-Key109=65508:0
-Key110=65299:0
-Key111=65377:0
-Key112=65455:47
-Key113=65512:0
-Key114=269025049:0
-Key115=65515:0
-Key116=65516:0
-Key117=0:0
-Key118=269025153:0
-Key119=269025093:0
-Key120=269025094:0
-Key121=269025095:0
-Key122=269025096:0
-Key123=95:95
-Key124=65027:0
-Key125=65513:0
-Key126=65469:61
-Key127=65515:0
-Key128=65517:0
-Key129=0:0
-Key130=0:0
-Key131=0:0
-Key132=0:0
-Key133=124:124
-Key134=0:0
-Key135=0:0
-Key136=0:0
-Key137=0:0
-
-[altgr]
-Key8=65406:0
-Key9=65307:27
-Key10=49:49
-Key11=50:50
-Key12=51:51
-Key13=52:52
-Key14=53:53
-Key15=54:54
-Key16=55:55
-Key17=56:56
-Key18=57:57
-Key19=48:48
-Key20=45:45
-Key21=94:94
-Key22=65288:8
-Key23=65289:9
-Key24=113:113
-Key25=119:119
-Key26=101:101
-Key27=114:114
-Key28=116:116
-Key29=121:121
-Key30=117:117
-Key31=105:105
-Key32=111:111
-Key33=112:112
-Key34=64:64
-Key35=91:91
-Key36=65293:13
-Key37=65507:0
-Key38=97:97
-Key39=115:115
-Key40=100:100
-Key41=102:102
-Key42=103:103
-Key43=104:104
-Key44=106:106
-Key45=107:107
-Key46=108:108
-Key47=59:59
-Key48=58:58
-Key49=65322:0
-Key50=65505:0
-Key51=93:93
-Key52=122:122
-Key53=120:120
-Key54=99:99
-Key55=118:118
-Key56=98:98
-Key57=110:110
-Key58=109:109
-Key59=44:44
-Key60=46:46
-Key61=47:47
-Key62=65506:0
-Key63=65450:42
-Key64=65513:0
-Key65=32:32
-Key66=65328:0
-Key67=65470:0
-Key68=65471:0
-Key69=65472:0
-Key70=65473:0
-Key71=65474:0
-Key72=65475:0
-Key73=65476:0
-Key74=65477:0
-Key75=65478:0
-Key76=65479:0
-Key77=65407:0
-Key78=65300:0
-Key79=65429:0
-Key80=65431:0
-Key81=65434:0
-Key82=65453:45
-Key83=65430:0
-Key84=65437:0
-Key85=65432:0
-Key86=65451:43
-Key87=65436:0
-Key88=65433:0
-Key89=65435:0
-Key90=65438:0
-Key91=65439:0
-Key92=65377:0
-Key93=0:0
-Key94=124:124
-Key95=65480:0
-Key96=65481:0
-Key97=65360:0
-Key98=65362:0
-Key99=65365:0
-Key100=65361:0
-Key101=0:0
-Key102=65363:0
-Key103=65367:0
-Key104=65364:0
-Key105=65366:0
-Key106=65379:0
-Key107=65535:127
-Key108=65421:13
-Key109=65508:0
-Key110=65299:0
-Key111=65377:0
-Key112=65455:47
-Key113=65514:0
-Key114=269025049:0
-Key115=65515:0
-Key116=65516:0
-Key117=0:0
-Key118=269025153:0
-Key119=269025093:0
-Key120=269025094:0
-Key121=269025095:0
-Key122=269025096:0
-Key123=0:0
-Key124=65027:0
-Key125=0:0
-Key126=65469:61
-Key127=0:0
-Key128=0:0
-Key129=0:0
-Key130=0:0
-Key131=0:0
-Key132=0:0
-Key133=165:165
-Key134=0:0
-Key135=0:0
-Key136=0:0
-Key137=0:0
-
-[shiftaltgr]
-Key8=65406:0
-Key9=65307:27
-Key10=33:33
-Key11=34:34
-Key12=35:35
-Key13=36:36
-Key14=37:37
-Key15=38:38
-Key16=39:39
-Key17=40:40
-Key18=41:41
-Key19=48:48
-Key20=61:61
-Key21=126:126
-Key22=65288:8
-Key23=65056:0
-Key24=81:81
-Key25=87:87
-Key26=69:69
-Key27=82:82
-Key28=84:84
-Key29=89:89
-Key30=85:85
-Key31=73:73
-Key32=79:79
-Key33=80:80
-Key34=96:96
-Key35=123:123
-Key36=65293:13
-Key37=65507:0
-Key38=65:65
-Key39=83:83
-Key40=68:68
-Key41=70:70
-Key42=71:71
-Key43=72:72
-Key44=74:74
-Key45=75:75
-Key46=76:76
-Key47=43:43
-Key48=42:42
-Key49=65322:0
-Key50=65505:0
-Key51=125:125
-Key52=90:90
-Key53=88:88
-Key54=67:67
-Key55=86:86
-Key56=66:66
-Key57=78:78
-Key58=77:77
-Key59=60:60
-Key60=62:62
-Key61=63:63
-Key62=65506:0
-Key63=65450:42
-Key64=65511:0
-Key65=32:32
-Key66=65509:0
-Key67=65470:0
-Key68=65471:0
-Key69=65472:0
-Key70=65473:0
-Key71=65474:0
-Key72=65475:0
-Key73=65476:0
-Key74=65477:0
-Key75=65478:0
-Key76=65479:0
-Key77=65407:0
-Key78=65300:0
-Key79=65463:55
-Key80=65464:56
-Key81=65465:57
-Key82=65453:45
-Key83=65460:52
-Key84=65461:53
-Key85=65462:54
-Key86=65451:43
-Key87=65457:49
-Key88=65458:50
-Key89=65459:51
-Key90=65456:48
-Key91=65454:46
-Key92=65377:0
-Key93=0:0
-Key94=166:166
-Key95=65480:0
-Key96=65481:0
-Key97=65360:0
-Key98=65362:0
-Key99=65365:0
-Key100=65361:0
-Key101=0:0
-Key102=65363:0
-Key103=65367:0
-Key104=65364:0
-Key105=65366:0
-Key106=65379:0
-Key107=65535:127
-Key108=65421:13
-Key109=65508:0
-Key110=65299:0
-Key111=65377:0
-Key112=65455:47
-Key113=65512:0
-Key114=269025049:0
-Key115=65515:0
-Key116=65516:0
-Key117=0:0
-Key118=269025153:0
-Key119=269025093:0
-Key120=269025094:0
-Key121=269025095:0
-Key122=269025096:0
-Key123=0:0
-Key124=65027:0
-Key125=65513:0
-Key126=65469:61
-Key127=65515:0
-Key128=65517:0
-Key129=0:0
-Key130=0:0
-Key131=0:0
-Key132=0:0
-Key133=124:124
-Key134=0:0
-Key135=0:0
-Key136=0:0
-Key137=0:0
-
-[capslock]
-Key8=65406:0
-Key9=65307:27
-Key10=49:49
-Key11=50:50
-Key12=51:51
-Key13=52:52
-Key14=53:53
-Key15=54:54
-Key16=55:55
-Key17=56:56
-Key18=57:57
-Key19=48:48
-Key20=45:45
-Key21=94:94
-Key22=65288:8
-Key23=65289:9
-Key24=81:81
-Key25=87:87
-Key26=69:69
-Key27=82:82
-Key28=84:84
-Key29=89:89
-Key30=85:85
-Key31=73:73
-Key32=79:79
-Key33=80:80
-Key34=64:64
-Key35=91:91
-Key36=65293:13
-Key37=65507:0
-Key38=65:65
-Key39=83:83
-Key40=68:68
-Key41=70:70
-Key42=71:71
-Key43=72:72
-Key44=74:74
-Key45=75:75
-Key46=76:76
-Key47=59:59
-Key48=58:58
-Key49=65322:0
-Key50=65505:0
-Key51=93:93
-Key52=90:90
-Key53=88:88
-Key54=67:67
-Key55=86:86
-Key56=66:66
-Key57=78:78
-Key58=77:77
-Key59=44:44
-Key60=46:46
-Key61=47:47
-Key62=65506:0
-Key63=65450:42
-Key64=65513:0
-Key65=32:32
-Key66=65328:0
-Key67=65470:0
-Key68=65471:0
-Key69=65472:0
-Key70=65473:0
-Key71=65474:0
-Key72=65475:0
-Key73=65476:0
-Key74=65477:0
-Key75=65478:0
-Key76=65479:0
-Key77=65407:0
-Key78=65300:0
-Key79=65429:0
-Key80=65431:0
-Key81=65434:0
-Key82=65453:45
-Key83=65430:0
-Key84=65437:0
-Key85=65432:0
-Key86=65451:43
-Key87=65436:0
-Key88=65433:0
-Key89=65435:0
-Key90=65438:0
-Key91=65439:0
-Key92=65377:0
-Key93=0:0
-Key94=60:60
-Key95=65480:0
-Key96=65481:0
-Key97=65360:0
-Key98=65362:0
-Key99=65365:0
-Key100=65361:0
-Key101=0:0
-Key102=65363:0
-Key103=65367:0
-Key104=65364:0
-Key105=65366:0
-Key106=65379:0
-Key107=65535:127
-Key108=65421:13
-Key109=65508:0
-Key110=65299:0
-Key111=65377:0
-Key112=65455:47
-Key113=65514:0
-Key114=269025049:0
-Key115=65515:0
-Key116=65516:0
-Key117=0:0
-Key118=269025153:0
-Key119=269025093:0
-Key120=269025094:0
-Key121=269025095:0
-Key122=269025096:0
-Key123=0:0
-Key124=65027:0
-Key125=0:0
-Key126=65469:61
-Key127=0:0
-Key128=0:0
-Key129=0:0
-Key130=0:0
-Key131=0:0
-Key132=0:0
-Key133=165:165
-Key134=0:0
-Key135=0:0
-Key136=0:0
-Key137=0:0
-
-[capslockaltgr]
-Key8=65406:0
-Key9=65307:27
-Key10=49:49
-Key11=50:50
-Key12=51:51
-Key13=52:52
-Key14=53:53
-Key15=54:54
-Key16=55:55
-Key17=56:56
-Key18=57:57
-Key19=48:48
-Key20=45:45
-Key21=94:94
-Key22=65288:8
-Key23=65289:9
-Key24=81:81
-Key25=87:87
-Key26=69:69
-Key27=82:82
-Key28=84:84
-Key29=89:89
-Key30=85:85
-Key31=73:73
-Key32=79:79
-Key33=80:80
-Key34=64:64
-Key35=91:91
-Key36=65293:13
-Key37=65507:0
-Key38=65:65
-Key39=83:83
-Key40=68:68
-Key41=70:70
-Key42=71:71
-Key43=72:72
-Key44=74:74
-Key45=75:75
-Key46=76:76
-Key47=59:59
-Key48=58:58
-Key49=65322:0
-Key50=65505:0
-Key51=93:93
-Key52=90:90
-Key53=88:88
-Key54=67:67
-Key55=86:86
-Key56=66:66
-Key57=78:78
-Key58=77:77
-Key59=44:44
-Key60=46:46
-Key61=47:47
-Key62=65506:0
-Key63=65450:42
-Key64=65513:0
-Key65=32:32
-Key66=65328:0
-Key67=65470:0
-Key68=65471:0
-Key69=65472:0
-Key70=65473:0
-Key71=65474:0
-Key72=65475:0
-Key73=65476:0
-Key74=65477:0
-Key75=65478:0
-Key76=65479:0
-Key77=65407:0
-Key78=65300:0
-Key79=65429:0
-Key80=65431:0
-Key81=65434:0
-Key82=65453:45
-Key83=65430:0
-Key84=65437:0
-Key85=65432:0
-Key86=65451:43
-Key87=65436:0
-Key88=65433:0
-Key89=65435:0
-Key90=65438:0
-Key91=65439:0
-Key92=65377:0
-Key93=0:0
-Key94=124:124
-Key95=65480:0
-Key96=65481:0
-Key97=65360:0
-Key98=65362:0
-Key99=65365:0
-Key100=65361:0
-Key101=0:0
-Key102=65363:0
-Key103=65367:0
-Key104=65364:0
-Key105=65366:0
-Key106=65379:0
-Key107=65535:127
-Key108=65421:13
-Key109=65508:0
-Key110=65299:0
-Key111=65377:0
-Key112=65455:47
-Key113=65514:0
-Key114=269025049:0
-Key115=65515:0
-Key116=65516:0
-Key117=0:0
-Key118=269025153:0
-Key119=269025093:0
-Key120=269025094:0
-Key121=269025095:0
-Key122=269025096:0
-Key123=0:0
-Key124=65027:0
-Key125=0:0
-Key126=65469:61
-Key127=0:0
-Key128=0:0
-Key129=0:0
-Key130=0:0
-Key131=0:0
-Key132=0:0
-Key133=165:165
-Key134=0:0
-Key135=0:0
-Key136=0:0
-Key137=0:0
-
-[shiftcapslock]
-Key8=65406:0
-Key9=65307:27
-Key10=33:33
-Key11=34:34
-Key12=35:35
-Key13=36:36
-Key14=37:37
-Key15=38:38
-Key16=39:39
-Key17=40:40
-Key18=41:41
-Key19=48:48
-Key20=61:61
-Key21=126:126
-Key22=65288:8
-Key23=65056:0
-Key24=113:113
-Key25=119:119
-Key26=101:101
-Key27=114:114
-Key28=116:116
-Key29=121:121
-Key30=117:117
-Key31=105:105
-Key32=111:111
-Key33=112:112
-Key34=96:96
-Key35=123:123
-Key36=65293:13
-Key37=65507:0
-Key38=97:97
-Key39=115:115
-Key40=100:100
-Key41=102:102
-Key42=103:103
-Key43=104:104
-Key44=106:106
-Key45=107:107
-Key46=108:108
-Key47=43:43
-Key48=42:42
-Key49=65322:0
-Key50=65505:0
-Key51=125:125
-Key52=122:122
-Key53=120:120
-Key54=99:99
-Key55=118:118
-Key56=98:98
-Key57=110:110
-Key58=109:109
-Key59=60:60
-Key60=62:62
-Key61=63:63
-Key62=65506:0
-Key63=65450:42
-Key64=65511:0
-Key65=32:32
-Key66=65509:0
-Key67=65470:0
-Key68=65471:0
-Key69=65472:0
-Key70=65473:0
-Key71=65474:0
-Key72=65475:0
-Key73=65476:0
-Key74=65477:0
-Key75=65478:0
-Key76=65479:0
-Key77=65407:0
-Key78=65300:0
-Key79=65463:55
-Key80=65464:56
-Key81=65465:57
-Key82=65453:45
-Key83=65460:52
-Key84=65461:53
-Key85=65462:54
-Key86=65451:43
-Key87=65457:49
-Key88=65458:50
-Key89=65459:51
-Key90=65456:48
-Key91=65454:46
-Key92=65377:0
-Key93=0:0
-Key94=62:62
-Key95=65480:0
-Key96=65481:0
-Key97=65360:0
-Key98=65362:0
-Key99=65365:0
-Key100=65361:0
-Key101=0:0
-Key102=65363:0
-Key103=65367:0
-Key104=65364:0
-Key105=65366:0
-Key106=65379:0
-Key107=65535:127
-Key108=65421:13
-Key109=65508:0
-Key110=65299:0
-Key111=65377:0
-Key112=65455:47
-Key113=65512:0
-Key114=269025049:0
-Key115=65515:0
-Key116=65516:0
-Key117=0:0
-Key118=269025153:0
-Key119=269025093:0
-Key120=269025094:0
-Key121=269025095:0
-Key122=269025096:0
-Key123=0:0
-Key124=65027:0
-Key125=65513:0
-Key126=65469:61
-Key127=65515:0
-Key128=65517:0
-Key129=0:0
-Key130=0:0
-Key131=0:0
-Key132=0:0
-Key133=124:124
-Key134=0:0
-Key135=0:0
-Key136=0:0
-Key137=0:0
-
-[shiftcapslockaltgr]
-Key8=65406:0
-Key9=65307:27
-Key10=33:33
-Key11=34:34
-Key12=35:35
-Key13=36:36
-Key14=37:37
-Key15=38:38
-Key16=39:39
-Key17=40:40
-Key18=41:41
-Key19=48:48
-Key20=61:61
-Key21=126:126
-Key22=65288:8
-Key23=65056:0
-Key24=113:113
-Key25=119:119
-Key26=101:101
-Key27=114:114
-Key28=116:116
-Key29=121:121
-Key30=117:117
-Key31=105:105
-Key32=111:111
-Key33=112:112
-Key34=96:96
-Key35=123:123
-Key36=65293:13
-Key37=65507:0
-Key38=97:97
-Key39=115:115
-Key40=100:100
-Key41=102:102
-Key42=103:103
-Key43=104:104
-Key44=106:106
-Key45=107:107
-Key46=108:108
-Key47=43:43
-Key48=42:42
-Key49=65322:0
-Key50=65505:0
-Key51=125:125
-Key52=122:122
-Key53=120:120
-Key54=99:99
-Key55=118:118
-Key56=98:98
-Key57=110:110
-Key58=109:109
-Key59=60:60
-Key60=62:62
-Key61=63:63
-Key62=65506:0
-Key63=65450:42
-Key64=65511:0
-Key65=32:32
-Key66=65509:0
-Key67=65470:0
-Key68=65471:0
-Key69=65472:0
-Key70=65473:0
-Key71=65474:0
-Key72=65475:0
-Key73=65476:0
-Key74=65477:0
-Key75=65478:0
-Key76=65479:0
-Key77=65407:0
-Key78=65300:0
-Key79=65463:55
-Key80=65464:56
-Key81=65465:57
-Key82=65453:45
-Key83=65460:52
-Key84=65461:53
-Key85=65462:54
-Key86=65451:43
-Key87=65457:49
-Key88=65458:50
-Key89=65459:51
-Key90=65456:48
-Key91=65454:46
-Key92=65377:0
-Key93=0:0
-Key94=166:166
-Key95=65480:0
-Key96=65481:0
-Key97=65360:0
-Key98=65362:0
-Key99=65365:0
-Key100=65361:0
-Key101=0:0
-Key102=65363:0
-Key103=65367:0
-Key104=65364:0
-Key105=65366:0
-Key106=65379:0
-Key107=65535:127
-Key108=65421:13
-Key109=65508:0
-Key110=65299:0
-Key111=65377:0
-Key112=65455:47
-Key113=65512:0
-Key114=269025049:0
-Key115=65515:0
-Key116=65516:0
-Key117=0:0
-Key118=269025153:0
-Key119=269025093:0
-Key120=269025094:0
-Key121=269025095:0
-Key122=269025096:0
-Key123=0:0
-Key124=65027:0
-Key125=65513:0
-Key126=65469:61
-Key127=65515:0
-Key128=65517:0
-Key129=0:0
-Key130=0:0
-Key131=0:0
-Key132=0:0
-Key133=124:124
-Key134=0:0
-Key135=0:0
-Key136=0:0
-Key137=0:0
diff --git a/instfiles/pam.d/Makefile.am b/instfiles/pam.d/Makefile.am
index d51d5c20..3e09802b 100644
--- a/instfiles/pam.d/Makefile.am
+++ b/instfiles/pam.d/Makefile.am
@@ -1,4 +1,9 @@
-EXTRA_DIST = xrdp-sesman
+EXTRA_DIST = \
+ xrdp-sesman.common \
+ xrdp-sesman.other \
+ xrdp-sesman.password-auth
+
+CLEANFILES = xrdp-sesman
if SESMAN_NOPAM
PAMFILE =
@@ -14,7 +19,19 @@ endif
endif
endif
-pamddir=$(sysconfdir)/pam.d
+pamddir = $(sysconfdir)/pam.d
pamd_DATA = \
$(PAMFILE)
+
+xrdp-sesman:
+ if test -e /etc/pam.d/password-auth; then \
+ pamrules=xrdp-sesman.password-auth; \
+ else \
+ if test -e /etc/pam.d/common-auth; then \
+ pamrules=xrdp-sesman.common; \
+ else \
+ pamrules=xrdp-sesman.other; \
+ fi; \
+ fi; \
+ $(LN_S) $(srcdir)/$$pamrules $@
diff --git a/instfiles/pam.d/xrdp-sesman b/instfiles/pam.d/xrdp-sesman.common
index 789ce8f7..b2089987 100644
--- a/instfiles/pam.d/xrdp-sesman
+++ b/instfiles/pam.d/xrdp-sesman.common
@@ -2,4 +2,3 @@
@include common-auth
@include common-account
@include common-session
-@include common-password
diff --git a/instfiles/pam.d/xrdp-sesman.password-auth b/instfiles/pam.d/xrdp-sesman.password-auth
new file mode 100644
index 00000000..b17187c8
--- /dev/null
+++ b/instfiles/pam.d/xrdp-sesman.password-auth
@@ -0,0 +1,4 @@
+#%PAM-1.0
+auth include password-auth
+account include password-auth
+session include password-auth
diff --git a/instfiles/pulse/Makefile.am b/instfiles/pulse/Makefile.am
index fcd9ee4b..72b80d10 100644
--- a/instfiles/pulse/Makefile.am
+++ b/instfiles/pulse/Makefile.am
@@ -1,3 +1,2 @@
-EXTRA_DIST = default.pa
-pulsedir=$(sysconfdir)/xrdp/pulse
-pulse_DATA = default.pa
+pulsedir = $(sysconfdir)/xrdp/pulse
+dist_pulse_DATA = default.pa
diff --git a/instfiles/rc.d/Makefile.am b/instfiles/rc.d/Makefile.am
new file mode 100644
index 00000000..17993232
--- /dev/null
+++ b/instfiles/rc.d/Makefile.am
@@ -0,0 +1,2 @@
+startscriptdir = $(sysconfdir)/rc.d
+dist_startscript_SCRIPTS = xrdp
diff --git a/instfiles/rc.d/xrdp b/instfiles/rc.d/xrdp
new file mode 100644
index 00000000..9dec649e
--- /dev/null
+++ b/instfiles/rc.d/xrdp
@@ -0,0 +1,80 @@
+#!/bin/sh
+#
+# Copyright (c) 1992-2015 The FreeBSD Project. All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+#
+# THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
+# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
+# OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
+# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
+# LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
+# OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
+# SUCH DAMAGE.
+#
+# $FreeBSD$
+#
+# REQUIRE: DAEMON
+# PROVIDE: xrdp xrdp_sesman
+#
+
+. /etc/rc.subr
+
+name="xrdp"
+rcvar=xrdp_enable
+xrdp_daemons="xrdp"
+
+# Read settings and set default values.
+load_rc_config "$name"
+: ${xrdp_enable="NO"}
+
+# Enable/disable dependent daemon.
+if [ -n "${rcvar}" ] && checkyesno "xrdp_sesman_enable"; then
+ xrdp_daemons="xrdp xrdp_sesman"
+fi
+
+# Commands.
+extra_commands="reload status"
+start_cmd="xrdp_cmd"
+stop_cmd="xrdp_cmd"
+status_cmd="xrdp_cmd"
+reload_cmd="xrdp_cmd"
+rcvar_cmd="xrdp_cmd"
+
+# Command wrapper to call each of them per daemon.
+xrdp_cmd() {
+ local name rcvar command pidfile xrdp_daemons
+ # Prevent recursive calling.
+ unset "${rc_arg}_cmd"
+ # Stop processes in the reverse to order.
+ if [ "${rc_arg}" = "stop" ] ; then
+ xrdp_daemons=$(reverse_list ${xrdp_daemons})
+ fi
+
+ # Apply to all the daemons.
+ for name in ${xrdp_daemons}; do
+ rcvar=${name}_enable
+ if [ "${name}" = "xrdp_sesman" ]; then
+ command="%%PREFIX%%/sbin/xrdp-sesman"
+ pidfile="/var/run/xrdp-sesman.pid"
+ else
+ command="%%PREFIX%%/sbin/${name}"
+ pidfile="/var/run/${name}.pid"
+ fi
+
+ run_rc_command "${_rc_prefix}${rc_arg}" ${rc_extra_args}
+ done
+}
+
+run_rc_command "$1"
diff --git a/instfiles/xrdp-sesman.service b/instfiles/xrdp-sesman.service
index d40150cd..0ce9a4e5 100644
--- a/instfiles/xrdp-sesman.service
+++ b/instfiles/xrdp-sesman.service
@@ -2,11 +2,13 @@
Description=xrdp session manager
After=syslog.target network.target
StopWhenUnneeded=true
+BindTo=xrdp.service
[Service]
Type=forking
PIDFile=/var/run/xrdp-sesman.pid
-EnvironmentFile=/etc/sysconfig/xrdp
+EnvironmentFile=-/etc/sysconfig/xrdp
+EnvironmentFile=-/etc/default/xrdp
ExecStart=/usr/sbin/xrdp-sesman $SESMAN_OPTIONS
ExecStop=/usr/sbin/xrdp-sesman $SESMAN_OPTIONS --kill
diff --git a/instfiles/xrdp.service b/instfiles/xrdp.service
index 7bb076d1..fca4bd66 100644
--- a/instfiles/xrdp.service
+++ b/instfiles/xrdp.service
@@ -6,7 +6,8 @@ After=syslog.target network.target xrdp-sesman.service
[Service]
Type=forking
PIDFile=/var/run/xrdp.pid
-EnvironmentFile=/etc/sysconfig/xrdp
+EnvironmentFile=-/etc/sysconfig/xrdp
+EnvironmentFile=-/etc/default/xrdp
ExecStart=/usr/sbin/xrdp $XRDP_OPTIONS
ExecStop=/usr/sbin/xrdp $XRDP_OPTIONS --kill