summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog279
-rw-r--r--ChangeLog~243
-rw-r--r--Make.rules.in12
-rw-r--r--Makefile.am24
-rw-r--r--Makefile.in361
-rw-r--r--README16
-rw-r--r--acinclude.m4391
-rw-r--r--aclocal.m4542
-rwxr-xr-xconfig.guess1453
-rwxr-xr-xconfig.sub1566
-rwxr-xr-xconfigure3343
-rw-r--r--configure.in68
-rw-r--r--consolefonts/161.cpbin0 -> 9780 bytes
-rw-r--r--consolefonts/162.cpbin0 -> 9780 bytes
-rw-r--r--consolefonts/163.cpbin0 -> 9780 bytes
-rw-r--r--consolefonts/164.cpbin0 -> 9780 bytes
-rw-r--r--consolefonts/165.cpbin0 -> 9780 bytes
-rw-r--r--consolefonts/737.cpbin0 -> 9780 bytes
-rw-r--r--consolefonts/880.cpbin0 -> 9780 bytes
-rw-r--r--consolefonts/972.cpbin0 -> 9780 bytes
-rw-r--r--consolefonts/Cyr_a8x14.psfbin0 -> 4684 bytes
-rw-r--r--consolefonts/Cyr_a8x16.psfbin0 -> 5196 bytes
-rw-r--r--consolefonts/Cyr_a8x8.psfbin0 -> 3148 bytes
-rw-r--r--consolefonts/Goha-12.psfbin0 -> 8142 bytes
-rw-r--r--consolefonts/Goha-14.psfbin0 -> 9166 bytes
-rw-r--r--consolefonts/Goha-16.psfbin0 -> 10190 bytes
-rw-r--r--consolefonts/GohaClassic-12.psfbin0 -> 8142 bytes
-rw-r--r--consolefonts/GohaClassic-14.psfbin0 -> 9166 bytes
-rw-r--r--consolefonts/GohaClassic-16.psfbin0 -> 10190 bytes
-rw-r--r--consolefonts/LatArCyrHeb-08.psfbin0 -> 6214 bytes
-rw-r--r--consolefonts/LatArCyrHeb-14.psfbin0 -> 9286 bytes
-rw-r--r--consolefonts/LatArCyrHeb-16+.psfbin0 -> 10310 bytes
-rw-r--r--consolefonts/LatArCyrHeb-16.psfbin0 -> 10310 bytes
-rw-r--r--consolefonts/LatArCyrHeb-19.psfbin0 -> 11846 bytes
-rw-r--r--consolefonts/Makefile.am98
-rw-r--r--consolefonts/Makefile.in225
-rw-r--r--consolefonts/Mik_8x16.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/alt-8x14.psfbin0 -> 3588 bytes
-rw-r--r--consolefonts/alt-8x16.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/alt-8x8.psfbin0 -> 2052 bytes
-rw-r--r--consolefonts/altb-8x16.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/altc-8x16.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/aply16.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/arm8.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/brl-08.psfbin0 -> 3076 bytes
-rw-r--r--consolefonts/brl-10.psfbin0 -> 3588 bytes
-rw-r--r--consolefonts/brl-12.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/brl-14.psfbin0 -> 4612 bytes
-rw-r--r--consolefonts/brl-16.psfbin0 -> 5124 bytes
-rw-r--r--consolefonts/cp850-8x14.psfbin0 -> 3588 bytes
-rw-r--r--consolefonts/cp850-8x16.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/cp850-8x8.psfbin0 -> 2052 bytes
-rw-r--r--consolefonts/cp857-8x14.psfbin0 -> 4606 bytes
-rw-r--r--consolefonts/cp857-8x16.psfbin0 -> 5118 bytes
-rw-r--r--consolefonts/cp857-8x8.psfbin0 -> 3070 bytes
-rw-r--r--consolefonts/cp865-8x14.psfbin0 -> 3588 bytes
-rw-r--r--consolefonts/cp865-8x16.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/cp865-8x8.psfbin0 -> 2052 bytes
-rw-r--r--consolefonts/cp866-8x16.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/def2_8x16.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/default8x16.psfbin0 -> 5150 bytes
-rw-r--r--consolefonts/default8x9.psfbin0 -> 3358 bytes
-rw-r--r--consolefonts/gr.f14.psfbin0 -> 3588 bytes
-rw-r--r--consolefonts/gr.f16.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/gr737-8x8-2.psfbin0 -> 2052 bytes
-rw-r--r--consolefonts/gr737-8x8.psfbin0 -> 2052 bytes
-rw-r--r--consolefonts/gr737-9x14-2.psfbin0 -> 3588 bytes
-rw-r--r--consolefonts/gr737-9x14.psfbin0 -> 3588 bytes
-rw-r--r--consolefonts/gr737-9x16-2.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/gr737-9x16-medieval.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/gr737-9x16.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/gr8x14.psfbin0 -> 3588 bytes
-rw-r--r--consolefonts/gr8x16.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/gr8x6.psfbin0 -> 1540 bytes
-rw-r--r--consolefonts/gr8x7.psfbin0 -> 1796 bytes
-rw-r--r--consolefonts/gr8x8.psfbin0 -> 2052 bytes
-rw-r--r--consolefonts/grcourier.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/greek.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/grfixed.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/iso01.f08.psfbin0 -> 3020 bytes
-rw-r--r--consolefonts/iso01.f14.psfbin0 -> 4556 bytes
-rw-r--r--consolefonts/iso01.f16.psfbin0 -> 5068 bytes
-rw-r--r--consolefonts/iso01a-8x14.psfbin0 -> 3588 bytes
-rw-r--r--consolefonts/iso01a-8x16.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/iso01a-8x8.psfbin0 -> 2052 bytes
-rw-r--r--consolefonts/iso02.f08.psfbin0 -> 3020 bytes
-rw-r--r--consolefonts/iso02.f14.psfbin0 -> 4556 bytes
-rw-r--r--consolefonts/iso02.f16.psfbin0 -> 5068 bytes
-rw-r--r--consolefonts/iso02g.psfbin0 -> 5128 bytes
-rw-r--r--consolefonts/iso03.f08.psfbin0 -> 3006 bytes
-rw-r--r--consolefonts/iso03.f14.psfbin0 -> 4542 bytes
-rw-r--r--consolefonts/iso03.f16.psfbin0 -> 5054 bytes
-rw-r--r--consolefonts/iso03g.psfbin0 -> 5128 bytes
-rw-r--r--consolefonts/iso04.f08.psfbin0 -> 3020 bytes
-rw-r--r--consolefonts/iso04.f14.psfbin0 -> 4556 bytes
-rw-r--r--consolefonts/iso04.f16.psfbin0 -> 5068 bytes
-rw-r--r--consolefonts/iso05.f08.psfbin0 -> 3020 bytes
-rw-r--r--consolefonts/iso05.f14.psfbin0 -> 4556 bytes
-rw-r--r--consolefonts/iso05.f16.psfbin0 -> 5068 bytes
-rw-r--r--consolefonts/iso06.f08.psfbin0 -> 2930 bytes
-rw-r--r--consolefonts/iso06.f14.psfbin0 -> 4466 bytes
-rw-r--r--consolefonts/iso06.f16.psfbin0 -> 4978 bytes
-rw-r--r--consolefonts/iso07.f08.psfbin0 -> 3008 bytes
-rw-r--r--consolefonts/iso07.f14.psfbin0 -> 4544 bytes
-rw-r--r--consolefonts/iso07.f16.psfbin0 -> 5056 bytes
-rw-r--r--consolefonts/iso08.f08.psfbin0 -> 2946 bytes
-rw-r--r--consolefonts/iso08.f14.psfbin0 -> 4482 bytes
-rw-r--r--consolefonts/iso08.f16.psfbin0 -> 4994 bytes
-rw-r--r--consolefonts/iso09.f08.psfbin0 -> 3020 bytes
-rw-r--r--consolefonts/iso09.f14.psfbin0 -> 4556 bytes
-rw-r--r--consolefonts/iso09.f16.psfbin0 -> 5068 bytes
-rw-r--r--consolefonts/iso10.f08.psfbin0 -> 3020 bytes
-rw-r--r--consolefonts/iso10.f14.psfbin0 -> 4556 bytes
-rw-r--r--consolefonts/iso10.f16.psfbin0 -> 5068 bytes
-rw-r--r--consolefonts/iso14.f16.psfbin0 -> 5062 bytes
-rw-r--r--consolefonts/ka8x16thin-1.psfbin0 -> 5128 bytes
-rw-r--r--consolefonts/koi8-14.psfbin0 -> 3588 bytes
-rw-r--r--consolefonts/koi8-8x14.psfbin0 -> 3588 bytes
-rw-r--r--consolefonts/koi8-8x16.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/koi8-8x8.psfbin0 -> 2052 bytes
-rw-r--r--consolefonts/koi8b-8x16.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/koi8c-8x16.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/koi8r-8x8.psfbin0 -> 2052 bytes
-rw-r--r--consolefonts/koi8u_8x14.psfbin0 -> 4686 bytes
-rw-r--r--consolefonts/koi8u_8x16.psfbin0 -> 5198 bytes
-rw-r--r--consolefonts/koi8u_8x8.psfbin0 -> 3150 bytes
-rw-r--r--consolefonts/lat0-08.psfbin0 -> 3108 bytes
-rw-r--r--consolefonts/lat0-10.psfbin0 -> 3620 bytes
-rw-r--r--consolefonts/lat0-12.psfbin0 -> 4132 bytes
-rw-r--r--consolefonts/lat0-14.psfbin0 -> 4644 bytes
-rw-r--r--consolefonts/lat0-16.psfbin0 -> 5156 bytes
-rw-r--r--consolefonts/lat0-16.sbf4624
-rw-r--r--consolefonts/lat0-sun16.psfbin0 -> 5144 bytes
-rw-r--r--consolefonts/lat1-08.psfbin0 -> 3108 bytes
-rw-r--r--consolefonts/lat1-10.psfbin0 -> 3620 bytes
-rw-r--r--consolefonts/lat1-12.psfbin0 -> 3883 bytes
-rw-r--r--consolefonts/lat1-14.psfbin0 -> 4644 bytes
-rw-r--r--consolefonts/lat1-16.psfbin0 -> 5156 bytes
-rw-r--r--consolefonts/lat1u-08.psfbin0 -> 3108 bytes
-rw-r--r--consolefonts/lat1u-10.psfbin0 -> 3620 bytes
-rw-r--r--consolefonts/lat1u-12.psfbin0 -> 4132 bytes
-rw-r--r--consolefonts/lat1u-14.psfbin0 -> 4644 bytes
-rw-r--r--consolefonts/lat1u-16.psfbin0 -> 5156 bytes
-rw-r--r--consolefonts/lat1u-16.sbf4624
-rw-r--r--consolefonts/lat2-08.psfbin0 -> 2052 bytes
-rw-r--r--consolefonts/lat2-10.psfbin0 -> 2564 bytes
-rw-r--r--consolefonts/lat2-12.psfbin0 -> 3076 bytes
-rw-r--r--consolefonts/lat2-14.psfbin0 -> 3588 bytes
-rw-r--r--consolefonts/lat2-16.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/lat2-sun16.psfbin0 -> 5164 bytes
-rw-r--r--consolefonts/lat2u-08.psfbin0 -> 3120 bytes
-rw-r--r--consolefonts/lat2u-10.psfbin0 -> 3632 bytes
-rw-r--r--consolefonts/lat2u-12.psfbin0 -> 4144 bytes
-rw-r--r--consolefonts/lat2u-14.psfbin0 -> 4656 bytes
-rw-r--r--consolefonts/lat2u-16.psfbin0 -> 5168 bytes
-rw-r--r--consolefonts/lat4-08.psfbin0 -> 3150 bytes
-rw-r--r--consolefonts/lat4-10.psfbin0 -> 3662 bytes
-rw-r--r--consolefonts/lat4-12.psfbin0 -> 4174 bytes
-rw-r--r--consolefonts/lat4-14.psfbin0 -> 4686 bytes
-rw-r--r--consolefonts/lat4-16+.psfbin0 -> 5198 bytes
-rw-r--r--consolefonts/lat4-16.psfbin0 -> 5198 bytes
-rw-r--r--consolefonts/lat4-19.psfbin0 -> 5966 bytes
-rw-r--r--consolefonts/lat4a-08.psfbin0 -> 3150 bytes
-rw-r--r--consolefonts/lat4a-10.psfbin0 -> 3662 bytes
-rw-r--r--consolefonts/lat4a-12.psfbin0 -> 4174 bytes
-rw-r--r--consolefonts/lat4a-14.psfbin0 -> 4686 bytes
-rw-r--r--consolefonts/lat4a-16+.psfbin0 -> 5198 bytes
-rw-r--r--consolefonts/lat4a-16.psfbin0 -> 5198 bytes
-rw-r--r--consolefonts/lat4a-19.psfbin0 -> 5966 bytes
-rw-r--r--consolefonts/lat4u-08.psfbin0 -> 3150 bytes
-rw-r--r--consolefonts/lat4u-10.psfbin0 -> 3662 bytes
-rw-r--r--consolefonts/lat4u-12.psfbin0 -> 4174 bytes
-rw-r--r--consolefonts/lat4u-14.psfbin0 -> 4686 bytes
-rw-r--r--consolefonts/lat4u-16+.psfbin0 -> 5198 bytes
-rw-r--r--consolefonts/lat4u-16.psfbin0 -> 5198 bytes
-rw-r--r--consolefonts/lat4u-19.psfbin0 -> 5966 bytes
-rw-r--r--consolefonts/lat5u-16.psfbin0 -> 5157 bytes
-rw-r--r--consolefonts/lat7-14.psfbin0 -> 3588 bytes
-rw-r--r--consolefonts/lat9-08.psfbin0 -> 2052 bytes
-rw-r--r--consolefonts/lat9-10.psfbin0 -> 2564 bytes
-rw-r--r--consolefonts/lat9-12.psfbin0 -> 3076 bytes
-rw-r--r--consolefonts/lat9-14.psfbin0 -> 3588 bytes
-rw-r--r--consolefonts/lat9-16.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/lat9u-08.psfbin0 -> 3108 bytes
-rw-r--r--consolefonts/lat9u-10.psfbin0 -> 3620 bytes
-rw-r--r--consolefonts/lat9u-12.psfbin0 -> 4132 bytes
-rw-r--r--consolefonts/lat9u-14.psfbin0 -> 4644 bytes
-rw-r--r--consolefonts/lat9u-16.psfbin0 -> 5156 bytes
-rw-r--r--consolefonts/lat9v-08.psfbin0 -> 3108 bytes
-rw-r--r--consolefonts/lat9v-10.psfbin0 -> 3620 bytes
-rw-r--r--consolefonts/lat9v-12.psfbin0 -> 4132 bytes
-rw-r--r--consolefonts/lat9v-14.psfbin0 -> 4644 bytes
-rw-r--r--consolefonts/lat9v-16.psfbin0 -> 5156 bytes
-rw-r--r--consolefonts/lat9w-08.psfbin0 -> 3124 bytes
-rw-r--r--consolefonts/lat9w-10.psfbin0 -> 3636 bytes
-rw-r--r--consolefonts/lat9w-12.psfbin0 -> 4148 bytes
-rw-r--r--consolefonts/lat9w-14.psfbin0 -> 4660 bytes
-rw-r--r--consolefonts/lat9w-16.psfbin0 -> 5172 bytes
-rw-r--r--consolefonts/lat9wbrl-08.psfbin0 -> 6196 bytes
-rw-r--r--consolefonts/lat9wbrl-10.psfbin0 -> 7220 bytes
-rw-r--r--consolefonts/lat9wbrl-12.psfbin0 -> 8244 bytes
-rw-r--r--consolefonts/lat9wbrl-14.psfbin0 -> 9268 bytes
-rw-r--r--consolefonts/lat9wbrl-16.psfbin0 -> 10292 bytes
-rw-r--r--consolefonts/latarcyrheb-sun16.psfbin0 -> 10312 bytes
-rw-r--r--consolefonts/ruscii_8x14.psfbin0 -> 4682 bytes
-rw-r--r--consolefonts/ruscii_8x16.psfbin0 -> 5194 bytes
-rw-r--r--consolefonts/ruscii_8x8.psfbin0 -> 3146 bytes
-rw-r--r--consolefonts/t850b.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/tcvn8x16.psfbin0 -> 4100 bytes
-rw-r--r--consolefonts/tis-phaisarn.f16.psfbin0 -> 5138 bytes
-rw-r--r--consolefonts/tis-ptconsl.f16.psfbin0 -> 5138 bytes
-rw-r--r--consolefonts/tis-ptcufont.f20.psfbin0 -> 6162 bytes
-rw-r--r--consolefonts/tis-ptkmfont.f24.psfbin0 -> 7186 bytes
-rw-r--r--consolefonts/tis-ptlight.f16.psfbin0 -> 5138 bytes
-rw-r--r--consolefonts/tis-ptramafo.f20.psfbin0 -> 6162 bytes
-rw-r--r--consolefonts/tis-ptsmall.f16.psfbin0 -> 5138 bytes
-rw-r--r--consolefonts/viscii10-8x16.psfbin0 -> 5124 bytes
-rw-r--r--consoletrans/Cyr_a.sfm294
-rw-r--r--consoletrans/ECMA144.sfm108
-rw-r--r--consoletrans/MacCyrillic.acm223
-rw-r--r--consoletrans/Makefile288
-rw-r--r--consoletrans/Makefile.am84
-rw-r--r--consoletrans/Makefile.in376
-rw-r--r--consoletrans/UTF-tmpl.8bit135
-rw-r--r--consoletrans/UTF-tmpl.8bit.in128
-rw-r--r--consoletrans/UniCyr.sfm368
-rw-r--r--consoletrans/UniCyrX.sfm259
-rw-r--r--consoletrans/alt.sfm292
-rw-r--r--consoletrans/arabic_forms.fallback394
-rw-r--r--consoletrans/arabic_forms.nofallback45
-rw-r--r--consoletrans/armscii8.sfm103
-rw-r--r--consoletrans/bulgarian-mic.acm223
-rw-r--r--consoletrans/cp1251.acm222
-rw-r--r--consoletrans/cp437.acm135
-rw-r--r--consoletrans/cp437.sfm291
-rw-r--r--consoletrans/cp437_to_iso01.trans133
-rw-r--r--consoletrans/cp850.sfm283
-rw-r--r--consoletrans/cp850_to_iso01.trans99
-rw-r--r--consoletrans/cp850b.sfm285
-rw-r--r--consoletrans/cp857.acm273
-rw-r--r--consoletrans/cp866.acm224
-rw-r--r--consoletrans/cp866.sfm292
-rw-r--r--consoletrans/def.sfm175
-rw-r--r--consoletrans/ethiopic.sfm460
-rw-r--r--consoletrans/graph.fallback84
-rw-r--r--consoletrans/iso01.acm135
-rw-r--r--consoletrans/iso01.sfm43
-rw-r--r--consoletrans/iso02+euro.acm141
-rw-r--r--consoletrans/iso02.acm135
-rw-r--r--consoletrans/iso02.sfm140
-rw-r--r--consoletrans/iso03.acm135
-rw-r--r--consoletrans/iso03.sfm140
-rw-r--r--consoletrans/iso04.acm135
-rw-r--r--consoletrans/iso04.sfm140
-rw-r--r--consoletrans/iso05.acm135
-rw-r--r--consoletrans/iso05.sfm140
-rw-r--r--consoletrans/iso06.acm135
-rw-r--r--consoletrans/iso06.sfm95
-rw-r--r--consoletrans/iso07.acm135
-rw-r--r--consoletrans/iso07.sfm135
-rw-r--r--consoletrans/iso08.acm135
-rw-r--r--consoletrans/iso08.sfm81
-rw-r--r--consoletrans/iso09.acm135
-rw-r--r--consoletrans/iso09.sfm54
-rw-r--r--consoletrans/iso10.acm135
-rw-r--r--consoletrans/iso10.sfm110
-rw-r--r--consoletrans/iso13.acmbin0 -> 2425 bytes
-rw-r--r--consoletrans/iso13.sfm256
-rw-r--r--consoletrans/iso14.sfm107
-rw-r--r--consoletrans/iso15.acm140
-rw-r--r--consoletrans/iso15.sfm57
-rw-r--r--consoletrans/koi2alt.trans131
-rw-r--r--consoletrans/koi8-r.acm225
-rw-r--r--consoletrans/koi8-r.sfm262
-rw-r--r--consoletrans/koi8u.acm260
-rw-r--r--consoletrans/koi8u.sfm260
-rw-r--r--consoletrans/koi8u2ruscii.trans141
-rw-r--r--consoletrans/lat1.sfm70
-rw-r--r--consoletrans/lat1u.sfm139
-rw-r--r--consoletrans/lat2-g.sfm259
-rw-r--r--consoletrans/lat2.sfm259
-rw-r--r--consoletrans/lat2u.sfm260
-rw-r--r--consoletrans/lat4.sfm187
-rw-r--r--consoletrans/lat4u.sfm248
-rw-r--r--consoletrans/lat9u.uni259
-rw-r--r--consoletrans/lat9v.uni259
-rw-r--r--consoletrans/lat9w.uni259
-rw-r--r--consoletrans/lat9wbrl.uni515
-rw-r--r--consoletrans/latin_diacr.fallback1124
-rw-r--r--consoletrans/latin_diacr.nofallback69
-rw-r--r--consoletrans/math.fallback29
-rw-r--r--consoletrans/misc.fallback29
-rw-r--r--consoletrans/null.trans65
-rw-r--r--consoletrans/qrczak.fallback1553
-rw-r--r--consoletrans/ruscii.acm290
-rw-r--r--consoletrans/ruscii.sfm290
-rw-r--r--consoletrans/space.trans130
-rw-r--r--consoletrans/straight-to-font.acm261
-rw-r--r--consoletrans/tcvn.sfm80
-rw-r--r--consoletrans/tis620.acm277
-rw-r--r--consoletrans/tis620.sfm270
-rw-r--r--consoletrans/tis620x.sfm271
-rw-r--r--consoletrans/trivial.trans129
-rw-r--r--consoletrans/typo.fallback11
-rw-r--r--consoletrans/ucx.sfm259
-rw-r--r--consoletrans/vga2iso.trans129
-rw-r--r--consoletrans/viscii.sfm144
-rw-r--r--consoletrans/viscii1.0_to_tcvn.trans101
-rw-r--r--consoletrans/viscii1.0_to_viscii1.1.trans133
-rw-r--r--consoletrans/zero.trans130
-rw-r--r--debian/README.Debian (renamed from README.Debian)0
-rw-r--r--debian/README.udebs (renamed from README.udebs)0
-rw-r--r--debian/README.us-intl (renamed from README.us-intl)0
-rw-r--r--debian/Rationale (renamed from Rationale)0
-rw-r--r--debian/TODO (renamed from TODO)0
-rw-r--r--debian/changelog (renamed from changelog)0
-rw-r--r--debian/compat (renamed from compat)0
-rw-r--r--debian/console-data.dirs (renamed from console-data.dirs)0
-rw-r--r--debian/console-data.docs (renamed from console-data.docs)0
-rw-r--r--debian/console-data.examples (renamed from console-data.examples)0
-rw-r--r--debian/console-data.install (renamed from console-data.install)0
-rw-r--r--debian/console-data.keymaps (renamed from console-data.keymaps)0
-rw-r--r--debian/console-data.postinst (renamed from console-data.postinst)0
-rw-r--r--debian/console-keymaps-acorn.install (renamed from console-keymaps-acorn.install)0
-rw-r--r--debian/console-keymaps-acorn.templates (renamed from console-keymaps-acorn.templates)0
-rw-r--r--debian/console-keymaps-amiga.install (renamed from console-keymaps-amiga.install)0
-rw-r--r--debian/console-keymaps-amiga.templates (renamed from console-keymaps-amiga.templates)0
-rw-r--r--debian/console-keymaps-at.install (renamed from console-keymaps-at.install)0
-rw-r--r--debian/console-keymaps-at.links (renamed from console-keymaps-at.links)0
-rw-r--r--debian/console-keymaps-at.templates (renamed from console-keymaps-at.templates)0
-rw-r--r--debian/console-keymaps-atari.install (renamed from console-keymaps-atari.install)0
-rw-r--r--debian/console-keymaps-atari.links (renamed from console-keymaps-atari.links)0
-rw-r--r--debian/console-keymaps-atari.templates (renamed from console-keymaps-atari.templates)0
-rw-r--r--debian/console-keymaps-dec.install (renamed from console-keymaps-dec.install)0
-rw-r--r--debian/console-keymaps-dec.templates (renamed from console-keymaps-dec.templates)0
-rw-r--r--debian/console-keymaps-mac.install (renamed from console-keymaps-mac.install)0
-rw-r--r--debian/console-keymaps-mac.links (renamed from console-keymaps-mac.links)0
-rw-r--r--debian/console-keymaps-mac.templates (renamed from console-keymaps-mac.templates)0
-rw-r--r--debian/console-keymaps-sun.install (renamed from console-keymaps-sun.install)0
-rw-r--r--debian/console-keymaps-sun.links (renamed from console-keymaps-sun.links)0
-rw-r--r--debian/console-keymaps-sun.templates (renamed from console-keymaps-sun.templates)0
-rw-r--r--debian/console-keymaps-usb.install (renamed from console-keymaps-usb.install)0
-rw-r--r--debian/console-keymaps-usb.templates (renamed from console-keymaps-usb.templates)0
-rw-r--r--debian/control (renamed from control)0
-rw-r--r--debian/copyright (renamed from copyright)0
-rwxr-xr-xdebian/gen-acorn-keymaps (renamed from gen-acorn-keymaps)0
-rwxr-xr-xdebian/klist-to-po.pl (renamed from klist-to-po.pl)0
-rwxr-xr-xdebian/list-keymaps.pl (renamed from list-keymaps.pl)0
-rwxr-xr-xdebian/make-template.pl (renamed from make-template.pl)0
-rw-r--r--debian/po/POTFILES.in (renamed from po/POTFILES.in)0
-rw-r--r--debian/po/ar.po (renamed from po/ar.po)0
-rw-r--r--debian/po/ast.po (renamed from po/ast.po)0
-rw-r--r--debian/po/be.po (renamed from po/be.po)0
-rw-r--r--debian/po/bg.po (renamed from po/bg.po)0
-rw-r--r--debian/po/bn.po (renamed from po/bn.po)0
-rw-r--r--debian/po/bs.po (renamed from po/bs.po)0
-rw-r--r--debian/po/ca.po (renamed from po/ca.po)0
-rw-r--r--debian/po/cs.po (renamed from po/cs.po)0
-rw-r--r--debian/po/cy.po (renamed from po/cy.po)0
-rw-r--r--debian/po/da.po (renamed from po/da.po)0
-rw-r--r--debian/po/de.po (renamed from po/de.po)0
-rw-r--r--debian/po/dz.po (renamed from po/dz.po)0
-rw-r--r--debian/po/el.po (renamed from po/el.po)0
-rw-r--r--debian/po/eo.po (renamed from po/eo.po)0
-rw-r--r--debian/po/es.po (renamed from po/es.po)0
-rw-r--r--debian/po/et.po (renamed from po/et.po)0
-rw-r--r--debian/po/eu.po (renamed from po/eu.po)0
-rw-r--r--debian/po/fa.po (renamed from po/fa.po)0
-rw-r--r--debian/po/fi.po (renamed from po/fi.po)0
-rw-r--r--debian/po/fr.po (renamed from po/fr.po)0
-rw-r--r--debian/po/ga.po (renamed from po/ga.po)0
-rw-r--r--debian/po/gl.po (renamed from po/gl.po)0
-rw-r--r--debian/po/gu.po (renamed from po/gu.po)0
-rw-r--r--debian/po/he.po (renamed from po/he.po)0
-rw-r--r--debian/po/hi.po (renamed from po/hi.po)0
-rw-r--r--debian/po/hr.po (renamed from po/hr.po)0
-rw-r--r--debian/po/hu.po (renamed from po/hu.po)0
-rw-r--r--debian/po/id.po (renamed from po/id.po)0
-rw-r--r--debian/po/is.po (renamed from po/is.po)0
-rw-r--r--debian/po/it.po (renamed from po/it.po)0
-rw-r--r--debian/po/ja.po (renamed from po/ja.po)0
-rw-r--r--debian/po/ka.po (renamed from po/ka.po)0
-rw-r--r--debian/po/kk.po (renamed from po/kk.po)0
-rw-r--r--debian/po/km.po (renamed from po/km.po)0
-rw-r--r--debian/po/ko.po (renamed from po/ko.po)0
-rw-r--r--debian/po/ku.po (renamed from po/ku.po)0
-rw-r--r--debian/po/lt.po (renamed from po/lt.po)0
-rw-r--r--debian/po/lv.po (renamed from po/lv.po)0
-rw-r--r--debian/po/mk.po (renamed from po/mk.po)0
-rw-r--r--debian/po/ml.po (renamed from po/ml.po)0
-rw-r--r--debian/po/mr.po (renamed from po/mr.po)0
-rw-r--r--debian/po/nb.po (renamed from po/nb.po)0
-rw-r--r--debian/po/ne.po (renamed from po/ne.po)0
-rw-r--r--debian/po/nl.po (renamed from po/nl.po)0
-rw-r--r--debian/po/nn.po (renamed from po/nn.po)0
-rw-r--r--debian/po/output (renamed from po/output)0
-rw-r--r--debian/po/pa.po (renamed from po/pa.po)0
-rw-r--r--debian/po/pl.po (renamed from po/pl.po)0
-rw-r--r--debian/po/pt.po (renamed from po/pt.po)0
-rw-r--r--debian/po/pt_BR.po (renamed from po/pt_BR.po)0
-rw-r--r--debian/po/ro.po (renamed from po/ro.po)0
-rw-r--r--debian/po/ru.po (renamed from po/ru.po)0
-rw-r--r--debian/po/si.po (renamed from po/si.po)0
-rw-r--r--debian/po/sk.po (renamed from po/sk.po)0
-rw-r--r--debian/po/sl.po (renamed from po/sl.po)0
-rw-r--r--debian/po/sq.po (renamed from po/sq.po)0
-rw-r--r--debian/po/sr.po (renamed from po/sr.po)0
-rw-r--r--debian/po/sr@latin.po (renamed from po/sr@latin.po)0
-rw-r--r--debian/po/sv.po (renamed from po/sv.po)0
-rw-r--r--debian/po/ta.po (renamed from po/ta.po)0
-rw-r--r--debian/po/te.po (renamed from po/te.po)0
-rw-r--r--debian/po/templates.pot (renamed from po/templates.pot)0
-rw-r--r--debian/po/th.po (renamed from po/th.po)0
-rw-r--r--debian/po/tl.po (renamed from po/tl.po)0
-rw-r--r--debian/po/tr.po (renamed from po/tr.po)0
-rw-r--r--debian/po/ug.po (renamed from po/ug.po)0
-rw-r--r--debian/po/uk.po (renamed from po/uk.po)0
-rw-r--r--debian/po/vi.po (renamed from po/vi.po)0
-rw-r--r--debian/po/wo.po (renamed from po/wo.po)0
-rw-r--r--debian/po/zh_CN.po (renamed from po/zh_CN.po)0
-rw-r--r--debian/po/zh_TW.po (renamed from po/zh_TW.po)0
-rwxr-xr-xdebian/rules (renamed from rules)0
-rw-r--r--debian/sort-keymaps (renamed from sort-keymaps)0
-rw-r--r--debian/source/format (renamed from source/format)0
-rw-r--r--debian/source/options (renamed from source/options)0
-rwxr-xr-xdebian/tests/keymaps (renamed from tests/keymaps)0
-rwxr-xr-xdebian/tests/test-keymaps (renamed from tests/test-keymaps)0
-rw-r--r--debian/tests/udebs (renamed from tests/udebs)0
-rwxr-xr-xdebian/trim_keymaps.sh (renamed from trim_keymaps.sh)0
-rw-r--r--debian/udeb/console-keymaps-acorn (renamed from udeb/console-keymaps-acorn)0
-rw-r--r--debian/udeb/console-keymaps-amiga (renamed from udeb/console-keymaps-amiga)0
-rw-r--r--debian/udeb/console-keymaps-at (renamed from udeb/console-keymaps-at)0
-rw-r--r--debian/udeb/console-keymaps-atari (renamed from udeb/console-keymaps-atari)0
-rw-r--r--debian/udeb/console-keymaps-dec (renamed from udeb/console-keymaps-dec)0
-rw-r--r--debian/udeb/console-keymaps-mac (renamed from udeb/console-keymaps-mac)0
-rw-r--r--debian/udeb/console-keymaps-sun (renamed from udeb/console-keymaps-sun)0
-rw-r--r--debian/udeb/console-keymaps-usb (renamed from udeb/console-keymaps-usb)0
-rw-r--r--debian/watch (renamed from watch)0
-rw-r--r--doc/Makefile.am5
-rw-r--r--doc/Makefile.in191
-rw-r--r--doc/README.acm43
-rw-r--r--doc/README.iBook2.console-tools38
-rw-r--r--doc/README.sfm11
-rw-r--r--doc/fonts/README75
-rw-r--r--doc/fonts/README.Arabic8
-rw-r--r--doc/fonts/README.Cyrillic49
-rw-r--r--doc/fonts/README.Ethiopic30
-rw-r--r--doc/fonts/README.Greek8
-rw-r--r--doc/fonts/README.Hebrew6
-rw-r--r--doc/fonts/README.Sun23
-rw-r--r--doc/fonts/fonts.magic54
-rw-r--r--doc/keymaps/README31
-rw-r--r--doc/keymaps/README.sparc117
-rw-r--r--doc/keymaps/hypermap.m4475
-rw-r--r--doc/keymaps/no-latin1.doc50
-rw-r--r--doc/keymaps/se.readme2
-rwxr-xr-xinstall-sh251
-rw-r--r--keymaps/Makefile.am49
-rw-r--r--keymaps/Makefile.in234
-rw-r--r--keymaps/README36
-rw-r--r--keymaps/amiga/amiga-de.kmap391
-rw-r--r--keymaps/amiga/amiga-es.kmap163
-rw-r--r--keymaps/amiga/amiga-fr.kmap453
-rw-r--r--keymaps/amiga/amiga-it.kmap418
-rw-r--r--keymaps/amiga/amiga-se.kmap154
-rw-r--r--keymaps/amiga/amiga-sg.kmap249
-rw-r--r--keymaps/amiga/amiga-us.kmap242
-rw-r--r--keymaps/atari/atari-de-deadkeys.kmap256
-rw-r--r--keymaps/atari/atari-de-emacs.kmap514
-rw-r--r--keymaps/atari/atari-de.kmap267
-rw-r--r--keymaps/atari/atari-fr.kmap269
-rw-r--r--keymaps/atari/atari-se-deadkeys.kmap237
-rw-r--r--keymaps/atari/atari-se.kmap247
-rw-r--r--keymaps/atari/atari-uk-deadkeys.kmap234
-rw-r--r--keymaps/atari/atari-uk.kmap244
-rw-r--r--keymaps/atari/atari-us-deadkeys.kmap232
-rw-r--r--keymaps/atari/atari-us.kmap242
-rw-r--r--keymaps/i386/azerty/azerty.kmap62
-rw-r--r--keymaps/i386/azerty/be-latin1.kmap73
-rw-r--r--keymaps/i386/azerty/be2-latin1.kmap20
-rw-r--r--keymaps/i386/azerty/fr-latin0.kmap648
-rw-r--r--keymaps/i386/azerty/fr-latin1.kmap77
-rw-r--r--keymaps/i386/azerty/fr-latin9.kmap706
-rw-r--r--keymaps/i386/azerty/fr-pc.kmap81
-rw-r--r--keymaps/i386/azerty/fr-x11.kmap376
-rw-r--r--keymaps/i386/azerty/fr.kmap79
-rw-r--r--keymaps/i386/azerty/mac-usb-be.kmap40
-rw-r--r--keymaps/i386/azerty/mac-usb-fr.kmap127
-rw-r--r--keymaps/i386/azerty/mac-usb-it.kmap51
-rw-r--r--keymaps/i386/azerty/wangbe.kmap23
-rw-r--r--keymaps/i386/azerty/wo.kmap71
-rw-r--r--keymaps/i386/dvorak/ANSI-dvorak.kmap12
-rw-r--r--keymaps/i386/dvorak/dvorak-classic.kmap672
-rw-r--r--keymaps/i386/dvorak/dvorak-de.kmap579
-rw-r--r--keymaps/i386/dvorak/dvorak-fr-bepo-utf8.kmap257
-rw-r--r--keymaps/i386/dvorak/dvorak-fr-bepo.kmap1015
-rw-r--r--keymaps/i386/dvorak/dvorak-fr.kmap107
-rw-r--r--keymaps/i386/dvorak/dvorak-l.kmap103
-rw-r--r--keymaps/i386/dvorak/dvorak-lisp.kmap386
-rw-r--r--keymaps/i386/dvorak/dvorak-r.kmap103
-rw-r--r--keymaps/i386/dvorak/dvorak-ru.kmap287
-rw-r--r--keymaps/i386/dvorak/dvorak-uk.kmap80
-rw-r--r--keymaps/i386/dvorak/dvorak.kmap81
-rw-r--r--keymaps/i386/dvorak/mac-usb-dvorak.kmap80
-rw-r--r--keymaps/i386/dvorak/pc-dvorak-latin1.kmap247
-rw-r--r--keymaps/i386/fgGIod/tr_f-latin5.kmap249
-rw-r--r--keymaps/i386/fgGIod/trf.kmap212
-rw-r--r--keymaps/i386/fgGIod/trfu.kmap549
-rw-r--r--keymaps/i386/include/azerty-layout.inc30
-rw-r--r--keymaps/i386/include/backspace.inc2
-rw-r--r--keymaps/i386/include/ctrl.inc3
-rw-r--r--keymaps/i386/include/euro.inc6
-rw-r--r--keymaps/i386/include/keypad.inc65
-rw-r--r--keymaps/i386/include/linux-keys-bare.inc162
-rw-r--r--keymaps/i386/include/linux-keys-bare.inc~166
-rw-r--r--keymaps/i386/include/linux-keys-extd.inc37
-rw-r--r--keymaps/i386/include/linux-with-alt-and-altgr.inc28
-rw-r--r--keymaps/i386/include/linux-with-modeshift-altgr.inc101
-rw-r--r--keymaps/i386/include/linux-with-two-alt-keys.inc6
-rw-r--r--keymaps/i386/include/mac-linux-keys-bare.inc184
-rw-r--r--keymaps/i386/include/qwerty-layout.inc30
-rw-r--r--keymaps/i386/include/qwertz-layout.inc30
-rw-r--r--keymaps/i386/include/windowkeys.inc5
-rw-r--r--keymaps/i386/qwerty/ar.kmap136
-rw-r--r--keymaps/i386/qwerty/bg-cp1251.kmap293
-rw-r--r--keymaps/i386/qwerty/bg.kmap291
-rw-r--r--keymaps/i386/qwerty/br-abnt2.kmap77
-rw-r--r--keymaps/i386/qwerty/br-latin1.kmap387
-rw-r--r--keymaps/i386/qwerty/by.kmap587
-rw-r--r--keymaps/i386/qwerty/ca-multi.kmap119
-rw-r--r--keymaps/i386/qwerty/cf.kmap105
-rw-r--r--keymaps/i386/qwerty/cz-lat2-prog.kmap261
-rw-r--r--keymaps/i386/qwerty/cz-lat2.kmap257
-rw-r--r--keymaps/i386/qwerty/cz-us-qwerty.kmap256
-rw-r--r--keymaps/i386/qwerty/defkeymap.kmap352
-rw-r--r--keymaps/i386/qwerty/defkeymap_V1.0.kmap315
-rw-r--r--keymaps/i386/qwerty/dk-latin1.kmap86
-rw-r--r--keymaps/i386/qwerty/dk.kmap86
-rw-r--r--keymaps/i386/qwerty/emacs.kmap69
-rw-r--r--keymaps/i386/qwerty/emacs2.kmap58
-rw-r--r--keymaps/i386/qwerty/es-cp850.kmap66
-rw-r--r--keymaps/i386/qwerty/es.kmap96
-rw-r--r--keymaps/i386/qwerty/et-nodeadkeys.kmap7
-rw-r--r--keymaps/i386/qwerty/et.kmap90
-rw-r--r--keymaps/i386/qwerty/fa.kmap147
-rw-r--r--keymaps/i386/qwerty/fi-latin1.kmap83
-rw-r--r--keymaps/i386/qwerty/fi.kmap90
-rw-r--r--keymaps/i386/qwerty/gr-pc.kmap261
-rw-r--r--keymaps/i386/qwerty/gr-utf8.kmap214
-rw-r--r--keymaps/i386/qwerty/gr.kmap474
-rw-r--r--keymaps/i386/qwerty/hebrew.kmap102
-rw-r--r--keymaps/i386/qwerty/hu101.kmap170
-rw-r--r--keymaps/i386/qwerty/il-heb.kmap102
-rw-r--r--keymaps/i386/qwerty/il-phonetic.kmap102
-rw-r--r--keymaps/i386/qwerty/il.kmap294
-rw-r--r--keymaps/i386/qwerty/is-latin1-us.kmap169
-rw-r--r--keymaps/i386/qwerty/is-latin1.kmap151
-rw-r--r--keymaps/i386/qwerty/it-ibm.kmap108
-rw-r--r--keymaps/i386/qwerty/it.kmap159
-rw-r--r--keymaps/i386/qwerty/it2.kmap213
-rw-r--r--keymaps/i386/qwerty/jp106.kmap66
-rw-r--r--keymaps/i386/qwerty/kg.kmap481
-rw-r--r--keymaps/i386/qwerty/kk.kmap209
-rw-r--r--keymaps/i386/qwerty/la-latin1.kmap74
-rw-r--r--keymaps/i386/qwerty/lisp-us.kmap385
-rw-r--r--keymaps/i386/qwerty/lk201-us.kmap356
-rw-r--r--keymaps/i386/qwerty/lt.kmap576
-rw-r--r--keymaps/i386/qwerty/lt.l4.kmap66
-rw-r--r--keymaps/i386/qwerty/lv-latin4.kmap252
-rw-r--r--keymaps/i386/qwerty/lv-latin7.kmap258
-rw-r--r--keymaps/i386/qwerty/mac-usb-dk-latin1.kmap46
-rw-r--r--keymaps/i386/qwerty/mac-usb-es.kmap36
-rw-r--r--keymaps/i386/qwerty/mac-usb-euro.kmap6
-rw-r--r--keymaps/i386/qwerty/mac-usb-fi-latin1.kmap70
-rw-r--r--keymaps/i386/qwerty/mac-usb-se.kmap34
-rw-r--r--keymaps/i386/qwerty/mac-usb-uk.kmap59
-rw-r--r--keymaps/i386/qwerty/mac-usb-us.kmap74
-rw-r--r--keymaps/i386/qwerty/mk.kmap108
-rw-r--r--keymaps/i386/qwerty/nl.kmap70
-rw-r--r--keymaps/i386/qwerty/no-latin1.kmap192
-rw-r--r--keymaps/i386/qwerty/no-standard.kmap223
-rw-r--r--keymaps/i386/qwerty/no.kmap81
-rw-r--r--keymaps/i386/qwerty/pc110.kmap18
-rw-r--r--keymaps/i386/qwerty/pl.kmap150
-rw-r--r--keymaps/i386/qwerty/pl1.kmap132
-rw-r--r--keymaps/i386/qwerty/pt-latin1.kmap74
-rw-r--r--keymaps/i386/qwerty/pt-old.kmap70
-rw-r--r--keymaps/i386/qwerty/ro-academic.kmap107
-rw-r--r--keymaps/i386/qwerty/ro-comma.kmap108
-rw-r--r--keymaps/i386/qwerty/ro.kmap109
-rw-r--r--keymaps/i386/qwerty/ru-cp1251.kmap289
-rw-r--r--keymaps/i386/qwerty/ru-ms.kmap417
-rw-r--r--keymaps/i386/qwerty/ru-yawerty.kmap414
-rw-r--r--keymaps/i386/qwerty/ru.kmap287
-rw-r--r--keymaps/i386/qwerty/ru1.kmap446
-rw-r--r--keymaps/i386/qwerty/ru2.kmap296
-rw-r--r--keymaps/i386/qwerty/ru3.kmap473
-rw-r--r--keymaps/i386/qwerty/ru4.kmap471
-rw-r--r--keymaps/i386/qwerty/ru_win.kmap327
-rw-r--r--keymaps/i386/qwerty/se-fi-ir209.kmap10
-rw-r--r--keymaps/i386/qwerty/se-fi-lat6.kmap9
-rw-r--r--keymaps/i386/qwerty/se-ir209.kmap351
-rw-r--r--keymaps/i386/qwerty/se-lat6.kmap379
-rw-r--r--keymaps/i386/qwerty/se-latin1.kmap89
-rw-r--r--keymaps/i386/qwerty/sk-prog-qwerty.kmap238
-rw-r--r--keymaps/i386/qwerty/sk-prog.kmap254
-rw-r--r--keymaps/i386/qwerty/sk-qwerty.kmap243
-rw-r--r--keymaps/i386/qwerty/sr-cy.kmap321
-rw-r--r--keymaps/i386/qwerty/th-tis.kmap558
-rw-r--r--keymaps/i386/qwerty/tr_q-latin5.kmap123
-rw-r--r--keymaps/i386/qwerty/tralt.kmap144
-rw-r--r--keymaps/i386/qwerty/trq.kmap126
-rw-r--r--keymaps/i386/qwerty/trqu.kmap548
-rw-r--r--keymaps/i386/qwerty/ua-utf-ws.kmap1559
-rw-r--r--keymaps/i386/qwerty/ua-utf.kmap1549
-rw-r--r--keymaps/i386/qwerty/ua-ws.kmap1556
-rw-r--r--keymaps/i386/qwerty/ua.kmap1561
-rw-r--r--keymaps/i386/qwerty/uaw.kmap1583
-rw-r--r--keymaps/i386/qwerty/uaw_uni.kmap1588
-rw-r--r--keymaps/i386/qwerty/uk.kmap58
-rw-r--r--keymaps/i386/qwerty/us-intl.iso01.kmap453
-rw-r--r--keymaps/i386/qwerty/us-intl.iso15.kmap454
-rw-r--r--keymaps/i386/qwerty/us-latin1.kmap303
-rw-r--r--keymaps/i386/qwerty/us.kmap50
-rw-r--r--keymaps/i386/qwertz/croat.kmap169
-rw-r--r--keymaps/i386/qwertz/cz-us-qwertz.kmap254
-rw-r--r--keymaps/i386/qwertz/de-latin1-nodeadkeys.kmap14
-rw-r--r--keymaps/i386/qwertz/de-latin1.kmap56
-rw-r--r--keymaps/i386/qwertz/de.kmap55
-rw-r--r--keymaps/i386/qwertz/fr_CH-latin1.kmap84
-rw-r--r--keymaps/i386/qwertz/fr_CH.kmap89
-rw-r--r--keymaps/i386/qwertz/hu.kmap162
-rw-r--r--keymaps/i386/qwertz/mac-usb-de-latin1-nodeadkeys.kmap15
-rw-r--r--keymaps/i386/qwertz/mac-usb-de-latin1.kmap58
-rw-r--r--keymaps/i386/qwertz/mac-usb-de_CH.kmap48
-rw-r--r--keymaps/i386/qwertz/mac-usb-fr_CH-latin1.kmap51
-rw-r--r--keymaps/i386/qwertz/mac-usb-pt-latin1.kmap32
-rw-r--r--keymaps/i386/qwertz/pl-qwertz.kmap59
-rw-r--r--keymaps/i386/qwertz/sg-latin1-lk450.kmap80
-rw-r--r--keymaps/i386/qwertz/sg-latin1.kmap81
-rw-r--r--keymaps/i386/qwertz/sg.kmap87
-rw-r--r--keymaps/i386/qwertz/sk-prog-qwertz.kmap238
-rw-r--r--keymaps/i386/qwertz/sk-qwertz.kmap243
-rw-r--r--keymaps/i386/qwertz/slovene.kmap123
-rw-r--r--keymaps/i386/qwertz/sr.kmap367
-rw-r--r--keymaps/include/compose.8859_7.inc24
-rw-r--r--keymaps/include/compose.8859_8.inc1
-rw-r--r--keymaps/include/compose.latin.inc255
-rw-r--r--keymaps/include/compose.latin1.inc161
-rw-r--r--keymaps/include/compose.latin2.inc146
-rw-r--r--keymaps/include/compose.latin3.inc90
-rw-r--r--keymaps/include/compose.latin4.inc122
-rw-r--r--keymaps/include/sun-uk.inc64
-rw-r--r--keymaps/include/vim-compose.latin1.inc190
-rw-r--r--keymaps/mac/ibook-it.kmap120
-rw-r--r--keymaps/mac/ibook2-uk.kmap995
-rw-r--r--keymaps/mac/include/mac-azerty-layout.inc30
-rw-r--r--keymaps/mac/include/mac-qwerty-layout.inc30
-rw-r--r--keymaps/mac/include/mac-qwertz-layout.inc30
-rw-r--r--keymaps/mac/mac-de-latin1-nodeadkeys.kmap181
-rw-r--r--keymaps/mac/mac-de-latin1.kmap57
-rw-r--r--keymaps/mac/mac-de2-ext.kmap271
-rw-r--r--keymaps/mac/mac-dvorak.kmap79
-rw-r--r--keymaps/mac/mac-es.kmap33
-rw-r--r--keymaps/mac/mac-fi-latin1.kmap68
-rw-r--r--keymaps/mac/mac-fr-ext.kmap298
-rw-r--r--keymaps/mac/mac-fr.kmap123
-rw-r--r--keymaps/mac/mac-fr2-ext.kmap250
-rw-r--r--keymaps/mac/mac-fr3.kmap320
-rw-r--r--keymaps/mac/mac-fr_CH-latin1.imap48
-rw-r--r--keymaps/mac/mac-ibook-de-deadkeys.kmap310
-rw-r--r--keymaps/mac/mac-ibook-de.kmap310
-rw-r--r--keymaps/mac/mac-it.kmap48
-rw-r--r--keymaps/mac/mac-macbook-de.kmap310
-rw-r--r--keymaps/mac/mac-macbook-fr.kmap311
-rw-r--r--keymaps/mac/mac-pl_m-ext.kmap260
-rw-r--r--keymaps/mac/mac-pl_m-ext1.kmap260
-rw-r--r--keymaps/mac/mac-pt-latin1.kmap29
-rw-r--r--keymaps/mac/mac-se.kmap32
-rw-r--r--keymaps/mac/mac-uk.kmap57
-rw-r--r--keymaps/mac/mac-us-dvorak.kmap262
-rw-r--r--keymaps/mac/mac-us-ext.kmap249
-rw-r--r--keymaps/mac/mac-us-std.kmap259
-rw-r--r--keymaps/mac/mac-us.kmap63
-rw-r--r--keymaps/sun/sun-pl-altgraph.kmap394
-rw-r--r--keymaps/sun/sun-pl.kmap415
-rw-r--r--keymaps/sun/sundvorak.kmap281
-rw-r--r--keymaps/sun/sunkeymap.kmap281
-rw-r--r--keymaps/sun/sunt4-es.kmap258
-rw-r--r--keymaps/sun/sunt4-fi-latin1.kmap249
-rw-r--r--keymaps/sun/sunt4-ja.kmap8
-rw-r--r--keymaps/sun/sunt4-no-latin1.kmap253
-rw-r--r--keymaps/sun/sunt5-cz-us.kmap692
-rw-r--r--keymaps/sun/sunt5-de-latin1.kmap249
-rw-r--r--keymaps/sun/sunt5-es.kmap264
-rw-r--r--keymaps/sun/sunt5-fi-latin1.kmap253
-rw-r--r--keymaps/sun/sunt5-fr-latin1.kmap283
-rw-r--r--keymaps/sun/sunt5-ja.kmap281
-rw-r--r--keymaps/sun/sunt5-no.kmap282
-rw-r--r--keymaps/sun/sunt5-ru.kmap383
-rw-r--r--keymaps/sun/sunt5-trqalt.kmap295
-rw-r--r--keymaps/sun/sunt5-uk.kmap255
-rw-r--r--keymaps/sun/sunt5-us-cz.kmap692
-rw-r--r--keymaps/sun/sunt6-uk.kmap24
-rwxr-xr-xlocal-scripts/make-fallbacks59
-rwxr-xr-xlocal-scripts/make-fallbacks.pl86
-rwxr-xr-xlocal-scripts/make-fallbacks.pl-old-cli77
-rwxr-xr-xlocal-scripts/make-nofallbacks37
-rwxr-xr-xlocal-scripts/make-nofallbacks.pl22
-rwxr-xr-xmissing190
-rwxr-xr-xmkinstalldirs40
-rw-r--r--prog_main_compressor.h9
712 files changed, 96520 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 0000000..3ab4e43
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,279 @@
+2011.12.03 Christian Perrier <bubulle@debian.org>
+
+ - Fix Icelandic keymap to fix Icelandic
+ keyboard standard IST 125:1995
+ Debian bug #650591
+ - Release 1.12
+
+2011.02.12 Christian Perrier <bubulle@debian.org>
+
+ - Add Kazakh keymap
+ Debian bug #609233
+ - Release 1.11
+
+2009.12.09 Christian Perrier <bubulle@debian.org>
+
+ - Add keycode 97 to br-abnt2 keymap to handle that
+ key on some Thinkpad notebooks
+ Debian bug #530314
+ - Release 1.10
+
+2009.05.09 Christian Perrier <bubulle@debian.org>
+
+ - Release 1.09
+
+2009.05.08 Christian Perrier <bubulle@debian.org>
+
+ - Add Kirghiz keymap contributed by
+ Ilyas Bakirov <just_ilyas [at] yahoo.com>
+ Debian bug #527565
+
+2009.02.28 Christian Perrier <bubulle@debian.org>
+
+ - Correct linux-keys-bare.inc for incorrect statements
+ Debian bug #517349
+ - Release 1.08a (critical bug fix release)
+
+2009.02.22 Christian Perrier <bubulle@debian.org>
+
+ - Correct  that was improperly displayed as Å
+ in lat1-12.psf.
+ Debian bug #501470
+ - Release 1.08
+
+2009.02.16 Christian Perrier <bubulle@debian.org>
+
+ - Change the PrtScr behaviour: do nothing when hit
+ accidentally and transfer Control_backslash to
+ key combinations with that key. That will avoid
+ accidentally sending SIGQUIT to applications.
+ See Debian bug #501590 for details
+ Thanks to Anton Zinoviev for the patch
+
+2009.02.14 Christian Perrier <bubulle@debian.org>
+
+ - Add dvorak-uk keymap
+ Thanks to Ximin Luo
+ - Fix 0x7f in koi8-r.acm
+ Thanks to Ivan Shmakov
+ - Add brl-*.psf console fonts in consolefonts/Makefile.in
+ so that the files are really installed
+ - Also add lat9wbrl.uni to consoletrans/Makefile.in
+
+2009.02.13 Christian Perrier <bubulle@debian.org>
+
+ - Add dvorak-fr-bepo and dvorak-fr-bepo-utf8 keymaps
+ Thanks to Frédéric Boiteux
+
+2008.05.07 Christian Perrier <bubulle@debian.org>
+
+ - Add brl-08.psf, brl-10.psf, brl-12.psf, brl-14.psf, brl-16.psf
+ in consolefonts. Thanks to Samuel Thibault
+ - Also add lat9wbrl.uni to consoletrans
+
+2008.04.13 Christian Perrier <bubulle@debian.org>
+
+ - Clean Makefile files and Make.rules
+ - Release 1.07
+
+2008.03.11 Christian Perrier <bubulle@debian.org>
+
+ - Add ca-multi (Canadian multilingual), CAN/CSA Z243.200-92
+ Thanks to Bruno Lambert for the help testing it
+ - Release 1.06
+
+2008.01.22 Christian Perrier <bubulle@debian.org>
+
+ - ungzip inadvertently gzipped files Cyr_a8x14.psf
+ Cyr_a8x16.psf and Cyr_a8x8.psf. Debian bug #461205
+ - Release 1.05
+
+2007.11.25 Christian Perrier <bubulle@debian.org>
+
+ - Release 1.04
+
+2007.11.25 Christian Perrier <bubulle@debian.org>
+
+ - Add a pl-qwertz keymap (Debian #406617)
+
+2007.10.22 Tatiana Kronberg <kronberg.tatiana@gmail.com>
+
+ - Use Unicode notation for characters that can't be represented
+ with single characters in ACM files:
+ - bulgarian-mic.acm
+ - cp1251.acm
+ - cp866.acm
+ - koi8-r.acm
+ - MacCyrillic.acm
+
+2007.09.09 Christian Perrier <bubulle@debian.org>
+
+ - Release 1.03
+
+2007.09.09 Christian Perrier <bubulle@debian.org>
+
+ - Corrected the Wolof keymap to make it better fit
+ the French (latin0) keymap and not that of very old
+ French keyboards of the IBM PC age. Also correct
+ errors that prevented it to load.
+ - Replace "currency" by "euro" for AltGr+e on the following:
+ mac-macbook-de, mac-ibook-de, mac-ibook-deadkeys-de
+ dvorak-de, fr-latin9, fr-latin0
+ - Add 'include "euro"' for the following keymaps of EuroZone
+ countries:
+ de, de-latin1, de-latin1-nodeadkeys, slovene, be-latin1,
+ be2-latin1, es-cp850, es, et, et-nodeadkeys, gr, fi-latin1, fi
+ it, it-ibm, it2, mac-usb-es, nl, pt-old, pt-latin1, se-fi-ir209
+ se-fi-lat6
+
+2007.09.08 Christian Perrier <bubulle@debian.org>
+
+ - Add Russian dvorak keymap contributed by
+ Daniele Sempione <scrows@oziosi.org>
+ - Add German dvorak keymap contributed by
+ Tobias Hunger and David Förster <david@dfoerster.de>
+ - Add Lisp machine dvorak keymap contributed by
+ Carlos Carleos <carleos@uniovi.es>
+
+2007.05.12 Christian Perrier <bubulle@debian.org>
+
+ - Release 1.02
+
+2007.05.12 Christian Perrier <bubulle@debian.org>
+
+ - Apply all patches we previously had only in the Debian package:
+ - Add mapping for Euro/Cent in Italian i386 keymap
+ - Avoid Delete acting as Backspace on trq.kmap and tralt.kmap.
+ - Invert keycodes 41 and 86 and mac-usb-uk.kmap.
+ - Add a Wolof keymap contributed by M Mamoune Mbacke
+ - Re-correct the Dutch keymap supposedly fixed in 2002.12.04dbs-50
+
+2007.05.08 Christian Perrier <bubulle@debian.org>
+
+ - Add a "io" character to Cyr_a8x16, Cyr_a8x14 and Cyr_a8x8
+ Thanks to Daniele Sempione for the patch
+ Debian bug #403218
+ - Correct iso07.f08.psf with Greek characters
+ Thanks to stamit@softhome.net for the patch
+ Debian bug #418034
+
+2006.10.20 Christian Perrier <bubulle@debian.org>
+
+ - Release 1.01. Released only in Debian but upstream version bump
+ to 1.01 as changed keymaps have been moved to the upstream tarball
+ - Fix missing 83, 89 and 121 keycodes for br-abnt2 keymap
+ - Fix the outdated behaviour of Shift with regard to CapsLock
+ in the fr-latin9 keymap. That old-style typewriter behaviour
+ is not used anymore in any modern operating system.
+ - Change the fr-latin9 keymap to make it as compatible as possible
+ with the "fr" keymap in xorg.
+ - Change the Romanian keyboard to the standardized one
+ Add a "comma" variant with enhancements
+ Thanks to Eddy Petrisor for the patch
+ - Add a mac-macbook-de keymap derived from mac-ibook-de
+ Thanks to Helmar Gerloni for the patch
+ - Add a mac-macbook-fr keymap derived from mac-fr-ext
+ Thanks to Ludovic Rousseau for the patch
+ - Fix CapsLock behaviour the fr-latin9 keymap.
+ - Add a deadkeys variant to the mac-ibook-de keymap
+ Thanks to Rene Engelhard for the patch
+ - Remove unidata. It is now in a separate Debian package unicode-data.
+
+2006.07.13 Alastair McKinstry <mckinstry@debian.org>
+
+ * Remove unidata. It is now in a separate Debian package unicode-data.
+
+2006.03.11 Alastair McKinstry <mckinstry@debian.org>
+
+ * Add ka8x16thin-1.psf font from Aiet Kolkhi. Supports the
+ Georgian language.
+
+2005.12.14 Alastair McKinstry <mckinstry@debian.org>
+
+ * Release 2005-12-14.
+ This release rolls up Debian changes into this tarball. It is a
+ step towards the merge back into kbd; in future releases
+ console-data will be purely optional data, with standard console
+ data being provided by kbd.
+
+1999-08-29 Yann Dirson <ydirson@multimania.com>
+
+ * Release 1999.08.29.
+
+1999-08-29 Yann Dirson <ydirson@multimania.com>
+
+ * generic: removed debian/ dir.
+
+1999-08-25 Yann Dirson <ydirson@multimania.com>
+
+ * consolefonts/Makefile.am (PSF_FILES): clarified font list.
+
+ * Included cp866-8x16.psf from Dmitry M. Klimoff (in my folder since
+ October '97 !)
+
+ * Included uaw.kmap and uaw_uni.kmap, koi8u.acm and ruscii.acm
+
+ * Included mac-de2-ext.kmap from Thomas Adams.
+
+ * Included fixed trf.kmap (turkish), from H. Turgut Uyar.
+
+1999-08-23 Yann Dirson <ydirson@multimania.com>
+
+ * Applied patch to de.kmap to fix Ctrl-], from Michael.Weber
+ <Michael.Weber@Post.RWTH-Aachen.DE>.
+
+ * Applied patch to et.kmap and et-nodeadkeys.kmap, from Ville
+ Hallik.
+
+ * Included us-latin1.kmap from Nicolás Lichtmaier.
+
+ * Included lat7-14.psf (iso8859-13) font from Ilya Ketris. No SFM
+ though.
+
+ * Included lv-latin4 and lv-latin7 keymaps from Ilya Ketris,
+ assuming they are qwerty. Seem to be incomplete ?
+
+1999-04-15 Yann Dirson <ydirson@multimania.com>
+
+ * Released 1999.04.15.
+
+1999-04-15 Yann Dirson <ydirson@multimania.com>
+
+ * Included new keymap files from kbd 0.99: br-abnt2, es-cp850, mk,
+ ru3, ru4, ua-utf-ws, ua-utf, ua-ws.
+
+ * Updated keymaps from kbd 0.99: cz-lat2, cz-lat2-prog,
+ cz-us-qwertz.
+
+ * Included new include kmap from kbd 0.99:
+ linux-with-modeshift-altgr.inc.
+
+ * Included new fonts from kbd 0.99: koi8r-8x8, koi8u_8x8,
+ koi8u_8x14, koi8u_8x16, ruscii_8x8, ruscii_8x14, ruscii_8x16.
+ Turned koi8r-8x8 into a PSF file.
+
+ * Included new tables from kbd 0.99: koi8u.sfm, ruscii.sfm,
+ koi8u2ruscii.trans.
+
+ * Renamed with .trans suffix old 8bit ACMs: null, space, zero,
+ trivial, vga2iso, koi2alt.
+
+ * Fixed the dist build process to include doc/ subdirs.
+
+1999-04-08 Yann Dirson <ydirson@multimania.com>
+
+ * Upgraded unimap directory to Unicode 2.1.8.
+
+1999-04-01 Yann Dirson <ydirson@multimania.com>
+
+ * Split out of console-tools.
+
+ * Fixed build process somewhat.
+
+ * Install unicode files into /usr/share/unidata/.
+
+ * Included et.kmap and et-nodeadkeys.kmap from Ville Hallik.
+
+ * Included PSF fonts: lat0-sun16, lat2-sun16, lat2u-16.
+
+ * Included debian/ directory.
diff --git a/ChangeLog~ b/ChangeLog~
new file mode 100644
index 0000000..ea5ac50
--- /dev/null
+++ b/ChangeLog~
@@ -0,0 +1,243 @@
+2009.02.22 Christian Perrier <bubulle@debian.org>
+
+ - Correct  that was improperly displayed as Å
+ in lat1-12.psf.
+ Debian bug #501470
+ - Release 1.08
+
+2009.02.16 Christian Perrier <bubulle@debian.org>
+
+ - Change the PrtScr behaviour: do nothing when hit
+ accidentally and transfer Control_backslash to
+ key combinations with that key. That will avoid
+ accidentally sending SIGQUIT to applications.
+ See Debian bug #501590 for details
+ Thanks to Anton Zinoviev for the patch
+
+2009.02.14 Christian Perrier <bubulle@debian.org>
+
+ - Add dvorak-uk keymap
+ Thanks to Ximin Luo
+ - Fix 0x7f in koi8-r.acm
+ Thanks to Ivan Shmakov
+ - Add brl-*.psf console fonts in consolefonts/Makefile.in
+ so that the files are really installed
+ - Also add lat9wbrl.uni to consoletrans/Makefile.in
+
+2009.02.13 Christian Perrier <bubulle@debian.org>
+
+ - Add dvorak-fr-bepo and dvorak-fr-bepo-utf8 keymaps
+ Thanks to Frédéric Boiteux
+
+2008.05.07 Christian Perrier <bubulle@debian.org>
+
+ - Add brl-08.psf, brl-10.psf, brl-12.psf, brl-14.psf, brl-16.psf
+ in consolefonts. Thanks to Samuel Thibault
+ - Also add lat9wbrl.uni to consoletrans
+
+2008.04.13 Christian Perrier <bubulle@debian.org>
+
+ - Clean Makefile files and Make.rules
+ - Release 1.07
+
+2008.03.11 Christian Perrier <bubulle@debian.org>
+
+ - Add ca-multi (Canadian multilingual), CAN/CSA Z243.200-92
+ Thanks to Bruno Lambert for the help testing it
+ - Release 1.06
+
+2008.01.22 Christian Perrier <bubulle@debian.org>
+
+ - ungzip inadvertently gzipped files Cyr_a8x14.psf
+ Cyr_a8x16.psf and Cyr_a8x8.psf. Debian bug #461205
+ - Release 1.05
+
+2007.11.25 Christian Perrier <bubulle@debian.org>
+
+ - Release 1.04
+
+2007.11.25 Christian Perrier <bubulle@debian.org>
+
+ - Add a pl-qwertz keymap (Debian #406617)
+
+2007.10.22 Tatiana Kronberg <kronberg.tatiana@gmail.com>
+
+ - Use Unicode notation for characters that can't be represented
+ with single characters in ACM files:
+ - bulgarian-mic.acm
+ - cp1251.acm
+ - cp866.acm
+ - koi8-r.acm
+ - MacCyrillic.acm
+
+2007.09.09 Christian Perrier <bubulle@debian.org>
+
+ - Release 1.03
+
+2007.09.09 Christian Perrier <bubulle@debian.org>
+
+ - Corrected the Wolof keymap to make it better fit
+ the French (latin0) keymap and not that of very old
+ French keyboards of the IBM PC age. Also correct
+ errors that prevented it to load.
+ - Replace "currency" by "euro" for AltGr+e on the following:
+ mac-macbook-de, mac-ibook-de, mac-ibook-deadkeys-de
+ dvorak-de, fr-latin9, fr-latin0
+ - Add 'include "euro"' for the following keymaps of EuroZone
+ countries:
+ de, de-latin1, de-latin1-nodeadkeys, slovene, be-latin1,
+ be2-latin1, es-cp850, es, et, et-nodeadkeys, gr, fi-latin1, fi
+ it, it-ibm, it2, mac-usb-es, nl, pt-old, pt-latin1, se-fi-ir209
+ se-fi-lat6
+
+2007.09.08 Christian Perrier <bubulle@debian.org>
+
+ - Add Russian dvorak keymap contributed by
+ Daniele Sempione <scrows@oziosi.org>
+ - Add German dvorak keymap contributed by
+ Tobias Hunger and David Förster <david@dfoerster.de>
+ - Add Lisp machine dvorak keymap contributed by
+ Carlos Carleos <carleos@uniovi.es>
+
+2007.05.12 Christian Perrier <bubulle@debian.org>
+
+ - Release 1.02
+
+2007.05.12 Christian Perrier <bubulle@debian.org>
+
+ - Apply all patches we previously had only in the Debian package:
+ - Add mapping for Euro/Cent in Italian i386 keymap
+ - Avoid Delete acting as Backspace on trq.kmap and tralt.kmap.
+ - Invert keycodes 41 and 86 and mac-usb-uk.kmap.
+ - Add a Wolof keymap contributed by M Mamoune Mbacke
+ - Re-correct the Dutch keymap supposedly fixed in 2002.12.04dbs-50
+
+2007.05.08 Christian Perrier <bubulle@debian.org>
+
+ - Add a "io" character to Cyr_a8x16, Cyr_a8x14 and Cyr_a8x8
+ Thanks to Daniele Sempione for the patch
+ Debian bug #403218
+ - Correct iso07.f08.psf with Greek characters
+ Thanks to stamit@softhome.net for the patch
+ Debian bug #418034
+
+2006.10.20 Christian Perrier <bubulle@debian.org>
+
+ - Release 1.01. Released only in Debian but upstream version bump
+ to 1.01 as changed keymaps have been moved to the upstream tarball
+ - Fix missing 83, 89 and 121 keycodes for br-abnt2 keymap
+ - Fix the outdated behaviour of Shift with regard to CapsLock
+ in the fr-latin9 keymap. That old-style typewriter behaviour
+ is not used anymore in any modern operating system.
+ - Change the fr-latin9 keymap to make it as compatible as possible
+ with the "fr" keymap in xorg.
+ - Change the Romanian keyboard to the standardized one
+ Add a "comma" variant with enhancements
+ Thanks to Eddy Petrisor for the patch
+ - Add a mac-macbook-de keymap derived from mac-ibook-de
+ Thanks to Helmar Gerloni for the patch
+ - Add a mac-macbook-fr keymap derived from mac-fr-ext
+ Thanks to Ludovic Rousseau for the patch
+ - Fix CapsLock behaviour the fr-latin9 keymap.
+ - Add a deadkeys variant to the mac-ibook-de keymap
+ Thanks to Rene Engelhard for the patch
+ - Remove unidata. It is now in a separate Debian package unicode-data.
+
+2006.07.13 Alastair McKinstry <mckinstry@debian.org>
+
+ * Remove unidata. It is now in a separate Debian package unicode-data.
+
+2006.03.11 Alastair McKinstry <mckinstry@debian.org>
+
+ * Add ka8x16thin-1.psf font from Aiet Kolkhi. Supports the
+ Georgian language.
+
+2005.12.14 Alastair McKinstry <mckinstry@debian.org>
+
+ * Release 2005-12-14.
+ This release rolls up Debian changes into this tarball. It is a
+ step towards the merge back into kbd; in future releases
+ console-data will be purely optional data, with standard console
+ data being provided by kbd.
+
+1999-08-29 Yann Dirson <ydirson@multimania.com>
+
+ * Release 1999.08.29.
+
+1999-08-29 Yann Dirson <ydirson@multimania.com>
+
+ * generic: removed debian/ dir.
+
+1999-08-25 Yann Dirson <ydirson@multimania.com>
+
+ * consolefonts/Makefile.am (PSF_FILES): clarified font list.
+
+ * Included cp866-8x16.psf from Dmitry M. Klimoff (in my folder since
+ October '97 !)
+
+ * Included uaw.kmap and uaw_uni.kmap, koi8u.acm and ruscii.acm
+
+ * Included mac-de2-ext.kmap from Thomas Adams.
+
+ * Included fixed trf.kmap (turkish), from H. Turgut Uyar.
+
+1999-08-23 Yann Dirson <ydirson@multimania.com>
+
+ * Applied patch to de.kmap to fix Ctrl-], from Michael.Weber
+ <Michael.Weber@Post.RWTH-Aachen.DE>.
+
+ * Applied patch to et.kmap and et-nodeadkeys.kmap, from Ville
+ Hallik.
+
+ * Included us-latin1.kmap from Nicolás Lichtmaier.
+
+ * Included lat7-14.psf (iso8859-13) font from Ilya Ketris. No SFM
+ though.
+
+ * Included lv-latin4 and lv-latin7 keymaps from Ilya Ketris,
+ assuming they are qwerty. Seem to be incomplete ?
+
+1999-04-15 Yann Dirson <ydirson@multimania.com>
+
+ * Released 1999.04.15.
+
+1999-04-15 Yann Dirson <ydirson@multimania.com>
+
+ * Included new keymap files from kbd 0.99: br-abnt2, es-cp850, mk,
+ ru3, ru4, ua-utf-ws, ua-utf, ua-ws.
+
+ * Updated keymaps from kbd 0.99: cz-lat2, cz-lat2-prog,
+ cz-us-qwertz.
+
+ * Included new include kmap from kbd 0.99:
+ linux-with-modeshift-altgr.inc.
+
+ * Included new fonts from kbd 0.99: koi8r-8x8, koi8u_8x8,
+ koi8u_8x14, koi8u_8x16, ruscii_8x8, ruscii_8x14, ruscii_8x16.
+ Turned koi8r-8x8 into a PSF file.
+
+ * Included new tables from kbd 0.99: koi8u.sfm, ruscii.sfm,
+ koi8u2ruscii.trans.
+
+ * Renamed with .trans suffix old 8bit ACMs: null, space, zero,
+ trivial, vga2iso, koi2alt.
+
+ * Fixed the dist build process to include doc/ subdirs.
+
+1999-04-08 Yann Dirson <ydirson@multimania.com>
+
+ * Upgraded unimap directory to Unicode 2.1.8.
+
+1999-04-01 Yann Dirson <ydirson@multimania.com>
+
+ * Split out of console-tools.
+
+ * Fixed build process somewhat.
+
+ * Install unicode files into /usr/share/unidata/.
+
+ * Included et.kmap and et-nodeadkeys.kmap from Ville Hallik.
+
+ * Included PSF fonts: lat0-sun16, lat2-sun16, lat2u-16.
+
+ * Included debian/ directory.
diff --git a/Make.rules.in b/Make.rules.in
new file mode 100644
index 0000000..81d0130
--- /dev/null
+++ b/Make.rules.in
@@ -0,0 +1,12 @@
+# -*- makefile -*-
+
+# turn around automake 1.2
+COMPRESSOR = @MAIN_COMPRESSOR@
+COMPRESSOR_EXT = @COMPRESSOR_EXT@
+COMPRESSOR_OPTS = @COMPRESSOR_OPTS@
+
+%.$(COMPRESSOR_EXT): %
+ @mkdir -p $(dir $@)
+ @echo -n .
+ @rm -f $@
+ @$(COMPRESSOR) $(COMPRESSOR_OPTS) <$< >$@
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..de921ac
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,24 @@
+# -*- makefile -*-
+
+AUTOMAKE_OPTIONS = foreign
+
+# turn around automake 1.2
+COMPRESSOR = @COMPRESSOR@
+
+SUBDIRS = . consolefonts consoletrans keymaps doc
+
+EXTRA_DIST = local-scripts/*
+
+install-data-local:
+ $(mkinstalldirs) $(DESTDIR)$(datadir)/$(VIDEOMODEDIR)
+
+uninstall-local:
+
+# try to have Make.rules rebuilt when needed
+Makefile: Make.rules
+
+
+fallbacks:
+ make -C data/consoletrans fallbacks
+force-fallbacks:
+ make -C data/consoletrans force-fallbacks
diff --git a/Makefile.in b/Makefile.in
new file mode 100644
index 0000000..f4fbc1e
--- /dev/null
+++ b/Makefile.in
@@ -0,0 +1,361 @@
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+# -*- makefile -*-
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = .
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AMTAR = @AMTAR@
+AWK = @AWK@
+CC = @CC@
+COMPRESSOR_EXT = @COMPRESSOR_EXT@
+COMPRESSOR_OPTS = @COMPRESSOR_OPTS@
+CXX = @CXX@
+CYGPATH_W = @CYGPATH_W@
+FONTDIR = @FONTDIR@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+KEYMAPDIR = @KEYMAPDIR@
+MAKEINFO = @MAKEINFO@
+OLDKEYMAPDIR = @OLDKEYMAPDIR@
+PACKAGE = @PACKAGE@
+STRIP = @STRIP@
+TRANSDIR = @TRANSDIR@
+VERSION = @VERSION@
+VIDEOMODEDIR = @VIDEOMODEDIR@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+install_sh = @install_sh@
+mkdir_p = @mkdir_p@
+
+AUTOMAKE_OPTIONS = foreign
+
+# turn around automake 1.2
+COMPRESSOR = @COMPRESSOR@
+
+SUBDIRS = . consolefonts consoletrans keymaps doc
+
+EXTRA_DIST = local-scripts/*
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_CLEAN_FILES = Make.rules
+DIST_COMMON = README ChangeLog Make.rules.in Makefile.am Makefile.in \
+acinclude.m4 aclocal.m4 config.guess config.sub configure configure.in \
+install-sh missing mkinstalldirs
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+all: all-redirect
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+$(ACLOCAL_M4): configure.in acinclude.m4
+ cd $(srcdir) && $(ACLOCAL)
+
+config.status: $(srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ $(SHELL) ./config.status --recheck
+$(srcdir)/configure: $(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES)
+ cd $(srcdir) && $(AUTOCONF)
+Make.rules: $(top_builddir)/config.status Make.rules.in
+ cd $(top_builddir) && CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+# This directory's subdirectories are mostly independent; you can cd
+# into them and run `make' without going through this Makefile.
+# To change the values of `make' variables: instead of editing Makefiles,
+# (1) if the variable is set in `config.status', edit `config.status'
+# (which will cause the Makefiles to be regenerated when you run `make');
+# (2) otherwise, pass the desired values on the `make' command line.
+
+@SET_MAKE@
+
+all-recursive install-data-recursive install-exec-recursive \
+installdirs-recursive install-recursive uninstall-recursive \
+check-recursive installcheck-recursive info-recursive dvi-recursive:
+ @set fnord $(MAKEFLAGS); amf=$$2; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ dot_seen=yes; \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done; \
+ if test "$$dot_seen" = "no"; then \
+ $(MAKE) $(AM_MAKEFLAGS) "$$target-am" || exit 1; \
+ fi; test -z "$$fail"
+
+mostlyclean-recursive clean-recursive distclean-recursive \
+maintainer-clean-recursive:
+ @set fnord $(MAKEFLAGS); amf=$$2; \
+ dot_seen=no; \
+ rev=''; list='$(SUBDIRS)'; for subdir in $$list; do \
+ rev="$$subdir $$rev"; \
+ test "$$subdir" != "." || dot_seen=yes; \
+ done; \
+ test "$$dot_seen" = "no" && rev=". $$rev"; \
+ target=`echo $@ | sed s/-recursive//`; \
+ for subdir in $$rev; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" = "."; then \
+ local_target="$$target-am"; \
+ else \
+ local_target="$$target"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ || case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
+ done && test -z "$$fail"
+tags-recursive:
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ test "$$subdir" = . || (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) tags); \
+ done
+
+tags: TAGS
+
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $$unique $(LISP)
+
+TAGS: tags-recursive $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ list='$(SUBDIRS)'; for subdir in $$list; do \
+ if test "$$subdir" = .; then :; else \
+ test -f $$subdir/TAGS && tags="$$tags -i $$here/$$subdir/TAGS"; \
+ fi; \
+ done; \
+ list='$(SOURCES) $(HEADERS)'; \
+ unique=`for i in $$list; do echo $$i; done | \
+ awk ' { files[$$0] = 1; } \
+ END { for (i in files) print i; }'`; \
+ test -z "$(ETAGS_ARGS)$$unique$(LISP)$$tags" \
+ || (cd $(srcdir) && etags -o $$here/TAGS $(ETAGS_ARGS) $$tags $$unique $(LISP))
+
+mostlyclean-tags:
+
+clean-tags:
+
+distclean-tags:
+ -rm -f TAGS ID
+
+maintainer-clean-tags:
+
+distdir = $(PACKAGE)-$(VERSION)
+top_distdir = $(distdir)
+
+# This target untars the dist file and tries a VPATH configuration. Then
+# it guarantees that the distribution is self-contained by making another
+# tarfile.
+distcheck: dist
+ -rm -rf $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) zxf $(distdir).tar.gz
+ mkdir $(distdir)/=build
+ mkdir $(distdir)/=inst
+ dc_install_base=`cd $(distdir)/=inst && pwd`; \
+ cd $(distdir)/=build \
+ && ../configure --srcdir=.. --prefix=$$dc_install_base \
+ && $(MAKE) $(AM_MAKEFLAGS) \
+ && $(MAKE) $(AM_MAKEFLAGS) dvi \
+ && $(MAKE) $(AM_MAKEFLAGS) check \
+ && $(MAKE) $(AM_MAKEFLAGS) install \
+ && $(MAKE) $(AM_MAKEFLAGS) installcheck \
+ && $(MAKE) $(AM_MAKEFLAGS) dist
+ -rm -rf $(distdir)
+ @banner="$(distdir).tar.gz is ready for distribution"; \
+ dashes=`echo "$$banner" | sed s/./=/g`; \
+ echo "$$dashes"; \
+ echo "$$banner"; \
+ echo "$$dashes"
+dist: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+dist-all: distdir
+ -chmod -R a+r $(distdir)
+ GZIP=$(GZIP_ENV) $(TAR) chozf $(distdir).tar.gz $(distdir)
+ -rm -rf $(distdir)
+distdir: $(DISTFILES)
+ -rm -rf $(distdir)
+ mkdir $(distdir)
+ -chmod 777 $(distdir)
+ $(mkinstalldirs) $(distdir)/local-scripts
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$d/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+ for subdir in $(SUBDIRS); do \
+ if test "$$subdir" = .; then :; else \
+ test -d $(distdir)/$$subdir \
+ || mkdir $(distdir)/$$subdir \
+ || exit 1; \
+ chmod 777 $(distdir)/$$subdir; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) top_distdir=../$(distdir) distdir=../$(distdir)/$$subdir distdir) \
+ || exit 1; \
+ fi; \
+ done
+info-am:
+info: info-recursive
+dvi-am:
+dvi: dvi-recursive
+check-am: all-am
+check: check-recursive
+installcheck-am:
+installcheck: installcheck-recursive
+install-exec-am:
+install-exec: install-exec-recursive
+
+install-data-am: install-data-local
+install-data: install-data-recursive
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-recursive
+uninstall-am: uninstall-local
+uninstall: uninstall-recursive
+all-am: Makefile
+all-redirect: all-recursive
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs: installdirs-recursive
+installdirs-am:
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-tags mostlyclean-generic
+
+mostlyclean: mostlyclean-recursive
+
+clean-am: clean-tags clean-generic mostlyclean-am
+
+clean: clean-recursive
+
+distclean-am: distclean-tags distclean-generic clean-am
+
+distclean: distclean-recursive
+ -rm -f config.status
+
+maintainer-clean-am: maintainer-clean-tags maintainer-clean-generic \
+ distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-recursive
+ -rm -f config.status
+
+.PHONY: install-data-recursive uninstall-data-recursive \
+install-exec-recursive uninstall-exec-recursive installdirs-recursive \
+uninstalldirs-recursive all-recursive check-recursive \
+installcheck-recursive info-recursive dvi-recursive \
+mostlyclean-recursive distclean-recursive clean-recursive \
+maintainer-clean-recursive tags tags-recursive mostlyclean-tags \
+distclean-tags clean-tags maintainer-clean-tags distdir info-am info \
+dvi-am dvi check check-am installcheck-am installcheck install-exec-am \
+install-exec install-data-local install-data-am install-data install-am \
+install uninstall-local uninstall-am uninstall all-redirect all-am all \
+installdirs-am installdirs mostlyclean-generic distclean-generic \
+clean-generic maintainer-clean-generic clean mostlyclean distclean \
+maintainer-clean
+
+
+install-data-local:
+ $(mkinstalldirs) $(DESTDIR)$(datadir)/$(VIDEOMODEDIR)
+
+uninstall-local:
+
+# try to have Make.rules rebuilt when needed
+Makefile: Make.rules
+
+fallbacks:
+ make -C data/consoletrans fallbacks
+force-fallbacks:
+ make -C data/consoletrans force-fallbacks
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/README b/README
new file mode 100644
index 0000000..7205c74
--- /dev/null
+++ b/README
@@ -0,0 +1,16 @@
+This is the SVN experimental branch for console-data development.
+
+Please note that console-data will be re-merged with kbd in the next
+Debian release; unless serious proposals and development occur,
+console-data will be removed from Debian Etch; development in this
+trunk will be limited to changes that can easily be ported to kbd.
+
+This release removes all conflicts with 'kbd' from console-data and
+makes console-data an optional package, which recommends 'kbd'.
+It still generates all the udebs for debian-installer, though; this will
+probably migrate to 'kbd'. With this release, you can now install
+'kbd' and 'console-data', leaving out the obsolete 'console-tools'.
+
+Alastair McKinstry
+2005-12-14
+
diff --git a/acinclude.m4 b/acinclude.m4
new file mode 100644
index 0000000..5053a68
--- /dev/null
+++ b/acinclude.m4
@@ -0,0 +1,391 @@
+dnl Check for a program from a list, with user control.
+dnl Generates corresponding prog_XXX.h file with corresponding flags defs.
+dnl "#undef USE_COMPRESSOR" must be put into acconfig.h if the latter is used.
+dnl Use: ct_CHECK_WITH_PROGS(genericname, proglist)
+
+dnl TODO:
+dnl + add generated prog_*.h to maintclean files.
+dnl + add prog_*.h deps and rules on configure.in.
+dnl + make a similar macro allowing USE_XX to be a combination of all flags ?
+
+dnl Expands to one shell "case" sub-statement,
+dnl suitable for use within a "case" statement.
+dnl Internal, for use by "ct_CASES".
+dnl
+define([ct_ONE_CASE], [dnl
+dnl Add this possible choice in .h file *on m4 processing*
+syscmd([echo '#define ]translit($1_$2,[a-z],[A-Z])[ (1 << ]$3[)' >> prog_]$1[.h])dnl
+$2)
+ translit($1,[a-z],[A-Z])=$2 # turn "yes" into default
+dnl Add the choice as a #define
+ AC_DEFINE_UNQUOTED(USE_[]translit($1,[a-z],[A-Z]), (1 << $3))
+ ;;
+])
+
+dnl Expands to shell sub-statements suitable for use
+dnl within a "case" statement.
+dnl Acts recursively, on each of the space-separated $2.
+dnl
+define([ct_CASES], [dnl
+ifelse($2, , , [dnl
+ct_ONE_CASE($1, patsubst($2, [ *\(\w*\).*], \1), $3)
+ct_CASES($1, patsubst($2, ^\w* *,), incr($3))
+])
+])
+
+AC_DEFUN(ct_CHECK_WITH_PROGS,[dnl
+AC_ARG_WITH($1, [ --with-]$1[
+ Force support of specified ]$1[ instead of scanning
+ the system to know which one can be used.
+ ]$1[s I know of: ]$2[.],
+[translit($1,[a-z],[A-Z])=${withval}],
+[AC_CHECK_PROGS(translit($1,[a-z],[A-Z]), $2, [no])])
+
+# Find which $1 to support
+
+dnl Set the CPP symbol bits; save them to .h file
+syscmd([echo > prog_]$1[.h \
+'/* This file was automatically generated by autoconf */
+/* with the ct_CHECK_WITH_PROGS macro */
+
+/* DO NOT EDIT BY HAND */
+'])
+case ${translit($1,[a-z],[A-Z])} in
+ yes | ct_CASES($1, $2, 0)
+ no)
+ ;;
+ *)
+ AC_MSG_ERROR([Don't know how to support ]$1[ \`${]translit($1,[a-z],[A-Z])[}'.])
+ ;;
+esac
+
+dnl Show the user what was selected
+dnl
+case ${[]translit($1,[a-z],[A-Z])[]} in
+ patsubst($2, [\> *\<], [ | ]))
+ AC_MSG_RESULT([Using ]translit($1,_,[ ])[ program \`${]translit($1,[a-z],[A-Z])[}'.])
+ ;;
+ *)
+ AC_MSG_RESULT([Using NO ]$1[ program.])
+ ;;
+esac
+
+ct_cv_prog_[]translit($1,[a-z],[A-Z])=${[]translit($1,[a-z],[A-Z])[]}
+
+dnl Allow its use in Makefiles
+dnl eg. "... | $(DECOMPRESSOR)"
+dnl
+AC_SUBST(translit($1,[a-z],[A-Z]))
+])
+
+######################################################################
+# gettext.m4 from gettext 0.32
+######################################################################
+# Macro to add for using GNU gettext.
+# Ulrich Drepper <drepper@cygnus.com>, 1995.
+#
+# This file file be copied and used freely without restrictions. It can
+# be used in projects which are not available under the GNU Public License
+# but which still want to provide support for the GNU gettext functionality.
+# Please note that the actual code is *not* freely available.
+
+# serial 3
+
+AC_DEFUN(AM_WITH_NLS,
+ [AC_MSG_CHECKING([whether NLS is requested])
+ dnl Default is enabled NLS
+ AC_ARG_ENABLE(nls,
+ [ --disable-nls do not use Native Language Support],
+ USE_NLS=$enableval, USE_NLS=yes)
+ AC_MSG_RESULT($USE_NLS)
+ AC_SUBST(USE_NLS)
+
+ USE_INCLUDED_LIBINTL=no
+
+ dnl If we use NLS figure out what method
+ if test "$USE_NLS" = "yes"; then
+ AC_DEFINE(ENABLE_NLS)
+ AC_MSG_CHECKING([whether included gettext is requested])
+ AC_ARG_WITH(included-gettext,
+ [ --with-included-gettext use the GNU gettext library included here],
+ nls_cv_force_use_gnu_gettext=$withval,
+ nls_cv_force_use_gnu_gettext=no)
+ AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
+
+ nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
+ if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
+ dnl User does not insist on using GNU NLS library. Figure out what
+ dnl to use. If gettext or catgets are available (in this order) we
+ dnl use this. Else we have to fall back to GNU NLS library.
+ dnl catgets is only used if permitted by option --with-catgets.
+ nls_cv_header_intl=
+ nls_cv_header_libgt=
+ CATOBJEXT=NONE
+
+ AC_CHECK_HEADER(libintl.h,
+ [AC_CACHE_CHECK([for gettext in libc], gt_cv_func_gettext_libc,
+ [AC_TRY_LINK([#include <libintl.h>], [return (int) gettext ("")],
+ gt_cv_func_gettext_libc=yes, gt_cv_func_gettext_libc=no)])
+
+ if test "$gt_cv_func_gettext_libc" != "yes"; then
+ AC_CHECK_LIB(intl, bindtextdomain,
+ [AC_CACHE_CHECK([for gettext in libintl],
+ gt_cv_func_gettext_libintl,
+ [AC_TRY_LINK([], [return (int) gettext ("")],
+ gt_cv_func_gettext_libintl=yes,
+ gt_cv_func_gettext_libintl=no)])])
+ fi
+
+ if test "$gt_cv_func_gettext_libc" = "yes" \
+ || test "$gt_cv_func_gettext_libintl" = "yes"; then
+ AC_DEFINE(HAVE_GETTEXT)
+ AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+ [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
+ if test "$MSGFMT" != "no"; then
+ AC_CHECK_FUNCS(dcgettext)
+ AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+ AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+ [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
+ AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
+ return _nl_msg_cat_cntr],
+ [CATOBJEXT=.gmo
+ DATADIRNAME=share],
+ [CATOBJEXT=.mo
+ DATADIRNAME=lib])
+ INSTOBJEXT=.mo
+ fi
+ fi
+ ])
+
+ if test "$CATOBJEXT" = "NONE"; then
+ AC_MSG_CHECKING([whether catgets can be used])
+ AC_ARG_WITH(catgets,
+ [ --with-catgets use catgets functions if available],
+ nls_cv_use_catgets=$withval, nls_cv_use_catgets=no)
+ AC_MSG_RESULT($nls_cv_use_catgets)
+
+ if test "$nls_cv_use_catgets" = "yes"; then
+ dnl No gettext in C library. Try catgets next.
+ AC_CHECK_LIB(i, main)
+ AC_CHECK_FUNC(catgets,
+ [AC_DEFINE(HAVE_CATGETS)
+ INTLOBJS="\$(CATOBJS)"
+ AC_PATH_PROG(GENCAT, gencat, no)dnl
+ if test "$GENCAT" != "no"; then
+ AC_PATH_PROG(GMSGFMT, gmsgfmt, no)
+ if test "$GMSGFMT" = "no"; then
+ AM_PATH_PROG_WITH_TEST(GMSGFMT, msgfmt,
+ [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)
+ fi
+ AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+ [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
+ USE_INCLUDED_LIBINTL=yes
+ CATOBJEXT=.cat
+ INSTOBJEXT=.cat
+ DATADIRNAME=lib
+ INTLDEPS='$(top_builddir)/intl/libintl.a'
+ INTLLIBS=$INTLDEPS
+ LIBS=`echo $LIBS | sed -e 's/-lintl//'`
+ nls_cv_header_intl=intl/libintl.h
+ nls_cv_header_libgt=intl/libgettext.h
+ fi])
+ fi
+ fi
+
+ if test "$CATOBJEXT" = "NONE"; then
+ dnl Neither gettext nor catgets in included in the C library.
+ dnl Fall back on GNU gettext library.
+ nls_cv_use_gnu_gettext=yes
+ fi
+ fi
+
+ if test "$nls_cv_use_gnu_gettext" = "yes"; then
+ dnl Mark actions used to generate GNU NLS library.
+ INTLOBJS="\$(GETTOBJS)"
+ AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
+ [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
+ AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
+ AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
+ [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
+ AC_SUBST(MSGFMT)
+ USE_INCLUDED_LIBINTL=yes
+ CATOBJEXT=.gmo
+ INSTOBJEXT=.mo
+ DATADIRNAME=share
+ INTLDEPS='$(top_builddir)/intl/libintl.a'
+ INTLLIBS=$INTLDEPS
+ LIBS=`echo $LIBS | sed -e 's/-lintl//'`
+ nls_cv_header_intl=intl/libintl.h
+ nls_cv_header_libgt=intl/libgettext.h
+ fi
+
+ dnl Test whether we really found GNU xgettext.
+ if test "$XGETTEXT" != ":"; then
+ dnl If it is no GNU xgettext we define it as : so that the
+ dnl Makefiles still can work.
+ if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
+ : ;
+ else
+ AC_MSG_RESULT(
+ [found xgettext programs is not GNU xgettext; ignore it])
+ XGETTEXT=":"
+ fi
+ fi
+
+ # We need to process the po/ directory.
+ POSUB=po
+ else
+ DATADIRNAME=share
+ nls_cv_header_intl=intl/libintl.h
+ nls_cv_header_libgt=intl/libgettext.h
+ fi
+
+ # If this is used in GNU gettext we have to set USE_NLS to `yes'
+ # because some of the sources are only built for this goal.
+ if test "$PACKAGE" = gettext; then
+ USE_NLS=yes
+ USE_INCLUDED_LIBINTL=yes
+ fi
+
+ dnl These rules are solely for the distribution goal. While doing this
+ dnl we only have to keep exactly one list of the available catalogs
+ dnl in configure.in.
+ for lang in $ALL_LINGUAS; do
+ GMOFILES="$GMOFILES $lang.gmo"
+ POFILES="$POFILES $lang.po"
+ done
+
+ dnl Make all variables we use known to autoconf.
+ AC_SUBST(USE_INCLUDED_LIBINTL)
+ AC_SUBST(CATALOGS)
+ AC_SUBST(CATOBJEXT)
+ AC_SUBST(DATADIRNAME)
+ AC_SUBST(GMOFILES)
+ AC_SUBST(INSTOBJEXT)
+ AC_SUBST(INTLDEPS)
+ AC_SUBST(INTLLIBS)
+ AC_SUBST(INTLOBJS)
+ AC_SUBST(POFILES)
+ AC_SUBST(POSUB)
+ ])
+
+AC_DEFUN(AM_GNU_GETTEXT,
+ [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+ AC_REQUIRE([AC_PROG_CC])dnl
+ AC_REQUIRE([AC_PROG_RANLIB])dnl
+ AC_REQUIRE([AC_ISC_POSIX])dnl
+ AC_REQUIRE([AC_HEADER_STDC])dnl
+ AC_REQUIRE([AC_C_CONST])dnl
+ AC_REQUIRE([AC_C_INLINE])dnl
+ AC_REQUIRE([AC_TYPE_OFF_T])dnl
+ AC_REQUIRE([AC_TYPE_SIZE_T])dnl
+ AC_REQUIRE([AC_FUNC_ALLOCA])dnl
+ AC_REQUIRE([AC_FUNC_MMAP])dnl
+
+ AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \
+unistd.h values.h sys/param.h])
+ AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
+__argz_count __argz_stringify __argz_next])
+
+ if test "${ac_cv_func_stpcpy+set}" != "set"; then
+ AC_CHECK_FUNCS(stpcpy)
+ fi
+ if test "${ac_cv_func_stpcpy}" = "yes"; then
+ AC_DEFINE(HAVE_STPCPY)
+ fi
+
+ AM_LC_MESSAGES
+ AM_WITH_NLS
+
+ if test "x$CATOBJEXT" != "x"; then
+ if test "x$ALL_LINGUAS" = "x"; then
+ LINGUAS=
+ else
+ AC_MSG_CHECKING(for catalogs to be installed)
+ NEW_LINGUAS=
+ for lang in ${LINGUAS=$ALL_LINGUAS}; do
+ case "$ALL_LINGUAS" in
+ *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
+ esac
+ done
+ LINGUAS=$NEW_LINGUAS
+ AC_MSG_RESULT($LINGUAS)
+ fi
+
+ dnl Construct list of names of catalog files to be constructed.
+ if test -n "$LINGUAS"; then
+ for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
+ fi
+ fi
+
+ dnl The reference to <locale.h> in the installed <libintl.h> file
+ dnl must be resolved because we cannot expect the users of this
+ dnl to define HAVE_LOCALE_H.
+ if test $ac_cv_header_locale_h = yes; then
+ INCLUDE_LOCALE_H="#include <locale.h>"
+ else
+ INCLUDE_LOCALE_H="\
+/* The system does not provide the header <locale.h>. Take care yourself. */"
+ fi
+ AC_SUBST(INCLUDE_LOCALE_H)
+
+ dnl Determine which catalog format we have (if any is needed)
+ dnl For now we know about two different formats:
+ dnl Linux libc-5 and the normal X/Open format
+ test -d intl || mkdir intl
+ if test "$CATOBJEXT" = ".cat"; then
+ AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen)
+
+ dnl Transform the SED scripts while copying because some dumb SEDs
+ dnl cannot handle comments.
+ sed -e '/^#/d' $srcdir/intl/$msgformat-msg.sed > intl/po2msg.sed
+ fi
+ dnl po2tbl.sed is always needed.
+ sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
+ $srcdir/intl/po2tbl.sed.in > intl/po2tbl.sed
+
+ dnl In the intl/Makefile.in we have a special dependency which makes
+ dnl only sense for gettext. We comment this out for non-gettext
+ dnl packages.
+ if test "$PACKAGE" = "gettext"; then
+ GT_NO="#NO#"
+ GT_YES=
+ else
+ GT_NO=
+ GT_YES="#YES#"
+ fi
+ AC_SUBST(GT_NO)
+ AC_SUBST(GT_YES)
+
+ dnl If the AC_CONFIG_AUX_DIR macro for autoconf is used we possibly
+ dnl find the mkinstalldirs script in another subdir but ($top_srcdir).
+ dnl Try to locate is.
+ MKINSTALLDIRS=
+ if test -n "$ac_aux_dir"; then
+ MKINSTALLDIRS="$ac_aux_dir/mkinstalldirs"
+ fi
+ if test -z "$MKINSTALLDIRS"; then
+ MKINSTALLDIRS="\$(top_srcdir)/mkinstalldirs"
+ fi
+ AC_SUBST(MKINSTALLDIRS)
+
+ dnl *** For now the libtool support in intl/Makefile is not for real.
+ l=
+ AC_SUBST(l)
+
+ dnl Generate list of files to be processed by xgettext which will
+ dnl be included in po/Makefile.
+ test -d po || mkdir po
+ if test "x$srcdir" != "x."; then
+ if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
+ posrcprefix="$srcdir/"
+ else
+ posrcprefix="../$srcdir/"
+ fi
+ else
+ posrcprefix="../"
+ fi
+ rm -f po/POTFILES
+ sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
+ < $srcdir/po/POTFILES.in > po/POTFILES
+ ])
diff --git a/aclocal.m4 b/aclocal.m4
new file mode 100644
index 0000000..de21174
--- /dev/null
+++ b/aclocal.m4
@@ -0,0 +1,542 @@
+# generated automatically by aclocal 1.9.6 -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
+# 2005 Free Software Foundation, Inc.
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+# Copyright (C) 2002, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_AUTOMAKE_VERSION(VERSION)
+# ----------------------------
+# Automake X.Y traces this macro to ensure aclocal.m4 has been
+# generated from the m4 files accompanying Automake X.Y.
+AC_DEFUN([AM_AUTOMAKE_VERSION], [am__api_version="1.9"])
+
+# AM_SET_CURRENT_AUTOMAKE_VERSION
+# -------------------------------
+# Call AM_AUTOMAKE_VERSION so it can be traced.
+# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
+AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
+ [AM_AUTOMAKE_VERSION([1.9.6])])
+
+# AM_AUX_DIR_EXPAND -*- Autoconf -*-
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# For projects using AC_CONFIG_AUX_DIR([foo]), Autoconf sets
+# $ac_aux_dir to `$srcdir/foo'. In other projects, it is set to
+# `$srcdir', `$srcdir/..', or `$srcdir/../..'.
+#
+# Of course, Automake must honor this variable whenever it calls a
+# tool from the auxiliary directory. The problem is that $srcdir (and
+# therefore $ac_aux_dir as well) can be either absolute or relative,
+# depending on how configure is run. This is pretty annoying, since
+# it makes $ac_aux_dir quite unusable in subdirectories: in the top
+# source directory, any form will work fine, but in subdirectories a
+# relative path needs to be adjusted first.
+#
+# $ac_aux_dir/missing
+# fails when called from a subdirectory if $ac_aux_dir is relative
+# $top_srcdir/$ac_aux_dir/missing
+# fails if $ac_aux_dir is absolute,
+# fails when called from a subdirectory in a VPATH build with
+# a relative $ac_aux_dir
+#
+# The reason of the latter failure is that $top_srcdir and $ac_aux_dir
+# are both prefixed by $srcdir. In an in-source build this is usually
+# harmless because $srcdir is `.', but things will broke when you
+# start a VPATH build or use an absolute $srcdir.
+#
+# So we could use something similar to $top_srcdir/$ac_aux_dir/missing,
+# iff we strip the leading $srcdir from $ac_aux_dir. That would be:
+# am_aux_dir='\$(top_srcdir)/'`expr "$ac_aux_dir" : "$srcdir//*\(.*\)"`
+# and then we would define $MISSING as
+# MISSING="\${SHELL} $am_aux_dir/missing"
+# This will work as long as MISSING is not called from configure, because
+# unfortunately $(top_srcdir) has no meaning in configure.
+# However there are other variables, like CC, which are often used in
+# configure, and could therefore not use this "fixed" $ac_aux_dir.
+#
+# Another solution, used here, is to always expand $ac_aux_dir to an
+# absolute PATH. The drawback is that using absolute paths prevent a
+# configured tree to be moved without reconfiguration.
+
+AC_DEFUN([AM_AUX_DIR_EXPAND],
+[dnl Rely on autoconf to set up CDPATH properly.
+AC_PREREQ([2.50])dnl
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+])
+
+# Do all the work for Automake. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 12
+
+# This macro actually does too much. Some checks are only needed if
+# your package does certain things. But this isn't really a big deal.
+
+# AM_INIT_AUTOMAKE(PACKAGE, VERSION, [NO-DEFINE])
+# AM_INIT_AUTOMAKE([OPTIONS])
+# -----------------------------------------------
+# The call with PACKAGE and VERSION arguments is the old style
+# call (pre autoconf-2.50), which is being phased out. PACKAGE
+# and VERSION should now be passed to AC_INIT and removed from
+# the call to AM_INIT_AUTOMAKE.
+# We support both call styles for the transition. After
+# the next Automake release, Autoconf can make the AC_INIT
+# arguments mandatory, and then we can depend on a new Autoconf
+# release and drop the old call support.
+AC_DEFUN([AM_INIT_AUTOMAKE],
+[AC_PREREQ([2.58])dnl
+dnl Autoconf wants to disallow AM_ names. We explicitly allow
+dnl the ones we care about.
+m4_pattern_allow([^AM_[A-Z]+FLAGS$])dnl
+AC_REQUIRE([AM_SET_CURRENT_AUTOMAKE_VERSION])dnl
+AC_REQUIRE([AC_PROG_INSTALL])dnl
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+ test -f $srcdir/config.status; then
+ AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+AC_SUBST([CYGPATH_W])
+
+# Define the identity of the package.
+dnl Distinguish between old-style and new-style calls.
+m4_ifval([$2],
+[m4_ifval([$3], [_AM_SET_OPTION([no-define])])dnl
+ AC_SUBST([PACKAGE], [$1])dnl
+ AC_SUBST([VERSION], [$2])],
+[_AM_SET_OPTIONS([$1])dnl
+ AC_SUBST([PACKAGE], ['AC_PACKAGE_TARNAME'])dnl
+ AC_SUBST([VERSION], ['AC_PACKAGE_VERSION'])])dnl
+
+_AM_IF_OPTION([no-define],,
+[AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
+ AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package])])dnl
+
+# Some tools Automake needs.
+AC_REQUIRE([AM_SANITY_CHECK])dnl
+AC_REQUIRE([AC_ARG_PROGRAM])dnl
+AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
+AM_MISSING_PROG(AUTOCONF, autoconf)
+AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
+AM_MISSING_PROG(AUTOHEADER, autoheader)
+AM_MISSING_PROG(MAKEINFO, makeinfo)
+AM_PROG_INSTALL_SH
+AM_PROG_INSTALL_STRIP
+AC_REQUIRE([AM_PROG_MKDIR_P])dnl
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+AC_REQUIRE([AC_PROG_AWK])dnl
+AC_REQUIRE([AC_PROG_MAKE_SET])dnl
+AC_REQUIRE([AM_SET_LEADING_DOT])dnl
+_AM_IF_OPTION([tar-ustar], [_AM_PROG_TAR([ustar])],
+ [_AM_IF_OPTION([tar-pax], [_AM_PROG_TAR([pax])],
+ [_AM_PROG_TAR([v7])])])
+_AM_IF_OPTION([no-dependencies],,
+[AC_PROVIDE_IFELSE([AC_PROG_CC],
+ [_AM_DEPENDENCIES(CC)],
+ [define([AC_PROG_CC],
+ defn([AC_PROG_CC])[_AM_DEPENDENCIES(CC)])])dnl
+AC_PROVIDE_IFELSE([AC_PROG_CXX],
+ [_AM_DEPENDENCIES(CXX)],
+ [define([AC_PROG_CXX],
+ defn([AC_PROG_CXX])[_AM_DEPENDENCIES(CXX)])])dnl
+])
+])
+
+
+# When config.status generates a header, we must update the stamp-h file.
+# This file resides in the same directory as the config header
+# that is generated. The stamp files are numbered to have different names.
+
+# Autoconf calls _AC_AM_CONFIG_HEADER_HOOK (when defined) in the
+# loop where config.status creates the headers, so we can generate
+# our stamp files there.
+AC_DEFUN([_AC_AM_CONFIG_HEADER_HOOK],
+[# Compute $1's index in $config_headers.
+_am_stamp_count=1
+for _am_header in $config_headers :; do
+ case $_am_header in
+ $1 | $1:* )
+ break ;;
+ * )
+ _am_stamp_count=`expr $_am_stamp_count + 1` ;;
+ esac
+done
+echo "timestamp for $1" >`AS_DIRNAME([$1])`/stamp-h[]$_am_stamp_count])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_SH
+# ------------------
+# Define $install_sh.
+AC_DEFUN([AM_PROG_INSTALL_SH],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+AC_SUBST(install_sh)])
+
+# Copyright (C) 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# Check whether the underlying file-system supports filenames
+# with a leading dot. For instance MS-DOS doesn't.
+AC_DEFUN([AM_SET_LEADING_DOT],
+[rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+AC_SUBST([am__leading_dot])])
+
+# Fake the existence of programs that GNU maintainers use. -*- Autoconf -*-
+
+# Copyright (C) 1997, 1999, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_MISSING_PROG(NAME, PROGRAM)
+# ------------------------------
+AC_DEFUN([AM_MISSING_PROG],
+[AC_REQUIRE([AM_MISSING_HAS_RUN])
+$1=${$1-"${am_missing_run}$2"}
+AC_SUBST($1)])
+
+
+# AM_MISSING_HAS_RUN
+# ------------------
+# Define MISSING if not defined so far and test if it supports --run.
+# If it does, set am_missing_run to use it, otherwise, to nothing.
+AC_DEFUN([AM_MISSING_HAS_RUN],
+[AC_REQUIRE([AM_AUX_DIR_EXPAND])dnl
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ AC_MSG_WARN([`missing' script is too old or missing])
+fi
+])
+
+# Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_MKDIR_P
+# ---------------
+# Check whether `mkdir -p' is supported, fallback to mkinstalldirs otherwise.
+#
+# Automake 1.8 used `mkdir -m 0755 -p --' to ensure that directories
+# created by `make install' are always world readable, even if the
+# installer happens to have an overly restrictive umask (e.g. 077).
+# This was a mistake. There are at least two reasons why we must not
+# use `-m 0755':
+# - it causes special bits like SGID to be ignored,
+# - it may be too restrictive (some setups expect 775 directories).
+#
+# Do not use -m 0755 and let people choose whatever they expect by
+# setting umask.
+#
+# We cannot accept any implementation of `mkdir' that recognizes `-p'.
+# Some implementations (such as Solaris 8's) are not thread-safe: if a
+# parallel make tries to run `mkdir -p a/b' and `mkdir -p a/c'
+# concurrently, both version can detect that a/ is missing, but only
+# one can create it and the other will error out. Consequently we
+# restrict ourselves to GNU make (using the --version option ensures
+# this.)
+AC_DEFUN([AM_PROG_MKDIR_P],
+[if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+ # We used to keeping the `.' as first argument, in order to
+ # allow $(mkdir_p) to be used without argument. As in
+ # $(mkdir_p) $(somedir)
+ # where $(somedir) is conditionally defined. However this is wrong
+ # for two reasons:
+ # 1. if the package is installed by a user who cannot write `.'
+ # make install will fail,
+ # 2. the above comment should most certainly read
+ # $(mkdir_p) $(DESTDIR)$(somedir)
+ # so it does not work when $(somedir) is undefined and
+ # $(DESTDIR) is not.
+ # To support the latter case, we have to write
+ # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+ # so the `.' trick is pointless.
+ mkdir_p='mkdir -p --'
+else
+ # On NextStep and OpenStep, the `mkdir' command does not
+ # recognize any option. It will interpret all options as
+ # directories to create, and then abort because `.' already
+ # exists.
+ for d in ./-p ./--version;
+ do
+ test -d $d && rmdir $d
+ done
+ # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+ if test -f "$ac_aux_dir/mkinstalldirs"; then
+ mkdir_p='$(mkinstalldirs)'
+ else
+ mkdir_p='$(install_sh) -d'
+ fi
+fi
+AC_SUBST([mkdir_p])])
+
+# Helper functions for option handling. -*- Autoconf -*-
+
+# Copyright (C) 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 3
+
+# _AM_MANGLE_OPTION(NAME)
+# -----------------------
+AC_DEFUN([_AM_MANGLE_OPTION],
+[[_AM_OPTION_]m4_bpatsubst($1, [[^a-zA-Z0-9_]], [_])])
+
+# _AM_SET_OPTION(NAME)
+# ------------------------------
+# Set option NAME. Presently that only means defining a flag for this option.
+AC_DEFUN([_AM_SET_OPTION],
+[m4_define(_AM_MANGLE_OPTION([$1]), 1)])
+
+# _AM_SET_OPTIONS(OPTIONS)
+# ----------------------------------
+# OPTIONS is a space-separated list of Automake options.
+AC_DEFUN([_AM_SET_OPTIONS],
+[AC_FOREACH([_AM_Option], [$1], [_AM_SET_OPTION(_AM_Option)])])
+
+# _AM_IF_OPTION(OPTION, IF-SET, [IF-NOT-SET])
+# -------------------------------------------
+# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
+AC_DEFUN([_AM_IF_OPTION],
+[m4_ifset(_AM_MANGLE_OPTION([$1]), [$2], [$3])])
+
+# Check to make sure that the build environment is sane. -*- Autoconf -*-
+
+# Copyright (C) 1996, 1997, 2000, 2001, 2003, 2005
+# Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 4
+
+# AM_SANITY_CHECK
+# ---------------
+AC_DEFUN([AM_SANITY_CHECK],
+[AC_MSG_CHECKING([whether build environment is sane])
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$[*]" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$[*]" != "X $srcdir/configure conftest.file" \
+ && test "$[*]" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
+alias in your environment])
+ fi
+
+ test "$[2]" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ AC_MSG_ERROR([newly created file is older than distributed files!
+Check your system clock])
+fi
+AC_MSG_RESULT(yes)])
+
+# Copyright (C) 2001, 2003, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# AM_PROG_INSTALL_STRIP
+# ---------------------
+# One issue with vendor `install' (even GNU) is that you can't
+# specify the program used to strip binaries. This is especially
+# annoying in cross-compiling environments, where the build's strip
+# is unlikely to handle the host's binaries.
+# Fortunately install-sh will honor a STRIPPROG variable, so we
+# always use install-sh in `make install-strip', and initialize
+# STRIPPROG with the value of the STRIP variable (set by the user).
+AC_DEFUN([AM_PROG_INSTALL_STRIP],
+[AC_REQUIRE([AM_PROG_INSTALL_SH])dnl
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+dnl Don't test for $cross_compiling = yes, because it might be `maybe'.
+if test "$cross_compiling" != no; then
+ AC_CHECK_TOOL([STRIP], [strip], :)
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+AC_SUBST([INSTALL_STRIP_PROGRAM])])
+
+# Check how to create a tarball. -*- Autoconf -*-
+
+# Copyright (C) 2004, 2005 Free Software Foundation, Inc.
+#
+# This file is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# serial 2
+
+# _AM_PROG_TAR(FORMAT)
+# --------------------
+# Check how to create a tarball in format FORMAT.
+# FORMAT should be one of `v7', `ustar', or `pax'.
+#
+# Substitute a variable $(am__tar) that is a command
+# writing to stdout a FORMAT-tarball containing the directory
+# $tardir.
+# tardir=directory && $(am__tar) > result.tar
+#
+# Substitute a variable $(am__untar) that extract such
+# a tarball read from stdin.
+# $(am__untar) < result.tar
+AC_DEFUN([_AM_PROG_TAR],
+[# Always define AMTAR for backward compatibility.
+AM_MISSING_PROG([AMTAR], [tar])
+m4_if([$1], [v7],
+ [am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'],
+ [m4_case([$1], [ustar],, [pax],,
+ [m4_fatal([Unknown tar format])])
+AC_MSG_CHECKING([how to create a $1 tar archive])
+# Loop over all known methods to create a tar archive until one works.
+_am_tools='gnutar m4_if([$1], [ustar], [plaintar]) pax cpio none'
+_am_tools=${am_cv_prog_tar_$1-$_am_tools}
+# Do not fold the above two line into one, because Tru64 sh and
+# Solaris sh will not grok spaces in the rhs of `-'.
+for _am_tool in $_am_tools
+do
+ case $_am_tool in
+ gnutar)
+ for _am_tar in tar gnutar gtar;
+ do
+ AM_RUN_LOG([$_am_tar --version]) && break
+ done
+ am__tar="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$$tardir"'
+ am__tar_="$_am_tar --format=m4_if([$1], [pax], [posix], [$1]) -chf - "'"$tardir"'
+ am__untar="$_am_tar -xf -"
+ ;;
+ plaintar)
+ # Must skip GNU tar: if it does not support --format= it doesn't create
+ # ustar tarball either.
+ (tar --version) >/dev/null 2>&1 && continue
+ am__tar='tar chf - "$$tardir"'
+ am__tar_='tar chf - "$tardir"'
+ am__untar='tar xf -'
+ ;;
+ pax)
+ am__tar='pax -L -x $1 -w "$$tardir"'
+ am__tar_='pax -L -x $1 -w "$tardir"'
+ am__untar='pax -r'
+ ;;
+ cpio)
+ am__tar='find "$$tardir" -print | cpio -o -H $1 -L'
+ am__tar_='find "$tardir" -print | cpio -o -H $1 -L'
+ am__untar='cpio -i -H $1 -d'
+ ;;
+ none)
+ am__tar=false
+ am__tar_=false
+ am__untar=false
+ ;;
+ esac
+
+ # If the value was cached, stop now. We just wanted to have am__tar
+ # and am__untar set.
+ test -n "${am_cv_prog_tar_$1}" && break
+
+ # tar/untar a dummy directory, and stop if the command works
+ rm -rf conftest.dir
+ mkdir conftest.dir
+ echo GrepMe > conftest.dir/file
+ AM_RUN_LOG([tardir=conftest.dir && eval $am__tar_ >conftest.tar])
+ rm -rf conftest.dir
+ if test -s conftest.tar; then
+ AM_RUN_LOG([$am__untar <conftest.tar])
+ grep GrepMe conftest.dir/file >/dev/null 2>&1 && break
+ fi
+done
+rm -rf conftest.dir
+
+AC_CACHE_VAL([am_cv_prog_tar_$1], [am_cv_prog_tar_$1=$_am_tool])
+AC_MSG_RESULT([$am_cv_prog_tar_$1])])
+AC_SUBST([am__tar])
+AC_SUBST([am__untar])
+]) # _AM_PROG_TAR
+
+m4_include([acinclude.m4])
diff --git a/config.guess b/config.guess
new file mode 100755
index 0000000..8229471
--- /dev/null
+++ b/config.guess
@@ -0,0 +1,1453 @@
+#! /bin/sh
+# Attempt to guess a canonical system name.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+
+timestamp='2004-11-12'
+
+# This file is free software; you can redistribute it and/or modify it
+# under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+#
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Originally written by Per Bothner <per@bothner.com>.
+# Please send patches to <config-patches@gnu.org>. Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# This script attempts to guess a canonical system name similar to
+# config.sub. If it succeeds, it prints the system name on stdout, and
+# exits with 0. Otherwise, it exits with 1.
+#
+# The plan is that this can be called by configure scripts if you
+# don't specify an explicit build system type.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION]
+
+Output the configuration name of the system \`$me' is run on.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.guess ($timestamp)
+
+Originally written by Per Bothner.
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit 0 ;;
+ --version | -v )
+ echo "$version" ; exit 0 ;;
+ --help | --h* | -h )
+ echo "$usage"; exit 0 ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help" >&2
+ exit 1 ;;
+ * )
+ break ;;
+ esac
+done
+
+if test $# != 0; then
+ echo "$me: too many arguments$help" >&2
+ exit 1
+fi
+
+trap 'exit 1' 1 2 15
+
+# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
+# compiler to aid in system detection is discouraged as it requires
+# temporary files to be created and, as you can see below, it is a
+# headache to deal with in a portable fashion.
+
+# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
+# use `HOST_CC' if defined, but it is deprecated.
+
+# Portable tmp directory creation inspired by the Autoconf team.
+
+set_cc_for_build='
+trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
+: ${TMPDIR=/tmp} ;
+ { tmp=`(umask 077 && mktemp -d -q "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
+ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
+ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
+ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
+dummy=$tmp/dummy ;
+tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
+case $CC_FOR_BUILD,$HOST_CC,$CC in
+ ,,) echo "int x;" > $dummy.c ;
+ for c in cc gcc c89 c99 ; do
+ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
+ CC_FOR_BUILD="$c"; break ;
+ fi ;
+ done ;
+ if test x"$CC_FOR_BUILD" = x ; then
+ CC_FOR_BUILD=no_compiler_found ;
+ fi
+ ;;
+ ,,*) CC_FOR_BUILD=$CC ;;
+ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
+esac ;'
+
+# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
+# (ghazi@noc.rutgers.edu 1994-08-24)
+if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
+ PATH=$PATH:/.attbin ; export PATH
+fi
+
+UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
+UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
+UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
+UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
+
+# Note: order is significant - the case branches are not exclusive.
+
+case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
+ *:NetBSD:*:*)
+ # NetBSD (nbsd) targets should (where applicable) match one or
+ # more of the tupples: *-*-netbsdelf*, *-*-netbsdaout*,
+ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
+ # switched to ELF, *-*-netbsd* would select the old
+ # object file format. This provides both forward
+ # compatibility and a consistent mechanism for selecting the
+ # object file format.
+ #
+ # Note: NetBSD doesn't particularly care about the vendor
+ # portion of the name. We always set it to "unknown".
+ sysctl="sysctl -n hw.machine_arch"
+ UNAME_MACHINE_ARCH=`(/sbin/$sysctl 2>/dev/null || \
+ /usr/sbin/$sysctl 2>/dev/null || echo unknown)`
+ case "${UNAME_MACHINE_ARCH}" in
+ armeb) machine=armeb-unknown ;;
+ arm*) machine=arm-unknown ;;
+ sh3el) machine=shl-unknown ;;
+ sh3eb) machine=sh-unknown ;;
+ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
+ esac
+ # The Operating System including object format, if it has switched
+ # to ELF recently, or will in the future.
+ case "${UNAME_MACHINE_ARCH}" in
+ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
+ eval $set_cc_for_build
+ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
+ | grep __ELF__ >/dev/null
+ then
+ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
+ # Return netbsd for either. FIX?
+ os=netbsd
+ else
+ os=netbsdelf
+ fi
+ ;;
+ *)
+ os=netbsd
+ ;;
+ esac
+ # The OS release
+ # Debian GNU/NetBSD machines have a different userland, and
+ # thus, need a distinct triplet. However, they do not need
+ # kernel version information, so it can be replaced with a
+ # suitable tag, in the style of linux-gnu.
+ case "${UNAME_VERSION}" in
+ Debian*)
+ release='-gnu'
+ ;;
+ *)
+ release=`echo ${UNAME_RELEASE}|sed -e 's/[-_].*/\./'`
+ ;;
+ esac
+ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
+ # contains redundant information, the shorter form:
+ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
+ echo "${machine}-${os}${release}"
+ exit 0 ;;
+ amd64:OpenBSD:*:*)
+ echo x86_64-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ amiga:OpenBSD:*:*)
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ cats:OpenBSD:*:*)
+ echo arm-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ hp300:OpenBSD:*:*)
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ luna88k:OpenBSD:*:*)
+ echo m88k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ mac68k:OpenBSD:*:*)
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ macppc:OpenBSD:*:*)
+ echo powerpc-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ mvme68k:OpenBSD:*:*)
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ mvme88k:OpenBSD:*:*)
+ echo m88k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ mvmeppc:OpenBSD:*:*)
+ echo powerpc-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ sgi:OpenBSD:*:*)
+ echo mips64-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ sun3:OpenBSD:*:*)
+ echo m68k-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ *:OpenBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-openbsd${UNAME_RELEASE}
+ exit 0 ;;
+ *:ekkoBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
+ exit 0 ;;
+ macppc:MirBSD:*:*)
+ echo powerppc-unknown-mirbsd${UNAME_RELEASE}
+ exit 0 ;;
+ *:MirBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
+ exit 0 ;;
+ alpha:OSF1:*:*)
+ case $UNAME_RELEASE in
+ *4.0)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
+ ;;
+ *5.*)
+ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+ ;;
+ esac
+ # According to Compaq, /usr/sbin/psrinfo has been available on
+ # OSF/1 and Tru64 systems produced since 1995. I hope that
+ # covers most systems running today. This code pipes the CPU
+ # types through head -n 1, so we only detect the type of CPU 0.
+ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
+ case "$ALPHA_CPU_TYPE" in
+ "EV4 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "EV4.5 (21064)")
+ UNAME_MACHINE="alpha" ;;
+ "LCA4 (21066/21068)")
+ UNAME_MACHINE="alpha" ;;
+ "EV5 (21164)")
+ UNAME_MACHINE="alphaev5" ;;
+ "EV5.6 (21164A)")
+ UNAME_MACHINE="alphaev56" ;;
+ "EV5.6 (21164PC)")
+ UNAME_MACHINE="alphapca56" ;;
+ "EV5.7 (21164PC)")
+ UNAME_MACHINE="alphapca57" ;;
+ "EV6 (21264)")
+ UNAME_MACHINE="alphaev6" ;;
+ "EV6.7 (21264A)")
+ UNAME_MACHINE="alphaev67" ;;
+ "EV6.8CB (21264C)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8AL (21264B)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.8CX (21264D)")
+ UNAME_MACHINE="alphaev68" ;;
+ "EV6.9A (21264/EV69A)")
+ UNAME_MACHINE="alphaev69" ;;
+ "EV7 (21364)")
+ UNAME_MACHINE="alphaev7" ;;
+ "EV7.9 (21364A)")
+ UNAME_MACHINE="alphaev79" ;;
+ esac
+ # A Pn.n version is a patched version.
+ # A Vn.n version is a released version.
+ # A Tn.n version is a released field test version.
+ # A Xn.n version is an unreleased experimental baselevel.
+ # 1.2 uses "1.2" for uname -r.
+ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ exit 0 ;;
+ Alpha\ *:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # Should we change UNAME_MACHINE based on the output of uname instead
+ # of the specific Alpha model?
+ echo alpha-pc-interix
+ exit 0 ;;
+ 21064:Windows_NT:50:3)
+ echo alpha-dec-winnt3.5
+ exit 0 ;;
+ Amiga*:UNIX_System_V:4.0:*)
+ echo m68k-unknown-sysv4
+ exit 0;;
+ *:[Aa]miga[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-amigaos
+ exit 0 ;;
+ *:[Mm]orph[Oo][Ss]:*:*)
+ echo ${UNAME_MACHINE}-unknown-morphos
+ exit 0 ;;
+ *:OS/390:*:*)
+ echo i370-ibm-openedition
+ exit 0 ;;
+ *:z/VM:*:*)
+ echo s390-ibm-zvmoe
+ exit 0 ;;
+ *:OS400:*:*)
+ echo powerpc-ibm-os400
+ exit 0 ;;
+ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
+ echo arm-acorn-riscix${UNAME_RELEASE}
+ exit 0;;
+ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
+ echo hppa1.1-hitachi-hiuxmpp
+ exit 0;;
+ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
+ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
+ if test "`(/bin/universe) 2>/dev/null`" = att ; then
+ echo pyramid-pyramid-sysv3
+ else
+ echo pyramid-pyramid-bsd
+ fi
+ exit 0 ;;
+ NILE*:*:*:dcosx)
+ echo pyramid-pyramid-svr4
+ exit 0 ;;
+ DRS?6000:unix:4.0:6*)
+ echo sparc-icl-nx6
+ exit 0 ;;
+ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
+ case `/usr/bin/uname -p` in
+ sparc) echo sparc-icl-nx7 && exit 0 ;;
+ esac ;;
+ sun4H:SunOS:5.*:*)
+ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit 0 ;;
+ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
+ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit 0 ;;
+ i86pc:SunOS:5.*:*)
+ echo i386-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit 0 ;;
+ sun4*:SunOS:6*:*)
+ # According to config.sub, this is the proper way to canonicalize
+ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
+ # it's likely to be more like Solaris than SunOS4.
+ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit 0 ;;
+ sun4*:SunOS:*:*)
+ case "`/usr/bin/arch -k`" in
+ Series*|S4*)
+ UNAME_RELEASE=`uname -v`
+ ;;
+ esac
+ # Japanese Language versions have a version number like `4.1.3-JL'.
+ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
+ exit 0 ;;
+ sun3*:SunOS:*:*)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ exit 0 ;;
+ sun*:*:4.2BSD:*)
+ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
+ test "x${UNAME_RELEASE}" = "x" && UNAME_RELEASE=3
+ case "`/bin/arch`" in
+ sun3)
+ echo m68k-sun-sunos${UNAME_RELEASE}
+ ;;
+ sun4)
+ echo sparc-sun-sunos${UNAME_RELEASE}
+ ;;
+ esac
+ exit 0 ;;
+ aushp:SunOS:*:*)
+ echo sparc-auspex-sunos${UNAME_RELEASE}
+ exit 0 ;;
+ # The situation for MiNT is a little confusing. The machine name
+ # can be virtually everything (everything which is not
+ # "atarist" or "atariste" at least should have a processor
+ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
+ # to the lowercase version "mint" (or "freemint"). Finally
+ # the system name "TOS" denotes a system which is actually not
+ # MiNT. But MiNT is downward compatible to TOS, so this should
+ # be no problem.
+ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit 0 ;;
+ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit 0 ;;
+ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
+ echo m68k-atari-mint${UNAME_RELEASE}
+ exit 0 ;;
+ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
+ echo m68k-milan-mint${UNAME_RELEASE}
+ exit 0 ;;
+ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
+ echo m68k-hades-mint${UNAME_RELEASE}
+ exit 0 ;;
+ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
+ echo m68k-unknown-mint${UNAME_RELEASE}
+ exit 0 ;;
+ m68k:machten:*:*)
+ echo m68k-apple-machten${UNAME_RELEASE}
+ exit 0 ;;
+ powerpc:machten:*:*)
+ echo powerpc-apple-machten${UNAME_RELEASE}
+ exit 0 ;;
+ RISC*:Mach:*:*)
+ echo mips-dec-mach_bsd4.3
+ exit 0 ;;
+ RISC*:ULTRIX:*:*)
+ echo mips-dec-ultrix${UNAME_RELEASE}
+ exit 0 ;;
+ VAX*:ULTRIX*:*:*)
+ echo vax-dec-ultrix${UNAME_RELEASE}
+ exit 0 ;;
+ 2020:CLIX:*:* | 2430:CLIX:*:*)
+ echo clipper-intergraph-clix${UNAME_RELEASE}
+ exit 0 ;;
+ mips:*:*:UMIPS | mips:*:*:RISCos)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+#ifdef __cplusplus
+#include <stdio.h> /* for printf() prototype */
+ int main (int argc, char *argv[]) {
+#else
+ int main (argc, argv) int argc; char *argv[]; {
+#endif
+ #if defined (host_mips) && defined (MIPSEB)
+ #if defined (SYSTYPE_SYSV)
+ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_SVR4)
+ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
+ #endif
+ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
+ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
+ #endif
+ #endif
+ exit (-1);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c \
+ && $dummy `echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` \
+ && exit 0
+ echo mips-mips-riscos${UNAME_RELEASE}
+ exit 0 ;;
+ Motorola:PowerMAX_OS:*:*)
+ echo powerpc-motorola-powermax
+ exit 0 ;;
+ Motorola:*:4.3:PL8-*)
+ echo powerpc-harris-powermax
+ exit 0 ;;
+ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
+ echo powerpc-harris-powermax
+ exit 0 ;;
+ Night_Hawk:Power_UNIX:*:*)
+ echo powerpc-harris-powerunix
+ exit 0 ;;
+ m88k:CX/UX:7*:*)
+ echo m88k-harris-cxux7
+ exit 0 ;;
+ m88k:*:4*:R4*)
+ echo m88k-motorola-sysv4
+ exit 0 ;;
+ m88k:*:3*:R3*)
+ echo m88k-motorola-sysv3
+ exit 0 ;;
+ AViiON:dgux:*:*)
+ # DG/UX returns AViiON for all architectures
+ UNAME_PROCESSOR=`/usr/bin/uname -p`
+ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
+ then
+ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
+ [ ${TARGET_BINARY_INTERFACE}x = x ]
+ then
+ echo m88k-dg-dgux${UNAME_RELEASE}
+ else
+ echo m88k-dg-dguxbcs${UNAME_RELEASE}
+ fi
+ else
+ echo i586-dg-dgux${UNAME_RELEASE}
+ fi
+ exit 0 ;;
+ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
+ echo m88k-dolphin-sysv3
+ exit 0 ;;
+ M88*:*:R3*:*)
+ # Delta 88k system running SVR3
+ echo m88k-motorola-sysv3
+ exit 0 ;;
+ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
+ echo m88k-tektronix-sysv3
+ exit 0 ;;
+ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
+ echo m68k-tektronix-bsd
+ exit 0 ;;
+ *:IRIX*:*:*)
+ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
+ exit 0 ;;
+ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
+ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
+ exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
+ i*86:AIX:*:*)
+ echo i386-ibm-aix
+ exit 0 ;;
+ ia64:AIX:*:*)
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
+ exit 0 ;;
+ *:AIX:2:3)
+ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <sys/systemcfg.h>
+
+ main()
+ {
+ if (!__power_pc())
+ exit(1);
+ puts("powerpc-ibm-aix3.2.5");
+ exit(0);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
+ echo rs6000-ibm-aix3.2.5
+ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
+ echo rs6000-ibm-aix3.2.4
+ else
+ echo rs6000-ibm-aix3.2
+ fi
+ exit 0 ;;
+ *:AIX:*:[45])
+ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
+ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
+ IBM_ARCH=rs6000
+ else
+ IBM_ARCH=powerpc
+ fi
+ if [ -x /usr/bin/oslevel ] ; then
+ IBM_REV=`/usr/bin/oslevel`
+ else
+ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
+ fi
+ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
+ exit 0 ;;
+ *:AIX:*:*)
+ echo rs6000-ibm-aix
+ exit 0 ;;
+ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
+ echo romp-ibm-bsd4.4
+ exit 0 ;;
+ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
+ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
+ exit 0 ;; # report: romp-ibm BSD 4.3
+ *:BOSX:*:*)
+ echo rs6000-bull-bosx
+ exit 0 ;;
+ DPX/2?00:B.O.S.:*:*)
+ echo m68k-bull-sysv3
+ exit 0 ;;
+ 9000/[34]??:4.3bsd:1.*:*)
+ echo m68k-hp-bsd
+ exit 0 ;;
+ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
+ echo m68k-hp-bsd4.4
+ exit 0 ;;
+ 9000/[34678]??:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ case "${UNAME_MACHINE}" in
+ 9000/31? ) HP_ARCH=m68000 ;;
+ 9000/[34]?? ) HP_ARCH=m68k ;;
+ 9000/[678][0-9][0-9])
+ if [ -x /usr/bin/getconf ]; then
+ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
+ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+ case "${sc_cpu_version}" in
+ 523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+ 528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+ 532) # CPU_PA_RISC2_0
+ case "${sc_kernel_bits}" in
+ 32) HP_ARCH="hppa2.0n" ;;
+ 64) HP_ARCH="hppa2.0w" ;;
+ '') HP_ARCH="hppa2.0" ;; # HP-UX 10.20
+ esac ;;
+ esac
+ fi
+ if [ "${HP_ARCH}" = "" ]; then
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+
+ #define _HPUX_SOURCE
+ #include <stdlib.h>
+ #include <unistd.h>
+
+ int main ()
+ {
+ #if defined(_SC_KERNEL_BITS)
+ long bits = sysconf(_SC_KERNEL_BITS);
+ #endif
+ long cpu = sysconf (_SC_CPU_VERSION);
+
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+ case CPU_PA_RISC2_0:
+ #if defined(_SC_KERNEL_BITS)
+ switch (bits)
+ {
+ case 64: puts ("hppa2.0w"); break;
+ case 32: puts ("hppa2.0n"); break;
+ default: puts ("hppa2.0"); break;
+ } break;
+ #else /* !defined(_SC_KERNEL_BITS) */
+ puts ("hppa2.0"); break;
+ #endif
+ default: puts ("hppa1.0"); break;
+ }
+ exit (0);
+ }
+EOF
+ (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
+ test -z "$HP_ARCH" && HP_ARCH=hppa
+ fi ;;
+ esac
+ if [ ${HP_ARCH} = "hppa2.0w" ]
+ then
+ # avoid double evaluation of $set_cc_for_build
+ test -n "$CC_FOR_BUILD" || eval $set_cc_for_build
+ if echo __LP64__ | (CCOPTS= $CC_FOR_BUILD -E -) | grep __LP64__ >/dev/null
+ then
+ HP_ARCH="hppa2.0w"
+ else
+ HP_ARCH="hppa64"
+ fi
+ fi
+ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
+ exit 0 ;;
+ ia64:HP-UX:*:*)
+ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
+ echo ia64-hp-hpux${HPUX_REV}
+ exit 0 ;;
+ 3050*:HI-UX:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <unistd.h>
+ int
+ main ()
+ {
+ long cpu = sysconf (_SC_CPU_VERSION);
+ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
+ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
+ results, however. */
+ if (CPU_IS_PA_RISC (cpu))
+ {
+ switch (cpu)
+ {
+ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
+ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
+ default: puts ("hppa-hitachi-hiuxwe2"); break;
+ }
+ }
+ else if (CPU_IS_HP_MC68K (cpu))
+ puts ("m68k-hitachi-hiuxwe2");
+ else puts ("unknown-hitachi-hiuxwe2");
+ exit (0);
+ }
+EOF
+ $CC_FOR_BUILD -o $dummy $dummy.c && $dummy && exit 0
+ echo unknown-hitachi-hiuxwe2
+ exit 0 ;;
+ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
+ echo hppa1.1-hp-bsd
+ exit 0 ;;
+ 9000/8??:4.3bsd:*:*)
+ echo hppa1.0-hp-bsd
+ exit 0 ;;
+ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
+ echo hppa1.0-hp-mpeix
+ exit 0 ;;
+ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
+ echo hppa1.1-hp-osf
+ exit 0 ;;
+ hp8??:OSF1:*:*)
+ echo hppa1.0-hp-osf
+ exit 0 ;;
+ i*86:OSF1:*:*)
+ if [ -x /usr/sbin/sysversion ] ; then
+ echo ${UNAME_MACHINE}-unknown-osf1mk
+ else
+ echo ${UNAME_MACHINE}-unknown-osf1
+ fi
+ exit 0 ;;
+ parisc*:Lites*:*:*)
+ echo hppa1.1-hp-lites
+ exit 0 ;;
+ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
+ echo c1-convex-bsd
+ exit 0 ;;
+ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit 0 ;;
+ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
+ echo c34-convex-bsd
+ exit 0 ;;
+ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
+ echo c38-convex-bsd
+ exit 0 ;;
+ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
+ echo c4-convex-bsd
+ exit 0 ;;
+ CRAY*Y-MP:*:*:*)
+ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit 0 ;;
+ CRAY*[A-Z]90:*:*:*)
+ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
+ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
+ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
+ -e 's/\.[^.]*$/.X/'
+ exit 0 ;;
+ CRAY*TS:*:*:*)
+ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit 0 ;;
+ CRAY*T3E:*:*:*)
+ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit 0 ;;
+ CRAY*SV1:*:*:*)
+ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit 0 ;;
+ *:UNICOS/mp:*:*)
+ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
+ exit 0 ;;
+ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
+ FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit 0 ;;
+ 5000:UNIX_System_V:4.*:*)
+ FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+ exit 0 ;;
+ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
+ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
+ exit 0 ;;
+ sparc*:BSD/OS:*:*)
+ echo sparc-unknown-bsdi${UNAME_RELEASE}
+ exit 0 ;;
+ *:BSD/OS:*:*)
+ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
+ exit 0 ;;
+ *:FreeBSD:*:*)
+ echo ${UNAME_MACHINE}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit 0 ;;
+ i*:CYGWIN*:*)
+ echo ${UNAME_MACHINE}-pc-cygwin
+ exit 0 ;;
+ i*:MINGW*:*)
+ echo ${UNAME_MACHINE}-pc-mingw32
+ exit 0 ;;
+ i*:PW*:*)
+ echo ${UNAME_MACHINE}-pc-pw32
+ exit 0 ;;
+ x86:Interix*:[34]*)
+ echo i586-pc-interix${UNAME_RELEASE}|sed -e 's/\..*//'
+ exit 0 ;;
+ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
+ echo i${UNAME_MACHINE}-pc-mks
+ exit 0 ;;
+ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
+ # How do we know it's Interix rather than the generic POSIX subsystem?
+ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
+ # UNAME_MACHINE based on the output of uname instead of i386?
+ echo i586-pc-interix
+ exit 0 ;;
+ i*:UWIN*:*)
+ echo ${UNAME_MACHINE}-pc-uwin
+ exit 0 ;;
+ p*:CYGWIN*:*)
+ echo powerpcle-unknown-cygwin
+ exit 0 ;;
+ prep*:SunOS:5.*:*)
+ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
+ exit 0 ;;
+ *:GNU:*:*)
+ # the GNU system
+ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-gnu`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
+ exit 0 ;;
+ *:GNU/*:*:*)
+ # other systems with GNU libc and userland
+ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr '[A-Z]' '[a-z]'``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-gnu
+ exit 0 ;;
+ i*86:Minix:*:*)
+ echo ${UNAME_MACHINE}-pc-minix
+ exit 0 ;;
+ arm*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit 0 ;;
+ cris:Linux:*:*)
+ echo cris-axis-linux-gnu
+ exit 0 ;;
+ crisv32:Linux:*:*)
+ echo crisv32-axis-linux-gnu
+ exit 0 ;;
+ frv:Linux:*:*)
+ echo frv-unknown-linux-gnu
+ exit 0 ;;
+ ia64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit 0 ;;
+ m32r*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit 0 ;;
+ m68*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit 0 ;;
+ mips:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+ #undef mips
+ #undef mipsel
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+ CPU=mipsel
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+ CPU=mips
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+ test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
+ ;;
+ mips64:Linux:*:*)
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #undef CPU
+ #undef mips64
+ #undef mips64el
+ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
+ CPU=mips64el
+ #else
+ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
+ CPU=mips64
+ #else
+ CPU=
+ #endif
+ #endif
+EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
+ test x"${CPU}" != x && echo "${CPU}-unknown-linux-gnu" && exit 0
+ ;;
+ ppc:Linux:*:*)
+ echo powerpc-unknown-linux-gnu
+ exit 0 ;;
+ ppc64:Linux:*:*)
+ echo powerpc64-unknown-linux-gnu
+ exit 0 ;;
+ alpha:Linux:*:*)
+ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
+ EV5) UNAME_MACHINE=alphaev5 ;;
+ EV56) UNAME_MACHINE=alphaev56 ;;
+ PCA56) UNAME_MACHINE=alphapca56 ;;
+ PCA57) UNAME_MACHINE=alphapca56 ;;
+ EV6) UNAME_MACHINE=alphaev6 ;;
+ EV67) UNAME_MACHINE=alphaev67 ;;
+ EV68*) UNAME_MACHINE=alphaev68 ;;
+ esac
+ objdump --private-headers /bin/sh | grep ld.so.1 >/dev/null
+ if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
+ echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
+ exit 0 ;;
+ parisc:Linux:*:* | hppa:Linux:*:*)
+ # Look for CPU level
+ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
+ PA7*) echo hppa1.1-unknown-linux-gnu ;;
+ PA8*) echo hppa2.0-unknown-linux-gnu ;;
+ *) echo hppa-unknown-linux-gnu ;;
+ esac
+ exit 0 ;;
+ parisc64:Linux:*:* | hppa64:Linux:*:*)
+ echo hppa64-unknown-linux-gnu
+ exit 0 ;;
+ s390:Linux:*:* | s390x:Linux:*:*)
+ echo ${UNAME_MACHINE}-ibm-linux
+ exit 0 ;;
+ sh64*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit 0 ;;
+ sh*:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit 0 ;;
+ sparc:Linux:*:* | sparc64:Linux:*:*)
+ echo ${UNAME_MACHINE}-unknown-linux-gnu
+ exit 0 ;;
+ x86_64:Linux:*:*)
+ echo x86_64-unknown-linux-gnu
+ exit 0 ;;
+ i*86:Linux:*:*)
+ # The BFD linker knows what the default object file format is, so
+ # first see if it will tell us. cd to the root directory to prevent
+ # problems with other programs or directories called `ld' in the path.
+ # Set LC_ALL=C to ensure ld outputs messages in English.
+ ld_supported_targets=`cd /; LC_ALL=C ld --help 2>&1 \
+ | sed -ne '/supported targets:/!d
+ s/[ ][ ]*/ /g
+ s/.*supported targets: *//
+ s/ .*//
+ p'`
+ case "$ld_supported_targets" in
+ elf32-i386)
+ TENTATIVE="${UNAME_MACHINE}-pc-linux-gnu"
+ ;;
+ a.out-i386-linux)
+ echo "${UNAME_MACHINE}-pc-linux-gnuaout"
+ exit 0 ;;
+ coff-i386)
+ echo "${UNAME_MACHINE}-pc-linux-gnucoff"
+ exit 0 ;;
+ "")
+ # Either a pre-BFD a.out linker (linux-gnuoldld) or
+ # one that does not give us useful --help.
+ echo "${UNAME_MACHINE}-pc-linux-gnuoldld"
+ exit 0 ;;
+ esac
+ # Determine whether the default compiler is a.out or elf
+ eval $set_cc_for_build
+ sed 's/^ //' << EOF >$dummy.c
+ #include <features.h>
+ #ifdef __ELF__
+ # ifdef __GLIBC__
+ # if __GLIBC__ >= 2
+ LIBC=gnu
+ # else
+ LIBC=gnulibc1
+ # endif
+ # else
+ LIBC=gnulibc1
+ # endif
+ #else
+ #ifdef __INTEL_COMPILER
+ LIBC=gnu
+ #else
+ LIBC=gnuaout
+ #endif
+ #endif
+ #ifdef __dietlibc__
+ LIBC=dietlibc
+ #endif
+EOF
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^LIBC=`
+ test x"${LIBC}" != x && echo "${UNAME_MACHINE}-pc-linux-${LIBC}" && exit 0
+ test x"${TENTATIVE}" != x && echo "${TENTATIVE}" && exit 0
+ ;;
+ i*86:DYNIX/ptx:4*:*)
+ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
+ # earlier versions are messed up and put the nodename in both
+ # sysname and nodename.
+ echo i386-sequent-sysv4
+ exit 0 ;;
+ i*86:UNIX_SV:4.2MP:2.*)
+ # Unixware is an offshoot of SVR4, but it has its own version
+ # number series starting with 2...
+ # I am not positive that other SVR4 systems won't match this,
+ # I just have to hope. -- rms.
+ # Use sysv4.2uw... so that sysv4* matches it.
+ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
+ exit 0 ;;
+ i*86:OS/2:*:*)
+ # If we were able to find `uname', then EMX Unix compatibility
+ # is probably installed.
+ echo ${UNAME_MACHINE}-pc-os2-emx
+ exit 0 ;;
+ i*86:XTS-300:*:STOP)
+ echo ${UNAME_MACHINE}-unknown-stop
+ exit 0 ;;
+ i*86:atheos:*:*)
+ echo ${UNAME_MACHINE}-unknown-atheos
+ exit 0 ;;
+ i*86:syllable:*:*)
+ echo ${UNAME_MACHINE}-pc-syllable
+ exit 0 ;;
+ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.0*:*)
+ echo i386-unknown-lynxos${UNAME_RELEASE}
+ exit 0 ;;
+ i*86:*DOS:*:*)
+ echo ${UNAME_MACHINE}-pc-msdosdjgpp
+ exit 0 ;;
+ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
+ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
+ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
+ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
+ else
+ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
+ fi
+ exit 0 ;;
+ i*86:*:5:[78]*)
+ case `/bin/uname -X | grep "^Machine"` in
+ *486*) UNAME_MACHINE=i486 ;;
+ *Pentium) UNAME_MACHINE=i586 ;;
+ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
+ esac
+ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
+ exit 0 ;;
+ i*86:*:3.2:*)
+ if test -f /usr/options/cb.name; then
+ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
+ echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
+ elif /bin/uname -X 2>/dev/null >/dev/null ; then
+ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
+ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
+ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
+ && UNAME_MACHINE=i586
+ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
+ && UNAME_MACHINE=i686
+ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
+ && UNAME_MACHINE=i686
+ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
+ else
+ echo ${UNAME_MACHINE}-pc-sysv32
+ fi
+ exit 0 ;;
+ pc:*:*:*)
+ # Left here for compatibility:
+ # uname -m prints for DJGPP always 'pc', but it prints nothing about
+ # the processor, so we play safe by assuming i386.
+ echo i386-pc-msdosdjgpp
+ exit 0 ;;
+ Intel:Mach:3*:*)
+ echo i386-pc-mach3
+ exit 0 ;;
+ paragon:*:*:*)
+ echo i860-intel-osf1
+ exit 0 ;;
+ i860:*:4.*:*) # i860-SVR4
+ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
+ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
+ else # Add other i860-SVR4 vendors below as they are discovered.
+ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
+ fi
+ exit 0 ;;
+ mini*:CTIX:SYS*5:*)
+ # "miniframe"
+ echo m68010-convergent-sysv
+ exit 0 ;;
+ mc68k:UNIX:SYSTEM5:3.51m)
+ echo m68k-convergent-sysv
+ exit 0 ;;
+ M680?0:D-NIX:5.3:*)
+ echo m68k-diab-dnix
+ exit 0 ;;
+ M68*:*:R3V[5678]*:*)
+ test -r /sysV68 && echo 'm68k-motorola-sysv' && exit 0 ;;
+ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
+ OS_REL=''
+ test -r /etc/.relid \
+ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && echo i486-ncr-sysv4.3${OS_REL} && exit 0
+ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
+ && echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
+ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
+ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+ && echo i486-ncr-sysv4 && exit 0 ;;
+ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
+ echo m68k-unknown-lynxos${UNAME_RELEASE}
+ exit 0 ;;
+ mc68030:UNIX_System_V:4.*:*)
+ echo m68k-atari-sysv4
+ exit 0 ;;
+ TSUNAMI:LynxOS:2.*:*)
+ echo sparc-unknown-lynxos${UNAME_RELEASE}
+ exit 0 ;;
+ rs6000:LynxOS:2.*:*)
+ echo rs6000-unknown-lynxos${UNAME_RELEASE}
+ exit 0 ;;
+ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.0*:*)
+ echo powerpc-unknown-lynxos${UNAME_RELEASE}
+ exit 0 ;;
+ SM[BE]S:UNIX_SV:*:*)
+ echo mips-dde-sysv${UNAME_RELEASE}
+ exit 0 ;;
+ RM*:ReliantUNIX-*:*:*)
+ echo mips-sni-sysv4
+ exit 0 ;;
+ RM*:SINIX-*:*:*)
+ echo mips-sni-sysv4
+ exit 0 ;;
+ *:SINIX-*:*:*)
+ if uname -p 2>/dev/null >/dev/null ; then
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ echo ${UNAME_MACHINE}-sni-sysv4
+ else
+ echo ns32k-sni-sysv
+ fi
+ exit 0 ;;
+ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+ # says <Richard.M.Bartel@ccMail.Census.GOV>
+ echo i586-unisys-sysv4
+ exit 0 ;;
+ *:UNIX_System_V:4*:FTX*)
+ # From Gerald Hewes <hewes@openmarket.com>.
+ # How about differentiating between stratus architectures? -djm
+ echo hppa1.1-stratus-sysv4
+ exit 0 ;;
+ *:*:*:FTX*)
+ # From seanf@swdc.stratus.com.
+ echo i860-stratus-sysv4
+ exit 0 ;;
+ *:VOS:*:*)
+ # From Paul.Green@stratus.com.
+ echo hppa1.1-stratus-vos
+ exit 0 ;;
+ mc68*:A/UX:*:*)
+ echo m68k-apple-aux${UNAME_RELEASE}
+ exit 0 ;;
+ news*:NEWS-OS:6*:*)
+ echo mips-sony-newsos6
+ exit 0 ;;
+ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
+ if [ -d /usr/nec ]; then
+ echo mips-nec-sysv${UNAME_RELEASE}
+ else
+ echo mips-unknown-sysv${UNAME_RELEASE}
+ fi
+ exit 0 ;;
+ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
+ echo powerpc-be-beos
+ exit 0 ;;
+ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
+ echo powerpc-apple-beos
+ exit 0 ;;
+ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
+ echo i586-pc-beos
+ exit 0 ;;
+ SX-4:SUPER-UX:*:*)
+ echo sx4-nec-superux${UNAME_RELEASE}
+ exit 0 ;;
+ SX-5:SUPER-UX:*:*)
+ echo sx5-nec-superux${UNAME_RELEASE}
+ exit 0 ;;
+ SX-6:SUPER-UX:*:*)
+ echo sx6-nec-superux${UNAME_RELEASE}
+ exit 0 ;;
+ Power*:Rhapsody:*:*)
+ echo powerpc-apple-rhapsody${UNAME_RELEASE}
+ exit 0 ;;
+ *:Rhapsody:*:*)
+ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
+ exit 0 ;;
+ *:Darwin:*:*)
+ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
+ case $UNAME_PROCESSOR in
+ *86) UNAME_PROCESSOR=i686 ;;
+ unknown) UNAME_PROCESSOR=powerpc ;;
+ esac
+ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
+ exit 0 ;;
+ *:procnto*:*:* | *:QNX:[0123456789]*:*)
+ UNAME_PROCESSOR=`uname -p`
+ if test "$UNAME_PROCESSOR" = "x86"; then
+ UNAME_PROCESSOR=i386
+ UNAME_MACHINE=pc
+ fi
+ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
+ exit 0 ;;
+ *:QNX:*:4*)
+ echo i386-pc-qnx
+ exit 0 ;;
+ NSR-?:NONSTOP_KERNEL:*:*)
+ echo nsr-tandem-nsk${UNAME_RELEASE}
+ exit 0 ;;
+ *:NonStop-UX:*:*)
+ echo mips-compaq-nonstopux
+ exit 0 ;;
+ BS2000:POSIX*:*:*)
+ echo bs2000-siemens-sysv
+ exit 0 ;;
+ DS/*:UNIX_System_V:*:*)
+ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
+ exit 0 ;;
+ *:Plan9:*:*)
+ # "uname -m" is not consistent, so use $cputype instead. 386
+ # is converted to i386 for consistency with other x86
+ # operating systems.
+ if test "$cputype" = "386"; then
+ UNAME_MACHINE=i386
+ else
+ UNAME_MACHINE="$cputype"
+ fi
+ echo ${UNAME_MACHINE}-unknown-plan9
+ exit 0 ;;
+ *:TOPS-10:*:*)
+ echo pdp10-unknown-tops10
+ exit 0 ;;
+ *:TENEX:*:*)
+ echo pdp10-unknown-tenex
+ exit 0 ;;
+ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
+ echo pdp10-dec-tops20
+ exit 0 ;;
+ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
+ echo pdp10-xkl-tops20
+ exit 0 ;;
+ *:TOPS-20:*:*)
+ echo pdp10-unknown-tops20
+ exit 0 ;;
+ *:ITS:*:*)
+ echo pdp10-unknown-its
+ exit 0 ;;
+ SEI:*:*:SEIUX)
+ echo mips-sei-seiux${UNAME_RELEASE}
+ exit 0 ;;
+ *:DragonFly:*:*)
+ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
+ exit 0 ;;
+ *:*VMS:*:*)
+ UNAME_MACHINE=`(uname -p) 2>/dev/null`
+ case "${UNAME_MACHINE}" in
+ A*) echo alpha-dec-vms && exit 0 ;;
+ I*) echo ia64-dec-vms && exit 0 ;;
+ V*) echo vax-dec-vms && exit 0 ;;
+ esac ;;
+ *:XENIX:*:SysV)
+ echo i386-pc-xenix
+ exit 0 ;;
+esac
+
+#echo '(No uname command or uname output not recognized.)' 1>&2
+#echo "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" 1>&2
+
+eval $set_cc_for_build
+cat >$dummy.c <<EOF
+#ifdef _SEQUENT_
+# include <sys/types.h>
+# include <sys/utsname.h>
+#endif
+main ()
+{
+#if defined (sony)
+#if defined (MIPSEB)
+ /* BFD wants "bsd" instead of "newsos". Perhaps BFD should be changed,
+ I don't know.... */
+ printf ("mips-sony-bsd\n"); exit (0);
+#else
+#include <sys/param.h>
+ printf ("m68k-sony-newsos%s\n",
+#ifdef NEWSOS4
+ "4"
+#else
+ ""
+#endif
+ ); exit (0);
+#endif
+#endif
+
+#if defined (__arm) && defined (__acorn) && defined (__unix)
+ printf ("arm-acorn-riscix"); exit (0);
+#endif
+
+#if defined (hp300) && !defined (hpux)
+ printf ("m68k-hp-bsd\n"); exit (0);
+#endif
+
+#if defined (NeXT)
+#if !defined (__ARCHITECTURE__)
+#define __ARCHITECTURE__ "m68k"
+#endif
+ int version;
+ version=`(hostinfo | sed -n 's/.*NeXT Mach \([0-9]*\).*/\1/p') 2>/dev/null`;
+ if (version < 4)
+ printf ("%s-next-nextstep%d\n", __ARCHITECTURE__, version);
+ else
+ printf ("%s-next-openstep%d\n", __ARCHITECTURE__, version);
+ exit (0);
+#endif
+
+#if defined (MULTIMAX) || defined (n16)
+#if defined (UMAXV)
+ printf ("ns32k-encore-sysv\n"); exit (0);
+#else
+#if defined (CMU)
+ printf ("ns32k-encore-mach\n"); exit (0);
+#else
+ printf ("ns32k-encore-bsd\n"); exit (0);
+#endif
+#endif
+#endif
+
+#if defined (__386BSD__)
+ printf ("i386-pc-bsd\n"); exit (0);
+#endif
+
+#if defined (sequent)
+#if defined (i386)
+ printf ("i386-sequent-dynix\n"); exit (0);
+#endif
+#if defined (ns32000)
+ printf ("ns32k-sequent-dynix\n"); exit (0);
+#endif
+#endif
+
+#if defined (_SEQUENT_)
+ struct utsname un;
+
+ uname(&un);
+
+ if (strncmp(un.version, "V2", 2) == 0) {
+ printf ("i386-sequent-ptx2\n"); exit (0);
+ }
+ if (strncmp(un.version, "V1", 2) == 0) { /* XXX is V1 correct? */
+ printf ("i386-sequent-ptx1\n"); exit (0);
+ }
+ printf ("i386-sequent-ptx\n"); exit (0);
+
+#endif
+
+#if defined (vax)
+# if !defined (ultrix)
+# include <sys/param.h>
+# if defined (BSD)
+# if BSD == 43
+ printf ("vax-dec-bsd4.3\n"); exit (0);
+# else
+# if BSD == 199006
+ printf ("vax-dec-bsd4.3reno\n"); exit (0);
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# endif
+# else
+ printf ("vax-dec-bsd\n"); exit (0);
+# endif
+# else
+ printf ("vax-dec-ultrix\n"); exit (0);
+# endif
+#endif
+
+#if defined (alliant) && defined (i860)
+ printf ("i860-alliant-bsd\n"); exit (0);
+#endif
+
+ exit (1);
+}
+EOF
+
+$CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null && $dummy && exit 0
+
+# Apollos put the system type in the environment.
+
+test -d /usr/apollo && { echo ${ISP}-apollo-${SYSTYPE}; exit 0; }
+
+# Convex versions that predate uname can use getsysinfo(1)
+
+if [ -x /usr/convex/getsysinfo ]
+then
+ case `getsysinfo -f cpu_type` in
+ c1*)
+ echo c1-convex-bsd
+ exit 0 ;;
+ c2*)
+ if getsysinfo -f scalar_acc
+ then echo c32-convex-bsd
+ else echo c2-convex-bsd
+ fi
+ exit 0 ;;
+ c34*)
+ echo c34-convex-bsd
+ exit 0 ;;
+ c38*)
+ echo c38-convex-bsd
+ exit 0 ;;
+ c4*)
+ echo c4-convex-bsd
+ exit 0 ;;
+ esac
+fi
+
+cat >&2 <<EOF
+$0: unable to guess system type
+
+This script, last modified $timestamp, has failed to recognize
+the operating system you are using. It is advised that you
+download the most up to date version of the config scripts from
+
+ ftp://ftp.gnu.org/pub/gnu/config/
+
+If the version you run ($0) is already up to date, please
+send the following data and any information you think might be
+pertinent to <config-patches@gnu.org> in order to provide the needed
+information to handle your system.
+
+config.guess timestamp = $timestamp
+
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
+
+hostinfo = `(hostinfo) 2>/dev/null`
+/bin/universe = `(/bin/universe) 2>/dev/null`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
+/bin/arch = `(/bin/arch) 2>/dev/null`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
+
+UNAME_MACHINE = ${UNAME_MACHINE}
+UNAME_RELEASE = ${UNAME_RELEASE}
+UNAME_SYSTEM = ${UNAME_SYSTEM}
+UNAME_VERSION = ${UNAME_VERSION}
+EOF
+
+exit 1
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/config.sub b/config.sub
new file mode 100755
index 0000000..0f84ac2
--- /dev/null
+++ b/config.sub
@@ -0,0 +1,1566 @@
+#! /bin/sh
+# Configuration validation subroutine script.
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
+# 2000, 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
+
+timestamp='2004-11-30'
+
+# This file is (in principle) common to ALL GNU software.
+# The presence of a machine in this file suggests that SOME GNU software
+# can handle that machine. It does not imply ALL GNU software can.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330,
+# Boston, MA 02111-1307, USA.
+
+# As a special exception to the GNU General Public License, if you
+# distribute this file as part of a program that contains a
+# configuration script generated by Autoconf, you may include it under
+# the same distribution terms that you use for the rest of that program.
+
+# Please send patches to <config-patches@gnu.org>. Submit a context
+# diff and a properly formatted ChangeLog entry.
+#
+# Configuration subroutine to validate and canonicalize a configuration type.
+# Supply the specified configuration type as an argument.
+# If it is invalid, we print an error message on stderr and exit with code 1.
+# Otherwise, we print the canonical config type on stdout and succeed.
+
+# This file is supposed to be the same for all GNU packages
+# and recognize all the CPU types, system types and aliases
+# that are meaningful with *any* GNU software.
+# Each package is responsible for reporting which valid configurations
+# it does not support. The user should be able to distinguish
+# a failure to support a valid configuration from a meaningless
+# configuration.
+
+# The goal of this file is to map all the various variations of a given
+# machine specification into a single specification in the form:
+# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
+# or in some cases, the newer four-part form:
+# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
+# It is wrong to echo any other type of specification.
+
+me=`echo "$0" | sed -e 's,.*/,,'`
+
+usage="\
+Usage: $0 [OPTION] CPU-MFR-OPSYS
+ $0 [OPTION] ALIAS
+
+Canonicalize a configuration name.
+
+Operation modes:
+ -h, --help print this help, then exit
+ -t, --time-stamp print date of last modification, then exit
+ -v, --version print version number, then exit
+
+Report bugs and patches to <config-patches@gnu.org>."
+
+version="\
+GNU config.sub ($timestamp)
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004
+Free Software Foundation, Inc.
+
+This is free software; see the source for copying conditions. There is NO
+warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
+
+help="
+Try \`$me --help' for more information."
+
+# Parse command line
+while test $# -gt 0 ; do
+ case $1 in
+ --time-stamp | --time* | -t )
+ echo "$timestamp" ; exit 0 ;;
+ --version | -v )
+ echo "$version" ; exit 0 ;;
+ --help | --h* | -h )
+ echo "$usage"; exit 0 ;;
+ -- ) # Stop option processing
+ shift; break ;;
+ - ) # Use stdin as input.
+ break ;;
+ -* )
+ echo "$me: invalid option $1$help"
+ exit 1 ;;
+
+ *local*)
+ # First pass through any local machine types.
+ echo $1
+ exit 0;;
+
+ * )
+ break ;;
+ esac
+done
+
+case $# in
+ 0) echo "$me: missing argument$help" >&2
+ exit 1;;
+ 1) ;;
+ *) echo "$me: too many arguments$help" >&2
+ exit 1;;
+esac
+
+# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
+# Here we must recognize all the valid KERNEL-OS combinations.
+maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
+case $maybe_os in
+ nto-qnx* | linux-gnu* | linux-dietlibc | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | \
+ kfreebsd*-gnu* | knetbsd*-gnu* | netbsd*-gnu* | storm-chaos* | os2-emx* | rtmk-nova*)
+ os=-$maybe_os
+ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
+ ;;
+ *)
+ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
+ if [ $basic_machine != $1 ]
+ then os=`echo $1 | sed 's/.*-/-/'`
+ else os=; fi
+ ;;
+esac
+
+### Let's recognize common machines as not being operating systems so
+### that things like config.sub decstation-3100 work. We also
+### recognize some manufacturers as not being operating systems, so we
+### can provide default operating systems below.
+case $os in
+ -sun*os*)
+ # Prevent following clause from handling this invalid input.
+ ;;
+ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
+ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
+ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
+ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
+ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
+ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
+ -apple | -axis | -knuth | -cray)
+ os=
+ basic_machine=$1
+ ;;
+ -sim | -cisco | -oki | -wec | -winbond)
+ os=
+ basic_machine=$1
+ ;;
+ -scout)
+ ;;
+ -wrs)
+ os=-vxworks
+ basic_machine=$1
+ ;;
+ -chorusos*)
+ os=-chorusos
+ basic_machine=$1
+ ;;
+ -chorusrdb)
+ os=-chorusrdb
+ basic_machine=$1
+ ;;
+ -hiux*)
+ os=-hiuxwe2
+ ;;
+ -sco5)
+ os=-sco3.2v5
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco4)
+ os=-sco3.2v4
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2.[4-9]*)
+ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco3.2v[4-9]*)
+ # Don't forget version if it is 3.2v4 or newer.
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -sco*)
+ os=-sco3.2v2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -udk*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -isc)
+ os=-isc2.2
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -clix*)
+ basic_machine=clipper-intergraph
+ ;;
+ -isc*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
+ ;;
+ -lynx*)
+ os=-lynxos
+ ;;
+ -ptx*)
+ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
+ ;;
+ -windowsnt*)
+ os=`echo $os | sed -e 's/windowsnt/winnt/'`
+ ;;
+ -psos*)
+ os=-psos
+ ;;
+ -mint | -mint[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+esac
+
+# Decode aliases for certain CPU-COMPANY combinations.
+case $basic_machine in
+ # Recognize the basic CPU types without company name.
+ # Some are omitted here because they have special meanings below.
+ 1750a | 580 \
+ | a29k \
+ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
+ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
+ | am33_2.0 \
+ | arc | arm | arm[bl]e | arme[lb] | armv[2345] | armv[345][lb] | avr \
+ | c4x | clipper \
+ | d10v | d30v | dlx | dsp16xx \
+ | fr30 | frv \
+ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
+ | i370 | i860 | i960 | ia64 \
+ | ip2k | iq2000 \
+ | m32r | m32rle | m68000 | m68k | m88k | mcore \
+ | mips | mipsbe | mipseb | mipsel | mipsle \
+ | mips16 \
+ | mips64 | mips64el \
+ | mips64vr | mips64vrel \
+ | mips64orion | mips64orionel \
+ | mips64vr4100 | mips64vr4100el \
+ | mips64vr4300 | mips64vr4300el \
+ | mips64vr5000 | mips64vr5000el \
+ | mipsisa32 | mipsisa32el \
+ | mipsisa32r2 | mipsisa32r2el \
+ | mipsisa64 | mipsisa64el \
+ | mipsisa64r2 | mipsisa64r2el \
+ | mipsisa64sb1 | mipsisa64sb1el \
+ | mipsisa64sr71k | mipsisa64sr71kel \
+ | mipstx39 | mipstx39el \
+ | mn10200 | mn10300 \
+ | msp430 \
+ | ns16k | ns32k \
+ | openrisc | or32 \
+ | pdp10 | pdp11 | pj | pjl \
+ | powerpc | powerpc64 | powerpc64le | powerpcle | ppcbe \
+ | pyramid \
+ | sh | sh[1234] | sh[23]e | sh[34]eb | shbe | shle | sh[1234]le | sh3ele \
+ | sh64 | sh64le \
+ | sparc | sparc64 | sparc86x | sparclet | sparclite | sparcv8 | sparcv9 | sparcv9b \
+ | strongarm \
+ | tahoe | thumb | tic4x | tic80 | tron \
+ | v850 | v850e \
+ | we32k \
+ | x86 | xscale | xscalee[bl] | xstormy16 | xtensa \
+ | z8k)
+ basic_machine=$basic_machine-unknown
+ ;;
+ m6811 | m68hc11 | m6812 | m68hc12)
+ # Motorola 68HC11/12.
+ basic_machine=$basic_machine-unknown
+ os=-none
+ ;;
+ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
+ ;;
+
+ # We use `pc' rather than `unknown'
+ # because (1) that's what they normally are, and
+ # (2) the word "unknown" tends to confuse beginning users.
+ i*86 | x86_64)
+ basic_machine=$basic_machine-pc
+ ;;
+ # Object if more than one company name word.
+ *-*-*)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+ # Recognize the basic CPU types with company name.
+ 580-* \
+ | a29k-* \
+ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
+ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
+ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* \
+ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
+ | avr-* \
+ | bs2000-* \
+ | c[123]* | c30-* | [cjt]90-* | c4x-* | c54x-* | c55x-* | c6x-* \
+ | clipper-* | craynv-* | cydra-* \
+ | d10v-* | d30v-* | dlx-* \
+ | elxsi-* \
+ | f30[01]-* | f700-* | fr30-* | frv-* | fx80-* \
+ | h8300-* | h8500-* \
+ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
+ | i*86-* | i860-* | i960-* | ia64-* \
+ | ip2k-* | iq2000-* \
+ | m32r-* | m32rle-* \
+ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
+ | m88110-* | m88k-* | mcore-* \
+ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
+ | mips16-* \
+ | mips64-* | mips64el-* \
+ | mips64vr-* | mips64vrel-* \
+ | mips64orion-* | mips64orionel-* \
+ | mips64vr4100-* | mips64vr4100el-* \
+ | mips64vr4300-* | mips64vr4300el-* \
+ | mips64vr5000-* | mips64vr5000el-* \
+ | mipsisa32-* | mipsisa32el-* \
+ | mipsisa32r2-* | mipsisa32r2el-* \
+ | mipsisa64-* | mipsisa64el-* \
+ | mipsisa64r2-* | mipsisa64r2el-* \
+ | mipsisa64sb1-* | mipsisa64sb1el-* \
+ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
+ | mipstx39-* | mipstx39el-* \
+ | mmix-* \
+ | msp430-* \
+ | none-* | np1-* | ns16k-* | ns32k-* \
+ | orion-* \
+ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
+ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* | ppcbe-* \
+ | pyramid-* \
+ | romp-* | rs6000-* \
+ | sh-* | sh[1234]-* | sh[23]e-* | sh[34]eb-* | shbe-* \
+ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
+ | sparc-* | sparc64-* | sparc86x-* | sparclet-* | sparclite-* \
+ | sparcv8-* | sparcv9-* | sparcv9b-* | strongarm-* | sv1-* | sx?-* \
+ | tahoe-* | thumb-* \
+ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
+ | tron-* \
+ | v850-* | v850e-* | vax-* \
+ | we32k-* \
+ | x86-* | x86_64-* | xps100-* | xscale-* | xscalee[bl]-* \
+ | xstormy16-* | xtensa-* \
+ | ymp-* \
+ | z8k-*)
+ ;;
+ # Recognize the various machine names and aliases which stand
+ # for a CPU type and a company and sometimes even an OS.
+ 386bsd)
+ basic_machine=i386-unknown
+ os=-bsd
+ ;;
+ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
+ basic_machine=m68000-att
+ ;;
+ 3b*)
+ basic_machine=we32k-att
+ ;;
+ a29khif)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ abacus)
+ basic_machine=abacus-unknown
+ ;;
+ adobe68k)
+ basic_machine=m68010-adobe
+ os=-scout
+ ;;
+ alliant | fx80)
+ basic_machine=fx80-alliant
+ ;;
+ altos | altos3068)
+ basic_machine=m68k-altos
+ ;;
+ am29k)
+ basic_machine=a29k-none
+ os=-bsd
+ ;;
+ amd64)
+ basic_machine=x86_64-pc
+ ;;
+ amd64-*)
+ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ amdahl)
+ basic_machine=580-amdahl
+ os=-sysv
+ ;;
+ amiga | amiga-*)
+ basic_machine=m68k-unknown
+ ;;
+ amigaos | amigados)
+ basic_machine=m68k-unknown
+ os=-amigaos
+ ;;
+ amigaunix | amix)
+ basic_machine=m68k-unknown
+ os=-sysv4
+ ;;
+ apollo68)
+ basic_machine=m68k-apollo
+ os=-sysv
+ ;;
+ apollo68bsd)
+ basic_machine=m68k-apollo
+ os=-bsd
+ ;;
+ aux)
+ basic_machine=m68k-apple
+ os=-aux
+ ;;
+ balance)
+ basic_machine=ns32k-sequent
+ os=-dynix
+ ;;
+ c90)
+ basic_machine=c90-cray
+ os=-unicos
+ ;;
+ convex-c1)
+ basic_machine=c1-convex
+ os=-bsd
+ ;;
+ convex-c2)
+ basic_machine=c2-convex
+ os=-bsd
+ ;;
+ convex-c32)
+ basic_machine=c32-convex
+ os=-bsd
+ ;;
+ convex-c34)
+ basic_machine=c34-convex
+ os=-bsd
+ ;;
+ convex-c38)
+ basic_machine=c38-convex
+ os=-bsd
+ ;;
+ cray | j90)
+ basic_machine=j90-cray
+ os=-unicos
+ ;;
+ craynv)
+ basic_machine=craynv-cray
+ os=-unicosmp
+ ;;
+ cr16c)
+ basic_machine=cr16c-unknown
+ os=-elf
+ ;;
+ crds | unos)
+ basic_machine=m68k-crds
+ ;;
+ crisv32 | crisv32-* | etraxfs*)
+ basic_machine=crisv32-axis
+ ;;
+ cris | cris-* | etrax*)
+ basic_machine=cris-axis
+ ;;
+ crx)
+ basic_machine=crx-unknown
+ os=-elf
+ ;;
+ da30 | da30-*)
+ basic_machine=m68k-da30
+ ;;
+ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
+ basic_machine=mips-dec
+ ;;
+ decsystem10* | dec10*)
+ basic_machine=pdp10-dec
+ os=-tops10
+ ;;
+ decsystem20* | dec20*)
+ basic_machine=pdp10-dec
+ os=-tops20
+ ;;
+ delta | 3300 | motorola-3300 | motorola-delta \
+ | 3300-motorola | delta-motorola)
+ basic_machine=m68k-motorola
+ ;;
+ delta88)
+ basic_machine=m88k-motorola
+ os=-sysv3
+ ;;
+ djgpp)
+ basic_machine=i586-pc
+ os=-msdosdjgpp
+ ;;
+ dpx20 | dpx20-*)
+ basic_machine=rs6000-bull
+ os=-bosx
+ ;;
+ dpx2* | dpx2*-bull)
+ basic_machine=m68k-bull
+ os=-sysv3
+ ;;
+ ebmon29k)
+ basic_machine=a29k-amd
+ os=-ebmon
+ ;;
+ elxsi)
+ basic_machine=elxsi-elxsi
+ os=-bsd
+ ;;
+ encore | umax | mmax)
+ basic_machine=ns32k-encore
+ ;;
+ es1800 | OSE68k | ose68k | ose | OSE)
+ basic_machine=m68k-ericsson
+ os=-ose
+ ;;
+ fx2800)
+ basic_machine=i860-alliant
+ ;;
+ genix)
+ basic_machine=ns32k-ns
+ ;;
+ gmicro)
+ basic_machine=tron-gmicro
+ os=-sysv
+ ;;
+ go32)
+ basic_machine=i386-pc
+ os=-go32
+ ;;
+ h3050r* | hiux*)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ h8300hms)
+ basic_machine=h8300-hitachi
+ os=-hms
+ ;;
+ h8300xray)
+ basic_machine=h8300-hitachi
+ os=-xray
+ ;;
+ h8500hms)
+ basic_machine=h8500-hitachi
+ os=-hms
+ ;;
+ harris)
+ basic_machine=m88k-harris
+ os=-sysv3
+ ;;
+ hp300-*)
+ basic_machine=m68k-hp
+ ;;
+ hp300bsd)
+ basic_machine=m68k-hp
+ os=-bsd
+ ;;
+ hp300hpux)
+ basic_machine=m68k-hp
+ os=-hpux
+ ;;
+ hp3k9[0-9][0-9] | hp9[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k2[0-9][0-9] | hp9k31[0-9])
+ basic_machine=m68000-hp
+ ;;
+ hp9k3[2-9][0-9])
+ basic_machine=m68k-hp
+ ;;
+ hp9k6[0-9][0-9] | hp6[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hp9k7[0-79][0-9] | hp7[0-79][0-9])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k78[0-9] | hp78[0-9])
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
+ # FIXME: really hppa2.0-hp
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][13679] | hp8[0-9][13679])
+ basic_machine=hppa1.1-hp
+ ;;
+ hp9k8[0-9][0-9] | hp8[0-9][0-9])
+ basic_machine=hppa1.0-hp
+ ;;
+ hppa-next)
+ os=-nextstep3
+ ;;
+ hppaosf)
+ basic_machine=hppa1.1-hp
+ os=-osf
+ ;;
+ hppro)
+ basic_machine=hppa1.1-hp
+ os=-proelf
+ ;;
+ i370-ibm* | ibm*)
+ basic_machine=i370-ibm
+ ;;
+# I'm not sure what "Sysv32" means. Should this be sysv3.2?
+ i*86v32)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv32
+ ;;
+ i*86v4*)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv4
+ ;;
+ i*86v)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-sysv
+ ;;
+ i*86sol2)
+ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
+ os=-solaris2
+ ;;
+ i386mach)
+ basic_machine=i386-mach
+ os=-mach
+ ;;
+ i386-vsta | vsta)
+ basic_machine=i386-unknown
+ os=-vsta
+ ;;
+ iris | iris4d)
+ basic_machine=mips-sgi
+ case $os in
+ -irix*)
+ ;;
+ *)
+ os=-irix4
+ ;;
+ esac
+ ;;
+ isi68 | isi)
+ basic_machine=m68k-isi
+ os=-sysv
+ ;;
+ m88k-omron*)
+ basic_machine=m88k-omron
+ ;;
+ magnum | m3230)
+ basic_machine=mips-mips
+ os=-sysv
+ ;;
+ merlin)
+ basic_machine=ns32k-utek
+ os=-sysv
+ ;;
+ mingw32)
+ basic_machine=i386-pc
+ os=-mingw32
+ ;;
+ miniframe)
+ basic_machine=m68000-convergent
+ ;;
+ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
+ basic_machine=m68k-atari
+ os=-mint
+ ;;
+ mips3*-*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
+ ;;
+ mips3*)
+ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
+ ;;
+ monitor)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ morphos)
+ basic_machine=powerpc-unknown
+ os=-morphos
+ ;;
+ msdos)
+ basic_machine=i386-pc
+ os=-msdos
+ ;;
+ mvs)
+ basic_machine=i370-ibm
+ os=-mvs
+ ;;
+ ncr3000)
+ basic_machine=i486-ncr
+ os=-sysv4
+ ;;
+ netbsd386)
+ basic_machine=i386-unknown
+ os=-netbsd
+ ;;
+ netwinder)
+ basic_machine=armv4l-rebel
+ os=-linux
+ ;;
+ news | news700 | news800 | news900)
+ basic_machine=m68k-sony
+ os=-newsos
+ ;;
+ news1000)
+ basic_machine=m68030-sony
+ os=-newsos
+ ;;
+ news-3600 | risc-news)
+ basic_machine=mips-sony
+ os=-newsos
+ ;;
+ necv70)
+ basic_machine=v70-nec
+ os=-sysv
+ ;;
+ next | m*-next )
+ basic_machine=m68k-next
+ case $os in
+ -nextstep* )
+ ;;
+ -ns2*)
+ os=-nextstep2
+ ;;
+ *)
+ os=-nextstep3
+ ;;
+ esac
+ ;;
+ nh3000)
+ basic_machine=m68k-harris
+ os=-cxux
+ ;;
+ nh[45]000)
+ basic_machine=m88k-harris
+ os=-cxux
+ ;;
+ nindy960)
+ basic_machine=i960-intel
+ os=-nindy
+ ;;
+ mon960)
+ basic_machine=i960-intel
+ os=-mon960
+ ;;
+ nonstopux)
+ basic_machine=mips-compaq
+ os=-nonstopux
+ ;;
+ np1)
+ basic_machine=np1-gould
+ ;;
+ nsr-tandem)
+ basic_machine=nsr-tandem
+ ;;
+ op50n-* | op60c-*)
+ basic_machine=hppa1.1-oki
+ os=-proelf
+ ;;
+ or32 | or32-*)
+ basic_machine=or32-unknown
+ os=-coff
+ ;;
+ os400)
+ basic_machine=powerpc-ibm
+ os=-os400
+ ;;
+ OSE68000 | ose68000)
+ basic_machine=m68000-ericsson
+ os=-ose
+ ;;
+ os68k)
+ basic_machine=m68k-none
+ os=-os68k
+ ;;
+ pa-hitachi)
+ basic_machine=hppa1.1-hitachi
+ os=-hiuxwe2
+ ;;
+ paragon)
+ basic_machine=i860-intel
+ os=-osf
+ ;;
+ pbd)
+ basic_machine=sparc-tti
+ ;;
+ pbb)
+ basic_machine=m68k-tti
+ ;;
+ pc532 | pc532-*)
+ basic_machine=ns32k-pc532
+ ;;
+ pentium | p5 | k5 | k6 | nexgen | viac3)
+ basic_machine=i586-pc
+ ;;
+ pentiumpro | p6 | 6x86 | athlon | athlon_*)
+ basic_machine=i686-pc
+ ;;
+ pentiumii | pentium2 | pentiumiii | pentium3)
+ basic_machine=i686-pc
+ ;;
+ pentium4)
+ basic_machine=i786-pc
+ ;;
+ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
+ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumpro-* | p6-* | 6x86-* | athlon-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
+ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pentium4-*)
+ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ pn)
+ basic_machine=pn-gould
+ ;;
+ power) basic_machine=power-ibm
+ ;;
+ ppc) basic_machine=powerpc-unknown
+ ;;
+ ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppcle | powerpclittle | ppc-le | powerpc-little)
+ basic_machine=powerpcle-unknown
+ ;;
+ ppcle-* | powerpclittle-*)
+ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64) basic_machine=powerpc64-unknown
+ ;;
+ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ppc64le | powerpc64little | ppc64-le | powerpc64-little)
+ basic_machine=powerpc64le-unknown
+ ;;
+ ppc64le-* | powerpc64little-*)
+ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
+ ;;
+ ps2)
+ basic_machine=i386-ibm
+ ;;
+ pw32)
+ basic_machine=i586-unknown
+ os=-pw32
+ ;;
+ rom68k)
+ basic_machine=m68k-rom68k
+ os=-coff
+ ;;
+ rm[46]00)
+ basic_machine=mips-siemens
+ ;;
+ rtpc | rtpc-*)
+ basic_machine=romp-ibm
+ ;;
+ s390 | s390-*)
+ basic_machine=s390-ibm
+ ;;
+ s390x | s390x-*)
+ basic_machine=s390x-ibm
+ ;;
+ sa29200)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ sb1)
+ basic_machine=mipsisa64sb1-unknown
+ ;;
+ sb1el)
+ basic_machine=mipsisa64sb1el-unknown
+ ;;
+ sei)
+ basic_machine=mips-sei
+ os=-seiux
+ ;;
+ sequent)
+ basic_machine=i386-sequent
+ ;;
+ sh)
+ basic_machine=sh-hitachi
+ os=-hms
+ ;;
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
+ sparclite-wrs | simso-wrs)
+ basic_machine=sparclite-wrs
+ os=-vxworks
+ ;;
+ sps7)
+ basic_machine=m68k-bull
+ os=-sysv2
+ ;;
+ spur)
+ basic_machine=spur-unknown
+ ;;
+ st2000)
+ basic_machine=m68k-tandem
+ ;;
+ stratus)
+ basic_machine=i860-stratus
+ os=-sysv4
+ ;;
+ sun2)
+ basic_machine=m68000-sun
+ ;;
+ sun2os3)
+ basic_machine=m68000-sun
+ os=-sunos3
+ ;;
+ sun2os4)
+ basic_machine=m68000-sun
+ os=-sunos4
+ ;;
+ sun3os3)
+ basic_machine=m68k-sun
+ os=-sunos3
+ ;;
+ sun3os4)
+ basic_machine=m68k-sun
+ os=-sunos4
+ ;;
+ sun4os3)
+ basic_machine=sparc-sun
+ os=-sunos3
+ ;;
+ sun4os4)
+ basic_machine=sparc-sun
+ os=-sunos4
+ ;;
+ sun4sol2)
+ basic_machine=sparc-sun
+ os=-solaris2
+ ;;
+ sun3 | sun3-*)
+ basic_machine=m68k-sun
+ ;;
+ sun4)
+ basic_machine=sparc-sun
+ ;;
+ sun386 | sun386i | roadrunner)
+ basic_machine=i386-sun
+ ;;
+ sv1)
+ basic_machine=sv1-cray
+ os=-unicos
+ ;;
+ symmetry)
+ basic_machine=i386-sequent
+ os=-dynix
+ ;;
+ t3e)
+ basic_machine=alphaev5-cray
+ os=-unicos
+ ;;
+ t90)
+ basic_machine=t90-cray
+ os=-unicos
+ ;;
+ tic54x | c54x*)
+ basic_machine=tic54x-unknown
+ os=-coff
+ ;;
+ tic55x | c55x*)
+ basic_machine=tic55x-unknown
+ os=-coff
+ ;;
+ tic6x | c6x*)
+ basic_machine=tic6x-unknown
+ os=-coff
+ ;;
+ tx39)
+ basic_machine=mipstx39-unknown
+ ;;
+ tx39el)
+ basic_machine=mipstx39el-unknown
+ ;;
+ toad1)
+ basic_machine=pdp10-xkl
+ os=-tops20
+ ;;
+ tower | tower-32)
+ basic_machine=m68k-ncr
+ ;;
+ tpf)
+ basic_machine=s390x-ibm
+ os=-tpf
+ ;;
+ udi29k)
+ basic_machine=a29k-amd
+ os=-udi
+ ;;
+ ultra3)
+ basic_machine=a29k-nyu
+ os=-sym1
+ ;;
+ v810 | necv810)
+ basic_machine=v810-nec
+ os=-none
+ ;;
+ vaxv)
+ basic_machine=vax-dec
+ os=-sysv
+ ;;
+ vms)
+ basic_machine=vax-dec
+ os=-vms
+ ;;
+ vpp*|vx|vx-*)
+ basic_machine=f301-fujitsu
+ ;;
+ vxworks960)
+ basic_machine=i960-wrs
+ os=-vxworks
+ ;;
+ vxworks68)
+ basic_machine=m68k-wrs
+ os=-vxworks
+ ;;
+ vxworks29k)
+ basic_machine=a29k-wrs
+ os=-vxworks
+ ;;
+ w65*)
+ basic_machine=w65-wdc
+ os=-none
+ ;;
+ w89k-*)
+ basic_machine=hppa1.1-winbond
+ os=-proelf
+ ;;
+ xbox)
+ basic_machine=i686-pc
+ os=-mingw32
+ ;;
+ xps | xps100)
+ basic_machine=xps100-honeywell
+ ;;
+ ymp)
+ basic_machine=ymp-cray
+ os=-unicos
+ ;;
+ z8k-*-coff)
+ basic_machine=z8k-unknown
+ os=-sim
+ ;;
+ none)
+ basic_machine=none-none
+ os=-none
+ ;;
+
+# Here we handle the default manufacturer of certain CPU types. It is in
+# some cases the only manufacturer, in others, it is the most popular.
+ w89k)
+ basic_machine=hppa1.1-winbond
+ ;;
+ op50n)
+ basic_machine=hppa1.1-oki
+ ;;
+ op60c)
+ basic_machine=hppa1.1-oki
+ ;;
+ romp)
+ basic_machine=romp-ibm
+ ;;
+ mmix)
+ basic_machine=mmix-knuth
+ ;;
+ rs6000)
+ basic_machine=rs6000-ibm
+ ;;
+ vax)
+ basic_machine=vax-dec
+ ;;
+ pdp10)
+ # there are many clones, so DEC is not a safe bet
+ basic_machine=pdp10-unknown
+ ;;
+ pdp11)
+ basic_machine=pdp11-dec
+ ;;
+ we32k)
+ basic_machine=we32k-att
+ ;;
+ sh3 | sh4 | sh[34]eb | sh[1234]le | sh[23]ele)
+ basic_machine=sh-unknown
+ ;;
+ sh64)
+ basic_machine=sh64-unknown
+ ;;
+ sparc | sparcv8 | sparcv9 | sparcv9b)
+ basic_machine=sparc-sun
+ ;;
+ cydra)
+ basic_machine=cydra-cydrome
+ ;;
+ orion)
+ basic_machine=orion-highlevel
+ ;;
+ orion105)
+ basic_machine=clipper-highlevel
+ ;;
+ mac | mpw | mac-mpw)
+ basic_machine=m68k-apple
+ ;;
+ pmac | pmac-mpw)
+ basic_machine=powerpc-apple
+ ;;
+ *-unknown)
+ # Make sure to match an already-canonicalized machine name.
+ ;;
+ *)
+ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+
+# Here we canonicalize certain aliases for manufacturers.
+case $basic_machine in
+ *-digital*)
+ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
+ ;;
+ *-commodore*)
+ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
+ ;;
+ *)
+ ;;
+esac
+
+# Decode manufacturer-specific aliases for certain operating systems.
+
+if [ x"$os" != x"" ]
+then
+case $os in
+ # First match some system type aliases
+ # that might get confused with valid system types.
+ # -solaris* is a basic system type, with this one exception.
+ -solaris1 | -solaris1.*)
+ os=`echo $os | sed -e 's|solaris1|sunos4|'`
+ ;;
+ -solaris)
+ os=-solaris2
+ ;;
+ -svr4*)
+ os=-sysv4
+ ;;
+ -unixware*)
+ os=-sysv4.2uw
+ ;;
+ -gnu/linux*)
+ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
+ ;;
+ # First accept the basic system types.
+ # The portable systems comes first.
+ # Each alternative MUST END IN A *, to match a version number.
+ # -sysv* is not here because it comes later, after sysvr4.
+ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
+ | -*vms* | -sco* | -esix* | -isc* | -aix* | -sunos | -sunos[34]*\
+ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -solaris* | -sym* \
+ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
+ | -aos* \
+ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
+ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
+ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* | -openbsd* \
+ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
+ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
+ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
+ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
+ | -chorusos* | -chorusrdb* \
+ | -cygwin* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
+ | -mingw32* | -linux-gnu* | -linux-uclibc* | -uxpv* | -beos* | -mpeix* | -udk* \
+ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
+ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
+ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
+ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
+ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
+ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly*)
+ # Remember, each alternative MUST END IN *, to match a version number.
+ ;;
+ -qnx*)
+ case $basic_machine in
+ x86-* | i*86-*)
+ ;;
+ *)
+ os=-nto$os
+ ;;
+ esac
+ ;;
+ -nto-qnx*)
+ ;;
+ -nto*)
+ os=`echo $os | sed -e 's|nto|nto-qnx|'`
+ ;;
+ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
+ | -windows* | -osx | -abug | -netware* | -os9* | -beos* \
+ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
+ ;;
+ -mac*)
+ os=`echo $os | sed -e 's|mac|macos|'`
+ ;;
+ -linux-dietlibc)
+ os=-linux-dietlibc
+ ;;
+ -linux*)
+ os=`echo $os | sed -e 's|linux|linux-gnu|'`
+ ;;
+ -sunos5*)
+ os=`echo $os | sed -e 's|sunos5|solaris2|'`
+ ;;
+ -sunos6*)
+ os=`echo $os | sed -e 's|sunos6|solaris3|'`
+ ;;
+ -opened*)
+ os=-openedition
+ ;;
+ -os400*)
+ os=-os400
+ ;;
+ -wince*)
+ os=-wince
+ ;;
+ -osfrose*)
+ os=-osfrose
+ ;;
+ -osf*)
+ os=-osf
+ ;;
+ -utek*)
+ os=-bsd
+ ;;
+ -dynix*)
+ os=-bsd
+ ;;
+ -acis*)
+ os=-aos
+ ;;
+ -atheos*)
+ os=-atheos
+ ;;
+ -syllable*)
+ os=-syllable
+ ;;
+ -386bsd)
+ os=-bsd
+ ;;
+ -ctix* | -uts*)
+ os=-sysv
+ ;;
+ -nova*)
+ os=-rtmk-nova
+ ;;
+ -ns2 )
+ os=-nextstep2
+ ;;
+ -nsk*)
+ os=-nsk
+ ;;
+ # Preserve the version number of sinix5.
+ -sinix5.*)
+ os=`echo $os | sed -e 's|sinix|sysv|'`
+ ;;
+ -sinix*)
+ os=-sysv4
+ ;;
+ -tpf*)
+ os=-tpf
+ ;;
+ -triton*)
+ os=-sysv3
+ ;;
+ -oss*)
+ os=-sysv3
+ ;;
+ -svr4)
+ os=-sysv4
+ ;;
+ -svr3)
+ os=-sysv3
+ ;;
+ -sysvr4)
+ os=-sysv4
+ ;;
+ # This must come after -sysvr4.
+ -sysv*)
+ ;;
+ -ose*)
+ os=-ose
+ ;;
+ -es1800*)
+ os=-ose
+ ;;
+ -xenix)
+ os=-xenix
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ os=-mint
+ ;;
+ -aros*)
+ os=-aros
+ ;;
+ -kaos*)
+ os=-kaos
+ ;;
+ -zvmoe)
+ os=-zvmoe
+ ;;
+ -none)
+ ;;
+ *)
+ # Get rid of the `-' at the beginning of $os.
+ os=`echo $os | sed 's/[^-]*-//'`
+ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
+ exit 1
+ ;;
+esac
+else
+
+# Here we handle the default operating systems that come with various machines.
+# The value should be what the vendor currently ships out the door with their
+# machine or put another way, the most popular os provided with the machine.
+
+# Note that if you're going to try to match "-MANUFACTURER" here (say,
+# "-sun"), then you have to tell the case statement up towards the top
+# that MANUFACTURER isn't an operating system. Otherwise, code above
+# will signal an error saying that MANUFACTURER isn't an operating
+# system, and we'll never get to this point.
+
+case $basic_machine in
+ *-acorn)
+ os=-riscix1.2
+ ;;
+ arm*-rebel)
+ os=-linux
+ ;;
+ arm*-semi)
+ os=-aout
+ ;;
+ c4x-* | tic4x-*)
+ os=-coff
+ ;;
+ # This must come before the *-dec entry.
+ pdp10-*)
+ os=-tops20
+ ;;
+ pdp11-*)
+ os=-none
+ ;;
+ *-dec | vax-*)
+ os=-ultrix4.2
+ ;;
+ m68*-apollo)
+ os=-domain
+ ;;
+ i386-sun)
+ os=-sunos4.0.2
+ ;;
+ m68000-sun)
+ os=-sunos3
+ # This also exists in the configure program, but was not the
+ # default.
+ # os=-sunos4
+ ;;
+ m68*-cisco)
+ os=-aout
+ ;;
+ mips*-cisco)
+ os=-elf
+ ;;
+ mips*-*)
+ os=-elf
+ ;;
+ or32-*)
+ os=-coff
+ ;;
+ *-tti) # must be before sparc entry or we get the wrong os.
+ os=-sysv3
+ ;;
+ sparc-* | *-sun)
+ os=-sunos4.1.1
+ ;;
+ *-be)
+ os=-beos
+ ;;
+ *-ibm)
+ os=-aix
+ ;;
+ *-knuth)
+ os=-mmixware
+ ;;
+ *-wec)
+ os=-proelf
+ ;;
+ *-winbond)
+ os=-proelf
+ ;;
+ *-oki)
+ os=-proelf
+ ;;
+ *-hp)
+ os=-hpux
+ ;;
+ *-hitachi)
+ os=-hiux
+ ;;
+ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
+ os=-sysv
+ ;;
+ *-cbm)
+ os=-amigaos
+ ;;
+ *-dg)
+ os=-dgux
+ ;;
+ *-dolphin)
+ os=-sysv3
+ ;;
+ m68k-ccur)
+ os=-rtu
+ ;;
+ m88k-omron*)
+ os=-luna
+ ;;
+ *-next )
+ os=-nextstep
+ ;;
+ *-sequent)
+ os=-ptx
+ ;;
+ *-crds)
+ os=-unos
+ ;;
+ *-ns)
+ os=-genix
+ ;;
+ i370-*)
+ os=-mvs
+ ;;
+ *-next)
+ os=-nextstep3
+ ;;
+ *-gould)
+ os=-sysv
+ ;;
+ *-highlevel)
+ os=-bsd
+ ;;
+ *-encore)
+ os=-bsd
+ ;;
+ *-sgi)
+ os=-irix
+ ;;
+ *-siemens)
+ os=-sysv4
+ ;;
+ *-masscomp)
+ os=-rtu
+ ;;
+ f30[01]-fujitsu | f700-fujitsu)
+ os=-uxpv
+ ;;
+ *-rom68k)
+ os=-coff
+ ;;
+ *-*bug)
+ os=-coff
+ ;;
+ *-apple)
+ os=-macos
+ ;;
+ *-atari*)
+ os=-mint
+ ;;
+ *)
+ os=-none
+ ;;
+esac
+fi
+
+# Here we handle the case where we know the os, and the CPU type, but not the
+# manufacturer. We pick the logical manufacturer.
+vendor=unknown
+case $basic_machine in
+ *-unknown)
+ case $os in
+ -riscix*)
+ vendor=acorn
+ ;;
+ -sunos*)
+ vendor=sun
+ ;;
+ -aix*)
+ vendor=ibm
+ ;;
+ -beos*)
+ vendor=be
+ ;;
+ -hpux*)
+ vendor=hp
+ ;;
+ -mpeix*)
+ vendor=hp
+ ;;
+ -hiux*)
+ vendor=hitachi
+ ;;
+ -unos*)
+ vendor=crds
+ ;;
+ -dgux*)
+ vendor=dg
+ ;;
+ -luna*)
+ vendor=omron
+ ;;
+ -genix*)
+ vendor=ns
+ ;;
+ -mvs* | -opened*)
+ vendor=ibm
+ ;;
+ -os400*)
+ vendor=ibm
+ ;;
+ -ptx*)
+ vendor=sequent
+ ;;
+ -tpf*)
+ vendor=ibm
+ ;;
+ -vxsim* | -vxworks* | -windiss*)
+ vendor=wrs
+ ;;
+ -aux*)
+ vendor=apple
+ ;;
+ -hms*)
+ vendor=hitachi
+ ;;
+ -mpw* | -macos*)
+ vendor=apple
+ ;;
+ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
+ vendor=atari
+ ;;
+ -vos*)
+ vendor=stratus
+ ;;
+ esac
+ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
+ ;;
+esac
+
+echo $basic_machine$os
+exit 0
+
+# Local variables:
+# eval: (add-hook 'write-file-hooks 'time-stamp)
+# time-stamp-start: "timestamp='"
+# time-stamp-format: "%:y-%02m-%02d"
+# time-stamp-end: "'"
+# End:
diff --git a/configure b/configure
new file mode 100755
index 0000000..b592be0
--- /dev/null
+++ b/configure
@@ -0,0 +1,3343 @@
+#! /bin/sh
+# Guess values for system-dependent variables and create Makefiles.
+# Generated by GNU Autoconf 2.61.
+#
+# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+# 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+# This configure script is free software; the Free Software Foundation
+# gives unlimited permission to copy, distribute and modify it.
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+if test "x$CONFIG_SHELL" = x; then
+ if (eval ":") 2>/dev/null; then
+ as_have_required=yes
+else
+ as_have_required=no
+fi
+
+ if test $as_have_required = yes && (eval ":
+(as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=\$LINENO
+ as_lineno_2=\$LINENO
+ test \"x\$as_lineno_1\" != \"x\$as_lineno_2\" &&
+ test \"x\`expr \$as_lineno_1 + 1\`\" = \"x\$as_lineno_2\") || { (exit 1); exit 1; }
+") 2> /dev/null; then
+ :
+else
+ as_candidate_shells=
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ case $as_dir in
+ /*)
+ for as_base in sh bash ksh sh5; do
+ as_candidate_shells="$as_candidate_shells $as_dir/$as_base"
+ done;;
+ esac
+done
+IFS=$as_save_IFS
+
+
+ for as_shell in $as_candidate_shells $SHELL; do
+ # Try only shells that exist, to save several forks.
+ if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
+ { ("$as_shell") 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+_ASEOF
+}; then
+ CONFIG_SHELL=$as_shell
+ as_have_required=yes
+ if { "$as_shell" 2> /dev/null <<\_ASEOF
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+:
+(as_func_return () {
+ (exit $1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = "$1" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test $exitcode = 0) || { (exit 1); exit 1; }
+
+(
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2") || { (exit 1); exit 1; }
+
+_ASEOF
+}; then
+ break
+fi
+
+fi
+
+ done
+
+ if test "x$CONFIG_SHELL" != x; then
+ for as_var in BASH_ENV ENV
+ do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ done
+ export CONFIG_SHELL
+ exec "$CONFIG_SHELL" "$as_myself" ${1+"$@"}
+fi
+
+
+ if test $as_have_required = no; then
+ echo This script requires a shell more modern than all the
+ echo shells that I found on your system. Please install a
+ echo modern shell, or manually run the script under such a
+ echo shell if you do have one.
+ { (exit 1); exit 1; }
+fi
+
+
+fi
+
+fi
+
+
+
+(eval "as_func_return () {
+ (exit \$1)
+}
+as_func_success () {
+ as_func_return 0
+}
+as_func_failure () {
+ as_func_return 1
+}
+as_func_ret_success () {
+ return 0
+}
+as_func_ret_failure () {
+ return 1
+}
+
+exitcode=0
+if as_func_success; then
+ :
+else
+ exitcode=1
+ echo as_func_success failed.
+fi
+
+if as_func_failure; then
+ exitcode=1
+ echo as_func_failure succeeded.
+fi
+
+if as_func_ret_success; then
+ :
+else
+ exitcode=1
+ echo as_func_ret_success failed.
+fi
+
+if as_func_ret_failure; then
+ exitcode=1
+ echo as_func_ret_failure succeeded.
+fi
+
+if ( set x; as_func_ret_success y && test x = \"\$1\" ); then
+ :
+else
+ exitcode=1
+ echo positional parameters were not saved.
+fi
+
+test \$exitcode = 0") || {
+ echo No shell found that supports shell functions.
+ echo Please tell autoconf@gnu.org about your system,
+ echo including any error possibly output before this
+ echo message
+}
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir
+fi
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+
+exec 7<&0 </dev/null 6>&1
+
+# Name of the host.
+# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
+# so uname gets run too.
+ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
+
+#
+# Initializations.
+#
+ac_default_prefix=/usr/local
+ac_clean_files=
+ac_config_libobj_dir=.
+LIBOBJS=
+cross_compiling=no
+subdirs=
+MFLAGS=
+MAKEFLAGS=
+SHELL=${CONFIG_SHELL-/bin/sh}
+
+# Identity of this package.
+PACKAGE_NAME=
+PACKAGE_TARNAME=
+PACKAGE_VERSION=
+PACKAGE_STRING=
+PACKAGE_BUGREPORT=
+
+ac_unique_file="keymaps/i386/qwerty/us.kmap"
+ac_default_prefix=/usr
+ac_subst_vars='SHELL
+PATH_SEPARATOR
+PACKAGE_NAME
+PACKAGE_TARNAME
+PACKAGE_VERSION
+PACKAGE_STRING
+PACKAGE_BUGREPORT
+exec_prefix
+prefix
+program_transform_name
+bindir
+sbindir
+libexecdir
+datarootdir
+datadir
+sysconfdir
+sharedstatedir
+localstatedir
+includedir
+oldincludedir
+docdir
+infodir
+htmldir
+dvidir
+pdfdir
+psdir
+libdir
+localedir
+mandir
+DEFS
+ECHO_C
+ECHO_N
+ECHO_T
+LIBS
+build_alias
+host_alias
+target_alias
+INSTALL_PROGRAM
+INSTALL_SCRIPT
+INSTALL_DATA
+CYGPATH_W
+PACKAGE
+VERSION
+ACLOCAL
+AUTOCONF
+AUTOMAKE
+AUTOHEADER
+MAKEINFO
+install_sh
+STRIP
+INSTALL_STRIP_PROGRAM
+mkdir_p
+AWK
+SET_MAKE
+am__leading_dot
+AMTAR
+am__tar
+am__untar
+MAIN_COMPRESSOR
+COMPRESSOR_OPTS
+COMPRESSOR_EXT
+TRANSDIR
+FONTDIR
+KEYMAPDIR
+OLDKEYMAPDIR
+VIDEOMODEDIR
+LIBOBJS
+LTLIBOBJS'
+ac_subst_files=''
+ ac_precious_vars='build_alias
+host_alias
+target_alias'
+
+
+# Initialize some variables set by options.
+ac_init_help=
+ac_init_version=false
+# The variables have the same names as the options, with
+# dashes changed to underlines.
+cache_file=/dev/null
+exec_prefix=NONE
+no_create=
+no_recursion=
+prefix=NONE
+program_prefix=NONE
+program_suffix=NONE
+program_transform_name=s,x,x,
+silent=
+site=
+srcdir=
+verbose=
+x_includes=NONE
+x_libraries=NONE
+
+# Installation directory options.
+# These are left unexpanded so users can "make install exec_prefix=/foo"
+# and all the variables that are supposed to be based on exec_prefix
+# by default will actually change.
+# Use braces instead of parens because sh, perl, etc. also accept them.
+# (The list follows the same order as the GNU Coding Standards.)
+bindir='${exec_prefix}/bin'
+sbindir='${exec_prefix}/sbin'
+libexecdir='${exec_prefix}/libexec'
+datarootdir='${prefix}/share'
+datadir='${datarootdir}'
+sysconfdir='${prefix}/etc'
+sharedstatedir='${prefix}/com'
+localstatedir='${prefix}/var'
+includedir='${prefix}/include'
+oldincludedir='/usr/include'
+docdir='${datarootdir}/doc/${PACKAGE}'
+infodir='${datarootdir}/info'
+htmldir='${docdir}'
+dvidir='${docdir}'
+pdfdir='${docdir}'
+psdir='${docdir}'
+libdir='${exec_prefix}/lib'
+localedir='${datarootdir}/locale'
+mandir='${datarootdir}/man'
+
+ac_prev=
+ac_dashdash=
+for ac_option
+do
+ # If the previous option needs an argument, assign it.
+ if test -n "$ac_prev"; then
+ eval $ac_prev=\$ac_option
+ ac_prev=
+ continue
+ fi
+
+ case $ac_option in
+ *=*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
+ *) ac_optarg=yes ;;
+ esac
+
+ # Accept the important Cygnus configure options, so we can diagnose typos.
+
+ case $ac_dashdash$ac_option in
+ --)
+ ac_dashdash=yes ;;
+
+ -bindir | --bindir | --bindi | --bind | --bin | --bi)
+ ac_prev=bindir ;;
+ -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
+ bindir=$ac_optarg ;;
+
+ -build | --build | --buil | --bui | --bu)
+ ac_prev=build_alias ;;
+ -build=* | --build=* | --buil=* | --bui=* | --bu=*)
+ build_alias=$ac_optarg ;;
+
+ -cache-file | --cache-file | --cache-fil | --cache-fi \
+ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
+ ac_prev=cache_file ;;
+ -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
+ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
+ cache_file=$ac_optarg ;;
+
+ --config-cache | -C)
+ cache_file=config.cache ;;
+
+ -datadir | --datadir | --datadi | --datad)
+ ac_prev=datadir ;;
+ -datadir=* | --datadir=* | --datadi=* | --datad=*)
+ datadir=$ac_optarg ;;
+
+ -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
+ | --dataroo | --dataro | --datar)
+ ac_prev=datarootdir ;;
+ -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
+ | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
+ datarootdir=$ac_optarg ;;
+
+ -disable-* | --disable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+ eval enable_$ac_feature=no ;;
+
+ -docdir | --docdir | --docdi | --doc | --do)
+ ac_prev=docdir ;;
+ -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
+ docdir=$ac_optarg ;;
+
+ -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
+ ac_prev=dvidir ;;
+ -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
+ dvidir=$ac_optarg ;;
+
+ -enable-* | --enable-*)
+ ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_feature" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid feature name: $ac_feature" >&2
+ { (exit 1); exit 1; }; }
+ ac_feature=`echo $ac_feature | sed 's/[-.]/_/g'`
+ eval enable_$ac_feature=\$ac_optarg ;;
+
+ -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
+ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
+ | --exec | --exe | --ex)
+ ac_prev=exec_prefix ;;
+ -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
+ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
+ | --exec=* | --exe=* | --ex=*)
+ exec_prefix=$ac_optarg ;;
+
+ -gas | --gas | --ga | --g)
+ # Obsolete; use --with-gas.
+ with_gas=yes ;;
+
+ -help | --help | --hel | --he | -h)
+ ac_init_help=long ;;
+ -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
+ ac_init_help=recursive ;;
+ -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
+ ac_init_help=short ;;
+
+ -host | --host | --hos | --ho)
+ ac_prev=host_alias ;;
+ -host=* | --host=* | --hos=* | --ho=*)
+ host_alias=$ac_optarg ;;
+
+ -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
+ ac_prev=htmldir ;;
+ -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
+ | --ht=*)
+ htmldir=$ac_optarg ;;
+
+ -includedir | --includedir | --includedi | --included | --include \
+ | --includ | --inclu | --incl | --inc)
+ ac_prev=includedir ;;
+ -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
+ | --includ=* | --inclu=* | --incl=* | --inc=*)
+ includedir=$ac_optarg ;;
+
+ -infodir | --infodir | --infodi | --infod | --info | --inf)
+ ac_prev=infodir ;;
+ -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
+ infodir=$ac_optarg ;;
+
+ -libdir | --libdir | --libdi | --libd)
+ ac_prev=libdir ;;
+ -libdir=* | --libdir=* | --libdi=* | --libd=*)
+ libdir=$ac_optarg ;;
+
+ -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
+ | --libexe | --libex | --libe)
+ ac_prev=libexecdir ;;
+ -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
+ | --libexe=* | --libex=* | --libe=*)
+ libexecdir=$ac_optarg ;;
+
+ -localedir | --localedir | --localedi | --localed | --locale)
+ ac_prev=localedir ;;
+ -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
+ localedir=$ac_optarg ;;
+
+ -localstatedir | --localstatedir | --localstatedi | --localstated \
+ | --localstate | --localstat | --localsta | --localst | --locals)
+ ac_prev=localstatedir ;;
+ -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
+ | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
+ localstatedir=$ac_optarg ;;
+
+ -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
+ ac_prev=mandir ;;
+ -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
+ mandir=$ac_optarg ;;
+
+ -nfp | --nfp | --nf)
+ # Obsolete; use --without-fp.
+ with_fp=no ;;
+
+ -no-create | --no-create | --no-creat | --no-crea | --no-cre \
+ | --no-cr | --no-c | -n)
+ no_create=yes ;;
+
+ -no-recursion | --no-recursion | --no-recursio | --no-recursi \
+ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
+ no_recursion=yes ;;
+
+ -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
+ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
+ | --oldin | --oldi | --old | --ol | --o)
+ ac_prev=oldincludedir ;;
+ -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
+ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
+ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
+ oldincludedir=$ac_optarg ;;
+
+ -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
+ ac_prev=prefix ;;
+ -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
+ prefix=$ac_optarg ;;
+
+ -program-prefix | --program-prefix | --program-prefi | --program-pref \
+ | --program-pre | --program-pr | --program-p)
+ ac_prev=program_prefix ;;
+ -program-prefix=* | --program-prefix=* | --program-prefi=* \
+ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
+ program_prefix=$ac_optarg ;;
+
+ -program-suffix | --program-suffix | --program-suffi | --program-suff \
+ | --program-suf | --program-su | --program-s)
+ ac_prev=program_suffix ;;
+ -program-suffix=* | --program-suffix=* | --program-suffi=* \
+ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
+ program_suffix=$ac_optarg ;;
+
+ -program-transform-name | --program-transform-name \
+ | --program-transform-nam | --program-transform-na \
+ | --program-transform-n | --program-transform- \
+ | --program-transform | --program-transfor \
+ | --program-transfo | --program-transf \
+ | --program-trans | --program-tran \
+ | --progr-tra | --program-tr | --program-t)
+ ac_prev=program_transform_name ;;
+ -program-transform-name=* | --program-transform-name=* \
+ | --program-transform-nam=* | --program-transform-na=* \
+ | --program-transform-n=* | --program-transform-=* \
+ | --program-transform=* | --program-transfor=* \
+ | --program-transfo=* | --program-transf=* \
+ | --program-trans=* | --program-tran=* \
+ | --progr-tra=* | --program-tr=* | --program-t=*)
+ program_transform_name=$ac_optarg ;;
+
+ -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
+ ac_prev=pdfdir ;;
+ -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
+ pdfdir=$ac_optarg ;;
+
+ -psdir | --psdir | --psdi | --psd | --ps)
+ ac_prev=psdir ;;
+ -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
+ psdir=$ac_optarg ;;
+
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ silent=yes ;;
+
+ -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
+ ac_prev=sbindir ;;
+ -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
+ | --sbi=* | --sb=*)
+ sbindir=$ac_optarg ;;
+
+ -sharedstatedir | --sharedstatedir | --sharedstatedi \
+ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
+ | --sharedst | --shareds | --shared | --share | --shar \
+ | --sha | --sh)
+ ac_prev=sharedstatedir ;;
+ -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
+ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
+ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
+ | --sha=* | --sh=*)
+ sharedstatedir=$ac_optarg ;;
+
+ -site | --site | --sit)
+ ac_prev=site ;;
+ -site=* | --site=* | --sit=*)
+ site=$ac_optarg ;;
+
+ -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
+ ac_prev=srcdir ;;
+ -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
+ srcdir=$ac_optarg ;;
+
+ -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
+ | --syscon | --sysco | --sysc | --sys | --sy)
+ ac_prev=sysconfdir ;;
+ -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
+ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
+ sysconfdir=$ac_optarg ;;
+
+ -target | --target | --targe | --targ | --tar | --ta | --t)
+ ac_prev=target_alias ;;
+ -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
+ target_alias=$ac_optarg ;;
+
+ -v | -verbose | --verbose | --verbos | --verbo | --verb)
+ verbose=yes ;;
+
+ -version | --version | --versio | --versi | --vers | -V)
+ ac_init_version=: ;;
+
+ -with-* | --with-*)
+ ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+ eval with_$ac_package=\$ac_optarg ;;
+
+ -without-* | --without-*)
+ ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_package" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid package name: $ac_package" >&2
+ { (exit 1); exit 1; }; }
+ ac_package=`echo $ac_package | sed 's/[-.]/_/g'`
+ eval with_$ac_package=no ;;
+
+ --x)
+ # Obsolete; use --with-x.
+ with_x=yes ;;
+
+ -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
+ | --x-incl | --x-inc | --x-in | --x-i)
+ ac_prev=x_includes ;;
+ -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
+ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
+ x_includes=$ac_optarg ;;
+
+ -x-libraries | --x-libraries | --x-librarie | --x-librari \
+ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
+ ac_prev=x_libraries ;;
+ -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
+ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
+ x_libraries=$ac_optarg ;;
+
+ -*) { echo "$as_me: error: unrecognized option: $ac_option
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; }
+ ;;
+
+ *=*)
+ ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
+ # Reject names that are not valid shell variable names.
+ expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
+ { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
+ { (exit 1); exit 1; }; }
+ eval $ac_envvar=\$ac_optarg
+ export $ac_envvar ;;
+
+ *)
+ # FIXME: should be removed in autoconf 3.0.
+ echo "$as_me: WARNING: you should use --build, --host, --target" >&2
+ expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
+ echo "$as_me: WARNING: invalid host type: $ac_option" >&2
+ : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}
+ ;;
+
+ esac
+done
+
+if test -n "$ac_prev"; then
+ ac_option=--`echo $ac_prev | sed 's/_/-/g'`
+ { echo "$as_me: error: missing argument to $ac_option" >&2
+ { (exit 1); exit 1; }; }
+fi
+
+# Be sure to have absolute directory names.
+for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \
+ datadir sysconfdir sharedstatedir localstatedir includedir \
+ oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
+ libdir localedir mandir
+do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ [\\/$]* | ?:[\\/]* ) continue;;
+ NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
+ esac
+ { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
+ { (exit 1); exit 1; }; }
+done
+
+# There might be people who depend on the old broken behavior: `$host'
+# used to hold the argument of --host etc.
+# FIXME: To remove some day.
+build=$build_alias
+host=$host_alias
+target=$target_alias
+
+# FIXME: To remove some day.
+if test "x$host_alias" != x; then
+ if test "x$build_alias" = x; then
+ cross_compiling=maybe
+ echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
+ If a cross compiler is detected then cross compile mode will be used." >&2
+ elif test "x$build_alias" != "x$host_alias"; then
+ cross_compiling=yes
+ fi
+fi
+
+ac_tool_prefix=
+test -n "$host_alias" && ac_tool_prefix=$host_alias-
+
+test "$silent" = yes && exec 6>/dev/null
+
+
+ac_pwd=`pwd` && test -n "$ac_pwd" &&
+ac_ls_di=`ls -di .` &&
+ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
+ { echo "$as_me: error: Working directory cannot be determined" >&2
+ { (exit 1); exit 1; }; }
+test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
+ { echo "$as_me: error: pwd does not report name of working directory" >&2
+ { (exit 1); exit 1; }; }
+
+
+# Find the source files, if location was not specified.
+if test -z "$srcdir"; then
+ ac_srcdir_defaulted=yes
+ # Try the directory containing this script, then the parent directory.
+ ac_confdir=`$as_dirname -- "$0" ||
+$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$0" : 'X\(//\)[^/]' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$0" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ srcdir=$ac_confdir
+ if test ! -r "$srcdir/$ac_unique_file"; then
+ srcdir=..
+ fi
+else
+ ac_srcdir_defaulted=no
+fi
+if test ! -r "$srcdir/$ac_unique_file"; then
+ test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
+ { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
+ { (exit 1); exit 1; }; }
+fi
+ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
+ac_abs_confdir=`(
+ cd "$srcdir" && test -r "./$ac_unique_file" || { echo "$as_me: error: $ac_msg" >&2
+ { (exit 1); exit 1; }; }
+ pwd)`
+# When building in place, set srcdir=.
+if test "$ac_abs_confdir" = "$ac_pwd"; then
+ srcdir=.
+fi
+# Remove unnecessary trailing slashes from srcdir.
+# Double slashes in file names in object file debugging info
+# mess up M-x gdb in Emacs.
+case $srcdir in
+*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
+esac
+for ac_var in $ac_precious_vars; do
+ eval ac_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_env_${ac_var}_value=\$${ac_var}
+ eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
+ eval ac_cv_env_${ac_var}_value=\$${ac_var}
+done
+
+#
+# Report the --help message.
+#
+if test "$ac_init_help" = "long"; then
+ # Omit some internal or obsolete options to make the list less imposing.
+ # This message is too long to be a string in the A/UX 3.1 sh.
+ cat <<_ACEOF
+\`configure' configures this package to adapt to many kinds of systems.
+
+Usage: $0 [OPTION]... [VAR=VALUE]...
+
+To assign environment variables (e.g., CC, CFLAGS...), specify them as
+VAR=VALUE. See below for descriptions of some of the useful variables.
+
+Defaults for the options are specified in brackets.
+
+Configuration:
+ -h, --help display this help and exit
+ --help=short display options specific to this package
+ --help=recursive display the short help of all the included packages
+ -V, --version display version information and exit
+ -q, --quiet, --silent do not print \`checking...' messages
+ --cache-file=FILE cache test results in FILE [disabled]
+ -C, --config-cache alias for \`--cache-file=config.cache'
+ -n, --no-create do not create output files
+ --srcdir=DIR find the sources in DIR [configure dir or \`..']
+
+Installation directories:
+ --prefix=PREFIX install architecture-independent files in PREFIX
+ [$ac_default_prefix]
+ --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
+ [PREFIX]
+
+By default, \`make install' will install all the files in
+\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify
+an installation prefix other than \`$ac_default_prefix' using \`--prefix',
+for instance \`--prefix=\$HOME'.
+
+For better control, use the options below.
+
+Fine tuning of the installation directories:
+ --bindir=DIR user executables [EPREFIX/bin]
+ --sbindir=DIR system admin executables [EPREFIX/sbin]
+ --libexecdir=DIR program executables [EPREFIX/libexec]
+ --sysconfdir=DIR read-only single-machine data [PREFIX/etc]
+ --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com]
+ --localstatedir=DIR modifiable single-machine data [PREFIX/var]
+ --libdir=DIR object code libraries [EPREFIX/lib]
+ --includedir=DIR C header files [PREFIX/include]
+ --oldincludedir=DIR C header files for non-gcc [/usr/include]
+ --datarootdir=DIR read-only arch.-independent data root [PREFIX/share]
+ --datadir=DIR read-only architecture-independent data [DATAROOTDIR]
+ --infodir=DIR info documentation [DATAROOTDIR/info]
+ --localedir=DIR locale-dependent data [DATAROOTDIR/locale]
+ --mandir=DIR man documentation [DATAROOTDIR/man]
+ --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE]
+ --htmldir=DIR html documentation [DOCDIR]
+ --dvidir=DIR dvi documentation [DOCDIR]
+ --pdfdir=DIR pdf documentation [DOCDIR]
+ --psdir=DIR ps documentation [DOCDIR]
+_ACEOF
+
+ cat <<\_ACEOF
+
+Program names:
+ --program-prefix=PREFIX prepend PREFIX to installed program names
+ --program-suffix=SUFFIX append SUFFIX to installed program names
+ --program-transform-name=PROGRAM run sed PROGRAM on installed program names
+_ACEOF
+fi
+
+if test -n "$ac_init_help"; then
+
+ cat <<\_ACEOF
+
+Optional Features:
+ --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
+ --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
+ --enable-localdatadir additional directory to search for data files NONE
+
+Optional Packages:
+ --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
+ --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
+ --with-main_compressor
+ Force support of specified main_compressor instead of scanning
+ the system to know which one can be used.
+ main_compressors I know of: gzip lzop bzip2 compress.
+
+_ACEOF
+ac_status=$?
+fi
+
+if test "$ac_init_help" = "recursive"; then
+ # If there are subdirs, report their specific --help.
+ for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
+ test -d "$ac_dir" || continue
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+ cd "$ac_dir" || { ac_status=$?; continue; }
+ # Check for guested configure.
+ if test -f "$ac_srcdir/configure.gnu"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure.gnu" --help=recursive
+ elif test -f "$ac_srcdir/configure"; then
+ echo &&
+ $SHELL "$ac_srcdir/configure" --help=recursive
+ else
+ echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
+ fi || ac_status=$?
+ cd "$ac_pwd" || { ac_status=$?; break; }
+ done
+fi
+
+test -n "$ac_init_help" && exit $ac_status
+if $ac_init_version; then
+ cat <<\_ACEOF
+configure
+generated by GNU Autoconf 2.61
+
+Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
+2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
+This configure script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it.
+_ACEOF
+ exit
+fi
+cat >config.log <<_ACEOF
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by $as_me, which was
+generated by GNU Autoconf 2.61. Invocation command line was
+
+ $ $0 $@
+
+_ACEOF
+exec 5>>config.log
+{
+cat <<_ASUNAME
+## --------- ##
+## Platform. ##
+## --------- ##
+
+hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
+uname -m = `(uname -m) 2>/dev/null || echo unknown`
+uname -r = `(uname -r) 2>/dev/null || echo unknown`
+uname -s = `(uname -s) 2>/dev/null || echo unknown`
+uname -v = `(uname -v) 2>/dev/null || echo unknown`
+
+/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
+/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown`
+
+/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown`
+/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown`
+/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
+/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown`
+/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown`
+/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown`
+/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown`
+
+_ASUNAME
+
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ echo "PATH: $as_dir"
+done
+IFS=$as_save_IFS
+
+} >&5
+
+cat >&5 <<_ACEOF
+
+
+## ----------- ##
+## Core tests. ##
+## ----------- ##
+
+_ACEOF
+
+
+# Keep a trace of the command line.
+# Strip out --no-create and --no-recursion so they do not pile up.
+# Strip out --silent because we don't want to record it for future runs.
+# Also quote any args containing shell meta-characters.
+# Make two passes to allow for proper duplicate-argument suppression.
+ac_configure_args=
+ac_configure_args0=
+ac_configure_args1=
+ac_must_keep_next=false
+for ac_pass in 1 2
+do
+ for ac_arg
+ do
+ case $ac_arg in
+ -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil)
+ continue ;;
+ *\'*)
+ ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
+ esac
+ case $ac_pass in
+ 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
+ 2)
+ ac_configure_args1="$ac_configure_args1 '$ac_arg'"
+ if test $ac_must_keep_next = true; then
+ ac_must_keep_next=false # Got value, back to normal.
+ else
+ case $ac_arg in
+ *=* | --config-cache | -C | -disable-* | --disable-* \
+ | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
+ | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
+ | -with-* | --with-* | -without-* | --without-* | --x)
+ case "$ac_configure_args0 " in
+ "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
+ esac
+ ;;
+ -* ) ac_must_keep_next=true ;;
+ esac
+ fi
+ ac_configure_args="$ac_configure_args '$ac_arg'"
+ ;;
+ esac
+ done
+done
+$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
+$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; }
+
+# When interrupted or exit'd, cleanup temporary files, and complete
+# config.log. We remove comments because anyway the quotes in there
+# would cause problems or look ugly.
+# WARNING: Use '\'' to represent an apostrophe within the trap.
+# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
+trap 'exit_status=$?
+ # Save into config.log some information that might help in debugging.
+ {
+ echo
+
+ cat <<\_ASBOX
+## ---------------- ##
+## Cache variables. ##
+## ---------------- ##
+_ASBOX
+ echo
+ # The following way of writing the cache mishandles newlines in values,
+(
+ for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
+ (set) 2>&1 |
+ case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ sed -n \
+ "s/'\''/'\''\\\\'\'''\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
+ ;; #(
+ *)
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+)
+ echo
+
+ cat <<\_ASBOX
+## ----------------- ##
+## Output variables. ##
+## ----------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_vars
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+
+ if test -n "$ac_subst_files"; then
+ cat <<\_ASBOX
+## ------------------- ##
+## File substitutions. ##
+## ------------------- ##
+_ASBOX
+ echo
+ for ac_var in $ac_subst_files
+ do
+ eval ac_val=\$$ac_var
+ case $ac_val in
+ *\'\''*) ac_val=`echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
+ esac
+ echo "$ac_var='\''$ac_val'\''"
+ done | sort
+ echo
+ fi
+
+ if test -s confdefs.h; then
+ cat <<\_ASBOX
+## ----------- ##
+## confdefs.h. ##
+## ----------- ##
+_ASBOX
+ echo
+ cat confdefs.h
+ echo
+ fi
+ test "$ac_signal" != 0 &&
+ echo "$as_me: caught signal $ac_signal"
+ echo "$as_me: exit $exit_status"
+ } >&5
+ rm -f core *.core core.conftest.* &&
+ rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
+ exit $exit_status
+' 0
+for ac_signal in 1 2 13 15; do
+ trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
+done
+ac_signal=0
+
+# confdefs.h avoids OS command line length limits that DEFS can exceed.
+rm -f -r conftest* confdefs.h
+
+# Predefined preprocessor variables.
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_NAME "$PACKAGE_NAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_VERSION "$PACKAGE_VERSION"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_STRING "$PACKAGE_STRING"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
+_ACEOF
+
+
+# Let the site file select an alternate cache file if it wants to.
+# Prefer explicitly selected file to automatically selected ones.
+if test -n "$CONFIG_SITE"; then
+ set x "$CONFIG_SITE"
+elif test "x$prefix" != xNONE; then
+ set x "$prefix/share/config.site" "$prefix/etc/config.site"
+else
+ set x "$ac_default_prefix/share/config.site" \
+ "$ac_default_prefix/etc/config.site"
+fi
+shift
+for ac_site_file
+do
+ if test -r "$ac_site_file"; then
+ { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
+echo "$as_me: loading site script $ac_site_file" >&6;}
+ sed 's/^/| /' "$ac_site_file" >&5
+ . "$ac_site_file"
+ fi
+done
+
+if test -r "$cache_file"; then
+ # Some versions of bash will fail to source /dev/null (special
+ # files actually), so we avoid doing that.
+ if test -f "$cache_file"; then
+ { echo "$as_me:$LINENO: loading cache $cache_file" >&5
+echo "$as_me: loading cache $cache_file" >&6;}
+ case $cache_file in
+ [\\/]* | ?:[\\/]* ) . "$cache_file";;
+ *) . "./$cache_file";;
+ esac
+ fi
+else
+ { echo "$as_me:$LINENO: creating cache $cache_file" >&5
+echo "$as_me: creating cache $cache_file" >&6;}
+ >$cache_file
+fi
+
+# Check that the precious variables saved in the cache have kept the same
+# value.
+ac_cache_corrupted=false
+for ac_var in $ac_precious_vars; do
+ eval ac_old_set=\$ac_cv_env_${ac_var}_set
+ eval ac_new_set=\$ac_env_${ac_var}_set
+ eval ac_old_val=\$ac_cv_env_${ac_var}_value
+ eval ac_new_val=\$ac_env_${ac_var}_value
+ case $ac_old_set,$ac_new_set in
+ set,)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,set)
+ { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
+echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
+ ac_cache_corrupted=: ;;
+ ,);;
+ *)
+ if test "x$ac_old_val" != "x$ac_new_val"; then
+ { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
+echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
+ { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
+echo "$as_me: former value: $ac_old_val" >&2;}
+ { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
+echo "$as_me: current value: $ac_new_val" >&2;}
+ ac_cache_corrupted=:
+ fi;;
+ esac
+ # Pass precious variables to config.status.
+ if test "$ac_new_set" = set; then
+ case $ac_new_val in
+ *\'*) ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
+ *) ac_arg=$ac_var=$ac_new_val ;;
+ esac
+ case " $ac_configure_args " in
+ *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy.
+ *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
+ esac
+ fi
+done
+if $ac_cache_corrupted; then
+ { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
+echo "$as_me: error: changes in the environment can compromise the build" >&2;}
+ { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
+echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+
+#AC_CONFIG_AUX_DIR(autoconf)
+am__api_version="1.9"
+ac_aux_dir=
+for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
+ if test -f "$ac_dir/install-sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install-sh -c"
+ break
+ elif test -f "$ac_dir/install.sh"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/install.sh -c"
+ break
+ elif test -f "$ac_dir/shtool"; then
+ ac_aux_dir=$ac_dir
+ ac_install_sh="$ac_aux_dir/shtool install -c"
+ break
+ fi
+done
+if test -z "$ac_aux_dir"; then
+ { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&5
+echo "$as_me: error: cannot find install-sh or install.sh in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+# These three variables are undocumented and unsupported,
+# and are intended to be withdrawn in a future Autoconf release.
+# They can cause serious problems if a builder's source tree is in a directory
+# whose full name contains unusual characters.
+ac_config_guess="$SHELL $ac_aux_dir/config.guess" # Please don't use this var.
+ac_config_sub="$SHELL $ac_aux_dir/config.sub" # Please don't use this var.
+ac_configure="$SHELL $ac_aux_dir/configure" # Please don't use this var.
+
+
+# Find a good install program. We prefer a C program (faster),
+# so one script is as good as another. But avoid the broken or
+# incompatible versions:
+# SysV /etc/install, /usr/sbin/install
+# SunOS /usr/etc/install
+# IRIX /sbin/install
+# AIX /bin/install
+# AmigaOS /C/install, which installs bootblocks on floppy discs
+# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
+# AFS /usr/afsws/bin/install, which mishandles nonexistent args
+# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
+# OS/2's system install, which has a completely different semantic
+# ./install, which can be erroneously created by make from ./install.sh.
+{ echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
+echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6; }
+if test -z "$INSTALL"; then
+if test "${ac_cv_path_install+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ # Account for people who put trailing slashes in PATH elements.
+case $as_dir/ in
+ ./ | .// | /cC/* | \
+ /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
+ ?:\\/os2\\/install\\/* | ?:\\/OS2\\/INSTALL\\/* | \
+ /usr/ucb/* ) ;;
+ *)
+ # OSF1 and SCO ODT 3.0 have their own names for install.
+ # Don't use installbsd from OSF since it installs stuff as root
+ # by default.
+ for ac_prog in ginstall scoinst install; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_prog$ac_exec_ext" && $as_test_x "$as_dir/$ac_prog$ac_exec_ext"; }; then
+ if test $ac_prog = install &&
+ grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # AIX install. It has an incompatible calling convention.
+ :
+ elif test $ac_prog = install &&
+ grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
+ # program-specific install script used by HP pwplus--don't use.
+ :
+ else
+ ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
+ break 3
+ fi
+ fi
+ done
+ done
+ ;;
+esac
+done
+IFS=$as_save_IFS
+
+
+fi
+ if test "${ac_cv_path_install+set}" = set; then
+ INSTALL=$ac_cv_path_install
+ else
+ # As a last resort, use the slow shell script. Don't cache a
+ # value for INSTALL within a source directory, because that will
+ # break other packages using the cache if that directory is
+ # removed, or if the value is a relative name.
+ INSTALL=$ac_install_sh
+ fi
+fi
+{ echo "$as_me:$LINENO: result: $INSTALL" >&5
+echo "${ECHO_T}$INSTALL" >&6; }
+
+# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
+# It thinks the first close brace ends the variable substitution.
+test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
+
+test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
+
+test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
+
+{ echo "$as_me:$LINENO: checking whether build environment is sane" >&5
+echo $ECHO_N "checking whether build environment is sane... $ECHO_C" >&6; }
+# Just in case
+sleep 1
+echo timestamp > conftest.file
+# Do `set' in a subshell so we don't clobber the current shell's
+# arguments. Must try -L first in case configure is actually a
+# symlink; some systems play weird games with the mod time of symlinks
+# (eg FreeBSD returns the mod time of the symlink's containing
+# directory).
+if (
+ set X `ls -Lt $srcdir/configure conftest.file 2> /dev/null`
+ if test "$*" = "X"; then
+ # -L didn't work.
+ set X `ls -t $srcdir/configure conftest.file`
+ fi
+ rm -f conftest.file
+ if test "$*" != "X $srcdir/configure conftest.file" \
+ && test "$*" != "X conftest.file $srcdir/configure"; then
+
+ # If neither matched, then we have a broken ls. This can happen
+ # if, for instance, CONFIG_SHELL is bash and it inherits a
+ # broken ls alias from the environment. This has actually
+ # happened. Such a system could not be considered "sane".
+ { { echo "$as_me:$LINENO: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&5
+echo "$as_me: error: ls -t appears to fail. Make sure there is not a broken
+alias in your environment" >&2;}
+ { (exit 1); exit 1; }; }
+ fi
+
+ test "$2" = conftest.file
+ )
+then
+ # Ok.
+ :
+else
+ { { echo "$as_me:$LINENO: error: newly created file is older than distributed files!
+Check your system clock" >&5
+echo "$as_me: error: newly created file is older than distributed files!
+Check your system clock" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+{ echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+test "$program_prefix" != NONE &&
+ program_transform_name="s&^&$program_prefix&;$program_transform_name"
+# Use a double $ so make ignores it.
+test "$program_suffix" != NONE &&
+ program_transform_name="s&\$&$program_suffix&;$program_transform_name"
+# Double any \ or $. echo might interpret backslashes.
+# By default was `s,x,x', remove it if useless.
+cat <<\_ACEOF >conftest.sed
+s/[\\$]/&&/g;s/;s,x,x,$//
+_ACEOF
+program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
+rm -f conftest.sed
+
+# expand $ac_aux_dir to an absolute path
+am_aux_dir=`cd $ac_aux_dir && pwd`
+
+test x"${MISSING+set}" = xset || MISSING="\${SHELL} $am_aux_dir/missing"
+# Use eval to expand $SHELL
+if eval "$MISSING --run true"; then
+ am_missing_run="$MISSING --run "
+else
+ am_missing_run=
+ { echo "$as_me:$LINENO: WARNING: \`missing' script is too old or missing" >&5
+echo "$as_me: WARNING: \`missing' script is too old or missing" >&2;}
+fi
+
+if mkdir -p --version . >/dev/null 2>&1 && test ! -d ./--version; then
+ # We used to keeping the `.' as first argument, in order to
+ # allow $(mkdir_p) to be used without argument. As in
+ # $(mkdir_p) $(somedir)
+ # where $(somedir) is conditionally defined. However this is wrong
+ # for two reasons:
+ # 1. if the package is installed by a user who cannot write `.'
+ # make install will fail,
+ # 2. the above comment should most certainly read
+ # $(mkdir_p) $(DESTDIR)$(somedir)
+ # so it does not work when $(somedir) is undefined and
+ # $(DESTDIR) is not.
+ # To support the latter case, we have to write
+ # test -z "$(somedir)" || $(mkdir_p) $(DESTDIR)$(somedir),
+ # so the `.' trick is pointless.
+ mkdir_p='mkdir -p --'
+else
+ # On NextStep and OpenStep, the `mkdir' command does not
+ # recognize any option. It will interpret all options as
+ # directories to create, and then abort because `.' already
+ # exists.
+ for d in ./-p ./--version;
+ do
+ test -d $d && rmdir $d
+ done
+ # $(mkinstalldirs) is defined by Automake if mkinstalldirs exists.
+ if test -f "$ac_aux_dir/mkinstalldirs"; then
+ mkdir_p='$(mkinstalldirs)'
+ else
+ mkdir_p='$(install_sh) -d'
+ fi
+fi
+
+for ac_prog in gawk mawk nawk awk
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_AWK+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$AWK"; then
+ ac_cv_prog_AWK="$AWK" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_AWK="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+AWK=$ac_cv_prog_AWK
+if test -n "$AWK"; then
+ { echo "$as_me:$LINENO: result: $AWK" >&5
+echo "${ECHO_T}$AWK" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$AWK" && break
+done
+
+{ echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
+echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6; }
+set x ${MAKE-make}; ac_make=`echo "$2" | sed 's/+/p/g; s/[^a-zA-Z0-9_]/_/g'`
+if { as_var=ac_cv_prog_make_${ac_make}_set; eval "test \"\${$as_var+set}\" = set"; }; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ cat >conftest.make <<\_ACEOF
+SHELL = /bin/sh
+all:
+ @echo '@@@%%%=$(MAKE)=@@@%%%'
+_ACEOF
+# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
+case `${MAKE-make} -f conftest.make 2>/dev/null` in
+ *@@@%%%=?*=@@@%%%*)
+ eval ac_cv_prog_make_${ac_make}_set=yes;;
+ *)
+ eval ac_cv_prog_make_${ac_make}_set=no;;
+esac
+rm -f conftest.make
+fi
+if eval test \$ac_cv_prog_make_${ac_make}_set = yes; then
+ { echo "$as_me:$LINENO: result: yes" >&5
+echo "${ECHO_T}yes" >&6; }
+ SET_MAKE=
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+ SET_MAKE="MAKE=${MAKE-make}"
+fi
+
+rm -rf .tst 2>/dev/null
+mkdir .tst 2>/dev/null
+if test -d .tst; then
+ am__leading_dot=.
+else
+ am__leading_dot=_
+fi
+rmdir .tst 2>/dev/null
+
+# test to see if srcdir already configured
+if test "`cd $srcdir && pwd`" != "`pwd`" &&
+ test -f $srcdir/config.status; then
+ { { echo "$as_me:$LINENO: error: source directory already configured; run \"make distclean\" there first" >&5
+echo "$as_me: error: source directory already configured; run \"make distclean\" there first" >&2;}
+ { (exit 1); exit 1; }; }
+fi
+
+# test whether we have cygpath
+if test -z "$CYGPATH_W"; then
+ if (cygpath --version) >/dev/null 2>/dev/null; then
+ CYGPATH_W='cygpath -w'
+ else
+ CYGPATH_W=echo
+ fi
+fi
+
+
+# Define the identity of the package.
+ PACKAGE=console-data
+ VERSION=20005.12.14
+
+
+cat >>confdefs.h <<_ACEOF
+#define PACKAGE "$PACKAGE"
+_ACEOF
+
+
+cat >>confdefs.h <<_ACEOF
+#define VERSION "$VERSION"
+_ACEOF
+
+# Some tools Automake needs.
+
+ACLOCAL=${ACLOCAL-"${am_missing_run}aclocal-${am__api_version}"}
+
+
+AUTOCONF=${AUTOCONF-"${am_missing_run}autoconf"}
+
+
+AUTOMAKE=${AUTOMAKE-"${am_missing_run}automake-${am__api_version}"}
+
+
+AUTOHEADER=${AUTOHEADER-"${am_missing_run}autoheader"}
+
+
+MAKEINFO=${MAKEINFO-"${am_missing_run}makeinfo"}
+
+install_sh=${install_sh-"$am_aux_dir/install-sh"}
+
+# Installed binaries are usually stripped using `strip' when the user
+# run `make install-strip'. However `strip' might not be the right
+# tool to use in cross-compilation environments, therefore Automake
+# will honor the `STRIP' environment variable to overrule this program.
+if test "$cross_compiling" != no; then
+ if test -n "$ac_tool_prefix"; then
+ # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
+set dummy ${ac_tool_prefix}strip; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$STRIP"; then
+ ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_STRIP="${ac_tool_prefix}strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+STRIP=$ac_cv_prog_STRIP
+if test -n "$STRIP"; then
+ { echo "$as_me:$LINENO: result: $STRIP" >&5
+echo "${ECHO_T}$STRIP" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+fi
+if test -z "$ac_cv_prog_STRIP"; then
+ ac_ct_STRIP=$STRIP
+ # Extract the first word of "strip", so it can be a program name with args.
+set dummy strip; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_ac_ct_STRIP+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$ac_ct_STRIP"; then
+ ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_ac_ct_STRIP="strip"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
+if test -n "$ac_ct_STRIP"; then
+ { echo "$as_me:$LINENO: result: $ac_ct_STRIP" >&5
+echo "${ECHO_T}$ac_ct_STRIP" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+ if test "x$ac_ct_STRIP" = x; then
+ STRIP=":"
+ else
+ case $cross_compiling:$ac_tool_warned in
+yes:)
+{ echo "$as_me:$LINENO: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&5
+echo "$as_me: WARNING: In the future, Autoconf will not detect cross-tools
+whose name does not start with the host triplet. If you think this
+configuration is useful to you, please write to autoconf@gnu.org." >&2;}
+ac_tool_warned=yes ;;
+esac
+ STRIP=$ac_ct_STRIP
+ fi
+else
+ STRIP="$ac_cv_prog_STRIP"
+fi
+
+fi
+INSTALL_STRIP_PROGRAM="\${SHELL} \$(install_sh) -c -s"
+
+# We need awk for the "check" target. The system "awk" is bad on
+# some platforms.
+# Always define AMTAR for backward compatibility.
+
+AMTAR=${AMTAR-"${am_missing_run}tar"}
+
+am__tar='${AMTAR} chof - "$$tardir"'; am__untar='${AMTAR} xf -'
+
+
+
+
+
+
+# Defaults
+
+
+
+# Check whether --with-main_compressor was given.
+if test "${with_main_compressor+set}" = set; then
+ withval=$with_main_compressor; MAIN_COMPRESSOR=${withval}
+else
+ for ac_prog in gzip lzop bzip2 compress
+do
+ # Extract the first word of "$ac_prog", so it can be a program name with args.
+set dummy $ac_prog; ac_word=$2
+{ echo "$as_me:$LINENO: checking for $ac_word" >&5
+echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6; }
+if test "${ac_cv_prog_MAIN_COMPRESSOR+set}" = set; then
+ echo $ECHO_N "(cached) $ECHO_C" >&6
+else
+ if test -n "$MAIN_COMPRESSOR"; then
+ ac_cv_prog_MAIN_COMPRESSOR="$MAIN_COMPRESSOR" # Let the user override the test.
+else
+as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then
+ ac_cv_prog_MAIN_COMPRESSOR="$ac_prog"
+ echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
+ break 2
+ fi
+done
+done
+IFS=$as_save_IFS
+
+fi
+fi
+MAIN_COMPRESSOR=$ac_cv_prog_MAIN_COMPRESSOR
+if test -n "$MAIN_COMPRESSOR"; then
+ { echo "$as_me:$LINENO: result: $MAIN_COMPRESSOR" >&5
+echo "${ECHO_T}$MAIN_COMPRESSOR" >&6; }
+else
+ { echo "$as_me:$LINENO: result: no" >&5
+echo "${ECHO_T}no" >&6; }
+fi
+
+
+ test -n "$MAIN_COMPRESSOR" && break
+done
+test -n "$MAIN_COMPRESSOR" || MAIN_COMPRESSOR="no"
+
+fi
+
+
+# Find which main_compressor to support
+
+
+case ${MAIN_COMPRESSOR} in
+ yes | gzip)
+ MAIN_COMPRESSOR=gzip # turn "yes" into default
+ cat >>confdefs.h <<_ACEOF
+#define USE_MAIN_COMPRESSOR (1 << 0)
+_ACEOF
+
+ ;;
+
+lzop)
+ MAIN_COMPRESSOR=lzop # turn "yes" into default
+ cat >>confdefs.h <<_ACEOF
+#define USE_MAIN_COMPRESSOR (1 << 1)
+_ACEOF
+
+ ;;
+
+bzip2)
+ MAIN_COMPRESSOR=bzip2 # turn "yes" into default
+ cat >>confdefs.h <<_ACEOF
+#define USE_MAIN_COMPRESSOR (1 << 2)
+_ACEOF
+
+ ;;
+
+compress)
+ MAIN_COMPRESSOR=compress # turn "yes" into default
+ cat >>confdefs.h <<_ACEOF
+#define USE_MAIN_COMPRESSOR (1 << 3)
+_ACEOF
+
+ ;;
+
+
+
+
+
+
+
+
+
+
+
+ no)
+ ;;
+ *)
+ { { echo "$as_me:$LINENO: error: Don't know how to support main_compressor \`${MAIN_COMPRESSOR}'." >&5
+echo "$as_me: error: Don't know how to support main_compressor \`${MAIN_COMPRESSOR}'." >&2;}
+ { (exit 1); exit 1; }; }
+ ;;
+esac
+
+case ${MAIN_COMPRESSOR} in
+ gzip | lzop | bzip2 | compress)
+ { echo "$as_me:$LINENO: result: Using main compressor program \`${MAIN_COMPRESSOR}'." >&5
+echo "${ECHO_T}Using main compressor program \`${MAIN_COMPRESSOR}'." >&6; }
+ ;;
+ *)
+ { echo "$as_me:$LINENO: result: Using NO main_compressor program." >&5
+echo "${ECHO_T}Using NO main_compressor program." >&6; }
+ ;;
+esac
+
+ct_cv_prog_MAIN_COMPRESSOR=${MAIN_COMPRESSOR}
+
+
+
+
+case $ct_cv_prog_MAIN_COMPRESSOR in
+ gzip)
+ COMPRESSOR_OPTS="-9"
+ COMPRESSOR_EXT="gz"
+ ;;
+ lzop)
+ COMPRESSOR_OPTS="-9"
+ COMPRESSOR_EXT="lzo"
+ ;;
+ bzip2)
+ COMPRESSOR_OPTS="-9"
+ COMPRESSOR_EXT="bz2"
+ ;;
+ compress)
+ COMPRESSOR_EXT="Z"
+ ;;
+ *)
+ ;;
+esac
+
+
+
+
+#
+####################
+
+# Allow local data dir, but not do that by default (not FSSTND-compliant ?)
+kb_localdatadir_default=/usr/local/share # iff --enable-localdatadir without specific dir
+
+# Check whether --enable-localdatadir was given.
+if test "${enable_localdatadir+set}" = set; then
+ enableval=$enable_localdatadir; case ${enableval} in
+ no) ;;
+ yes) cat >>confdefs.h <<_ACEOF
+#define LOCALDATADIR "$kb_localdatadir_default"
+_ACEOF
+ ;;
+ *) cat >>confdefs.h <<_ACEOF
+#define LOCALDATADIR "$enableval"
+_ACEOF
+ ;;
+ esac;
+
+fi
+
+
+# Additional defs to ensure consistency
+TRANSDIR=consoletrans
+FONTDIR=consolefonts
+KEYMAPDIR=keymaps
+OLDKEYMAPDIR=keytables
+VIDEOMODEDIR=videomodes
+
+
+
+
+
+
+
+# Output
+ac_config_files="$ac_config_files Makefile Make.rules doc/Makefile consolefonts/Makefile consoletrans/Makefile keymaps/Makefile"
+
+cat >confcache <<\_ACEOF
+# This file is a shell script that caches the results of configure
+# tests run on this system so they can be shared between configure
+# scripts and configure runs, see configure's option --config-cache.
+# It is not useful on other systems. If it contains results you don't
+# want to keep, you may remove or edit it.
+#
+# config.status only pays attention to the cache file if you give it
+# the --recheck option to rerun configure.
+#
+# `ac_cv_env_foo' variables (set or unset) will be overridden when
+# loading this file, other *unset* `ac_cv_foo' will be assigned the
+# following values.
+
+_ACEOF
+
+# The following way of writing the cache mishandles newlines in values,
+# but we know of no workaround that is simple, portable, and efficient.
+# So, we kill variables containing newlines.
+# Ultrix sh set writes to stderr and can't be redirected directly,
+# and sets the high bit in the cache file unless we assign to the vars.
+(
+ for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
+ eval ac_val=\$$ac_var
+ case $ac_val in #(
+ *${as_nl}*)
+ case $ac_var in #(
+ *_cv_*) { echo "$as_me:$LINENO: WARNING: Cache variable $ac_var contains a newline." >&5
+echo "$as_me: WARNING: Cache variable $ac_var contains a newline." >&2;} ;;
+ esac
+ case $ac_var in #(
+ _ | IFS | as_nl) ;; #(
+ *) $as_unset $ac_var ;;
+ esac ;;
+ esac
+ done
+
+ (set) 2>&1 |
+ case $as_nl`(ac_space=' '; set) 2>&1` in #(
+ *${as_nl}ac_space=\ *)
+ # `set' does not quote correctly, so add quotes (double-quote
+ # substitution turns \\\\ into \\, and sed turns \\ into \).
+ sed -n \
+ "s/'/'\\\\''/g;
+ s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
+ ;; #(
+ *)
+ # `set' quotes correctly as required by POSIX, so do not add quotes.
+ sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
+ ;;
+ esac |
+ sort
+) |
+ sed '
+ /^ac_cv_env_/b end
+ t clear
+ :clear
+ s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
+ t end
+ s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
+ :end' >>confcache
+if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
+ if test -w "$cache_file"; then
+ test "x$cache_file" != "x/dev/null" &&
+ { echo "$as_me:$LINENO: updating cache $cache_file" >&5
+echo "$as_me: updating cache $cache_file" >&6;}
+ cat confcache >$cache_file
+ else
+ { echo "$as_me:$LINENO: not updating unwritable cache $cache_file" >&5
+echo "$as_me: not updating unwritable cache $cache_file" >&6;}
+ fi
+fi
+rm -f confcache
+
+test "x$prefix" = xNONE && prefix=$ac_default_prefix
+# Let make expand exec_prefix.
+test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
+
+# Transform confdefs.h into DEFS.
+# Protect against shell expansion while executing Makefile rules.
+# Protect against Makefile macro expansion.
+#
+# If the first sed substitution is executed (which looks for macros that
+# take arguments), then branch to the quote section. Otherwise,
+# look for a macro that doesn't take arguments.
+ac_script='
+t clear
+:clear
+s/^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\)/-D\1=\2/g
+t quote
+s/^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)/-D\1=\2/g
+t quote
+b any
+:quote
+s/[ `~#$^&*(){}\\|;'\''"<>?]/\\&/g
+s/\[/\\&/g
+s/\]/\\&/g
+s/\$/$$/g
+H
+:any
+${
+ g
+ s/^\n//
+ s/\n/ /g
+ p
+}
+'
+DEFS=`sed -n "$ac_script" confdefs.h`
+
+
+ac_libobjs=
+ac_ltlibobjs=
+for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
+ # 1. Remove the extension, and $U if already installed.
+ ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
+ ac_i=`echo "$ac_i" | sed "$ac_script"`
+ # 2. Prepend LIBOBJDIR. When used with automake>=1.10 LIBOBJDIR
+ # will be set to the directory where LIBOBJS objects are built.
+ ac_libobjs="$ac_libobjs \${LIBOBJDIR}$ac_i\$U.$ac_objext"
+ ac_ltlibobjs="$ac_ltlibobjs \${LIBOBJDIR}$ac_i"'$U.lo'
+done
+LIBOBJS=$ac_libobjs
+
+LTLIBOBJS=$ac_ltlibobjs
+
+
+
+: ${CONFIG_STATUS=./config.status}
+ac_clean_files_save=$ac_clean_files
+ac_clean_files="$ac_clean_files $CONFIG_STATUS"
+{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
+echo "$as_me: creating $CONFIG_STATUS" >&6;}
+cat >$CONFIG_STATUS <<_ACEOF
+#! $SHELL
+# Generated by $as_me.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+debug=false
+ac_cs_recheck=false
+ac_cs_silent=false
+SHELL=\${CONFIG_SHELL-$SHELL}
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+## --------------------- ##
+## M4sh Initialization. ##
+## --------------------- ##
+
+# Be more Bourne compatible
+DUALCASE=1; export DUALCASE # for MKS sh
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+ emulate sh
+ NULLCMD=:
+ # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
+ # is contrary to our usage. Disable this feature.
+ alias -g '${1+"$@"}'='"$@"'
+ setopt NO_GLOB_SUBST
+else
+ case `(set -o) 2>/dev/null` in
+ *posix*) set -o posix ;;
+esac
+
+fi
+
+
+
+
+# PATH needs CR
+# Avoid depending upon Character Ranges.
+as_cr_letters='abcdefghijklmnopqrstuvwxyz'
+as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
+as_cr_Letters=$as_cr_letters$as_cr_LETTERS
+as_cr_digits='0123456789'
+as_cr_alnum=$as_cr_Letters$as_cr_digits
+
+# The user is always right.
+if test "${PATH_SEPARATOR+set}" != set; then
+ echo "#! /bin/sh" >conf$$.sh
+ echo "exit 0" >>conf$$.sh
+ chmod +x conf$$.sh
+ if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
+ PATH_SEPARATOR=';'
+ else
+ PATH_SEPARATOR=:
+ fi
+ rm -f conf$$.sh
+fi
+
+# Support unset when possible.
+if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
+ as_unset=unset
+else
+ as_unset=false
+fi
+
+
+# IFS
+# We need space, tab and new line, in precisely that order. Quoting is
+# there to prevent editors from complaining about space-tab.
+# (If _AS_PATH_WALK were called with IFS unset, it would disable word
+# splitting by setting IFS to empty value.)
+as_nl='
+'
+IFS=" "" $as_nl"
+
+# Find who we are. Look in the path if we contain no directory separator.
+case $0 in
+ *[\\/]* ) as_myself=$0 ;;
+ *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
+done
+IFS=$as_save_IFS
+
+ ;;
+esac
+# We did not find ourselves, most probably we were run as `sh COMMAND'
+# in which case we are not to be found in the path.
+if test "x$as_myself" = x; then
+ as_myself=$0
+fi
+if test ! -f "$as_myself"; then
+ echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
+ { (exit 1); exit 1; }
+fi
+
+# Work around bugs in pre-3.0 UWIN ksh.
+for as_var in ENV MAIL MAILPATH
+do ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+done
+PS1='$ '
+PS2='> '
+PS4='+ '
+
+# NLS nuisances.
+for as_var in \
+ LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
+ LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
+ LC_TELEPHONE LC_TIME
+do
+ if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
+ eval $as_var=C; export $as_var
+ else
+ ($as_unset $as_var) >/dev/null 2>&1 && $as_unset $as_var
+ fi
+done
+
+# Required to use basename.
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
+ as_basename=basename
+else
+ as_basename=false
+fi
+
+
+# Name of the executable.
+as_me=`$as_basename -- "$0" ||
+$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
+ X"$0" : 'X\(//\)$' \| \
+ X"$0" : 'X\(/\)' \| . 2>/dev/null ||
+echo X/"$0" |
+ sed '/^.*\/\([^/][^/]*\)\/*$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\/\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+
+# CDPATH.
+$as_unset CDPATH
+
+
+
+ as_lineno_1=$LINENO
+ as_lineno_2=$LINENO
+ test "x$as_lineno_1" != "x$as_lineno_2" &&
+ test "x`expr $as_lineno_1 + 1`" = "x$as_lineno_2" || {
+
+ # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
+ # uniformly replaced by the line number. The first 'sed' inserts a
+ # line-number line after each line using $LINENO; the second 'sed'
+ # does the real work. The second script uses 'N' to pair each
+ # line-number line with the line containing $LINENO, and appends
+ # trailing '-' during substitution so that $LINENO is not a special
+ # case at line end.
+ # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
+ # scripts with optimization help from Paolo Bonzini. Blame Lee
+ # E. McMahon (1931-1989) for sed's syntax. :-)
+ sed -n '
+ p
+ /[$]LINENO/=
+ ' <$as_myself |
+ sed '
+ s/[$]LINENO.*/&-/
+ t lineno
+ b
+ :lineno
+ N
+ :loop
+ s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
+ t loop
+ s/-\n.*//
+ ' >$as_me.lineno &&
+ chmod +x "$as_me.lineno" ||
+ { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
+ { (exit 1); exit 1; }; }
+
+ # Don't try to exec as it changes $[0], causing all sort of problems
+ # (the dirname of $[0] is not the place where we might find the
+ # original and so on. Autoconf is especially sensitive to this).
+ . "./$as_me.lineno"
+ # Exit status is that of the last command.
+ exit
+}
+
+
+if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
+ as_dirname=dirname
+else
+ as_dirname=false
+fi
+
+ECHO_C= ECHO_N= ECHO_T=
+case `echo -n x` in
+-n*)
+ case `echo 'x\c'` in
+ *c*) ECHO_T=' ';; # ECHO_T is single tab character.
+ *) ECHO_C='\c';;
+ esac;;
+*)
+ ECHO_N='-n';;
+esac
+
+if expr a : '\(a\)' >/dev/null 2>&1 &&
+ test "X`expr 00001 : '.*\(...\)'`" = X001; then
+ as_expr=expr
+else
+ as_expr=false
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+if test -d conf$$.dir; then
+ rm -f conf$$.dir/conf$$.file
+else
+ rm -f conf$$.dir
+ mkdir conf$$.dir
+fi
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s='ln -s'
+ # ... but there are two gotchas:
+ # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
+ # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
+ # In both cases, we have to default to `cp -p'.
+ ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
+ as_ln_s='cp -p'
+elif ln conf$$.file conf$$ 2>/dev/null; then
+ as_ln_s=ln
+else
+ as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
+rmdir conf$$.dir 2>/dev/null
+
+if mkdir -p . 2>/dev/null; then
+ as_mkdir_p=:
+else
+ test -d ./-p && rmdir ./-p
+ as_mkdir_p=false
+fi
+
+if test -x / >/dev/null 2>&1; then
+ as_test_x='test -x'
+else
+ if ls -dL / >/dev/null 2>&1; then
+ as_ls_L_option=L
+ else
+ as_ls_L_option=
+ fi
+ as_test_x='
+ eval sh -c '\''
+ if test -d "$1"; then
+ test -d "$1/.";
+ else
+ case $1 in
+ -*)set "./$1";;
+ esac;
+ case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in
+ ???[sx]*):;;*)false;;esac;fi
+ '\'' sh
+ '
+fi
+as_executable_p=$as_test_x
+
+# Sed expression to map a string onto a valid CPP name.
+as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
+
+# Sed expression to map a string onto a valid variable name.
+as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
+
+
+exec 6>&1
+
+# Save the log message, to keep $[0] and so on meaningful, and to
+# report actual input values of CONFIG_FILES etc. instead of their
+# values after options handling.
+ac_log="
+This file was extended by $as_me, which was
+generated by GNU Autoconf 2.61. Invocation command line was
+
+ CONFIG_FILES = $CONFIG_FILES
+ CONFIG_HEADERS = $CONFIG_HEADERS
+ CONFIG_LINKS = $CONFIG_LINKS
+ CONFIG_COMMANDS = $CONFIG_COMMANDS
+ $ $0 $@
+
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<_ACEOF
+# Files that config.status was made for.
+config_files="$ac_config_files"
+
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+ -h, --help print this help, then exit
+ -V, --version print version number and configuration settings, then exit
+ -q, --quiet do not print progress messages
+ -d, --debug don't remove temporary files
+ --recheck update $as_me by reconfiguring in the same conditions
+ --file=FILE[:TEMPLATE]
+ instantiate the configuration file FILE
+
+Configuration files:
+$config_files
+
+Report bugs to <bug-autoconf@gnu.org>."
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+ac_cs_version="\\
+config.status
+configured by $0, generated by GNU Autoconf 2.61,
+ with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
+
+Copyright (C) 2006 Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+
+ac_pwd='$ac_pwd'
+srcdir='$srcdir'
+INSTALL='$INSTALL'
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If no file are specified by the user, then we need to provide default
+# value. By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+ case $1 in
+ --*=*)
+ ac_option=`expr "X$1" : 'X\([^=]*\)='`
+ ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
+ ac_shift=:
+ ;;
+ *)
+ ac_option=$1
+ ac_optarg=$2
+ ac_shift=shift
+ ;;
+ esac
+
+ case $ac_option in
+ # Handling of the options.
+ -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+ ac_cs_recheck=: ;;
+ --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
+ echo "$ac_cs_version"; exit ;;
+ --debug | --debu | --deb | --de | --d | -d )
+ debug=: ;;
+ --file | --fil | --fi | --f )
+ $ac_shift
+ CONFIG_FILES="$CONFIG_FILES $ac_optarg"
+ ac_need_defaults=false;;
+ --he | --h | --help | --hel | -h )
+ echo "$ac_cs_usage"; exit ;;
+ -q | -quiet | --quiet | --quie | --qui | --qu | --q \
+ | -silent | --silent | --silen | --sile | --sil | --si | --s)
+ ac_cs_silent=: ;;
+
+ # This is an error.
+ -*) { echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2
+ { (exit 1); exit 1; }; } ;;
+
+ *) ac_config_targets="$ac_config_targets $1"
+ ac_need_defaults=false ;;
+
+ esac
+ shift
+done
+
+ac_configure_extra_args=
+
+if $ac_cs_silent; then
+ exec 6>/dev/null
+ ac_configure_extra_args="$ac_configure_extra_args --silent"
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+if \$ac_cs_recheck; then
+ echo "running CONFIG_SHELL=$SHELL $SHELL $0 "$ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
+ CONFIG_SHELL=$SHELL
+ export CONFIG_SHELL
+ exec $SHELL "$0"$ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
+fi
+
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+exec 5>>config.log
+{
+ echo
+ sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
+## Running $as_me. ##
+_ASBOX
+ echo "$ac_log"
+} >&5
+
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+
+# Handling of arguments.
+for ac_config_target in $ac_config_targets
+do
+ case $ac_config_target in
+ "Makefile") CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+ "Make.rules") CONFIG_FILES="$CONFIG_FILES Make.rules" ;;
+ "doc/Makefile") CONFIG_FILES="$CONFIG_FILES doc/Makefile" ;;
+ "consolefonts/Makefile") CONFIG_FILES="$CONFIG_FILES consolefonts/Makefile" ;;
+ "consoletrans/Makefile") CONFIG_FILES="$CONFIG_FILES consoletrans/Makefile" ;;
+ "keymaps/Makefile") CONFIG_FILES="$CONFIG_FILES keymaps/Makefile" ;;
+
+ *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+done
+
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used. Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if $ac_need_defaults; then
+ test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+fi
+
+# Have a temporary directory for convenience. Make it in the build tree
+# simply because there is no reason against having it here, and in addition,
+# creating and moving files from /tmp can sometimes cause problems.
+# Hook for its removal unless debugging.
+# Note that there is a small window in which the directory will not be cleaned:
+# after its creation but before its name has been assigned to `$tmp'.
+$debug ||
+{
+ tmp=
+ trap 'exit_status=$?
+ { test -z "$tmp" || test ! -d "$tmp" || rm -fr "$tmp"; } && exit $exit_status
+' 0
+ trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+# Create a (secure) tmp directory for tmp files.
+
+{
+ tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
+ test -n "$tmp" && test -d "$tmp"
+} ||
+{
+ tmp=./conf$$-$RANDOM
+ (umask 077 && mkdir "$tmp")
+} ||
+{
+ echo "$me: cannot create a temporary directory in ." >&2
+ { (exit 1); exit 1; }
+}
+
+#
+# Set up the sed scripts for CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "$CONFIG_FILES"; then
+
+_ACEOF
+
+
+
+ac_delim='%!_!# '
+for ac_last_try in false false false false false :; do
+ cat >conf$$subs.sed <<_ACEOF
+SHELL!$SHELL$ac_delim
+PATH_SEPARATOR!$PATH_SEPARATOR$ac_delim
+PACKAGE_NAME!$PACKAGE_NAME$ac_delim
+PACKAGE_TARNAME!$PACKAGE_TARNAME$ac_delim
+PACKAGE_VERSION!$PACKAGE_VERSION$ac_delim
+PACKAGE_STRING!$PACKAGE_STRING$ac_delim
+PACKAGE_BUGREPORT!$PACKAGE_BUGREPORT$ac_delim
+exec_prefix!$exec_prefix$ac_delim
+prefix!$prefix$ac_delim
+program_transform_name!$program_transform_name$ac_delim
+bindir!$bindir$ac_delim
+sbindir!$sbindir$ac_delim
+libexecdir!$libexecdir$ac_delim
+datarootdir!$datarootdir$ac_delim
+datadir!$datadir$ac_delim
+sysconfdir!$sysconfdir$ac_delim
+sharedstatedir!$sharedstatedir$ac_delim
+localstatedir!$localstatedir$ac_delim
+includedir!$includedir$ac_delim
+oldincludedir!$oldincludedir$ac_delim
+docdir!$docdir$ac_delim
+infodir!$infodir$ac_delim
+htmldir!$htmldir$ac_delim
+dvidir!$dvidir$ac_delim
+pdfdir!$pdfdir$ac_delim
+psdir!$psdir$ac_delim
+libdir!$libdir$ac_delim
+localedir!$localedir$ac_delim
+mandir!$mandir$ac_delim
+DEFS!$DEFS$ac_delim
+ECHO_C!$ECHO_C$ac_delim
+ECHO_N!$ECHO_N$ac_delim
+ECHO_T!$ECHO_T$ac_delim
+LIBS!$LIBS$ac_delim
+build_alias!$build_alias$ac_delim
+host_alias!$host_alias$ac_delim
+target_alias!$target_alias$ac_delim
+INSTALL_PROGRAM!$INSTALL_PROGRAM$ac_delim
+INSTALL_SCRIPT!$INSTALL_SCRIPT$ac_delim
+INSTALL_DATA!$INSTALL_DATA$ac_delim
+CYGPATH_W!$CYGPATH_W$ac_delim
+PACKAGE!$PACKAGE$ac_delim
+VERSION!$VERSION$ac_delim
+ACLOCAL!$ACLOCAL$ac_delim
+AUTOCONF!$AUTOCONF$ac_delim
+AUTOMAKE!$AUTOMAKE$ac_delim
+AUTOHEADER!$AUTOHEADER$ac_delim
+MAKEINFO!$MAKEINFO$ac_delim
+install_sh!$install_sh$ac_delim
+STRIP!$STRIP$ac_delim
+INSTALL_STRIP_PROGRAM!$INSTALL_STRIP_PROGRAM$ac_delim
+mkdir_p!$mkdir_p$ac_delim
+AWK!$AWK$ac_delim
+SET_MAKE!$SET_MAKE$ac_delim
+am__leading_dot!$am__leading_dot$ac_delim
+AMTAR!$AMTAR$ac_delim
+am__tar!$am__tar$ac_delim
+am__untar!$am__untar$ac_delim
+MAIN_COMPRESSOR!$MAIN_COMPRESSOR$ac_delim
+COMPRESSOR_OPTS!$COMPRESSOR_OPTS$ac_delim
+COMPRESSOR_EXT!$COMPRESSOR_EXT$ac_delim
+TRANSDIR!$TRANSDIR$ac_delim
+FONTDIR!$FONTDIR$ac_delim
+KEYMAPDIR!$KEYMAPDIR$ac_delim
+OLDKEYMAPDIR!$OLDKEYMAPDIR$ac_delim
+VIDEOMODEDIR!$VIDEOMODEDIR$ac_delim
+LIBOBJS!$LIBOBJS$ac_delim
+LTLIBOBJS!$LTLIBOBJS$ac_delim
+_ACEOF
+
+ if test `sed -n "s/.*$ac_delim\$/X/p" conf$$subs.sed | grep -c X` = 68; then
+ break
+ elif $ac_last_try; then
+ { { echo "$as_me:$LINENO: error: could not make $CONFIG_STATUS" >&5
+echo "$as_me: error: could not make $CONFIG_STATUS" >&2;}
+ { (exit 1); exit 1; }; }
+ else
+ ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
+ fi
+done
+
+ac_eof=`sed -n '/^CEOF[0-9]*$/s/CEOF/0/p' conf$$subs.sed`
+if test -n "$ac_eof"; then
+ ac_eof=`echo "$ac_eof" | sort -nru | sed 1q`
+ ac_eof=`expr $ac_eof + 1`
+fi
+
+cat >>$CONFIG_STATUS <<_ACEOF
+cat >"\$tmp/subs-1.sed" <<\CEOF$ac_eof
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b end
+_ACEOF
+sed '
+s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g
+s/^/s,@/; s/!/@,|#_!!_#|/
+:n
+t n
+s/'"$ac_delim"'$/,g/; t
+s/$/\\/; p
+N; s/^.*\n//; s/[,\\&]/\\&/g; s/@/@|#_!!_#|/g; b n
+' >>$CONFIG_STATUS <conf$$subs.sed
+rm -f conf$$subs.sed
+cat >>$CONFIG_STATUS <<_ACEOF
+:end
+s/|#_!!_#|//g
+CEOF$ac_eof
+_ACEOF
+
+
+# VPATH may cause trouble with some makes, so we remove $(srcdir),
+# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and
+# trailing colons and then remove the whole line if VPATH becomes empty
+# (actually we leave an empty line to preserve line numbers).
+if test "x$srcdir" = x.; then
+ ac_vpsub='/^[ ]*VPATH[ ]*=/{
+s/:*\$(srcdir):*/:/
+s/:*\${srcdir}:*/:/
+s/:*@srcdir@:*/:/
+s/^\([^=]*=[ ]*\):*/\1/
+s/:*$//
+s/^[^=]*=[ ]*$//
+}'
+fi
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+fi # test -n "$CONFIG_FILES"
+
+
+for ac_tag in :F $CONFIG_FILES
+do
+ case $ac_tag in
+ :[FHLC]) ac_mode=$ac_tag; continue;;
+ esac
+ case $ac_mode$ac_tag in
+ :[FHL]*:*);;
+ :L* | :C*:*) { { echo "$as_me:$LINENO: error: Invalid tag $ac_tag." >&5
+echo "$as_me: error: Invalid tag $ac_tag." >&2;}
+ { (exit 1); exit 1; }; };;
+ :[FH]-) ac_tag=-:-;;
+ :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
+ esac
+ ac_save_IFS=$IFS
+ IFS=:
+ set x $ac_tag
+ IFS=$ac_save_IFS
+ shift
+ ac_file=$1
+ shift
+
+ case $ac_mode in
+ :L) ac_source=$1;;
+ :[FH])
+ ac_file_inputs=
+ for ac_f
+ do
+ case $ac_f in
+ -) ac_f="$tmp/stdin";;
+ *) # Look for the file first in the build tree, then in the source tree
+ # (if the path is not absolute). The absolute path cannot be DOS-style,
+ # because $ac_f cannot contain `:'.
+ test -f "$ac_f" ||
+ case $ac_f in
+ [\\/$]*) false;;
+ *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
+ esac ||
+ { { echo "$as_me:$LINENO: error: cannot find input file: $ac_f" >&5
+echo "$as_me: error: cannot find input file: $ac_f" >&2;}
+ { (exit 1); exit 1; }; };;
+ esac
+ ac_file_inputs="$ac_file_inputs $ac_f"
+ done
+
+ # Let's still pretend it is `configure' which instantiates (i.e., don't
+ # use $as_me), people would be surprised to read:
+ # /* config.h. Generated by config.status. */
+ configure_input="Generated from "`IFS=:
+ echo $* | sed 's|^[^:]*/||;s|:[^:]*/|, |g'`" by configure."
+ if test x"$ac_file" != x-; then
+ configure_input="$ac_file. $configure_input"
+ { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ fi
+
+ case $ac_tag in
+ *:-:* | *:-) cat >"$tmp/stdin";;
+ esac
+ ;;
+ esac
+
+ ac_dir=`$as_dirname -- "$ac_file" ||
+$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$ac_file" : 'X\(//\)[^/]' \| \
+ X"$ac_file" : 'X\(//\)$' \| \
+ X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$ac_file" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ { as_dir="$ac_dir"
+ case $as_dir in #(
+ -*) as_dir=./$as_dir;;
+ esac
+ test -d "$as_dir" || { $as_mkdir_p && mkdir -p "$as_dir"; } || {
+ as_dirs=
+ while :; do
+ case $as_dir in #(
+ *\'*) as_qdir=`echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #(
+ *) as_qdir=$as_dir;;
+ esac
+ as_dirs="'$as_qdir' $as_dirs"
+ as_dir=`$as_dirname -- "$as_dir" ||
+$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+ X"$as_dir" : 'X\(//\)[^/]' \| \
+ X"$as_dir" : 'X\(//\)$' \| \
+ X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
+echo X"$as_dir" |
+ sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)[^/].*/{
+ s//\1/
+ q
+ }
+ /^X\(\/\/\)$/{
+ s//\1/
+ q
+ }
+ /^X\(\/\).*/{
+ s//\1/
+ q
+ }
+ s/.*/./; q'`
+ test -d "$as_dir" && break
+ done
+ test -z "$as_dirs" || eval "mkdir $as_dirs"
+ } || test -d "$as_dir" || { { echo "$as_me:$LINENO: error: cannot create directory $as_dir" >&5
+echo "$as_me: error: cannot create directory $as_dir" >&2;}
+ { (exit 1); exit 1; }; }; }
+ ac_builddir=.
+
+case "$ac_dir" in
+.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
+*)
+ ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
+ # A ".." for each directory in $ac_dir_suffix.
+ ac_top_builddir_sub=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,/..,g;s,/,,'`
+ case $ac_top_builddir_sub in
+ "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
+ *) ac_top_build_prefix=$ac_top_builddir_sub/ ;;
+ esac ;;
+esac
+ac_abs_top_builddir=$ac_pwd
+ac_abs_builddir=$ac_pwd$ac_dir_suffix
+# for backward compatibility:
+ac_top_builddir=$ac_top_build_prefix
+
+case $srcdir in
+ .) # We are building in place.
+ ac_srcdir=.
+ ac_top_srcdir=$ac_top_builddir_sub
+ ac_abs_top_srcdir=$ac_pwd ;;
+ [\\/]* | ?:[\\/]* ) # Absolute name.
+ ac_srcdir=$srcdir$ac_dir_suffix;
+ ac_top_srcdir=$srcdir
+ ac_abs_top_srcdir=$srcdir ;;
+ *) # Relative name.
+ ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
+ ac_top_srcdir=$ac_top_build_prefix$srcdir
+ ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
+esac
+ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
+
+
+ case $ac_mode in
+ :F)
+ #
+ # CONFIG_FILE
+ #
+
+ case $INSTALL in
+ [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+ *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
+ esac
+_ACEOF
+
+cat >>$CONFIG_STATUS <<\_ACEOF
+# If the template does not know about datarootdir, expand it.
+# FIXME: This hack should be removed a few years after 2.60.
+ac_datarootdir_hack=; ac_datarootdir_seen=
+
+case `sed -n '/datarootdir/ {
+ p
+ q
+}
+/@datadir@/p
+/@docdir@/p
+/@infodir@/p
+/@localedir@/p
+/@mandir@/p
+' $ac_file_inputs` in
+*datarootdir*) ac_datarootdir_seen=yes;;
+*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
+ { echo "$as_me:$LINENO: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
+echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
+_ACEOF
+cat >>$CONFIG_STATUS <<_ACEOF
+ ac_datarootdir_hack='
+ s&@datadir@&$datadir&g
+ s&@docdir@&$docdir&g
+ s&@infodir@&$infodir&g
+ s&@localedir@&$localedir&g
+ s&@mandir@&$mandir&g
+ s&\\\${datarootdir}&$datarootdir&g' ;;
+esac
+_ACEOF
+
+# Neutralize VPATH when `$srcdir' = `.'.
+# Shell code in configure.ac might set extrasub.
+# FIXME: do we really want to maintain this feature?
+cat >>$CONFIG_STATUS <<_ACEOF
+ sed "$ac_vpsub
+$extrasub
+_ACEOF
+cat >>$CONFIG_STATUS <<\_ACEOF
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s&@configure_input@&$configure_input&;t t
+s&@top_builddir@&$ac_top_builddir_sub&;t t
+s&@srcdir@&$ac_srcdir&;t t
+s&@abs_srcdir@&$ac_abs_srcdir&;t t
+s&@top_srcdir@&$ac_top_srcdir&;t t
+s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
+s&@builddir@&$ac_builddir&;t t
+s&@abs_builddir@&$ac_abs_builddir&;t t
+s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
+s&@INSTALL@&$ac_INSTALL&;t t
+$ac_datarootdir_hack
+" $ac_file_inputs | sed -f "$tmp/subs-1.sed" >$tmp/out
+
+test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
+ { ac_out=`sed -n '/\${datarootdir}/p' "$tmp/out"`; test -n "$ac_out"; } &&
+ { ac_out=`sed -n '/^[ ]*datarootdir[ ]*:*=/p' "$tmp/out"`; test -z "$ac_out"; } &&
+ { echo "$as_me:$LINENO: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&5
+echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
+which seems to be undefined. Please make sure it is defined." >&2;}
+
+ rm -f "$tmp/stdin"
+ case $ac_file in
+ -) cat "$tmp/out"; rm -f "$tmp/out";;
+ *) rm -f "$ac_file"; mv "$tmp/out" $ac_file;;
+ esac
+ ;;
+
+
+
+ esac
+
+done # for ac_tag
+
+
+{ (exit 0); exit 0; }
+_ACEOF
+chmod +x $CONFIG_STATUS
+ac_clean_files=$ac_clean_files_save
+
+
+# configure is writing to config.log, and then calls config.status.
+# config.status does its own redirection, appending to config.log.
+# Unfortunately, on DOS this fails, as config.log is still kept open
+# by configure, so config.status won't be able to write to it; its
+# output is simply discarded. So we exec the FD to /dev/null,
+# effectively closing config.log, so it can be properly (re)opened and
+# appended to by config.status. When coming back to configure, we
+# need to make the FD available again.
+if test "$no_create" != yes; then
+ ac_cs_success=:
+ ac_config_status_args=
+ test "$silent" = yes &&
+ ac_config_status_args="$ac_config_status_args --quiet"
+ exec 5>/dev/null
+ $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
+ exec 5>>config.log
+ # Use ||, not &&, to avoid exiting from the if with $? = 1, which
+ # would make configure fail if this is the last instruction.
+ $ac_cs_success || { (exit 1); exit 1; }
+fi
+
diff --git a/configure.in b/configure.in
new file mode 100644
index 0000000..e8bda3c
--- /dev/null
+++ b/configure.in
@@ -0,0 +1,68 @@
+dnl -*- sh -*-
+dnl Process this file with autoconf to produce a configure script.
+
+# Initialize
+AC_INIT(keymaps/i386/qwerty/us.kmap)
+
+#AC_CONFIG_AUX_DIR(autoconf)
+AM_INIT_AUTOMAKE(console-data, 20005.12.14)
+
+# Defaults
+AC_PREFIX_DEFAULT(/usr)
+
+ct_CHECK_WITH_PROGS([main_compressor], [gzip lzop bzip2 compress])
+
+case $ct_cv_prog_MAIN_COMPRESSOR in
+ gzip)
+ COMPRESSOR_OPTS="-9"
+ COMPRESSOR_EXT="gz"
+ ;;
+ lzop)
+ COMPRESSOR_OPTS="-9"
+ COMPRESSOR_EXT="lzo"
+ ;;
+ bzip2)
+ COMPRESSOR_OPTS="-9"
+ COMPRESSOR_EXT="bz2"
+ ;;
+ compress)
+ COMPRESSOR_EXT="Z"
+ ;;
+ *)
+ ;;
+esac
+AC_SUBST(COMPRESSOR_OPTS)
+AC_SUBST(COMPRESSOR_EXT)
+
+
+#
+####################
+
+# Allow local data dir, but not do that by default (not FSSTND-compliant ?)
+kb_localdatadir_default=/usr/local/share # iff --enable-localdatadir without specific dir
+
+AC_ARG_ENABLE([localdatadir],
+ [ --enable-localdatadir additional directory to search for data files [NONE]],
+ [ case ${enableval} in
+ no) ;;
+ yes) ] AC_DEFINE_UNQUOTED(LOCALDATADIR, "$kb_localdatadir_default") [ ;;
+ *) ] AC_DEFINE_UNQUOTED(LOCALDATADIR, "$enableval") [ ;;
+ esac;
+ ])
+
+# Additional defs to ensure consistency
+TRANSDIR=consoletrans
+FONTDIR=consolefonts
+KEYMAPDIR=keymaps
+OLDKEYMAPDIR=keytables
+VIDEOMODEDIR=videomodes
+
+AC_SUBST(TRANSDIR)
+AC_SUBST(FONTDIR)
+AC_SUBST(KEYMAPDIR)
+AC_SUBST(OLDKEYMAPDIR)
+AC_SUBST(VIDEOMODEDIR)
+
+# Output
+AC_OUTPUT([Makefile Make.rules doc/Makefile
+ consolefonts/Makefile consoletrans/Makefile keymaps/Makefile])
diff --git a/consolefonts/161.cp b/consolefonts/161.cp
new file mode 100644
index 0000000..39d43f8
--- /dev/null
+++ b/consolefonts/161.cp
Binary files differ
diff --git a/consolefonts/162.cp b/consolefonts/162.cp
new file mode 100644
index 0000000..e5c0be1
--- /dev/null
+++ b/consolefonts/162.cp
Binary files differ
diff --git a/consolefonts/163.cp b/consolefonts/163.cp
new file mode 100644
index 0000000..599e438
--- /dev/null
+++ b/consolefonts/163.cp
Binary files differ
diff --git a/consolefonts/164.cp b/consolefonts/164.cp
new file mode 100644
index 0000000..d1e5960
--- /dev/null
+++ b/consolefonts/164.cp
Binary files differ
diff --git a/consolefonts/165.cp b/consolefonts/165.cp
new file mode 100644
index 0000000..dc74dcf
--- /dev/null
+++ b/consolefonts/165.cp
Binary files differ
diff --git a/consolefonts/737.cp b/consolefonts/737.cp
new file mode 100644
index 0000000..e435177
--- /dev/null
+++ b/consolefonts/737.cp
Binary files differ
diff --git a/consolefonts/880.cp b/consolefonts/880.cp
new file mode 100644
index 0000000..35aed04
--- /dev/null
+++ b/consolefonts/880.cp
Binary files differ
diff --git a/consolefonts/972.cp b/consolefonts/972.cp
new file mode 100644
index 0000000..bd5c912
--- /dev/null
+++ b/consolefonts/972.cp
Binary files differ
diff --git a/consolefonts/Cyr_a8x14.psf b/consolefonts/Cyr_a8x14.psf
new file mode 100644
index 0000000..b6d4d91
--- /dev/null
+++ b/consolefonts/Cyr_a8x14.psf
Binary files differ
diff --git a/consolefonts/Cyr_a8x16.psf b/consolefonts/Cyr_a8x16.psf
new file mode 100644
index 0000000..0560c32
--- /dev/null
+++ b/consolefonts/Cyr_a8x16.psf
Binary files differ
diff --git a/consolefonts/Cyr_a8x8.psf b/consolefonts/Cyr_a8x8.psf
new file mode 100644
index 0000000..3db79aa
--- /dev/null
+++ b/consolefonts/Cyr_a8x8.psf
Binary files differ
diff --git a/consolefonts/Goha-12.psf b/consolefonts/Goha-12.psf
new file mode 100644
index 0000000..3658be4
--- /dev/null
+++ b/consolefonts/Goha-12.psf
Binary files differ
diff --git a/consolefonts/Goha-14.psf b/consolefonts/Goha-14.psf
new file mode 100644
index 0000000..8676e7d
--- /dev/null
+++ b/consolefonts/Goha-14.psf
Binary files differ
diff --git a/consolefonts/Goha-16.psf b/consolefonts/Goha-16.psf
new file mode 100644
index 0000000..ba08b63
--- /dev/null
+++ b/consolefonts/Goha-16.psf
Binary files differ
diff --git a/consolefonts/GohaClassic-12.psf b/consolefonts/GohaClassic-12.psf
new file mode 100644
index 0000000..860994b
--- /dev/null
+++ b/consolefonts/GohaClassic-12.psf
Binary files differ
diff --git a/consolefonts/GohaClassic-14.psf b/consolefonts/GohaClassic-14.psf
new file mode 100644
index 0000000..f529293
--- /dev/null
+++ b/consolefonts/GohaClassic-14.psf
Binary files differ
diff --git a/consolefonts/GohaClassic-16.psf b/consolefonts/GohaClassic-16.psf
new file mode 100644
index 0000000..491f271
--- /dev/null
+++ b/consolefonts/GohaClassic-16.psf
Binary files differ
diff --git a/consolefonts/LatArCyrHeb-08.psf b/consolefonts/LatArCyrHeb-08.psf
new file mode 100644
index 0000000..5528f74
--- /dev/null
+++ b/consolefonts/LatArCyrHeb-08.psf
Binary files differ
diff --git a/consolefonts/LatArCyrHeb-14.psf b/consolefonts/LatArCyrHeb-14.psf
new file mode 100644
index 0000000..a1b9346
--- /dev/null
+++ b/consolefonts/LatArCyrHeb-14.psf
Binary files differ
diff --git a/consolefonts/LatArCyrHeb-16+.psf b/consolefonts/LatArCyrHeb-16+.psf
new file mode 100644
index 0000000..03566c3
--- /dev/null
+++ b/consolefonts/LatArCyrHeb-16+.psf
Binary files differ
diff --git a/consolefonts/LatArCyrHeb-16.psf b/consolefonts/LatArCyrHeb-16.psf
new file mode 100644
index 0000000..4b68ed1
--- /dev/null
+++ b/consolefonts/LatArCyrHeb-16.psf
Binary files differ
diff --git a/consolefonts/LatArCyrHeb-19.psf b/consolefonts/LatArCyrHeb-19.psf
new file mode 100644
index 0000000..2796b7b
--- /dev/null
+++ b/consolefonts/LatArCyrHeb-19.psf
Binary files differ
diff --git a/consolefonts/Makefile.am b/consolefonts/Makefile.am
new file mode 100644
index 0000000..ab4ebc7
--- /dev/null
+++ b/consolefonts/Makefile.am
@@ -0,0 +1,98 @@
+# -*- makefile -*-
+
+AUTOMAKE_OPTIONS = foreign
+
+include $(top_builddir)/Make.rules
+
+EXTRA_DIST = $(PSF_FILES) $(CP_FILES)
+
+pkgdatadir = $(datadir)/$(FONTDIR)
+
+pkgdata_DATA = $(PSF_FILES:=.$(COMPRESSOR_EXT)) $(CP_FILES)
+
+CLEANFILES = $(PSF_FILES:=.$(COMPRESSOR_EXT))
+
+CP_FILES = \
+161.cp 162.cp 163.cp 164.cp 165.cp 737.cp 880.cp 972.cp
+
+PSF_FILES = \
+latarcyrheb-sun16.psf cp857-8x14.psf cp857-8x16.psf \
+cp857-8x8.psf iso02g.psf iso03g.psf lat0-08.psf lat0-10.psf \
+lat0-12.psf lat0-14.psf lat0-16.psf lat0-16.sbf lat1u-16.sbf \
+lat2u-08.psf lat2u-10.psf lat2u-12.psf lat2u-14.psf lat5u-16.psf \
+\
+Goha-12.psf Goha-14.psf Goha-16.psf \
+GohaClassic-12.psf GohaClassic-14.psf GohaClassic-16.psf \
+\
+Cyr_a8x14.psf Cyr_a8x16.psf Cyr_a8x8.psf \
+\
+LatArCyrHeb-08.psf LatArCyrHeb-14.psf LatArCyrHeb-16+.psf LatArCyrHeb-16.psf \
+LatArCyrHeb-19.psf \
+\
+Mik_8x16.psf alt-8x14.psf alt-8x16.psf alt-8x8.psf \
+altb-8x16.psf altc-8x16.psf aply16.psf \
+\
+cp850-8x14.psf cp850-8x16.psf cp850-8x8.psf \
+cp865-8x14.psf cp865-8x16.psf cp865-8x8.psf \
+cp866-8x16.psf \
+\
+def2_8x16.psf default8x16.psf default8x9.psf \
+\
+gr.f14.psf gr.f16.psf gr8x14.psf \
+gr8x16.psf gr8x6.psf gr8x7.psf gr8x8.psf greek.psf \
+\
+gr737-8x8-2.psf gr737-8x8.psf gr737-9x14-2.psf gr737-9x14.psf \
+gr737-9x16-2.psf gr737-9x16-medieval.psf gr737-9x16.psf \
+\
+grcourier.psf grfixed.psf \
+\
+iso01.f08.psf iso01.f14.psf iso01.f16.psf \
+iso01a-8x14.psf iso01a-8x16.psf iso01a-8x8.psf \
+iso02.f08.psf iso02.f14.psf iso02.f16.psf \
+iso03.f08.psf iso03.f14.psf iso03.f16.psf \
+iso04.f08.psf iso04.f14.psf iso04.f16.psf \
+iso05.f08.psf iso05.f14.psf iso05.f16.psf \
+iso06.f08.psf iso06.f14.psf iso06.f16.psf \
+iso07.f08.psf iso07.f14.psf iso07.f16.psf \
+iso08.f08.psf iso08.f14.psf iso08.f16.psf \
+iso09.f08.psf iso09.f14.psf iso09.f16.psf \
+iso10.f08.psf iso10.f14.psf iso10.f16.psf \
+iso14.f16.psf \
+\
+koi8-14.psf \
+koi8-8x14.psf koi8-8x16.psf koi8-8x8.psf \
+koi8b-8x16.psf koi8c-8x16.psf \
+koi8r-8x8.psf \
+koi8u_8x14.psf koi8u_8x16.psf koi8u_8x8.psf \
+\
+ruscii_8x14.psf ruscii_8x16.psf ruscii_8x8.psf \
+\
+lat1-08.psf lat1-10.psf lat1-12.psf lat1-14.psf lat1-16.psf \
+lat1u-08.psf lat1u-10.psf lat1u-12.psf lat1u-14.psf lat1u-16.psf \
+lat2-08.psf lat2-10.psf lat2-12.psf lat2-14.psf lat2-16.psf \
+lat2u-16.psf \
+lat4-08.psf lat4-10.psf lat4-12.psf lat4-14.psf lat4-16+.psf lat4-16.psf lat4-19.psf \
+lat4u-08.psf lat4u-10.psf lat4u-12.psf lat4u-14.psf lat4u-16+.psf lat4u-16.psf lat4u-19.psf \
+lat4a-08.psf lat4a-10.psf lat4a-12.psf lat4a-14.psf lat4a-16+.psf lat4a-16.psf lat4a-19.psf \
+lat7-14.psf \
+\
+lat0-sun16.psf lat2-sun16.psf \
+\
+lat9-08.psf lat9-16.psf lat9u-14.psf lat9v-12.psf lat9w-10.psf \
+lat9-10.psf lat9u-08.psf lat9u-16.psf lat9v-14.psf lat9w-12.psf \
+lat9-12.psf lat9u-10.psf lat9v-08.psf lat9v-16.psf lat9w-14.psf \
+lat9-14.psf lat9u-12.psf lat9v-10.psf lat9w-08.psf lat9w-16.psf \
+\
+lat9wbrl-08.psf lat9wbrl-10.psf lat9wbrl-12.psf \
+lat9wbrl-14.psf lat9wbrl-16.psf \
+\
+arm8.psf \
+\
+t850b.psf tcvn8x16.psf viscii10-8x16.psf \
+ka8x16thin-1.psf \
+\
+tis-phaisarn.f16.psf tis-ptconsl.f16.psf \
+tis-ptlight.f16.psf tis-ptsmall.f16.psf \
+tis-ptcufont.f20.psf tis-ptramafo.f20.psf \
+tis-ptkmfont.f24.psf
+
diff --git a/consolefonts/Makefile.in b/consolefonts/Makefile.in
new file mode 100644
index 0000000..a193e6b
--- /dev/null
+++ b/consolefonts/Makefile.in
@@ -0,0 +1,225 @@
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+# -*- makefile -*-
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AMTAR = @AMTAR@
+AWK = @AWK@
+CC = @CC@
+COMPRESSOR_EXT = @COMPRESSOR_EXT@
+COMPRESSOR_OPTS = @COMPRESSOR_OPTS@
+CXX = @CXX@
+CYGPATH_W = @CYGPATH_W@
+FONTDIR = @FONTDIR@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+KEYMAPDIR = @KEYMAPDIR@
+MAKEINFO = @MAKEINFO@
+OLDKEYMAPDIR = @OLDKEYMAPDIR@
+PACKAGE = @PACKAGE@
+STRIP = @STRIP@
+TRANSDIR = @TRANSDIR@
+VERSION = @VERSION@
+VIDEOMODEDIR = @VIDEOMODEDIR@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+install_sh = @install_sh@
+mkdir_p = @mkdir_p@
+
+AUTOMAKE_OPTIONS = foreign
+
+EXTRA_DIST = $(PSF_FILES) $(CP_FILES)
+
+pkgdatadir = $(datadir)/$(FONTDIR)
+
+pkgdata_DATA = $(PSF_FILES:=.$(COMPRESSOR_EXT)) $(CP_FILES)
+
+CLEANFILES = $(PSF_FILES:=.$(COMPRESSOR_EXT))
+
+CP_FILES = 161.cp 162.cp 163.cp 164.cp 165.cp 737.cp 880.cp 972.cp
+
+
+PSF_FILES = latarcyrheb-sun16.psf cp857-8x14.psf cp857-8x16.psf cp857-8x8.psf iso02g.psf iso03g.psf lat0-08.psf lat0-10.psf lat0-12.psf lat0-14.psf lat0-16.psf lat0-16.sbf lat1u-16.sbf lat2u-08.psf lat2u-10.psf lat2u-12.psf lat2u-14.psf lat5u-16.psf Goha-12.psf Goha-14.psf Goha-16.psf GohaClassic-12.psf GohaClassic-14.psf GohaClassic-16.psf Cyr_a8x14.psf Cyr_a8x16.psf Cyr_a8x8.psf LatArCyrHeb-08.psf LatArCyrHeb-14.psf LatArCyrHeb-16+.psf LatArCyrHeb-16.psf LatArCyrHeb-19.psf Mik_8x16.psf alt-8x14.psf alt-8x16.psf alt-8x8.psf altb-8x16.psf altc-8x16.psf aply16.psf cp850-8x14.psf cp850-8x16.psf cp850-8x8.psf cp865-8x14.psf cp865-8x16.psf cp865-8x8.psf cp866-8x16.psf def2_8x16.psf default8x16.psf default8x9.psf gr.f14.psf gr.f16.psf gr8x14.psf gr8x16.psf gr8x6.psf gr8x7.psf gr8x8.psf greek.psf gr737-8x8-2.psf gr737-8x8.psf gr737-9x14-2.psf gr737-9x14.psf gr737-9x16-2.psf gr737-9x16-medieval.psf gr737-9x16.psf grcourier.psf grfixed.psf iso01.f08.psf iso01.f14.psf iso01.f16.psf iso01a-8x14.psf iso01a-8x16.psf iso01a-8x8.psf iso02.f08.psf iso02.f14.psf iso02.f16.psf iso03.f08.psf iso03.f14.psf iso03.f16.psf iso04.f08.psf iso04.f14.psf iso04.f16.psf iso05.f08.psf iso05.f14.psf iso05.f16.psf iso06.f08.psf iso06.f14.psf iso06.f16.psf iso07.f08.psf iso07.f14.psf iso07.f16.psf iso08.f08.psf iso08.f14.psf iso08.f16.psf iso09.f08.psf iso09.f14.psf iso09.f16.psf iso10.f08.psf iso10.f14.psf iso10.f16.psf iso14.f16.psf koi8-14.psf koi8-8x14.psf koi8-8x16.psf koi8-8x8.psf koi8b-8x16.psf koi8c-8x16.psf koi8r-8x8.psf koi8u_8x14.psf koi8u_8x16.psf koi8u_8x8.psf ruscii_8x14.psf ruscii_8x16.psf ruscii_8x8.psf lat1-08.psf lat1-10.psf lat1-12.psf lat1-14.psf lat1-16.psf lat1u-08.psf lat1u-10.psf lat1u-12.psf lat1u-14.psf lat1u-16.psf lat2-08.psf lat2-10.psf lat2-12.psf lat2-14.psf lat2-16.psf lat2u-16.psf lat4-08.psf lat4-10.psf lat4-12.psf lat4-14.psf lat4-16+.psf lat4-16.psf lat4-19.psf lat4u-08.psf lat4u-10.psf lat4u-12.psf lat4u-14.psf lat4u-16+.psf lat4u-16.psf lat4u-19.psf lat4a-08.psf lat4a-10.psf lat4a-12.psf lat4a-14.psf lat4a-16+.psf lat4a-16.psf lat4a-19.psf lat7-14.psf lat0-sun16.psf lat2-sun16.psf lat9-08.psf lat9-16.psf lat9u-14.psf lat9v-12.psf lat9w-10.psf lat9-10.psf lat9u-08.psf lat9u-16.psf lat9v-14.psf lat9w-12.psf lat9-12.psf lat9u-10.psf lat9v-08.psf lat9v-16.psf lat9w-14.psf lat9-14.psf lat9u-12.psf lat9v-10.psf lat9w-08.psf lat9w-16.psf lat9wbrl-08.psf lat9wbrl-10.psf lat9wbrl-12.psf lat9wbrl-14.psf lat9wbrl-16.psf arm8.psf t850b.psf tcvn8x16.psf viscii10-8x16.psf ka8x16thin-1.psf tis-phaisarn.f16.psf tis-ptconsl.f16.psf tis-ptlight.f16.psf tis-ptsmall.f16.psf tis-ptcufont.f20.psf tis-ptramafo.f20.psf tis-ptkmfont.f24.psf brl-08.psf brl-10.psf brl-12.psf brl-14.psf brl-16.psf
+
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_CLEAN_FILES =
+DATA = $(pkgdata_DATA)
+
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+all: all-redirect
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps consolefonts/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+install-pkgdataDATA: $(pkgdata_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
+ @list='$(pkgdata_DATA)'; for p in $$list; do \
+ if test -f $(srcdir)/$$p; then \
+ echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \
+ $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \
+ else if test -f $$p; then \
+ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \
+ $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \
+ fi; fi; \
+ done
+
+uninstall-pkgdataDATA:
+ @$(NORMAL_UNINSTALL)
+ list='$(pkgdata_DATA)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(pkgdatadir)/$$p; \
+ done
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = consolefonts
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$d/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am: all-am
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am: install-pkgdataDATA
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am: uninstall-pkgdataDATA
+uninstall: uninstall-am
+all-am: Makefile $(DATA)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
+
+
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-generic mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: uninstall-pkgdataDATA install-pkgdataDATA tags distdir info-am \
+info dvi-am dvi check check-am installcheck-am installcheck \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+include $(top_builddir)/Make.rules
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/consolefonts/Mik_8x16.psf b/consolefonts/Mik_8x16.psf
new file mode 100644
index 0000000..41487c4
--- /dev/null
+++ b/consolefonts/Mik_8x16.psf
Binary files differ
diff --git a/consolefonts/alt-8x14.psf b/consolefonts/alt-8x14.psf
new file mode 100644
index 0000000..1f8287e
--- /dev/null
+++ b/consolefonts/alt-8x14.psf
Binary files differ
diff --git a/consolefonts/alt-8x16.psf b/consolefonts/alt-8x16.psf
new file mode 100644
index 0000000..dd707f9
--- /dev/null
+++ b/consolefonts/alt-8x16.psf
Binary files differ
diff --git a/consolefonts/alt-8x8.psf b/consolefonts/alt-8x8.psf
new file mode 100644
index 0000000..52f5ee0
--- /dev/null
+++ b/consolefonts/alt-8x8.psf
Binary files differ
diff --git a/consolefonts/altb-8x16.psf b/consolefonts/altb-8x16.psf
new file mode 100644
index 0000000..729ac0a
--- /dev/null
+++ b/consolefonts/altb-8x16.psf
Binary files differ
diff --git a/consolefonts/altc-8x16.psf b/consolefonts/altc-8x16.psf
new file mode 100644
index 0000000..5f348d8
--- /dev/null
+++ b/consolefonts/altc-8x16.psf
Binary files differ
diff --git a/consolefonts/aply16.psf b/consolefonts/aply16.psf
new file mode 100644
index 0000000..4c30801
--- /dev/null
+++ b/consolefonts/aply16.psf
Binary files differ
diff --git a/consolefonts/arm8.psf b/consolefonts/arm8.psf
new file mode 100644
index 0000000..2ee5987
--- /dev/null
+++ b/consolefonts/arm8.psf
Binary files differ
diff --git a/consolefonts/brl-08.psf b/consolefonts/brl-08.psf
new file mode 100644
index 0000000..f9851b5
--- /dev/null
+++ b/consolefonts/brl-08.psf
Binary files differ
diff --git a/consolefonts/brl-10.psf b/consolefonts/brl-10.psf
new file mode 100644
index 0000000..22ccc59
--- /dev/null
+++ b/consolefonts/brl-10.psf
Binary files differ
diff --git a/consolefonts/brl-12.psf b/consolefonts/brl-12.psf
new file mode 100644
index 0000000..414713a
--- /dev/null
+++ b/consolefonts/brl-12.psf
Binary files differ
diff --git a/consolefonts/brl-14.psf b/consolefonts/brl-14.psf
new file mode 100644
index 0000000..f077500
--- /dev/null
+++ b/consolefonts/brl-14.psf
Binary files differ
diff --git a/consolefonts/brl-16.psf b/consolefonts/brl-16.psf
new file mode 100644
index 0000000..af4ec7f
--- /dev/null
+++ b/consolefonts/brl-16.psf
Binary files differ
diff --git a/consolefonts/cp850-8x14.psf b/consolefonts/cp850-8x14.psf
new file mode 100644
index 0000000..3b7cc98
--- /dev/null
+++ b/consolefonts/cp850-8x14.psf
Binary files differ
diff --git a/consolefonts/cp850-8x16.psf b/consolefonts/cp850-8x16.psf
new file mode 100644
index 0000000..7539f61
--- /dev/null
+++ b/consolefonts/cp850-8x16.psf
Binary files differ
diff --git a/consolefonts/cp850-8x8.psf b/consolefonts/cp850-8x8.psf
new file mode 100644
index 0000000..cfa8079
--- /dev/null
+++ b/consolefonts/cp850-8x8.psf
Binary files differ
diff --git a/consolefonts/cp857-8x14.psf b/consolefonts/cp857-8x14.psf
new file mode 100644
index 0000000..e67587c
--- /dev/null
+++ b/consolefonts/cp857-8x14.psf
Binary files differ
diff --git a/consolefonts/cp857-8x16.psf b/consolefonts/cp857-8x16.psf
new file mode 100644
index 0000000..91663e0
--- /dev/null
+++ b/consolefonts/cp857-8x16.psf
Binary files differ
diff --git a/consolefonts/cp857-8x8.psf b/consolefonts/cp857-8x8.psf
new file mode 100644
index 0000000..a80902a
--- /dev/null
+++ b/consolefonts/cp857-8x8.psf
Binary files differ
diff --git a/consolefonts/cp865-8x14.psf b/consolefonts/cp865-8x14.psf
new file mode 100644
index 0000000..5bb1570
--- /dev/null
+++ b/consolefonts/cp865-8x14.psf
Binary files differ
diff --git a/consolefonts/cp865-8x16.psf b/consolefonts/cp865-8x16.psf
new file mode 100644
index 0000000..1cc11e6
--- /dev/null
+++ b/consolefonts/cp865-8x16.psf
Binary files differ
diff --git a/consolefonts/cp865-8x8.psf b/consolefonts/cp865-8x8.psf
new file mode 100644
index 0000000..3fdac36
--- /dev/null
+++ b/consolefonts/cp865-8x8.psf
Binary files differ
diff --git a/consolefonts/cp866-8x16.psf b/consolefonts/cp866-8x16.psf
new file mode 100644
index 0000000..6897181
--- /dev/null
+++ b/consolefonts/cp866-8x16.psf
Binary files differ
diff --git a/consolefonts/def2_8x16.psf b/consolefonts/def2_8x16.psf
new file mode 100644
index 0000000..e4c291e
--- /dev/null
+++ b/consolefonts/def2_8x16.psf
Binary files differ
diff --git a/consolefonts/default8x16.psf b/consolefonts/default8x16.psf
new file mode 100644
index 0000000..2d8df51
--- /dev/null
+++ b/consolefonts/default8x16.psf
Binary files differ
diff --git a/consolefonts/default8x9.psf b/consolefonts/default8x9.psf
new file mode 100644
index 0000000..a383fa2
--- /dev/null
+++ b/consolefonts/default8x9.psf
Binary files differ
diff --git a/consolefonts/gr.f14.psf b/consolefonts/gr.f14.psf
new file mode 100644
index 0000000..6784701
--- /dev/null
+++ b/consolefonts/gr.f14.psf
Binary files differ
diff --git a/consolefonts/gr.f16.psf b/consolefonts/gr.f16.psf
new file mode 100644
index 0000000..5b60cb0
--- /dev/null
+++ b/consolefonts/gr.f16.psf
Binary files differ
diff --git a/consolefonts/gr737-8x8-2.psf b/consolefonts/gr737-8x8-2.psf
new file mode 100644
index 0000000..c1071b5
--- /dev/null
+++ b/consolefonts/gr737-8x8-2.psf
Binary files differ
diff --git a/consolefonts/gr737-8x8.psf b/consolefonts/gr737-8x8.psf
new file mode 100644
index 0000000..15a2210
--- /dev/null
+++ b/consolefonts/gr737-8x8.psf
Binary files differ
diff --git a/consolefonts/gr737-9x14-2.psf b/consolefonts/gr737-9x14-2.psf
new file mode 100644
index 0000000..9668068
--- /dev/null
+++ b/consolefonts/gr737-9x14-2.psf
Binary files differ
diff --git a/consolefonts/gr737-9x14.psf b/consolefonts/gr737-9x14.psf
new file mode 100644
index 0000000..2529ba8
--- /dev/null
+++ b/consolefonts/gr737-9x14.psf
Binary files differ
diff --git a/consolefonts/gr737-9x16-2.psf b/consolefonts/gr737-9x16-2.psf
new file mode 100644
index 0000000..8df8bd5
--- /dev/null
+++ b/consolefonts/gr737-9x16-2.psf
Binary files differ
diff --git a/consolefonts/gr737-9x16-medieval.psf b/consolefonts/gr737-9x16-medieval.psf
new file mode 100644
index 0000000..16ca703
--- /dev/null
+++ b/consolefonts/gr737-9x16-medieval.psf
Binary files differ
diff --git a/consolefonts/gr737-9x16.psf b/consolefonts/gr737-9x16.psf
new file mode 100644
index 0000000..2e66312
--- /dev/null
+++ b/consolefonts/gr737-9x16.psf
Binary files differ
diff --git a/consolefonts/gr8x14.psf b/consolefonts/gr8x14.psf
new file mode 100644
index 0000000..23bfda3
--- /dev/null
+++ b/consolefonts/gr8x14.psf
Binary files differ
diff --git a/consolefonts/gr8x16.psf b/consolefonts/gr8x16.psf
new file mode 100644
index 0000000..ee5dff3
--- /dev/null
+++ b/consolefonts/gr8x16.psf
Binary files differ
diff --git a/consolefonts/gr8x6.psf b/consolefonts/gr8x6.psf
new file mode 100644
index 0000000..ad63e6a
--- /dev/null
+++ b/consolefonts/gr8x6.psf
Binary files differ
diff --git a/consolefonts/gr8x7.psf b/consolefonts/gr8x7.psf
new file mode 100644
index 0000000..10f51ce
--- /dev/null
+++ b/consolefonts/gr8x7.psf
Binary files differ
diff --git a/consolefonts/gr8x8.psf b/consolefonts/gr8x8.psf
new file mode 100644
index 0000000..b14b9a5
--- /dev/null
+++ b/consolefonts/gr8x8.psf
Binary files differ
diff --git a/consolefonts/grcourier.psf b/consolefonts/grcourier.psf
new file mode 100644
index 0000000..b8f80cb
--- /dev/null
+++ b/consolefonts/grcourier.psf
Binary files differ
diff --git a/consolefonts/greek.psf b/consolefonts/greek.psf
new file mode 100644
index 0000000..ee5dff3
--- /dev/null
+++ b/consolefonts/greek.psf
Binary files differ
diff --git a/consolefonts/grfixed.psf b/consolefonts/grfixed.psf
new file mode 100644
index 0000000..0882d41
--- /dev/null
+++ b/consolefonts/grfixed.psf
Binary files differ
diff --git a/consolefonts/iso01.f08.psf b/consolefonts/iso01.f08.psf
new file mode 100644
index 0000000..bac5b17
--- /dev/null
+++ b/consolefonts/iso01.f08.psf
Binary files differ
diff --git a/consolefonts/iso01.f14.psf b/consolefonts/iso01.f14.psf
new file mode 100644
index 0000000..0cc056a
--- /dev/null
+++ b/consolefonts/iso01.f14.psf
Binary files differ
diff --git a/consolefonts/iso01.f16.psf b/consolefonts/iso01.f16.psf
new file mode 100644
index 0000000..0f42bc0
--- /dev/null
+++ b/consolefonts/iso01.f16.psf
Binary files differ
diff --git a/consolefonts/iso01a-8x14.psf b/consolefonts/iso01a-8x14.psf
new file mode 100644
index 0000000..77763e4
--- /dev/null
+++ b/consolefonts/iso01a-8x14.psf
Binary files differ
diff --git a/consolefonts/iso01a-8x16.psf b/consolefonts/iso01a-8x16.psf
new file mode 100644
index 0000000..ef54525
--- /dev/null
+++ b/consolefonts/iso01a-8x16.psf
Binary files differ
diff --git a/consolefonts/iso01a-8x8.psf b/consolefonts/iso01a-8x8.psf
new file mode 100644
index 0000000..4206883
--- /dev/null
+++ b/consolefonts/iso01a-8x8.psf
Binary files differ
diff --git a/consolefonts/iso02.f08.psf b/consolefonts/iso02.f08.psf
new file mode 100644
index 0000000..067fc99
--- /dev/null
+++ b/consolefonts/iso02.f08.psf
Binary files differ
diff --git a/consolefonts/iso02.f14.psf b/consolefonts/iso02.f14.psf
new file mode 100644
index 0000000..90cfe33
--- /dev/null
+++ b/consolefonts/iso02.f14.psf
Binary files differ
diff --git a/consolefonts/iso02.f16.psf b/consolefonts/iso02.f16.psf
new file mode 100644
index 0000000..ce9fbc0
--- /dev/null
+++ b/consolefonts/iso02.f16.psf
Binary files differ
diff --git a/consolefonts/iso02g.psf b/consolefonts/iso02g.psf
new file mode 100644
index 0000000..ae19661
--- /dev/null
+++ b/consolefonts/iso02g.psf
Binary files differ
diff --git a/consolefonts/iso03.f08.psf b/consolefonts/iso03.f08.psf
new file mode 100644
index 0000000..a3d29f5
--- /dev/null
+++ b/consolefonts/iso03.f08.psf
Binary files differ
diff --git a/consolefonts/iso03.f14.psf b/consolefonts/iso03.f14.psf
new file mode 100644
index 0000000..b85a411
--- /dev/null
+++ b/consolefonts/iso03.f14.psf
Binary files differ
diff --git a/consolefonts/iso03.f16.psf b/consolefonts/iso03.f16.psf
new file mode 100644
index 0000000..8385f90
--- /dev/null
+++ b/consolefonts/iso03.f16.psf
Binary files differ
diff --git a/consolefonts/iso03g.psf b/consolefonts/iso03g.psf
new file mode 100644
index 0000000..4edfeb0
--- /dev/null
+++ b/consolefonts/iso03g.psf
Binary files differ
diff --git a/consolefonts/iso04.f08.psf b/consolefonts/iso04.f08.psf
new file mode 100644
index 0000000..cc58163
--- /dev/null
+++ b/consolefonts/iso04.f08.psf
Binary files differ
diff --git a/consolefonts/iso04.f14.psf b/consolefonts/iso04.f14.psf
new file mode 100644
index 0000000..898d3e5
--- /dev/null
+++ b/consolefonts/iso04.f14.psf
Binary files differ
diff --git a/consolefonts/iso04.f16.psf b/consolefonts/iso04.f16.psf
new file mode 100644
index 0000000..7d0bbaf
--- /dev/null
+++ b/consolefonts/iso04.f16.psf
Binary files differ
diff --git a/consolefonts/iso05.f08.psf b/consolefonts/iso05.f08.psf
new file mode 100644
index 0000000..9ccf594
--- /dev/null
+++ b/consolefonts/iso05.f08.psf
Binary files differ
diff --git a/consolefonts/iso05.f14.psf b/consolefonts/iso05.f14.psf
new file mode 100644
index 0000000..4e7dc7c
--- /dev/null
+++ b/consolefonts/iso05.f14.psf
Binary files differ
diff --git a/consolefonts/iso05.f16.psf b/consolefonts/iso05.f16.psf
new file mode 100644
index 0000000..495fb55
--- /dev/null
+++ b/consolefonts/iso05.f16.psf
Binary files differ
diff --git a/consolefonts/iso06.f08.psf b/consolefonts/iso06.f08.psf
new file mode 100644
index 0000000..729a368
--- /dev/null
+++ b/consolefonts/iso06.f08.psf
Binary files differ
diff --git a/consolefonts/iso06.f14.psf b/consolefonts/iso06.f14.psf
new file mode 100644
index 0000000..acd864a
--- /dev/null
+++ b/consolefonts/iso06.f14.psf
Binary files differ
diff --git a/consolefonts/iso06.f16.psf b/consolefonts/iso06.f16.psf
new file mode 100644
index 0000000..1ea91bc
--- /dev/null
+++ b/consolefonts/iso06.f16.psf
Binary files differ
diff --git a/consolefonts/iso07.f08.psf b/consolefonts/iso07.f08.psf
new file mode 100644
index 0000000..391ab4b
--- /dev/null
+++ b/consolefonts/iso07.f08.psf
Binary files differ
diff --git a/consolefonts/iso07.f14.psf b/consolefonts/iso07.f14.psf
new file mode 100644
index 0000000..e27c6b1
--- /dev/null
+++ b/consolefonts/iso07.f14.psf
Binary files differ
diff --git a/consolefonts/iso07.f16.psf b/consolefonts/iso07.f16.psf
new file mode 100644
index 0000000..f37ad7c
--- /dev/null
+++ b/consolefonts/iso07.f16.psf
Binary files differ
diff --git a/consolefonts/iso08.f08.psf b/consolefonts/iso08.f08.psf
new file mode 100644
index 0000000..294c666
--- /dev/null
+++ b/consolefonts/iso08.f08.psf
Binary files differ
diff --git a/consolefonts/iso08.f14.psf b/consolefonts/iso08.f14.psf
new file mode 100644
index 0000000..d2f4e28
--- /dev/null
+++ b/consolefonts/iso08.f14.psf
Binary files differ
diff --git a/consolefonts/iso08.f16.psf b/consolefonts/iso08.f16.psf
new file mode 100644
index 0000000..b70c919
--- /dev/null
+++ b/consolefonts/iso08.f16.psf
Binary files differ
diff --git a/consolefonts/iso09.f08.psf b/consolefonts/iso09.f08.psf
new file mode 100644
index 0000000..c0c2c30
--- /dev/null
+++ b/consolefonts/iso09.f08.psf
Binary files differ
diff --git a/consolefonts/iso09.f14.psf b/consolefonts/iso09.f14.psf
new file mode 100644
index 0000000..8be7b59
--- /dev/null
+++ b/consolefonts/iso09.f14.psf
Binary files differ
diff --git a/consolefonts/iso09.f16.psf b/consolefonts/iso09.f16.psf
new file mode 100644
index 0000000..12176ff
--- /dev/null
+++ b/consolefonts/iso09.f16.psf
Binary files differ
diff --git a/consolefonts/iso10.f08.psf b/consolefonts/iso10.f08.psf
new file mode 100644
index 0000000..118a780
--- /dev/null
+++ b/consolefonts/iso10.f08.psf
Binary files differ
diff --git a/consolefonts/iso10.f14.psf b/consolefonts/iso10.f14.psf
new file mode 100644
index 0000000..00f80fc
--- /dev/null
+++ b/consolefonts/iso10.f14.psf
Binary files differ
diff --git a/consolefonts/iso10.f16.psf b/consolefonts/iso10.f16.psf
new file mode 100644
index 0000000..e5849db
--- /dev/null
+++ b/consolefonts/iso10.f16.psf
Binary files differ
diff --git a/consolefonts/iso14.f16.psf b/consolefonts/iso14.f16.psf
new file mode 100644
index 0000000..78ac6b5
--- /dev/null
+++ b/consolefonts/iso14.f16.psf
Binary files differ
diff --git a/consolefonts/ka8x16thin-1.psf b/consolefonts/ka8x16thin-1.psf
new file mode 100644
index 0000000..cf4a5f3
--- /dev/null
+++ b/consolefonts/ka8x16thin-1.psf
Binary files differ
diff --git a/consolefonts/koi8-14.psf b/consolefonts/koi8-14.psf
new file mode 100644
index 0000000..87b1ce9
--- /dev/null
+++ b/consolefonts/koi8-14.psf
Binary files differ
diff --git a/consolefonts/koi8-8x14.psf b/consolefonts/koi8-8x14.psf
new file mode 100644
index 0000000..b9fd31b
--- /dev/null
+++ b/consolefonts/koi8-8x14.psf
Binary files differ
diff --git a/consolefonts/koi8-8x16.psf b/consolefonts/koi8-8x16.psf
new file mode 100644
index 0000000..18d84c7
--- /dev/null
+++ b/consolefonts/koi8-8x16.psf
Binary files differ
diff --git a/consolefonts/koi8-8x8.psf b/consolefonts/koi8-8x8.psf
new file mode 100644
index 0000000..5156a47
--- /dev/null
+++ b/consolefonts/koi8-8x8.psf
Binary files differ
diff --git a/consolefonts/koi8b-8x16.psf b/consolefonts/koi8b-8x16.psf
new file mode 100644
index 0000000..7c2f519
--- /dev/null
+++ b/consolefonts/koi8b-8x16.psf
Binary files differ
diff --git a/consolefonts/koi8c-8x16.psf b/consolefonts/koi8c-8x16.psf
new file mode 100644
index 0000000..692416f
--- /dev/null
+++ b/consolefonts/koi8c-8x16.psf
Binary files differ
diff --git a/consolefonts/koi8r-8x8.psf b/consolefonts/koi8r-8x8.psf
new file mode 100644
index 0000000..a0db89d
--- /dev/null
+++ b/consolefonts/koi8r-8x8.psf
Binary files differ
diff --git a/consolefonts/koi8u_8x14.psf b/consolefonts/koi8u_8x14.psf
new file mode 100644
index 0000000..87591c1
--- /dev/null
+++ b/consolefonts/koi8u_8x14.psf
Binary files differ
diff --git a/consolefonts/koi8u_8x16.psf b/consolefonts/koi8u_8x16.psf
new file mode 100644
index 0000000..43b2b95
--- /dev/null
+++ b/consolefonts/koi8u_8x16.psf
Binary files differ
diff --git a/consolefonts/koi8u_8x8.psf b/consolefonts/koi8u_8x8.psf
new file mode 100644
index 0000000..877e4ef
--- /dev/null
+++ b/consolefonts/koi8u_8x8.psf
Binary files differ
diff --git a/consolefonts/lat0-08.psf b/consolefonts/lat0-08.psf
new file mode 100644
index 0000000..acf4030
--- /dev/null
+++ b/consolefonts/lat0-08.psf
Binary files differ
diff --git a/consolefonts/lat0-10.psf b/consolefonts/lat0-10.psf
new file mode 100644
index 0000000..8c27564
--- /dev/null
+++ b/consolefonts/lat0-10.psf
Binary files differ
diff --git a/consolefonts/lat0-12.psf b/consolefonts/lat0-12.psf
new file mode 100644
index 0000000..74d16a0
--- /dev/null
+++ b/consolefonts/lat0-12.psf
Binary files differ
diff --git a/consolefonts/lat0-14.psf b/consolefonts/lat0-14.psf
new file mode 100644
index 0000000..b5e363f
--- /dev/null
+++ b/consolefonts/lat0-14.psf
Binary files differ
diff --git a/consolefonts/lat0-16.psf b/consolefonts/lat0-16.psf
new file mode 100644
index 0000000..4f1a95f
--- /dev/null
+++ b/consolefonts/lat0-16.psf
Binary files differ
diff --git a/consolefonts/lat0-16.sbf b/consolefonts/lat0-16.sbf
new file mode 100644
index 0000000..31d654c
--- /dev/null
+++ b/consolefonts/lat0-16.sbf
@@ -0,0 +1,4624 @@
+[U+FFFD]
+.........
+.........
+.000000..
+00....00.
+0..00..0.
+0..00..0.
+0000..00.
+000..000.
+000..000.
+00000000.
+000..000.
+000..000.
+.000000..
+.........
+.........
+.........
+
+[U+2248]
+.........
+.........
+.........
+.........
+.........
+.000.00..
+00.000...
+.........
+.000.00..
+00.000...
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+0152]
+.........
+.........
+.00.000..
+00000....
+00.00....
+00.00....
+00.000...
+00.00....
+00.00....
+00.00....
+00000....
+.00.000..
+.........
+.........
+.........
+.........
+
+[U+0153]
+.........
+.........
+.........
+.........
+.........
+.00.000..
+00.00.00.
+00.00.00.
+00.00000.
+00.00....
+00.00.00.
+.00.000..
+.........
+.........
+.........
+.........
+
+[U+25C6]
+.........
+.........
+.........
+.........
+...0.....
+..000....
+.00000...
+0000000..
+.00000...
+..000....
+...0.....
+.........
+.........
+.........
+.........
+.........
+
+[U+2409]
+.........
+0...0....
+0...0....
+00000....
+0...0....
+0...0....
+.........
+..00000..
+....0....
+....0....
+....0....
+....0....
+.........
+.........
+.........
+.........
+
+[U+240C]
+.........
+00000....
+0........
+000......
+0........
+0........
+.........
+..00000..
+..0......
+..000....
+..0......
+..0......
+.........
+.........
+.........
+.........
+
+[U+240D]
+.........
+.000.....
+0...0....
+0........
+0...0....
+.000.....
+.........
+..0000...
+..0...0..
+..0000...
+..0..0...
+..0...0..
+.........
+.........
+.........
+.........
+
+[U+240A]
+.........
+0........
+0........
+0........
+0........
+00000....
+.........
+..00000..
+..0......
+..000....
+..0......
+..0......
+.........
+.........
+.........
+.........
+
+[U+2591]
+...0...0.
+.0...0...
+...0...0.
+.0...0...
+...0...0.
+.0...0...
+...0...0.
+.0...0...
+...0...0.
+.0...0...
+...0...0.
+.0...0...
+...0...0.
+.0...0...
+...0...0.
+.0...0...
+
+[U+2592]
+.0.0.0.0.
+0.0.0.0..
+.0.0.0.0.
+0.0.0.0..
+.0.0.0.0.
+0.0.0.0..
+.0.0.0.0.
+0.0.0.0..
+.0.0.0.0.
+0.0.0.0..
+.0.0.0.0.
+0.0.0.0..
+.0.0.0.0.
+0.0.0.0..
+.0.0.0.0.
+0.0.0.0..
+
+[U+2593]
+00.000.0.
+.000.000.
+00.000.0.
+.000.000.
+00.000.0.
+.000.000.
+00.000.0.
+.000.000.
+00.000.0.
+.000.000.
+00.000.0.
+.000.000.
+00.000.0.
+.000.000.
+00.000.0.
+.000.000.
+
+[U+2588]
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+
+[U+2584]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+
+[U+2580]
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+258C]
+0000.....
+0000.....
+0000.....
+0000.....
+0000.....
+0000.....
+0000.....
+0000.....
+0000.....
+0000.....
+0000.....
+0000.....
+0000.....
+0000.....
+0000.....
+0000.....
+
+[U+2590]
+....0000.
+....0000.
+....0000.
+....0000.
+....0000.
+....0000.
+....0000.
+....0000.
+....0000.
+....0000.
+....0000.
+....0000.
+....0000.
+....0000.
+....0000.
+....0000.
+
+[U+2424]
+.........
+0...0....
+00..0....
+0.0.0....
+0..00....
+0...0....
+.........
+..0......
+..0......
+..0......
+..0......
+..00000..
+.........
+.........
+.........
+.........
+
+[U+240B]
+.........
+0...0....
+0...0....
+.0.0.....
+.0.0.....
+..0......
+.........
+..00000..
+....0....
+....0....
+....0....
+....0....
+.........
+.........
+.........
+.........
+
+[U+2264]
+.........
+.........
+.........
+.........
+....000..
+..000....
+000......
+..000....
+....000..
+.........
+0000000..
+.........
+.........
+.........
+.........
+.........
+
+[U+2265]
+.........
+.........
+.........
+.........
+000......
+..000....
+....000..
+..000....
+000......
+.........
+0000000..
+.........
+.........
+.........
+.........
+.........
+
+[U+2260]
+.........
+.........
+.........
+.....00..
+....00...
+0000000..
+...00....
+..00.....
+0000000..
+.00......
+00.......
+.........
+.........
+.........
+.........
+.........
+
+[U+25C0]
+.........
+.........
+.........
+.........
+.....00..
+...0000..
+.000000..
+0000000..
+.000000..
+...0000..
+.....00..
+.........
+.........
+.........
+.........
+.........
+
+[U+25B6]
+.........
+.........
+.........
+.........
+00.......
+0000.....
+000000...
+0000000..
+000000...
+0000.....
+00.......
+.........
+.........
+.........
+.........
+.........
+
+[U+2191]
+.........
+.........
+...00....
+..0000...
+.000000..
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+.........
+.........
+.........
+.........
+
+[U+2193]
+.........
+.........
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+.000000..
+..0000...
+...00....
+.........
+.........
+.........
+.........
+
+[U+2192]
+.........
+.........
+.........
+.........
+.........
+...00....
+....00...
+0000000..
+....00...
+...00....
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+2190]
+.........
+.........
+.........
+.........
+.........
+..00.....
+.00......
+0000000..
+.00......
+..00.....
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+2195]
+.........
+.........
+...00....
+..0000...
+.000000..
+...00....
+...00....
+...00....
+...00....
+.000000..
+..0000...
+...00....
+.........
+.........
+.........
+.........
+
+[U+2194]
+.........
+.........
+.........
+.........
+.........
+..0.0....
+.00.00...
+0000000..
+.00.00...
+..0.0....
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+21B5]
+.........
+.........
+.........
+.........
+.....00..
+..00.00..
+.00..00..
+0000000..
+.00......
+..00.....
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+03C0]
+.........
+.........
+.........
+.........
+.........
+0........
+0000000..
+.00.000..
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.........
+.........
+.........
+.........
+
+[U+0020]
+[U+00A0]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+0021]
+.........
+.........
+...00....
+..0000...
+..0000...
+..0000...
+...00....
+...00....
+...00....
+.........
+...00....
+...00....
+.........
+.........
+.........
+.........
+
+[U+0022]
+.........
+.00..00..
+.00..00..
+.00..00..
+..0..0...
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+0023]
+.........
+.........
+.........
+.00.00...
+.00.00...
+0000000..
+.00.00...
+.00.00...
+.00.00...
+0000000..
+.00.00...
+.00.00...
+.........
+.........
+.........
+.........
+
+[U+0024]
+.........
+...0.....
+...0.....
+.00000...
+00.0.00..
+00.0.....
+00.0.....
+.00000...
+...0.00..
+...0.00..
+00.0.00..
+.00000...
+...0.....
+...0.....
+.........
+.........
+
+[U+0025]
+.........
+.........
+.........
+.........
+00....0..
+00...00..
+....00...
+...00....
+..00.....
+.00......
+00...00..
+0....00..
+.........
+.........
+.........
+.........
+
+[U+0026]
+.........
+.........
+..000....
+.00.00...
+.00.00...
+..000....
+.000.00..
+00.000...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+0027]
+.........
+...00....
+...00....
+...00....
+..00.....
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+0028]
+.........
+.........
+....00...
+...00....
+..00.....
+..00.....
+..00.....
+..00.....
+..00.....
+..00.....
+...00....
+....00...
+.........
+.........
+.........
+.........
+
+[U+0029]
+.........
+.........
+..00.....
+...00....
+....00...
+....00...
+....00...
+....00...
+....00...
+....00...
+...00....
+..00.....
+.........
+.........
+.........
+.........
+
+[U+002A]
+.........
+.........
+.........
+.........
+.........
+.00..00..
+..0000...
+00000000.
+..0000...
+.00..00..
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+002B]
+.........
+.........
+.........
+.........
+.........
+...00....
+...00....
+.000000..
+...00....
+...00....
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+002C]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+...00....
+...00....
+...00....
+..00.....
+.........
+.........
+.........
+
+[U+002D]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+0000000..
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+002E]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+...00....
+...00....
+.........
+.........
+.........
+.........
+
+[U+002F]
+.........
+.........
+.........
+.........
+.........
+.....00..
+....00...
+...00....
+..00.....
+.00......
+00.......
+.........
+.........
+.........
+.........
+.........
+
+[U+0030]
+.........
+.........
+.00000...
+00...00..
+00..000..
+00..000..
+00.0.00..
+00.0.00..
+000..00..
+000..00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0031]
+.........
+.........
+...00....
+..000....
+.0000....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+.000000..
+.........
+.........
+.........
+.........
+
+[U+0032]
+.........
+.........
+.00000...
+00...00..
+.....00..
+....00...
+...00....
+..00.....
+.00......
+00.......
+00...00..
+0000000..
+.........
+.........
+.........
+.........
+
+[U+0033]
+.........
+.........
+.00000...
+00...00..
+.....00..
+.....00..
+..0000...
+.....00..
+.....00..
+.....00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0034]
+.........
+.........
+....00...
+...000...
+..0000...
+.00.00...
+00..00...
+0000000..
+....00...
+....00...
+....00...
+...0000..
+.........
+.........
+.........
+.........
+
+[U+0035]
+.........
+.........
+0000000..
+00.......
+00.......
+00.......
+000000...
+.....00..
+.....00..
+.....00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0036]
+.........
+.........
+..000....
+.00......
+00.......
+00.......
+000000...
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0037]
+.........
+.........
+0000000..
+00...00..
+.....00..
+.....00..
+....00...
+...00....
+..00.....
+..00.....
+..00.....
+..00.....
+.........
+.........
+.........
+.........
+
+[U+0038]
+.........
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0039]
+.........
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+.000000..
+.....00..
+.....00..
+.....00..
+....00...
+.0000....
+.........
+.........
+.........
+.........
+
+[U+003A]
+.........
+.........
+.........
+.........
+...00....
+...00....
+.........
+.........
+.........
+...00....
+...00....
+.........
+.........
+.........
+.........
+.........
+
+[U+003B]
+.........
+.........
+.........
+.........
+...00....
+...00....
+.........
+.........
+.........
+...00....
+...00....
+..00.....
+.........
+.........
+.........
+.........
+
+[U+003C]
+.........
+.........
+.........
+.....00..
+....00...
+...00....
+..00.....
+.00......
+..00.....
+...00....
+....00...
+.....00..
+.........
+.........
+.........
+.........
+
+[U+003D]
+.........
+.........
+.........
+.........
+.........
+0000000..
+.........
+.........
+0000000..
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+003E]
+.........
+.........
+.........
+.00......
+..00.....
+...00....
+....00...
+.....00..
+....00...
+...00....
+..00.....
+.00......
+.........
+.........
+.........
+.........
+
+[U+003F]
+.........
+.........
+.00000...
+00...00..
+00...00..
+....00...
+...00....
+...00....
+...00....
+.........
+...00....
+...00....
+.........
+.........
+.........
+.........
+
+[U+0040]
+.........
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00.0000..
+00.0000..
+00.0000..
+00.000...
+00.......
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0041]
+.........
+.........
+...0.....
+..000....
+.00.00...
+00...00..
+00...00..
+0000000..
+00...00..
+00...00..
+00...00..
+00...00..
+.........
+.........
+.........
+.........
+
+[U+0042]
+.........
+.........
+000000...
+.00..00..
+.00..00..
+.00..00..
+.00000...
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+000000...
+.........
+.........
+.........
+.........
+
+[U+0043]
+.........
+.........
+..0000...
+.00..00..
+00....0..
+00.......
+00.......
+00.......
+00.......
+00....0..
+.00..00..
+..0000...
+.........
+.........
+.........
+.........
+
+[U+0044]
+.........
+.........
+00000....
+.00.00...
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.00.00...
+00000....
+.........
+.........
+.........
+.........
+
+[U+0045]
+.........
+.........
+0000000..
+.00..00..
+.00...0..
+.00.0....
+.0000....
+.00.0....
+.00......
+.00...0..
+.00..00..
+0000000..
+.........
+.........
+.........
+.........
+
+[U+0046]
+.........
+.........
+0000000..
+.00..00..
+.00...0..
+.00.0....
+.0000....
+.00.0....
+.00......
+.00......
+.00......
+0000.....
+.........
+.........
+.........
+.........
+
+[U+0047]
+.........
+.........
+..0000...
+.00..00..
+00....0..
+00.......
+00.......
+00.0000..
+00...00..
+00...00..
+.00..00..
+..000.0..
+.........
+.........
+.........
+.........
+
+[U+0048]
+.........
+.........
+00...00..
+00...00..
+00...00..
+00...00..
+0000000..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.........
+.........
+.........
+.........
+
+[U+0049]
+.........
+.........
+..0000...
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+004A]
+.........
+.........
+...0000..
+....00...
+....00...
+....00...
+....00...
+....00...
+00..00...
+00..00...
+00..00...
+.0000....
+.........
+.........
+.........
+.........
+
+[U+004B]
+[U+212A]
+.........
+.........
+000..00..
+.00..00..
+.00..00..
+.00.00...
+.0000....
+.0000....
+.00.00...
+.00..00..
+.00..00..
+000..00..
+.........
+.........
+.........
+.........
+
+[U+004C]
+.........
+.........
+0000.....
+.00......
+.00......
+.00......
+.00......
+.00......
+.00......
+.00...0..
+.00..00..
+0000000..
+.........
+.........
+.........
+.........
+
+[U+004D]
+.........
+.........
+00...00..
+000.000..
+0000000..
+0000000..
+00.0.00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.........
+.........
+.........
+.........
+
+[U+004E]
+.........
+.........
+00...00..
+000..00..
+0000.00..
+0000000..
+00.0000..
+00..000..
+00...00..
+00...00..
+00...00..
+00...00..
+.........
+.........
+.........
+.........
+
+[U+004F]
+.........
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0050]
+.........
+.........
+000000...
+.00..00..
+.00..00..
+.00..00..
+.00000...
+.00......
+.00......
+.00......
+.00......
+0000.....
+.........
+.........
+.........
+.........
+
+[U+0051]
+.........
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00.0.00..
+00.0000..
+.00000...
+....00...
+....000..
+.........
+.........
+
+[U+0052]
+.........
+.........
+000000...
+.00..00..
+.00..00..
+.00..00..
+.00000...
+.00.00...
+.00..00..
+.00..00..
+.00..00..
+000..00..
+.........
+.........
+.........
+.........
+
+[U+0053]
+.........
+.........
+.00000...
+00...00..
+00...00..
+.00......
+..000....
+....00...
+.....00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0054]
+.........
+.........
+.000000..
+.000000..
+.0.00.0..
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+0055]
+.........
+.........
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0056]
+.........
+.........
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00.00...
+..000....
+...0.....
+.........
+.........
+.........
+.........
+
+[U+0057]
+.........
+.........
+00...00..
+00...00..
+00...00..
+00...00..
+00.0.00..
+00.0.00..
+00.0.00..
+0000000..
+000.000..
+.00.00...
+.........
+.........
+.........
+.........
+
+[U+0058]
+.........
+.........
+00...00..
+00...00..
+.00.00...
+.00000...
+..000....
+..000....
+.00000...
+.00.00...
+00...00..
+00...00..
+.........
+.........
+.........
+.........
+
+[U+0059]
+.........
+.........
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+..0000...
+...00....
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+005A]
+.........
+.........
+0000000..
+00...00..
+0....00..
+....00...
+...00....
+..00.....
+.00......
+00....0..
+00...00..
+0000000..
+.........
+.........
+.........
+.........
+
+[U+005B]
+.........
+.........
+..0000...
+..00.....
+..00.....
+..00.....
+..00.....
+..00.....
+..00.....
+..00.....
+..00.....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+005C]
+.........
+.........
+.........
+.........
+.........
+00.......
+.00......
+..00.....
+...00....
+....00...
+.....00..
+.........
+.........
+.........
+.........
+.........
+
+[U+005D]
+.........
+.........
+..0000...
+....00...
+....00...
+....00...
+....00...
+....00...
+....00...
+....00...
+....00...
+..0000...
+.........
+.........
+.........
+.........
+
+[U+005E]
+...0.....
+..000....
+.00.00...
+00...00..
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+005F]
+[U+F804]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+00000000.
+.........
+
+[U+0060]
+.........
+..00.....
+..00.....
+..00.....
+...00....
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+0061]
+.........
+.........
+.........
+.........
+.........
+.0000....
+....00...
+.00000...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+0062]
+.........
+.........
+000......
+.00......
+.00......
+.0000....
+.00.00...
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0063]
+.........
+.........
+.........
+.........
+.........
+.00000...
+00...00..
+00.......
+00.......
+00.......
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0064]
+.........
+.........
+...000...
+....00...
+....00...
+..0000...
+.00.00...
+00..00...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+0065]
+.........
+.........
+.........
+.........
+.........
+.00000...
+00...00..
+0000000..
+00.......
+00.......
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0066]
+.........
+.........
+..000....
+.00.00...
+.00..0...
+.00......
+0000.....
+.00......
+.00......
+.00......
+.00......
+0000.....
+.........
+.........
+.........
+.........
+
+[U+0067]
+.........
+.........
+.........
+.........
+.........
+.000.00..
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+.00000...
+....00...
+00..00...
+.0000....
+.........
+
+[U+0068]
+.........
+.........
+000......
+.00......
+.00......
+.00.00...
+.000.00..
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+000..00..
+.........
+.........
+.........
+.........
+
+[U+0069]
+.........
+.........
+...00....
+...00....
+.........
+..000....
+...00....
+...00....
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+006A]
+.........
+.........
+.....00..
+.....00..
+.........
+....000..
+.....00..
+.....00..
+.....00..
+.....00..
+.....00..
+.....00..
+.00..00..
+.00..00..
+..0000...
+.........
+
+[U+006B]
+.........
+.........
+000......
+.00......
+.00......
+.00..00..
+.00.00...
+.0000....
+.0000....
+.00.00...
+.00..00..
+000..00..
+.........
+.........
+.........
+.........
+
+[U+006C]
+.........
+.........
+.000.....
+..00.....
+..00.....
+..00.....
+..00.....
+..00.....
+..00.....
+..00.....
+..00.0...
+...00....
+.........
+.........
+.........
+.........
+
+[U+006D]
+.........
+.........
+.........
+.........
+.........
+000.00...
+0000000..
+00.0.00..
+00.0.00..
+00.0.00..
+00.0.00..
+00...00..
+.........
+.........
+.........
+.........
+
+[U+006E]
+.........
+.........
+.........
+.........
+.........
+00.000...
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.........
+.........
+.........
+.........
+
+[U+006F]
+.........
+.........
+.........
+.........
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0070]
+.........
+.........
+.........
+.........
+.........
+00.000...
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.00000...
+.00......
+.00......
+0000.....
+.........
+
+[U+0071]
+.........
+.........
+.........
+.........
+.........
+.000.00..
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+.00000...
+....00...
+....00...
+...0000..
+.........
+
+[U+0072]
+.........
+.........
+.........
+.........
+.........
+00.000...
+.000.00..
+.00..00..
+.00......
+.00......
+.00......
+0000.....
+.........
+.........
+.........
+.........
+
+[U+0073]
+.........
+.........
+.........
+.........
+.........
+.00000...
+00...00..
+.00......
+..000....
+....00...
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0074]
+.........
+.........
+...0.....
+..00.....
+..00.....
+000000...
+..00.....
+..00.....
+..00.....
+..00.....
+..00.00..
+...000...
+.........
+.........
+.........
+.........
+
+[U+0075]
+.........
+.........
+.........
+.........
+.........
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+0076]
+.........
+.........
+.........
+.........
+.........
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+..0000...
+...00....
+.........
+.........
+.........
+.........
+
+[U+0077]
+.........
+.........
+.........
+.........
+.........
+00...00..
+00...00..
+00.0.00..
+00.0.00..
+00.0.00..
+0000000..
+.00.00...
+.........
+.........
+.........
+.........
+
+[U+0078]
+.........
+.........
+.........
+.........
+.........
+00...00..
+.00.00...
+..000....
+..000....
+..000....
+.00.00...
+00...00..
+.........
+.........
+.........
+.........
+
+[U+0079]
+.........
+.........
+.........
+.........
+.........
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.000000..
+.....00..
+....00...
+00000....
+.........
+
+[U+007A]
+.........
+.........
+.........
+.........
+.........
+0000000..
+00..00...
+...00....
+..00.....
+.00......
+00...00..
+0000000..
+.........
+.........
+.........
+.........
+
+[U+007B]
+.........
+.........
+....000..
+...00....
+...00....
+...00....
+.000.....
+...00....
+...00....
+...00....
+...00....
+....000..
+.........
+.........
+.........
+.........
+
+[U+007C]
+.........
+.........
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+.........
+.........
+.........
+.........
+
+[U+007D]
+.........
+.........
+.000.....
+...00....
+...00....
+...00....
+....000..
+...00....
+...00....
+...00....
+...00....
+.000.....
+.........
+.........
+.........
+.........
+
+[U+007E]
+.........
+.........
+.000.00..
+00.000...
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+0178]
+.........
+.00..00..
+.........
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+..0000...
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+00C0]
+.00......
+..00.....
+.........
+..000....
+.00.00...
+00...00..
+00...00..
+0000000..
+00...00..
+00...00..
+00...00..
+00...00..
+.........
+.........
+.........
+.........
+
+[U+00C1]
+....00...
+...00....
+.........
+..000....
+.00.00...
+00...00..
+00...00..
+0000000..
+00...00..
+00...00..
+00...00..
+00...00..
+.........
+.........
+.........
+.........
+
+[U+00C2]
+...0.....
+..000....
+.00.00...
+.........
+..000....
+.00.00...
+00...00..
+00...00..
+0000000..
+00...00..
+00...00..
+00...00..
+.........
+.........
+.........
+.........
+
+[U+00C3]
+.000.00..
+00.000...
+.........
+..000....
+.00.00...
+00...00..
+00...00..
+0000000..
+00...00..
+00...00..
+00...00..
+00...00..
+.........
+.........
+.........
+.........
+
+[U+00C4]
+.........
+.00.00...
+.........
+..000....
+.00.00...
+00...00..
+00...00..
+0000000..
+00...00..
+00...00..
+00...00..
+00...00..
+.........
+.........
+.........
+.........
+
+[U+00C5]
+[U+212B]
+..000....
+.00.00...
+..000....
+.........
+..000....
+.00.00...
+00...00..
+00...00..
+0000000..
+00...00..
+00...00..
+00...00..
+.........
+.........
+.........
+.........
+
+[U+00C6]
+.........
+.........
+..00000..
+.0000....
+00.00....
+00.00....
+000000...
+00.00....
+00.00....
+00.00....
+00.00....
+00.0000..
+.........
+.........
+.........
+.........
+
+[U+00C7]
+.........
+.........
+..0000...
+.00..00..
+00....0..
+00.......
+00.......
+00.......
+00.......
+00....0..
+.00..00..
+..0000...
+....00...
+.00..00..
+..0000...
+.........
+
+[U+00C8]
+.00......
+..00.....
+.........
+0000000..
+.00..00..
+.00......
+.00......
+.00000...
+.00......
+.00......
+.00..00..
+0000000..
+.........
+.........
+.........
+.........
+
+[U+00C9]
+....00...
+...00....
+.........
+0000000..
+.00..00..
+.00......
+.00......
+.00000...
+.00......
+.00......
+.00..00..
+0000000..
+.........
+.........
+.........
+.........
+
+[U+00CA]
+...0.....
+..000....
+.00.00...
+.........
+0000000..
+.00..00..
+.00......
+.00000...
+.00......
+.00......
+.00..00..
+0000000..
+.........
+.........
+.........
+.........
+
+[U+00CB]
+.........
+.00.00...
+.........
+0000000..
+.00..00..
+.00......
+.00......
+.00000...
+.00......
+.00......
+.00..00..
+0000000..
+.........
+.........
+.........
+.........
+
+[U+00CC]
+.00......
+..00.....
+.........
+..0000...
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+..0000...
+....0....
+.........
+.........
+.........
+
+[U+00CD]
+.....00..
+....00...
+.........
+..0000...
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+00CE]
+...00....
+..0000...
+.00..00..
+.........
+..0000...
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+00CF]
+.........
+.00..00..
+.........
+..0000...
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+00D0]
+.........
+.........
+00000....
+.00.00...
+.00..00..
+.00..00..
+0000.00..
+.00..00..
+.00..00..
+.00..00..
+.00.00...
+00000....
+.........
+.........
+.........
+.........
+
+[U+00D1]
+.000.00..
+00.000...
+.........
+00...00..
+000..00..
+0000.00..
+0000000..
+00.0000..
+00..000..
+00...00..
+00...00..
+00...00..
+.........
+.........
+.........
+.........
+
+[U+00D2]
+.00......
+..00.....
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00D3]
+....00...
+...00....
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00D4]
+...0.....
+..000....
+.00.00...
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00D5]
+.000.00..
+00.000...
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00D6]
+.........
+.00.00...
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00D7]
+.........
+.........
+.........
+.........
+.........
+.00..00..
+..0000...
+...00....
+..0000...
+.00..00..
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00D8]
+.........
+.........
+.000000..
+00...00..
+00..000..
+00..000..
+00.0000..
+0000.00..
+000..00..
+000..00..
+00...00..
+000000...
+.........
+.........
+.........
+.........
+
+[U+00D9]
+.00......
+..00.....
+.........
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00DA]
+....00...
+...00....
+.........
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00DB]
+...0.....
+..000....
+.00.00...
+.........
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00DC]
+.........
+.00.00...
+.........
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00DD]
+.....00..
+....00...
+.........
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+..0000...
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+00DE]
+.........
+.........
+0000.....
+.00......
+.00000...
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.00000...
+.00......
+0000.....
+.........
+.........
+.........
+.........
+
+[U+00DF]
+.........
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00..00...
+00...00..
+00...00..
+00...00..
+00.0.00..
+00.000...
+0........
+.........
+.........
+.........
+
+[U+2423]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+0.....0..
+0000000..
+.........
+.........
+.........
+.........
+
+[U+00A1]
+.........
+.........
+.........
+.........
+...00....
+...00....
+.........
+...00....
+...00....
+...00....
+..0000...
+..0000...
+..0000...
+...00....
+.........
+.........
+
+[U+00A2]
+.........
+.........
+.........
+.........
+...0.....
+.00000...
+00.0.00..
+00.0.....
+00.0.....
+00.0.....
+00.0.00..
+.00000...
+...0.....
+.........
+.........
+.........
+
+[U+00A3]
+.........
+.........
+..000....
+.00.00...
+.00......
+.00......
+0000.....
+.00......
+.00......
+.00..00..
+0000.00..
+.00.00...
+.........
+.........
+.........
+.........
+
+[U+00A4]
+.........
+...000...
+..00..0..
+.00......
+.00......
+000000...
+.00......
+000000...
+.00......
+.00......
+..00..0..
+...000...
+.........
+.........
+.........
+.........
+
+[U+00A5]
+.........
+.........
+.00..00..
+.00..00..
+..0000...
+...00....
+.000000..
+...00....
+.000000..
+...00....
+...00....
+...00....
+.........
+.........
+.........
+.........
+
+[U+00A6]
+.00.00...
+..000....
+.........
+.00000...
+00...00..
+00...00..
+.00......
+..000....
+....00...
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00A7]
+.........
+.00000...
+00...00..
+.00......
+..000....
+.00.00...
+00...00..
+00...00..
+.00.00...
+..000....
+....00...
+00...00..
+.00000...
+.........
+.........
+.........
+
+[U+00A8]
+.........
+.00.00...
+..000....
+.........
+.........
+.00000...
+00...00..
+.00......
+..000....
+....00...
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00A9]
+.........
+.........
+..0000...
+.0....0..
+0..00..0.
+0.0..0.0.
+0.0....0.
+0.0..0.0.
+0..00..0.
+.0....0..
+..0000...
+.........
+.........
+.........
+.........
+.........
+
+[U+00AA]
+.........
+.........
+..0000...
+.00.00...
+.00.00...
+..00000..
+.........
+.000000..
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00AB]
+.........
+.........
+.........
+.........
+.........
+..00.00..
+.00.00...
+00.00....
+.00.00...
+..00.00..
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00AC]
+.........
+.........
+.........
+.........
+.........
+.........
+0000000..
+.....00..
+.....00..
+.....00..
+.....00..
+.........
+.........
+.........
+.........
+.........
+
+[U+00AD]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.000000..
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00AE]
+.........
+.........
+..0000...
+.0....0..
+0.000..0.
+0.0..0.0.
+0.000..0.
+0.0..0.0.
+0.0..0.0.
+.0....0..
+..0000...
+.........
+.........
+.........
+.........
+.........
+
+[U+00AF]
+[U+F800]
+00000000.
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00B0]
+.........
+..000....
+.00.00...
+.00.00...
+..000....
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00B1]
+.........
+.........
+.........
+.........
+.........
+...00....
+...00....
+.000000..
+...00....
+...00....
+.........
+.000000..
+.........
+.........
+.........
+.........
+
+[U+00B2]
+..000....
+.00.00...
+...00....
+..00.....
+.00000...
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00B3]
+..000....
+.00.00...
+...00....
+.00.00...
+..000....
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00B4]
+.00.00...
+..000....
+.........
+0000000..
+00...00..
+0...00...
+...00....
+..00.....
+.00......
+00....0..
+00...00..
+0000000..
+.........
+.........
+.........
+.........
+
+[U+00B5]
+.........
+.........
+.........
+.........
+.........
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+0000.00..
+00.......
+00.......
+00.......
+.........
+
+[U+00B6]
+.........
+.........
+.0000000.
+00.0.00..
+00.0.00..
+.000.00..
+..00.00..
+..00.00..
+..00.00..
+..00.00..
+..00.00..
+..00.00..
+.........
+.........
+.........
+.........
+
+[U+00B7]
+.........
+.........
+.........
+.........
+.........
+.........
+...00....
+...00....
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00B8]
+.........
+.........
+.00.00...
+..000....
+.........
+0000000..
+00..00...
+...00....
+..00.....
+.00......
+00...00..
+0000000..
+.........
+.........
+.........
+.........
+
+[U+00B9]
+..00.....
+.000.....
+..00.....
+..00.....
+.0000....
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00BA]
+.........
+.........
+..000....
+.00.00...
+.00.00...
+..000....
+.........
+.00000...
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00BB]
+.........
+.........
+.........
+.........
+.........
+00.00....
+.00.00...
+..00.00..
+.00.00...
+00.00....
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00BC]
+.........
+.........
+.000.000.
+00..00...
+00..00...
+00..00...
+00..0000.
+00..0000.
+00..00...
+00..00...
+00..00...
+.000.000.
+.........
+.........
+.........
+.........
+
+[U+00BD]
+.........
+.........
+.........
+.........
+.........
+.00.000..
+00.00.00.
+00.00.00.
+00.00000.
+00.00....
+00.00.00.
+.00.000..
+.........
+.........
+.........
+.........
+
+[U+00BE]
+.........
+.00..00..
+.........
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+..0000...
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+00BF]
+.........
+.........
+.........
+.........
+..00.....
+..00.....
+.........
+..00.....
+..00.....
+..00.....
+.00......
+00...00..
+00...00..
+.00000...
+.........
+.........
+
+[U+F801]
+.........
+.........
+.........
+.........
+000000000
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+2575]
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+2576]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+...000000
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+2514]
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...000000
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+2577]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+
+[U+2502]
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+
+[U+250C]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+...000000
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+
+[U+251C]
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...000000
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+
+[U+2574]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+00000....
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+2518]
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+00000....
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+2500]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+000000000
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+2534]
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+000000000
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+2510]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+00000....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+
+[U+2524]
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+00000....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+
+[U+252C]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+000000000
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+
+[U+253C]
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+000000000
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+
+[U+F803]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+000000000
+.........
+.........
+.........
+.........
+.........
+
+[U+2579]
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00000...
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+257A]
+.........
+.........
+.........
+.........
+.........
+.........
+.00000000
+.00......
+.00000000
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+2517]
+[U+255A]
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00000
+.00......
+.00000000
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+257B]
+.........
+.........
+.........
+.........
+.........
+.........
+.00000...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+
+[U+2503]
+[U+2551]
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+
+[U+250F]
+[U+2554]
+.........
+.........
+.........
+.........
+.........
+.........
+.00000000
+.00......
+.00.00000
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+
+[U+2523]
+[U+2560]
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00000
+.00......
+.00.00000
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+
+[U+2578]
+.........
+.........
+.........
+.........
+.........
+.........
+000000...
+....00...
+000000...
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+251B]
+[U+255D]
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+000.00...
+....00...
+000000...
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+2501]
+[U+2550]
+.........
+.........
+.........
+.........
+.........
+.........
+000000000
+.........
+000000000
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+253B]
+[U+2569]
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+000.00000
+.........
+000000000
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+2513]
+[U+2557]
+.........
+.........
+.........
+.........
+.........
+.........
+000000...
+....00...
+000.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+
+[U+2563]
+[U+252B]
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+000.00...
+....00...
+000.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+
+[U+2533]
+[U+2566]
+.........
+.........
+.........
+.........
+.........
+.........
+000000000
+.........
+000.00000
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+
+[U+254B]
+[U+256C]
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+000.00000
+.........
+000.00000
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+
+[U+00E0]
+.........
+.00......
+..00.....
+...00....
+.........
+.0000....
+....00...
+.00000...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+00E1]
+.........
+...00....
+..00.....
+.00......
+.........
+.0000....
+....00...
+.00000...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+00E2]
+.........
+...0.....
+..000....
+.00.00...
+.........
+.0000....
+....00...
+.00000...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+00E3]
+.........
+.........
+.000.00..
+00.000...
+.........
+.0000....
+....00...
+.00000...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+00E4]
+.........
+.........
+.........
+.00.00...
+.........
+.0000....
+....00...
+.00000...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+00E5]
+.........
+..000....
+.00.00...
+..000....
+.........
+.0000....
+....00...
+.00000...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+00E6]
+.........
+.........
+.........
+.........
+.........
+.000000..
+00.00.00.
+...00.00.
+.0000000.
+00.00....
+00.00.00.
+.000000..
+.........
+.........
+.........
+.........
+
+[U+00E7]
+.........
+.........
+.........
+.........
+.........
+.00000...
+00...00..
+00.......
+00.......
+00.......
+00...00..
+.00000...
+...00....
+.00.00...
+..000....
+.........
+
+[U+00E8]
+.........
+.00......
+..00.....
+...00....
+.........
+.00000...
+00...00..
+0000000..
+00.......
+00.......
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00E9]
+.........
+....00...
+...00....
+..00.....
+.........
+.00000...
+00...00..
+0000000..
+00.......
+00.......
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00EA]
+.........
+...0.....
+..000....
+.00.00...
+.........
+.00000...
+00...00..
+0000000..
+00.......
+00.......
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00EB]
+.........
+.........
+.........
+.00.00...
+.........
+.00000...
+00...00..
+0000000..
+00.......
+00.......
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00EC]
+.........
+.00......
+..00.....
+...00....
+.........
+..000....
+...00....
+...00....
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+00ED]
+.........
+....00...
+...00....
+..00.....
+.........
+..000....
+...00....
+...00....
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+00EE]
+.........
+...00....
+..0000...
+.00..00..
+.........
+..000....
+...00....
+...00....
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+00EF]
+.........
+.........
+.........
+.00.00...
+.........
+..000....
+...00....
+...00....
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+00F0]
+.........
+.0000....
+..00.....
+.0000....
+....00...
+.000000..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00F1]
+.........
+.........
+.000.00..
+00.000...
+.........
+00.000...
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.........
+.........
+.........
+.........
+
+[U+00F2]
+.........
+.00......
+..00.....
+...00....
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00F3]
+.........
+....00...
+...00....
+..00.....
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00F4]
+.........
+...0.....
+..000....
+.00.00...
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00F5]
+.........
+.........
+.000.00..
+00.000...
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00F6]
+.........
+.........
+.........
+.00.00...
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00F7]
+.........
+.........
+.........
+.........
+.........
+...00....
+.........
+.000000..
+.........
+...00....
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00F8]
+.........
+.........
+.........
+.........
+.........
+.000000..
+00..000..
+00.0000..
+0000000..
+0000.00..
+000..00..
+000000...
+.........
+.........
+.........
+.........
+
+[U+00F9]
+.........
+.00......
+..00.....
+...00....
+.........
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+00FA]
+.........
+...00....
+..00.....
+.00......
+.........
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+00FB]
+.........
+..00.....
+.0000....
+00..00...
+.........
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+00FC]
+.........
+.........
+.........
+00..00...
+.........
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+00FD]
+.........
+....00...
+...00....
+..00.....
+.........
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.000000..
+.....00..
+....00...
+00000....
+.........
+
+[U+00FE]
+.........
+.........
+0000.....
+.00......
+.00......
+.00000...
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.00000...
+.00......
+.00......
+0000.....
+.........
+.........
+
+[U+00FF]
+.........
+.........
+.........
+.00.00...
+.........
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.000000..
+.....00..
+....00...
+00000....
+.........
+
diff --git a/consolefonts/lat0-sun16.psf b/consolefonts/lat0-sun16.psf
new file mode 100644
index 0000000..fc70e26
--- /dev/null
+++ b/consolefonts/lat0-sun16.psf
Binary files differ
diff --git a/consolefonts/lat1-08.psf b/consolefonts/lat1-08.psf
new file mode 100644
index 0000000..f3ff65e
--- /dev/null
+++ b/consolefonts/lat1-08.psf
Binary files differ
diff --git a/consolefonts/lat1-10.psf b/consolefonts/lat1-10.psf
new file mode 100644
index 0000000..15f543e
--- /dev/null
+++ b/consolefonts/lat1-10.psf
Binary files differ
diff --git a/consolefonts/lat1-12.psf b/consolefonts/lat1-12.psf
new file mode 100644
index 0000000..ec67c49
--- /dev/null
+++ b/consolefonts/lat1-12.psf
Binary files differ
diff --git a/consolefonts/lat1-14.psf b/consolefonts/lat1-14.psf
new file mode 100644
index 0000000..b38f319
--- /dev/null
+++ b/consolefonts/lat1-14.psf
Binary files differ
diff --git a/consolefonts/lat1-16.psf b/consolefonts/lat1-16.psf
new file mode 100644
index 0000000..097a640
--- /dev/null
+++ b/consolefonts/lat1-16.psf
Binary files differ
diff --git a/consolefonts/lat1u-08.psf b/consolefonts/lat1u-08.psf
new file mode 100644
index 0000000..f3ff65e
--- /dev/null
+++ b/consolefonts/lat1u-08.psf
Binary files differ
diff --git a/consolefonts/lat1u-10.psf b/consolefonts/lat1u-10.psf
new file mode 100644
index 0000000..15f543e
--- /dev/null
+++ b/consolefonts/lat1u-10.psf
Binary files differ
diff --git a/consolefonts/lat1u-12.psf b/consolefonts/lat1u-12.psf
new file mode 100644
index 0000000..8047abd
--- /dev/null
+++ b/consolefonts/lat1u-12.psf
Binary files differ
diff --git a/consolefonts/lat1u-14.psf b/consolefonts/lat1u-14.psf
new file mode 100644
index 0000000..b38f319
--- /dev/null
+++ b/consolefonts/lat1u-14.psf
Binary files differ
diff --git a/consolefonts/lat1u-16.psf b/consolefonts/lat1u-16.psf
new file mode 100644
index 0000000..29decd9
--- /dev/null
+++ b/consolefonts/lat1u-16.psf
Binary files differ
diff --git a/consolefonts/lat1u-16.sbf b/consolefonts/lat1u-16.sbf
new file mode 100644
index 0000000..1b6549b
--- /dev/null
+++ b/consolefonts/lat1u-16.sbf
@@ -0,0 +1,4624 @@
+[U+FFFD]
+.........
+.........
+.000000..
+00....00.
+0..00..0.
+0..00..0.
+0000..00.
+000..000.
+000..000.
+00000000.
+000..000.
+000..000.
+.000000..
+.........
+.........
+.........
+
+[U+2248]
+.........
+.........
+.........
+.........
+.........
+.000.00..
+00.000...
+.........
+.000.00..
+00.000...
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+0152]
+.........
+.........
+.00.000..
+00000....
+00.00....
+00.00....
+00.000...
+00.00....
+00.00....
+00.00....
+00000....
+.00.000..
+.........
+.........
+.........
+.........
+
+[U+0153]
+.........
+.........
+.........
+.........
+.........
+.00.000..
+00.00.00.
+00.00.00.
+00.00000.
+00.00....
+00.00.00.
+.00.000..
+.........
+.........
+.........
+.........
+
+[U+25C6]
+.........
+.........
+.........
+.........
+...0.....
+..000....
+.00000...
+0000000..
+.00000...
+..000....
+...0.....
+.........
+.........
+.........
+.........
+.........
+
+[U+2409]
+.........
+0...0....
+0...0....
+00000....
+0...0....
+0...0....
+.........
+..00000..
+....0....
+....0....
+....0....
+....0....
+.........
+.........
+.........
+.........
+
+[U+240C]
+.........
+00000....
+0........
+000......
+0........
+0........
+.........
+..00000..
+..0......
+..000....
+..0......
+..0......
+.........
+.........
+.........
+.........
+
+[U+240D]
+.........
+.000.....
+0...0....
+0........
+0...0....
+.000.....
+.........
+..0000...
+..0...0..
+..0000...
+..0..0...
+..0...0..
+.........
+.........
+.........
+.........
+
+[U+240A]
+.........
+0........
+0........
+0........
+0........
+00000....
+.........
+..00000..
+..0......
+..000....
+..0......
+..0......
+.........
+.........
+.........
+.........
+
+[U+2591]
+...0...0.
+.0...0...
+...0...0.
+.0...0...
+...0...0.
+.0...0...
+...0...0.
+.0...0...
+...0...0.
+.0...0...
+...0...0.
+.0...0...
+...0...0.
+.0...0...
+...0...0.
+.0...0...
+
+[U+2592]
+.0.0.0.0.
+0.0.0.0..
+.0.0.0.0.
+0.0.0.0..
+.0.0.0.0.
+0.0.0.0..
+.0.0.0.0.
+0.0.0.0..
+.0.0.0.0.
+0.0.0.0..
+.0.0.0.0.
+0.0.0.0..
+.0.0.0.0.
+0.0.0.0..
+.0.0.0.0.
+0.0.0.0..
+
+[U+2593]
+00.000.0.
+.000.000.
+00.000.0.
+.000.000.
+00.000.0.
+.000.000.
+00.000.0.
+.000.000.
+00.000.0.
+.000.000.
+00.000.0.
+.000.000.
+00.000.0.
+.000.000.
+00.000.0.
+.000.000.
+
+[U+2588]
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+
+[U+2584]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+
+[U+2580]
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+00000000.
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+258C]
+0000.....
+0000.....
+0000.....
+0000.....
+0000.....
+0000.....
+0000.....
+0000.....
+0000.....
+0000.....
+0000.....
+0000.....
+0000.....
+0000.....
+0000.....
+0000.....
+
+[U+2590]
+....0000.
+....0000.
+....0000.
+....0000.
+....0000.
+....0000.
+....0000.
+....0000.
+....0000.
+....0000.
+....0000.
+....0000.
+....0000.
+....0000.
+....0000.
+....0000.
+
+[U+2424]
+.........
+0...0....
+00..0....
+0.0.0....
+0..00....
+0...0....
+.........
+..0......
+..0......
+..0......
+..0......
+..00000..
+.........
+.........
+.........
+.........
+
+[U+240B]
+.........
+0...0....
+0...0....
+.0.0.....
+.0.0.....
+..0......
+.........
+..00000..
+....0....
+....0....
+....0....
+....0....
+.........
+.........
+.........
+.........
+
+[U+2264]
+.........
+.........
+.........
+.........
+....000..
+..000....
+000......
+..000....
+....000..
+.........
+0000000..
+.........
+.........
+.........
+.........
+.........
+
+[U+2265]
+.........
+.........
+.........
+.........
+000......
+..000....
+....000..
+..000....
+000......
+.........
+0000000..
+.........
+.........
+.........
+.........
+.........
+
+[U+2260]
+.........
+.........
+.........
+.....00..
+....00...
+0000000..
+...00....
+..00.....
+0000000..
+.00......
+00.......
+.........
+.........
+.........
+.........
+.........
+
+[U+25C0]
+.........
+.........
+.........
+.........
+.....00..
+...0000..
+.000000..
+0000000..
+.000000..
+...0000..
+.....00..
+.........
+.........
+.........
+.........
+.........
+
+[U+25B6]
+.........
+.........
+.........
+.........
+00.......
+0000.....
+000000...
+0000000..
+000000...
+0000.....
+00.......
+.........
+.........
+.........
+.........
+.........
+
+[U+2191]
+.........
+.........
+...00....
+..0000...
+.000000..
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+.........
+.........
+.........
+.........
+
+[U+2193]
+.........
+.........
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+.000000..
+..0000...
+...00....
+.........
+.........
+.........
+.........
+
+[U+2192]
+.........
+.........
+.........
+.........
+.........
+...00....
+....00...
+0000000..
+....00...
+...00....
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+2190]
+.........
+.........
+.........
+.........
+.........
+..00.....
+.00......
+0000000..
+.00......
+..00.....
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+2195]
+.........
+.........
+...00....
+..0000...
+.000000..
+...00....
+...00....
+...00....
+...00....
+.000000..
+..0000...
+...00....
+.........
+.........
+.........
+.........
+
+[U+2194]
+.........
+.........
+.........
+.........
+.........
+..0.0....
+.00.00...
+0000000..
+.00.00...
+..0.0....
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+21B5]
+.........
+.........
+.........
+.........
+.....00..
+..00.00..
+.00..00..
+0000000..
+.00......
+..00.....
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+03C0]
+.........
+.........
+.........
+.........
+.........
+0........
+0000000..
+.00.000..
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.........
+.........
+.........
+.........
+
+[U+0020]
+[U+00A0]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+0021]
+.........
+.........
+...00....
+..0000...
+..0000...
+..0000...
+...00....
+...00....
+...00....
+.........
+...00....
+...00....
+.........
+.........
+.........
+.........
+
+[U+0022]
+.........
+.00..00..
+.00..00..
+.00..00..
+..0..0...
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+0023]
+.........
+.........
+.........
+.00.00...
+.00.00...
+0000000..
+.00.00...
+.00.00...
+.00.00...
+0000000..
+.00.00...
+.00.00...
+.........
+.........
+.........
+.........
+
+[U+0024]
+.........
+...0.....
+...0.....
+.00000...
+00.0.00..
+00.0.....
+00.0.....
+.00000...
+...0.00..
+...0.00..
+00.0.00..
+.00000...
+...0.....
+...0.....
+.........
+.........
+
+[U+0025]
+.........
+.........
+.........
+.........
+00....0..
+00...00..
+....00...
+...00....
+..00.....
+.00......
+00...00..
+0....00..
+.........
+.........
+.........
+.........
+
+[U+0026]
+.........
+.........
+..000....
+.00.00...
+.00.00...
+..000....
+.000.00..
+00.000...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+0027]
+.........
+...00....
+...00....
+...00....
+..00.....
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+0028]
+.........
+.........
+....00...
+...00....
+..00.....
+..00.....
+..00.....
+..00.....
+..00.....
+..00.....
+...00....
+....00...
+.........
+.........
+.........
+.........
+
+[U+0029]
+.........
+.........
+..00.....
+...00....
+....00...
+....00...
+....00...
+....00...
+....00...
+....00...
+...00....
+..00.....
+.........
+.........
+.........
+.........
+
+[U+002A]
+.........
+.........
+.........
+.........
+.........
+.00..00..
+..0000...
+00000000.
+..0000...
+.00..00..
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+002B]
+.........
+.........
+.........
+.........
+.........
+...00....
+...00....
+.000000..
+...00....
+...00....
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+002C]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+...00....
+...00....
+...00....
+..00.....
+.........
+.........
+.........
+
+[U+002D]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+0000000..
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+002E]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+...00....
+...00....
+.........
+.........
+.........
+.........
+
+[U+002F]
+.........
+.........
+.........
+.........
+.........
+.....00..
+....00...
+...00....
+..00.....
+.00......
+00.......
+.........
+.........
+.........
+.........
+.........
+
+[U+0030]
+.........
+.........
+.00000...
+00...00..
+00..000..
+00..000..
+00.0.00..
+00.0.00..
+000..00..
+000..00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0031]
+.........
+.........
+...00....
+..000....
+.0000....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+.000000..
+.........
+.........
+.........
+.........
+
+[U+0032]
+.........
+.........
+.00000...
+00...00..
+.....00..
+....00...
+...00....
+..00.....
+.00......
+00.......
+00...00..
+0000000..
+.........
+.........
+.........
+.........
+
+[U+0033]
+.........
+.........
+.00000...
+00...00..
+.....00..
+.....00..
+..0000...
+.....00..
+.....00..
+.....00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0034]
+.........
+.........
+....00...
+...000...
+..0000...
+.00.00...
+00..00...
+0000000..
+....00...
+....00...
+....00...
+...0000..
+.........
+.........
+.........
+.........
+
+[U+0035]
+.........
+.........
+0000000..
+00.......
+00.......
+00.......
+000000...
+.....00..
+.....00..
+.....00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0036]
+.........
+.........
+..000....
+.00......
+00.......
+00.......
+000000...
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0037]
+.........
+.........
+0000000..
+00...00..
+.....00..
+.....00..
+....00...
+...00....
+..00.....
+..00.....
+..00.....
+..00.....
+.........
+.........
+.........
+.........
+
+[U+0038]
+.........
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0039]
+.........
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+.000000..
+.....00..
+.....00..
+.....00..
+....00...
+.0000....
+.........
+.........
+.........
+.........
+
+[U+003A]
+.........
+.........
+.........
+.........
+...00....
+...00....
+.........
+.........
+.........
+...00....
+...00....
+.........
+.........
+.........
+.........
+.........
+
+[U+003B]
+.........
+.........
+.........
+.........
+...00....
+...00....
+.........
+.........
+.........
+...00....
+...00....
+..00.....
+.........
+.........
+.........
+.........
+
+[U+003C]
+.........
+.........
+.........
+.....00..
+....00...
+...00....
+..00.....
+.00......
+..00.....
+...00....
+....00...
+.....00..
+.........
+.........
+.........
+.........
+
+[U+003D]
+.........
+.........
+.........
+.........
+.........
+0000000..
+.........
+.........
+0000000..
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+003E]
+.........
+.........
+.........
+.00......
+..00.....
+...00....
+....00...
+.....00..
+....00...
+...00....
+..00.....
+.00......
+.........
+.........
+.........
+.........
+
+[U+003F]
+.........
+.........
+.00000...
+00...00..
+00...00..
+....00...
+...00....
+...00....
+...00....
+.........
+...00....
+...00....
+.........
+.........
+.........
+.........
+
+[U+0040]
+.........
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00.0000..
+00.0000..
+00.0000..
+00.000...
+00.......
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0041]
+.........
+.........
+...0.....
+..000....
+.00.00...
+00...00..
+00...00..
+0000000..
+00...00..
+00...00..
+00...00..
+00...00..
+.........
+.........
+.........
+.........
+
+[U+0042]
+.........
+.........
+000000...
+.00..00..
+.00..00..
+.00..00..
+.00000...
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+000000...
+.........
+.........
+.........
+.........
+
+[U+0043]
+.........
+.........
+..0000...
+.00..00..
+00....0..
+00.......
+00.......
+00.......
+00.......
+00....0..
+.00..00..
+..0000...
+.........
+.........
+.........
+.........
+
+[U+0044]
+.........
+.........
+00000....
+.00.00...
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.00.00...
+00000....
+.........
+.........
+.........
+.........
+
+[U+0045]
+.........
+.........
+0000000..
+.00..00..
+.00...0..
+.00.0....
+.0000....
+.00.0....
+.00......
+.00...0..
+.00..00..
+0000000..
+.........
+.........
+.........
+.........
+
+[U+0046]
+.........
+.........
+0000000..
+.00..00..
+.00...0..
+.00.0....
+.0000....
+.00.0....
+.00......
+.00......
+.00......
+0000.....
+.........
+.........
+.........
+.........
+
+[U+0047]
+.........
+.........
+..0000...
+.00..00..
+00....0..
+00.......
+00.......
+00.0000..
+00...00..
+00...00..
+.00..00..
+..000.0..
+.........
+.........
+.........
+.........
+
+[U+0048]
+.........
+.........
+00...00..
+00...00..
+00...00..
+00...00..
+0000000..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.........
+.........
+.........
+.........
+
+[U+0049]
+.........
+.........
+..0000...
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+004A]
+.........
+.........
+...0000..
+....00...
+....00...
+....00...
+....00...
+....00...
+00..00...
+00..00...
+00..00...
+.0000....
+.........
+.........
+.........
+.........
+
+[U+004B]
+[U+212A]
+.........
+.........
+000..00..
+.00..00..
+.00..00..
+.00.00...
+.0000....
+.0000....
+.00.00...
+.00..00..
+.00..00..
+000..00..
+.........
+.........
+.........
+.........
+
+[U+004C]
+.........
+.........
+0000.....
+.00......
+.00......
+.00......
+.00......
+.00......
+.00......
+.00...0..
+.00..00..
+0000000..
+.........
+.........
+.........
+.........
+
+[U+004D]
+.........
+.........
+00...00..
+000.000..
+0000000..
+0000000..
+00.0.00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.........
+.........
+.........
+.........
+
+[U+004E]
+.........
+.........
+00...00..
+000..00..
+0000.00..
+0000000..
+00.0000..
+00..000..
+00...00..
+00...00..
+00...00..
+00...00..
+.........
+.........
+.........
+.........
+
+[U+004F]
+.........
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0050]
+.........
+.........
+000000...
+.00..00..
+.00..00..
+.00..00..
+.00000...
+.00......
+.00......
+.00......
+.00......
+0000.....
+.........
+.........
+.........
+.........
+
+[U+0051]
+.........
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00.0.00..
+00.0000..
+.00000...
+....00...
+....000..
+.........
+.........
+
+[U+0052]
+.........
+.........
+000000...
+.00..00..
+.00..00..
+.00..00..
+.00000...
+.00.00...
+.00..00..
+.00..00..
+.00..00..
+000..00..
+.........
+.........
+.........
+.........
+
+[U+0053]
+.........
+.........
+.00000...
+00...00..
+00...00..
+.00..0...
+..000....
+....00...
+.....00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0054]
+.........
+.........
+.000000..
+.000000..
+.0.00.0..
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+0055]
+.........
+.........
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0056]
+.........
+.........
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00.00...
+..000....
+...0.....
+.........
+.........
+.........
+.........
+
+[U+0057]
+.........
+.........
+00...00..
+00...00..
+00...00..
+00...00..
+00.0.00..
+00.0.00..
+00.0.00..
+0000000..
+000.000..
+.00.00...
+.........
+.........
+.........
+.........
+
+[U+0058]
+.........
+.........
+00...00..
+00...00..
+.00.00...
+.00000...
+..000....
+..000....
+.00000...
+.00.00...
+00...00..
+00...00..
+.........
+.........
+.........
+.........
+
+[U+0059]
+.........
+.........
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+..0000...
+...00....
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+005A]
+.........
+.........
+0000000..
+00...00..
+0....00..
+....00...
+...00....
+..00.....
+.00......
+00....0..
+00...00..
+0000000..
+.........
+.........
+.........
+.........
+
+[U+005B]
+.........
+.........
+..0000...
+..00.....
+..00.....
+..00.....
+..00.....
+..00.....
+..00.....
+..00.....
+..00.....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+005C]
+.........
+.........
+.........
+.........
+.........
+00.......
+.00......
+..00.....
+...00....
+....00...
+.....00..
+.........
+.........
+.........
+.........
+.........
+
+[U+005D]
+.........
+.........
+..0000...
+....00...
+....00...
+....00...
+....00...
+....00...
+....00...
+....00...
+....00...
+..0000...
+.........
+.........
+.........
+.........
+
+[U+005E]
+...0.....
+..000....
+.00.00...
+00...00..
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+005F]
+[U+F804]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+00000000.
+.........
+
+[U+0060]
+.........
+..00.....
+..00.....
+..00.....
+...00....
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+0061]
+.........
+.........
+.........
+.........
+.........
+.0000....
+....00...
+.00000...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+0062]
+.........
+.........
+000......
+.00......
+.00......
+.0000....
+.00.00...
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0063]
+.........
+.........
+.........
+.........
+.........
+.00000...
+00...00..
+00.......
+00.......
+00.......
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0064]
+.........
+.........
+...000...
+....00...
+....00...
+..0000...
+.00.00...
+00..00...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+0065]
+.........
+.........
+.........
+.........
+.........
+.00000...
+00...00..
+0000000..
+00.......
+00.......
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0066]
+.........
+.........
+..000....
+.00.00...
+.00..0...
+.00......
+0000.....
+.00......
+.00......
+.00......
+.00......
+0000.....
+.........
+.........
+.........
+.........
+
+[U+0067]
+.........
+.........
+.........
+.........
+.........
+.000.00..
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+.00000...
+....00...
+00..00...
+.0000....
+.........
+
+[U+0068]
+.........
+.........
+000......
+.00......
+.00......
+.00.00...
+.000.00..
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+000..00..
+.........
+.........
+.........
+.........
+
+[U+0069]
+.........
+.........
+...00....
+...00....
+.........
+..000....
+...00....
+...00....
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+006A]
+.........
+.........
+.....00..
+.....00..
+.........
+....000..
+.....00..
+.....00..
+.....00..
+.....00..
+.....00..
+.....00..
+.00..00..
+.00..00..
+..0000...
+.........
+
+[U+006B]
+.........
+.........
+000......
+.00......
+.00......
+.00..00..
+.00.00...
+.0000....
+.0000....
+.00.00...
+.00..00..
+000..00..
+.........
+.........
+.........
+.........
+
+[U+006C]
+.........
+.........
+..000....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+006D]
+.........
+.........
+.........
+.........
+.........
+000.00...
+0000000..
+00.0.00..
+00.0.00..
+00.0.00..
+00.0.00..
+00...00..
+.........
+.........
+.........
+.........
+
+[U+006E]
+.........
+.........
+.........
+.........
+.........
+00.000...
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.........
+.........
+.........
+.........
+
+[U+006F]
+.........
+.........
+.........
+.........
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0070]
+.........
+.........
+.........
+.........
+.........
+00.000...
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.00000...
+.00......
+.00......
+0000.....
+.........
+
+[U+0071]
+.........
+.........
+.........
+.........
+.........
+.000.00..
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+.00000...
+....00...
+....00...
+...0000..
+.........
+
+[U+0072]
+.........
+.........
+.........
+.........
+.........
+00.000...
+.000.00..
+.00..00..
+.00......
+.00......
+.00......
+0000.....
+.........
+.........
+.........
+.........
+
+[U+0073]
+.........
+.........
+.........
+.........
+.........
+.00000...
+00...00..
+.00......
+..000....
+....00...
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+0074]
+.........
+.........
+...0.....
+..00.....
+..00.....
+000000...
+..00.....
+..00.....
+..00.....
+..00.....
+..00.00..
+...000...
+.........
+.........
+.........
+.........
+
+[U+0075]
+.........
+.........
+.........
+.........
+.........
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+0076]
+.........
+.........
+.........
+.........
+.........
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+..0000...
+...00....
+.........
+.........
+.........
+.........
+
+[U+0077]
+.........
+.........
+.........
+.........
+.........
+00...00..
+00...00..
+00.0.00..
+00.0.00..
+00.0.00..
+0000000..
+.00.00...
+.........
+.........
+.........
+.........
+
+[U+0078]
+.........
+.........
+.........
+.........
+.........
+00...00..
+.00.00...
+..000....
+..000....
+..000....
+.00.00...
+00...00..
+.........
+.........
+.........
+.........
+
+[U+0079]
+.........
+.........
+.........
+.........
+.........
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.000000..
+.....00..
+....00...
+00000....
+.........
+
+[U+007A]
+.........
+.........
+.........
+.........
+.........
+0000000..
+00..00...
+...00....
+..00.....
+.00......
+00...00..
+0000000..
+.........
+.........
+.........
+.........
+
+[U+007B]
+.........
+.........
+....000..
+...00....
+...00....
+...00....
+.000.....
+...00....
+...00....
+...00....
+...00....
+....000..
+.........
+.........
+.........
+.........
+
+[U+007C]
+.........
+.........
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+.........
+.........
+.........
+.........
+
+[U+007D]
+.........
+.........
+.000.....
+...00....
+...00....
+...00....
+....000..
+...00....
+...00....
+...00....
+...00....
+.000.....
+.........
+.........
+.........
+.........
+
+[U+007E]
+.........
+.........
+.000.00..
+00.000...
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+0178]
+.........
+.00..00..
+.........
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+..0000...
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+00C0]
+.00......
+..00.....
+.........
+..000....
+.00.00...
+00...00..
+00...00..
+0000000..
+00...00..
+00...00..
+00...00..
+00...00..
+.........
+.........
+.........
+.........
+
+[U+00C1]
+....00...
+...00....
+.........
+..000....
+.00.00...
+00...00..
+00...00..
+0000000..
+00...00..
+00...00..
+00...00..
+00...00..
+.........
+.........
+.........
+.........
+
+[U+00C2]
+...0.....
+..000....
+.00.00...
+.........
+..000....
+.00.00...
+00...00..
+00...00..
+0000000..
+00...00..
+00...00..
+00...00..
+.........
+.........
+.........
+.........
+
+[U+00C3]
+.000.00..
+00.000...
+.........
+..000....
+.00.00...
+00...00..
+00...00..
+0000000..
+00...00..
+00...00..
+00...00..
+00...00..
+.........
+.........
+.........
+.........
+
+[U+00C4]
+.........
+.00.00...
+.........
+..000....
+.00.00...
+00...00..
+00...00..
+0000000..
+00...00..
+00...00..
+00...00..
+00...00..
+.........
+.........
+.........
+.........
+
+[U+00C5]
+[U+212B]
+..000....
+.00.00...
+..000....
+.........
+..000....
+.00.00...
+00...00..
+00...00..
+0000000..
+00...00..
+00...00..
+00...00..
+.........
+.........
+.........
+.........
+
+[U+00C6]
+.........
+.........
+..00000..
+.0000....
+00.00....
+00.00....
+000000...
+00.00....
+00.00....
+00.00....
+00.00....
+00.0000..
+.........
+.........
+.........
+.........
+
+[U+00C7]
+.........
+.........
+..0000...
+.00..00..
+00....0..
+00.......
+00.......
+00.......
+00.......
+00....0..
+.00..00..
+..0000...
+....00...
+.00..00..
+..0000...
+.........
+
+[U+00C8]
+.00......
+..00.....
+.........
+0000000..
+.00..00..
+.00......
+.00......
+.00000...
+.00......
+.00......
+.00..00..
+0000000..
+.........
+.........
+.........
+.........
+
+[U+00C9]
+....00...
+...00....
+.........
+0000000..
+.00..00..
+.00......
+.00......
+.00000...
+.00......
+.00......
+.00..00..
+0000000..
+.........
+.........
+.........
+.........
+
+[U+00CA]
+...0.....
+..000....
+.00.00...
+.........
+0000000..
+.00..00..
+.00......
+.00000...
+.00......
+.00......
+.00..00..
+0000000..
+.........
+.........
+.........
+.........
+
+[U+00CB]
+.........
+.00.00...
+.........
+0000000..
+.00..00..
+.00......
+.00......
+.00000...
+.00......
+.00......
+.00..00..
+0000000..
+.........
+.........
+.........
+.........
+
+[U+00CC]
+.00......
+..00.....
+.........
+..0000...
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+..0000...
+....0....
+.........
+.........
+.........
+
+[U+00CD]
+.....00..
+....00...
+.........
+..0000...
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+00CE]
+...00....
+..0000...
+.00..00..
+.........
+..0000...
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+00CF]
+.........
+.00..00..
+.........
+..0000...
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+00D0]
+.........
+.........
+00000....
+.00.00...
+.00..00..
+.00..00..
+0000.00..
+.00..00..
+.00..00..
+.00..00..
+.00.00...
+00000....
+.........
+.........
+.........
+.........
+
+[U+00D1]
+.000.00..
+00.000...
+.........
+00...00..
+000..00..
+0000.00..
+0000000..
+00.0000..
+00..000..
+00...00..
+00...00..
+00...00..
+.........
+.........
+.........
+.........
+
+[U+00D2]
+.00......
+..00.....
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00D3]
+....00...
+...00....
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00D4]
+...0.....
+..000....
+.00.00...
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00D5]
+.000.00..
+00.000...
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00D6]
+.........
+.00.00...
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00D7]
+.........
+.........
+.........
+.........
+.........
+.00..00..
+..0000...
+...00....
+..0000...
+.00..00..
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00D8]
+.........
+.........
+.000000..
+00...00..
+00..000..
+00..000..
+00.0000..
+0000.00..
+000..00..
+000..00..
+00...00..
+000000...
+.........
+.........
+.........
+.........
+
+[U+00D9]
+.00......
+..00.....
+.........
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00DA]
+....00...
+...00....
+.........
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00DB]
+...0.....
+..000....
+.00.00...
+.........
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00DC]
+.........
+.00.00...
+.........
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00DD]
+.....00..
+....00...
+.........
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+..0000...
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+00DE]
+.........
+.........
+0000.....
+.00......
+.00000...
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.00000...
+.00......
+0000.....
+.........
+.........
+.........
+.........
+
+[U+00DF]
+.........
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00..00...
+00...00..
+00...00..
+00...00..
+00.0.00..
+00.000...
+0........
+.........
+.........
+.........
+
+[U+2423]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+0.....0..
+0000000..
+.........
+.........
+.........
+.........
+
+[U+00A1]
+.........
+.........
+.........
+.........
+...00....
+...00....
+.........
+...00....
+...00....
+...00....
+..0000...
+..0000...
+..0000...
+...00....
+.........
+.........
+
+[U+00A2]
+.........
+.........
+.........
+.........
+...0.....
+.00000...
+00.0.00..
+00.0.....
+00.0.....
+00.0.....
+00.0.00..
+.00000...
+...0.....
+.........
+.........
+.........
+
+[U+00A3]
+.........
+.........
+..000....
+.00.00...
+.00......
+.00......
+0000.....
+.00......
+.00......
+.00..00..
+0000.00..
+.00.00...
+.........
+.........
+.........
+.........
+
+[U+00A4]
+.........
+.........
+.........
+.........
+00...00..
+.00000...
+.00.00...
+.00.00...
+.00000...
+00...00..
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00A5]
+.........
+.........
+.00..00..
+.00..00..
+..0000...
+...00....
+.000000..
+...00....
+.000000..
+...00....
+...00....
+...00....
+.........
+.........
+.........
+.........
+
+[U+00A6]
+.........
+.........
+...00....
+...00....
+...00....
+...00....
+.........
+...00....
+...00....
+...00....
+...00....
+...00....
+.........
+.........
+.........
+.........
+
+[U+00A7]
+.........
+.00000...
+00...00..
+.00......
+..000....
+.00.00...
+00...00..
+00...00..
+.00.00...
+..000....
+....00...
+00...00..
+.00000...
+.........
+.........
+.........
+
+[U+00A8]
+.........
+.00.00...
+.00.00...
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00A9]
+.........
+.........
+..0000...
+.0....0..
+0..00..0.
+0.0..0.0.
+0.0....0.
+0.0..0.0.
+0..00..0.
+.0....0..
+..0000...
+.........
+.........
+.........
+.........
+.........
+
+[U+00AA]
+.........
+.........
+..0000...
+.00.00...
+.00.00...
+..00000..
+.........
+.000000..
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00AB]
+.........
+.........
+.........
+.........
+.........
+..00.00..
+.00.00...
+00.00....
+.00.00...
+..00.00..
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00AC]
+.........
+.........
+.........
+.........
+.........
+.........
+0000000..
+.....00..
+.....00..
+.....00..
+.....00..
+.........
+.........
+.........
+.........
+.........
+
+[U+00AD]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.000000..
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00AE]
+.........
+.........
+..0000...
+.0....0..
+0.000..0.
+0.0..0.0.
+0.000..0.
+0.0..0.0.
+0.0..0.0.
+.0....0..
+..0000...
+.........
+.........
+.........
+.........
+.........
+
+[U+00AF]
+[U+F800]
+00000000.
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00B0]
+.........
+..000....
+.00.00...
+.00.00...
+..000....
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00B1]
+.........
+.........
+.........
+.........
+.........
+...00....
+...00....
+.000000..
+...00....
+...00....
+.........
+.000000..
+.........
+.........
+.........
+.........
+
+[U+00B2]
+..000....
+.00.00...
+...00....
+..00.....
+.00000...
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00B3]
+..000....
+.00.00...
+...00....
+.00.00...
+..000....
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00B4]
+.........
+...00....
+..00.....
+.00......
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00B5]
+.........
+.........
+.........
+.........
+.........
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+0000.00..
+00.......
+00.......
+00.......
+.........
+
+[U+00B6]
+.........
+.........
+.0000000.
+00.0.00..
+00.0.00..
+.000.00..
+..00.00..
+..00.00..
+..00.00..
+..00.00..
+..00.00..
+..00.00..
+.........
+.........
+.........
+.........
+
+[U+00B7]
+.........
+.........
+.........
+.........
+.........
+.........
+...00....
+...00....
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00B8]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+...00....
+.00.00...
+..000....
+.........
+
+[U+00B9]
+..00.....
+.000.....
+..00.....
+..00.....
+.0000....
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00BA]
+.........
+.........
+..000....
+.00.00...
+.00.00...
+..000....
+.........
+.00000...
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00BB]
+.........
+.........
+.........
+.........
+.........
+00.00....
+.00.00...
+..00.00..
+.00.00...
+00.00....
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00BC]
+.00......
+000......
+.00......
+.00......
+0000.00..
+....00...
+...00....
+..00.....
+.00..00..
+00..000..
+...00.0..
+..000000.
+.....00..
+.....00..
+.........
+.........
+
+[U+00BD]
+.00......
+000......
+.00......
+.00......
+0000.00..
+....00...
+...00....
+..00.....
+.00.000..
+00.00.00.
+.....00..
+....00...
+...00000.
+.........
+.........
+.........
+
+[U+00BE]
+.000.....
+00.00....
+..00.....
+00.00....
+.000.00..
+....00...
+...00....
+..00.....
+.00..00..
+00..000..
+...00.0..
+..000000.
+.....00..
+.....00..
+.........
+.........
+
+[U+00BF]
+.........
+.........
+.........
+.........
+..00.....
+..00.....
+.........
+..00.....
+..00.....
+..00.....
+.00......
+00...00..
+00...00..
+.00000...
+.........
+.........
+
+[U+F801]
+.........
+.........
+.........
+.........
+000000000
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+2575]
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+2576]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+...000000
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+2514]
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...000000
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+2577]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+
+[U+2502]
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+
+[U+250C]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+...000000
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+
+[U+251C]
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...000000
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+
+[U+2574]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+00000....
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+2518]
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+00000....
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+2500]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+000000000
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+2534]
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+000000000
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+2510]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+00000....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+
+[U+2524]
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+00000....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+
+[U+252C]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+000000000
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+
+[U+253C]
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+000000000
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+...00....
+
+[U+F803]
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+000000000
+.........
+.........
+.........
+.........
+.........
+
+[U+2579]
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00000...
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+257A]
+.........
+.........
+.........
+.........
+.........
+.........
+.00000000
+.00......
+.00000000
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+2517]
+[U+255A]
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00000
+.00......
+.00000000
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+257B]
+.........
+.........
+.........
+.........
+.........
+.........
+.00000...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+
+[U+2503]
+[U+2551]
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+
+[U+250F]
+[U+2554]
+.........
+.........
+.........
+.........
+.........
+.........
+.00000000
+.00......
+.00.00000
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+
+[U+2523]
+[U+2560]
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00000
+.00......
+.00.00000
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+
+[U+2578]
+.........
+.........
+.........
+.........
+.........
+.........
+000000...
+....00...
+000000...
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+251B]
+[U+255D]
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+000.00...
+....00...
+000000...
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+2501]
+[U+2550]
+.........
+.........
+.........
+.........
+.........
+.........
+000000000
+.........
+000000000
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+253B]
+[U+2569]
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+000.00000
+.........
+000000000
+.........
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+2513]
+[U+2557]
+.........
+.........
+.........
+.........
+.........
+.........
+000000...
+....00...
+000.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+
+[U+2563]
+[U+252B]
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+000.00...
+....00...
+000.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+
+[U+2533]
+[U+2566]
+.........
+.........
+.........
+.........
+.........
+.........
+000000000
+.........
+000.00000
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+
+[U+254B]
+[U+256C]
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+000.00000
+.........
+000.00000
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+.00.00...
+
+[U+00E0]
+.........
+.00......
+..00.....
+...00....
+.........
+.0000....
+....00...
+.00000...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+00E1]
+.........
+...00....
+..00.....
+.00......
+.........
+.0000....
+....00...
+.00000...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+00E2]
+.........
+...0.....
+..000....
+.00.00...
+.........
+.0000....
+....00...
+.00000...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+00E3]
+.........
+.........
+.000.00..
+00.000...
+.........
+.0000....
+....00...
+.00000...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+00E4]
+.........
+.........
+.........
+.00.00...
+.........
+.0000....
+....00...
+.00000...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+00E5]
+.........
+..000....
+.00.00...
+..000....
+.........
+.0000....
+....00...
+.00000...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+00E6]
+.........
+.........
+.........
+.........
+.........
+.000000..
+00.00.00.
+...00.00.
+.0000000.
+00.00....
+00.00.00.
+.000000..
+.........
+.........
+.........
+.........
+
+[U+00E7]
+.........
+.........
+.........
+.........
+.........
+.00000...
+00...00..
+00.......
+00.......
+00.......
+00...00..
+.00000...
+...00....
+.00.00...
+..000....
+.........
+
+[U+00E8]
+.........
+.00......
+..00.....
+...00....
+.........
+.00000...
+00...00..
+0000000..
+00.......
+00.......
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00E9]
+.........
+....00...
+...00....
+..00.....
+.........
+.00000...
+00...00..
+0000000..
+00.......
+00.......
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00EA]
+.........
+...0.....
+..000....
+.00.00...
+.........
+.00000...
+00...00..
+0000000..
+00.......
+00.......
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00EB]
+.........
+.........
+.........
+.00.00...
+.........
+.00000...
+00...00..
+0000000..
+00.......
+00.......
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00EC]
+.........
+.00......
+..00.....
+...00....
+.........
+..000....
+...00....
+...00....
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+00ED]
+.........
+....00...
+...00....
+..00.....
+.........
+..000....
+...00....
+...00....
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+00EE]
+.........
+...00....
+..0000...
+.00..00..
+.........
+..000....
+...00....
+...00....
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+00EF]
+.........
+.........
+.........
+.00.00...
+.........
+..000....
+...00....
+...00....
+...00....
+...00....
+...00....
+..0000...
+.........
+.........
+.........
+.........
+
+[U+00F0]
+.........
+.0000....
+..00.....
+.0000....
+....00...
+.000000..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00F1]
+.........
+.........
+.000.00..
+00.000...
+.........
+00.000...
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.........
+.........
+.........
+.........
+
+[U+00F2]
+.........
+.00......
+..00.....
+...00....
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00F3]
+.........
+....00...
+...00....
+..00.....
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00F4]
+.........
+...0.....
+..000....
+.00.00...
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00F5]
+.........
+.........
+.000.00..
+00.000...
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00F6]
+.........
+.........
+.........
+.00.00...
+.........
+.00000...
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.00000...
+.........
+.........
+.........
+.........
+
+[U+00F7]
+.........
+.........
+.........
+.........
+.........
+...00....
+.........
+.000000..
+.........
+...00....
+.........
+.........
+.........
+.........
+.........
+.........
+
+[U+00F8]
+.........
+.........
+.........
+.........
+.........
+.000000..
+00..000..
+00.0000..
+0000000..
+0000.00..
+000..00..
+000000...
+.........
+.........
+.........
+.........
+
+[U+00F9]
+.........
+.00......
+..00.....
+...00....
+.........
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+00FA]
+.........
+...00....
+..00.....
+.00......
+.........
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+00FB]
+.........
+..00.....
+.0000....
+00..00...
+.........
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+00FC]
+.........
+.........
+.........
+00..00...
+.........
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+00..00...
+.000.00..
+.........
+.........
+.........
+.........
+
+[U+00FD]
+.........
+....00...
+...00....
+..00.....
+.........
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.000000..
+.....00..
+....00...
+00000....
+.........
+
+[U+00FE]
+.........
+.........
+0000.....
+.00......
+.00......
+.00000...
+.00..00..
+.00..00..
+.00..00..
+.00..00..
+.00000...
+.00......
+.00......
+0000.....
+.........
+.........
+
+[U+00FF]
+.........
+.........
+.........
+.00.00...
+.........
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+00...00..
+.000000..
+.....00..
+....00...
+00000....
+.........
+
diff --git a/consolefonts/lat2-08.psf b/consolefonts/lat2-08.psf
new file mode 100644
index 0000000..61262ed
--- /dev/null
+++ b/consolefonts/lat2-08.psf
Binary files differ
diff --git a/consolefonts/lat2-10.psf b/consolefonts/lat2-10.psf
new file mode 100644
index 0000000..2b86f24
--- /dev/null
+++ b/consolefonts/lat2-10.psf
Binary files differ
diff --git a/consolefonts/lat2-12.psf b/consolefonts/lat2-12.psf
new file mode 100644
index 0000000..27b6df5
--- /dev/null
+++ b/consolefonts/lat2-12.psf
Binary files differ
diff --git a/consolefonts/lat2-14.psf b/consolefonts/lat2-14.psf
new file mode 100644
index 0000000..88ebbb9
--- /dev/null
+++ b/consolefonts/lat2-14.psf
Binary files differ
diff --git a/consolefonts/lat2-16.psf b/consolefonts/lat2-16.psf
new file mode 100644
index 0000000..f293d14
--- /dev/null
+++ b/consolefonts/lat2-16.psf
Binary files differ
diff --git a/consolefonts/lat2-sun16.psf b/consolefonts/lat2-sun16.psf
new file mode 100644
index 0000000..7201135
--- /dev/null
+++ b/consolefonts/lat2-sun16.psf
Binary files differ
diff --git a/consolefonts/lat2u-08.psf b/consolefonts/lat2u-08.psf
new file mode 100644
index 0000000..9cea1bc
--- /dev/null
+++ b/consolefonts/lat2u-08.psf
Binary files differ
diff --git a/consolefonts/lat2u-10.psf b/consolefonts/lat2u-10.psf
new file mode 100644
index 0000000..310c0f9
--- /dev/null
+++ b/consolefonts/lat2u-10.psf
Binary files differ
diff --git a/consolefonts/lat2u-12.psf b/consolefonts/lat2u-12.psf
new file mode 100644
index 0000000..be8002c
--- /dev/null
+++ b/consolefonts/lat2u-12.psf
Binary files differ
diff --git a/consolefonts/lat2u-14.psf b/consolefonts/lat2u-14.psf
new file mode 100644
index 0000000..98d48a2
--- /dev/null
+++ b/consolefonts/lat2u-14.psf
Binary files differ
diff --git a/consolefonts/lat2u-16.psf b/consolefonts/lat2u-16.psf
new file mode 100644
index 0000000..65da823
--- /dev/null
+++ b/consolefonts/lat2u-16.psf
Binary files differ
diff --git a/consolefonts/lat4-08.psf b/consolefonts/lat4-08.psf
new file mode 100644
index 0000000..c9abc78
--- /dev/null
+++ b/consolefonts/lat4-08.psf
Binary files differ
diff --git a/consolefonts/lat4-10.psf b/consolefonts/lat4-10.psf
new file mode 100644
index 0000000..05a5b19
--- /dev/null
+++ b/consolefonts/lat4-10.psf
Binary files differ
diff --git a/consolefonts/lat4-12.psf b/consolefonts/lat4-12.psf
new file mode 100644
index 0000000..8e47767
--- /dev/null
+++ b/consolefonts/lat4-12.psf
Binary files differ
diff --git a/consolefonts/lat4-14.psf b/consolefonts/lat4-14.psf
new file mode 100644
index 0000000..742612f
--- /dev/null
+++ b/consolefonts/lat4-14.psf
Binary files differ
diff --git a/consolefonts/lat4-16+.psf b/consolefonts/lat4-16+.psf
new file mode 100644
index 0000000..db066a7
--- /dev/null
+++ b/consolefonts/lat4-16+.psf
Binary files differ
diff --git a/consolefonts/lat4-16.psf b/consolefonts/lat4-16.psf
new file mode 100644
index 0000000..3afbf24
--- /dev/null
+++ b/consolefonts/lat4-16.psf
Binary files differ
diff --git a/consolefonts/lat4-19.psf b/consolefonts/lat4-19.psf
new file mode 100644
index 0000000..432d04b
--- /dev/null
+++ b/consolefonts/lat4-19.psf
Binary files differ
diff --git a/consolefonts/lat4a-08.psf b/consolefonts/lat4a-08.psf
new file mode 100644
index 0000000..21a270b
--- /dev/null
+++ b/consolefonts/lat4a-08.psf
Binary files differ
diff --git a/consolefonts/lat4a-10.psf b/consolefonts/lat4a-10.psf
new file mode 100644
index 0000000..0b6d845
--- /dev/null
+++ b/consolefonts/lat4a-10.psf
Binary files differ
diff --git a/consolefonts/lat4a-12.psf b/consolefonts/lat4a-12.psf
new file mode 100644
index 0000000..fd18374
--- /dev/null
+++ b/consolefonts/lat4a-12.psf
Binary files differ
diff --git a/consolefonts/lat4a-14.psf b/consolefonts/lat4a-14.psf
new file mode 100644
index 0000000..fad07e8
--- /dev/null
+++ b/consolefonts/lat4a-14.psf
Binary files differ
diff --git a/consolefonts/lat4a-16+.psf b/consolefonts/lat4a-16+.psf
new file mode 100644
index 0000000..88df95e
--- /dev/null
+++ b/consolefonts/lat4a-16+.psf
Binary files differ
diff --git a/consolefonts/lat4a-16.psf b/consolefonts/lat4a-16.psf
new file mode 100644
index 0000000..5fe3d07
--- /dev/null
+++ b/consolefonts/lat4a-16.psf
Binary files differ
diff --git a/consolefonts/lat4a-19.psf b/consolefonts/lat4a-19.psf
new file mode 100644
index 0000000..da715d4
--- /dev/null
+++ b/consolefonts/lat4a-19.psf
Binary files differ
diff --git a/consolefonts/lat4u-08.psf b/consolefonts/lat4u-08.psf
new file mode 100644
index 0000000..c9abc78
--- /dev/null
+++ b/consolefonts/lat4u-08.psf
Binary files differ
diff --git a/consolefonts/lat4u-10.psf b/consolefonts/lat4u-10.psf
new file mode 100644
index 0000000..05a5b19
--- /dev/null
+++ b/consolefonts/lat4u-10.psf
Binary files differ
diff --git a/consolefonts/lat4u-12.psf b/consolefonts/lat4u-12.psf
new file mode 100644
index 0000000..8e47767
--- /dev/null
+++ b/consolefonts/lat4u-12.psf
Binary files differ
diff --git a/consolefonts/lat4u-14.psf b/consolefonts/lat4u-14.psf
new file mode 100644
index 0000000..742612f
--- /dev/null
+++ b/consolefonts/lat4u-14.psf
Binary files differ
diff --git a/consolefonts/lat4u-16+.psf b/consolefonts/lat4u-16+.psf
new file mode 100644
index 0000000..db066a7
--- /dev/null
+++ b/consolefonts/lat4u-16+.psf
Binary files differ
diff --git a/consolefonts/lat4u-16.psf b/consolefonts/lat4u-16.psf
new file mode 100644
index 0000000..3afbf24
--- /dev/null
+++ b/consolefonts/lat4u-16.psf
Binary files differ
diff --git a/consolefonts/lat4u-19.psf b/consolefonts/lat4u-19.psf
new file mode 100644
index 0000000..432d04b
--- /dev/null
+++ b/consolefonts/lat4u-19.psf
Binary files differ
diff --git a/consolefonts/lat5u-16.psf b/consolefonts/lat5u-16.psf
new file mode 100644
index 0000000..1cb3ac5
--- /dev/null
+++ b/consolefonts/lat5u-16.psf
Binary files differ
diff --git a/consolefonts/lat7-14.psf b/consolefonts/lat7-14.psf
new file mode 100644
index 0000000..584e56c
--- /dev/null
+++ b/consolefonts/lat7-14.psf
Binary files differ
diff --git a/consolefonts/lat9-08.psf b/consolefonts/lat9-08.psf
new file mode 100644
index 0000000..a8bc641
--- /dev/null
+++ b/consolefonts/lat9-08.psf
Binary files differ
diff --git a/consolefonts/lat9-10.psf b/consolefonts/lat9-10.psf
new file mode 100644
index 0000000..82ecbf8
--- /dev/null
+++ b/consolefonts/lat9-10.psf
Binary files differ
diff --git a/consolefonts/lat9-12.psf b/consolefonts/lat9-12.psf
new file mode 100644
index 0000000..912ad7c
--- /dev/null
+++ b/consolefonts/lat9-12.psf
Binary files differ
diff --git a/consolefonts/lat9-14.psf b/consolefonts/lat9-14.psf
new file mode 100644
index 0000000..b1bcbb1
--- /dev/null
+++ b/consolefonts/lat9-14.psf
Binary files differ
diff --git a/consolefonts/lat9-16.psf b/consolefonts/lat9-16.psf
new file mode 100644
index 0000000..e806960
--- /dev/null
+++ b/consolefonts/lat9-16.psf
Binary files differ
diff --git a/consolefonts/lat9u-08.psf b/consolefonts/lat9u-08.psf
new file mode 100644
index 0000000..a216df3
--- /dev/null
+++ b/consolefonts/lat9u-08.psf
Binary files differ
diff --git a/consolefonts/lat9u-10.psf b/consolefonts/lat9u-10.psf
new file mode 100644
index 0000000..db103e8
--- /dev/null
+++ b/consolefonts/lat9u-10.psf
Binary files differ
diff --git a/consolefonts/lat9u-12.psf b/consolefonts/lat9u-12.psf
new file mode 100644
index 0000000..4211281
--- /dev/null
+++ b/consolefonts/lat9u-12.psf
Binary files differ
diff --git a/consolefonts/lat9u-14.psf b/consolefonts/lat9u-14.psf
new file mode 100644
index 0000000..031fd68
--- /dev/null
+++ b/consolefonts/lat9u-14.psf
Binary files differ
diff --git a/consolefonts/lat9u-16.psf b/consolefonts/lat9u-16.psf
new file mode 100644
index 0000000..323ef38
--- /dev/null
+++ b/consolefonts/lat9u-16.psf
Binary files differ
diff --git a/consolefonts/lat9v-08.psf b/consolefonts/lat9v-08.psf
new file mode 100644
index 0000000..6155d59
--- /dev/null
+++ b/consolefonts/lat9v-08.psf
Binary files differ
diff --git a/consolefonts/lat9v-10.psf b/consolefonts/lat9v-10.psf
new file mode 100644
index 0000000..19d1007
--- /dev/null
+++ b/consolefonts/lat9v-10.psf
Binary files differ
diff --git a/consolefonts/lat9v-12.psf b/consolefonts/lat9v-12.psf
new file mode 100644
index 0000000..50b778b
--- /dev/null
+++ b/consolefonts/lat9v-12.psf
Binary files differ
diff --git a/consolefonts/lat9v-14.psf b/consolefonts/lat9v-14.psf
new file mode 100644
index 0000000..db24b5f
--- /dev/null
+++ b/consolefonts/lat9v-14.psf
Binary files differ
diff --git a/consolefonts/lat9v-16.psf b/consolefonts/lat9v-16.psf
new file mode 100644
index 0000000..79c7774
--- /dev/null
+++ b/consolefonts/lat9v-16.psf
Binary files differ
diff --git a/consolefonts/lat9w-08.psf b/consolefonts/lat9w-08.psf
new file mode 100644
index 0000000..a406dda
--- /dev/null
+++ b/consolefonts/lat9w-08.psf
Binary files differ
diff --git a/consolefonts/lat9w-10.psf b/consolefonts/lat9w-10.psf
new file mode 100644
index 0000000..b1da752
--- /dev/null
+++ b/consolefonts/lat9w-10.psf
Binary files differ
diff --git a/consolefonts/lat9w-12.psf b/consolefonts/lat9w-12.psf
new file mode 100644
index 0000000..833d533
--- /dev/null
+++ b/consolefonts/lat9w-12.psf
Binary files differ
diff --git a/consolefonts/lat9w-14.psf b/consolefonts/lat9w-14.psf
new file mode 100644
index 0000000..27e3ca7
--- /dev/null
+++ b/consolefonts/lat9w-14.psf
Binary files differ
diff --git a/consolefonts/lat9w-16.psf b/consolefonts/lat9w-16.psf
new file mode 100644
index 0000000..7a22e94
--- /dev/null
+++ b/consolefonts/lat9w-16.psf
Binary files differ
diff --git a/consolefonts/lat9wbrl-08.psf b/consolefonts/lat9wbrl-08.psf
new file mode 100644
index 0000000..d3902a3
--- /dev/null
+++ b/consolefonts/lat9wbrl-08.psf
Binary files differ
diff --git a/consolefonts/lat9wbrl-10.psf b/consolefonts/lat9wbrl-10.psf
new file mode 100644
index 0000000..0cc573d
--- /dev/null
+++ b/consolefonts/lat9wbrl-10.psf
Binary files differ
diff --git a/consolefonts/lat9wbrl-12.psf b/consolefonts/lat9wbrl-12.psf
new file mode 100644
index 0000000..0fd035c
--- /dev/null
+++ b/consolefonts/lat9wbrl-12.psf
Binary files differ
diff --git a/consolefonts/lat9wbrl-14.psf b/consolefonts/lat9wbrl-14.psf
new file mode 100644
index 0000000..566fe47
--- /dev/null
+++ b/consolefonts/lat9wbrl-14.psf
Binary files differ
diff --git a/consolefonts/lat9wbrl-16.psf b/consolefonts/lat9wbrl-16.psf
new file mode 100644
index 0000000..3214681
--- /dev/null
+++ b/consolefonts/lat9wbrl-16.psf
Binary files differ
diff --git a/consolefonts/latarcyrheb-sun16.psf b/consolefonts/latarcyrheb-sun16.psf
new file mode 100644
index 0000000..a4b75c7
--- /dev/null
+++ b/consolefonts/latarcyrheb-sun16.psf
Binary files differ
diff --git a/consolefonts/ruscii_8x14.psf b/consolefonts/ruscii_8x14.psf
new file mode 100644
index 0000000..3a65169
--- /dev/null
+++ b/consolefonts/ruscii_8x14.psf
Binary files differ
diff --git a/consolefonts/ruscii_8x16.psf b/consolefonts/ruscii_8x16.psf
new file mode 100644
index 0000000..7ebc08d
--- /dev/null
+++ b/consolefonts/ruscii_8x16.psf
Binary files differ
diff --git a/consolefonts/ruscii_8x8.psf b/consolefonts/ruscii_8x8.psf
new file mode 100644
index 0000000..177e6ef
--- /dev/null
+++ b/consolefonts/ruscii_8x8.psf
Binary files differ
diff --git a/consolefonts/t850b.psf b/consolefonts/t850b.psf
new file mode 100644
index 0000000..0966cd8
--- /dev/null
+++ b/consolefonts/t850b.psf
Binary files differ
diff --git a/consolefonts/tcvn8x16.psf b/consolefonts/tcvn8x16.psf
new file mode 100644
index 0000000..28b5be9
--- /dev/null
+++ b/consolefonts/tcvn8x16.psf
Binary files differ
diff --git a/consolefonts/tis-phaisarn.f16.psf b/consolefonts/tis-phaisarn.f16.psf
new file mode 100644
index 0000000..e10488f
--- /dev/null
+++ b/consolefonts/tis-phaisarn.f16.psf
Binary files differ
diff --git a/consolefonts/tis-ptconsl.f16.psf b/consolefonts/tis-ptconsl.f16.psf
new file mode 100644
index 0000000..b9d27eb
--- /dev/null
+++ b/consolefonts/tis-ptconsl.f16.psf
Binary files differ
diff --git a/consolefonts/tis-ptcufont.f20.psf b/consolefonts/tis-ptcufont.f20.psf
new file mode 100644
index 0000000..0acb023
--- /dev/null
+++ b/consolefonts/tis-ptcufont.f20.psf
Binary files differ
diff --git a/consolefonts/tis-ptkmfont.f24.psf b/consolefonts/tis-ptkmfont.f24.psf
new file mode 100644
index 0000000..88e9946
--- /dev/null
+++ b/consolefonts/tis-ptkmfont.f24.psf
Binary files differ
diff --git a/consolefonts/tis-ptlight.f16.psf b/consolefonts/tis-ptlight.f16.psf
new file mode 100644
index 0000000..ada4dd7
--- /dev/null
+++ b/consolefonts/tis-ptlight.f16.psf
Binary files differ
diff --git a/consolefonts/tis-ptramafo.f20.psf b/consolefonts/tis-ptramafo.f20.psf
new file mode 100644
index 0000000..375cdab
--- /dev/null
+++ b/consolefonts/tis-ptramafo.f20.psf
Binary files differ
diff --git a/consolefonts/tis-ptsmall.f16.psf b/consolefonts/tis-ptsmall.f16.psf
new file mode 100644
index 0000000..e3a90af
--- /dev/null
+++ b/consolefonts/tis-ptsmall.f16.psf
Binary files differ
diff --git a/consolefonts/viscii10-8x16.psf b/consolefonts/viscii10-8x16.psf
new file mode 100644
index 0000000..7bf25b9
--- /dev/null
+++ b/consolefonts/viscii10-8x16.psf
Binary files differ
diff --git a/consoletrans/Cyr_a.sfm b/consoletrans/Cyr_a.sfm
new file mode 100644
index 0000000..1c7bb10
--- /dev/null
+++ b/consoletrans/Cyr_a.sfm
@@ -0,0 +1,294 @@
+0x00 U+0000
+0x00 U+fffd
+0x01 U+0001
+0x01 U+263a
+0x02 U+0002
+0x02 U+263b
+0x03 U+0003
+0x03 U+2665
+0x04 U+0004
+0x04 U+2666
+0x05 U+0005
+0x05 U+2663
+0x06 U+0006
+0x06 U+2660
+0x07 U+0007
+0x07 U+2022
+0x08 U+0008
+0x08 U+25d8
+0x09 U+0009
+0x09 U+25cb
+0x0a U+000a
+0x0a U+25d9
+0x0b U+000b
+0x0b U+2642
+0x0c U+000c
+0x0c U+2640
+0x0d U+000d
+0x0d U+266a
+0x0e U+000e
+0x0e U+266b
+0x0e U+266c
+0x0f U+000f
+0x0f U+263c
+0x10 U+0010
+0x10 U+25b6
+0x10 U+25ba
+0x11 U+0011
+0x11 U+25c0
+0x11 U+25c4
+0x12 U+0012
+0x12 U+2195
+0x13 U+0013
+0x13 U+203c
+0x14 U+0014
+0x14 U+00b6
+0x15 U+0015
+0x15 U+00a7
+0x16 U+0016
+0x16 U+25ac
+0x17 U+0017
+0x17 U+21a8
+0x18 U+0018
+0x18 U+2191
+0x19 U+0019
+0x19 U+2193
+0x1a U+001a
+0x1a U+2192
+0x1b U+001b
+0x1b U+2190
+0x1c U+001c
+0x1c U+221f
+0x1c U+2319
+0x1d U+001d
+0x1d U+2194
+0x1e U+001e
+0x1e U+25b2
+0x1f U+001f
+0x1f U+25bc
+0x20 U+0020
+0x21 U+0021
+0x22 U+0022
+0x23 U+0023
+0x24 U+0024
+0x25 U+0025
+0x26 U+0026
+0x27 U+0027
+0x28 U+0028
+0x29 U+0029
+0x2a U+002a
+0x2b U+002b
+0x2c U+002c
+0x2d U+002d
+0x2e U+002e
+0x2f U+002f
+0x30 U+0030
+0x31 U+0031
+0x32 U+0032
+0x33 U+0033
+0x34 U+0034
+0x35 U+0035
+0x36 U+0036
+0x37 U+0037
+0x38 U+0038
+0x39 U+0039
+0x3a U+003a
+0x3b U+003b
+0x3c U+003c
+0x3d U+003d
+0x3e U+003e
+0x3f U+003f
+0x40 U+0040
+0x41 U+0041
+0x42 U+0042
+0x43 U+0043
+0x44 U+0044
+0x45 U+0045
+0x46 U+0046
+0x47 U+0047
+0x48 U+0048
+0x49 U+0049
+0x4a U+004a
+0x4b U+004b
+0x4c U+004c
+0x4d U+004d
+0x4e U+004e
+0x4f U+004f
+0x50 U+0050
+0x51 U+0051
+0x52 U+0052
+0x53 U+0053
+0x54 U+0054
+0x55 U+0055
+0x56 U+0056
+0x57 U+0057
+0x58 U+0058
+0x59 U+0059
+0x5a U+005a
+0x5b U+005b
+0x5c U+005c
+0x5d U+005d
+0x5e U+005e
+0x5f U+005f
+0x60 U+0060
+0x61 U+0061
+0x62 U+0062
+0x63 U+0063
+0x64 U+0064
+0x65 U+0065
+0x66 U+0066
+0x67 U+0067
+0x68 U+0068
+0x69 U+0069
+0x6a U+006a
+0x6b U+006b
+0x6c U+006c
+0x6d U+006d
+0x6e U+006e
+0x6f U+006f
+0x70 U+0070
+0x71 U+0071
+0x72 U+0072
+0x73 U+0073
+0x74 U+0074
+0x75 U+0075
+0x76 U+0076
+0x77 U+0077
+0x78 U+0078
+0x79 U+0079
+0x7a U+007a
+0x7b U+007b
+0x7c U+007c
+0x7d U+007d
+0x7e U+007e
+0x7f U+007f
+0x80 U+0410
+0x81 U+0411
+0x82 U+0412
+0x83 U+0413
+0x84 U+0414
+0x85 U+0415
+0x86 U+0416
+0x87 U+0417
+0x88 U+0418
+0x89 U+0419
+0x8a U+041a
+0x8b U+041b
+0x8c U+041c
+0x8d U+041d
+0x8e U+041e
+0x8f U+041f
+0x90 U+0420
+0x91 U+0421
+0x92 U+0422
+0x93 U+0423
+0x94 U+0424
+0x95 U+0425
+0x96 U+0426
+0x97 U+0427
+0x98 U+0428
+0x99 U+0429
+0x9a U+042a
+0x9b U+042b
+0x9c U+042c
+0x9d U+042d
+0x9e U+042e
+0x9f U+042f
+0xa0 U+0430
+0xa1 U+0431
+0xa2 U+0432
+0xa3 U+0433
+0xa4 U+0434
+0xa5 U+0435
+0xa6 U+0436
+0xa7 U+0437
+0xa8 U+0438
+0xa9 U+0439
+0xaa U+043a
+0xab U+043b
+0xac U+043c
+0xad U+043d
+0xae U+043e
+0xaf U+043f
+0xb0 U+2591
+0xb1 U+2592
+0xb2 U+2593
+0xb3 U+2502
+0xb4 U+2524
+0xb5 U+2561
+0xb6 U+2562
+0xb7 U+2556
+0xb8 U+2555
+0xb9 U+2563
+0xba U+2551
+0xbb U+2557
+0xbc U+255d
+0xbd U+255c
+0xbe U+255b
+0xbf U+2510
+0xc0 U+2514
+0xc1 U+2534
+0xc2 U+252c
+0xc3 U+251c
+0xc4 U+2500
+0xc5 U+253c
+0xc6 U+255e
+0xc7 U+255f
+0xc8 U+255a
+0xc9 U+2554
+0xca U+2569
+0xcb U+2566
+0xcc U+2560
+0xcd U+2550
+0xce U+256c
+0xcf U+2567
+0xd0 U+2568
+0xd1 U+2564
+0xd2 U+2565
+0xd3 U+2559
+0xd4 U+2558
+0xd5 U+2552
+0xd6 U+2553
+0xd7 U+256b
+0xd8 U+256a
+0xd9 U+2518
+0xda U+250c
+0xdb U+2588
+0xdc U+2584
+0xdd U+258c
+0xde U+2590
+0xdf U+2580
+0xe0 U+0440
+0xe1 U+0441
+0xe2 U+0442
+0xe3 U+0443
+0xe4 U+0444
+0xe5 U+0445
+0xe6 U+0446
+0xe7 U+0447
+0xe8 U+0448
+0xe9 U+0449
+0xea U+044a
+0xeb U+044b
+0xec U+044c
+0xed U+044d
+0xee U+044e
+0xef U+044f
+0xf0 U+2261
+0xf1 U+00b1
+0xf2 U+2265
+0xf3 U+2264
+0xf4 U+2320
+0xf5 U+2321
+0xf6 U+00f7
+0xf7 U+2248
+0xf8 U+00b0
+0xf9 U+2219
+0xfa U+00b7
+0xfb U+221a
+0xfc U+207f
+0xfd U+00b2
+0xfe U+25a0
+0xff U+00a0
+0x85 U+0401
+0xA5 U+0451
diff --git a/consoletrans/ECMA144.sfm b/consoletrans/ECMA144.sfm
new file mode 100644
index 0000000..aeb16a0
--- /dev/null
+++ b/consoletrans/ECMA144.sfm
@@ -0,0 +1,108 @@
+#
+# Unicode mapping table for ISO 8859-10 according to ECMA 144
+# [However, the font iso10.* is slightly different]
+#
+0x20-0x7e idem
+0x7f U+2302
+#
+0x00 U+fffd
+0x01 U+263A
+0x02 U+263B
+0x03 U+2665
+0x04 U+2666
+0x05 U+2663
+0x06 U+2660
+0x07 U+2022
+0x08 U+25D8
+0x09 U+25CB
+0x0A U+25D9
+0x0B U+2642
+0x0C U+2640
+0x0D U+266A
+0x0E U+266B
+0x0E U+266C
+0x0F U+263C
+0x10 U+25B6
+0x10 U+25BA
+0x11 U+25C0
+0x11 U+25C4
+0x12 U+2195
+0x13 U+203C
+0x14 U+00B6
+0x15 U+00A7
+0x16 U+25AC
+0x17 U+21A8
+0x18 U+2191
+0x19 U+2193
+0x1A U+2192
+0x1B U+2190
+0x1C U+221F
+0x1C U+2319
+0x1D U+2194
+0x1E U+25B2
+0x1F U+25BC
+#
+0xa0 U+00a0
+0xa1 U+0104
+0xa2 U+0112
+0xa3 U+0122
+0xa4 U+012a
+0xa5 U+0128
+0xa6 U+0136
+0xa7 U+00a7
+0xa8 U+013b
+0xa9 U+0110
+0xaa U+0160
+0xab U+0166
+0xac U+017d
+0xad U+00ad
+0xae U+016a
+0xaf U+014a
+0xb0 U+00b0
+0xb1 U+0105
+0xb2 U+0113
+0xb3 U+0123
+0xb4 U+012b
+0xb5 U+0129
+0xb6 U+0137
+0xb7 U+00b7
+0xb8 U+013c
+0xb9 U+0111
+0xba U+0161
+0xbb U+0167
+0xbc U+017e
+0xbd U+2015 # HORIZONTAL BAR
+0xbe U+016b
+0xbf U+014b
+0xc0 U+0100
+0xc1-0xc6 idem
+0xc7 U+012e
+0xc8 U+010c
+0xc9 U+00c9
+0xca U+0118
+0xcb U+00cb
+0xcc U+0116
+0xcd-0xd0 idem
+0xd1 U+0145
+0xd2 U+014c
+0xd3-0xd6 idem
+0xd7 U+0168
+0xd8 U+00d8
+0xd9 U+0172
+0xda-0xdf idem
+0xe0 U+0101
+0xe1-0xe6 idem
+0xe7 U+012f
+0xe8 U+010d
+0xe9 U+00e9
+0xea U+0119
+0xeb U+00eb
+0xec U+0117
+0xed-0xf0 idem
+0xf1 U+0146
+0xf2 U+014d
+0xf3-0xf6 idem
+0xf7 U+0169
+0xf8 U+00f8
+0xf9 U+0173
+0xfa-0xff idem
diff --git a/consoletrans/MacCyrillic.acm b/consoletrans/MacCyrillic.acm
new file mode 100644
index 0000000..90cfde8
--- /dev/null
+++ b/consoletrans/MacCyrillic.acm
@@ -0,0 +1,223 @@
+# Made by makeacm script (c) 1999 by Victor Wagner <vitus@ice.ru>
+0x21 '!'
+0x22 '"'
+0x23 U+0023
+0x24 '$'
+0x25 '%'
+0x26 '&'
+0x27 '''
+0x28 '('
+0x29 ')'
+0x2A '*'
+0x2B '+'
+0x2C ','
+0x2D '-'
+0x2E '.'
+0x2F '/'
+0x30 '0'
+0x31 '1'
+0x32 '2'
+0x33 '3'
+0x34 '4'
+0x35 '5'
+0x36 '6'
+0x37 '7'
+0x38 '8'
+0x39 '9'
+0x3A ':'
+0x3B ';'
+0x3C '<'
+0x3D '='
+0x3E '>'
+0x3F '?'
+0x40 '@'
+0x41 'A'
+0x42 'B'
+0x43 'C'
+0x44 'D'
+0x45 'E'
+0x46 'F'
+0x47 'G'
+0x48 'H'
+0x49 'I'
+0x4A 'J'
+0x4B 'K'
+0x4C 'L'
+0x4D 'M'
+0x4E 'N'
+0x4F 'O'
+0x50 'P'
+0x51 'Q'
+0x52 'R'
+0x53 'S'
+0x54 'T'
+0x55 'U'
+0x56 'V'
+0x57 'W'
+0x58 'X'
+0x59 'Y'
+0x5A 'Z'
+0x5B '['
+0x5C '\'
+0x5D ']'
+0x5E '^'
+0x5F '_'
+0x60 '`'
+0x61 'a'
+0x62 'b'
+0x63 'c'
+0x64 'd'
+0x65 'e'
+0x66 'f'
+0x67 'g'
+0x68 'h'
+0x69 'i'
+0x6A 'j'
+0x6B 'k'
+0x6C 'l'
+0x6D 'm'
+0x6E 'n'
+0x6F 'o'
+0x70 'p'
+0x71 'q'
+0x72 'r'
+0x73 's'
+0x74 't'
+0x75 'u'
+0x76 'v'
+0x77 'w'
+0x78 'x'
+0x79 'y'
+0x7A 'z'
+0x7B '{'
+0x7C '|'
+0x7D '}'
+0x7E '~'
+0x80 'Ð'
+0x81 'Б'
+0x82 'Ð’'
+0x83 'Г'
+0x84 'Д'
+0x85 'Е'
+0x86 'Ж'
+0x87 'З'
+0x88 'И'
+0x89 'Й'
+0x8A 'К'
+0x8B 'Л'
+0x8C 'М'
+0x8D 'Ð'
+0x8E 'О'
+0x8F 'П'
+0x90 'Р'
+0x91 'С'
+0x92 'Т'
+0x93 'У'
+0x94 'Ф'
+0x95 'Ð¥'
+0x96 'Ц'
+0x97 'Ч'
+0x98 'Ш'
+0x99 'Щ'
+0x9A 'Ъ'
+0x9B 'Ы'
+0x9C 'Ь'
+0x9D 'Э'
+0x9E 'Ю'
+0x9F 'Я'
+0xA0 '†'
+0xA1 '°'
+0xA2 '¢'
+0xA3 '£'
+0xA4 '§'
+0xA5 '•'
+0xA6 '¶'
+0xA7 'І'
+0xA8 '®'
+0xA9 '©'
+0xAA 'â„¢'
+0xAB 'Ђ'
+0xAC 'Ñ’'
+0xAD '≠'
+0xAE 'Ѓ'
+0xAF 'Ñ“'
+0xB0 '∞'
+0xB1 '±'
+0xB2 '≤'
+0xB3 '≥'
+0xB4 'Ñ–'
+0xB5 'µ'
+0xB6 '∂'
+0xB7 'Ј'
+0xB8 'Є'
+0xB9 'Ñ”'
+0xBA 'Ї'
+0xBB 'Ñ—'
+0xBC 'Љ'
+0xBD 'Ñ™'
+0xBE 'Њ'
+0xBF 'Ñš'
+0xC0 'ј'
+0xC1 'Ð…'
+0xC2 '¬'
+0xC3 '√'
+0xC4 '?'
+0xC5 '≈'
+0xC6 '?'
+0xC7 '«'
+0xC8 '»'
+0xC9 '…'
+0xCA ' '
+0xCB 'Ћ'
+0xCC 'Ñ›'
+0xCD 'Ќ'
+0xCE 'ќ'
+0xCF 'Ñ•'
+0xD0 '–'
+0xD1 '—'
+0xD2 '“'
+0xD3 'â€'
+0xD4 '‘'
+0xD5 '’'
+0xD6 '÷'
+0xD7 '?'
+0xD8 'ÐŽ'
+0xD9 'Ñž'
+0xDA 'Ð'
+0xDB 'ÑŸ'
+0xDC 'â„–'
+0xDD 'Ð'
+0xDE 'Ñ‘'
+0xDF 'Ñ'
+0xE0 'а'
+0xE1 'б'
+0xE2 'в'
+0xE3 'г'
+0xE4 'д'
+0xE5 'е'
+0xE6 'ж'
+0xE7 'з'
+0xE8 'и'
+0xE9 'й'
+0xEA 'к'
+0xEB 'л'
+0xEC 'м'
+0xED 'н'
+0xEE 'о'
+0xEF 'п'
+0xF0 'Ñ€'
+0xF1 'Ñ'
+0xF2 'Ñ‚'
+0xF3 'у'
+0xF4 'Ñ„'
+0xF5 'Ñ…'
+0xF6 'ц'
+0xF7 'ч'
+0xF8 'ш'
+0xF9 'щ'
+0xFA 'ÑŠ'
+0xFB 'Ñ‹'
+0xFC 'ь'
+0xFD 'Ñ'
+0xFE 'ÑŽ'
+0xFF '¤'
diff --git a/consoletrans/Makefile b/consoletrans/Makefile
new file mode 100644
index 0000000..5aa0d1c
--- /dev/null
+++ b/consoletrans/Makefile
@@ -0,0 +1,288 @@
+# Generated automatically from Makefile.in by configure.
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+# -*- makefile -*-
+
+
+SHELL = /bin/sh
+
+srcdir = .
+top_srcdir = ..
+prefix = /usr
+exec_prefix = ${prefix}
+
+bindir = ${exec_prefix}/bin
+sbindir = ${exec_prefix}/sbin
+libexecdir = ${exec_prefix}/libexec
+datadir = ${prefix}/share
+sysconfdir = ${prefix}/etc
+sharedstatedir = ${prefix}/com
+localstatedir = ${prefix}/var
+libdir = ${exec_prefix}/lib
+infodir = ${prefix}/info
+mandir = ${prefix}/man
+includedir = ${prefix}/include
+oldincludedir = /usr/include
+
+DESTDIR =
+pkglibdir = $(libdir)/console-data
+pkgincludedir = $(includedir)/console-data
+
+top_builddir = ..
+
+ACLOCAL = aclocal-1.4
+AUTOCONF = autoconf
+AUTOMAKE = automake-1.4
+AUTOHEADER = autoheader
+
+INSTALL = /usr/bin/install -c
+INSTALL_PROGRAM = ${INSTALL} $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = ${INSTALL} -m 644
+INSTALL_SCRIPT = ${INSTALL_PROGRAM}
+transform = s,x,x,
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+CATALOGS = @CATALOGS@
+CATOBJEXT = @CATOBJEXT@
+CC = @CC@
+COMPRESSOR_EXT = gz
+COMPRESSOR_OPTS = -9
+DATADIRNAME = @DATADIRNAME@
+FONTDIR = consolefonts
+GENCAT = @GENCAT@
+GMOFILES = @GMOFILES@
+GMSGFMT = @GMSGFMT@
+GT_NO = @GT_NO@
+GT_YES = @GT_YES@
+HAVE_LIB = @HAVE_LIB@
+INCLUDE_LOCALE_H = @INCLUDE_LOCALE_H@
+INSTOBJEXT = @INSTOBJEXT@
+INTLDEPS = @INTLDEPS@
+INTLLIBS = @INTLLIBS@
+INTLOBJS = @INTLOBJS@
+KEYMAPDIR = keymaps
+LIB = @LIB@
+LTLIB = @LTLIB@
+MAKEINFO = makeinfo
+MKINSTALLDIRS = @MKINSTALLDIRS@
+MSGFMT = @MSGFMT@
+OLDKEYMAPDIR = keytables
+PACKAGE = console-data
+POFILES = @POFILES@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+TRANSDIR = consoletrans
+USE_INCLUDED_LIBINTL = @USE_INCLUDED_LIBINTL@
+USE_NLS = @USE_NLS@
+VERSION = 20005.12.14
+VIDEOMODEDIR = videomodes
+l = @l@
+translit = @translit@
+
+AUTOMAKE_OPTIONS = foreign
+
+SUFFIXES = .fallback .nofallback
+
+MK_FALLBACK = $(top_srcdir)/local-scripts/make-fallbacks.pl
+MK_NOFALLBACK = $(top_srcdir)/local-scripts/make-nofallbacks.pl
+
+EXTRA_DIST = $(SFM_FILES) $(ACM_FILES) $(FB_FILES) $(OLD_ACM_FILES) UTF-tmpl.8bit UTF-tmpl.8bit.in
+
+
+pkgdatadir = $(datadir)/$(TRANSDIR)
+
+# This now provided by unicode-data package
+unidatadir = /usr/share/unicode
+
+pkgdata_DATA = $(SFM_FILES:=.$(COMPRESSOR_EXT)) $(ACM_FILES:=.$(COMPRESSOR_EXT)) $(FB_FILES:=.$(COMPRESSOR_EXT)) $(OLD_ACM_FILES)
+
+
+CLEANFILES = $(SFM_FILES:=.$(COMPRESSOR_EXT)) $(ACM_FILES:=.$(COMPRESSOR_EXT)) $(FB_FILES:=.$(COMPRESSOR_EXT))
+
+
+AUTO_FALLBACKS = latin_diacr arabic_forms
+
+AUTO_FALLBACKS_FB = $(AUTO_FALLBACKS:=.fallback)
+AUTO_FALLBACKS_NFB = $(AUTO_FALLBACKS:=.nofallback)
+
+# We don't put these ones in distclean because it's quite
+# heavy to recompute.
+MAINTAINERCLEANFILES = $(AUTO_FALLBACKS:=.fallback) $(AUTO_FALLBACKS:=.nofallback)
+
+latin_diacr_PATTERN = '^LATIN (SMALL|CAPITAL) (LETTER|LIGATURE) ((?:LONG|OPEN|DOTLESS) )?([^ ;]+)( DIGRAPH)?(?:( WITH ([^;]+?))( AND ([^;]+))?)?$$'
+latin_diacr_TRANSLATIONS = 'LATIN $$1 $$2 $$3$$4$$5$$6' 'LATIN $$1 $$2 $$3$$4$$5' 'LATIN $$1 $$2 $$4$$5'
+latin_diacr_HOPEFULL_PATTERN = '^LATIN'
+
+arabic_forms_PATTERN = '^ARABIC LETTER ([^ ;]+)(?: (ISOLATED|INITIAL|MEDIAL|FINAL) FORM)?$$'
+arabic_forms_TRANSLATIONS = 'ARABIC LETTER $$1'
+arabic_forms_HOPEFULL_PATTERN = '^ARABIC LETTER [^;]+ (ISOLATED|INITIAL|MEDIAL|FINAL) FORM$$'
+
+SFM_FILES = :so01.sfm iso02.sfm iso03.sfm iso04.sfm iso05.sfm iso06.sfm iso07.sfm iso08.sfm iso09.sfm iso10.sfm iso13.sfm iso14.sfm iso15.sfm ECMA144.sfm cp437.sfm def.sfm ethiopic.sfm koi8-r.sfm lat1.sfm lat1u.sfm lat2u.sfm lat4.sfm lat4u.sfm armscii8.sfm cp850.sfm cp850b.sfm tcvn.sfm viscii.sfm koi8u.sfm ruscii.sfm
+
+
+OLD_ACM_FILES = null.trans space.trans trivial.trans zero.trans vga2iso.trans koi2alt.trans koi8u2ruscii.trans cp437_to_iso01.trans cp850_to_iso01.trans viscii1.0_to_tcvn.trans viscii1.0_to_viscii1.1.trans
+
+
+ACM_FILES = bulgarian-mic.acm cp1251.acm cp857.acm cp866.acm iso13.acm MacCyrillic.acm cp437.acm iso01.acm iso02.acm iso03.acm iso04.acm iso05.acm iso06.acm iso07.acm iso08.acm iso09.acm iso10.acm straight-to-font.acm iso15.acm iso02+euro.acm koi8u.acm ruscii.acm
+
+
+FB_FILES = $(AUTO_FALLBACKS_FB) $(AUTO_FALLBACKS_NFB) graph.fallback math.fallback misc.fallback typo.fallback qrczak.fallback
+
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_CLEAN_FILES =
+DATA = $(pkgdata_DATA)
+
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+all: all-redirect
+.SUFFIXES:
+.SUFFIXES: .fallback .nofallback
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps consoletrans/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+
+install-pkgdataDATA: $(pkgdata_DATA)
+ @$(NORMAL_INSTALL)
+ $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
+ @list='$(pkgdata_DATA)'; for p in $$list; do \
+ if test -f $(srcdir)/$$p; then \
+ echo " $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p"; \
+ $(INSTALL_DATA) $(srcdir)/$$p $(DESTDIR)$(pkgdatadir)/$$p; \
+ else if test -f $$p; then \
+ echo " $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p"; \
+ $(INSTALL_DATA) $$p $(DESTDIR)$(pkgdatadir)/$$p; \
+ fi; fi; \
+ done
+
+uninstall-pkgdataDATA:
+ @$(NORMAL_UNINSTALL)
+ list='$(pkgdata_DATA)'; for p in $$list; do \
+ rm -f $(DESTDIR)$(pkgdatadir)/$$p; \
+ done
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = consoletrans
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$d/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am: all-am
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am: install-pkgdataDATA
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am: uninstall-pkgdataDATA
+uninstall: uninstall-am
+all-am: Makefile $(DATA)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+ $(mkinstalldirs) $(DESTDIR)$(pkgdatadir)
+
+
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+mostlyclean-am: mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-generic mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: uninstall-pkgdataDATA install-pkgdataDATA tags distdir info-am \
+info dvi-am dvi check check-am installcheck-am installcheck \
+install-exec-am install-exec install-data-am install-data install-am \
+install uninstall-am uninstall all-redirect all-am all installdirs \
+mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+include $(top_builddir)/Make.rules
+
+fallbacks: $(AUTO_FALLBACKS:=.fallback) $(AUTO_FALLBACKS:=.nofallback)
+force-fallbacks:
+ rm -f $(AUTO_FALLBACKS:=.fallback) $(AUTO_FALLBACKS:=.nofallback)
+ make fallbacks
+
+$(AUTO_FALLBACKS_FB) : %.fallback : ${unidatadir}/UnicodeData.txt $(MK_FALLBACK)
+ @echo
+ $(MK_FALLBACK) $($*_PATTERN) $($*_TRANSLATIONS) < $< > $@
+
+$(AUTO_FALLBACKS_NFB) : %.nofallback : ${unidatadir}/UnicodeData.txt $(MK_FALLBACK)
+ @echo
+ $(MK_NOFALLBACK) $($*_PATTERN) $($*_HOPEFULL_PATTERN) < $< > $@
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/consoletrans/Makefile.am b/consoletrans/Makefile.am
new file mode 100644
index 0000000..935ac40
--- /dev/null
+++ b/consoletrans/Makefile.am
@@ -0,0 +1,84 @@
+# -*- makefile -*-
+
+AUTOMAKE_OPTIONS = foreign
+
+include $(top_builddir)/Make.rules
+
+SUFFIXES = .fallback .nofallback
+
+MK_FALLBACK = $(top_srcdir)/local-scripts/make-fallbacks.pl
+MK_NOFALLBACK = $(top_srcdir)/local-scripts/make-nofallbacks.pl
+
+EXTRA_DIST = $(SFM_FILES) $(ACM_FILES) $(FB_FILES) $(OLD_ACM_FILES) \
+ UTF-tmpl.8bit UTF-tmpl.8bit.in
+
+pkgdatadir = $(datadir)/$(TRANSDIR)
+
+# This now provided by package unicode-data
+unidatadir = /usr/share/unicode
+
+pkgdata_DATA = $(SFM_FILES:=.$(COMPRESSOR_EXT)) $(ACM_FILES:=.$(COMPRESSOR_EXT)) \
+ $(FB_FILES:=.$(COMPRESSOR_EXT)) $(OLD_ACM_FILES)
+
+CLEANFILES= $(SFM_FILES:=.$(COMPRESSOR_EXT)) $(ACM_FILES:=.$(COMPRESSOR_EXT)) \
+ $(FB_FILES:=.$(COMPRESSOR_EXT))
+
+AUTO_FALLBACKS = latin_diacr arabic_forms
+
+AUTO_FALLBACKS_FB = $(AUTO_FALLBACKS:=.fallback)
+AUTO_FALLBACKS_NFB = $(AUTO_FALLBACKS:=.nofallback)
+
+# We don't put these ones in distclean because it's quite
+# heavy to recompute.
+MAINTAINERCLEANFILES = $(AUTO_FALLBACKS:=.fallback) $(AUTO_FALLBACKS:=.nofallback)
+
+latin_diacr_PATTERN='^LATIN (SMALL|CAPITAL) (LETTER|LIGATURE) ((?:LONG|OPEN|DOTLESS) )?([^ ;]+)( DIGRAPH)?(?:( WITH ([^;]+?))( AND ([^;]+))?)?$$'
+latin_diacr_TRANSLATIONS='LATIN $$1 $$2 $$3$$4$$5$$6' 'LATIN $$1 $$2 $$3$$4$$5' 'LATIN $$1 $$2 $$4$$5'
+latin_diacr_HOPEFULL_PATTERN='^LATIN'
+
+arabic_forms_PATTERN='^ARABIC LETTER ([^ ;]+)(?: (ISOLATED|INITIAL|MEDIAL|FINAL) FORM)?$$'
+arabic_forms_TRANSLATIONS='ARABIC LETTER $$1'
+arabic_forms_HOPEFULL_PATTERN='^ARABIC LETTER [^;]+ (ISOLATED|INITIAL|MEDIAL|FINAL) FORM$$'
+
+fallbacks: $(AUTO_FALLBACKS:=.fallback) $(AUTO_FALLBACKS:=.nofallback)
+force-fallbacks:
+ rm -f $(AUTO_FALLBACKS:=.fallback) $(AUTO_FALLBACKS:=.nofallback)
+ make fallbacks
+
+$(AUTO_FALLBACKS_FB) : %.fallback : ${unidatadir}/UnicodeData.txt $(MK_FALLBACK)
+ @echo
+ $(MK_FALLBACK) $($*_PATTERN) $($*_TRANSLATIONS) < $< > $@
+
+$(AUTO_FALLBACKS_NFB) : %.nofallback : ${unidatadir}/UnicodeData.txt $(MK_FALLBACK)
+ @echo
+ $(MK_NOFALLBACK) $($*_PATTERN) $($*_HOPEFULL_PATTERN) < $< > $@
+
+SFM_FILES = \
+iso01.sfm iso02.sfm iso03.sfm iso04.sfm iso05.sfm iso06.sfm \
+iso07.sfm iso08.sfm iso09.sfm iso10.sfm iso13.sfm iso14.sfm iso15.sfm \
+ECMA144.sfm cp437.sfm def.sfm ethiopic.sfm koi8-r.sfm \
+lat1.sfm lat1u.sfm lat2u.sfm lat4.sfm lat4u.sfm \
+armscii8.sfm cp850.sfm cp850b.sfm tcvn.sfm viscii.sfm \
+koi8u.sfm ruscii.sfm \
+alt.sfm cp866.sfm iso13.sfm lat2-g.sfm lat2.sfm ucx.sfm UniCyr.sfm UniCyrX.sfm \
+tis620.sfm tis620x.sfm
+
+OLD_ACM_FILES = null.trans space.trans trivial.trans zero.trans \
+vga2iso.trans koi2alt.trans koi8u2ruscii.trans \
+cp437_to_iso01.trans cp850_to_iso01.trans \
+viscii1.0_to_tcvn.trans viscii1.0_to_viscii1.1.trans \
+\
+lat9u.uni lat9v.uni lat9w.uni
+
+ACM_FILES = \
+bulgarian-mic.acm cp1251.acm cp857.acm cp866.acm iso13.acm MacCyrillic.acm \
+cp437.acm iso01.acm iso02.acm iso03.acm iso04.acm iso05.acm iso06.acm \
+iso07.acm iso08.acm iso09.acm iso10.acm straight-to-font.acm \
+iso15.acm iso02+euro.acm koi8u.acm ruscii.acm \
+tis620.acm
+
+
+FB_FILES = \
+$(AUTO_FALLBACKS_FB) $(AUTO_FALLBACKS_NFB) \
+graph.fallback math.fallback misc.fallback \
+typo.fallback qrczak.fallback
diff --git a/consoletrans/Makefile.in b/consoletrans/Makefile.in
new file mode 100644
index 0000000..6c8b65a
--- /dev/null
+++ b/consoletrans/Makefile.in
@@ -0,0 +1,376 @@
+# Makefile.in generated by automake 1.9.6 from Makefile.am.
+# @configure_input@
+
+# Copyright (C) 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002,
+# 2003, 2004, 2005 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+@SET_MAKE@
+
+# -*- makefile -*-
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+top_builddir = ..
+am__cd = CDPATH="$${ZSH_VERSION+.}$(PATH_SEPARATOR)" && cd
+INSTALL = @INSTALL@
+install_sh_DATA = $(install_sh) -c -m 644
+install_sh_PROGRAM = $(install_sh) -c
+install_sh_SCRIPT = $(install_sh) -c
+INSTALL_HEADER = $(INSTALL_DATA)
+transform = $(program_transform_name)
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+subdir = consoletrans
+DIST_COMMON = $(srcdir)/Makefile.am $(srcdir)/Makefile.in
+ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
+am__aclocal_m4_deps = $(top_srcdir)/acinclude.m4 \
+ $(top_srcdir)/configure.in
+am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \
+ $(ACLOCAL_M4)
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_CLEAN_FILES =
+SOURCES =
+DIST_SOURCES =
+am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`;
+am__vpath_adj = case $$p in \
+ $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \
+ *) f=$$p;; \
+ esac;
+am__strip_dir = `echo $$p | sed -e 's|^.*/||'`;
+am__installdirs = "$(DESTDIR)$(pkgdatadir)"
+pkgdataDATA_INSTALL = $(INSTALL_DATA)
+DATA = $(pkgdata_DATA)
+DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
+pkgdatadir = $(datadir)/$(TRANSDIR)
+ACLOCAL = @ACLOCAL@
+AMTAR = @AMTAR@
+AUTOCONF = @AUTOCONF@
+AUTOHEADER = @AUTOHEADER@
+AUTOMAKE = @AUTOMAKE@
+AWK = @AWK@
+COMPRESSOR_EXT = @COMPRESSOR_EXT@
+COMPRESSOR_OPTS = @COMPRESSOR_OPTS@
+CYGPATH_W = @CYGPATH_W@
+DEFS = @DEFS@
+ECHO_C = @ECHO_C@
+ECHO_N = @ECHO_N@
+ECHO_T = @ECHO_T@
+FONTDIR = @FONTDIR@
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+KEYMAPDIR = @KEYMAPDIR@
+LIBOBJS = @LIBOBJS@
+LIBS = @LIBS@
+LTLIBOBJS = @LTLIBOBJS@
+MAIN_COMPRESSOR = @MAIN_COMPRESSOR@
+MAKEINFO = @MAKEINFO@
+OLDKEYMAPDIR = @OLDKEYMAPDIR@
+PACKAGE = @PACKAGE@
+PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+PACKAGE_NAME = @PACKAGE_NAME@
+PACKAGE_STRING = @PACKAGE_STRING@
+PACKAGE_TARNAME = @PACKAGE_TARNAME@
+PACKAGE_VERSION = @PACKAGE_VERSION@
+PATH_SEPARATOR = @PATH_SEPARATOR@
+SET_MAKE = @SET_MAKE@
+SHELL = @SHELL@
+STRIP = @STRIP@
+TRANSDIR = @TRANSDIR@
+VERSION = @VERSION@
+VIDEOMODEDIR = @VIDEOMODEDIR@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+bindir = @bindir@
+build_alias = @build_alias@
+datadir = @datadir@
+datarootdir = @datarootdir@
+docdir = @docdir@
+dvidir = @dvidir@
+exec_prefix = @exec_prefix@
+host_alias = @host_alias@
+htmldir = @htmldir@
+includedir = @includedir@
+infodir = @infodir@
+install_sh = @install_sh@
+libdir = @libdir@
+libexecdir = @libexecdir@
+localedir = @localedir@
+localstatedir = @localstatedir@
+mandir = @mandir@
+mkdir_p = @mkdir_p@
+oldincludedir = @oldincludedir@
+pdfdir = @pdfdir@
+prefix = @prefix@
+program_transform_name = @program_transform_name@
+psdir = @psdir@
+sbindir = @sbindir@
+sharedstatedir = @sharedstatedir@
+sysconfdir = @sysconfdir@
+target_alias = @target_alias@
+AUTOMAKE_OPTIONS = foreign
+SUFFIXES = .fallback .nofallback
+MK_FALLBACK = $(top_srcdir)/local-scripts/make-fallbacks.pl
+MK_NOFALLBACK = $(top_srcdir)/local-scripts/make-nofallbacks.pl
+EXTRA_DIST = $(SFM_FILES) $(ACM_FILES) $(FB_FILES) $(OLD_ACM_FILES) \
+ UTF-tmpl.8bit UTF-tmpl.8bit.in
+
+
+# This now provided by package unicode-data
+unidatadir = /usr/share/unicode
+pkgdata_DATA = $(SFM_FILES:=.$(COMPRESSOR_EXT)) $(ACM_FILES:=.$(COMPRESSOR_EXT)) \
+ $(FB_FILES:=.$(COMPRESSOR_EXT)) $(OLD_ACM_FILES)
+
+CLEANFILES = $(SFM_FILES:=.$(COMPRESSOR_EXT)) $(ACM_FILES:=.$(COMPRESSOR_EXT)) \
+ $(FB_FILES:=.$(COMPRESSOR_EXT))
+
+AUTO_FALLBACKS = latin_diacr arabic_forms
+AUTO_FALLBACKS_FB = $(AUTO_FALLBACKS:=.fallback)
+AUTO_FALLBACKS_NFB = $(AUTO_FALLBACKS:=.nofallback)
+
+# We don't put these ones in distclean because it's quite
+# heavy to recompute.
+MAINTAINERCLEANFILES = $(AUTO_FALLBACKS:=.fallback) $(AUTO_FALLBACKS:=.nofallback)
+latin_diacr_PATTERN = '^LATIN (SMALL|CAPITAL) (LETTER|LIGATURE) ((?:LONG|OPEN|DOTLESS) )?([^ ;]+)( DIGRAPH)?(?:( WITH ([^;]+?))( AND ([^;]+))?)?$$'
+latin_diacr_TRANSLATIONS = 'LATIN $$1 $$2 $$3$$4$$5$$6' 'LATIN $$1 $$2 $$3$$4$$5' 'LATIN $$1 $$2 $$4$$5'
+latin_diacr_HOPEFULL_PATTERN = '^LATIN'
+arabic_forms_PATTERN = '^ARABIC LETTER ([^ ;]+)(?: (ISOLATED|INITIAL|MEDIAL|FINAL) FORM)?$$'
+arabic_forms_TRANSLATIONS = 'ARABIC LETTER $$1'
+arabic_forms_HOPEFULL_PATTERN = '^ARABIC LETTER [^;]+ (ISOLATED|INITIAL|MEDIAL|FINAL) FORM$$'
+SFM_FILES = \
+iso01.sfm iso02.sfm iso03.sfm iso04.sfm iso05.sfm iso06.sfm \
+iso07.sfm iso08.sfm iso09.sfm iso10.sfm iso13.sfm iso14.sfm iso15.sfm \
+ECMA144.sfm cp437.sfm def.sfm ethiopic.sfm koi8-r.sfm \
+lat1.sfm lat1u.sfm lat2u.sfm lat4.sfm lat4u.sfm \
+armscii8.sfm cp850.sfm cp850b.sfm tcvn.sfm viscii.sfm \
+koi8u.sfm ruscii.sfm \
+alt.sfm cp866.sfm iso13.sfm lat2-g.sfm lat2.sfm ucx.sfm UniCyr.sfm UniCyrX.sfm \
+tis620.sfm tis620x.sfm
+
+OLD_ACM_FILES = null.trans space.trans trivial.trans zero.trans \
+vga2iso.trans koi2alt.trans koi8u2ruscii.trans \
+cp437_to_iso01.trans cp850_to_iso01.trans \
+viscii1.0_to_tcvn.trans viscii1.0_to_viscii1.1.trans \
+\
+lat9u.uni lat9v.uni lat9w.uni lat9wbrl.uni
+
+ACM_FILES = \
+bulgarian-mic.acm cp1251.acm cp857.acm cp866.acm iso13.acm MacCyrillic.acm \
+cp437.acm iso01.acm iso02.acm iso03.acm iso04.acm iso05.acm iso06.acm \
+iso07.acm iso08.acm iso09.acm iso10.acm straight-to-font.acm \
+iso15.acm iso02+euro.acm koi8u.acm koi8-r.acm ruscii.acm \
+tis620.acm
+
+FB_FILES = \
+$(AUTO_FALLBACKS_FB) $(AUTO_FALLBACKS_NFB) \
+graph.fallback math.fallback misc.fallback \
+typo.fallback qrczak.fallback
+
+all: all-am
+
+.SUFFIXES:
+.SUFFIXES: .fallback .nofallback
+$(srcdir)/Makefile.in: $(srcdir)/Makefile.am $(am__configure_deps)
+ @for dep in $?; do \
+ case '$(am__configure_deps)' in \
+ *$$dep*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh \
+ && exit 0; \
+ exit 1;; \
+ esac; \
+ done; \
+ echo ' cd $(top_srcdir) && $(AUTOMAKE) --foreign consoletrans/Makefile'; \
+ cd $(top_srcdir) && \
+ $(AUTOMAKE) --foreign consoletrans/Makefile
+.PRECIOUS: Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ @case '$?' in \
+ *config.status*) \
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh;; \
+ *) \
+ echo ' cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe)'; \
+ cd $(top_builddir) && $(SHELL) ./config.status $(subdir)/$@ $(am__depfiles_maybe);; \
+ esac;
+
+$(top_builddir)/config.status: $(top_srcdir)/configure $(CONFIG_STATUS_DEPENDENCIES)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+
+$(top_srcdir)/configure: $(am__configure_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+$(ACLOCAL_M4): $(am__aclocal_m4_deps)
+ cd $(top_builddir) && $(MAKE) $(AM_MAKEFLAGS) am--refresh
+uninstall-info-am:
+install-pkgdataDATA: $(pkgdata_DATA)
+ @$(NORMAL_INSTALL)
+ test -z "$(pkgdatadir)" || $(mkdir_p) "$(DESTDIR)$(pkgdatadir)"
+ @list='$(pkgdata_DATA)'; for p in $$list; do \
+ if test -f "$$p"; then d=; else d="$(srcdir)/"; fi; \
+ f=$(am__strip_dir) \
+ echo " $(pkgdataDATA_INSTALL) '$$d$$p' '$(DESTDIR)$(pkgdatadir)/$$f'"; \
+ $(pkgdataDATA_INSTALL) "$$d$$p" "$(DESTDIR)$(pkgdatadir)/$$f"; \
+ done
+
+uninstall-pkgdataDATA:
+ @$(NORMAL_UNINSTALL)
+ @list='$(pkgdata_DATA)'; for p in $$list; do \
+ f=$(am__strip_dir) \
+ echo " rm -f '$(DESTDIR)$(pkgdatadir)/$$f'"; \
+ rm -f "$(DESTDIR)$(pkgdatadir)/$$f"; \
+ done
+tags: TAGS
+TAGS:
+
+ctags: CTAGS
+CTAGS:
+
+
+distdir: $(DISTFILES)
+ @srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; \
+ topsrcdirstrip=`echo "$(top_srcdir)" | sed 's|.|.|g'`; \
+ list='$(DISTFILES)'; for file in $$list; do \
+ case $$file in \
+ $(srcdir)/*) file=`echo "$$file" | sed "s|^$$srcdirstrip/||"`;; \
+ $(top_srcdir)/*) file=`echo "$$file" | sed "s|^$$topsrcdirstrip/|$(top_builddir)/|"`;; \
+ esac; \
+ if test -f $$file || test -d $$file; then d=.; else d=$(srcdir); fi; \
+ dir=`echo "$$file" | sed -e 's,/[^/]*$$,,'`; \
+ if test "$$dir" != "$$file" && test "$$dir" != "."; then \
+ dir="/$$dir"; \
+ $(mkdir_p) "$(distdir)$$dir"; \
+ else \
+ dir=''; \
+ fi; \
+ if test -d $$d/$$file; then \
+ if test -d $(srcdir)/$$file && test $$d != $(srcdir); then \
+ cp -pR $(srcdir)/$$file $(distdir)$$dir || exit 1; \
+ fi; \
+ cp -pR $$d/$$file $(distdir)$$dir || exit 1; \
+ else \
+ test -f $(distdir)/$$file \
+ || cp -p $$d/$$file $(distdir)/$$file \
+ || exit 1; \
+ fi; \
+ done
+check-am: all-am
+check: check-am
+all-am: Makefile $(DATA)
+installdirs:
+ for dir in "$(DESTDIR)$(pkgdatadir)"; do \
+ test -z "$$dir" || $(mkdir_p) "$$dir"; \
+ done
+install: install-am
+install-exec: install-exec-am
+install-data: install-data-am
+uninstall: uninstall-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+
+installcheck: installcheck-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) INSTALL_PROGRAM="$(INSTALL_STRIP_PROGRAM)" \
+ install_sh_PROGRAM="$(INSTALL_STRIP_PROGRAM)" INSTALL_STRIP_FLAG=-s \
+ `test -z '$(STRIP)' || \
+ echo "INSTALL_PROGRAM_ENV=STRIPPROG='$(STRIP)'"` install
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
+
+maintainer-clean-generic:
+ @echo "This command is intended for maintainers to use"
+ @echo "it deletes files that may require special tools to rebuild."
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+clean: clean-am
+
+clean-am: clean-generic mostlyclean-am
+
+distclean: distclean-am
+ -rm -f Makefile
+distclean-am: clean-am distclean-generic
+
+dvi: dvi-am
+
+dvi-am:
+
+html: html-am
+
+info: info-am
+
+info-am:
+
+install-data-am: install-pkgdataDATA
+
+install-exec-am:
+
+install-info: install-info-am
+
+install-man:
+
+installcheck-am:
+
+maintainer-clean: maintainer-clean-am
+ -rm -f Makefile
+maintainer-clean-am: distclean-am maintainer-clean-generic
+
+mostlyclean: mostlyclean-am
+
+mostlyclean-am: mostlyclean-generic
+
+pdf: pdf-am
+
+pdf-am:
+
+ps: ps-am
+
+ps-am:
+
+uninstall-am: uninstall-info-am uninstall-pkgdataDATA
+
+.PHONY: all all-am check check-am clean clean-generic distclean \
+ distclean-generic distdir dvi dvi-am html html-am info info-am \
+ install install-am install-data install-data-am install-exec \
+ install-exec-am install-info install-info-am install-man \
+ install-pkgdataDATA install-strip installcheck installcheck-am \
+ installdirs maintainer-clean maintainer-clean-generic \
+ mostlyclean mostlyclean-generic pdf pdf-am ps ps-am uninstall \
+ uninstall-am uninstall-info-am uninstall-pkgdataDATA
+
+
+include $(top_builddir)/Make.rules
+
+fallbacks: $(AUTO_FALLBACKS:=.fallback) $(AUTO_FALLBACKS:=.nofallback)
+force-fallbacks:
+ rm -f $(AUTO_FALLBACKS:=.fallback) $(AUTO_FALLBACKS:=.nofallback)
+ make fallbacks
+
+$(AUTO_FALLBACKS_FB) : %.fallback : ${unidatadir}/UnicodeData.txt $(MK_FALLBACK)
+ @echo
+ $(MK_FALLBACK) $($*_PATTERN) $($*_TRANSLATIONS) < $< > $@
+
+$(AUTO_FALLBACKS_NFB) : %.nofallback : ${unidatadir}/UnicodeData.txt $(MK_FALLBACK)
+ @echo
+ $(MK_NOFALLBACK) $($*_PATTERN) $($*_HOPEFULL_PATTERN) < $< > $@
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/consoletrans/UTF-tmpl.8bit b/consoletrans/UTF-tmpl.8bit
new file mode 100644
index 0000000..7ef2438
--- /dev/null
+++ b/consoletrans/UTF-tmpl.8bit
@@ -0,0 +1,135 @@
+# generated from UTF-tmpl.8bit.in by:
+# {
+# while read a b; do
+# echo -e $a \'\\echo "8o16i${b#U+}pq" | dc\';
+# done
+# } <data/consoletrans/UTF-tmpl.8bit.in
+
+0x80 '€'
+0x81 ''
+0x82 '‚'
+0x83 'ƒ'
+0x84 '„'
+0x85 '…'
+0x86 '†'
+0x87 '‡'
+0x88 'ˆ'
+0x89 '‰'
+0x8A 'Š'
+0x8B '‹'
+0x8C 'Œ'
+0x8D ''
+0x8E 'Ž'
+0x8F ''
+0x90 ''
+0x91 '‘'
+0x92 '’'
+0x93 '“'
+0x94 '”'
+0x95 '•'
+0x96 '–'
+0x97 '—'
+0x98 '˜'
+0x99 '™'
+0x9A 'š'
+0x9B '›'
+0x9C 'œ'
+0x9D ''
+0x9E 'ž'
+0x9F 'Ÿ'
+0xA0 ' '
+0xA1 '¡'
+0xA2 '¢'
+0xA3 '£'
+0xA4 '¤'
+0xA5 '¥'
+0xA6 '¦'
+0xA7 '§'
+0xA8 '¨'
+0xA9 '©'
+0xAA 'ª'
+0xAB '«'
+0xAC '¬'
+0xAD '­'
+0xAE '®'
+0xAF '¯'
+0xB0 '°'
+0xB1 '±'
+0xB2 '²'
+0xB3 '³'
+0xB4 '´'
+0xB5 'µ'
+0xB6 '¶'
+0xB7 '·'
+0xB8 '¸'
+0xB9 '¹'
+0xBA 'º'
+0xBB '»'
+0xBC '¼'
+0xBD '½'
+0xBE '¾'
+0xBF '¿'
+0xC0 'À'
+0xC1 'Á'
+0xC2 'Â'
+0xC3 'Ã'
+0xC4 'Ä'
+0xC5 'Å'
+0xC6 'Æ'
+0xC7 'Ç'
+0xC8 'È'
+0xC9 'É'
+0xCA 'Ê'
+0xCB 'Ë'
+0xCC 'Ì'
+0xCD 'Í'
+0xCE 'Î'
+0xCF 'Ï'
+0xD0 'Ð'
+0xD1 'Ñ'
+0xD2 'Ò'
+0xD3 'Ó'
+0xD4 'Ô'
+0xD5 'Õ'
+0xD6 'Ö'
+0xD7 '×'
+0xD8 'Ø'
+0xD9 'Ù'
+0xDA 'Ú'
+0xDB 'Û'
+0xDC 'Ü'
+0xDD 'Ý'
+0xDE 'Þ'
+0xDF 'ß'
+0xE0 'à'
+0xE1 'á'
+0xE2 'â'
+0xE3 'ã'
+0xE4 'ä'
+0xE5 'å'
+0xE6 'æ'
+0xE7 'ç'
+0xE8 'è'
+0xE9 'é'
+0xEA 'ê'
+0xEB 'ë'
+0xEC 'ì'
+0xED 'í'
+0xEE 'î'
+0xEF 'ï'
+0xF0 'ð'
+0xF1 'ñ'
+0xF2 'ò'
+0xF3 'ó'
+0xF4 'ô'
+0xF5 'õ'
+0xF6 'ö'
+0xF7 '÷'
+0xF8 'ø'
+0xF9 'ù'
+0xFA 'ú'
+0xFB 'û'
+0xFC 'ü'
+0xFD 'ý'
+0xFE 'þ'
+0xFF 'ÿ'
diff --git a/consoletrans/UTF-tmpl.8bit.in b/consoletrans/UTF-tmpl.8bit.in
new file mode 100644
index 0000000..7f06f6d
--- /dev/null
+++ b/consoletrans/UTF-tmpl.8bit.in
@@ -0,0 +1,128 @@
+0x80 U+0080
+0x81 U+0081
+0x82 U+0082
+0x83 U+0083
+0x84 U+0084
+0x85 U+0085
+0x86 U+0086
+0x87 U+0087
+0x88 U+0088
+0x89 U+0089
+0x8A U+008A
+0x8B U+008B
+0x8C U+008C
+0x8D U+008D
+0x8E U+008E
+0x8F U+008F
+0x90 U+0090
+0x91 U+0091
+0x92 U+0092
+0x93 U+0093
+0x94 U+0094
+0x95 U+0095
+0x96 U+0096
+0x97 U+0097
+0x98 U+0098
+0x99 U+0099
+0x9A U+009A
+0x9B U+009B
+0x9C U+009C
+0x9D U+009D
+0x9E U+009E
+0x9F U+009F
+0xA0 U+00A0
+0xA1 U+00A1
+0xA2 U+00A2
+0xA3 U+00A3
+0xA4 U+00A4
+0xA5 U+00A5
+0xA6 U+00A6
+0xA7 U+00A7
+0xA8 U+00A8
+0xA9 U+00A9
+0xAA U+00AA
+0xAB U+00AB
+0xAC U+00AC
+0xAD U+00AD
+0xAE U+00AE
+0xAF U+00AF
+0xB0 U+00B0
+0xB1 U+00B1
+0xB2 U+00B2
+0xB3 U+00B3
+0xB4 U+00B4
+0xB5 U+00B5
+0xB6 U+00B6
+0xB7 U+00B7
+0xB8 U+00B8
+0xB9 U+00B9
+0xBA U+00BA
+0xBB U+00BB
+0xBC U+00BC
+0xBD U+00BD
+0xBE U+00BE
+0xBF U+00BF
+0xC0 U+00C0
+0xC1 U+00C1
+0xC2 U+00C2
+0xC3 U+00C3
+0xC4 U+00C4
+0xC5 U+00C5
+0xC6 U+00C6
+0xC7 U+00C7
+0xC8 U+00C8
+0xC9 U+00C9
+0xCA U+00CA
+0xCB U+00CB
+0xCC U+00CC
+0xCD U+00CD
+0xCE U+00CE
+0xCF U+00CF
+0xD0 U+00D0
+0xD1 U+00D1
+0xD2 U+00D2
+0xD3 U+00D3
+0xD4 U+00D4
+0xD5 U+00D5
+0xD6 U+00D6
+0xD7 U+00D7
+0xD8 U+00D8
+0xD9 U+00D9
+0xDA U+00DA
+0xDB U+00DB
+0xDC U+00DC
+0xDD U+00DD
+0xDE U+00DE
+0xDF U+00DF
+0xE0 U+00E0
+0xE1 U+00E1
+0xE2 U+00E2
+0xE3 U+00E3
+0xE4 U+00E4
+0xE5 U+00E5
+0xE6 U+00E6
+0xE7 U+00E7
+0xE8 U+00E8
+0xE9 U+00E9
+0xEA U+00EA
+0xEB U+00EB
+0xEC U+00EC
+0xED U+00ED
+0xEE U+00EE
+0xEF U+00EF
+0xF0 U+00F0
+0xF1 U+00F1
+0xF2 U+00F2
+0xF3 U+00F3
+0xF4 U+00F4
+0xF5 U+00F5
+0xF6 U+00F6
+0xF7 U+00F7
+0xF8 U+00F8
+0xF9 U+00F9
+0xFA U+00FA
+0xFB U+00FB
+0xFC U+00FC
+0xFD U+00FD
+0xFE U+00FE
+0xFF U+00FF
diff --git a/consoletrans/UniCyr.sfm b/consoletrans/UniCyr.sfm
new file mode 100644
index 0000000..452d4cd
--- /dev/null
+++ b/consoletrans/UniCyr.sfm
@@ -0,0 +1,368 @@
+0x00 U+0000
+0x00 U+00ab
+0x00 U+2264
+0x01 U+0001
+0x01 U+00bb
+0x01 U+2265
+0x02 U+0002
+0x02 U+2320
+0x03 U+0003
+0x03 U+2321
+0x04 U+0004
+0x04 U+00f7
+0x05 U+0005
+0x05 U+0402
+0x06 U+0006
+0x06 U+0403
+0x07 U+0007
+0x07 U+0405
+0x08 U+0008
+0x08 U+0406
+0x09 U+0009
+0x09 U+0408
+0x0a U+000a
+0x0a U+0409
+0x0b U+000b
+0x0b U+040a
+0x0c U+000c
+0x0c U+040b
+0x0d U+000d
+0x0d U+040c
+0x0e U+000e
+0x0e U+040f
+0x0f U+000f
+0x0f U+0490
+0x10 U+0010
+0x10 U+2248
+0x11 U+0011
+0x11 U+00a9
+0x12 U+0012
+0x12 U+00b2
+0x13 U+0013
+0x13 U+00ae
+0x14 U+0014
+0x14 U+20ac
+0x15 U+0015
+0x15 U+0452
+0x16 U+0016
+0x16 U+0453
+0x17 U+0017
+0x17 U+0455
+0x18 U+0018
+0x18 U+0456
+0x19 U+0019
+0x19 U+0458
+0x1a U+001a
+0x1a U+0459
+0x1b U+001b
+0x1b U+045a
+0x1c U+001c
+0x1c U+045b
+0x1d U+001d
+0x1d U+045c
+0x1e U+001e
+0x1e U+045f
+0x1f U+001f
+0x1f U+0491
+0x20 U+0020
+0x20 U+00a0
+0x21 U+0021
+0x21 U+00a1
+0x22 U+0022
+0x22 U+201c
+0x22 U+201d
+0x23 U+0023
+0x24 U+0024
+0x25 U+0025
+0x26 U+0026
+0x27 U+0027
+0x27 U+2019
+0x28 U+0028
+0x29 U+0029
+0x2a U+002a
+0x2b U+002b
+0x2c U+002c
+0x2d U+002d
+0x2d U+2013
+0x2d U+2014
+0x2e U+002e
+0x2f U+002f
+0x30 U+0030
+0x31 U+0031
+0x32 U+0032
+0x33 U+0033
+0x34 U+0034
+0x35 U+0035
+0x36 U+0036
+0x37 U+0037
+0x38 U+0038
+0x39 U+0039
+0x3a U+003a
+0x3b U+003b
+0x3c U+003c
+0x3c U+2039
+0x3d U+003d
+0x3e U+003e
+0x3e U+203a
+0x3f U+003f
+0x3f U+00bf
+0x40 U+0040
+0x41 U+0041
+0x41 U+00c0
+0x41 U+00c1
+0x41 U+00c2
+0x41 U+00c3
+0x41 U+00c4
+0x41 U+00c5
+0x42 U+0042
+0x43 U+0043
+0x43 U+00c7
+0x44 U+0044
+0x44 U+00d0
+0x45 U+0045
+0x45 U+00c8
+0x45 U+00c9
+0x45 U+00ca
+0x46 U+0046
+0x47 U+0047
+0x48 U+0048
+0x49 U+0049
+0x49 U+00cc
+0x49 U+00cd
+0x49 U+00ce
+0x4a U+004a
+0x4b U+004b
+0x4c U+004c
+0x4d U+004d
+0x4e U+004e
+0x4e U+00d1
+0x4f U+004f
+0x4f U+00d2
+0x4f U+00d3
+0x4f U+00d4
+0x4f U+00d5
+0x4f U+00d6
+0x50 U+0050
+0x50 U+00de
+0x51 U+0051
+0x52 U+0052
+0x53 U+0053
+0x53 U+0160
+0x54 U+0054
+0x55 U+0055
+0x55 U+00d9
+0x55 U+00da
+0x55 U+00db
+0x55 U+00dc
+0x56 U+0056
+0x57 U+0057
+0x58 U+0058
+0x59 U+0059
+0x59 U+00dd
+0x5a U+005a
+0x5a U+017d
+0x5b U+005b
+0x5c U+005c
+0x5d U+005d
+0x5e U+005e
+0x5f U+005f
+0x60 U+0060
+0x60 U+2018
+0x61 U+0061
+0x61 U+00e0
+0x61 U+00e1
+0x61 U+00e2
+0x61 U+00e3
+0x61 U+00e4
+0x61 U+00e5
+0x62 U+0062
+0x63 U+0063
+0x63 U+00e7
+0x64 U+0064
+0x64 U+00f0
+0x65 U+0065
+0x65 U+00e8
+0x65 U+00e9
+0x65 U+00ea
+0x66 U+0066
+0x67 U+0067
+0x68 U+0068
+0x69 U+0069
+0x69 U+00ec
+0x69 U+00ed
+0x69 U+00ee
+0x6a U+006a
+0x6b U+006b
+0x6c U+006c
+0x6d U+006d
+0x6d U+00b5
+0x6e U+006e
+0x6e U+00f1
+0x6f U+006f
+0x6f U+00f2
+0x6f U+00f3
+0x6f U+00f4
+0x6f U+00f5
+0x6f U+00f6
+0x70 U+0070
+0x70 U+00fe
+0x71 U+0071
+0x72 U+0072
+0x73 U+0073
+0x73 U+0161
+0x74 U+0074
+0x75 U+0075
+0x75 U+00f9
+0x75 U+00fa
+0x75 U+00fb
+0x75 U+00fc
+0x76 U+0076
+0x77 U+0077
+0x78 U+0078
+0x78 U+00d7
+0x79 U+0079
+0x79 U+00fd
+0x79 U+00ff
+0x7a U+007a
+0x7a U+017e
+0x7b U+007b
+0x7c U+007c
+0x7d U+007d
+0x7e U+007e
+0x7f U+007f
+0x7f U+00df
+0x80 U+0410
+0x81 U+0411
+0x82 U+0412
+0x83 U+0413
+0x84 U+0414
+0x85 U+0415
+0x86 U+0416
+0x87 U+0417
+0x88 U+0418
+0x89 U+0419
+0x8a U+041a
+0x8b U+041b
+0x8c U+041c
+0x8d U+041d
+0x8e U+041e
+0x8f U+041f
+0x90 U+0420
+0x91 U+0421
+0x92 U+0422
+0x93 U+0423
+0x94 U+0424
+0x95 U+0425
+0x96 U+0426
+0x97 U+0427
+0x98 U+0428
+0x99 U+0429
+0x9a U+042a
+0x9b U+042b
+0x9c U+042c
+0x9d U+042d
+0x9e U+042e
+0x9f U+042f
+0xa0 U+0430
+0xa1 U+0431
+0xa2 U+0432
+0xa3 U+0433
+0xa4 U+0434
+0xa5 U+0435
+0xa6 U+0436
+0xa7 U+0437
+0xa8 U+0438
+0xa9 U+0439
+0xaa U+043a
+0xab U+043b
+0xac U+043c
+0xad U+043d
+0xae U+043e
+0xaf U+043f
+0xb0 U+2591
+0xb1 U+2592
+0xb2 U+2593
+0xb3 U+2502
+0xb4 U+2524
+0xb5 U+2561
+0xb6 U+2562
+0xb7 U+2556
+0xb8 U+2555
+0xb9 U+2563
+0xba U+2551
+0xbb U+2557
+0xbc U+255d
+0xbd U+255c
+0xbe U+255b
+0xbf U+2510
+0xc0 U+2514
+0xc1 U+2534
+0xc2 U+252c
+0xc3 U+251c
+0xc4 U+2500
+0xc5 U+253c
+0xc6 U+255e
+0xc7 U+255f
+0xc8 U+255a
+0xc9 U+2554
+0xca U+2569
+0xcb U+2566
+0xcc U+2560
+0xcd U+2550
+0xce U+256c
+0xcf U+2567
+0xd0 U+2568
+0xd1 U+2564
+0xd2 U+2565
+0xd3 U+2559
+0xd4 U+2558
+0xd5 U+2552
+0xd6 U+2553
+0xd7 U+256b
+0xd8 U+256a
+0xd9 U+2518
+0xda U+250c
+0xdb U+2588
+0xdc U+2584
+0xdd U+258c
+0xde U+2590
+0xdf U+2580
+0xe0 U+0440
+0xe1 U+0441
+0xe2 U+0442
+0xe3 U+0443
+0xe4 U+0444
+0xe5 U+0445
+0xe6 U+0446
+0xe7 U+0447
+0xe8 U+0448
+0xe9 U+0449
+0xea U+044a
+0xeb U+044b
+0xec U+044c
+0xed U+044d
+0xee U+044e
+0xef U+044f
+0xf0 U+0401
+0xf0 U+00cb
+0xf1 U+0451
+0xf1 U+00eb
+0xf2 U+0404
+0xf3 U+0454
+0xf4 U+0407
+0xf4 U+00cf
+0xf5 U+0457
+0xf5 U+00ef
+0xf6 U+040e
+0xf7 U+045e
+0xf8 U+00b0
+0xf9 U+00b7
+0xf9 U+2022
+0xf9 U+2219
+0xfa U+00ad
+0xfb U+221a
+0xfc U+2116
+0xfd U+00a4
+0xfe U+25a0
+0xfe U+fffd
+0xff U+00a7
diff --git a/consoletrans/UniCyrX.sfm b/consoletrans/UniCyrX.sfm
new file mode 100644
index 0000000..153a576
--- /dev/null
+++ b/consoletrans/UniCyrX.sfm
@@ -0,0 +1,259 @@
+#
+# UniCyr eXtended Screen Font Map
+#
+0x00 U+0000 U+2264
+0x01 U+0001 U+2265
+0x02 U+0002 U+00ab
+0x03 U+0003 U+00bb
+0x04 U+0004 U+00f7
+0x05 U+0005 U+0402
+0x06 U+0006 U+0403
+0x07 U+0007 U+0405
+0x08 U+0008 U+0406
+0x09 U+0009 U+0408
+0x0a U+000a U+0409
+0x0b U+000b U+040a
+0x0c U+000c U+040b
+0x0d U+000d U+040c
+0x0e U+000e U+040f
+0x0f U+000f U+0490
+0x10 U+0010 U+2248
+0x11 U+0011 U+00a9
+0x12 U+0012 U+00b2
+0x13 U+0013 U+00ae
+0x14 U+0014 U+20ac
+0x15 U+0015 U+0452
+0x16 U+0016 U+0453
+0x17 U+0017 U+0455
+0x18 U+0018 U+0456
+0x19 U+0019 U+0458
+0x1a U+001a U+0459
+0x1b U+001b U+045a
+0x1c U+001c U+045b
+0x1d U+001d U+045c
+0x1e U+001e U+045f
+0x1f U+001f U+0491
+0x20 U+0020 U+00a0
+0x21 U+0021 U+00a1
+0x22 U+0022 U+201c U+201d
+0x23 U+0023
+0x24 U+0024
+0x25 U+0025
+0x26 U+0026
+0x27 U+0027 U+2019
+0x28 U+0028
+0x29 U+0029
+0x2a U+002a
+0x2b U+002b
+0x2c U+002c U+201a
+0x2d U+002d U+2013 U+2014
+0x2e U+002e
+0x2f U+002f
+0x30 U+0030
+0x31 U+0031
+0x32 U+0032
+0x33 U+0033
+0x34 U+0034
+0x35 U+0035
+0x36 U+0036
+0x37 U+0037
+0x38 U+0038
+0x39 U+0039
+0x3a U+003a
+0x3b U+003b
+0x3c U+003c U+2039
+0x3d U+003d
+0x3e U+003e U+203A
+0x3f U+003f U+00bf
+0x40 U+0040
+0x41 U+0041 U+00c0 U+00c1 U+00c2 U+00c3
+0x42 U+0042
+0x43 U+0043
+0x44 U+0044 U+00d0
+0x45 U+0045 U+00c8 U+00ca
+0x46 U+0046
+0x47 U+0047
+0x48 U+0048
+0x49 U+0049 U+00cc U+00cd U+00ce
+0x4a U+004a
+0x4b U+004b
+0x4c U+004c
+0x4d U+004d
+0x4e U+004e
+0x4f U+004f U+00d2 U+00d3 U+00d4 U+00d5
+0x50 U+0050
+0x51 U+0051
+0x52 U+0052
+0x53 U+0053 U+0160
+0x54 U+0054
+0x55 U+0055 U+00d9 U+00da U+00db
+0x56 U+0056
+0x57 U+0057
+0x58 U+0058
+0x59 U+0059 U+00dd U+0178
+0x5a U+005a U+017d
+0x5b U+005b
+0x5c U+005c
+0x5d U+005d
+0x5e U+005e U+02c6
+0x5f U+005f
+0x60 U+0060 U+2018
+0x61 U+0061 U+00e1 U+00e3
+0x62 U+0062
+0x63 U+0063
+0x64 U+0064
+0x65 U+0065
+0x66 U+0066
+0x67 U+0067
+0x68 U+0068
+0x69 U+0069 U+00ec U+00ed
+0x6a U+006a
+0x6b U+006b
+0x6c U+006c
+0x6d U+006d
+0x6e U+006e
+0x6f U+006f U+00f2 U+00f3 U+00f5
+0x70 U+0070
+0x71 U+0071
+0x72 U+0072
+0x73 U+0073 U+0161
+0x74 U+0074
+0x75 U+0075 U+00fa
+0x76 U+0076
+0x77 U+0077
+0x78 U+0078 U+00d7
+0x79 U+0079 U+00fd U+00ff
+0x7a U+007a U+017e
+0x7b U+007b
+0x7c U+007c
+0x7d U+007d
+0x7e U+007e U+02dc
+0x7f U+007f U+2302
+0x80 U+0410
+0x81 U+0411
+0x82 U+0412
+0x83 U+0413
+0x84 U+0414
+0x85 U+0415
+0x86 U+0416
+0x87 U+0417
+0x88 U+0418
+0x89 U+0419
+0x8a U+041a
+0x8b U+041b
+0x8c U+041c
+0x8d U+041d
+0x8e U+041e
+0x8f U+041f
+0x90 U+0420
+0x91 U+0421
+0x92 U+0422
+0x93 U+0423
+0x94 U+0424
+0x95 U+0425
+0x96 U+0426
+0x97 U+0427
+0x98 U+0428
+0x99 U+0429
+0x9a U+042a
+0x9b U+042b
+0x9c U+042c
+0x9d U+042d
+0x9e U+042e
+0x9f U+042f
+0xa0 U+0430
+0xa1 U+0431
+0xa2 U+0432
+0xa3 U+0433
+0xa4 U+0434
+0xa5 U+0435
+0xa6 U+0436
+0xa7 U+0437
+0xa8 U+0438
+0xa9 U+0439
+0xaa U+043a
+0xab U+043b
+0xac U+043c
+0xad U+043d
+0xae U+043e
+0xaf U+043f
+0xb0 U+00de
+0xb1 U+2592 U+2591 U+2593
+0xb2 U+00fe
+0xb3 U+2502 U+2551
+0xb4 U+2524 U+2561 U+2562 U+2563
+0xb5 U+00df
+0xb6 U+00c4
+0xb7 U+00d6
+0xb8 U+00dc
+0xb9 U+00e4
+0xba U+00f6
+0xbb U+00fc
+0xbc U+00a3
+0xbd U+00b5
+0xbe U+00a2
+0xbf U+2510 U+2555 U+2556 U+2557
+0xc0 U+2514 U+2558 U+2559 U+255a
+0xc1 U+2534 U+2567 U+2568 U+2569
+0xc2 U+252c U+2564 U+2565 U+2566
+0xc3 U+251c U+255e U+255f U+2560
+0xc4 U+2500 U+2550
+0xc5 U+253c U+256a U+256b U+256c
+0xc6 U+00e7
+0xc7 U+00e9
+0xc8 U+00e8
+0xc9 U+00e0
+0xca U+00f9
+0xcb U+00e2
+0xcc U+00ea
+0xcd U+00ee
+0xce U+00f4
+0xcf U+00fb
+0xd0 U+00c7
+0xd1 U+00c9
+0xd2 U+00d1
+0xd3 U+00f1
+0xd4 U+00e6
+0xd5 U+0153
+0xd6 U+00e5
+0xd7 U+00f8
+0xd8 U+00f0
+0xd9 U+2518 U+2321 U+255b U+255c U+255d
+0xda U+250c U+2320 U+2552 U+2553 U+2554
+0xdb U+2588 U+2584 U+258c U+2590 U+2580
+0xdc U+00c6
+0xdd U+0152
+0xde U+00c5
+0xdf U+00d8
+0xe0 U+0440
+0xe1 U+0441
+0xe2 U+0442
+0xe3 U+0443
+0xe4 U+0444
+0xe5 U+0445
+0xe6 U+0446
+0xe7 U+0447
+0xe8 U+0448
+0xe9 U+0449
+0xea U+044a
+0xeb U+044b
+0xec U+044c
+0xed U+044d
+0xee U+044e
+0xef U+044f
+0xf0 U+0401 U+00cb
+0xf1 U+0451 U+00eb
+0xf2 U+0404
+0xf3 U+0454
+0xf4 U+0407 U+00cf
+0xf5 U+0457 U+00ef
+0xf6 U+040e
+0xf7 U+045e
+0xf8 U+00b0 U+00ba
+0xf9 U+2219 U+2022 U+00b7
+0xfa U+00ad
+0xfb U+221a
+0xfc U+2116
+0xfd U+00a4
+0xfe U+25a0 U+fffd
+0xff U+00a7
diff --git a/consoletrans/alt.sfm b/consoletrans/alt.sfm
new file mode 100644
index 0000000..3692699
--- /dev/null
+++ b/consoletrans/alt.sfm
@@ -0,0 +1,292 @@
+0x00 U+0000
+0x00 U+fffd
+0x01 U+0001
+0x01 U+263a
+0x02 U+0002
+0x02 U+263b
+0x03 U+0003
+0x03 U+2665
+0x04 U+0004
+0x04 U+2666
+0x05 U+0005
+0x05 U+2663
+0x06 U+0006
+0x06 U+2660
+0x07 U+0007
+0x07 U+2022
+0x08 U+0008
+0x08 U+25d8
+0x09 U+0009
+0x09 U+25cb
+0x0a U+000a
+0x0a U+25d9
+0x0b U+000b
+0x0b U+2642
+0x0c U+000c
+0x0c U+2640
+0x0d U+000d
+0x0d U+266a
+0x0e U+000e
+0x0e U+266b
+0x0e U+266c
+0x0f U+000f
+0x0f U+263c
+0x10 U+0010
+0x10 U+25b6
+0x10 U+25ba
+0x11 U+0011
+0x11 U+25c0
+0x11 U+25c4
+0x12 U+0012
+0x12 U+2195
+0x13 U+0013
+0x13 U+203c
+0x14 U+0014
+0x14 U+00b6
+0x15 U+0015
+0x15 U+00a7
+0x16 U+0016
+0x16 U+25ac
+0x17 U+0017
+0x17 U+21a8
+0x18 U+0018
+0x18 U+2191
+0x19 U+0019
+0x19 U+2193
+0x1a U+001a
+0x1a U+2192
+0x1b U+001b
+0x1b U+2190
+0x1c U+001c
+0x1c U+221f
+0x1c U+2319
+0x1d U+001d
+0x1d U+2194
+0x1e U+001e
+0x1e U+25b2
+0x1f U+001f
+0x1f U+25bc
+0x20 U+0020
+0x21 U+0021
+0x22 U+0022
+0x23 U+0023
+0x24 U+0024
+0x25 U+0025
+0x26 U+0026
+0x27 U+0027
+0x28 U+0028
+0x29 U+0029
+0x2a U+002a
+0x2b U+002b
+0x2c U+002c
+0x2d U+002d
+0x2e U+002e
+0x2f U+002f
+0x30 U+0030
+0x31 U+0031
+0x32 U+0032
+0x33 U+0033
+0x34 U+0034
+0x35 U+0035
+0x36 U+0036
+0x37 U+0037
+0x38 U+0038
+0x39 U+0039
+0x3a U+003a
+0x3b U+003b
+0x3c U+003c
+0x3d U+003d
+0x3e U+003e
+0x3f U+003f
+0x40 U+0040
+0x41 U+0041
+0x42 U+0042
+0x43 U+0043
+0x44 U+0044
+0x45 U+0045
+0x46 U+0046
+0x47 U+0047
+0x48 U+0048
+0x49 U+0049
+0x4a U+004a
+0x4b U+004b
+0x4c U+004c
+0x4d U+004d
+0x4e U+004e
+0x4f U+004f
+0x50 U+0050
+0x51 U+0051
+0x52 U+0052
+0x53 U+0053
+0x54 U+0054
+0x55 U+0055
+0x56 U+0056
+0x57 U+0057
+0x58 U+0058
+0x59 U+0059
+0x5a U+005a
+0x5b U+005b
+0x5c U+005c
+0x5d U+005d
+0x5e U+005e
+0x5f U+005f
+0x60 U+0060
+0x61 U+0061
+0x62 U+0062
+0x63 U+0063
+0x64 U+0064
+0x65 U+0065
+0x66 U+0066
+0x67 U+0067
+0x68 U+0068
+0x69 U+0069
+0x6a U+006a
+0x6b U+006b
+0x6c U+006c
+0x6d U+006d
+0x6e U+006e
+0x6f U+006f
+0x70 U+0070
+0x71 U+0071
+0x72 U+0072
+0x73 U+0073
+0x74 U+0074
+0x75 U+0075
+0x76 U+0076
+0x77 U+0077
+0x78 U+0078
+0x79 U+0079
+0x7a U+007a
+0x7b U+007b
+0x7c U+007c
+0x7d U+007d
+0x7e U+007e
+0x7f U+007f
+0x80 U+0410
+0x81 U+0411
+0x82 U+0412
+0x83 U+0413
+0x84 U+0414
+0x85 U+0415
+0x86 U+0416
+0x87 U+0417
+0x88 U+0418
+0x89 U+0419
+0x8a U+041a
+0x8b U+041b
+0x8c U+041c
+0x8d U+041d
+0x8e U+041e
+0x8f U+041f
+0x90 U+0420
+0x91 U+0421
+0x92 U+0422
+0x93 U+0423
+0x94 U+0424
+0x95 U+0425
+0x96 U+0426
+0x97 U+0427
+0x98 U+0428
+0x99 U+0429
+0x9a U+042a
+0x9b U+042b
+0x9c U+042c
+0x9d U+042d
+0x9e U+042e
+0x9f U+042f
+0xa0 U+0430
+0xa1 U+0431
+0xa2 U+0432
+0xa3 U+0433
+0xa4 U+0434
+0xa5 U+0435
+0xa6 U+0436
+0xa7 U+0437
+0xa8 U+0438
+0xa9 U+0439
+0xaa U+043a
+0xab U+043b
+0xac U+043c
+0xad U+043d
+0xae U+043e
+0xaf U+043f
+0xb0 U+2591
+0xb1 U+2592
+0xb2 U+2593
+0xb3 U+2502
+0xb4 U+2524
+0xb5 U+2561
+0xb6 U+2562
+0xb7 U+2556
+0xb8 U+2555
+0xb9 U+2563
+0xba U+2551
+0xbb U+2557
+0xbc U+255d
+0xbd U+255c
+0xbe U+255b
+0xbf U+2510
+0xc0 U+2514
+0xc1 U+2534
+0xc2 U+252c
+0xc3 U+251c
+0xc4 U+2500
+0xc5 U+253c
+0xc6 U+255e
+0xc7 U+255f
+0xc8 U+255a
+0xc9 U+2554
+0xca U+2569
+0xcb U+2566
+0xcc U+2560
+0xcd U+2550
+0xce U+256c
+0xcf U+2567
+0xd0 U+2568
+0xd1 U+2564
+0xd2 U+2565
+0xd3 U+2559
+0xd4 U+2558
+0xd5 U+2552
+0xd6 U+2553
+0xd7 U+256b
+0xd8 U+256a
+0xd9 U+2518
+0xda U+250c
+0xdb U+2588
+0xdc U+2584
+0xdd U+258c
+0xde U+2590
+0xdf U+2580
+0xe0 U+0440
+0xe1 U+0441
+0xe2 U+0442
+0xe3 U+0443
+0xe4 U+0444
+0xe5 U+0445
+0xe6 U+0446
+0xe7 U+0447
+0xe8 U+0448
+0xe9 U+0449
+0xea U+044a
+0xeb U+044b
+0xec U+044c
+0xed U+044d
+0xee U+044e
+0xef U+044f
+0xf0 U+0401
+0xf1 U+0451
+0xf2 U+2265
+0xf3 U+2264
+0xf4 U+2320
+0xf5 U+2321
+0xf6 U+00f7
+0xf7 U+2248
+0xf8 U+00b0
+0xf9 U+2219
+0xfa U+00b7
+0xfb U+221a
+0xfc U+207f
+0xfd U+00b2
+0xfe U+25a0
+0xff U+00a0
diff --git a/consoletrans/arabic_forms.fallback b/consoletrans/arabic_forms.fallback
new file mode 100644
index 0000000..225a1b8
--- /dev/null
+++ b/consoletrans/arabic_forms.fallback
@@ -0,0 +1,394 @@
+# ARABIC LETTER YEH MEDIAL FORM # ARABIC LETTER YEH
+U+FEF4 U+064A
+# ARABIC LETTER YEH INITIAL FORM # ARABIC LETTER YEH
+U+FEF3 U+064A
+# ARABIC LETTER YEH FINAL FORM # ARABIC LETTER YEH
+U+FEF2 U+064A
+# ARABIC LETTER YEH ISOLATED FORM # ARABIC LETTER YEH
+U+FEF1 U+064A
+# ARABIC LETTER WAW FINAL FORM # ARABIC LETTER WAW
+U+FEEE U+0648
+# ARABIC LETTER WAW ISOLATED FORM # ARABIC LETTER WAW
+U+FEED U+0648
+# ARABIC LETTER HEH MEDIAL FORM # ARABIC LETTER HEH
+U+FEEC U+0647
+# ARABIC LETTER HEH INITIAL FORM # ARABIC LETTER HEH
+U+FEEB U+0647
+# ARABIC LETTER HEH FINAL FORM # ARABIC LETTER HEH
+U+FEEA U+0647
+# ARABIC LETTER HEH ISOLATED FORM # ARABIC LETTER HEH
+U+FEE9 U+0647
+# ARABIC LETTER NOON MEDIAL FORM # ARABIC LETTER NOON
+U+FEE8 U+0646
+# ARABIC LETTER NOON INITIAL FORM # ARABIC LETTER NOON
+U+FEE7 U+0646
+# ARABIC LETTER NOON FINAL FORM # ARABIC LETTER NOON
+U+FEE6 U+0646
+# ARABIC LETTER NOON ISOLATED FORM # ARABIC LETTER NOON
+U+FEE5 U+0646
+# ARABIC LETTER MEEM MEDIAL FORM # ARABIC LETTER MEEM
+U+FEE4 U+0645
+# ARABIC LETTER MEEM INITIAL FORM # ARABIC LETTER MEEM
+U+FEE3 U+0645
+# ARABIC LETTER MEEM FINAL FORM # ARABIC LETTER MEEM
+U+FEE2 U+0645
+# ARABIC LETTER MEEM ISOLATED FORM # ARABIC LETTER MEEM
+U+FEE1 U+0645
+# ARABIC LETTER LAM MEDIAL FORM # ARABIC LETTER LAM
+U+FEE0 U+0644
+# ARABIC LETTER LAM INITIAL FORM # ARABIC LETTER LAM
+U+FEDF U+0644
+# ARABIC LETTER LAM FINAL FORM # ARABIC LETTER LAM
+U+FEDE U+0644
+# ARABIC LETTER LAM ISOLATED FORM # ARABIC LETTER LAM
+U+FEDD U+0644
+# ARABIC LETTER KAF MEDIAL FORM # ARABIC LETTER KAF
+U+FEDC U+0643
+# ARABIC LETTER KAF INITIAL FORM # ARABIC LETTER KAF
+U+FEDB U+0643
+# ARABIC LETTER KAF FINAL FORM # ARABIC LETTER KAF
+U+FEDA U+0643
+# ARABIC LETTER KAF ISOLATED FORM # ARABIC LETTER KAF
+U+FED9 U+0643
+# ARABIC LETTER QAF MEDIAL FORM # ARABIC LETTER QAF
+U+FED8 U+0642
+# ARABIC LETTER QAF INITIAL FORM # ARABIC LETTER QAF
+U+FED7 U+0642
+# ARABIC LETTER QAF FINAL FORM # ARABIC LETTER QAF
+U+FED6 U+0642
+# ARABIC LETTER QAF ISOLATED FORM # ARABIC LETTER QAF
+U+FED5 U+0642
+# ARABIC LETTER FEH MEDIAL FORM # ARABIC LETTER FEH
+U+FED4 U+0641
+# ARABIC LETTER FEH INITIAL FORM # ARABIC LETTER FEH
+U+FED3 U+0641
+# ARABIC LETTER FEH FINAL FORM # ARABIC LETTER FEH
+U+FED2 U+0641
+# ARABIC LETTER FEH ISOLATED FORM # ARABIC LETTER FEH
+U+FED1 U+0641
+# ARABIC LETTER GHAIN MEDIAL FORM # ARABIC LETTER GHAIN
+U+FED0 U+063A
+# ARABIC LETTER GHAIN INITIAL FORM # ARABIC LETTER GHAIN
+U+FECF U+063A
+# ARABIC LETTER GHAIN FINAL FORM # ARABIC LETTER GHAIN
+U+FECE U+063A
+# ARABIC LETTER GHAIN ISOLATED FORM # ARABIC LETTER GHAIN
+U+FECD U+063A
+# ARABIC LETTER AIN MEDIAL FORM # ARABIC LETTER AIN
+U+FECC U+0639
+# ARABIC LETTER AIN INITIAL FORM # ARABIC LETTER AIN
+U+FECB U+0639
+# ARABIC LETTER AIN FINAL FORM # ARABIC LETTER AIN
+U+FECA U+0639
+# ARABIC LETTER AIN ISOLATED FORM # ARABIC LETTER AIN
+U+FEC9 U+0639
+# ARABIC LETTER ZAH MEDIAL FORM # ARABIC LETTER ZAH
+U+FEC8 U+0638
+# ARABIC LETTER ZAH INITIAL FORM # ARABIC LETTER ZAH
+U+FEC7 U+0638
+# ARABIC LETTER ZAH FINAL FORM # ARABIC LETTER ZAH
+U+FEC6 U+0638
+# ARABIC LETTER ZAH ISOLATED FORM # ARABIC LETTER ZAH
+U+FEC5 U+0638
+# ARABIC LETTER TAH MEDIAL FORM # ARABIC LETTER TAH
+U+FEC4 U+0637
+# ARABIC LETTER TAH INITIAL FORM # ARABIC LETTER TAH
+U+FEC3 U+0637
+# ARABIC LETTER TAH FINAL FORM # ARABIC LETTER TAH
+U+FEC2 U+0637
+# ARABIC LETTER TAH ISOLATED FORM # ARABIC LETTER TAH
+U+FEC1 U+0637
+# ARABIC LETTER DAD MEDIAL FORM # ARABIC LETTER DAD
+U+FEC0 U+0636
+# ARABIC LETTER DAD INITIAL FORM # ARABIC LETTER DAD
+U+FEBF U+0636
+# ARABIC LETTER DAD FINAL FORM # ARABIC LETTER DAD
+U+FEBE U+0636
+# ARABIC LETTER DAD ISOLATED FORM # ARABIC LETTER DAD
+U+FEBD U+0636
+# ARABIC LETTER SAD MEDIAL FORM # ARABIC LETTER SAD
+U+FEBC U+0635
+# ARABIC LETTER SAD INITIAL FORM # ARABIC LETTER SAD
+U+FEBB U+0635
+# ARABIC LETTER SAD FINAL FORM # ARABIC LETTER SAD
+U+FEBA U+0635
+# ARABIC LETTER SAD ISOLATED FORM # ARABIC LETTER SAD
+U+FEB9 U+0635
+# ARABIC LETTER SHEEN MEDIAL FORM # ARABIC LETTER SHEEN
+U+FEB8 U+0634
+# ARABIC LETTER SHEEN INITIAL FORM # ARABIC LETTER SHEEN
+U+FEB7 U+0634
+# ARABIC LETTER SHEEN FINAL FORM # ARABIC LETTER SHEEN
+U+FEB6 U+0634
+# ARABIC LETTER SHEEN ISOLATED FORM # ARABIC LETTER SHEEN
+U+FEB5 U+0634
+# ARABIC LETTER SEEN MEDIAL FORM # ARABIC LETTER SEEN
+U+FEB4 U+0633
+# ARABIC LETTER SEEN INITIAL FORM # ARABIC LETTER SEEN
+U+FEB3 U+0633
+# ARABIC LETTER SEEN FINAL FORM # ARABIC LETTER SEEN
+U+FEB2 U+0633
+# ARABIC LETTER SEEN ISOLATED FORM # ARABIC LETTER SEEN
+U+FEB1 U+0633
+# ARABIC LETTER ZAIN FINAL FORM # ARABIC LETTER ZAIN
+U+FEB0 U+0632
+# ARABIC LETTER ZAIN ISOLATED FORM # ARABIC LETTER ZAIN
+U+FEAF U+0632
+# ARABIC LETTER REH FINAL FORM # ARABIC LETTER REH
+U+FEAE U+0631
+# ARABIC LETTER REH ISOLATED FORM # ARABIC LETTER REH
+U+FEAD U+0631
+# ARABIC LETTER THAL FINAL FORM # ARABIC LETTER THAL
+U+FEAC U+0630
+# ARABIC LETTER THAL ISOLATED FORM # ARABIC LETTER THAL
+U+FEAB U+0630
+# ARABIC LETTER DAL FINAL FORM # ARABIC LETTER DAL
+U+FEAA U+062F
+# ARABIC LETTER DAL ISOLATED FORM # ARABIC LETTER DAL
+U+FEA9 U+062F
+# ARABIC LETTER KHAH MEDIAL FORM # ARABIC LETTER KHAH
+U+FEA8 U+062E
+# ARABIC LETTER KHAH INITIAL FORM # ARABIC LETTER KHAH
+U+FEA7 U+062E
+# ARABIC LETTER KHAH FINAL FORM # ARABIC LETTER KHAH
+U+FEA6 U+062E
+# ARABIC LETTER KHAH ISOLATED FORM # ARABIC LETTER KHAH
+U+FEA5 U+062E
+# ARABIC LETTER HAH MEDIAL FORM # ARABIC LETTER HAH
+U+FEA4 U+062D
+# ARABIC LETTER HAH INITIAL FORM # ARABIC LETTER HAH
+U+FEA3 U+062D
+# ARABIC LETTER HAH FINAL FORM # ARABIC LETTER HAH
+U+FEA2 U+062D
+# ARABIC LETTER HAH ISOLATED FORM # ARABIC LETTER HAH
+U+FEA1 U+062D
+# ARABIC LETTER JEEM MEDIAL FORM # ARABIC LETTER JEEM
+U+FEA0 U+062C
+# ARABIC LETTER JEEM INITIAL FORM # ARABIC LETTER JEEM
+U+FE9F U+062C
+# ARABIC LETTER JEEM FINAL FORM # ARABIC LETTER JEEM
+U+FE9E U+062C
+# ARABIC LETTER JEEM ISOLATED FORM # ARABIC LETTER JEEM
+U+FE9D U+062C
+# ARABIC LETTER THEH MEDIAL FORM # ARABIC LETTER THEH
+U+FE9C U+062B
+# ARABIC LETTER THEH INITIAL FORM # ARABIC LETTER THEH
+U+FE9B U+062B
+# ARABIC LETTER THEH FINAL FORM # ARABIC LETTER THEH
+U+FE9A U+062B
+# ARABIC LETTER THEH ISOLATED FORM # ARABIC LETTER THEH
+U+FE99 U+062B
+# ARABIC LETTER TEH MEDIAL FORM # ARABIC LETTER TEH
+U+FE98 U+062A
+# ARABIC LETTER TEH INITIAL FORM # ARABIC LETTER TEH
+U+FE97 U+062A
+# ARABIC LETTER TEH FINAL FORM # ARABIC LETTER TEH
+U+FE96 U+062A
+# ARABIC LETTER TEH ISOLATED FORM # ARABIC LETTER TEH
+U+FE95 U+062A
+# ARABIC LETTER BEH MEDIAL FORM # ARABIC LETTER BEH
+U+FE92 U+0628
+# ARABIC LETTER BEH INITIAL FORM # ARABIC LETTER BEH
+U+FE91 U+0628
+# ARABIC LETTER BEH FINAL FORM # ARABIC LETTER BEH
+U+FE90 U+0628
+# ARABIC LETTER BEH ISOLATED FORM # ARABIC LETTER BEH
+U+FE8F U+0628
+# ARABIC LETTER ALEF FINAL FORM # ARABIC LETTER ALEF
+U+FE8E U+0627
+# ARABIC LETTER ALEF ISOLATED FORM # ARABIC LETTER ALEF
+U+FE8D U+0627
+# ARABIC LETTER HAMZA ISOLATED FORM # ARABIC LETTER HAMZA
+U+FE80 U+0621
+# ARABIC LETTER E MEDIAL FORM # ARABIC LETTER E
+U+FBE7 U+06D0
+# ARABIC LETTER E INITIAL FORM # ARABIC LETTER E
+U+FBE6 U+06D0
+# ARABIC LETTER E FINAL FORM # ARABIC LETTER E
+U+FBE5 U+06D0
+# ARABIC LETTER E ISOLATED FORM # ARABIC LETTER E
+U+FBE4 U+06D0
+# ARABIC LETTER VE FINAL FORM # ARABIC LETTER VE
+U+FBDF U+06CB
+# ARABIC LETTER VE ISOLATED FORM # ARABIC LETTER VE
+U+FBDE U+06CB
+# ARABIC LETTER YU FINAL FORM # ARABIC LETTER YU
+U+FBDC U+06C8
+# ARABIC LETTER YU ISOLATED FORM # ARABIC LETTER YU
+U+FBDB U+06C8
+# ARABIC LETTER OE FINAL FORM # ARABIC LETTER OE
+U+FBDA U+06C6
+# ARABIC LETTER OE ISOLATED FORM # ARABIC LETTER OE
+U+FBD9 U+06C6
+# ARABIC LETTER U FINAL FORM # ARABIC LETTER U
+U+FBD8 U+06C7
+# ARABIC LETTER U ISOLATED FORM # ARABIC LETTER U
+U+FBD7 U+06C7
+# ARABIC LETTER NG MEDIAL FORM # ARABIC LETTER NG
+U+FBD6 U+06AD
+# ARABIC LETTER NG INITIAL FORM # ARABIC LETTER NG
+U+FBD5 U+06AD
+# ARABIC LETTER NG FINAL FORM # ARABIC LETTER NG
+U+FBD4 U+06AD
+# ARABIC LETTER NG ISOLATED FORM # ARABIC LETTER NG
+U+FBD3 U+06AD
+# ARABIC LETTER RNOON MEDIAL FORM # ARABIC LETTER RNOON
+U+FBA3 U+06BB
+# ARABIC LETTER RNOON INITIAL FORM # ARABIC LETTER RNOON
+U+FBA2 U+06BB
+# ARABIC LETTER RNOON FINAL FORM # ARABIC LETTER RNOON
+U+FBA1 U+06BB
+# ARABIC LETTER RNOON ISOLATED FORM # ARABIC LETTER RNOON
+U+FBA0 U+06BB
+# ARABIC LETTER NGOEH MEDIAL FORM # ARABIC LETTER NGOEH
+U+FB9D U+06B1
+# ARABIC LETTER NGOEH INITIAL FORM # ARABIC LETTER NGOEH
+U+FB9C U+06B1
+# ARABIC LETTER NGOEH FINAL FORM # ARABIC LETTER NGOEH
+U+FB9B U+06B1
+# ARABIC LETTER NGOEH ISOLATED FORM # ARABIC LETTER NGOEH
+U+FB9A U+06B1
+# ARABIC LETTER GUEH MEDIAL FORM # ARABIC LETTER GUEH
+U+FB99 U+06B3
+# ARABIC LETTER GUEH INITIAL FORM # ARABIC LETTER GUEH
+U+FB98 U+06B3
+# ARABIC LETTER GUEH FINAL FORM # ARABIC LETTER GUEH
+U+FB97 U+06B3
+# ARABIC LETTER GUEH ISOLATED FORM # ARABIC LETTER GUEH
+U+FB96 U+06B3
+# ARABIC LETTER GAF MEDIAL FORM # ARABIC LETTER GAF
+U+FB95 U+06AF
+# ARABIC LETTER GAF INITIAL FORM # ARABIC LETTER GAF
+U+FB94 U+06AF
+# ARABIC LETTER GAF FINAL FORM # ARABIC LETTER GAF
+U+FB93 U+06AF
+# ARABIC LETTER GAF ISOLATED FORM # ARABIC LETTER GAF
+U+FB92 U+06AF
+# ARABIC LETTER KEHEH MEDIAL FORM # ARABIC LETTER KEHEH
+U+FB91 U+06A9
+# ARABIC LETTER KEHEH INITIAL FORM # ARABIC LETTER KEHEH
+U+FB90 U+06A9
+# ARABIC LETTER KEHEH FINAL FORM # ARABIC LETTER KEHEH
+U+FB8F U+06A9
+# ARABIC LETTER KEHEH ISOLATED FORM # ARABIC LETTER KEHEH
+U+FB8E U+06A9
+# ARABIC LETTER RREH FINAL FORM # ARABIC LETTER RREH
+U+FB8D U+0691
+# ARABIC LETTER RREH ISOLATED FORM # ARABIC LETTER RREH
+U+FB8C U+0691
+# ARABIC LETTER JEH FINAL FORM # ARABIC LETTER JEH
+U+FB8B U+0698
+# ARABIC LETTER JEH ISOLATED FORM # ARABIC LETTER JEH
+U+FB8A U+0698
+# ARABIC LETTER DDAL FINAL FORM # ARABIC LETTER DDAL
+U+FB89 U+0688
+# ARABIC LETTER DDAL ISOLATED FORM # ARABIC LETTER DDAL
+U+FB88 U+0688
+# ARABIC LETTER DUL FINAL FORM # ARABIC LETTER DUL
+U+FB87 U+068E
+# ARABIC LETTER DUL ISOLATED FORM # ARABIC LETTER DUL
+U+FB86 U+068E
+# ARABIC LETTER DAHAL FINAL FORM # ARABIC LETTER DAHAL
+U+FB85 U+068C
+# ARABIC LETTER DAHAL ISOLATED FORM # ARABIC LETTER DAHAL
+U+FB84 U+068C
+# ARABIC LETTER DDAHAL FINAL FORM # ARABIC LETTER DDAHAL
+U+FB83 U+068D
+# ARABIC LETTER DDAHAL ISOLATED FORM # ARABIC LETTER DDAHAL
+U+FB82 U+068D
+# ARABIC LETTER TCHEHEH MEDIAL FORM # ARABIC LETTER TCHEHEH
+U+FB81 U+0687
+# ARABIC LETTER TCHEHEH INITIAL FORM # ARABIC LETTER TCHEHEH
+U+FB80 U+0687
+# ARABIC LETTER TCHEHEH FINAL FORM # ARABIC LETTER TCHEHEH
+U+FB7F U+0687
+# ARABIC LETTER TCHEHEH ISOLATED FORM # ARABIC LETTER TCHEHEH
+U+FB7E U+0687
+# ARABIC LETTER TCHEH MEDIAL FORM # ARABIC LETTER TCHEH
+U+FB7D U+0686
+# ARABIC LETTER TCHEH INITIAL FORM # ARABIC LETTER TCHEH
+U+FB7C U+0686
+# ARABIC LETTER TCHEH FINAL FORM # ARABIC LETTER TCHEH
+U+FB7B U+0686
+# ARABIC LETTER TCHEH ISOLATED FORM # ARABIC LETTER TCHEH
+U+FB7A U+0686
+# ARABIC LETTER NYEH MEDIAL FORM # ARABIC LETTER NYEH
+U+FB79 U+0683
+# ARABIC LETTER NYEH INITIAL FORM # ARABIC LETTER NYEH
+U+FB78 U+0683
+# ARABIC LETTER NYEH FINAL FORM # ARABIC LETTER NYEH
+U+FB77 U+0683
+# ARABIC LETTER NYEH ISOLATED FORM # ARABIC LETTER NYEH
+U+FB76 U+0683
+# ARABIC LETTER DYEH MEDIAL FORM # ARABIC LETTER DYEH
+U+FB75 U+0684
+# ARABIC LETTER DYEH INITIAL FORM # ARABIC LETTER DYEH
+U+FB74 U+0684
+# ARABIC LETTER DYEH FINAL FORM # ARABIC LETTER DYEH
+U+FB73 U+0684
+# ARABIC LETTER DYEH ISOLATED FORM # ARABIC LETTER DYEH
+U+FB72 U+0684
+# ARABIC LETTER PEHEH MEDIAL FORM # ARABIC LETTER PEHEH
+U+FB71 U+06A6
+# ARABIC LETTER PEHEH INITIAL FORM # ARABIC LETTER PEHEH
+U+FB70 U+06A6
+# ARABIC LETTER PEHEH FINAL FORM # ARABIC LETTER PEHEH
+U+FB6F U+06A6
+# ARABIC LETTER PEHEH ISOLATED FORM # ARABIC LETTER PEHEH
+U+FB6E U+06A6
+# ARABIC LETTER VEH MEDIAL FORM # ARABIC LETTER VEH
+U+FB6D U+06A4
+# ARABIC LETTER VEH INITIAL FORM # ARABIC LETTER VEH
+U+FB6C U+06A4
+# ARABIC LETTER VEH FINAL FORM # ARABIC LETTER VEH
+U+FB6B U+06A4
+# ARABIC LETTER VEH ISOLATED FORM # ARABIC LETTER VEH
+U+FB6A U+06A4
+# ARABIC LETTER TTEH MEDIAL FORM # ARABIC LETTER TTEH
+U+FB69 U+0679
+# ARABIC LETTER TTEH INITIAL FORM # ARABIC LETTER TTEH
+U+FB68 U+0679
+# ARABIC LETTER TTEH FINAL FORM # ARABIC LETTER TTEH
+U+FB67 U+0679
+# ARABIC LETTER TTEH ISOLATED FORM # ARABIC LETTER TTEH
+U+FB66 U+0679
+# ARABIC LETTER TEHEH MEDIAL FORM # ARABIC LETTER TEHEH
+U+FB65 U+067F
+# ARABIC LETTER TEHEH INITIAL FORM # ARABIC LETTER TEHEH
+U+FB64 U+067F
+# ARABIC LETTER TEHEH FINAL FORM # ARABIC LETTER TEHEH
+U+FB63 U+067F
+# ARABIC LETTER TEHEH ISOLATED FORM # ARABIC LETTER TEHEH
+U+FB62 U+067F
+# ARABIC LETTER TTEHEH MEDIAL FORM # ARABIC LETTER TTEHEH
+U+FB61 U+067A
+# ARABIC LETTER TTEHEH INITIAL FORM # ARABIC LETTER TTEHEH
+U+FB60 U+067A
+# ARABIC LETTER TTEHEH FINAL FORM # ARABIC LETTER TTEHEH
+U+FB5F U+067A
+# ARABIC LETTER TTEHEH ISOLATED FORM # ARABIC LETTER TTEHEH
+U+FB5E U+067A
+# ARABIC LETTER BEHEH MEDIAL FORM # ARABIC LETTER BEHEH
+U+FB5D U+0680
+# ARABIC LETTER BEHEH INITIAL FORM # ARABIC LETTER BEHEH
+U+FB5C U+0680
+# ARABIC LETTER BEHEH FINAL FORM # ARABIC LETTER BEHEH
+U+FB5B U+0680
+# ARABIC LETTER BEHEH ISOLATED FORM # ARABIC LETTER BEHEH
+U+FB5A U+0680
+# ARABIC LETTER PEH MEDIAL FORM # ARABIC LETTER PEH
+U+FB59 U+067E
+# ARABIC LETTER PEH INITIAL FORM # ARABIC LETTER PEH
+U+FB58 U+067E
+# ARABIC LETTER PEH FINAL FORM # ARABIC LETTER PEH
+U+FB57 U+067E
+# ARABIC LETTER PEH ISOLATED FORM # ARABIC LETTER PEH
+U+FB56 U+067E
+# ARABIC LETTER BEEH MEDIAL FORM # ARABIC LETTER BEEH
+U+FB55 U+067B
+# ARABIC LETTER BEEH INITIAL FORM # ARABIC LETTER BEEH
+U+FB54 U+067B
+# ARABIC LETTER BEEH FINAL FORM # ARABIC LETTER BEEH
+U+FB53 U+067B
+# ARABIC LETTER BEEH ISOLATED FORM # ARABIC LETTER BEEH
+U+FB52 U+067B
diff --git a/consoletrans/arabic_forms.nofallback b/consoletrans/arabic_forms.nofallback
new file mode 100644
index 0000000..4471df1
--- /dev/null
+++ b/consoletrans/arabic_forms.nofallback
@@ -0,0 +1,45 @@
+FB50;ARABIC LETTER ALEF WASLA ISOLATED FORM
+FB51;ARABIC LETTER ALEF WASLA FINAL FORM
+FB9E;ARABIC LETTER NOON GHUNNA ISOLATED FORM
+FB9F;ARABIC LETTER NOON GHUNNA FINAL FORM
+FBA4;ARABIC LETTER HEH WITH YEH ABOVE ISOLATED FORM
+FBA5;ARABIC LETTER HEH WITH YEH ABOVE FINAL FORM
+FBA6;ARABIC LETTER HEH GOAL ISOLATED FORM
+FBA7;ARABIC LETTER HEH GOAL FINAL FORM
+FBA8;ARABIC LETTER HEH GOAL INITIAL FORM
+FBA9;ARABIC LETTER HEH GOAL MEDIAL FORM
+FBAA;ARABIC LETTER HEH DOACHASHMEE ISOLATED FORM
+FBAB;ARABIC LETTER HEH DOACHASHMEE FINAL FORM
+FBAC;ARABIC LETTER HEH DOACHASHMEE INITIAL FORM
+FBAD;ARABIC LETTER HEH DOACHASHMEE MEDIAL FORM
+FBAE;ARABIC LETTER YEH BARREE ISOLATED FORM
+FBAF;ARABIC LETTER YEH BARREE FINAL FORM
+FBB0;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE ISOLATED FORM
+FBB1;ARABIC LETTER YEH BARREE WITH HAMZA ABOVE FINAL FORM
+FBDD;ARABIC LETTER U WITH HAMZA ABOVE ISOLATED FORM
+FBE0;ARABIC LETTER KIRGHIZ OE ISOLATED FORM
+FBE1;ARABIC LETTER KIRGHIZ OE FINAL FORM
+FBE2;ARABIC LETTER KIRGHIZ YU ISOLATED FORM
+FBE3;ARABIC LETTER KIRGHIZ YU FINAL FORM
+FBE8;ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA INITIAL FORM
+FBE9;ARABIC LETTER UIGHUR KAZAKH KIRGHIZ ALEF MAKSURA MEDIAL FORM
+FBFC;ARABIC LETTER FARSI YEH ISOLATED FORM
+FBFD;ARABIC LETTER FARSI YEH FINAL FORM
+FBFE;ARABIC LETTER FARSI YEH INITIAL FORM
+FBFF;ARABIC LETTER FARSI YEH MEDIAL FORM
+FE81;ARABIC LETTER ALEF WITH MADDA ABOVE ISOLATED FORM
+FE82;ARABIC LETTER ALEF WITH MADDA ABOVE FINAL FORM
+FE83;ARABIC LETTER ALEF WITH HAMZA ABOVE ISOLATED FORM
+FE84;ARABIC LETTER ALEF WITH HAMZA ABOVE FINAL FORM
+FE85;ARABIC LETTER WAW WITH HAMZA ABOVE ISOLATED FORM
+FE86;ARABIC LETTER WAW WITH HAMZA ABOVE FINAL FORM
+FE87;ARABIC LETTER ALEF WITH HAMZA BELOW ISOLATED FORM
+FE88;ARABIC LETTER ALEF WITH HAMZA BELOW FINAL FORM
+FE89;ARABIC LETTER YEH WITH HAMZA ABOVE ISOLATED FORM
+FE8A;ARABIC LETTER YEH WITH HAMZA ABOVE FINAL FORM
+FE8B;ARABIC LETTER YEH WITH HAMZA ABOVE INITIAL FORM
+FE8C;ARABIC LETTER YEH WITH HAMZA ABOVE MEDIAL FORM
+FE93;ARABIC LETTER TEH MARBUTA ISOLATED FORM
+FE94;ARABIC LETTER TEH MARBUTA FINAL FORM
+FEEF;ARABIC LETTER ALEF MAKSURA ISOLATED FORM
+FEF0;ARABIC LETTER ALEF MAKSURA FINAL FORM
diff --git a/consoletrans/armscii8.sfm b/consoletrans/armscii8.sfm
new file mode 100644
index 0000000..6a04688
--- /dev/null
+++ b/consoletrans/armscii8.sfm
@@ -0,0 +1,103 @@
+#
+# Armenian ArmSCII-8 encoding unicode table
+# usage: setfont -m trivial -u armscii8.uni fontname
+#
+0x00-0x9f idem
+0xA0 U+00A0
+# <armeternity> doesn't exist in unicode...
+#0xA1 U+FFFF
+0xA2 U+00A7
+0xA3 U+0589
+0xA4 U+0029
+0xA5 U+0028
+0xA6 U+00BB
+0xA7 U+00AB
+0xA8 U+2014
+0xA9 U+002E
+0xAA U+055D
+0xAB U+002C
+0xAC U+2013
+0xAD U+058A
+0xAE U+2026
+0xAF U+055C
+0xB0 U+055B
+0xB1 U+055E
+0xB2 U+0531
+0xB3 U+0561
+0xB4 U+0532
+0xB5 U+0562
+0xB6 U+0533
+0xB7 U+0563
+0xB8 U+0534
+0xB9 U+0564
+0xBA U+0535
+0xBB U+0565
+0xBC U+0536
+0xBD U+0566
+0xBE U+0537
+0xBF U+0567
+0xC0 U+0538
+0xC1 U+0568
+0xC2 U+0539
+0xC3 U+0569
+0xC4 U+053A
+0xC5 U+056A
+0xC6 U+053B
+0xC7 U+056B
+0xC8 U+053C
+0xC9 U+056C
+0xCA U+053D
+0xCB U+056D
+0xCC U+053E
+0xCD U+056E
+0xCE U+053F
+0xCF U+056F
+0xD0 U+0540
+0xD1 U+0570
+0xD2 U+0541
+0xD3 U+0571
+0xD4 U+0542
+0xD5 U+0572
+0xD6 U+0543
+0xD7 U+0573
+0xD8 U+0544
+0xD9 U+0574
+0xDA U+0545
+0xDB U+0575
+0xDC U+0546
+0xDD U+0576
+0xDE U+0547
+0xDF U+0577
+0xE0 U+0548
+0xE1 U+0578
+0xE2 U+0549
+0xE3 U+0579
+0xE4 U+054A
+0xE5 U+057A
+0xE6 U+054B
+0xE7 U+057B
+0xE8 U+054C
+0xE9 U+057C
+0xEA U+054D
+0xEB U+057D
+0xEC U+054E
+0xED U+057E
+0xEE U+054F
+0xEF U+057F
+0xF0 U+0550
+0xF1 U+0580
+0xF2 U+0551
+0xF3 U+0581
+0xF4 U+0552
+0xF5 U+0582
+0xF6 U+0553
+0xF7 U+0583
+0xF8 U+0554
+0xF9 U+0584
+0xFA U+0555
+0xFB U+0585
+0xFC U+0556
+0xFD U+0586
+0xFE U+02BC
+# armew doesn't exist in armscii-8; but as this place is free...
+0xFF U+0587
diff --git a/consoletrans/bulgarian-mic.acm b/consoletrans/bulgarian-mic.acm
new file mode 100644
index 0000000..fd8fc77
--- /dev/null
+++ b/consoletrans/bulgarian-mic.acm
@@ -0,0 +1,223 @@
+# Made by makeacm script (c) 1999 by Victor Wagner <vitus@ice.ru>
+0x21 '!'
+0x22 '"'
+0x23 U+0023
+0x24 '$'
+0x25 '%'
+0x26 '&'
+0x27 '''
+0x28 '('
+0x29 ')'
+0x2A '*'
+0x2B '+'
+0x2C ','
+0x2D '-'
+0x2E '.'
+0x2F '/'
+0x30 '0'
+0x31 '1'
+0x32 '2'
+0x33 '3'
+0x34 '4'
+0x35 '5'
+0x36 '6'
+0x37 '7'
+0x38 '8'
+0x39 '9'
+0x3A ':'
+0x3B ';'
+0x3C '<'
+0x3D '='
+0x3E '>'
+0x3F '?'
+0x40 '@'
+0x41 'A'
+0x42 'B'
+0x43 'C'
+0x44 'D'
+0x45 'E'
+0x46 'F'
+0x47 'G'
+0x48 'H'
+0x49 'I'
+0x4A 'J'
+0x4B 'K'
+0x4C 'L'
+0x4D 'M'
+0x4E 'N'
+0x4F 'O'
+0x50 'P'
+0x51 'Q'
+0x52 'R'
+0x53 'S'
+0x54 'T'
+0x55 'U'
+0x56 'V'
+0x57 'W'
+0x58 'X'
+0x59 'Y'
+0x5A 'Z'
+0x5B '['
+0x5C '\'
+0x5D ']'
+0x5E '^'
+0x5F '_'
+0x60 '`'
+0x61 'a'
+0x62 'b'
+0x63 'c'
+0x64 'd'
+0x65 'e'
+0x66 'f'
+0x67 'g'
+0x68 'h'
+0x69 'i'
+0x6A 'j'
+0x6B 'k'
+0x6C 'l'
+0x6D 'm'
+0x6E 'n'
+0x6F 'o'
+0x70 'p'
+0x71 'q'
+0x72 'r'
+0x73 's'
+0x74 't'
+0x75 'u'
+0x76 'v'
+0x77 'w'
+0x78 'x'
+0x79 'y'
+0x7A 'z'
+0x7B '{'
+0x7C '|'
+0x7D '}'
+0x7E '~'
+0x80 'Ð'
+0x81 'Б'
+0x82 'Ð’'
+0x83 'Г'
+0x84 'Д'
+0x85 'Е'
+0x86 'Ж'
+0x87 'З'
+0x88 'И'
+0x89 'Й'
+0x8A 'К'
+0x8B 'Л'
+0x8C 'М'
+0x8D 'Ð'
+0x8E 'О'
+0x8F 'П'
+0x90 'Р'
+0x91 'С'
+0x92 'Т'
+0x93 'У'
+0x94 'Ф'
+0x95 'Ð¥'
+0x96 'Ц'
+0x97 'Ч'
+0x98 'Ш'
+0x99 'Щ'
+0x9A 'Ъ'
+0x9B 'Ы'
+0x9C 'Ь'
+0x9D 'Э'
+0x9E 'Ю'
+0x9F 'Я'
+0xA0 'а'
+0xA1 'б'
+0xA2 'в'
+0xA3 'г'
+0xA4 'д'
+0xA5 'е'
+0xA6 'ж'
+0xA7 'з'
+0xA8 'и'
+0xA9 'й'
+0xAA 'к'
+0xAB 'л'
+0xAC 'м'
+0xAD 'н'
+0xAE 'о'
+0xAF 'п'
+0xB0 'Ñ€'
+0xB1 'Ñ'
+0xB2 'Ñ‚'
+0xB3 'у'
+0xB4 'Ñ„'
+0xB5 'Ñ…'
+0xB6 'ц'
+0xB7 'ч'
+0xB8 'ш'
+0xB9 'щ'
+0xBA 'ÑŠ'
+0xBB 'Ñ‹'
+0xBC 'ь'
+0xBD 'Ñ'
+0xBE 'ÑŽ'
+0xBF 'Ñ'
+0xC0 'â””'
+0xC1 'â”´'
+0xC2 '┬'
+0xC3 '├'
+0xC4 '─'
+0xC5 '┼'
+0xC6 '?'
+0xC7 '?'
+0xC8 '?'
+0xC9 '?'
+0xCA '?'
+0xCB '?'
+0xCC '?'
+0xCD 'â•'
+0xCE '?'
+0xCF 'â”'
+0xD0 '?'
+0xD1 'â–’'
+0xD2 '?'
+0xD3 '│'
+0xD4 '┤'
+0xD5 'â„–'
+0xD6 '§'
+0xD7 '?'
+0xD8 '?'
+0xD9 '┘'
+0xDA '┌'
+0xDB 'â–ˆ'
+0xDC 'â–„'
+0xDD '▌'
+0xDE '?'
+0xDF '?'
+0xE0 'α'
+0xE1 'β'
+0xE2 'Γ'
+0xE3 'Ï€'
+0xE4 'Σ'
+0xE5 'σ'
+0xE6 'μ'
+0xE7 'Ï„'
+0xE8 'Φ'
+0xE9 'Θ'
+0xEA 'Ω'
+0xEB 'δ'
+0xEC '∞'
+0xED '?'
+0xEE '∈'
+0xEF '∩'
+0xF0 '≡'
+0xF1 '±'
+0xF2 '≥'
+0xF3 '≤'
+0xF4 '?'
+0xF5 '?'
+0xF6 '÷'
+0xF7 '≈'
+0xF8 '°'
+0xF9 '?'
+0xFA '·'
+0xFB '√'
+0xFC 'â¿'
+0xFD '²'
+0xFE 'â– '
+0xFF ' '
diff --git a/consoletrans/cp1251.acm b/consoletrans/cp1251.acm
new file mode 100644
index 0000000..48bde62
--- /dev/null
+++ b/consoletrans/cp1251.acm
@@ -0,0 +1,222 @@
+# Made by makeacm script (c) 1999 by Victor Wagner <vitus@ice.ru>
+0x21 '!'
+0x22 '"'
+0x23 U+0023
+0x24 '$'
+0x25 '%'
+0x26 '&'
+0x27 '''
+0x28 '('
+0x29 ')'
+0x2A '*'
+0x2B '+'
+0x2C ','
+0x2D '-'
+0x2E '.'
+0x2F '/'
+0x30 '0'
+0x31 '1'
+0x32 '2'
+0x33 '3'
+0x34 '4'
+0x35 '5'
+0x36 '6'
+0x37 '7'
+0x38 '8'
+0x39 '9'
+0x3A ':'
+0x3B ';'
+0x3C '<'
+0x3D '='
+0x3E '>'
+0x3F '?'
+0x40 '@'
+0x41 'A'
+0x42 'B'
+0x43 'C'
+0x44 'D'
+0x45 'E'
+0x46 'F'
+0x47 'G'
+0x48 'H'
+0x49 'I'
+0x4A 'J'
+0x4B 'K'
+0x4C 'L'
+0x4D 'M'
+0x4E 'N'
+0x4F 'O'
+0x50 'P'
+0x51 'Q'
+0x52 'R'
+0x53 'S'
+0x54 'T'
+0x55 'U'
+0x56 'V'
+0x57 'W'
+0x58 'X'
+0x59 'Y'
+0x5A 'Z'
+0x5B '['
+0x5C '\'
+0x5D ']'
+0x5E '^'
+0x5F '_'
+0x60 '`'
+0x61 'a'
+0x62 'b'
+0x63 'c'
+0x64 'd'
+0x65 'e'
+0x66 'f'
+0x67 'g'
+0x68 'h'
+0x69 'i'
+0x6A 'j'
+0x6B 'k'
+0x6C 'l'
+0x6D 'm'
+0x6E 'n'
+0x6F 'o'
+0x70 'p'
+0x71 'q'
+0x72 'r'
+0x73 's'
+0x74 't'
+0x75 'u'
+0x76 'v'
+0x77 'w'
+0x78 'x'
+0x79 'y'
+0x7A 'z'
+0x7B '{'
+0x7C '|'
+0x7D '}'
+0x7E '~'
+0x7F ''
+0x80 'Ђ'
+0x81 'Ѓ'
+0x82 '?'
+0x83 'Ñ“'
+0x84 '?'
+0x85 '…'
+0x86 '†'
+0x87 '‡'
+0x89 '‰'
+0x8A 'Љ'
+0x8B '?'
+0x8C 'Њ'
+0x8D 'Ќ'
+0x8E 'Ћ'
+0x8F 'Ð'
+0x90 'Ñ’'
+0x91 '‘'
+0x92 '’'
+0x93 '“'
+0x94 'â€'
+0x95 '•'
+0x96 '–'
+0x97 '—'
+0x99 'â„¢'
+0x9A 'Ñ™'
+0x9B '?'
+0x9C 'Ñš'
+0x9D 'ќ'
+0x9E 'Ñ›'
+0x9F 'ÑŸ'
+0xA0 ' '
+0xA1 'ÐŽ'
+0xA2 'Ñž'
+0xA3 'Ј'
+0xA4 '¤'
+0xA5 '?'
+0xA6 '¦'
+0xA7 '§'
+0xA8 'Ð'
+0xA9 '©'
+0xAA 'Є'
+0xAB '«'
+0xAC '¬'
+0xAD '­'
+0xAE '®'
+0xAF 'Ї'
+0xB0 '°'
+0xB1 '±'
+0xB2 'І'
+0xB3 'Ñ–'
+0xB4 '?'
+0xB5 'µ'
+0xB6 '¶'
+0xB7 '·'
+0xB8 'Ñ‘'
+0xB9 'â„–'
+0xBA 'Ñ”'
+0xBB '»'
+0xBC 'ј'
+0xBD 'Ð…'
+0xBE 'Ñ•'
+0xBF 'Ñ—'
+0xC0 'Ð'
+0xC1 'Б'
+0xC2 'Ð’'
+0xC3 'Г'
+0xC4 'Д'
+0xC5 'Е'
+0xC6 'Ж'
+0xC7 'З'
+0xC8 'И'
+0xC9 'Й'
+0xCA 'К'
+0xCB 'Л'
+0xCC 'М'
+0xCD 'Ð'
+0xCE 'О'
+0xCF 'П'
+0xD0 'Р'
+0xD1 'С'
+0xD2 'Т'
+0xD3 'У'
+0xD4 'Ф'
+0xD5 'Ð¥'
+0xD6 'Ц'
+0xD7 'Ч'
+0xD8 'Ш'
+0xD9 'Щ'
+0xDA 'Ъ'
+0xDB 'Ы'
+0xDC 'Ь'
+0xDD 'Э'
+0xDE 'Ю'
+0xDF 'Я'
+0xE0 'а'
+0xE1 'б'
+0xE2 'в'
+0xE3 'г'
+0xE4 'д'
+0xE5 'е'
+0xE6 'ж'
+0xE7 'з'
+0xE8 'и'
+0xE9 'й'
+0xEA 'к'
+0xEB 'л'
+0xEC 'м'
+0xED 'н'
+0xEE 'о'
+0xEF 'п'
+0xF0 'Ñ€'
+0xF1 'Ñ'
+0xF2 'Ñ‚'
+0xF3 'у'
+0xF4 'Ñ„'
+0xF5 'Ñ…'
+0xF6 'ц'
+0xF7 'ч'
+0xF8 'ш'
+0xF9 'щ'
+0xFA 'ÑŠ'
+0xFB 'Ñ‹'
+0xFC 'ь'
+0xFD 'Ñ'
+0xFE 'ÑŽ'
+0xFF 'Ñ'
diff --git a/consoletrans/cp437.acm b/consoletrans/cp437.acm
new file mode 100644
index 0000000..50f4423
--- /dev/null
+++ b/consoletrans/cp437.acm
@@ -0,0 +1,135 @@
+# generated from UTF-tmpl.8bit.in by:
+# {
+# while read a b; do
+# echo -e $a \'\\echo "8o16i${b#U+}pq" | dc\';
+# done
+# } <data/consoletrans/UTF-tmpl.8bit.in
+
+0x80 'Ç'
+0x81 'ü'
+0x82 'é'
+0x83 'â'
+0x84 'ä'
+0x85 'à'
+0x86 'Ã¥'
+0x87 'ç'
+0x88 'ê'
+0x89 'ë'
+0x8A 'è'
+0x8B 'ï'
+0x8C 'î'
+0x8D 'ì'
+0x8E 'Ä'
+0x8F 'Ã…'
+0x90 'É'
+0x91 'æ'
+0x92 'Æ'
+0x93 'ô'
+0x94 'ö'
+0x95 'ò'
+0x96 'û'
+0x97 'ù'
+0x98 'ÿ'
+0x99 'Ö'
+0x9A 'Ü'
+0x9B '¢'
+0x9C '£'
+0x9D 'Â¥'
+0x9E '₧'
+0x9F 'Æ’'
+0xA0 'á'
+0xA1 'í'
+0xA2 'ó'
+0xA3 'ú'
+0xA4 'ñ'
+0xA5 'Ñ'
+0xA6 'ª'
+0xA7 'º'
+0xA8 '¿'
+0xA9 'âŒ'
+0xAA '¬'
+0xAB '½'
+0xAC '¼'
+0xAD '¡'
+0xAE '«'
+0xAF '»'
+0xB0 'â–‘'
+0xB1 'â–’'
+0xB2 'â–“'
+0xB3 '│'
+0xB4 '┤'
+0xB5 'â•¡'
+0xB6 'â•¢'
+0xB7 'â•–'
+0xB8 'â••'
+0xB9 'â•£'
+0xBA 'â•‘'
+0xBB 'â•—'
+0xBC 'â•'
+0xBD '╜'
+0xBE 'â•›'
+0xBF 'â”'
+0xC0 'â””'
+0xC1 'â”´'
+0xC2 '┬'
+0xC3 '├'
+0xC4 '─'
+0xC5 '┼'
+0xC6 'â•ž'
+0xC7 'â•Ÿ'
+0xC8 'â•š'
+0xC9 'â•”'
+0xCA 'â•©'
+0xCB '╦'
+0xCC 'â• '
+0xCD 'â•'
+0xCE '╬'
+0xCF '╧'
+0xD0 '╨'
+0xD1 '╤'
+0xD2 'â•¥'
+0xD3 'â•™'
+0xD4 '╘'
+0xD5 'â•’'
+0xD6 'â•“'
+0xD7 'â•«'
+0xD8 '╪'
+0xD9 '┘'
+0xDA '┌'
+0xDB 'â–ˆ'
+0xDC 'â–„'
+0xDD '▌'
+0xDE 'â–'
+0xDF 'â–€'
+0xE0 'α'
+0xE1 'β'
+0xE2 'Γ'
+0xE3 'Ï€'
+0xE4 'Σ'
+0xE5 'σ'
+0xE6 'μ'
+0xE7 'Ï„'
+0xE8 'Φ'
+0xE9 'Θ'
+0xEA 'Ω'
+0xEB 'δ'
+0xEC '∞'
+0xED '∅'
+0xEE 'ε'
+0xEF '∩'
+0xF0 '≡'
+0xF1 '±'
+0xF2 '≥'
+0xF3 '≤'
+0xF4 '⌠'
+0xF5 '⌡'
+0xF6 '÷'
+0xF7 '≈'
+0xF8 '∘'
+0xF9 '·'
+0xFA '•'
+0xFB '√'
+0xFC 'â¿'
+0xFD '²'
+0xFE 'â– '
+0xFF ' '
diff --git a/consoletrans/cp437.sfm b/consoletrans/cp437.sfm
new file mode 100644
index 0000000..b6c0fa0
--- /dev/null
+++ b/consoletrans/cp437.sfm
@@ -0,0 +1,291 @@
+#
+# Unicode table for IBM Codepage 437. Note that there are many more
+# substitutions that could be conceived (for example, thick-line
+# graphs probably should be replaced with double-line ones, accented
+# Latin characters should replaced with their nonaccented versions,
+# and some upper case Greek characters could be replaced by Latin), however,
+# I have limited myself to the Unicodes used by the kernel ISO 8859-1,
+# DEC VT, and IBM CP 437 tables.
+#
+# --------------------------------
+#
+# Basic IBM dingbats, some of which will never have a purpose clear
+# to mankind
+#
+0x00 U+0000
+0x01 U+263a
+0x02 U+263b
+0x03 U+2665
+0x04 U+2666 U+25c6
+0x05 U+2663
+0x06 U+2660
+0x07 U+2022
+0x08 U+25d8
+0x09 U+25cb
+0x0a U+25d9
+0x0b U+2642
+0x0c U+2640
+0x0d U+266a
+0x0e U+266b
+0x0f U+263c
+0x10 U+25b6 U+25ba
+0x11 U+25c0 U+25c4
+0x12 U+2195
+0x13 U+203c
+0x14 U+00b6
+0x15 U+00a7
+0x16 U+25ac
+0x17 U+21a8
+0x18 U+2191
+0x19 U+2193
+0x1a U+2192
+0x1b U+2190
+0x1c U+221f
+0x1d U+2194
+0x1e U+25b2
+0x1f U+25bc
+#
+# The ASCII range is identity-mapped, but some of the characters also
+# have to act as substitutes, especially the upper-case characters.
+#
+0x20 U+0020
+0x21 U+0021
+0x22 U+0022 U+00a8
+0x23 U+0023
+0x24 U+0024
+0x25 U+0025
+0x26 U+0026
+0x27 U+0027
+0x28 U+0028
+0x29 U+0029
+0x2a U+002a
+0x2b U+002b
+0x2c U+002c U+00b8
+0x2d U+002d U+00ad
+0x2e U+002e
+0x2f U+002f
+0x30 U+0030
+0x31 U+0031
+0x32 U+0032
+0x33 U+0033
+0x34 U+0034
+0x35 U+0035
+0x36 U+0036
+0x37 U+0037
+0x38 U+0038
+0x39 U+0039
+0x3a U+003a
+0x3b U+003b
+0x3c U+003c
+0x3d U+003d
+0x3e U+003e
+0x3f U+003f
+0x40 U+0040
+0x41 U+0041 U+00c0 U+00c1 U+00c2 U+00c3
+0x42 U+0042
+0x43 U+0043 U+00a9
+0x44 U+0044
+0x45 U+0045 U+00c8 U+00ca U+00cb
+0x46 U+0046
+0x47 U+0047
+0x48 U+0048
+0x49 U+0049 U+00cc U+00cd U+00ce U+00cf
+0x4a U+004a
+0x4b U+004b U+212a
+0x4c U+004c
+0x4d U+004d
+0x4e U+004e
+0x4f U+004f U+00d2 U+00d3 U+00d4 U+00d5
+0x50 U+0050
+0x51 U+0051
+0x52 U+0052 U+00ae
+0x53 U+0053
+0x54 U+0054
+0x55 U+0055 U+00d9 U+00da U+00db
+0x56 U+0056
+0x57 U+0057
+0x58 U+0058
+0x59 U+0059 U+00dd
+0x5a U+005a
+0x5b U+005b
+0x5c U+005c
+0x5d U+005d
+0x5e U+005e
+0x5f U+005f U+f804
+0x60 U+0060
+0x61 U+0061 U+00e3
+0x62 U+0062
+0x63 U+0063
+0x64 U+0064
+0x65 U+0065
+0x66 U+0066
+0x67 U+0067
+0x68 U+0068
+0x69 U+0069
+0x6a U+006a
+0x6b U+006b
+0x6c U+006c
+0x6d U+006d
+0x6e U+006e
+0x6f U+006f U+00f5
+0x70 U+0070
+0x71 U+0071
+0x72 U+0072
+0x73 U+0073
+0x74 U+0074
+0x75 U+0075
+0x76 U+0076
+0x77 U+0077
+0x78 U+0078 U+00d7
+0x79 U+0079 U+00fd
+0x7a U+007a
+0x7b U+007b
+0x7c U+007c U+00a5
+0x7d U+007d
+0x7e U+007e
+#
+# Okay, what on Earth is this one supposed to be used for?
+#
+0x7f U+2302
+#
+# Non-English characters, mostly lower case letters...
+#
+0x80 U+00c7
+0x81 U+00fc
+0x82 U+00e9
+0x83 U+00e2
+0x84 U+00e4
+0x85 U+00e0
+0x86 U+00e5
+0x87 U+00e7
+0x88 U+00ea
+0x89 U+00eb
+0x8a U+00e8
+0x8b U+00ef
+0x8c U+00ee
+0x8d U+00ec
+0x8e U+00c4
+0x8f U+00c5 U+212b
+0x90 U+00c9
+0x91 U+00e6
+0x92 U+00c6
+0x93 U+00f4
+0x94 U+00f6
+0x95 U+00f2
+0x96 U+00fb
+0x97 U+00f9
+0x98 U+00ff
+0x99 U+00d6
+0x9a U+00dc
+0x9b U+00a2
+0x9c U+00a3
+0x9d U+00a5
+0x9e U+20a7
+0x9f U+0192
+0xa0 U+00e1
+0xa1 U+00ed
+0xa2 U+00f3
+0xa3 U+00fa
+0xa4 U+00f1
+0xa5 U+00d1
+0xa6 U+00aa
+0xa7 U+00ba
+0xa8 U+00bf
+0xa9 U+2310
+0xaa U+00ac
+0xab U+00bd
+0xac U+00bc
+0xad U+00a1
+0xae U+00ab
+0xaf U+00bb
+#
+# Block graphics
+#
+0xb0 U+2591
+0xb1 U+2592
+0xb2 U+2593
+0xb3 U+2502
+0xb4 U+2524
+0xb5 U+2561
+0xb6 U+2562
+0xb7 U+2556
+0xb8 U+2555
+0xb9 U+2563
+0xba U+2551
+0xbb U+2557
+0xbc U+255d
+0xbd U+255c
+0xbe U+255b
+0xbf U+2510
+0xc0 U+2514
+0xc1 U+2534
+0xc2 U+252c
+0xc3 U+251c
+0xc4 U+2500
+0xc5 U+253c
+0xc6 U+255e
+0xc7 U+255f
+0xc8 U+255a
+0xc9 U+2554
+0xca U+2569
+0xcb U+2566
+0xcc U+2560
+0xcd U+2550
+0xce U+256c
+0xcf U+2567
+0xd0 U+2568
+0xd1 U+2564
+0xd2 U+2565
+0xd3 U+2559
+0xd4 U+2558
+0xd5 U+2552
+0xd6 U+2553
+0xd7 U+256b
+0xd8 U+256a
+0xd9 U+2518
+0xda U+250c
+0xdb U+2588
+0xdc U+2584
+0xdd U+258c
+0xde U+2590
+0xdf U+2580
+#
+# Greek letters and mathematical symbols
+#
+0xe0 U+03b1
+0xe1 U+03b2 U+00df
+0xe2 U+0393
+0xe3 U+03c0
+0xe4 U+03a3
+0xe5 U+03c3
+0xe6 U+00b5 U+03bc
+0xe7 U+03c4
+0xe8 U+03a6 U+00d8
+0xe9 U+0398
+0xea U+03a9 U+2126
+0xeb U+03b4
+0xec U+221e
+0xed U+03c6 U+00f8
+0xee U+03b5
+0xef U+2229
+0xf0 U+2261
+0xf1 U+00b1
+0xf2 U+2265
+0xf3 U+2264
+0xf4 U+2320
+0xf5 U+2321
+0xf6 U+00f7
+0xf7 U+2248
+0xf8 U+00b0
+0xf9 U+2219
+0xfa U+00b7
+0xfb U+221a
+0xfc U+207f
+0xfd U+00b2
+#
+# Square bullet, non-spacing blank
+# Mapping U+fffd to the square bullet means it is the substitution
+# character
+#
+0xfe U+25a0 U+fffd
+0xff U+00a0
diff --git a/consoletrans/cp437_to_iso01.trans b/consoletrans/cp437_to_iso01.trans
new file mode 100644
index 0000000..d632c24
--- /dev/null
+++ b/consoletrans/cp437_to_iso01.trans
@@ -0,0 +1,133 @@
+#
+# this file allows using a cp437 encoded font to display iso-8859-1
+# usage: setfont -m cp437_to_iso01.trans -u iso01.uni fontname
+#
+# Internal value Output character
+0x80 0x80
+0x81 0x81
+0x82 0x82
+0x83 0x83
+0x84 0x84
+0x85 0x85
+0x86 0x86
+0x87 0x87
+0x88 0x88
+0x89 0x89
+0x8A 0x8A
+0x8B 0x8B
+0x8C 0x8C
+0x8D 0x8D
+0x8E 0x8E
+0x8F 0x8F
+0x90 0x90
+0x91 0x91
+0x92 0x92
+0x93 0x93
+0x94 0x94
+0x95 0x95
+0x96 0x96
+0x97 0x97
+0x98 0x98
+0x99 0x99
+0x9A 0x9A
+0x9B 0x9B
+0x9C 0x9C
+0x9D 0x9D
+0x9E 0x9E
+0x9F 0x9F
+0xA0 0xA0
+0xA1 0xAD
+0xA2 0x9B
+0xA3 0x9C
+0xA4 0xA4
+0xA5 0x9D
+0xA6 0xA6
+0xA7 0x15
+0xA8 0x1C
+0xA9 0xA9
+0xAA 0xA6
+0xAB 0xAE
+0xAC 0xAA
+0xAD 0xAD
+0xAE 0xAE
+0xAF 0xAF
+0xB0 0xB0
+0xB1 0xF1
+0xB2 0xFD
+0xB3 0xB3
+0xB4 0xB4
+0xB5 0xE6
+0xB6 0x14
+0xB7 0xF9
+0xB8 0xB8
+0xB9 0xB9
+0xBA 0xA7
+0xBB 0xAF
+0xBC 0xAC
+0xBD 0xAB
+0xBE 0xBE
+0xBF 0xA8
+0xC0 0xC0
+0xC1 0xC1
+0xC2 0xC2
+0xC3 0xC3
+0xC4 0x8E
+0xC5 0x8F
+0xC6 0x92
+0xC7 0x80
+0xC8 0xC8
+0xC9 0x90
+0xCA 0xCA
+0xCB 0xCB
+0xCC 0xCC
+0xCD 0xCD
+0xCE 0xCE
+0xCF 0xCF
+0xD0 0xD0
+0xD1 0xA5
+0xD2 0xD2
+0xD3 0xD3
+0xD4 0xD4
+0xD5 0xD5
+0xD6 0x99
+0xD7 0xD7
+0xD8 0xD8
+0xD9 0xD9
+0xDA 0xDA
+0xDB 0xDB
+0xDC 0x9A
+0xDD 0xDD
+0xDE 0xDE
+0xDF 0xE1
+0xE0 0x85
+0xE1 0xA0
+0xE2 0x83
+0xE3 0xE3
+0xE4 0x84
+0xE5 0x86
+0xE6 0x91
+0xE7 0x87
+0xE8 0x8A
+0xE9 0x82
+0xEA 0x88
+0xEB 0x89
+0xEC 0xAD
+0xED 0xA1
+0xEE 0x8B
+0xEF 0x8C
+0xF0 0xF0
+0xF1 0xA4
+0xF2 0x95
+0xF3 0xA2
+0xF4 0x93
+0xF5 0xF5
+0xF6 0x94
+0xF7 0xF6
+0xF8 0xED
+0xF9 0x97
+0xFA 0xA3
+0xFB 0x96
+0xFC 0x81
+0xFD 0xFD
+0xFE 0xFE
+0xFF 0x98
diff --git a/consoletrans/cp850.sfm b/consoletrans/cp850.sfm
new file mode 100644
index 0000000..5a484be
--- /dev/null
+++ b/consoletrans/cp850.sfm
@@ -0,0 +1,283 @@
+#
+# Unicode table for IBM Codepage 850.
+# This allows to properly use a cp850 encoded font to display unicode
+# usage: setfont -m cp850_to_iso01.trans -u cp850.uni fontname
+#
+#
+0x00 U+0000
+0x01 U+263a
+0x02 U+263b
+0x03 U+2665
+0x04 U+2666 U+25c6
+0x05 U+2663
+0x06 U+2660
+0x07 U+2022
+0x08 U+25d8
+0x09 U+25cb
+0x0a U+25d9
+0x0b U+2642
+0x0c U+2640
+0x0d U+266a
+0x0e U+266b
+0x0f U+263c
+0x10 U+25b6 U+25ba
+0x11 U+25c0 U+25c4
+0x12 U+2195
+0x13 U+203c
+0x14 U+00b6
+0x15 U+00a7
+0x16 U+25ac
+0x17 U+21a8
+0x18 U+2191
+0x19 U+2193
+0x1a U+2192
+0x1b U+2190
+0x1c U+221f
+0x1d U+2194
+0x1e U+25b2
+0x1f U+25bc
+#
+# The ASCII range is identity-mapped, but some of the characters also
+# have to act as substitutes, especially the upper-case characters.
+#
+0x20 U+0020
+0x21 U+0021
+0x22 U+0022 U+00a8
+0x23 U+0023
+0x24 U+0024
+0x25 U+0025
+0x26 U+0026
+0x27 U+0027
+0x28 U+0028
+0x29 U+0029
+0x2a U+002a
+0x2b U+002b
+0x2c U+002c U+00b8
+0x2d U+002d U+00ad
+0x2e U+002e
+0x2f U+002f
+0x30 U+0030
+0x31 U+0031
+0x32 U+0032
+0x33 U+0033
+0x34 U+0034
+0x35 U+0035
+0x36 U+0036
+0x37 U+0037
+0x38 U+0038
+0x39 U+0039
+0x3a U+003a
+0x3b U+003b
+0x3c U+003c
+0x3d U+003d
+0x3e U+003e
+0x3f U+003f
+0x40 U+0040
+0x41 U+0041
+0x42 U+0042
+0x43 U+0043
+0x44 U+0044
+0x45 U+0045
+0x46 U+0046
+0x47 U+0047
+0x48 U+0048
+0x49 U+0049
+0x4a U+004a
+0x4b U+004b U+212a
+0x4c U+004c
+0x4d U+004d
+0x4e U+004e
+0x4f U+004f
+0x50 U+0050
+0x51 U+0051
+0x52 U+0052
+0x53 U+0053
+0x54 U+0054
+0x55 U+0055
+0x56 U+0056
+0x57 U+0057
+0x58 U+0058
+0x59 U+0059
+0x5a U+005a
+0x5b U+005b
+0x5c U+005c
+0x5d U+005d
+0x5e U+005e
+0x5f U+005f U+f804
+0x60 U+0060
+0x61 U+0061
+0x62 U+0062
+0x63 U+0063
+0x64 U+0064
+0x65 U+0065
+0x66 U+0066
+0x67 U+0067
+0x68 U+0068
+0x69 U+0069
+0x6a U+006a
+0x6b U+006b
+0x6c U+006c
+0x6d U+006d
+0x6e U+006e
+0x6f U+006f
+0x70 U+0070
+0x71 U+0071
+0x72 U+0072
+0x73 U+0073
+0x74 U+0074
+0x75 U+0075
+0x76 U+0076
+0x77 U+0077
+0x78 U+0078
+0x79 U+0079
+0x7a U+007a
+0x7b U+007b
+0x7c U+007c
+0x7d U+007d
+0x7e U+007e
+#
+# Okay, what on Earth is this one supposed to be used for?
+#
+0x7f U+2302
+#
+# Non-English characters, mostly lower case letters...
+#
+0x80 U+00c7
+0x81 U+00fc
+0x82 U+00e9
+0x83 U+00e2
+0x84 U+00e4
+0x85 U+00e0
+0x86 U+00e5
+0x87 U+00e7
+0x88 U+00ea
+0x89 U+00eb
+0x8a U+00e8
+0x8b U+00ef
+0x8c U+00ee
+0x8d U+00ec
+0x8e U+00c4
+0x8f U+00c5 U+212b
+0x90 U+00c9
+0x91 U+00e6
+0x92 U+00c6
+0x93 U+00f4
+0x94 U+00f6
+0x95 U+00f2
+0x96 U+00fb
+0x97 U+00f9
+0x98 U+00ff
+0x99 U+00d6
+0x9a U+00dc
+0x9b U+00f8
+0x9c U+00a3
+0x9d U+00d8
+0x9e U+00d7
+0x9f U+0192
+0xa0 U+00e1
+0xa1 U+00ed
+0xa2 U+00f3
+0xa3 U+00fa
+0xa4 U+00f1
+0xa5 U+00d1
+0xa6 U+00aa
+0xa7 U+00ba
+0xa8 U+00bf
+0xa9 U+00ae
+0xaa U+00ac
+0xab U+00bd
+0xac U+00bc
+0xad U+00a1
+0xae U+00ab
+0xaf U+00bb
+#
+# Block graphics
+#
+0xb0 U+2591
+0xb1 U+2592
+0xb2 U+2593
+0xb3 U+2502
+0xb4 U+2524
+0xb5 U+00c1
+0xb6 U+00c2
+0xb7 U+00c0
+0xb8 U+00a9
+0xb9 U+2563
+0xba U+2551
+0xbb U+2557
+0xbc U+255d
+0xbd U+00a2
+0xbe U+00a5
+0xbf U+2510
+0xc0 U+2514
+0xc1 U+2534
+0xc2 U+252c
+0xc3 U+251c
+0xc4 U+2500
+0xc5 U+253c
+0xc6 U+00e3
+0xc7 U+00c3
+0xc8 U+255a
+0xc9 U+2554
+0xca U+2569
+0xcb U+2566
+0xcc U+2560
+0xcd U+2550
+0xce U+256c
+0xcf U+00a4 U+20ac
+0xd0 U+00f0
+0xd1 U+00d0
+0xd2 U+00ca
+0xd3 U+00cb
+0xd4 U+00c8
+0xd5 U+0131
+0xd6 U+00cd
+0xd7 U+00ce
+0xd8 U+00cf
+0xd9 U+2518
+0xda U+250c
+0xdb U+2588
+0xdc U+2584
+0xdd U+00a6
+0xde U+00cc
+0xdf U+2580
+#
+# Greek letters and mathematical symbols
+#
+0xe0 U+00d3
+0xe1 U+03b2 U+00df
+0xe2 U+00d4
+0xe3 U+00d2
+0xe4 U+00f5
+0xe5 U+00d5
+0xe6 U+00b5 U+03bc
+0xe7 U+00fe
+0xe8 U+00de
+0xe9 U+00da
+0xea U+00db
+0xeb U+00d9
+0xec U+00fd
+0xed U+00dd
+0xee U+03b5
+0xef U+00b4
+0xf0 U+2261
+0xf1 U+00b1
+0xf2 U+2265
+0xf3 U+00be
+0xf4 U+2320
+0xf5 U+2321
+0xf6 U+00f7
+0xf7 U+00b8
+0xf8 U+00b0
+0xf9 U+00a8
+0xfa U+00b7
+0xfb U+00b9
+0xfc U+00b3
+0xfd U+00b2
+#
+# Square bullet, non-spacing blank
+# Mapping U+fffd to the square bullet means it is the substitution
+# character
+#
+0xfe U+25a0 U+fffd
+0xff U+00a0
diff --git a/consoletrans/cp850_to_iso01.trans b/consoletrans/cp850_to_iso01.trans
new file mode 100644
index 0000000..61f2a05
--- /dev/null
+++ b/consoletrans/cp850_to_iso01.trans
@@ -0,0 +1,99 @@
+#
+# this file allows using a cp850 encoded font to display iso-8859-1
+# usage: setfont -m cp850_to_iso01.trans -u iso01.uni fontname
+#
+0xa0 0xff
+0xa1 0xad
+0xa2 0xbd
+0xa3 0x9c
+0xa4 0xcf
+0xa5 0xbe
+0xa6 0xdd
+0xa8 0xf9
+0xa9 0xb8
+0xaa 0xa6
+0xab 0xae
+0xac 0xaa
+0xad 0xf0
+0xae 0xa9
+0xaf 0xee
+0xb0 0xf8
+0xb1 0xf1
+0xb2 0xfd
+0xb3 0xfc
+0xb4 0xef
+0xb5 0xe6
+0xb6 0x14
+0xb7 0xfa
+0xb8 0xf7
+0xb9 0xfb
+0xba 0xa7
+0xbb 0xaf
+0xbc 0xac
+0xbd 0xab
+0xbe 0xf3
+0xbf 0xa8
+0xc0 0xb7
+0xc1 0xb5
+0xc2 0xb6
+0xc3 0xc7
+0xc4 0x8e
+0xc5 0x8f
+0xc6 0x92
+0xc7 0x80
+0xc8 0xd4
+0xc9 0x90
+0xca 0xd2
+0xcb 0xd3
+0xcc 0xde
+0xcd 0xd6
+0xce 0xd7
+0xcf 0xd8
+0xd0 0xd1
+0xd1 0xa5
+0xd2 0xe3
+0xd3 0xe0
+0xd4 0xe2
+0xd5 0xe5
+0xd6 0x99
+0xd7 0x9e
+0xd8 0x9d
+0xd9 0xeb
+0xda 0xe9
+0xdb 0xea
+0xdc 0x9a
+0xdd 0xed
+0xde 0xe8
+0xdf 0xe1
+0xe0 0x85
+0xe1 0xa0
+0xe2 0x83
+0xe3 0xc6
+0xe4 0x84
+0xe5 0x86
+0xe6 0x91
+0xe7 0x87
+0xe8 0x8a
+0xe9 0x82
+0xea 0x88
+0xeb 0x89
+0xec 0x8d
+0xed 0xa1
+0xee 0x8c
+0xef 0x8b
+0xf0 0xd0
+0xf1 0xa4
+0xf2 0x95
+0xf3 0xa2
+0xf4 0x93
+0xf5 0xe4
+0xf6 0x94
+0xf7 0xf6
+0xf8 0x9b
+0xf9 0x97
+0xfa 0xa3
+0xfb 0x96
+0xfc 0x81
+0xfd 0xec
+0xfe 0xe7
+0xff 0x98
diff --git a/consoletrans/cp850b.sfm b/consoletrans/cp850b.sfm
new file mode 100644
index 0000000..3da7c78
--- /dev/null
+++ b/consoletrans/cp850b.sfm
@@ -0,0 +1,285 @@
+#
+# This is a modified IBM CP850; whith the glyphs that changed between
+# iso-8859-1 and iso-8859-15 changed the same way; so by hacking a little
+# a cp850 font we can change those eight glyphs and have a nice font to
+# use to display iso-8859-15
+#
+# usage: setfont -m cp850_to_iso01.trans -u cp850b.uni fontname
+#
+0x00 U+0000
+0x01 U+263a
+0x02 U+263b
+0x03 U+2665
+0x04 U+2666 U+25c6
+0x05 U+2663
+0x06 U+2660
+0x07 U+2022
+0x08 U+25d8
+0x09 U+25cb
+0x0a U+25d9
+0x0b U+2642
+0x0c U+2640
+0x0d U+266a
+0x0e U+266b
+0x0f U+263c
+0x10 U+25b6 U+25ba
+0x11 U+25c0 U+25c4
+0x12 U+2195
+0x13 U+203c
+0x14 U+00b6
+0x15 U+00a7
+0x16 U+25ac
+0x17 U+21a8
+0x18 U+2191
+0x19 U+2193
+0x1a U+2192
+0x1b U+2190
+0x1c U+221f
+0x1d U+2194
+0x1e U+25b2
+0x1f U+25bc
+#
+# The ASCII range is identity-mapped, but some of the characters also
+# have to act as substitutes, especially the upper-case characters.
+#
+0x20 U+0020
+0x21 U+0021
+0x22 U+0022 U+00a8
+0x23 U+0023
+0x24 U+0024
+0x25 U+0025
+0x26 U+0026
+0x27 U+0027
+0x28 U+0028
+0x29 U+0029
+0x2a U+002a
+0x2b U+002b
+0x2c U+002c U+00b8
+0x2d U+002d U+00ad
+0x2e U+002e
+0x2f U+002f
+0x30 U+0030
+0x31 U+0031
+0x32 U+0032
+0x33 U+0033
+0x34 U+0034
+0x35 U+0035
+0x36 U+0036
+0x37 U+0037
+0x38 U+0038
+0x39 U+0039
+0x3a U+003a
+0x3b U+003b
+0x3c U+003c
+0x3d U+003d
+0x3e U+003e
+0x3f U+003f
+0x40 U+0040
+0x41 U+0041
+0x42 U+0042
+0x43 U+0043
+0x44 U+0044
+0x45 U+0045
+0x46 U+0046
+0x47 U+0047
+0x48 U+0048
+0x49 U+0049
+0x4a U+004a
+0x4b U+004b U+212a
+0x4c U+004c
+0x4d U+004d
+0x4e U+004e
+0x4f U+004f
+0x50 U+0050
+0x51 U+0051
+0x52 U+0052
+0x53 U+0053
+0x54 U+0054
+0x55 U+0055
+0x56 U+0056
+0x57 U+0057
+0x58 U+0058
+0x59 U+0059
+0x5a U+005a
+0x5b U+005b
+0x5c U+005c
+0x5d U+005d
+0x5e U+005e
+0x5f U+005f U+f804
+0x60 U+0060
+0x61 U+0061
+0x62 U+0062
+0x63 U+0063
+0x64 U+0064
+0x65 U+0065
+0x66 U+0066
+0x67 U+0067
+0x68 U+0068
+0x69 U+0069
+0x6a U+006a
+0x6b U+006b
+0x6c U+006c
+0x6d U+006d
+0x6e U+006e
+0x6f U+006f
+0x70 U+0070
+0x71 U+0071
+0x72 U+0072
+0x73 U+0073
+0x74 U+0074
+0x75 U+0075
+0x76 U+0076
+0x77 U+0077
+0x78 U+0078
+0x79 U+0079
+0x7a U+007a
+0x7b U+007b
+0x7c U+007c
+0x7d U+007d
+0x7e U+007e
+#
+# Okay, what on Earth is this one supposed to be used for?
+#
+0x7f U+2302
+#
+# Non-English characters, mostly lower case letters...
+#
+0x80 U+00c7
+0x81 U+00fc
+0x82 U+00e9
+0x83 U+00e2
+0x84 U+00e4
+0x85 U+00e0
+0x86 U+00e5
+0x87 U+00e7
+0x88 U+00ea
+0x89 U+00eb
+0x8a U+00e8
+0x8b U+00ef
+0x8c U+00ee
+0x8d U+00ec
+0x8e U+00c4
+0x8f U+00c5 U+212b
+0x90 U+00c9
+0x91 U+00e6
+0x92 U+00c6
+0x93 U+00f4
+0x94 U+00f6
+0x95 U+00f2
+0x96 U+00fb
+0x97 U+00f9
+0x98 U+00ff
+0x99 U+00d6
+0x9a U+00dc
+0x9b U+00f8
+0x9c U+00a3
+0x9d U+00d8
+0x9e U+00d7
+0x9f U+0192
+0xa0 U+00e1
+0xa1 U+00ed
+0xa2 U+00f3
+0xa3 U+00fa
+0xa4 U+00f1
+0xa5 U+00d1
+0xa6 U+00aa
+0xa7 U+00ba
+0xa8 U+00bf
+0xa9 U+00ae
+0xaa U+00ac
+0xab U+0153
+0xac U+0152
+0xad U+00a1
+0xae U+00ab
+0xaf U+00bb
+#
+# Block graphics
+#
+0xb0 U+2591
+0xb1 U+2592
+0xb2 U+2593
+0xb3 U+2502
+0xb4 U+2524
+0xb5 U+00c1
+0xb6 U+00c2
+0xb7 U+00c0
+0xb8 U+00a9
+0xb9 U+2563
+0xba U+2551
+0xbb U+2557
+0xbc U+255d
+0xbd U+00a2
+0xbe U+00a5
+0xbf U+2510
+0xc0 U+2514
+0xc1 U+2534
+0xc2 U+252c
+0xc3 U+251c
+0xc4 U+2500
+0xc5 U+253c
+0xc6 U+00e3
+0xc7 U+00c3
+0xc8 U+255a
+0xc9 U+2554
+0xca U+2569
+0xcb U+2566
+0xcc U+2560
+0xcd U+2550
+0xce U+256c
+0xcf U+00a4
+0xd0 U+00f0
+0xd1 U+00d0
+0xd2 U+00ca
+0xd3 U+00cb
+0xd4 U+00c8
+0xd5 U+20ac
+0xd6 U+00cd
+0xd7 U+00ce
+0xd8 U+00cf
+0xd9 U+2518
+0xda U+250c
+0xdb U+2588
+0xdc U+2584
+0xdd U+0160
+0xde U+00cc
+0xdf U+2580
+#
+# Greek letters and mathematical symbols
+#
+0xe0 U+00d3
+0xe1 U+03b2 U+00df
+0xe2 U+00d4
+0xe3 U+00d2
+0xe4 U+00f5
+0xe5 U+00d5
+0xe6 U+00b5 U+03bc
+0xe7 U+00fe
+0xe8 U+00de
+0xe9 U+00da
+0xea U+00db
+0xeb U+00d9
+0xec U+00fd
+0xed U+00dd
+0xee U+03b5
+0xef U+017d
+0xf0 U+2261
+0xf1 U+00b1
+0xf2 U+2265
+0xf3 U+0178
+0xf4 U+2320
+0xf5 U+2321
+0xf6 U+00f7
+0xf7 U+017e
+0xf8 U+00b0
+0xf9 U+0161
+0xfa U+00b7
+0xfb U+00b9
+0xfc U+00b3
+0xfd U+00b2
+#
+# Square bullet, non-spacing blank
+# Mapping U+fffd to the square bullet means it is the substitution
+# character
+#
+0xfe U+25a0 U+fffd
+0xff U+00a0
diff --git a/consoletrans/cp857.acm b/consoletrans/cp857.acm
new file mode 100644
index 0000000..4f254ea
--- /dev/null
+++ b/consoletrans/cp857.acm
@@ -0,0 +1,273 @@
+#
+# Name: cp857_DOSTurkish to Unicode table
+# Unicode version: 2.0
+# Table version: 2.00
+# Table format: Format A
+# Date: 04/24/96
+# Authors: Lori Brownell <loribr@microsoft.com>
+# K.D. Chang <a-kchang@microsoft.com>
+# General notes: none
+#
+# Format: Three tab-separated columns
+# Column #1 is the cp857_DOSTurkish code (in hex)
+# Column #2 is the Unicode (in hex as 0xXXXX)
+# Column #3 is the Unicode name (follows a comment sign, '#')
+#
+# The entries are in cp857_DOSTurkish order
+#
+0x00 U+0000 #NULL
+0x01 U+0001 #START OF HEADING
+0x02 U+0002 #START OF TEXT
+0x03 U+0003 #END OF TEXT
+0x04 U+0004 #END OF TRANSMISSION
+0x05 U+0005 #ENQUIRY
+0x06 U+0006 #ACKNOWLEDGE
+0x07 U+0007 #BELL
+0x08 U+0008 #BACKSPACE
+0x09 U+0009 #HORIZONTAL TABULATION
+0x0a U+000a #LINE FEED
+0x0b U+000b #VERTICAL TABULATION
+0x0c U+000c #FORM FEED
+0x0d U+000d #CARRIAGE RETURN
+0x0e U+000e #SHIFT OUT
+0x0f U+000f #SHIFT IN
+0x10 U+0010 #DATA LINK ESCAPE
+0x11 U+0011 #DEVICE CONTROL ONE
+0x12 U+0012 #DEVICE CONTROL TWO
+0x13 U+0013 #DEVICE CONTROL THREE
+0x14 U+0014 #DEVICE CONTROL FOUR
+0x15 U+0015 #NEGATIVE ACKNOWLEDGE
+0x16 U+0016 #SYNCHRONOUS IDLE
+0x17 U+0017 #END OF TRANSMISSION BLOCK
+0x18 U+0018 #CANCEL
+0x19 U+0019 #END OF MEDIUM
+0x1a U+001a #SUBSTITUTE
+0x1b U+001b #ESCAPE
+0x1c U+001c #FILE SEPARATOR
+0x1d U+001d #GROUP SEPARATOR
+0x1e U+001e #RECORD SEPARATOR
+0x1f U+001f #UNIT SEPARATOR
+0x20 U+0020 #SPACE
+0x21 U+0021 #EXCLAMATION MARK
+0x22 U+0022 #QUOTATION MARK
+0x23 U+0023 #NUMBER SIGN
+0x24 U+0024 #DOLLAR SIGN
+0x25 U+0025 #PERCENT SIGN
+0x26 U+0026 #AMPERSAND
+0x27 U+0027 #APOSTROPHE
+0x28 U+0028 #LEFT PARENTHESIS
+0x29 U+0029 #RIGHT PARENTHESIS
+0x2a U+002a #ASTERISK
+0x2b U+002b #PLUS SIGN
+0x2c U+002c #COMMA
+0x2d U+002d #HYPHEN-MINUS
+0x2e U+002e #FULL STOP
+0x2f U+002f #SOLIDUS
+0x30 U+0030 #DIGIT ZERO
+0x31 U+0031 #DIGIT ONE
+0x32 U+0032 #DIGIT TWO
+0x33 U+0033 #DIGIT THREE
+0x34 U+0034 #DIGIT FOUR
+0x35 U+0035 #DIGIT FIVE
+0x36 U+0036 #DIGIT SIX
+0x37 U+0037 #DIGIT SEVEN
+0x38 U+0038 #DIGIT EIGHT
+0x39 U+0039 #DIGIT NINE
+0x3a U+003a #COLON
+0x3b U+003b #SEMICOLON
+0x3c U+003c #LESS-THAN SIGN
+0x3d U+003d #EQUALS SIGN
+0x3e U+003e #GREATER-THAN SIGN
+0x3f U+003f #QUESTION MARK
+0x40 U+0040 #COMMERCIAL AT
+0x41 U+0041 #LATIN CAPITAL LETTER A
+0x42 U+0042 #LATIN CAPITAL LETTER B
+0x43 U+0043 #LATIN CAPITAL LETTER C
+0x44 U+0044 #LATIN CAPITAL LETTER D
+0x45 U+0045 #LATIN CAPITAL LETTER E
+0x46 U+0046 #LATIN CAPITAL LETTER F
+0x47 U+0047 #LATIN CAPITAL LETTER G
+0x48 U+0048 #LATIN CAPITAL LETTER H
+0x49 U+0049 #LATIN CAPITAL LETTER I
+0x4a U+004a #LATIN CAPITAL LETTER J
+0x4b U+004b #LATIN CAPITAL LETTER K
+0x4c U+004c #LATIN CAPITAL LETTER L
+0x4d U+004d #LATIN CAPITAL LETTER M
+0x4e U+004e #LATIN CAPITAL LETTER N
+0x4f U+004f #LATIN CAPITAL LETTER O
+0x50 U+0050 #LATIN CAPITAL LETTER P
+0x51 U+0051 #LATIN CAPITAL LETTER Q
+0x52 U+0052 #LATIN CAPITAL LETTER R
+0x53 U+0053 #LATIN CAPITAL LETTER S
+0x54 U+0054 #LATIN CAPITAL LETTER T
+0x55 U+0055 #LATIN CAPITAL LETTER U
+0x56 U+0056 #LATIN CAPITAL LETTER V
+0x57 U+0057 #LATIN CAPITAL LETTER W
+0x58 U+0058 #LATIN CAPITAL LETTER X
+0x59 U+0059 #LATIN CAPITAL LETTER Y
+0x5a U+005a #LATIN CAPITAL LETTER Z
+0x5b U+005b #LEFT SQUARE BRACKET
+0x5c U+005c #REVERSE SOLIDUS
+0x5d U+005d #RIGHT SQUARE BRACKET
+0x5e U+005e #CIRCUMFLEX ACCENT
+0x5f U+005f #LOW LINE
+0x60 U+0060 #GRAVE ACCENT
+0x61 U+0061 #LATIN SMALL LETTER A
+0x62 U+0062 #LATIN SMALL LETTER B
+0x63 U+0063 #LATIN SMALL LETTER C
+0x64 U+0064 #LATIN SMALL LETTER D
+0x65 U+0065 #LATIN SMALL LETTER E
+0x66 U+0066 #LATIN SMALL LETTER F
+0x67 U+0067 #LATIN SMALL LETTER G
+0x68 U+0068 #LATIN SMALL LETTER H
+0x69 U+0069 #LATIN SMALL LETTER I
+0x6a U+006a #LATIN SMALL LETTER J
+0x6b U+006b #LATIN SMALL LETTER K
+0x6c U+006c #LATIN SMALL LETTER L
+0x6d U+006d #LATIN SMALL LETTER M
+0x6e U+006e #LATIN SMALL LETTER N
+0x6f U+006f #LATIN SMALL LETTER O
+0x70 U+0070 #LATIN SMALL LETTER P
+0x71 U+0071 #LATIN SMALL LETTER Q
+0x72 U+0072 #LATIN SMALL LETTER R
+0x73 U+0073 #LATIN SMALL LETTER S
+0x74 U+0074 #LATIN SMALL LETTER T
+0x75 U+0075 #LATIN SMALL LETTER U
+0x76 U+0076 #LATIN SMALL LETTER V
+0x77 U+0077 #LATIN SMALL LETTER W
+0x78 U+0078 #LATIN SMALL LETTER X
+0x79 U+0079 #LATIN SMALL LETTER Y
+0x7a U+007a #LATIN SMALL LETTER Z
+0x7b U+007b #LEFT CURLY BRACKET
+0x7c U+007c #VERTICAL LINE
+0x7d U+007d #RIGHT CURLY BRACKET
+0x7e U+007e #TILDE
+0x7f U+007f #DELETE
+0x80 U+00c7 #LATIN CAPITAL LETTER C WITH CEDILLA
+0x81 U+00fc #LATIN SMALL LETTER U WITH DIAERESIS
+0x82 U+00e9 #LATIN SMALL LETTER E WITH ACUTE
+0x83 U+00e2 #LATIN SMALL LETTER A WITH CIRCUMFLEX
+0x84 U+00e4 #LATIN SMALL LETTER A WITH DIAERESIS
+0x85 U+00e0 #LATIN SMALL LETTER A WITH GRAVE
+0x86 U+00e5 #LATIN SMALL LETTER A WITH RING ABOVE
+0x87 U+00e7 #LATIN SMALL LETTER C WITH CEDILLA
+0x88 U+00ea #LATIN SMALL LETTER E WITH CIRCUMFLEX
+0x89 U+00eb #LATIN SMALL LETTER E WITH DIAERESIS
+0x8a U+00e8 #LATIN SMALL LETTER E WITH GRAVE
+0x8b U+00ef #LATIN SMALL LETTER I WITH DIAERESIS
+0x8c U+00ee #LATIN SMALL LETTER I WITH CIRCUMFLEX
+0x8d U+0131 #LATIN SMALL LETTER DOTLESS I
+0x8e U+00c4 #LATIN CAPITAL LETTER A WITH DIAERESIS
+0x8f U+00c5 #LATIN CAPITAL LETTER A WITH RING ABOVE
+0x90 U+00c9 #LATIN CAPITAL LETTER E WITH ACUTE
+0x91 U+00e6 #LATIN SMALL LIGATURE AE
+0x92 U+00c6 #LATIN CAPITAL LIGATURE AE
+0x93 U+00f4 #LATIN SMALL LETTER O WITH CIRCUMFLEX
+0x94 U+00f6 #LATIN SMALL LETTER O WITH DIAERESIS
+0x95 U+00f2 #LATIN SMALL LETTER O WITH GRAVE
+0x96 U+00fb #LATIN SMALL LETTER U WITH CIRCUMFLEX
+0x97 U+00f9 #LATIN SMALL LETTER U WITH GRAVE
+0x98 U+0130 #LATIN CAPITAL LETTER I WITH DOT ABOVE
+0x99 U+00d6 #LATIN CAPITAL LETTER O WITH DIAERESIS
+0x9a U+00dc #LATIN CAPITAL LETTER U WITH DIAERESIS
+0x9b U+00f8 #LATIN SMALL LETTER O WITH STROKE
+0x9c U+00a3 #POUND SIGN
+0x9d U+00d8 #LATIN CAPITAL LETTER O WITH STROKE
+0x9e U+015e #LATIN CAPITAL LETTER S WITH CEDILLA
+0x9f U+015f #LATIN SMALL LETTER S WITH CEDILLA
+0xa0 U+00e1 #LATIN SMALL LETTER A WITH ACUTE
+0xa1 U+00ed #LATIN SMALL LETTER I WITH ACUTE
+0xa2 U+00f3 #LATIN SMALL LETTER O WITH ACUTE
+0xa3 U+00fa #LATIN SMALL LETTER U WITH ACUTE
+0xa4 U+00f1 #LATIN SMALL LETTER N WITH TILDE
+0xa5 U+00d1 #LATIN CAPITAL LETTER N WITH TILDE
+0xa6 U+011e #LATIN CAPITAL LETTER G WITH BREVE
+0xa7 U+011f #LATIN SMALL LETTER G WITH BREVE
+0xa8 U+00bf #INVERTED QUESTION MARK
+0xa9 U+00ae #REGISTERED SIGN
+0xaa U+00ac #NOT SIGN
+0xab U+00bd #VULGAR FRACTION ONE HALF
+0xac U+00bc #VULGAR FRACTION ONE QUARTER
+0xad U+00a1 #INVERTED EXCLAMATION MARK
+0xae U+00ab #LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xaf U+00bb #RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xb0 U+2591 #LIGHT SHADE
+0xb1 U+2592 #MEDIUM SHADE
+0xb2 U+2593 #DARK SHADE
+0xb3 U+2502 #BOX DRAWINGS LIGHT VERTICAL
+0xb4 U+2524 #BOX DRAWINGS LIGHT VERTICAL AND LEFT
+0xb5 U+00c1 #LATIN CAPITAL LETTER A WITH ACUTE
+0xb6 U+00c2 #LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+0xb7 U+00c0 #LATIN CAPITAL LETTER A WITH GRAVE
+0xb8 U+00a9 #COPYRIGHT SIGN
+0xb9 U+2563 #BOX DRAWINGS DOUBLE VERTICAL AND LEFT
+0xba U+2551 #BOX DRAWINGS DOUBLE VERTICAL
+0xbb U+2557 #BOX DRAWINGS DOUBLE DOWN AND LEFT
+0xbc U+255d #BOX DRAWINGS DOUBLE UP AND LEFT
+0xbd U+00a2 #CENT SIGN
+0xbe U+00a5 #YEN SIGN
+0xbf U+2510 #BOX DRAWINGS LIGHT DOWN AND LEFT
+0xc0 U+2514 #BOX DRAWINGS LIGHT UP AND RIGHT
+0xc1 U+2534 #BOX DRAWINGS LIGHT UP AND HORIZONTAL
+0xc2 U+252c #BOX DRAWINGS LIGHT DOWN AND HORIZONTAL
+0xc3 U+251c #BOX DRAWINGS LIGHT VERTICAL AND RIGHT
+0xc4 U+2500 #BOX DRAWINGS LIGHT HORIZONTAL
+0xc5 U+253c #BOX DRAWINGS LIGHT VERTICAL AND HORIZONTAL
+0xc6 U+00e3 #LATIN SMALL LETTER A WITH TILDE
+0xc7 U+00c3 #LATIN CAPITAL LETTER A WITH TILDE
+0xc8 U+255a #BOX DRAWINGS DOUBLE UP AND RIGHT
+0xc9 U+2554 #BOX DRAWINGS DOUBLE DOWN AND RIGHT
+0xca U+2569 #BOX DRAWINGS DOUBLE UP AND HORIZONTAL
+0xcb U+2566 #BOX DRAWINGS DOUBLE DOWN AND HORIZONTAL
+0xcc U+2560 #BOX DRAWINGS DOUBLE VERTICAL AND RIGHT
+0xcd U+2550 #BOX DRAWINGS DOUBLE HORIZONTAL
+0xce U+256c #BOX DRAWINGS DOUBLE VERTICAL AND HORIZONTAL
+0xcf U+00a4 #CURRENCY SIGN
+0xd0 U+00ba #MASCULINE ORDINAL INDICATOR
+0xd1 U+00aa #FEMININE ORDINAL INDICATOR
+0xd2 U+00ca #LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+0xd3 U+00cb #LATIN CAPITAL LETTER E WITH DIAERESIS
+0xd4 U+00c8 #LATIN CAPITAL LETTER E WITH GRAVE
+0xd5 #UNDEFINED
+0xd6 U+00cd #LATIN CAPITAL LETTER I WITH ACUTE
+0xd7 U+00ce #LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+0xd8 U+00cf #LATIN CAPITAL LETTER I WITH DIAERESIS
+0xd9 U+2518 #BOX DRAWINGS LIGHT UP AND LEFT
+0xda U+250c #BOX DRAWINGS LIGHT DOWN AND RIGHT
+0xdb U+2588 #FULL BLOCK
+0xdc U+2584 #LOWER HALF BLOCK
+0xdd U+00a6 #BROKEN BAR
+0xde U+00cc #LATIN CAPITAL LETTER I WITH GRAVE
+0xdf U+2580 #UPPER HALF BLOCK
+0xe0 U+00d3 #LATIN CAPITAL LETTER O WITH ACUTE
+0xe1 U+00df #LATIN SMALL LETTER SHARP S
+0xe2 U+00d4 #LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+0xe3 U+00d2 #LATIN CAPITAL LETTER O WITH GRAVE
+0xe4 U+00f5 #LATIN SMALL LETTER O WITH TILDE
+0xe5 U+00d5 #LATIN CAPITAL LETTER O WITH TILDE
+0xe6 U+00b5 #MICRO SIGN
+0xe7 #UNDEFINED
+0xe8 U+00d7 #MULTIPLICATION SIGN
+0xe9 U+00da #LATIN CAPITAL LETTER U WITH ACUTE
+0xea U+00db #LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+0xeb U+00d9 #LATIN CAPITAL LETTER U WITH GRAVE
+0xec U+00ec #LATIN SMALL LETTER I WITH GRAVE
+0xed U+00ff #LATIN SMALL LETTER Y WITH DIAERESIS
+0xee U+00af #MACRON
+0xef U+00b4 #ACUTE ACCENT
+0xf0 U+00ad #SOFT HYPHEN
+0xf1 U+00b1 #PLUS-MINUS SIGN
+0xf2 #UNDEFINED
+0xf3 U+00be #VULGAR FRACTION THREE QUARTERS
+0xf4 U+00b6 #PILCROW SIGN
+0xf5 U+00a7 #SECTION SIGN
+0xf6 U+00f7 #DIVISION SIGN
+0xf7 U+00b8 #CEDILLA
+0xf8 U+00b0 #DEGREE SIGN
+0xf9 U+00a8 #DIAERESIS
+0xfa U+00b7 #MIDDLE DOT
+0xfb U+00b9 #SUPERSCRIPT ONE
+0xfc U+00b3 #SUPERSCRIPT THREE
+0xfd U+00b2 #SUPERSCRIPT TWO
+0xfe U+25a0 #BLACK SQUARE
+0xff U+00a0 #NO-BREAK SPACE
diff --git a/consoletrans/cp866.acm b/consoletrans/cp866.acm
new file mode 100644
index 0000000..752528e
--- /dev/null
+++ b/consoletrans/cp866.acm
@@ -0,0 +1,224 @@
+# Made by makeacm script (c) 1999 by Victor Wagner <vitus@ice.ru>
+0x21 '!'
+0x22 '"'
+0x23 U+0023
+0x24 '$'
+0x25 '%'
+0x26 '&'
+0x27 '''
+0x28 '('
+0x29 ')'
+0x2a '*'
+0x2b '+'
+0x2c ','
+0x2d '-'
+0x2e '.'
+0x2f '/'
+0x30 '0'
+0x31 '1'
+0x32 '2'
+0x33 '3'
+0x34 '4'
+0x35 '5'
+0x36 '6'
+0x37 '7'
+0x38 '8'
+0x39 '9'
+0x3a ':'
+0x3b ';'
+0x3c '<'
+0x3d '='
+0x3e '>'
+0x3f '?'
+0x40 '@'
+0x41 'A'
+0x42 'B'
+0x43 'C'
+0x44 'D'
+0x45 'E'
+0x46 'F'
+0x47 'G'
+0x48 'H'
+0x49 'I'
+0x4a 'J'
+0x4b 'K'
+0x4c 'L'
+0x4d 'M'
+0x4e 'N'
+0x4f 'O'
+0x50 'P'
+0x51 'Q'
+0x52 'R'
+0x53 'S'
+0x54 'T'
+0x55 'U'
+0x56 'V'
+0x57 'W'
+0x58 'X'
+0x59 'Y'
+0x5a 'Z'
+0x5b '['
+0x5c '\'
+0x5d ']'
+0x5e '^'
+0x5f '_'
+0x60 '`'
+0x61 'a'
+0x62 'b'
+0x63 'c'
+0x64 'd'
+0x65 'e'
+0x66 'f'
+0x67 'g'
+0x68 'h'
+0x69 'i'
+0x6a 'j'
+0x6b 'k'
+0x6c 'l'
+0x6d 'm'
+0x6e 'n'
+0x6f 'o'
+0x70 'p'
+0x71 'q'
+0x72 'r'
+0x73 's'
+0x74 't'
+0x75 'u'
+0x76 'v'
+0x77 'w'
+0x78 'x'
+0x79 'y'
+0x7a 'z'
+0x7b '{'
+0x7c '|'
+0x7d '}'
+0x7e '~'
+0x7f ''
+0x80 'Ð'
+0x81 'Б'
+0x82 'Ð’'
+0x83 'Г'
+0x84 'Д'
+0x85 'Е'
+0x86 'Ж'
+0x87 'З'
+0x88 'И'
+0x89 'Й'
+0x8a 'К'
+0x8b 'Л'
+0x8c 'М'
+0x8d 'Ð'
+0x8e 'О'
+0x8f 'П'
+0x90 'Р'
+0x91 'С'
+0x92 'Т'
+0x93 'У'
+0x94 'Ф'
+0x95 'Ð¥'
+0x96 'Ц'
+0x97 'Ч'
+0x98 'Ш'
+0x99 'Щ'
+0x9a 'Ъ'
+0x9b 'Ы'
+0x9c 'Ь'
+0x9d 'Э'
+0x9e 'Ю'
+0x9f 'Я'
+0xa0 'а'
+0xa1 'б'
+0xa2 'в'
+0xa3 'г'
+0xa4 'д'
+0xa5 'е'
+0xa6 'ж'
+0xa7 'з'
+0xa8 'и'
+0xa9 'й'
+0xaa 'к'
+0xab 'л'
+0xac 'м'
+0xad 'н'
+0xae 'о'
+0xaf 'п'
+0xb0 '?'
+0xb1 'â–’'
+0xb2 '?'
+0xb3 '│'
+0xb4 '┤'
+0xb5 'â•¡'
+0xb6 '?'
+0xb7 '?'
+0xb8 '?'
+0xb9 '?'
+0xba '?'
+0xbb '?'
+0xbc '?'
+0xbd '?'
+0xbe '?'
+0xbf 'â”'
+0xc0 'â””'
+0xc1 'â”´'
+0xc2 '┬'
+0xc3 '├'
+0xc4 '─'
+0xc5 '┼'
+0xc6 'â•ž'
+0xc7 '?'
+0xc8 '?'
+0xc9 '?'
+0xca '?'
+0xcb '?'
+0xcc '?'
+0xcd 'â•'
+0xce '?'
+0xcf '?'
+0xd0 '?'
+0xd1 '?'
+0xd2 '?'
+0xd3 '?'
+0xd4 '?'
+0xd5 '?'
+0xd6 '?'
+0xd7 '?'
+0xd8 '╪'
+0xd9 '┘'
+0xda '┌'
+0xdb 'â–ˆ'
+0xdc 'â–„'
+0xdd '▌'
+0xde '?'
+0xdf '?'
+0xe0 'Ñ€'
+0xe1 'Ñ'
+0xe2 'Ñ‚'
+0xe3 'у'
+0xe4 'Ñ„'
+0xe5 'Ñ…'
+0xe6 'ц'
+0xe7 'ч'
+0xe8 'ш'
+0xe9 'щ'
+0xea 'ÑŠ'
+0xeb 'Ñ‹'
+0xec 'ь'
+0xed 'Ñ'
+0xee 'ÑŽ'
+0xef 'Ñ'
+0xf0 'Ð'
+0xf1 'Ñ‘'
+0xf2 'Є'
+0xf3 'Ñ”'
+0xf4 'Ї'
+0xf5 'Ñ—'
+0xf6 'ÐŽ'
+0xf7 'Ñž'
+0xf8 '°'
+0xf9 '?'
+0xfa '·'
+0xfb '√'
+0xfc 'â„–'
+0xfd '¤'
+0xfe 'â– '
+0xff ' '
diff --git a/consoletrans/cp866.sfm b/consoletrans/cp866.sfm
new file mode 100644
index 0000000..b200203
--- /dev/null
+++ b/consoletrans/cp866.sfm
@@ -0,0 +1,292 @@
+0x00 U+0000
+0x00 U+fffd
+0x01 U+0001
+0x01 U+263a
+0x02 U+0002
+0x02 U+263b
+0x03 U+0003
+0x03 U+2665
+0x04 U+0004
+0x04 U+2666
+0x05 U+0005
+0x05 U+2663
+0x06 U+0006
+0x06 U+2660
+0x07 U+0007
+0x07 U+2022
+0x08 U+0008
+0x08 U+25d8
+0x09 U+0009
+0x09 U+25cb
+0x0a U+000a
+0x0a U+25d9
+0x0b U+000b
+0x0b U+2642
+0x0c U+000c
+0x0c U+2640
+0x0d U+000d
+0x0d U+266a
+0x0e U+000e
+0x0e U+266b
+0x0e U+266c
+0x0f U+000f
+0x0f U+263c
+0x10 U+0010
+0x10 U+25b6
+0x10 U+25ba
+0x11 U+0011
+0x11 U+25c0
+0x11 U+25c4
+0x12 U+0012
+0x12 U+2195
+0x13 U+0013
+0x13 U+203c
+0x14 U+0014
+0x14 U+00b6
+0x15 U+0015
+0x15 U+00a7
+0x16 U+0016
+0x16 U+25ac
+0x17 U+0017
+0x17 U+21a8
+0x18 U+0018
+0x18 U+2191
+0x19 U+0019
+0x19 U+2193
+0x1a U+001a
+0x1a U+2192
+0x1b U+001b
+0x1b U+2190
+0x1c U+001c
+0x1c U+221f
+0x1c U+2319
+0x1d U+001d
+0x1d U+2194
+0x1e U+001e
+0x1e U+25b2
+0x1f U+001f
+0x1f U+25bc
+0x20 U+0020
+0x21 U+0021
+0x22 U+0022
+0x23 U+0023
+0x24 U+0024
+0x25 U+0025
+0x26 U+0026
+0x27 U+0027
+0x28 U+0028
+0x29 U+0029
+0x2a U+002a
+0x2b U+002b
+0x2c U+002c
+0x2d U+002d
+0x2e U+002e
+0x2f U+002f
+0x30 U+0030
+0x31 U+0031
+0x32 U+0032
+0x33 U+0033
+0x34 U+0034
+0x35 U+0035
+0x36 U+0036
+0x37 U+0037
+0x38 U+0038
+0x39 U+0039
+0x3a U+003a
+0x3b U+003b
+0x3c U+003c
+0x3d U+003d
+0x3e U+003e
+0x3f U+003f
+0x40 U+0040
+0x41 U+0041
+0x42 U+0042
+0x43 U+0043
+0x44 U+0044
+0x45 U+0045
+0x46 U+0046
+0x47 U+0047
+0x48 U+0048
+0x49 U+0049
+0x4a U+004a
+0x4b U+004b
+0x4c U+004c
+0x4d U+004d
+0x4e U+004e
+0x4f U+004f
+0x50 U+0050
+0x51 U+0051
+0x52 U+0052
+0x53 U+0053
+0x54 U+0054
+0x55 U+0055
+0x56 U+0056
+0x57 U+0057
+0x58 U+0058
+0x59 U+0059
+0x5a U+005a
+0x5b U+005b
+0x5c U+005c
+0x5d U+005d
+0x5e U+005e
+0x5f U+005f
+0x60 U+0060
+0x61 U+0061
+0x62 U+0062
+0x63 U+0063
+0x64 U+0064
+0x65 U+0065
+0x66 U+0066
+0x67 U+0067
+0x68 U+0068
+0x69 U+0069
+0x6a U+006a
+0x6b U+006b
+0x6c U+006c
+0x6d U+006d
+0x6e U+006e
+0x6f U+006f
+0x70 U+0070
+0x71 U+0071
+0x72 U+0072
+0x73 U+0073
+0x74 U+0074
+0x75 U+0075
+0x76 U+0076
+0x77 U+0077
+0x78 U+0078
+0x79 U+0079
+0x7a U+007a
+0x7b U+007b
+0x7c U+007c
+0x7d U+007d
+0x7e U+007e
+0x7f U+007f
+0x80 U+0410
+0x81 U+0411
+0x82 U+0412
+0x83 U+0413
+0x84 U+0414
+0x85 U+0415
+0x86 U+0416
+0x87 U+0417
+0x88 U+0418
+0x89 U+0419
+0x8a U+041a
+0x8b U+041b
+0x8c U+041c
+0x8d U+041d
+0x8e U+041e
+0x8f U+041f
+0x90 U+0420
+0x91 U+0421
+0x92 U+0422
+0x93 U+0423
+0x94 U+0424
+0x95 U+0425
+0x96 U+0426
+0x97 U+0427
+0x98 U+0428
+0x99 U+0429
+0x9a U+042a
+0x9b U+042b
+0x9c U+042c
+0x9d U+042d
+0x9e U+042e
+0x9f U+042f
+0xa0 U+0430
+0xa1 U+0431
+0xa2 U+0432
+0xa3 U+0433
+0xa4 U+0434
+0xa5 U+0435
+0xa6 U+0436
+0xa7 U+0437
+0xa8 U+0438
+0xa9 U+0439
+0xaa U+043a
+0xab U+043b
+0xac U+043c
+0xad U+043d
+0xae U+043e
+0xaf U+043f
+0xb0 U+2591
+0xb1 U+2592
+0xb2 U+2593
+0xb3 U+2502
+0xb4 U+2524
+0xb5 U+2561
+0xb6 U+2562
+0xb7 U+2556
+0xb8 U+2555
+0xb9 U+2563
+0xba U+2551
+0xbb U+2557
+0xbc U+255d
+0xbd U+255c
+0xbe U+255b
+0xbf U+2510
+0xc0 U+2514
+0xc1 U+2534
+0xc2 U+252c
+0xc3 U+251c
+0xc4 U+2500
+0xc5 U+253c
+0xc6 U+255e
+0xc7 U+255f
+0xc8 U+255a
+0xc9 U+2554
+0xca U+2569
+0xcb U+2566
+0xcc U+2560
+0xcd U+2550
+0xce U+256c
+0xcf U+2567
+0xd0 U+2568
+0xd1 U+2564
+0xd2 U+2565
+0xd3 U+2559
+0xd4 U+2558
+0xd5 U+2552
+0xd6 U+2553
+0xd7 U+256b
+0xd8 U+256a
+0xd9 U+2518
+0xda U+250c
+0xdb U+2588
+0xdc U+2584
+0xdd U+258c
+0xde U+2590
+0xdf U+2580
+0xe0 U+0440
+0xe1 U+0441
+0xe2 U+0442
+0xe3 U+0443
+0xe4 U+0444
+0xe5 U+0445
+0xe6 U+0446
+0xe7 U+0447
+0xe8 U+0448
+0xe9 U+0449
+0xea U+044a
+0xeb U+044b
+0xec U+044c
+0xed U+044d
+0xee U+044e
+0xef U+044f
+0xf0 U+0401
+0xf1 U+0451
+0xf2 U+0404
+0xf3 U+0454
+0xf4 U+0407
+0xf5 U+0457
+0xf6 U+040e
+0xf7 U+045e
+0xf8 U+00b0
+0xf9 U+2219
+0xfa U+00b7
+0xfb U+221a
+0xfc U+2116
+0xfd U+00a4
+0xfe U+25a0
+0xff U+00a0
diff --git a/consoletrans/def.sfm b/consoletrans/def.sfm
new file mode 100644
index 0000000..ed34310
--- /dev/null
+++ b/consoletrans/def.sfm
@@ -0,0 +1,175 @@
+0x00 U+2008
+0x01 U+263A
+0x02 U+263B
+0x03 U+2665
+0x04 U+2666
+0x05 U+2663
+0x06 U+2660
+0x07 U+2022
+0x08 U+25D8
+0x09 U+25CB
+0x0A U+25D9
+0x0B U+2642
+0x0C U+2640
+0x0D U+266A
+0x0E U+266B
+0x0E U+266C
+0x0F U+263C
+0x10 U+25B6
+0x10 U+25BA
+0x11 U+25C0
+0x11 U+25C4
+0x12 U+2195
+0x13 U+203C
+0x14 U+00B6
+0x15 U+00A7
+0x16 U+25AC
+0x17 U+21A8
+0x18 U+2191
+0x19 U+2193
+0x1A U+2192
+0x1B U+2190
+0x1C U+221F
+0x1C U+2319
+0x1D U+2194
+0x1E U+25B2
+0x1F U+25BC
+0x20-0x7E idem
+0x7F U+2302
+0x80 U+00C7
+0x81 U+00FC
+0x82 U+00E9
+0x83 U+00E2
+0x84 U+00E4
+0x85 U+00E0
+0x86 U+00E5
+0x87 U+00E7
+0x88 U+00EA
+0x89 U+00EB
+0x8A U+00E8
+0x8B U+00EF
+0x8C U+00EE
+0x8D U+00EC
+0x8E U+00C4
+0x8F U+00C5
+0x8F U+212B
+0x90 U+00C9
+0x91 U+00E6
+0x92 U+00C6
+0x93 U+00F4
+0x94 U+00F6
+0x95 U+00F2
+0x96 U+00FB
+0x97 U+00F9
+0x98 U+00FF
+0x99 U+00D6
+0x9A U+00DC
+0x9B U+00A2
+0x9C U+00A3
+0x9D U+00A5
+0x9E U+20A7
+0x9F U+0192
+0xA0 U+00E1
+0xA1 U+00ED
+0xA2 U+00F3
+0xA3 U+00FA
+0xA4 U+00F1
+0xA5 U+00D1
+0xA6 U+00AA
+0xA7 U+00BA
+0xA8 U+00BF
+0xA9 U+2310
+0xAA U+00AC
+0xAB U+00BD
+0xAC U+00BC
+0xAD U+00A1
+0xAE U+00AB
+0xAF U+00BB
+0xB0 U+2591
+0xB1 U+2592
+0xB2 U+2593
+0xB3 U+2502
+0xB4 U+2524
+0xB5 U+2561
+0xB6 U+2562
+0xB7 U+2556
+0xB8 U+2555
+0xB9 U+2563
+0xBA U+2551
+0xBB U+2557
+0xBC U+255D
+0xBD U+255C
+0xBE U+255B
+0xBF U+2510
+0xC0 U+2514
+0xC1 U+2534
+0xC2 U+252C
+0xC3 U+251C
+0xC4 U+2500
+0xC5 U+253C
+0xC6 U+255E
+0xC7 U+255F
+0xC8 U+255A
+0xC9 U+2554
+0xCA U+2569
+0xCB U+2566
+0xCC U+2560
+0xCD U+2550
+0xCE U+256C
+0xCF U+2567
+0xD0 U+2568
+0xD1 U+2564
+0xD2 U+2565
+0xD3 U+2559
+0xD4 U+2558
+0xD5 U+2552
+0xD6 U+2553
+0xD7 U+256B
+0xD8 U+256A
+0xD9 U+2518
+0xDA U+250C
+0xDB U+2588
+0xDC U+2584
+0xDD U+258C
+0xDE U+2590
+0xDF U+2580
+0xE0 U+03B1
+0xE1 U+00DF
+0xE1 U+03B2
+0xE2 U+0393
+0xE3 U+03C0
+0xE4 U+03A3
+0xE5 U+03C3
+0xE6 U+00B5
+0xE6 U+03BC
+0xE7 U+03C4
+0xE8 U+03A6
+0xE9 U+0398
+0xEA U+03A9
+0xEA U+2126
+0xEB U+03B4
+0xEC U+221E
+0xED U+03C6
+0xED U+2205
+0xED U+2300
+0xEE U+03B5
+0xEE U+2208
+0xEF U+2229
+0xF0 U+2261
+0xF1 U+00B1
+0xF2 U+2265
+0xF3 U+2264
+0xF4 U+2320
+0xF5 U+2321
+0xF6 U+00F7
+0xF7 U+2248
+0xF8 U+00B0
+0xF9 U+2219
+0xF9 U+22C5
+0xFA U+00B7
+0xFB U+221A
+0xFC U+207F
+0xFD U+00B2
+0xFE U+220E
+0xFE U+25A0
+0xFF U+00A0
diff --git a/consoletrans/ethiopic.sfm b/consoletrans/ethiopic.sfm
new file mode 100644
index 0000000..bea14b8
--- /dev/null
+++ b/consoletrans/ethiopic.sfm
@@ -0,0 +1,460 @@
+#
+# Unicode mapping table for ISO 8859-1 fonts with ISO 10646 Ethiopic
+# [use: unicode_start Agafari-16.psf ethiopic.uni]
+#
+
+#
+# ISO 8859-1 Mapping is from the iso01.uni file
+#
+0x20-0x7e idem
+0x7f U+2302
+# 0xa0-0xff idem
+0x00 U+fffd
+0x01 U+263A
+0x02 U+263B
+0x03 U+2665
+0x04 U+2666
+0x05 U+2663
+0x06 U+2660
+0x07 U+2022
+0x08 U+25D8
+0x09 U+25CB
+0x0A U+25D9
+0x0B U+2642
+0x0C U+2640
+0x0D U+266A
+0x0E U+266B
+0x0E U+266C
+0x0F U+263C
+0x10 U+25B6
+0x10 U+25BA
+0x11 U+25C0
+0x11 U+25C4
+0x12 U+2195
+0x13 U+203C
+0x14 U+00B6
+0x15 U+00A7
+0x16 U+25AC
+0x17 U+21A8
+0x18 U+2191
+0x19 U+2193
+0x1A U+2192
+0x1B U+2190
+0x1C U+221F
+0x1C U+2319
+0x1D U+2194
+0x1E U+25B2
+0x1F U+25BC
+
+
+#
+# Unicode mapping table for ISO 10646 Ethiopic
+#
+
+0x9F U+1200 # he
+0xA0 U+1201
+0xA1 U+1202
+0xA2 U+1203
+0xA3 U+1204
+0xA4 U+1205
+0xA5 U+1206
+
+0xA6 U+1208 # le
+0xA7 U+1209
+0xA8 U+120A
+0xA9 U+120B
+0xAA U+120C
+0xAB U+120D
+0xAC U+120E
+0xAD U+120F
+
+0xAE U+1210 # He
+0xAF U+1211
+0xB0 U+1212
+0xB1 U+1213
+0xB2 U+1214
+0xB3 U+1215
+0xB4 U+1216
+0xB5 U+1217
+
+0xB6 U+1218 # me
+0xB7 U+1219
+0xB8 U+121A
+0xB9 U+121B
+0xBA U+121C
+0xBB U+121D
+0xBC U+121E
+0xBD U+121F
+
+0xBE U+1220 # `se
+0xBF U+1221
+0xC0 U+1222
+0xC1 U+1223
+0xC2 U+1224
+0xC3 U+1225
+0xC4 U+1226
+0xC5 U+1227
+
+0xC6 U+1228 # re
+0xC7 U+1229
+0xC8 U+122A
+0xC9 U+122B
+0xCA U+122C
+0xCB U+122D
+0xCC U+122E
+0xCD U+122F
+
+0xCE U+1230 # se
+0xCF U+1231
+0xD0 U+1232
+0xD1 U+1233
+0xD2 U+1234
+0xD3 U+1235
+0xD4 U+1236
+0xD5 U+1237
+
+0xD6 U+1238 # xe
+0xD7 U+1239
+0xD8 U+123A
+0xD9 U+123B
+0xDA U+123C
+0xDB U+123D
+0xDC U+123E
+0xDD U+123F
+
+0xDE U+1240 # qe
+0xDF U+1241
+0xE0 U+1242
+0xE1 U+1243
+0xE2 U+1244
+0xE3 U+1245
+0xE4 U+1246
+
+0xE5 U+1248 # qWe
+0xE6 U+124A
+0xE7 U+124B
+0xE8 U+124C
+0xE9 U+124D
+
+0xEA U+1250 # Qe
+0xEB U+1251
+0xEC U+1252
+0xED U+1253
+0xEE U+1254
+0xEF U+1255
+0xF0 U+1256
+
+0xF1 U+1258 # QWe
+0xF2 U+125A
+0xF3 U+125B
+0xF4 U+125C
+0xF5 U+125D
+
+0xF6 U+1260 # be
+0xF7 U+1261
+0xF8 U+1262
+0xF9 U+1263
+0xFA U+1264
+0xFB U+1265
+0xFC U+1266
+0xFD U+1267
+
+0xFE U+1268 # ve
+0xFF U+1269
+0x100 U+126A
+0x101 U+126B
+0x102 U+126C
+0x103 U+126D
+0x104 U+126E
+0x105 U+126F
+
+0x106 U+1270 # te
+0x107 U+1271
+0x108 U+1272
+0x109 U+1273
+0x10A U+1274
+0x10B U+1275
+0x10C U+1276
+0x10D U+1277
+
+0x10E U+1278 # ce
+0x10F U+1279
+0x110 U+127A
+0x111 U+127B
+0x112 U+127C
+0x113 U+127D
+0x114 U+127E
+0x115 U+127F
+
+0x116 U+1280 # `he
+0x117 U+1281
+0x118 U+1282
+0x119 U+1283
+0x11A U+1284
+0x11B U+1285
+0x11C U+1286
+
+0x11D U+1288 # `hWe
+0x11E U+128A
+0x11F U+128B
+0x120 U+128C
+0x121 U+128D
+
+0x122 U+1290 # ne
+0x123 U+1291
+0x124 U+1292
+0x125 U+1293
+0x126 U+1294
+0x127 U+1295
+0x128 U+1296
+0x129 U+1297
+
+0x12A U+1298 # Ne
+0x12B U+1299
+0x12C U+129A
+0x12D U+129B
+0x12E U+129C
+0x12F U+129D
+0x130 U+129E
+0x131 U+129F
+
+0x132 U+12A0 # e
+0x133 U+12A1
+0x134 U+12A2
+0x135 U+12A3
+0x136 U+12A4
+0x137 U+12A5
+0x138 U+12A6
+0x139 U+12A7
+
+0x13A U+12A8 # ke
+0x13B U+12A9
+0x13C U+12AA
+0x13D U+12AB
+0x13E U+12AC
+0x13F U+12AD
+0x140 U+12AE
+
+0x141 U+12B0 # kWe
+0x142 U+12B2
+0x143 U+12B3
+0x144 U+12B4
+0x145 U+12B5
+
+0x146 U+12B8 # Ke
+0x147 U+12B9
+0x148 U+12BA
+0x149 U+12BB
+0x14A U+12BC
+0x14B U+12BD
+0x14C U+12BE
+
+0x14D U+12C0 # KWe
+0x14E U+12C2
+0x14F U+12C3
+0x150 U+12C4
+0x151 U+12C5
+
+0x152 U+12C8 # we
+0x153 U+12C9
+0x154 U+12CA
+0x155 U+12CB
+0x156 U+12CC
+0x157 U+12CD
+0x158 U+12CE
+
+0x159 U+12D0 # `e
+0x15A U+12D1
+0x15B U+12D2
+0x15C U+12D3
+0x15D U+12D4
+0x15E U+12D5
+0x15F U+12D6
+
+0x160 U+12D8 # ze
+0x161 U+12D9
+0x162 U+12DA
+0x163 U+12DB
+0x164 U+12DC
+0x165 U+12DD
+0x166 U+12DE
+0x167 U+12DF
+
+0x168 U+12E0 # Ze
+0x169 U+12E1
+0x16A U+12E2
+0x16B U+12E3
+0x16C U+12E4
+0x16D U+12E5
+0x16E U+12E6
+0x16F U+12E7
+
+0x170 U+12E8 # ye
+0x171 U+12E9
+0x172 U+12EA
+0x173 U+12EB
+0x174 U+12EC
+0x175 U+12ED
+0x176 U+12EE
+0x177 U+12EF
+
+0x178 U+12F0 # de
+0x179 U+12F1
+0x17A U+12F2
+0x17B U+12F3
+0x17C U+12F4
+0x17D U+12F5
+0x17E U+12F6
+0x17F U+12F7
+
+0x180 U+12F8 # De
+0x181 U+12F9
+0x182 U+12FA
+0x183 U+12FB
+0x184 U+12FC
+0x185 U+12FD
+0x186 U+12FE
+0x187 U+12FF
+
+0x188 U+1300 # je
+0x189 U+1301
+0x18A U+1302
+0x18B U+1303
+0x18C U+1304
+0x18D U+1305
+0x18E U+1306
+0x18F U+1307
+
+0x190 U+1308 # ge
+0x191 U+1309
+0x192 U+130A
+0x193 U+130B
+0x194 U+130C
+0x195 U+130D
+0x196 U+130E
+
+0x197 U+1310 # gWe
+0x198 U+1312
+0x199 U+1313
+0x19A U+1314
+0x19B U+1315
+
+0x19C U+1318 # Ge
+0x19D U+1319
+0x19E U+131A
+0x19F U+131B
+0x1A0 U+131C
+0x1A1 U+131D
+0x1A2 U+131E
+
+0x1A3 U+1320 # Te
+0x1A4 U+1321
+0x1A5 U+1322
+0x1A6 U+1323
+0x1A7 U+1324
+0x1A8 U+1325
+0x1A9 U+1326
+0x1AA U+1327
+
+0x1AB U+1328 # Ce
+0x1AC U+1329
+0x1AD U+132A
+0x1AE U+132B
+0x1AF U+132C
+0x1B0 U+132D
+0x1B1 U+132E
+0x1B2 U+132F
+
+0x1B3 U+1330 # Pe
+0x1B4 U+1331
+0x1B5 U+1332
+0x1B6 U+1333
+0x1B7 U+1334
+0x1B8 U+1335
+0x1B9 U+1336
+0x1BA U+1337
+
+0x1BB U+1338 # Se
+0x1BC U+1339
+0x1BD U+133A
+0x1BE U+133B
+0x1BF U+133C
+0x1C0 U+133D
+0x1C1 U+133E
+0x1C2 U+133F
+
+0x1C3 U+1340 # `Se
+0x1C4 U+1341
+0x1C5 U+1342
+0x1C6 U+1343
+0x1C7 U+1344
+0x1C8 U+1345
+0x1C9 U+1346
+
+0x1CA U+1348 # fe
+0x1CB U+1349
+0x1CC U+134A
+0x1CD U+134B
+0x1CE U+134C
+0x1CF U+134D
+0x1D0 U+134E
+0x1D1 U+134F
+
+0x1D2 U+1350 # pe
+0x1D3 U+1351
+0x1D4 U+1352
+0x1D5 U+1353
+0x1D6 U+1354
+0x1D7 U+1355
+0x1D8 U+1356
+0x1D9 U+1357
+
+0x1DA U+1358 # mYa
+0x1DB U+1359 # rYa
+0x1DC U+135A # fYa
+
+0x1DD U+1360 # punctuation block
+0x1DE U+1361
+0x1DF U+1362
+0x1E0 U+1363
+0x1E1 U+1364
+0x1E2 U+1365
+0x1E3 U+1366
+0x1E4 U+1367
+0x1E5 U+1368
+
+0x1E6 U+1369 # `1
+0x1E7 U+136A
+0x1E8 U+136B
+0x1E9 U+136C
+0x1EA U+136D
+0x1EB U+136E
+0x1EC U+136F
+0x1ED U+1370
+0x1EE U+1371
+0x1EF U+1372
+
+0x1F0 U+1373 # `20
+0x1F1 U+1374
+0x1F2 U+1375
+0x1F3 U+1376
+0x1F4 U+1377
+0x1F5 U+1378
+0x1F6 U+1379
+0x1F7 U+137A
+0x1F8 U+137B # `100
+0x1F9 U+137C
+
+#
+# Private Use Maps will have to be reset later
+# This is not in the right area either, I think.
+# (Probably U+FDF0...FDFF should be U+F820...F82F.)
+# What are the corresponding character names?
+# These must be noted in linux/Documentation/unicode.txt
+#
+0x1FA U+FDF0 # \~X
+0x1FB U+FDFB # `!
+0x1FC U+FDFC # .
+0x1FD U+FDFD # <<
+0x1FE U+FDFE # >>
+0x1FF U+FDFF # ?
diff --git a/consoletrans/graph.fallback b/consoletrans/graph.fallback
new file mode 100644
index 0000000..db38fd9
--- /dev/null
+++ b/consoletrans/graph.fallback
@@ -0,0 +1,84 @@
+# This files gives fallback from semi-graphic characters (from eg. IBM's cp437)
+# to semi-graphic and ASCII approximations.
+
+# Here's a UTF8 summary of those chars for testing through head(1):
+#
+# ┌─┬┠╔â•â•¦â•—
+# │ ││ ║ ║║ ╒╤╕ ╓╥╖
+# ├─┼┤ â• â•â•¬â•£ ╞╪╡ â•Ÿâ•«â•¢
+# └─┴┘ â•šâ•â•©â• ╘╧╛ ╙╨╜
+
+# These approximation might not be the best ones; fell free to send any
+# improvements or alternatives.
+
+# ASCII may give:
+#
+# -|=
+#
+# .+. .=:=.
+# +++ :=:=:
+# `+' `=:='
+
+
+# single to double, then ASCII
+
+U+2502 U+2551 U+007C
+U+2500 U+2550 U+002D
+
+U+250C U+255A U+002E
+U+251C U+2560 U+002B
+U+2514 U+255A U+0060
+
+U+252C U+2566 U+002B
+U+253C U+256C U+002B
+U+2534 U+2569 U+002B
+
+U+2510 U+2557 U+002E
+U+2524 U+2563 U+002B
+U+2518 U+255D U+002E
+
+
+# double to single, then ASCII
+
+U+2551 U+2502 U+007C
+U+2550 U+2500 U+003D
+
+U+255A U+250C U+002E
+U+2560 U+251C U+003A
+U+255A U+2514 U+0060
+
+U+2566 U+252C U+003A
+U+256C U+253C U+003A
+U+2569 U+2534 U+003A
+
+U+2557 U+2510 U+002E
+U+2563 U+2524 U+003A
+U+255D U+2518 U+002E
+
+# mixed single/double to single, then double, then ASCII
+# single vert + double horiz, then double V + single H
+
+U+2552 U+250C U+255A U+002E
+U+255E U+251C U+2560 U+003A
+U+2558 U+2514 U+255A U+0060
+
+U+2564 U+252C U+2566 U+003A
+U+256A U+253C U+256C U+003A
+U+2567 U+2534 U+2569 U+003A
+
+U+2555 U+2510 U+2557 U+002E
+U+2561 U+2524 U+2563 U+003A
+U+255B U+2518 U+255D U+0027
+
+
+U+2553 U+250C U+255A U+002E
+U+255F U+251C U+2560 U+002B
+U+2559 U+2514 U+255A U+0060
+
+U+2565 U+252C U+2566 U+002B
+U+256B U+253C U+256C U+002B
+U+2568 U+2534 U+2569 U+002B
+
+U+2556 U+2510 U+2557 U+002E
+U+2562 U+2524 U+2563 U+002B
+U+255C U+2518 U+255D U+0027
diff --git a/consoletrans/iso01.acm b/consoletrans/iso01.acm
new file mode 100644
index 0000000..1393bc8
--- /dev/null
+++ b/consoletrans/iso01.acm
@@ -0,0 +1,135 @@
+# generated from UTF-tmpl.8bit.in by:
+# {
+# while read a b; do
+# echo -e $a \'\\echo "8o16i${b#U+}pq" | dc\';
+# done
+# } <data/consoletrans/UTF-tmpl.8bit.in
+
+0x80 '€'
+0x81 'Â'
+0x82 '‚'
+0x83 'ƒ'
+0x84 '„'
+0x85 'Â…'
+0x86 '†'
+0x87 '‡'
+0x88 'ˆ'
+0x89 '‰'
+0x8A 'Š'
+0x8B '‹'
+0x8C 'Œ'
+0x8D 'Â'
+0x8E 'ÂŽ'
+0x8F 'Â'
+0x90 'Â'
+0x91 '‘'
+0x92 'Â’'
+0x93 '“'
+0x94 '”'
+0x95 '•'
+0x96 '–'
+0x97 '—'
+0x98 '˜'
+0x99 '™'
+0x9A 'š'
+0x9B '›'
+0x9C 'œ'
+0x9D 'Â'
+0x9E 'ž'
+0x9F 'Ÿ'
+0xA0 ' '
+0xA1 '¡'
+0xA2 '¢'
+0xA3 '£'
+0xA4 '¤'
+0xA5 'Â¥'
+0xA6 '¦'
+0xA7 '§'
+0xA8 '¨'
+0xA9 '©'
+0xAA 'ª'
+0xAB '«'
+0xAC '¬'
+0xAD '­'
+0xAE '®'
+0xAF '¯'
+0xB0 '°'
+0xB1 '±'
+0xB2 '²'
+0xB3 '³'
+0xB4 '´'
+0xB5 'µ'
+0xB6 '¶'
+0xB7 '·'
+0xB8 '¸'
+0xB9 '¹'
+0xBA 'º'
+0xBB '»'
+0xBC '¼'
+0xBD '½'
+0xBE '¾'
+0xBF '¿'
+0xC0 'À'
+0xC1 'Ã'
+0xC2 'Â'
+0xC3 'Ã'
+0xC4 'Ä'
+0xC5 'Ã…'
+0xC6 'Æ'
+0xC7 'Ç'
+0xC8 'È'
+0xC9 'É'
+0xCA 'Ê'
+0xCB 'Ë'
+0xCC 'Ì'
+0xCD 'Ã'
+0xCE 'ÃŽ'
+0xCF 'Ã'
+0xD0 'Ã'
+0xD1 'Ñ'
+0xD2 'Ã’'
+0xD3 'Ó'
+0xD4 'Ô'
+0xD5 'Õ'
+0xD6 'Ö'
+0xD7 '×'
+0xD8 'Ø'
+0xD9 'Ù'
+0xDA 'Ú'
+0xDB 'Û'
+0xDC 'Ü'
+0xDD 'Ã'
+0xDE 'Þ'
+0xDF 'ß'
+0xE0 'à'
+0xE1 'á'
+0xE2 'â'
+0xE3 'ã'
+0xE4 'ä'
+0xE5 'Ã¥'
+0xE6 'æ'
+0xE7 'ç'
+0xE8 'è'
+0xE9 'é'
+0xEA 'ê'
+0xEB 'ë'
+0xEC 'ì'
+0xED 'í'
+0xEE 'î'
+0xEF 'ï'
+0xF0 'ð'
+0xF1 'ñ'
+0xF2 'ò'
+0xF3 'ó'
+0xF4 'ô'
+0xF5 'õ'
+0xF6 'ö'
+0xF7 '÷'
+0xF8 'ø'
+0xF9 'ù'
+0xFA 'ú'
+0xFB 'û'
+0xFC 'ü'
+0xFD 'ý'
+0xFE 'þ'
+0xFF 'ÿ'
diff --git a/consoletrans/iso01.sfm b/consoletrans/iso01.sfm
new file mode 100644
index 0000000..0039478
--- /dev/null
+++ b/consoletrans/iso01.sfm
@@ -0,0 +1,43 @@
+#
+# Unicode mapping table for ISO 8859-1 fonts iso01.*
+# [use: unicode_start iso01.f16 iso01]
+#
+0x20-0x7e idem
+0x7f U+2302
+0xa0-0xff idem
+0x00 U+fffd
+0x01 U+263A
+0x02 U+263B
+0x03 U+2665
+0x04 U+2666
+0x05 U+2663
+0x06 U+2660
+0x07 U+2022
+0x08 U+25D8
+0x09 U+25CB
+0x0A U+25D9
+0x0B U+2642
+0x0C U+2640
+0x0D U+266A
+0x0E U+266B
+0x0E U+266C
+0x0F U+263C
+0x10 U+25B6
+0x10 U+25BA
+0x11 U+25C0
+0x11 U+25C4
+0x12 U+2195
+0x13 U+203C
+0x14 U+00B6
+0x15 U+00A7
+0x16 U+25AC
+0x17 U+21A8
+0x18 U+2191
+0x19 U+2193
+0x1A U+2192
+0x1B U+2190
+0x1C U+221F
+0x1C U+2319
+0x1D U+2194
+0x1E U+25B2
+0x1F U+25BC
diff --git a/consoletrans/iso02+euro.acm b/consoletrans/iso02+euro.acm
new file mode 100644
index 0000000..5072977
--- /dev/null
+++ b/consoletrans/iso02+euro.acm
@@ -0,0 +1,141 @@
+# This is not part of any standard, it is a hack only
+# to get Euro character for central and east european
+# languages.
+# It is iso-8859-2 with character at position 0xa4
+# (currency, U+00A4) replaced by Euro (U+20AC)
+#
+# generated from UTF-tmpl.8bit.in by:
+# {
+# while read a b; do
+# echo -e $a \'\\echo "8o16i${b#U+}pq" | dc\';
+# done
+# } <data/consoletrans/UTF-tmpl.8bit.in
+
+0x80 '€'
+0x81 'Â'
+0x82 '‚'
+0x83 'ƒ'
+0x84 '„'
+0x85 'Â…'
+0x86 '†'
+0x87 '‡'
+0x88 'ˆ'
+0x89 '‰'
+0x8A 'Š'
+0x8B '‹'
+0x8C 'Œ'
+0x8D 'Â'
+0x8E 'ÂŽ'
+0x8F 'Â'
+0x90 'Â'
+0x91 '‘'
+0x92 'Â’'
+0x93 '“'
+0x94 '”'
+0x95 '•'
+0x96 '–'
+0x97 '—'
+0x98 '˜'
+0x99 '™'
+0x9A 'š'
+0x9B '›'
+0x9C 'œ'
+0x9D 'Â'
+0x9E 'ž'
+0x9F 'Ÿ'
+0xA0 ' '
+0xA1 'Ä„'
+0xA2 '˘'
+0xA3 'Å'
+0xA4 '€'
+0xA5 'Ľ'
+0xA6 'Åš'
+0xA7 '§'
+0xA8 '¨'
+0xA9 'Å '
+0xAA 'Åž'
+0xAB 'Ť'
+0xAC 'Ź'
+0xAD '­'
+0xAE 'Ž'
+0xAF 'Å»'
+0xB0 '°'
+0xB1 'Ä…'
+0xB2 'Ë›'
+0xB3 'Å‚'
+0xB4 '´'
+0xB5 'ľ'
+0xB6 'Å›'
+0xB7 'ˇ'
+0xB8 '¸'
+0xB9 'Å¡'
+0xBA 'ÅŸ'
+0xBB 'Å¥'
+0xBC 'ź'
+0xBD 'Ë'
+0xBE 'ž'
+0xBF 'ż'
+0xC0 'Å”'
+0xC1 'Ã'
+0xC2 'Â'
+0xC3 'Ä‚'
+0xC4 'Ä'
+0xC5 'Ĺ'
+0xC6 'Ć'
+0xC7 'Ç'
+0xC8 'Č'
+0xC9 'É'
+0xCA 'Ę'
+0xCB 'Ë'
+0xCC 'Äš'
+0xCD 'Ã'
+0xCE 'ÃŽ'
+0xCF 'ÄŽ'
+0xD0 'Ä'
+0xD1 'Ń'
+0xD2 'Ň'
+0xD3 'Ó'
+0xD4 'Ô'
+0xD5 'Å'
+0xD6 'Ö'
+0xD7 '×'
+0xD8 'Ř'
+0xD9 'Å®'
+0xDA 'Ú'
+0xDB 'Å°'
+0xDC 'Ü'
+0xDD 'Ã'
+0xDE 'Å¢'
+0xDF 'ß'
+0xE0 'Å•'
+0xE1 'á'
+0xE2 'â'
+0xE3 'ă'
+0xE4 'ä'
+0xE5 'ĺ'
+0xE6 'ć'
+0xE7 'ç'
+0xE8 'Ä'
+0xE9 'é'
+0xEA 'Ä™'
+0xEB 'ë'
+0xEC 'Ä›'
+0xED 'í'
+0xEE 'î'
+0xEF 'Ä'
+0xF0 'Ä‘'
+0xF1 'Å„'
+0xF2 'ň'
+0xF3 'ó'
+0xF4 'ô'
+0xF5 'Å‘'
+0xF6 'ö'
+0xF7 '÷'
+0xF8 'Å™'
+0xF9 'ů'
+0xFA 'ú'
+0xFB 'ű'
+0xFC 'ü'
+0xFD 'ý'
+0xFE 'Å£'
+0xFF 'Ë™'
diff --git a/consoletrans/iso02.acm b/consoletrans/iso02.acm
new file mode 100644
index 0000000..6ee3dd8
--- /dev/null
+++ b/consoletrans/iso02.acm
@@ -0,0 +1,135 @@
+# generated from UTF-tmpl.8bit.in by:
+# {
+# while read a b; do
+# echo -e $a \'\\echo "8o16i${b#U+}pq" | dc\';
+# done
+# } <data/consoletrans/UTF-tmpl.8bit.in
+
+0x80 '€'
+0x81 'Â'
+0x82 '‚'
+0x83 'ƒ'
+0x84 '„'
+0x85 'Â…'
+0x86 '†'
+0x87 '‡'
+0x88 'ˆ'
+0x89 '‰'
+0x8A 'Š'
+0x8B '‹'
+0x8C 'Œ'
+0x8D 'Â'
+0x8E 'ÂŽ'
+0x8F 'Â'
+0x90 'Â'
+0x91 '‘'
+0x92 'Â’'
+0x93 '“'
+0x94 '”'
+0x95 '•'
+0x96 '–'
+0x97 '—'
+0x98 '˜'
+0x99 '™'
+0x9A 'š'
+0x9B '›'
+0x9C 'œ'
+0x9D 'Â'
+0x9E 'ž'
+0x9F 'Ÿ'
+0xA0 ' '
+0xA1 'Ä„'
+0xA2 '˘'
+0xA3 'Å'
+0xA4 '¤'
+0xA5 'Ľ'
+0xA6 'Åš'
+0xA7 '§'
+0xA8 '¨'
+0xA9 'Å '
+0xAA 'Åž'
+0xAB 'Ť'
+0xAC 'Ź'
+0xAD '­'
+0xAE 'Ž'
+0xAF 'Å»'
+0xB0 '°'
+0xB1 'Ä…'
+0xB2 'Ë›'
+0xB3 'Å‚'
+0xB4 '´'
+0xB5 'ľ'
+0xB6 'Å›'
+0xB7 'ˇ'
+0xB8 '¸'
+0xB9 'Å¡'
+0xBA 'ÅŸ'
+0xBB 'Å¥'
+0xBC 'ź'
+0xBD 'Ë'
+0xBE 'ž'
+0xBF 'ż'
+0xC0 'Å”'
+0xC1 'Ã'
+0xC2 'Â'
+0xC3 'Ä‚'
+0xC4 'Ä'
+0xC5 'Ĺ'
+0xC6 'Ć'
+0xC7 'Ç'
+0xC8 'Č'
+0xC9 'É'
+0xCA 'Ę'
+0xCB 'Ë'
+0xCC 'Äš'
+0xCD 'Ã'
+0xCE 'ÃŽ'
+0xCF 'ÄŽ'
+0xD0 'Ä'
+0xD1 'Ń'
+0xD2 'Ň'
+0xD3 'Ó'
+0xD4 'Ô'
+0xD5 'Å'
+0xD6 'Ö'
+0xD7 '×'
+0xD8 'Ř'
+0xD9 'Å®'
+0xDA 'Ú'
+0xDB 'Å°'
+0xDC 'Ü'
+0xDD 'Ã'
+0xDE 'Å¢'
+0xDF 'ß'
+0xE0 'Å•'
+0xE1 'á'
+0xE2 'â'
+0xE3 'ă'
+0xE4 'ä'
+0xE5 'ĺ'
+0xE6 'ć'
+0xE7 'ç'
+0xE8 'Ä'
+0xE9 'é'
+0xEA 'Ä™'
+0xEB 'ë'
+0xEC 'Ä›'
+0xED 'í'
+0xEE 'î'
+0xEF 'Ä'
+0xF0 'Ä‘'
+0xF1 'Å„'
+0xF2 'ň'
+0xF3 'ó'
+0xF4 'ô'
+0xF5 'Å‘'
+0xF6 'ö'
+0xF7 '÷'
+0xF8 'Å™'
+0xF9 'ů'
+0xFA 'ú'
+0xFB 'ű'
+0xFC 'ü'
+0xFD 'ý'
+0xFE 'Å£'
+0xFF 'Ë™'
diff --git a/consoletrans/iso02.sfm b/consoletrans/iso02.sfm
new file mode 100644
index 0000000..dfe318e
--- /dev/null
+++ b/consoletrans/iso02.sfm
@@ -0,0 +1,140 @@
+#
+# Unicode mapping table for ISO 8859-2 fonts iso02.*
+# [use: unicode_start iso02.f16 iso02]
+#
+0x20-0x7e idem
+0x7f U+2302
+#
+0x00 U+fffd
+0x01 U+263A
+0x02 U+263B
+0x03 U+2665
+0x04 U+2666
+0x05 U+2663
+0x06 U+2660
+0x07 U+2022
+0x08 U+25D8
+0x09 U+25CB
+0x0A U+25D9
+0x0B U+2642
+0x0C U+2640
+0x0D U+266A
+0x0E U+266B
+0x0E U+266C
+0x0F U+263C
+0x10 U+25B6
+0x10 U+25BA
+0x11 U+25C0
+0x11 U+25C4
+0x12 U+2195
+0x13 U+203C
+0x14 U+00B6
+0x15 U+00A7
+0x16 U+25AC
+0x17 U+21A8
+0x18 U+2191
+0x19 U+2193
+0x1A U+2192
+0x1B U+2190
+0x1C U+221F
+0x1C U+2319
+0x1D U+2194
+0x1E U+25B2
+0x1F U+25BC
+#
+0xa0 U+00a0
+0xa1 U+0104
+0xa2 U+02d8
+0xa3 U+0141
+0xa4 U+00a4
+0xa5 U+013d
+0xa6 U+015a
+0xa7 U+00a7
+0xa8 U+00a8
+0xa9 U+0160
+0xaa U+015e
+0xab U+0164
+0xac U+0179
+0xad U+00ad
+0xae U+017d
+0xaf U+017b
+0xb0 U+00b0
+0xb1 U+0105
+0xb2 U+02db
+0xb3 U+0142
+0xb4 U+00b4
+0xb5 U+013e
+0xb6 U+015b
+0xb7 U+02c7
+0xb8 U+00b8
+0xb9 U+0161
+0xba U+015f
+0xbb U+0165
+0xbc U+017a
+0xbd U+02dd
+0xbe U+017e
+0xbf U+017c
+0xc0 U+0154
+0xc1 U+00c1
+0xc2 U+00c2
+0xc3 U+0102
+0xc4 U+00c4
+0xc5 U+0139
+0xc6 U+0106
+0xc7 U+00c7
+0xc8 U+010c
+0xc9 U+00c9
+0xca U+0118
+0xcb U+00cb
+0xcc U+011a
+0xcd U+00cd
+0xce U+00ce
+0xcf U+010e
+0xd0 U+0110
+0xd1 U+0143
+0xd2 U+0147
+0xd3 U+00d3
+0xd4 U+00d4
+0xd5 U+0150
+0xd6 U+00d6
+0xd7 U+00d7
+0xd8 U+0158
+0xd9 U+016e
+0xda U+00da
+0xdb U+0170
+0xdc U+00dc
+0xdd U+00dd
+0xde U+0162
+0xdf U+00df
+0xe0 U+0155
+0xe1 U+00e1
+0xe2 U+00e2
+0xe3 U+0103
+0xe4 U+00e4
+0xe5 U+013a
+0xe6 U+0107
+0xe7 U+00e7
+0xe8 U+010d
+0xe9 U+00e9
+0xea U+0119
+0xeb U+00eb
+0xec U+011b
+0xed U+00ed
+0xee U+00ee
+0xef U+010f
+0xf0 U+0111
+0xf1 U+0144
+0xf2 U+0148
+0xf3 U+00f3
+0xf4 U+00f4
+0xf5 U+0151
+0xf6 U+00f6
+0xf7 U+00f7
+0xf8 U+0159
+0xf9 U+016f
+0xfa U+00fa
+0xfb U+0171
+0xfc U+00fc
+0xfd U+00fd
+0xfe U+0163
+0xff U+02d9
diff --git a/consoletrans/iso03.acm b/consoletrans/iso03.acm
new file mode 100644
index 0000000..c1bb743
--- /dev/null
+++ b/consoletrans/iso03.acm
@@ -0,0 +1,135 @@
+# generated from UTF-tmpl.8bit.in by:
+# {
+# while read a b; do
+# echo -e $a \'\\echo "8o16i${b#U+}pq" | dc\';
+# done
+# } <data/consoletrans/UTF-tmpl.8bit.in
+
+0x80 '€'
+0x81 'Â'
+0x82 '‚'
+0x83 'ƒ'
+0x84 '„'
+0x85 'Â…'
+0x86 '†'
+0x87 '‡'
+0x88 'ˆ'
+0x89 '‰'
+0x8A 'Š'
+0x8B '‹'
+0x8C 'Œ'
+0x8D 'Â'
+0x8E 'ÂŽ'
+0x8F 'Â'
+0x90 'Â'
+0x91 '‘'
+0x92 'Â’'
+0x93 '“'
+0x94 '”'
+0x95 '•'
+0x96 '–'
+0x97 '—'
+0x98 '˜'
+0x99 '™'
+0x9A 'š'
+0x9B '›'
+0x9C 'œ'
+0x9D 'Â'
+0x9E 'ž'
+0x9F 'Ÿ'
+0xA0 ' '
+0xA1 'Ħ'
+0xA2 '˘'
+0xA3 '£'
+0xA4 '¤'
+0xA5 '�'
+0xA6 'Ĥ'
+0xA7 '§'
+0xA8 '¨'
+0xA9 'Ä°'
+0xAA 'Åž'
+0xAB 'Äž'
+0xAC 'Ä´'
+0xAD '­'
+0xAE '�'
+0xAF 'Å»'
+0xB0 '°'
+0xB1 'ħ'
+0xB2 '²'
+0xB3 '³'
+0xB4 '´'
+0xB5 'µ'
+0xB6 'Ä¥'
+0xB7 '·'
+0xB8 '¸'
+0xB9 'ı'
+0xBA 'ÅŸ'
+0xBB 'ÄŸ'
+0xBC 'ĵ'
+0xBD '½'
+0xBE '�'
+0xBF 'ż'
+0xC0 'À'
+0xC1 'Ã'
+0xC2 'Â'
+0xC3 '�'
+0xC4 'Ä'
+0xC5 'ÄŠ'
+0xC6 'Ĉ'
+0xC7 'Ç'
+0xC8 'È'
+0xC9 'É'
+0xCA 'Ê'
+0xCB 'Ë'
+0xCC 'Ì'
+0xCD 'Ã'
+0xCE 'ÃŽ'
+0xCF 'Ã'
+0xD0 '�'
+0xD1 'Ñ'
+0xD2 'Ã’'
+0xD3 'Ó'
+0xD4 'Ô'
+0xD5 'Ä '
+0xD6 'Ö'
+0xD7 '×'
+0xD8 'Ĝ'
+0xD9 'Ù'
+0xDA 'Ú'
+0xDB 'Û'
+0xDC 'Ü'
+0xDD 'Ŭ'
+0xDE 'Ŝ'
+0xDF 'ß'
+0xE0 'à'
+0xE1 'á'
+0xE2 'â'
+0xE3 '�'
+0xE4 'ä'
+0xE5 'Ä‹'
+0xE6 'ĉ'
+0xE7 'ç'
+0xE8 'è'
+0xE9 'é'
+0xEA 'ê'
+0xEB 'ë'
+0xEC 'ì'
+0xED 'í'
+0xEE 'î'
+0xEF 'ï'
+0xF0 '�'
+0xF1 'ñ'
+0xF2 'ò'
+0xF3 'ó'
+0xF4 'ô'
+0xF5 'Ä¡'
+0xF6 'ö'
+0xF7 '÷'
+0xF8 'Ä'
+0xF9 'ù'
+0xFA 'ú'
+0xFB 'û'
+0xFC 'ü'
+0xFD 'Å­'
+0xFE 'Å'
+0xFF 'Ë™'
diff --git a/consoletrans/iso03.sfm b/consoletrans/iso03.sfm
new file mode 100644
index 0000000..087d22e
--- /dev/null
+++ b/consoletrans/iso03.sfm
@@ -0,0 +1,140 @@
+#
+# Unicode mapping table for ISO 8859-3 fonts iso03.*
+# [use: unicode_start iso03.f16 iso03]
+#
+0x20-0x7e idem
+0x7f U+2302
+#
+0x00 U+fffd
+0x01 U+263A
+0x02 U+263B
+0x03 U+2665
+0x04 U+2666
+0x05 U+2663
+0x06 U+2660
+0x07 U+2022
+0x08 U+25D8
+0x09 U+25CB
+0x0A U+25D9
+0x0B U+2642
+0x0C U+2640
+0x0D U+266A
+0x0E U+266B
+0x0E U+266C
+0x0F U+263C
+0x10 U+25B6
+0x10 U+25BA
+0x11 U+25C0
+0x11 U+25C4
+0x12 U+2195
+0x13 U+203C
+0x14 U+00B6
+0x15 U+00A7
+0x16 U+25AC
+0x17 U+21A8
+0x18 U+2191
+0x19 U+2193
+0x1A U+2192
+0x1B U+2190
+0x1C U+221F
+0x1C U+2319
+0x1D U+2194
+0x1E U+25B2
+0x1F U+25BC
+#
+0xa0 U+00a0
+0xa1 U+0126
+0xa2 U+02d8
+0xa3 U+00a3
+0xa4 U+00a4
+# 0xa5 unused
+0xa6 U+0124
+0xa7 U+00a7
+0xa8 U+00a8
+0xa9 U+0130
+0xaa U+015e
+0xab U+011e
+0xac U+0134
+0xad U+00ad
+# 0xae unused
+0xaf U+017b
+0xb0 U+00b0
+0xb1 U+0127
+0xb2 U+00b2
+0xb3 U+00b3
+0xb4 U+00b4
+0xb5 U+00b5
+0xb6 U+0125
+0xb7 U+00b7
+0xb8 U+00b8
+0xb9 U+0131
+0xba U+015f
+0xbb U+011f
+0xbc U+0135
+0xbd U+00bd
+# 0xbe unused
+0xbf U+017c
+0xc0 U+00c0
+0xc1 U+00c1
+0xc2 U+00c2
+# 0xc3 unused
+0xc4 U+00c4
+0xc5 U+010a
+0xc6 U+0108
+0xc7 U+00c7
+0xc8 U+00c8
+0xc9 U+00c9
+0xca U+00ca
+0xcb U+00cb
+0xcc U+00cc
+0xcd U+00cd
+0xce U+00ce
+0xcf U+00cf
+# 0xd0 unused
+0xd1 U+00d1
+0xd2 U+00d2
+0xd3 U+00d3
+0xd4 U+00d4
+0xd5 U+0120
+0xd6 U+00d6
+0xd7 U+00d7
+0xd8 U+011c
+0xd9 U+00d9
+0xda U+00da
+0xdb U+00db
+0xdc U+00dc
+0xdd U+016c
+0xde U+015c
+0xdf U+00df
+0xe0 U+00e0
+0xe1 U+00e1
+0xe2 U+00e2
+# 0xe3 unused
+0xe4 U+00e4
+0xe5 U+010b
+0xe6 U+0109
+0xe7 U+00e7
+0xe8 U+00e8
+0xe9 U+00e9
+0xea U+00ea
+0xeb U+00eb
+0xec U+00ec
+0xed U+00ed
+0xee U+00ee
+0xef U+00ef
+# 0xf0 unused
+0xf1 U+00f1
+0xf2 U+00f2
+0xf3 U+00f3
+0xf4 U+00f4
+0xf5 U+0121
+0xf6 U+00f6
+0xf7 U+00f7
+0xf8 U+011d
+0xf9 U+00f9
+0xfa U+00fa
+0xfb U+00fb
+0xfc U+00fc
+0xfd U+016d
+0xfe U+015d
+0xff U+02d9
diff --git a/consoletrans/iso04.acm b/consoletrans/iso04.acm
new file mode 100644
index 0000000..a10ce88
--- /dev/null
+++ b/consoletrans/iso04.acm
@@ -0,0 +1,135 @@
+# generated from UTF-tmpl.8bit.in by:
+# {
+# while read a b; do
+# echo -e $a \'\\echo "8o16i${b#U+}pq" | dc\';
+# done
+# } <data/consoletrans/UTF-tmpl.8bit.in
+
+0x80 '€'
+0x81 'Â'
+0x82 '‚'
+0x83 'ƒ'
+0x84 '„'
+0x85 'Â…'
+0x86 '†'
+0x87 '‡'
+0x88 'ˆ'
+0x89 '‰'
+0x8A 'Š'
+0x8B '‹'
+0x8C 'Œ'
+0x8D 'Â'
+0x8E 'ÂŽ'
+0x8F 'Â'
+0x90 'Â'
+0x91 '‘'
+0x92 'Â’'
+0x93 '“'
+0x94 '”'
+0x95 '•'
+0x96 '–'
+0x97 '—'
+0x98 '˜'
+0x99 '™'
+0x9A 'š'
+0x9B '›'
+0x9C 'œ'
+0x9D 'Â'
+0x9E 'ž'
+0x9F 'Ÿ'
+0xA0 ' '
+0xA1 'Ä„'
+0xA2 'ĸ'
+0xA3 'Å–'
+0xA4 '¤'
+0xA5 'Ĩ'
+0xA6 'Ä»'
+0xA7 '§'
+0xA8 '¨'
+0xA9 'Å '
+0xAA 'Ä’'
+0xAB 'Ä¢'
+0xAC 'Ŧ'
+0xAD '­'
+0xAE 'Ž'
+0xAF '¯'
+0xB0 '°'
+0xB1 'Ä…'
+0xB2 'Ë›'
+0xB3 'Å—'
+0xB4 '´'
+0xB5 'Ä©'
+0xB6 'ļ'
+0xB7 'ˇ'
+0xB8 '¸'
+0xB9 'Å¡'
+0xBA 'Ä“'
+0xBB 'Ä£'
+0xBC 'ŧ'
+0xBD 'ÅŠ'
+0xBE 'ž'
+0xBF 'Å‹'
+0xC0 'Ä€'
+0xC1 'Ã'
+0xC2 'Â'
+0xC3 'Ã'
+0xC4 'Ä'
+0xC5 'Ã…'
+0xC6 'Æ'
+0xC7 'Ä®'
+0xC8 'Č'
+0xC9 'É'
+0xCA 'Ę'
+0xCB 'Ë'
+0xCC 'Ä–'
+0xCD 'Ã'
+0xCE 'ÃŽ'
+0xCF 'Ī'
+0xD0 'Ä'
+0xD1 'Å…'
+0xD2 'Ō'
+0xD3 'Ķ'
+0xD4 'Ô'
+0xD5 'Õ'
+0xD6 'Ö'
+0xD7 '×'
+0xD8 'Ø'
+0xD9 'Ų'
+0xDA 'Ú'
+0xDB 'Û'
+0xDC 'Ü'
+0xDD 'Ũ'
+0xDE 'Ū'
+0xDF 'ß'
+0xE0 'Ä'
+0xE1 'á'
+0xE2 'â'
+0xE3 'ã'
+0xE4 'ä'
+0xE5 'Ã¥'
+0xE6 'æ'
+0xE7 'į'
+0xE8 'Ä'
+0xE9 'é'
+0xEA 'Ä™'
+0xEB 'ë'
+0xEC 'Ä—'
+0xED 'í'
+0xEE 'î'
+0xEF 'Ä«'
+0xF0 'Ä‘'
+0xF1 'ņ'
+0xF2 'Å'
+0xF3 'Ä·'
+0xF4 'ô'
+0xF5 'õ'
+0xF6 'ö'
+0xF7 '÷'
+0xF8 'ø'
+0xF9 'ų'
+0xFA 'ú'
+0xFB 'û'
+0xFC 'ü'
+0xFD 'Å©'
+0xFE 'Å«'
+0xFF 'Ë™'
diff --git a/consoletrans/iso04.sfm b/consoletrans/iso04.sfm
new file mode 100644
index 0000000..62948f5
--- /dev/null
+++ b/consoletrans/iso04.sfm
@@ -0,0 +1,140 @@
+#
+# Unicode mapping table for ISO 8859-4 fonts iso04.*
+# [use: unicode_start iso04.f16 iso04]
+#
+0x20-0x7e idem
+0x7f U+2302
+#
+0x00 U+fffd
+0x01 U+263A
+0x02 U+263B
+0x03 U+2665
+0x04 U+2666
+0x05 U+2663
+0x06 U+2660
+0x07 U+2022
+0x08 U+25D8
+0x09 U+25CB
+0x0A U+25D9
+0x0B U+2642
+0x0C U+2640
+0x0D U+266A
+0x0E U+266B
+0x0E U+266C
+0x0F U+263C
+0x10 U+25B6
+0x10 U+25BA
+0x11 U+25C0
+0x11 U+25C4
+0x12 U+2195
+0x13 U+203C
+0x14 U+00B6
+0x15 U+00A7
+0x16 U+25AC
+0x17 U+21A8
+0x18 U+2191
+0x19 U+2193
+0x1A U+2192
+0x1B U+2190
+0x1C U+221F
+0x1C U+2319
+0x1D U+2194
+0x1E U+25B2
+0x1F U+25BC
+#
+0xa0 U+00a0
+0xa1 U+0104
+0xa2 U+0138
+0xa3 U+0156
+0xa4 U+00a4
+0xa5 U+0128
+0xa6 U+013b
+0xa7 U+00a7
+0xa8 U+00a8
+0xa9 U+0160
+0xaa U+0112
+0xab U+0122
+0xac U+0166
+0xad U+00ad
+0xae U+017d
+0xaf U+00af
+0xb0 U+00b0
+0xb1 U+0105
+0xb2 U+02db
+0xb3 U+0157
+0xb4 U+00b4
+0xb5 U+0129
+0xb6 U+013c
+0xb7 U+02c7
+0xb8 U+00b8
+0xb9 U+0161
+0xba U+0113
+0xbb U+0123
+0xbc U+0167
+0xbd U+014a
+0xbe U+017e
+0xbf U+014b
+0xc0 U+0100
+0xc1 U+00c1
+0xc2 U+00c2
+0xc3 U+00c3
+0xc4 U+00c4
+0xc5 U+00c5
+0xc6 U+00c6
+0xc7 U+012e
+0xc8 U+010c
+0xc9 U+00c9
+0xca U+0118
+0xcb U+00cb
+0xcc U+0116
+0xcd U+00cd
+0xce U+00ce
+0xcf U+012a
+0xd0 U+0110
+0xd1 U+0145
+0xd2 U+014c
+0xd3 U+0136
+0xd4 U+00d4
+0xd5 U+00d5
+0xd6 U+00d6
+0xd7 U+00d7
+0xd8 U+00d8
+0xd9 U+0172
+0xda U+00da
+0xdb U+00db
+0xdc U+00dc
+0xdd U+0168
+0xde U+016a
+0xdf U+00df
+0xe0 U+0101
+0xe1 U+00e1
+0xe2 U+00e2
+0xe3 U+00e3
+0xe4 U+00e4
+0xe5 U+00e5
+0xe6 U+00e6
+0xe7 U+012f
+0xe8 U+010d
+0xe9 U+00e9
+0xea U+0119
+0xeb U+00eb
+0xec U+0117
+0xed U+00ed
+0xee U+00ee
+0xef U+012b
+0xf0 U+0111
+0xf1 U+0146
+0xf2 U+014d
+0xf3 U+0137
+0xf4 U+00f4
+0xf5 U+00f5
+0xf6 U+00f6
+0xf7 U+00f7
+0xf8 U+00f8
+0xf9 U+0173
+0xfa U+00fa
+0xfb U+00fb
+0xfc U+00fc
+0xfd U+0169
+0xfe U+016b
+0xff U+02d9
diff --git a/consoletrans/iso05.acm b/consoletrans/iso05.acm
new file mode 100644
index 0000000..efda1f1
--- /dev/null
+++ b/consoletrans/iso05.acm
@@ -0,0 +1,135 @@
+# generated from UTF-tmpl.8bit.in by:
+# {
+# while read a b; do
+# echo -e $a \'\\echo "8o16i${b#U+}pq" | dc\';
+# done
+# } <data/consoletrans/UTF-tmpl.8bit.in
+
+0x80 '€'
+0x81 'Â'
+0x82 '‚'
+0x83 'ƒ'
+0x84 '„'
+0x85 'Â…'
+0x86 '†'
+0x87 '‡'
+0x88 'ˆ'
+0x89 '‰'
+0x8A 'Š'
+0x8B '‹'
+0x8C 'Œ'
+0x8D 'Â'
+0x8E 'ÂŽ'
+0x8F 'Â'
+0x90 'Â'
+0x91 '‘'
+0x92 'Â’'
+0x93 '“'
+0x94 '”'
+0x95 '•'
+0x96 '–'
+0x97 '—'
+0x98 '˜'
+0x99 '™'
+0x9A 'š'
+0x9B '›'
+0x9C 'œ'
+0x9D 'Â'
+0x9E 'ž'
+0x9F 'Ÿ'
+0xA0 ' '
+0xA1 'Ð'
+0xA2 'Ђ'
+0xA3 'Ѓ'
+0xA4 'Є'
+0xA5 'Ð…'
+0xA6 'І'
+0xA7 'Ї'
+0xA8 'Ј'
+0xA9 'Љ'
+0xAA 'Њ'
+0xAB 'Ћ'
+0xAC 'Ќ'
+0xAD '­'
+0xAE 'ÐŽ'
+0xAF 'Ð'
+0xB0 'Ð'
+0xB1 'Б'
+0xB2 'Ð’'
+0xB3 'Г'
+0xB4 'Д'
+0xB5 'Е'
+0xB6 'Ж'
+0xB7 'З'
+0xB8 'И'
+0xB9 'Й'
+0xBA 'К'
+0xBB 'Л'
+0xBC 'М'
+0xBD 'Ð'
+0xBE 'О'
+0xBF 'П'
+0xC0 'Р'
+0xC1 'С'
+0xC2 'Т'
+0xC3 'У'
+0xC4 'Ф'
+0xC5 'Ð¥'
+0xC6 'Ц'
+0xC7 'Ч'
+0xC8 'Ш'
+0xC9 'Щ'
+0xCA 'Ъ'
+0xCB 'Ы'
+0xCC 'Ь'
+0xCD 'Э'
+0xCE 'Ю'
+0xCF 'Я'
+0xD0 'а'
+0xD1 'б'
+0xD2 'в'
+0xD3 'г'
+0xD4 'д'
+0xD5 'е'
+0xD6 'ж'
+0xD7 'з'
+0xD8 'и'
+0xD9 'й'
+0xDA 'к'
+0xDB 'л'
+0xDC 'м'
+0xDD 'н'
+0xDE 'о'
+0xDF 'п'
+0xE0 'Ñ€'
+0xE1 'Ñ'
+0xE2 'Ñ‚'
+0xE3 'у'
+0xE4 'Ñ„'
+0xE5 'Ñ…'
+0xE6 'ц'
+0xE7 'ч'
+0xE8 'ш'
+0xE9 'щ'
+0xEA 'ÑŠ'
+0xEB 'Ñ‹'
+0xEC 'ь'
+0xED 'Ñ'
+0xEE 'ÑŽ'
+0xEF 'Ñ'
+0xF0 'â„–'
+0xF1 'Ñ‘'
+0xF2 'Ñ’'
+0xF3 'Ñ“'
+0xF4 'Ñ”'
+0xF5 'Ñ•'
+0xF6 'Ñ–'
+0xF7 'Ñ—'
+0xF8 'ј'
+0xF9 'Ñ™'
+0xFA 'Ñš'
+0xFB 'Ñ›'
+0xFC 'ќ'
+0xFD '§'
+0xFE 'Ñž'
+0xFF 'ÑŸ'
diff --git a/consoletrans/iso05.sfm b/consoletrans/iso05.sfm
new file mode 100644
index 0000000..8faa295
--- /dev/null
+++ b/consoletrans/iso05.sfm
@@ -0,0 +1,140 @@
+#
+# Unicode mapping table for ISO 8859-5 fonts iso05.*
+# [use: unicode_start iso05.f16 iso05]
+#
+0x20-0x7e idem
+0x7f U+2302
+#
+0x00 U+fffd
+0x01 U+263A
+0x02 U+263B
+0x03 U+2665
+0x04 U+2666
+0x05 U+2663
+0x06 U+2660
+0x07 U+2022
+0x08 U+25D8
+0x09 U+25CB
+0x0A U+25D9
+0x0B U+2642
+0x0C U+2640
+0x0D U+266A
+0x0E U+266B
+0x0E U+266C
+0x0F U+263C
+0x10 U+25B6
+0x10 U+25BA
+0x11 U+25C0
+0x11 U+25C4
+0x12 U+2195
+0x13 U+203C
+0x14 U+00B6
+0x15 U+00A7
+0x16 U+25AC
+0x17 U+21A8
+0x18 U+2191
+0x19 U+2193
+0x1A U+2192
+0x1B U+2190
+0x1C U+221F
+0x1C U+2319
+0x1D U+2194
+0x1E U+25B2
+0x1F U+25BC
+#
+0xa0 U+00a0
+0xa1 U+0401
+0xa2 U+0402
+0xa3 U+0403
+0xa4 U+0404
+0xa5 U+0405
+0xa6 U+0406
+0xa7 U+0407
+0xa8 U+0408
+0xa9 U+0409
+0xaa U+040a
+0xab U+040b
+0xac U+040c
+0xad U+00ad
+0xae U+040e
+0xaf U+040f
+0xb0 U+0410
+0xb1 U+0411
+0xb2 U+0412
+0xb3 U+0413
+0xb4 U+0414
+0xb5 U+0415
+0xb6 U+0416
+0xb7 U+0417
+0xb8 U+0418
+0xb9 U+0419
+0xba U+041a
+0xbb U+041b
+0xbc U+041c
+0xbd U+041d
+0xbe U+041e
+0xbf U+041f
+0xc0 U+0420
+0xc1 U+0421
+0xc2 U+0422
+0xc3 U+0423
+0xc4 U+0424
+0xc5 U+0425
+0xc6 U+0426
+0xc7 U+0427
+0xc8 U+0428
+0xc9 U+0429
+0xca U+042a
+0xcb U+042b
+0xcc U+042c
+0xcd U+042d
+0xce U+042e
+0xcf U+042f
+0xd0 U+0430
+0xd1 U+0431
+0xd2 U+0432
+0xd3 U+0433
+0xd4 U+0434
+0xd5 U+0435
+0xd6 U+0436
+0xd7 U+0437
+0xd8 U+0438
+0xd9 U+0439
+0xda U+043a
+0xdb U+043b
+0xdc U+043c
+0xdd U+043d
+0xde U+043e
+0xdf U+043f
+0xe0 U+0440
+0xe1 U+0441
+0xe2 U+0442
+0xe3 U+0443
+0xe4 U+0444
+0xe5 U+0445
+0xe6 U+0446
+0xe7 U+0447
+0xe8 U+0448
+0xe9 U+0449
+0xea U+044a
+0xeb U+044b
+0xec U+044c
+0xed U+044d
+0xee U+044e
+0xef U+044f
+0xf0 U+2116
+0xf1 U+0451
+0xf2 U+0452
+0xf3 U+0453
+0xf4 U+0454
+0xf5 U+0455
+0xf6 U+0456
+0xf7 U+0457
+0xf8 U+0458
+0xf9 U+0459
+0xfa U+045a
+0xfb U+045b
+0xfc U+045c
+0xfd U+00a7
+0xfe U+045e
+0xff U+045f
diff --git a/consoletrans/iso06.acm b/consoletrans/iso06.acm
new file mode 100644
index 0000000..0311375
--- /dev/null
+++ b/consoletrans/iso06.acm
@@ -0,0 +1,135 @@
+# generated from UTF-tmpl.8bit.in by:
+# {
+# while read a b; do
+# echo -e $a \'\\echo "8o16i${b#U+}pq" | dc\';
+# done
+# } <data/consoletrans/UTF-tmpl.8bit.in
+
+0x80 '€'
+0x81 'Â'
+0x82 '‚'
+0x83 'ƒ'
+0x84 '„'
+0x85 'Â…'
+0x86 '†'
+0x87 '‡'
+0x88 'ˆ'
+0x89 '‰'
+0x8A 'Š'
+0x8B '‹'
+0x8C 'Œ'
+0x8D 'Â'
+0x8E 'ÂŽ'
+0x8F 'Â'
+0x90 'Â'
+0x91 '‘'
+0x92 'Â’'
+0x93 '“'
+0x94 '”'
+0x95 '•'
+0x96 '–'
+0x97 '—'
+0x98 '˜'
+0x99 '™'
+0x9A 'š'
+0x9B '›'
+0x9C 'œ'
+0x9D 'Â'
+0x9E 'ž'
+0x9F 'Ÿ'
+0xA0 ' '
+0xA1 '�'
+0xA2 '�'
+0xA3 '�'
+0xA4 '¤'
+0xA5 '�'
+0xA6 '�'
+0xA7 '�'
+0xA8 '�'
+0xA9 '�'
+0xAA '�'
+0xAB '�'
+0xAC '،'
+0xAD '­'
+0xAE '�'
+0xAF '�'
+0xB0 '�'
+0xB1 '�'
+0xB2 '�'
+0xB3 '�'
+0xB4 '�'
+0xB5 '�'
+0xB6 '�'
+0xB7 '�'
+0xB8 '�'
+0xB9 '�'
+0xBA '�'
+0xBB 'Ø›'
+0xBC '�'
+0xBD '�'
+0xBE '�'
+0xBF 'ØŸ'
+0xC0 '�'
+0xC1 'Ø¡'
+0xC2 'Ø¢'
+0xC3 'Ø£'
+0xC4 'ؤ'
+0xC5 'Ø¥'
+0xC6 'ئ'
+0xC7 'ا'
+0xC8 'ب'
+0xC9 'Ø©'
+0xCA 'ت'
+0xCB 'Ø«'
+0xCC 'ج'
+0xCD 'Ø­'
+0xCE 'Ø®'
+0xCF 'د'
+0xD0 'Ø°'
+0xD1 'ر'
+0xD2 'ز'
+0xD3 'س'
+0xD4 'Ø´'
+0xD5 'ص'
+0xD6 'ض'
+0xD7 'Ø·'
+0xD8 'ظ'
+0xD9 'ع'
+0xDA 'غ'
+0xDB '�'
+0xDC '�'
+0xDD '�'
+0xDE '�'
+0xDF '�'
+0xE0 'Ù€'
+0xE1 'Ù'
+0xE2 'Ù‚'
+0xE3 'Ùƒ'
+0xE4 'Ù„'
+0xE5 'Ù…'
+0xE6 'Ù†'
+0xE7 'Ù‡'
+0xE8 'Ùˆ'
+0xE9 'Ù‰'
+0xEA 'ÙŠ'
+0xEB 'Ù‹'
+0xEC 'ٌ'
+0xED 'Ù'
+0xEE 'ÙŽ'
+0xEF 'Ù'
+0xF0 'Ù'
+0xF1 'Ù‘'
+0xF2 'Ù’'
+0xF3 '�'
+0xF4 '�'
+0xF5 '�'
+0xF6 '�'
+0xF7 '�'
+0xF8 '�'
+0xF9 '�'
+0xFA '�'
+0xFB '�'
+0xFC '�'
+0xFD '�'
+0xFE '�'
+0xFF '�'
diff --git a/consoletrans/iso06.sfm b/consoletrans/iso06.sfm
new file mode 100644
index 0000000..8a1da6e
--- /dev/null
+++ b/consoletrans/iso06.sfm
@@ -0,0 +1,95 @@
+#
+# Unicode mapping table for ISO 8859-6 fonts iso06.*
+# [use: unicode_start iso06.f16 iso06]
+#
+0x20-0x7e idem
+0x7f U+2302
+#
+0x00 U+fffd
+0x01 U+263A
+0x02 U+263B
+0x03 U+2665
+0x04 U+2666
+0x05 U+2663
+0x06 U+2660
+0x07 U+2022
+0x08 U+25D8
+0x09 U+25CB
+0x0A U+25D9
+0x0B U+2642
+0x0C U+2640
+0x0D U+266A
+0x0E U+266B
+0x0E U+266C
+0x0F U+263C
+0x10 U+25B6
+0x10 U+25BA
+0x11 U+25C0
+0x11 U+25C4
+0x12 U+2195
+0x13 U+203C
+0x14 U+00B6
+0x15 U+00A7
+0x16 U+25AC
+0x17 U+21A8
+0x18 U+2191
+0x19 U+2193
+0x1A U+2192
+0x1B U+2190
+0x1C U+221F
+0x1C U+2319
+0x1D U+2194
+0x1E U+25B2
+0x1F U+25BC
+#
+0xa0 U+00a0
+0xa4 U+00a4
+0xac U+060c
+0xad U+00ad
+0xbb U+061b
+0xbf U+061f
+0xc1 U+0621
+0xc2 U+0622
+0xc3 U+0623
+0xc4 U+0624
+0xc5 U+0625
+0xc6 U+0626
+0xc7 U+0627
+0xc8 U+0628
+0xc9 U+0629
+0xca U+062a
+0xcb U+062b
+0xcc U+062c
+0xcd U+062d
+0xce U+062e
+0xcf U+062f
+0xd0 U+0630
+0xd1 U+0631
+0xd2 U+0632
+0xd3 U+0633
+0xd4 U+0634
+0xd5 U+0635
+0xd6 U+0636
+0xd7 U+0637
+0xd8 U+0638
+0xd9 U+0639
+0xda U+063a
+0xe0 U+0640
+0xe1 U+0641
+0xe2 U+0642
+0xe3 U+0643
+0xe4 U+0644
+0xe5 U+0645
+0xe6 U+0646
+0xe7 U+0647
+0xe8 U+0648
+0xe9 U+0649
+0xea U+064a
+0xeb U+064b
+0xec U+064c
+0xed U+064d
+0xee U+064e
+0xef U+064f
+0xf0 U+0650
+0xf1 U+0651
+0xf2 U+0652
diff --git a/consoletrans/iso07.acm b/consoletrans/iso07.acm
new file mode 100644
index 0000000..b09509a
--- /dev/null
+++ b/consoletrans/iso07.acm
@@ -0,0 +1,135 @@
+# generated from UTF-tmpl.8bit.in by:
+# {
+# while read a b; do
+# echo -e $a \'\\echo "8o16i${b#U+}pq" | dc\';
+# done
+# } <data/consoletrans/UTF-tmpl.8bit.in
+
+0x80 '€'
+0x81 'Â'
+0x82 '‚'
+0x83 'ƒ'
+0x84 '„'
+0x85 'Â…'
+0x86 '†'
+0x87 '‡'
+0x88 'ˆ'
+0x89 '‰'
+0x8A 'Š'
+0x8B '‹'
+0x8C 'Œ'
+0x8D 'Â'
+0x8E 'ÂŽ'
+0x8F 'Â'
+0x90 'Â'
+0x91 '‘'
+0x92 'Â’'
+0x93 '“'
+0x94 '”'
+0x95 '•'
+0x96 '–'
+0x97 '—'
+0x98 '˜'
+0x99 '™'
+0x9A 'š'
+0x9B '›'
+0x9C 'œ'
+0x9D 'Â'
+0x9E 'ž'
+0x9F 'Ÿ'
+0xA0 ' '
+0xA1 '‛'
+0xA2 '’'
+0xA3 '£'
+0xA4 '�'
+0xA5 '�'
+0xA6 '¦'
+0xA7 '§'
+0xA8 '¨'
+0xA9 '©'
+0xAA '�'
+0xAB '«'
+0xAC '¬'
+0xAD '­'
+0xAE '�'
+0xAF '—'
+0xB0 '°'
+0xB1 '±'
+0xB2 '²'
+0xB3 '³'
+0xB4 '´'
+0xB5 'Î…'
+0xB6 'Ά'
+0xB7 '·'
+0xB8 'Έ'
+0xB9 'Ή'
+0xBA 'Ί'
+0xBB '»'
+0xBC 'Ό'
+0xBD '½'
+0xBE 'ÎŽ'
+0xBF 'Î'
+0xC0 'Î'
+0xC1 'Α'
+0xC2 'Î’'
+0xC3 'Γ'
+0xC4 'Δ'
+0xC5 'Ε'
+0xC6 'Ζ'
+0xC7 'Η'
+0xC8 'Θ'
+0xC9 'Ι'
+0xCA 'Κ'
+0xCB 'Λ'
+0xCC 'Μ'
+0xCD 'Î'
+0xCE 'Ξ'
+0xCF 'Ο'
+0xD0 'Π'
+0xD1 'Ρ'
+0xD2 '�'
+0xD3 'Σ'
+0xD4 'Τ'
+0xD5 'Î¥'
+0xD6 'Φ'
+0xD7 'Χ'
+0xD8 'Ψ'
+0xD9 'Ω'
+0xDA 'Ϊ'
+0xDB 'Ϋ'
+0xDC 'ά'
+0xDD 'έ'
+0xDE 'ή'
+0xDF 'ί'
+0xE0 'ΰ'
+0xE1 'α'
+0xE2 'β'
+0xE3 'γ'
+0xE4 'δ'
+0xE5 'ε'
+0xE6 'ζ'
+0xE7 'η'
+0xE8 'θ'
+0xE9 'ι'
+0xEA 'κ'
+0xEB 'λ'
+0xEC 'μ'
+0xED 'ν'
+0xEE 'ξ'
+0xEF 'ο'
+0xF0 'Ï€'
+0xF1 'Ï'
+0xF2 'Ï‚'
+0xF3 'σ'
+0xF4 'Ï„'
+0xF5 'Ï…'
+0xF6 'φ'
+0xF7 'χ'
+0xF8 'ψ'
+0xF9 'ω'
+0xFA 'ÏŠ'
+0xFB 'Ï‹'
+0xFC 'ό'
+0xFD 'Ï'
+0xFE 'ÏŽ'
+0xFF '�'
diff --git a/consoletrans/iso07.sfm b/consoletrans/iso07.sfm
new file mode 100644
index 0000000..844dcf8
--- /dev/null
+++ b/consoletrans/iso07.sfm
@@ -0,0 +1,135 @@
+#
+# Unicode mapping table for ISO 8859-7 fonts iso07.*
+# [use: unicode_start iso07.f16 iso07]
+#
+0x20-0x7e idem
+0x7f U+2302
+#
+0x00 U+fffd
+0x01 U+263A
+0x02 U+263B
+0x03 U+2665
+0x04 U+2666
+0x05 U+2663
+0x06 U+2660
+0x07 U+2022
+0x08 U+25D8
+0x09 U+25CB
+0x0A U+25D9
+0x0B U+2642
+0x0C U+2640
+0x0D U+266A
+0x0E U+266B
+0x0E U+266C
+0x0F U+263C
+0x10 U+25B6
+0x10 U+25BA
+0x11 U+25C0
+0x11 U+25C4
+0x12 U+2195
+0x13 U+203C
+0x14 U+00B6
+0x15 U+00A7
+0x16 U+25AC
+0x17 U+21A8
+0x18 U+2191
+0x19 U+2193
+0x1A U+2192
+0x1B U+2190
+0x1C U+221F
+0x1C U+2319
+0x1D U+2194
+0x1E U+25B2
+0x1F U+25BC
+#
+0xa0 U+00a0
+0xa1 U+0371
+0xa2 U+0372
+0xa3 U+00a3
+0xa6 U+00a6
+0xa7 U+00a7
+0xa8 U+00a8
+0xa9 U+00a9
+0xab U+00ab
+0xac U+00ac
+0xad U+00ad
+0xaf U+2015
+0xb0 U+00b0
+0xb1 U+00b1
+0xb2 U+00b2
+0xb3 U+00b3
+0xb4 U+03f3
+0xb5 U+03f4
+0xb6 U+0386
+0xb7 U+00b7
+0xb8 U+0388
+0xb9 U+0389
+0xba U+038a
+0xbb U+00bb
+0xbc U+038c
+0xbd U+00bd
+0xbe U+038e
+0xbf U+038f
+0xc0 U+0390
+0xc1 U+0391
+0xc2 U+0392
+0xc3 U+0393
+0xc4 U+0394
+0xc5 U+0395
+0xc6 U+0396
+0xc7 U+0397
+0xc8 U+0398
+0xc9 U+0399
+0xca U+039a
+0xcb U+039b
+0xcc U+039c
+0xcd U+039d
+0xce U+039e
+0xcf U+039f
+0xd0 U+03a0
+0xd1 U+03a1
+0xd3 U+03a3
+0xd4 U+03a4
+0xd5 U+03a5
+0xd6 U+03a6
+0xd7 U+03a7
+0xd8 U+03a8
+0xd9 U+03a9
+0xda U+03aa
+0xdb U+03ab
+0xdc U+03ac
+0xdd U+03ad
+0xde U+03ae
+0xdf U+03af
+0xe0 U+03b0
+0xe1 U+03b1
+0xe2 U+03b2
+0xe3 U+03b3
+0xe4 U+03b4
+0xe5 U+03b5
+0xe6 U+03b6
+0xe7 U+03b7
+0xe8 U+03b8
+0xe9 U+03b9
+0xea U+03ba
+0xeb U+03bb
+0xec U+03bc
+0xed U+03bd
+0xee U+03be
+0xef U+03bf
+0xf0 U+03c0
+0xf1 U+03c1
+0xf2 U+03c2
+0xf3 U+03c3
+0xf4 U+03c4
+0xf5 U+03c5
+0xf6 U+03c6
+0xf7 U+03c7
+0xf8 U+03c8
+0xf9 U+03c9
+0xfa U+03ca
+0xfb U+03cb
+0xfc U+03cc
+0xfd U+03cd
+0xfe U+03ce
+
diff --git a/consoletrans/iso08.acm b/consoletrans/iso08.acm
new file mode 100644
index 0000000..7db594d
--- /dev/null
+++ b/consoletrans/iso08.acm
@@ -0,0 +1,135 @@
+# generated from UTF-tmpl.8bit.in by:
+# {
+# while read a b; do
+# echo -e $a \'\\echo "8o16i${b#U+}pq" | dc\';
+# done
+# } <data/consoletrans/UTF-tmpl.8bit.in
+
+0x80 '€'
+0x81 'Â'
+0x82 '‚'
+0x83 'ƒ'
+0x84 '„'
+0x85 'Â…'
+0x86 '†'
+0x87 '‡'
+0x88 'ˆ'
+0x89 '‰'
+0x8A 'Š'
+0x8B '‹'
+0x8C 'Œ'
+0x8D 'Â'
+0x8E 'ÂŽ'
+0x8F 'Â'
+0x90 'Â'
+0x91 '‘'
+0x92 'Â’'
+0x93 '“'
+0x94 '”'
+0x95 '•'
+0x96 '–'
+0x97 '—'
+0x98 '˜'
+0x99 '™'
+0x9A 'š'
+0x9B '›'
+0x9C 'œ'
+0x9D 'Â'
+0x9E 'ž'
+0x9F 'Ÿ'
+0xA0 ' '
+0xA1 '�'
+0xA2 '¢'
+0xA3 '£'
+0xA4 '¤'
+0xA5 'Â¥'
+0xA6 '¦'
+0xA7 '§'
+0xA8 '¨'
+0xA9 '©'
+0xAA '×'
+0xAB '«'
+0xAC '¬'
+0xAD '­'
+0xAE '®'
+0xAF '‾'
+0xB0 '°'
+0xB1 '±'
+0xB2 '²'
+0xB3 '³'
+0xB4 '´'
+0xB5 'µ'
+0xB6 '¶'
+0xB7 '·'
+0xB8 '¸'
+0xB9 '¹'
+0xBA '÷'
+0xBB '»'
+0xBC '¼'
+0xBD '½'
+0xBE '¾'
+0xBF '�'
+0xC0 '�'
+0xC1 '�'
+0xC2 '�'
+0xC3 '�'
+0xC4 '�'
+0xC5 '�'
+0xC6 '�'
+0xC7 '�'
+0xC8 '�'
+0xC9 '�'
+0xCA '�'
+0xCB '�'
+0xCC '�'
+0xCD '�'
+0xCE '�'
+0xCF '�'
+0xD0 '�'
+0xD1 '�'
+0xD2 '�'
+0xD3 '�'
+0xD4 '�'
+0xD5 '�'
+0xD6 '�'
+0xD7 '�'
+0xD8 '�'
+0xD9 '�'
+0xDA '�'
+0xDB '�'
+0xDC '�'
+0xDD '�'
+0xDE '�'
+0xDF '‗'
+0xE0 '×'
+0xE1 'ב'
+0xE2 '×’'
+0xE3 'ד'
+0xE4 '×”'
+0xE5 'ו'
+0xE6 '×–'
+0xE7 '×—'
+0xE8 'ט'
+0xE9 '×™'
+0xEA 'ך'
+0xEB '×›'
+0xEC 'ל'
+0xED '×'
+0xEE 'מ'
+0xEF 'ן'
+0xF0 '× '
+0xF1 'ס'
+0xF2 '×¢'
+0xF3 '×£'
+0xF4 'פ'
+0xF5 '×¥'
+0xF6 'צ'
+0xF7 'ק'
+0xF8 'ר'
+0xF9 'ש'
+0xFA 'ת'
+0xFB '�'
+0xFC '�'
+0xFD '�'
+0xFE '�'
+0xFF '�'
diff --git a/consoletrans/iso08.sfm b/consoletrans/iso08.sfm
new file mode 100644
index 0000000..8d3d705
--- /dev/null
+++ b/consoletrans/iso08.sfm
@@ -0,0 +1,81 @@
+#
+# Unicode mapping table for ISO 8859-8 fonts iso08.*
+# [use: unicode_start iso08.f16 iso08]
+#
+0x20-0x7e idem
+0x7f U+2302
+#
+0x00 U+fffd
+0x01 U+263A
+0x02 U+263B
+0x03 U+2665
+0x04 U+2666
+0x05 U+2663
+0x06 U+2660
+0x07 U+2022
+0x08 U+25D8
+0x09 U+25CB
+0x0A U+25D9
+0x0B U+2642
+0x0C U+2640
+0x0D U+266A
+0x0E U+266B
+0x0E U+266C
+0x0F U+263C
+0x10 U+25B6
+0x10 U+25BA
+0x11 U+25C0
+0x11 U+25C4
+0x12 U+2195
+0x13 U+203C
+0x14 U+00B6
+0x15 U+00A7
+0x16 U+25AC
+0x17 U+21A8
+0x18 U+2191
+0x19 U+2193
+0x1A U+2192
+0x1B U+2190
+0x1C U+221F
+0x1C U+2319
+0x1D U+2194
+0x1E U+25B2
+0x1F U+25BC
+#
+0xa0 U+00a0
+0xa2-0xa9 idem
+0xaa U+00d7
+0xab-0xae idem
+0xaf U+203e
+0xb0-0xb9 idem
+0xba U+00f7
+0xbb-0xbe idem
+0xbf U+051f
+0xdf U+2017
+0xe0 U+05d0
+0xe1 U+05d1
+0xe2 U+05d2
+0xe3 U+05d3
+0xe4 U+05d4
+0xe5 U+05d5
+0xe6 U+05d6
+0xe7 U+05d7
+0xe8 U+05d8
+0xe9 U+05d9
+0xea U+05da
+0xeb U+05db
+0xec U+05dc
+0xed U+05dd
+0xee U+05de
+0xef U+05df
+0xf0 U+05e0
+0xf1 U+05e1
+0xf2 U+05e2
+0xf3 U+05e3
+0xf4 U+05e4
+0xf5 U+05e5
+0xf6 U+05e6
+0xf7 U+05e7
+0xf8 U+05e8
+0xf9 U+05e9
+0xfa U+05ea
diff --git a/consoletrans/iso09.acm b/consoletrans/iso09.acm
new file mode 100644
index 0000000..2fd4f34
--- /dev/null
+++ b/consoletrans/iso09.acm
@@ -0,0 +1,135 @@
+# generated from UTF-tmpl.8bit.in by:
+# {
+# while read a b; do
+# echo -e $a \'\\echo "8o16i${b#U+}pq" | dc\';
+# done
+# } <data/consoletrans/UTF-tmpl.8bit.in
+
+0x80 '€'
+0x81 'Â'
+0x82 '‚'
+0x83 'ƒ'
+0x84 '„'
+0x85 'Â…'
+0x86 '†'
+0x87 '‡'
+0x88 'ˆ'
+0x89 '‰'
+0x8A 'Š'
+0x8B '‹'
+0x8C 'Œ'
+0x8D 'Â'
+0x8E 'ÂŽ'
+0x8F 'Â'
+0x90 'Â'
+0x91 '‘'
+0x92 'Â’'
+0x93 '“'
+0x94 '”'
+0x95 '•'
+0x96 '–'
+0x97 '—'
+0x98 '˜'
+0x99 '™'
+0x9A 'š'
+0x9B '›'
+0x9C 'œ'
+0x9D 'Â'
+0x9E 'ž'
+0x9F 'Ÿ'
+0xA0 ' '
+0xA1 '¡'
+0xA2 '¢'
+0xA3 '£'
+0xA4 '¤'
+0xA5 'Â¥'
+0xA6 '¦'
+0xA7 '§'
+0xA8 '¨'
+0xA9 '©'
+0xAA 'ª'
+0xAB '«'
+0xAC '¬'
+0xAD '­'
+0xAE '®'
+0xAF '¯'
+0xB0 '°'
+0xB1 '±'
+0xB2 '²'
+0xB3 '³'
+0xB4 '´'
+0xB5 'µ'
+0xB6 '¶'
+0xB7 '·'
+0xB8 '¸'
+0xB9 '¹'
+0xBA 'º'
+0xBB '»'
+0xBC '¼'
+0xBD '½'
+0xBE '¾'
+0xBF '¿'
+0xC0 'À'
+0xC1 'Ã'
+0xC2 'Â'
+0xC3 'Ã'
+0xC4 'Ä'
+0xC5 'Ã…'
+0xC6 'Æ'
+0xC7 'Ç'
+0xC8 'È'
+0xC9 'É'
+0xCA 'Ê'
+0xCB 'Ë'
+0xCC 'Ì'
+0xCD 'Ã'
+0xCE 'ÃŽ'
+0xCF 'Ã'
+0xD0 'Äž'
+0xD1 'Ñ'
+0xD2 'Ã’'
+0xD3 'Ó'
+0xD4 'Ô'
+0xD5 'Õ'
+0xD6 'Ö'
+0xD7 '×'
+0xD8 'Ø'
+0xD9 'Ù'
+0xDA 'Ú'
+0xDB 'Û'
+0xDC 'Ü'
+0xDD 'Ä°'
+0xDE 'Åž'
+0xDF 'ß'
+0xE0 'à'
+0xE1 'á'
+0xE2 'â'
+0xE3 'ã'
+0xE4 'ä'
+0xE5 'Ã¥'
+0xE6 'æ'
+0xE7 'ç'
+0xE8 'è'
+0xE9 'é'
+0xEA 'Ä™'
+0xEB 'ë'
+0xEC 'Ä—'
+0xED 'í'
+0xEE 'î'
+0xEF 'Ä«'
+0xF0 'ÄŸ'
+0xF1 'ñ'
+0xF2 'ò'
+0xF3 'ó'
+0xF4 'ô'
+0xF5 'õ'
+0xF6 'ö'
+0xF7 '÷'
+0xF8 'ø'
+0xF9 'ù'
+0xFA 'ú'
+0xFB 'û'
+0xFC 'ü'
+0xFD 'ı'
+0xFE 'ÅŸ'
+0xFF 'ÿ'
diff --git a/consoletrans/iso09.sfm b/consoletrans/iso09.sfm
new file mode 100644
index 0000000..6cdcc20
--- /dev/null
+++ b/consoletrans/iso09.sfm
@@ -0,0 +1,54 @@
+#
+# Unicode mapping table for ISO 8859-9 fonts iso09.*
+# [use: unicode_start iso09.f16 iso09]
+#
+0x20-0x7e idem
+0x7f U+2302
+0xa0-0xcf idem
+0xd0 U+011e
+0xd1-0xdc idem
+0xdd U+0130
+0xde U+015e
+0xdf-0xef idem
+0xf0 U+011f
+0xf1-0xfc idem
+0xfd U+0131
+0xfe U+015f
+0xff U+00ff
+#
+0x00 U+fffd
+0x01 U+263A
+0x02 U+263B
+0x03 U+2665
+0x04 U+2666
+0x05 U+2663
+0x06 U+2660
+0x07 U+2022
+0x08 U+25D8
+0x09 U+25CB
+0x0A U+25D9
+0x0B U+2642
+0x0C U+2640
+0x0D U+266A
+0x0E U+266B
+0x0E U+266C
+0x0F U+263C
+0x10 U+25B6
+0x10 U+25BA
+0x11 U+25C0
+0x11 U+25C4
+0x12 U+2195
+0x13 U+203C
+0x14 U+00B6
+0x15 U+00A7
+0x16 U+25AC
+0x17 U+21A8
+0x18 U+2191
+0x19 U+2193
+0x1A U+2192
+0x1B U+2190
+0x1C U+221F
+0x1C U+2319
+0x1D U+2194
+0x1E U+25B2
+0x1F U+25BC
diff --git a/consoletrans/iso10.acm b/consoletrans/iso10.acm
new file mode 100644
index 0000000..6abeaef
--- /dev/null
+++ b/consoletrans/iso10.acm
@@ -0,0 +1,135 @@
+# generated from UTF-tmpl.8bit.in by:
+# {
+# while read a b; do
+# echo -e $a \'\\echo "8o16i${b#U+}pq" | dc\';
+# done
+# } <data/consoletrans/UTF-tmpl.8bit.in
+
+0x80 '€'
+0x81 'Â'
+0x82 '‚'
+0x83 'ƒ'
+0x84 '„'
+0x85 'Â…'
+0x86 '†'
+0x87 '‡'
+0x88 'ˆ'
+0x89 '‰'
+0x8A 'Š'
+0x8B '‹'
+0x8C 'Œ'
+0x8D 'Â'
+0x8E 'ÂŽ'
+0x8F 'Â'
+0x90 'Â'
+0x91 '‘'
+0x92 'Â’'
+0x93 '“'
+0x94 '”'
+0x95 '•'
+0x96 '–'
+0x97 '—'
+0x98 '˜'
+0x99 '™'
+0x9A 'š'
+0x9B '›'
+0x9C 'œ'
+0x9D 'Â'
+0x9E 'ž'
+0x9F 'Ÿ'
+0xA0 ' '
+0xA1 'Ä„'
+0xA2 'Ä’'
+0xA3 'Ä¢'
+0xA4 'Ī'
+0xA5 'Ĩ'
+0xA6 'Ķ'
+0xA7 '§'
+0xA8 'Ä»'
+0xA9 'Ä'
+0xAA 'Å '
+0xAB 'Ŧ'
+0xAC 'Ž'
+0xAD '­'
+0xAE 'Ū'
+0xAF 'ÅŠ'
+0xB0 '°'
+0xB1 'Ä…'
+0xB2 'Ä“'
+0xB3 'Ä£'
+0xB4 'Ä«'
+0xB5 'Ä©'
+0xB6 'Ä·'
+0xB7 '·'
+0xB8 'ļ'
+0xB9 'Ä‘'
+0xBA 'Å¡'
+0xBB 'ŧ'
+0xBC 'ž'
+0xBD '—'
+0xBE 'Å«'
+0xBF 'Å‹'
+0xC0 'Ä€'
+0xC1 'Ã'
+0xC2 'Â'
+0xC3 'Ã'
+0xC4 'Ä'
+0xC5 'Ã…'
+0xC6 'Æ'
+0xC7 'Ä®'
+0xC8 'Č'
+0xC9 'É'
+0xCA 'Ę'
+0xCB 'Ë'
+0xCC 'Ä–'
+0xCD 'Ã'
+0xCE 'ÃŽ'
+0xCF 'Ã'
+0xD0 'Ã'
+0xD1 'Å…'
+0xD2 'Ō'
+0xD3 'Ó'
+0xD4 'Ô'
+0xD5 'Õ'
+0xD6 'Ö'
+0xD7 'Ũ'
+0xD8 'Ø'
+0xD9 'Ų'
+0xDA 'Ú'
+0xDB 'Û'
+0xDC 'Ü'
+0xDD 'Ã'
+0xDE 'Þ'
+0xDF 'ß'
+0xE0 'Ä'
+0xE1 'á'
+0xE2 'â'
+0xE3 'ã'
+0xE4 'ä'
+0xE5 'Ã¥'
+0xE6 'æ'
+0xE7 'į'
+0xE8 'Ä'
+0xE9 'é'
+0xEA 'Ä™'
+0xEB 'ë'
+0xEC 'Ä—'
+0xED 'í'
+0xEE 'î'
+0xEF 'ï'
+0xF0 'ð'
+0xF1 'ņ'
+0xF2 'Å'
+0xF3 'ó'
+0xF4 'ô'
+0xF5 'õ'
+0xF6 'ö'
+0xF7 'Å©'
+0xF8 'ø'
+0xF9 'ų'
+0xFA 'ú'
+0xFB 'û'
+0xFC 'ü'
+0xFD 'ý'
+0xFE 'þ'
+0xFF 'ĸ'
diff --git a/consoletrans/iso10.sfm b/consoletrans/iso10.sfm
new file mode 100644
index 0000000..714cfa8
--- /dev/null
+++ b/consoletrans/iso10.sfm
@@ -0,0 +1,110 @@
+#
+# Unicode mapping table for the fonts iso10.*
+# [use: unicode_start iso10.f16 iso10]
+#
+0x20-0x7e idem
+0x7f U+2302
+#
+0x00 U+fffd
+0x01 U+263A
+0x02 U+263B
+0x03 U+2665
+0x04 U+2666
+0x05 U+2663
+0x06 U+2660
+0x07 U+2022
+0x08 U+25D8
+0x09 U+25CB
+0x0A U+25D9
+0x0B U+2642
+0x0C U+2640
+0x0D U+266A
+0x0E U+266B
+0x0E U+266C
+0x0F U+263C
+0x10 U+25B6
+0x10 U+25BA
+0x11 U+25C0
+0x11 U+25C4
+0x12 U+2195
+0x13 U+203C
+0x14 U+00B6
+0x15 U+00A7
+0x16 U+25AC
+0x17 U+21A8
+0x18 U+2191
+0x19 U+2193
+0x1A U+2192
+0x1B U+2190
+0x1C U+221F
+0x1C U+2319
+0x1D U+2194
+0x1E U+25B2
+0x1F U+25BC
+#
+0xa0 U+00a0
+0xa1 U+0104
+0xa2 U+0112
+0xa3 U+0122
+0xa4 U+012a
+0xa5 U+0128
+0xa6 U+0136
+0xa7 U+013b
+0xa8 U+0143
+0xa9 U+0156
+0xaa U+0160
+0xab U+0166
+0xac U+017d
+0xad U+00ad
+0xae U+0138
+0xaf U+014a
+0xb0 U+0111
+0xb1 U+0105
+0xb2 U+0113
+0xb3 U+0123
+0xb4 U+012b
+0xb5 U+0129
+0xb6 U+0137
+0xb7 U+013c
+0xb8 U+0144
+0xb9 U+0157
+0xba U+0161
+0xbb U+0167
+0xbc U+017e
+0xbd U+2015 # HORIZONTAL BAR
+0xbe U+00df
+0xbf U+014b
+0xc0 U+0100
+0xc1-0xc6 idem
+0xc7 U+012e
+0xc8 U+010c
+0xc9 U+00c9
+0xca U+0118
+0xcb U+00cb
+0xcc U+0116
+0xcd-0xd0 idem
+0xd1 U+0145
+0xd2 U+014c
+0xd3-0xd6 idem
+0xd7 U+0168
+0xd8 U+00d8
+0xd9 U+0172
+0xda-0xde idem
+0xdf U+016a
+0xe0 U+0101
+0xe1-0xe6 idem
+0xe7 U+012f
+0xe8 U+010d
+0xe9 U+00e9
+0xea U+0119
+0xeb U+00eb
+0xec U+0117
+0xed-0xf0 idem
+0xf1 U+0146
+0xf2 U+014d
+0xf3-0xf6 idem
+0xf7 U+0169
+0xf8 U+00f8
+0xf9 U+0173
+0xfa-0xfe idem
+0xff U+016b
diff --git a/consoletrans/iso13.acm b/consoletrans/iso13.acm
new file mode 100644
index 0000000..2a05164
--- /dev/null
+++ b/consoletrans/iso13.acm
Binary files differ
diff --git a/consoletrans/iso13.sfm b/consoletrans/iso13.sfm
new file mode 100644
index 0000000..c811c49
--- /dev/null
+++ b/consoletrans/iso13.sfm
@@ -0,0 +1,256 @@
+0x00 U+0000 # NULL
+0x01 U+0001 # START OF HEADING
+0x02 U+0002 # START OF TEXT
+0x03 U+0003 # END OF TEXT
+0x04 U+0004 # END OF TRANSMISSION
+0x05 U+0005 # ENQUIRY
+0x06 U+0006 # ACKNOWLEDGE
+0x07 U+0007 # BELL
+0x08 U+0008 # BACKSPACE
+0x09 U+0009 # HORIZONTAL TABULATION
+0x0a U+000a # LINE FEED
+0x0b U+000b # VERTICAL TABULATION
+0x0c U+000c # FORM FEED
+0x0d U+000d # CARRIAGE RETURN
+0x0e U+000e # SHIFT OUT
+0x0f U+000f # SHIFT IN
+0x10 U+0010 # DATA LINK ESCAPE
+0x11 U+0011 # DEVICE CONTROL ONE
+0x12 U+0012 # DEVICE CONTROL TWO
+0x13 U+0013 # DEVICE CONTROL THREE
+0x14 U+0014 # DEVICE CONTROL FOUR
+0x15 U+0015 # NEGATIVE ACKNOWLEDGE
+0x16 U+0016 # SYNCHRONOUS IDLE
+0x17 U+0017 # END OF TRANSMISSION BLOCK
+0x18 U+0018 # CANCEL
+0x19 U+0019 # END OF MEDIUM
+0x1a U+001a # SUBSTITUTE
+0x1b U+001b # ESCAPE
+0x1c U+001c # FILE SEPARATOR
+0x1d U+001d # GROUP SEPARATOR
+0x1e U+001e # RECORD SEPARATOR
+0x1f U+001f # UNIT SEPARATOR
+0x20 U+0020 # SPACE
+0x21 U+0021 # EXCLAMATION MARK
+0x22 U+0022 # QUOTATION MARK
+0x23 U+0023 # NUMBER SIGN
+0x24 U+0024 # DOLLAR SIGN
+0x25 U+0025 # PERCENT SIGN
+0x26 U+0026 # AMPERSAND
+0x27 U+0027 # APOSTROPHE
+0x28 U+0028 # LEFT PARENTHESIS
+0x29 U+0029 # RIGHT PARENTHESIS
+0x2a U+002a # ASTERISK
+0x2b U+002b # PLUS SIGN
+0x2c U+002c # COMMA
+0x2d U+002d # HYPHEN-MINUS
+0x2e U+002e # FULL STOP
+0x2f U+002f # SOLIDUS
+0x30 U+0030 # DIGIT ZERO
+0x31 U+0031 # DIGIT ONE
+0x32 U+0032 # DIGIT TWO
+0x33 U+0033 # DIGIT THREE
+0x34 U+0034 # DIGIT FOUR
+0x35 U+0035 # DIGIT FIVE
+0x36 U+0036 # DIGIT SIX
+0x37 U+0037 # DIGIT SEVEN
+0x38 U+0038 # DIGIT EIGHT
+0x39 U+0039 # DIGIT NINE
+0x3a U+003a # COLON
+0x3b U+003b # SEMICOLON
+0x3c U+003c # LESS-THAN SIGN
+0x3d U+003d # EQUALS SIGN
+0x3e U+003e # GREATER-THAN SIGN
+0x3f U+003f # QUESTION MARK
+0x40 U+0040 # COMMERCIAL AT
+0x41 U+0041 # LATIN CAPITAL LETTER A
+0x42 U+0042 # LATIN CAPITAL LETTER B
+0x43 U+0043 # LATIN CAPITAL LETTER C
+0x44 U+0044 # LATIN CAPITAL LETTER D
+0x45 U+0045 # LATIN CAPITAL LETTER E
+0x46 U+0046 # LATIN CAPITAL LETTER F
+0x47 U+0047 # LATIN CAPITAL LETTER G
+0x48 U+0048 # LATIN CAPITAL LETTER H
+0x49 U+0049 # LATIN CAPITAL LETTER I
+0x4a U+004a # LATIN CAPITAL LETTER J
+0x4b U+004b # LATIN CAPITAL LETTER K
+0x4c U+004c # LATIN CAPITAL LETTER L
+0x4d U+004d # LATIN CAPITAL LETTER M
+0x4e U+004e # LATIN CAPITAL LETTER N
+0x4f U+004f # LATIN CAPITAL LETTER O
+0x50 U+0050 # LATIN CAPITAL LETTER P
+0x51 U+0051 # LATIN CAPITAL LETTER Q
+0x52 U+0052 # LATIN CAPITAL LETTER R
+0x53 U+0053 # LATIN CAPITAL LETTER S
+0x54 U+0054 # LATIN CAPITAL LETTER T
+0x55 U+0055 # LATIN CAPITAL LETTER U
+0x56 U+0056 # LATIN CAPITAL LETTER V
+0x57 U+0057 # LATIN CAPITAL LETTER W
+0x58 U+0058 # LATIN CAPITAL LETTER X
+0x59 U+0059 # LATIN CAPITAL LETTER Y
+0x5a U+005a # LATIN CAPITAL LETTER Z
+0x5b U+005b # LEFT SQUARE BRACKET
+0x5c U+005c # REVERSE SOLIDUS
+0x5d U+005d # RIGHT SQUARE BRACKET
+0x5e U+005e # CIRCUMFLEX ACCENT
+0x5f U+005f # LOW LINE
+0x60 U+0060 # GRAVE ACCENT
+0x61 U+0061 # LATIN SMALL LETTER A
+0x62 U+0062 # LATIN SMALL LETTER B
+0x63 U+0063 # LATIN SMALL LETTER C
+0x64 U+0064 # LATIN SMALL LETTER D
+0x65 U+0065 # LATIN SMALL LETTER E
+0x66 U+0066 # LATIN SMALL LETTER F
+0x67 U+0067 # LATIN SMALL LETTER G
+0x68 U+0068 # LATIN SMALL LETTER H
+0x69 U+0069 # LATIN SMALL LETTER I
+0x6a U+006a # LATIN SMALL LETTER J
+0x6b U+006b # LATIN SMALL LETTER K
+0x6c U+006c # LATIN SMALL LETTER L
+0x6d U+006d # LATIN SMALL LETTER M
+0x6e U+006e # LATIN SMALL LETTER N
+0x6f U+006f # LATIN SMALL LETTER O
+0x70 U+0070 # LATIN SMALL LETTER P
+0x71 U+0071 # LATIN SMALL LETTER Q
+0x72 U+0072 # LATIN SMALL LETTER R
+0x73 U+0073 # LATIN SMALL LETTER S
+0x74 U+0074 # LATIN SMALL LETTER T
+0x75 U+0075 # LATIN SMALL LETTER U
+0x76 U+0076 # LATIN SMALL LETTER V
+0x77 U+0077 # LATIN SMALL LETTER W
+0x78 U+0078 # LATIN SMALL LETTER X
+0x79 U+0079 # LATIN SMALL LETTER Y
+0x7a U+007a # LATIN SMALL LETTER Z
+0x7b U+007b # LEFT CURLY BRACKET
+0x7c U+007c # VERTICAL LINE
+0x7d U+007d # RIGHT CURLY BRACKET
+0x7e U+007e # TILDE
+0x7f U+007f # DELETE
+0x80 U+0080 # <control>
+0x81 U+0081 # <control>
+0x82 U+0082 # <control>
+0x83 U+0083 # <control>
+0x84 U+0084 # <control>
+0x85 U+0085 # <control>
+0x86 U+0086 # <control>
+0x87 U+0087 # <control>
+0x88 U+0088 # <control>
+0x89 U+0089 # <control>
+0x8a U+008a # <control>
+0x8b U+008b # <control>
+0x8c U+008c # <control>
+0x8d U+008d # <control>
+0x8e U+008e # <control>
+0x8f U+008f # <control>
+0x90 U+0090 # <control>
+0x91 U+0091 # <control>
+0x92 U+0092 # <control>
+0x93 U+0093 # <control>
+0x94 U+0094 # <control>
+0x95 U+0095 # <control>
+0x96 U+0096 # <control>
+0x97 U+0097 # <control>
+0x98 U+0098 # <control>
+0x99 U+0099 # <control>
+0x9a U+009a # <control>
+0x9b U+009b # <control>
+0x9c U+009c # <control>
+0x9d U+009d # <control>
+0x9e U+009e # <control>
+0x9f U+009f # <control>
+0xa0 U+00a0 # NO-BREAK SPACE
+0xa1 U+201d # RIGHT DOUBLE QUOTATION MARK
+0xa2 U+00a2 # CENT SIGN
+0xa3 U+00a3 # POUND SIGN
+0xa4 U+00a4 # CURRENCY SIGN
+0xa5 U+201e # DOUBLE LOW-9 QUOTATION MARK
+0xa6 U+00a6 # BROKEN BAR
+0xa7 U+00a7 # SECTION SIGN
+0xa8 U+00d8 # LATIN CAPITAL LETTER O WITH STROKE
+0xa9 U+00a9 # COPYRIGHT SIGN
+0xaa U+0156 # LATIN CAPITAL LETTER R WITH CEDILLA
+0xab U+00ab # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xac U+00ac # NOT SIGN
+0xad U+00ad # SOFT HYPHEN
+0xae U+00ae # REGISTERED SIGN
+0xaf U+00c6 # LATIN CAPITAL LETTER AE
+0xb0 U+00b0 # DEGREE SIGN
+0xb1 U+00b1 # PLUS-MINUS SIGN
+0xb2 U+00b2 # SUPERSCRIPT TWO
+0xb3 U+00b3 # SUPERSCRIPT THREE
+0xb4 U+201c # LEFT DOUBLE QUOTATION MARK
+0xb5 U+00b5 # MICRO SIGN
+0xb6 U+00b6 # PILCROW SIGN
+0xb7 U+00b7 # MIDDLE DOT
+0xb8 U+00f8 # LATIN SMALL LETTER O WITH STROKE
+0xb9 U+00b9 # SUPERSCRIPT ONE
+0xba U+0157 # LATIN SMALL LETTER R WITH CEDILLA
+0xbb U+00bb # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+0xbc U+00bc # VULGAR FRACTION ONE QUARTER
+0xbd U+00bd # VULGAR FRACTION ONE HALF
+0xbe U+00be # VULGAR FRACTION THREE QUARTERS
+0xbf U+00e6 # LATIN SMALL LETTER AE
+0xc0 U+0104 # LATIN CAPITAL LETTER A WITH OGONEK
+0xc1 U+012e # LATIN CAPITAL LETTER I WITH OGONEK
+0xc2 U+0100 # LATIN CAPITAL LETTER A WITH MACRON
+0xc3 U+0106 # LATIN CAPITAL LETTER C WITH ACUTE
+0xc4 U+00c4 # LATIN CAPITAL LETTER A WITH DIAERESIS
+0xc5 U+00c5 # LATIN CAPITAL LETTER A WITH RING ABOVE
+0xc6 U+0118 # LATIN CAPITAL LETTER E WITH OGONEK
+0xc7 U+0112 # LATIN CAPITAL LETTER E WITH MACRON
+0xc8 U+010c # LATIN CAPITAL LETTER C WITH CARON
+0xc9 U+00c9 # LATIN CAPITAL LETTER E WITH ACUTE
+0xca U+0179 # LATIN CAPITAL LETTER Z WITH ACUTE
+0xcb U+0116 # LATIN CAPITAL LETTER E WITH DOT ABOVE
+0xcc U+0122 # LATIN CAPITAL LETTER G WITH CEDILLA
+0xcd U+0136 # LATIN CAPITAL LETTER K WITH CEDILLA
+0xce U+012a # LATIN CAPITAL LETTER I WITH MACRON
+0xcf U+013b # LATIN CAPITAL LETTER L WITH CEDILLA
+0xd0 U+0160 # LATIN CAPITAL LETTER S WITH CARON
+0xd1 U+0143 # LATIN CAPITAL LETTER N WITH ACUTE
+0xd2 U+0145 # LATIN CAPITAL LETTER N WITH CEDILLA
+0xd3 U+00d3 # LATIN CAPITAL LETTER O WITH ACUTE
+0xd4 U+014c # LATIN CAPITAL LETTER O WITH MACRON
+0xd5 U+00d5 # LATIN CAPITAL LETTER O WITH TILDE
+0xd6 U+00d6 # LATIN CAPITAL LETTER O WITH DIAERESIS
+0xd7 U+00d7 # MULTIPLICATION SIGN
+0xd8 U+0172 # LATIN CAPITAL LETTER U WITH OGONEK
+0xd9 U+0141 # LATIN CAPITAL LETTER L WITH STROKE
+0xda U+015a # LATIN CAPITAL LETTER S WITH ACUTE
+0xdb U+016a # LATIN CAPITAL LETTER U WITH MACRON
+0xdc U+00dc # LATIN CAPITAL LETTER U WITH DIAERESIS
+0xdd U+017b # LATIN CAPITAL LETTER Z WITH DOT ABOVE
+0xde U+017d # LATIN CAPITAL LETTER Z WITH CARON
+0xdf U+00df # LATIN SMALL LETTER SHARP S (German)
+0xe0 U+0105 # LATIN SMALL LETTER A WITH OGONEK
+0xe1 U+012f # LATIN SMALL LETTER I WITH OGONEK
+0xe2 U+0101 # LATIN SMALL LETTER A WITH MACRON
+0xe3 U+0107 # LATIN SMALL LETTER C WITH ACUTE
+0xe4 U+00e4 # LATIN SMALL LETTER A WITH DIAERESIS
+0xe5 U+00e5 # LATIN SMALL LETTER A WITH RING ABOVE
+0xe6 U+0119 # LATIN SMALL LETTER E WITH OGONEK
+0xe7 U+0113 # LATIN SMALL LETTER E WITH MACRON
+0xe8 U+010d # LATIN SMALL LETTER C WITH CARON
+0xe9 U+00e9 # LATIN SMALL LETTER E WITH ACUTE
+0xea U+017a # LATIN SMALL LETTER Z WITH ACUTE
+0xeb U+0117 # LATIN SMALL LETTER E WITH DOT ABOVE
+0xec U+0123 # LATIN SMALL LETTER G WITH CEDILLA
+0xed U+0137 # LATIN SMALL LETTER K WITH CEDILLA
+0xee U+012b # LATIN SMALL LETTER I WITH MACRON
+0xef U+013c # LATIN SMALL LETTER L WITH CEDILLA
+0xf0 U+0161 # LATIN SMALL LETTER S WITH CARON
+0xf1 U+0144 # LATIN SMALL LETTER N WITH ACUTE
+0xf2 U+0146 # LATIN SMALL LETTER N WITH CEDILLA
+0xf3 U+00f3 # LATIN SMALL LETTER O WITH ACUTE
+0xf4 U+014d # LATIN SMALL LETTER O WITH MACRON
+0xf5 U+00f5 # LATIN SMALL LETTER O WITH TILDE
+0xf6 U+00f6 # LATIN SMALL LETTER O WITH DIAERESIS
+0xf7 U+00f7 # DIVISION SIGN
+0xf8 U+0173 # LATIN SMALL LETTER U WITH OGONEK
+0xf9 U+0142 # LATIN SMALL LETTER L WITH STROKE
+0xfa U+015b # LATIN SMALL LETTER S WITH ACUTE
+0xfb U+016b # LATIN SMALL LETTER U WITH MACRON
+0xfc U+00fc # LATIN SMALL LETTER U WITH DIAERESIS
+0xfd U+017c # LATIN SMALL LETTER Z WITH DOT ABOVE
+0xfe U+017e # LATIN SMALL LETTER Z WITH CARON
+0xff U+2019 # RIGHT SINGLE QUOTATION MARK
diff --git a/consoletrans/iso14.sfm b/consoletrans/iso14.sfm
new file mode 100644
index 0000000..c9a46a1
--- /dev/null
+++ b/consoletrans/iso14.sfm
@@ -0,0 +1,107 @@
+# Unicode mapping table for ISO-8859-14 fonts iso14.*
+# [ use unicode_start iso14.f16 iso14]
+#
+# Latin Alphabet No. 8 (Celtic)
+# Source: Michael Everson, Everson Gunn Teoranta (IE).
+#
+# Copyright (C) 1997 Alastair McKinstry <alastair@ilo.dec.com> 1997-08-02
+# Released under the Gnu Public License
+#
+# Edited for new characters for ncurses, etc 1999-01-25
+0x20-0x7e idem
+# 0x7F not to be used.
+
+0x0D U+20A0 # EURO-CURRENCY SIGN
+0x0E U+20AC # EURO SIGN
+
+#
+# Some border characters for use in ncurses, etc.
+#
+
+0x80 U+2591
+0x81 U+2592
+0x82 U+2593
+0x83 U+2502
+0x84 U+2524
+0x85 U+2561
+0x86 U+2562
+0x87 U+2556
+0x88 U+2555
+0x89 U+2563
+0x8A U+2551
+0x8B U+2557
+0x8C U+255D
+0x8D U+255C
+0x8E U+255B
+0x8F U+2510
+0x90 U+2514
+0x91 U+2534
+0x92 U+252C
+0x93 U+251C
+0x94 U+2500
+0x95 U+253C
+0x96 U+255E
+0x97 U+255F
+0x98 U+255A
+
+0x99 U+2518
+0x9A U+250C
+
+0x9B U+2566
+0x9C U+2560
+0x9D U+2550
+0x9E U+256C
+0x9F U+2567
+
+0xA0 U+00A0
+0xA1 U+1E02
+0xA2 U+1E02
+0xA3 U+00A3
+0xA4 U+010A
+0xA5 U+010B
+0xA6 U+1E0A
+0xA7 U+00A7
+0xA8 U+1E80
+0xA9 U+00A9
+0xAA U+1E82
+0xAB U+1E0B
+0xAC U+1EF2
+0xAD U+00AD
+0xAE U+0131
+0xAF U+0178
+0xB0 U+1E1E
+0xB1 U+1E1F
+0xB2 U+0120
+0xB3 U+0121
+0xB4 U+1E40
+0xB5 U+1E41
+0xB6 U+00B6
+0xB7 U+1E56
+0xB8 U+1E81
+0xB9 U+1E57
+0xBA U+1E83
+0xBB U+1E60
+0xBC U+1EF3
+0xBD U+1E84
+0xBE U+1E85
+0xBF U+1E61
+
+
+0xC0-0xCF idem
+0xD0 U+0174
+0xD1-0xD6 idem
+0xD7 U+1E6A
+0xD8-0xDD idem
+0xDE U+0176
+0xDF-0xEF idem
+0xF0 U+0175
+0xF1-0xF6 idem
+0xF7 U+1E6B
+0xF8 U+00F8
+0xF9 U+00F9
+0xFA U+00FA
+0xFB U+00FB
+0xFC U+00FC
+0xFD U+00FD
+0xFE U+0177
+0xFF U+00FF
diff --git a/consoletrans/iso15.acm b/consoletrans/iso15.acm
new file mode 100644
index 0000000..8b31ec6
--- /dev/null
+++ b/consoletrans/iso15.acm
@@ -0,0 +1,140 @@
+# This is iso-8859-15 aka latin0 mapping.
+# It is very similar to iso-8859-1 (latin1), but
+# has the Euro sign and a few more characters in.
+# Look at www.unicode.org for detailed description.
+#
+# generated from UTF-tmpl.8bit.in by:
+# {
+# while read a b; do
+# echo -e $a \'\\echo "8o16i${b#U+}pq" | dc\';
+# done
+# } <data/consoletrans/UTF-tmpl.8bit.in
+
+0x80 '€'
+0x81 'Â'
+0x82 '‚'
+0x83 'ƒ'
+0x84 '„'
+0x85 'Â…'
+0x86 '†'
+0x87 '‡'
+0x88 'ˆ'
+0x89 '‰'
+0x8A 'Š'
+0x8B '‹'
+0x8C 'Œ'
+0x8D 'Â'
+0x8E 'ÂŽ'
+0x8F 'Â'
+0x90 'Â'
+0x91 '‘'
+0x92 'Â’'
+0x93 '“'
+0x94 '”'
+0x95 '•'
+0x96 '–'
+0x97 '—'
+0x98 '˜'
+0x99 '™'
+0x9A 'š'
+0x9B '›'
+0x9C 'œ'
+0x9D 'Â'
+0x9E 'ž'
+0x9F 'Ÿ'
+0xA0 ' '
+0xA1 '¡'
+0xA2 '¢'
+0xA3 '£'
+0xA4 '€'
+0xA5 'Â¥'
+0xA6 'Å '
+0xA7 '§'
+0xA8 'Å¡'
+0xA9 '©'
+0xAA 'ª'
+0xAB '«'
+0xAC '¬'
+0xAD '­'
+0xAE '®'
+0xAF '¯'
+0xB0 '°'
+0xB1 '±'
+0xB2 '²'
+0xB3 '³'
+0xB4 'Ž'
+0xB5 'µ'
+0xB6 '¶'
+0xB7 '·'
+0xB8 'ž'
+0xB9 '¹'
+0xBA 'º'
+0xBB '»'
+0xBC 'Å’'
+0xBD 'Å“'
+0xBE 'Ÿ'
+0xBF '¿'
+0xC0 'À'
+0xC1 'Ã'
+0xC2 'Â'
+0xC3 'Ã'
+0xC4 'Ä'
+0xC5 'Ã…'
+0xC6 'Æ'
+0xC7 'Ç'
+0xC8 'È'
+0xC9 'É'
+0xCA 'Ê'
+0xCB 'Ë'
+0xCC 'Ì'
+0xCD 'Ã'
+0xCE 'ÃŽ'
+0xCF 'Ã'
+0xD0 'Ã'
+0xD1 'Ñ'
+0xD2 'Ã’'
+0xD3 'Ó'
+0xD4 'Ô'
+0xD5 'Õ'
+0xD6 'Ö'
+0xD7 '×'
+0xD8 'Ø'
+0xD9 'Ù'
+0xDA 'Ú'
+0xDB 'Û'
+0xDC 'Ü'
+0xDD 'Ã'
+0xDE 'Þ'
+0xDF 'ß'
+0xE0 'à'
+0xE1 'á'
+0xE2 'â'
+0xE3 'ã'
+0xE4 'ä'
+0xE5 'Ã¥'
+0xE6 'æ'
+0xE7 'ç'
+0xE8 'è'
+0xE9 'é'
+0xEA 'ê'
+0xEB 'ë'
+0xEC 'ì'
+0xED 'í'
+0xEE 'î'
+0xEF 'ï'
+0xF0 'ð'
+0xF1 'ñ'
+0xF2 'ò'
+0xF3 'ó'
+0xF4 'ô'
+0xF5 'õ'
+0xF6 'ö'
+0xF7 '÷'
+0xF8 'ø'
+0xF9 'ù'
+0xFA 'ú'
+0xFB 'û'
+0xFC 'ü'
+0xFD 'ý'
+0xFE 'þ'
+0xFF 'ÿ'
diff --git a/consoletrans/iso15.sfm b/consoletrans/iso15.sfm
new file mode 100644
index 0000000..c253147
--- /dev/null
+++ b/consoletrans/iso15.sfm
@@ -0,0 +1,57 @@
+#
+# Unicode mapping table for ISO 8859-15 fonts iso15.*
+# usage: setfont -m trivial -u iso15.uni fontname
+#
+0x20-0x7e idem
+0x7f U+2302
+0xa0-0xa3 idem
+0xa4 U+20ac
+0xa5 U+00a5
+0xa6 U+0160
+0xa7 U+00a7
+0xa8 U+0161
+0xa9-0xb3 idem
+0xb4 U+017D
+0xb5-0xb7 idem
+0xb8 U+017E
+0xb9-0xbb idem
+0xbc U+0152
+0xbd U+0153
+0xbe U+0178
+0xbf-0xff idem
+0x00 U+fffd
+0x01 U+263A
+0x02 U+263B
+0x03 U+2665
+0x04 U+2666
+0x05 U+2663
+0x06 U+2660
+0x07 U+2022
+0x08 U+25D8
+0x09 U+25CB
+0x0A U+25D9
+0x0B U+2642
+0x0C U+2640
+0x0D U+266A
+0x0E U+266B
+0x0E U+266C
+0x0F U+263C
+0x10 U+25B6
+0x10 U+25BA
+0x11 U+25C0
+0x11 U+25C4
+0x12 U+2195
+0x13 U+203C
+0x14 U+00B6
+0x15 U+00A7
+0x16 U+25AC
+0x17 U+21A8
+0x18 U+2191
+0x19 U+2193
+0x1A U+2192
+0x1B U+2190
+0x1C U+221F
+0x1C U+2319
+0x1D U+2194
+0x1E U+25B2
+0x1F U+25BC
diff --git a/consoletrans/koi2alt.trans b/consoletrans/koi2alt.trans
new file mode 100644
index 0000000..b433918
--- /dev/null
+++ b/consoletrans/koi2alt.trans
@@ -0,0 +1,131 @@
+# Internal value (CP866/koi8) Output character (ISO 8859-5)
+# (Since CP866 and koi8 use almost disjoint code sets, we
+# can map both of them simultaneously to iso-8859-5.)
+0x80 0xB0
+0x81 0xB1
+0x82 0xB2
+0x83 0xB3
+0x84 0xB4
+0x85 0xB5
+0x86 0xB6
+0x87 0xB7
+0x88 0xB8
+0x89 0xB9
+0x8A 0xFA
+0x8B 0xBB
+0x8C 0xBC
+0x8D 0xBD
+0x8E 0xBE
+0x8F 0xBF
+0x90 0xC0
+0x91 0xC1
+0x92 0xC2
+0x93 0xC3
+0x94 0xC4
+0x95 0xC5
+0x96 0xC6
+0x97 0xC7
+0x98 0xC8
+0x99 0xC9
+0x9A 0xCA
+0x9B 0xFF # High-bit Escape to Rubout; should be 0xCB for Yeri
+0x9C 0xCC
+0x9D 0xCD
+0x9E 0xCE
+0x9F 0xCF
+0xA0 0xD0
+0xA1 0xD1
+0xA2 0xD2
+0xA3 0xF1 # yo ; should be 0xD3 for ghe
+0xA4 0xD4
+0xA5 0xD5
+0xA6 0xD6
+0xA7 0xD7
+0xA8 0xD8
+0xA9 0xD9
+0xAA 0xDA
+0xAB 0xDB
+0xAC 0xDC
+0xAD 0xDD
+0xAE 0xDE
+0xAF 0xDF
+0xB0 0xD3 # Changed, because yo
+0xB1 0xF3 #
+0xB2 0xF2
+0xB3 0xF0 # YO
+0xB4 0xF4
+0xB5 0xF5
+0xB6 0xF6
+0xB7 0xF7
+0xB8 0xF8
+0xB9 0xD0
+#0xBA 0xFA
+0xBB 0xFB
+0xBC 0xFC
+0xBD 0xFD
+0xBE 0xFE
+0xBF 0xCB #
+0xC0 0xEE # yu
+0xC1 0xA0 # a
+0xC2 0xA1 # b
+0xC3 0xE6 # c
+0xC4 0xA4 # d
+0xC5 0xA5 # e
+0xC6 0xE4 # f
+0xC7 0xA3 # g
+0xC8 0xE5 # h
+0xC9 0xA8 # i
+0xCA 0xA9 # iy
+0xCB 0xAA # k
+0xCC 0xAB # l
+0xCD 0xAC # m
+0xCE 0xAD # n
+0xCF 0xAE # o
+0xD0 0xAF # p
+0xD1 0xEF # ya
+0xD2 0xE0 # r
+0xD3 0xE1 # s
+0xD4 0xE2 # t
+0xD5 0xE3 # u
+0xD6 0xA6 # zh
+0xD7 0xA2 # v
+0xD8 0xEC # m znak
+0xD9 0xEB # y
+0xDA 0xA7 # z
+0xDB 0xE8 # sh
+0xDC 0xED # ae
+0xDD 0xE9 # sch
+0xDE 0xE7 # ch
+0xDF 0xEA # t znak
+0xE0 0x9E # YU
+0xE1 0x80 # A
+0xE2 0x81 # B
+0xE3 0x96 # C
+0xE4 0x84 # D
+0xE5 0x85 # E
+0xE6 0x94 # F
+0xE7 0x83 # G
+0xE8 0x95 # H
+0xE9 0x88 # I
+0xEA 0x89 # IY
+0xEB 0x8A # K
+0xEC 0x8B # L
+0xED 0x8C # M
+0xEE 0x8D # N
+0xEF 0x8E # O
+0xF0 0x8F # P
+0xF1 0x9F # YA
+0xF2 0x90 # R
+0xF3 0x91 # S
+0xF4 0x92 # T
+0xF5 0x93 # U
+0xF6 0x86 # ZH
+0xF7 0x82 # V
+0xF8 0x9C # M znak
+0xF9 0x9B # Y
+0xFA 0x87 # Z
+0xFB 0x98 # SH
+0xFC 0x9D # AE
+0xFD 0x99 # SCH
+0xFE 0x97 # CH
+0xFF 0x9A # T znak
diff --git a/consoletrans/koi8-r.acm b/consoletrans/koi8-r.acm
new file mode 100644
index 0000000..c163044
--- /dev/null
+++ b/consoletrans/koi8-r.acm
@@ -0,0 +1,225 @@
+# count=260
+
+0x21 '!'
+0x22 '"'
+0x23 U+0023
+0x24 '$'
+0x25 '%'
+0x26 '&'
+0x27 '''
+0x28 '('
+0x29 ')'
+0x2a '*'
+0x2b '+'
+0x2c ','
+0x2d '-'
+0x2e '.'
+0x2f '/'
+0x30 '0'
+0x31 '1'
+0x32 '2'
+0x33 '3'
+0x34 '4'
+0x35 '5'
+0x36 '6'
+0x37 '7'
+0x38 '8'
+0x39 '9'
+0x3a ':'
+0x3b ';'
+0x3c '<'
+0x3d '='
+0x3e '>'
+0x3f '?'
+0x40 '@'
+0x41 'A'
+0x42 'B'
+0x43 'C'
+0x44 'D'
+0x45 'E'
+0x46 'F'
+0x47 'G'
+0x48 'H'
+0x49 'I'
+0x4a 'J'
+0x4b 'K'
+0x4c 'L'
+0x4d 'M'
+0x4e 'N'
+0x4f 'O'
+0x50 'P'
+0x51 'Q'
+0x52 'R'
+0x53 'S'
+0x54 'T'
+0x55 'U'
+0x56 'V'
+0x57 'W'
+0x58 'X'
+0x59 'Y'
+0x5a 'Z'
+0x5b '['
+0x5c '\'
+0x5d ']'
+0x5e '^'
+0x5f '_'
+0x60 '`'
+0x61 'a'
+0x62 'b'
+0x63 'c'
+0x64 'd'
+0x65 'e'
+0x66 'f'
+0x67 'g'
+0x68 'h'
+0x69 'i'
+0x6a 'j'
+0x6b 'k'
+0x6c 'l'
+0x6d 'm'
+0x6e 'n'
+0x6f 'o'
+0x70 'p'
+0x71 'q'
+0x72 'r'
+0x73 's'
+0x74 't'
+0x75 'u'
+0x76 'v'
+0x77 'w'
+0x78 'x'
+0x79 'y'
+0x7a 'z'
+0x7b '{'
+0x7c '|'
+0x7d '}'
+0x7e '~'
+0x7f '⌂'
+0x80 '─'
+0x81 '│'
+0x82 '┌'
+0x83 'â”'
+0x84 'â””'
+0x85 '┘'
+0x86 '├'
+0x87 '┤'
+0x88 '┬'
+0x89 'â”´'
+0x8a '┼'
+0x8b '?'
+0x8c 'â–„'
+0x8d 'â–ˆ'
+0x8e '▌'
+0x8f '?'
+0x90 '?'
+0x91 'â–’'
+0x92 '?'
+0x93 '?'
+0x94 'â– '
+0x95 '?'
+0x96 '√'
+0x97 '≈'
+0x98 '≤'
+0x99 '≥'
+0x9a ' '
+0x9b '?'
+0x9c '°'
+0x9d '²'
+0x9e '·'
+0x9f '÷'
+0xa0 'â•'
+0xa1 '?'
+0xa2 '?'
+0xa3 'Ñ‘'
+0xa4 '?'
+0xa5 '?'
+0xa6 '?'
+0xa7 '?'
+0xa8 '?'
+0xa9 '?'
+0xaa '?'
+0xab '?'
+0xac '?'
+0xad '?'
+0xae '?'
+0xaf 'â•ž'
+0xb0 '?'
+0xb1 '?'
+0xb2 'â•¡'
+0xb3 'Ð'
+0xb4 '?'
+0xb5 '?'
+0xb6 '?'
+0xb7 '?'
+0xb8 '?'
+0xb9 '?'
+0xba '?'
+0xbb '?'
+0xbc '╪'
+0xbd '?'
+0xbe '?'
+0xbf '©'
+0xc0 'ÑŽ'
+0xc1 'а'
+0xc2 'б'
+0xc3 'ц'
+0xc4 'д'
+0xc5 'е'
+0xc6 'Ñ„'
+0xc7 'г'
+0xc8 'Ñ…'
+0xc9 'и'
+0xca 'й'
+0xcb 'к'
+0xcc 'л'
+0xcd 'м'
+0xce 'н'
+0xcf 'о'
+0xd0 'п'
+0xd1 'Ñ'
+0xd2 'Ñ€'
+0xd3 'Ñ'
+0xd4 'Ñ‚'
+0xd5 'у'
+0xd6 'ж'
+0xd7 'в'
+0xd8 'ь'
+0xd9 'Ñ‹'
+0xda 'з'
+0xdb 'ш'
+0xdc 'Ñ'
+0xdd 'щ'
+0xde 'ч'
+0xdf 'ÑŠ'
+0xe0 'Ю'
+0xe1 'Ð'
+0xe2 'Б'
+0xe3 'Ц'
+0xe4 'Д'
+0xe5 'Е'
+0xe6 'Ф'
+0xe7 'Г'
+0xe8 'Ð¥'
+0xe9 'И'
+0xea 'Й'
+0xeb 'К'
+0xec 'Л'
+0xed 'М'
+0xee 'Ð'
+0xef 'О'
+0xf0 'П'
+0xf1 'Я'
+0xf2 'Р'
+0xf3 'С'
+0xf4 'Т'
+0xf5 'У'
+0xf6 'Ж'
+0xf7 'Ð’'
+0xf8 'Ь'
+0xf9 'Ы'
+0xfa 'З'
+0xfb 'Ш'
+0xfc 'Э'
+0xfd 'Щ'
+0xfe 'Ч'
+0xff 'Ъ'
diff --git a/consoletrans/koi8-r.sfm b/consoletrans/koi8-r.sfm
new file mode 100644
index 0000000..8e79617
--- /dev/null
+++ b/consoletrans/koi8-r.sfm
@@ -0,0 +1,262 @@
+# This corresponds to KOI-8R except control characters (00-1F, 7F).
+# count=260
+0x000 U+0000 #
+0x001 U+263a # ☺
+0x002 U+263b # ☻
+0x003 U+2665 # ♥
+0x004 U+2666 # ♦
+0x005 U+2663 # ♣
+0x006 U+2660 # â™ 
+0x007 U+2022 # •
+0x008 U+25d8 # â—˜
+0x009 U+25cb # â—‹
+0x00a U+25d9 # â—™
+0x00b U+2642 # ♂
+0x00c U+2640 # ♀
+0x00d U+266a # ♪
+0x00e U+266b # ♫
+0x00e U+266c # ♬
+0x00f U+263c # ☼
+0x010 U+25b6 # â–¶
+0x010 U+25ba # â–º
+0x011 U+25c0 # â—€
+0x011 U+25c4 # â—„
+0x012 U+2195 # ↕
+0x013 U+203c # ‼
+0x014 U+00b6 # ¶
+0x015 U+00a7 # §
+0x016 U+25ac # â–¬
+0x017 U+21a8 # ↨
+0x018 U+2191 # ↑
+0x019 U+2193 # ↓
+0x01a U+2192 # →
+0x01b U+2190 # â†
+0x01c U+221f # ∟
+0x01c U+2319 # ⌙
+0x01d U+2194 # ↔
+0x01e U+25b2 # â–²
+0x01f U+25bc # â–¼
+0x020 U+0020 #
+0x021 U+0021 # !
+0x022 U+0022 # "
+0x023 U+0023 # #
+0x024 U+0024 # $
+0x025 U+0025 # %
+0x026 U+0026 # &
+0x027 U+0027 # '
+0x028 U+0028 # (
+0x029 U+0029 # )
+0x02a U+002a # *
+0x02b U+002b # +
+0x02c U+002c # ,
+0x02d U+002d # -
+0x02e U+002e # .
+0x02f U+002f # /
+0x030 U+0030 # 0
+0x031 U+0031 # 1
+0x032 U+0032 # 2
+0x033 U+0033 # 3
+0x034 U+0034 # 4
+0x035 U+0035 # 5
+0x036 U+0036 # 6
+0x037 U+0037 # 7
+0x038 U+0038 # 8
+0x039 U+0039 # 9
+0x03a U+003a # :
+0x03b U+003b # ;
+0x03c U+003c # <
+0x03d U+003d # =
+0x03e U+003e # >
+0x03f U+003f # ?
+0x040 U+0040 # @
+0x041 U+0041 # A
+0x042 U+0042 # B
+0x043 U+0043 # C
+0x044 U+0044 # D
+0x045 U+0045 # E
+0x046 U+0046 # F
+0x047 U+0047 # G
+0x048 U+0048 # H
+0x049 U+0049 # I
+0x04a U+004a # J
+0x04b U+004b # K
+0x04c U+004c # L
+0x04d U+004d # M
+0x04e U+004e # N
+0x04f U+004f # O
+0x050 U+0050 # P
+0x051 U+0051 # Q
+0x052 U+0052 # R
+0x053 U+0053 # S
+0x054 U+0054 # T
+0x055 U+0055 # U
+0x056 U+0056 # V
+0x057 U+0057 # W
+0x058 U+0058 # X
+0x059 U+0059 # Y
+0x05a U+005a # Z
+0x05b U+005b # [
+0x05c U+005c # \
+0x05d U+005d # ]
+0x05e U+005e # ^
+0x05f U+005f # _
+0x060 U+0060 # `
+0x061 U+0061 # a
+0x062 U+0062 # b
+0x063 U+0063 # c
+0x064 U+0064 # d
+0x065 U+0065 # e
+0x066 U+0066 # f
+0x067 U+0067 # g
+0x068 U+0068 # h
+0x069 U+0069 # i
+0x06a U+006a # j
+0x06b U+006b # k
+0x06c U+006c # l
+0x06d U+006d # m
+0x06e U+006e # n
+0x06f U+006f # o
+0x070 U+0070 # p
+0x071 U+0071 # q
+0x072 U+0072 # r
+0x073 U+0073 # s
+0x074 U+0074 # t
+0x075 U+0075 # u
+0x076 U+0076 # v
+0x077 U+0077 # w
+0x078 U+0078 # x
+0x079 U+0079 # y
+0x07a U+007a # z
+0x07b U+007b # {
+0x07c U+007c # |
+0x07d U+007d # }
+0x07e U+007e # ~
+0x07f U+2302 # ⌂
+0x080 U+2500 # ─
+0x081 U+2502 # │
+0x082 U+250c # ┌
+0x083 U+2510 # â”
+0x084 U+2514 # â””
+0x085 U+2518 # ┘
+0x086 U+251c # ├
+0x087 U+2524 # ┤
+0x088 U+252c # ┬
+0x089 U+2534 # â”´
+0x08a U+253c # ┼
+0x08b U+2580 # â–€
+0x08c U+2584 # â–„
+0x08d U+2588 # â–ˆ
+0x08e U+258c # ▌
+0x08f U+2590 # â–
+0x090 U+2591 # â–‘
+0x091 U+2592 # â–’
+0x092 U+2593 # â–“
+0x093 U+2320 # ⌠
+0x094 U+25a0 # â– 
+0x095 U+2219 # ∙
+0x096 U+221a # √
+0x097 U+2248 # ≈
+0x098 U+2264 # ≤
+0x099 U+2265 # ≥
+0x09a U+00a0 #  
+0x09b U+2321 # ⌡
+0x09c U+00b0 # °
+0x09d U+00b2 # ²
+0x09e U+00b7 # ·
+0x09f U+00f7 # ÷
+0x0a0 U+2550 # â•
+0x0a1 U+2551 # â•‘
+0x0a2 U+2552 # â•’
+0x0a3 U+0451 # Ñ‘
+0x0a4 U+2553 # â•“
+0x0a5 U+2554 # â•”
+0x0a6 U+2555 # â••
+0x0a7 U+2556 # â•–
+0x0a8 U+2557 # â•—
+0x0a9 U+2558 # ╘
+0x0aa U+2559 # â•™
+0x0ab U+255a # â•š
+0x0ac U+255b # â•›
+0x0ad U+255c # ╜
+0x0ae U+255d # â•
+0x0af U+255e # â•ž
+0x0b0 U+255f # â•Ÿ
+0x0b1 U+2560 # â• 
+0x0b2 U+2561 # â•¡
+0x0b3 U+0401 # Ð
+0x0b4 U+2562 # â•¢
+0x0b5 U+2563 # â•£
+0x0b6 U+2564 # ╤
+0x0b7 U+2565 # â•¥
+0x0b8 U+2566 # ╦
+0x0b9 U+2567 # ╧
+0x0ba U+2568 # ╨
+0x0bb U+2569 # â•©
+0x0bc U+256a # ╪
+0x0bd U+256b # â•«
+0x0be U+256c # ╬
+0x0bf U+00a9 # ©
+0x0c0 U+044e # ÑŽ
+0x0c1 U+0430 # а
+0x0c2 U+0431 # б
+0x0c3 U+0446 # ц
+0x0c4 U+0434 # д
+0x0c5 U+0435 # е
+0x0c6 U+0444 # Ñ„
+0x0c7 U+0433 # г
+0x0c8 U+0445 # Ñ…
+0x0c9 U+0438 # и
+0x0ca U+0439 # й
+0x0cb U+043a # к
+0x0cc U+043b # л
+0x0cd U+043c # м
+0x0ce U+043d # н
+0x0cf U+043e # о
+0x0d0 U+043f # п
+0x0d1 U+044f # Ñ
+0x0d2 U+0440 # р
+0x0d3 U+0441 # Ñ
+0x0d4 U+0442 # Ñ‚
+0x0d5 U+0443 # у
+0x0d6 U+0436 # ж
+0x0d7 U+0432 # в
+0x0d8 U+044c # ь
+0x0d9 U+044b # Ñ‹
+0x0da U+0437 # з
+0x0db U+0448 # ш
+0x0dc U+044d # Ñ
+0x0dd U+0449 # щ
+0x0de U+0447 # ч
+0x0df U+044a # ÑŠ
+0x0e0 U+042e # Ю
+0x0e1 U+0410 # Ð
+0x0e2 U+0411 # Б
+0x0e3 U+0426 # Ц
+0x0e4 U+0414 # Д
+0x0e5 U+0415 # Е
+0x0e6 U+0424 # Ф
+0x0e7 U+0413 # Г
+0x0e8 U+0425 # Х
+0x0e9 U+0418 # И
+0x0ea U+0419 # Й
+0x0eb U+041a # К
+0x0ec U+041b # Л
+0x0ed U+041c # М
+0x0ee U+041d # Ð
+0x0ef U+041e # О
+0x0f0 U+041f # П
+0x0f1 U+042f # Я
+0x0f2 U+0420 # Р
+0x0f3 U+0421 # С
+0x0f4 U+0422 # Т
+0x0f5 U+0423 # У
+0x0f6 U+0416 # Ж
+0x0f7 U+0412 # Ð’
+0x0f8 U+042c # Ь
+0x0f9 U+042b # Ы
+0x0fa U+0417 # З
+0x0fb U+0428 # Ш
+0x0fc U+042d # Э
+0x0fd U+0429 # Щ
+0x0fe U+0427 # Ч
+0x0ff U+042a # Ъ
diff --git a/consoletrans/koi8u.acm b/consoletrans/koi8u.acm
new file mode 100644
index 0000000..cf6f4a5
--- /dev/null
+++ b/consoletrans/koi8u.acm
@@ -0,0 +1,260 @@
+# This corresponds to KOI-8R except control characters (00-1F, 7F).
+#
+0x00 U+0000 #
+0x01 U+263a # ☺
+0x02 U+263b # ☻
+0x03 U+2665 # ♥
+0x04 U+2666 U+25c6 # ♦
+0x05 U+2663 # ♣
+0x06 U+2660 # â™ 
+0x07 U+2022 # •
+0x08 U+25d8 # â—˜
+0x09 U+25cb # â—‹
+0x0a U+25d9 # â—™
+0x0b U+2642 # ♂
+0x0c U+2640 # ♀
+0x0d U+266a # ♪
+0x0e U+266b # ♫
+0x0e U+266c # ♬
+0x0f U+263c # ☼
+0x10 U+25b6 U+25ba # â–¶
+0x11 U+25c0 U+25c4 # â—€
+0x12 U+2195 # ↕
+0x13 U+203c # ‼
+0x14 U+00b6 # ¶
+0x15 U+00a7 # §
+0x16 U+25ac # â–¬
+0x17 U+21a8 # ↨
+0x18 U+2191 # ↑
+0x19 U+2193 # ↓
+0x1a U+2192 # →
+0x1b U+2190 # â†
+0x1c U+221f U+2319 # ∟
+0x1d U+2194 # ↔
+0x1e U+25b2 # â–²
+0x1f U+25bc # â–¼
+0x20 U+0020 #
+0x21 U+0021 # !
+0x22 U+0022 U+00a8 # "
+0x23 U+0023 # #
+0x24 U+0024 # $
+0x25 U+0025 # %
+0x26 U+0026 # &
+0x27 U+0027 # '
+0x28 U+0028 # (
+0x29 U+0029 # )
+0x2a U+002a # *
+0x2b U+002b # +
+0x2c U+002c U+00b8 # ,
+0x2d U+002d U+00ad # -
+0x2e U+002e # .
+0x2f U+002f # /
+0x30 U+0030 # 0
+0x31 U+0031 # 1
+0x32 U+0032 # 2
+0x33 U+0033 # 3
+0x34 U+0034 # 4
+0x35 U+0035 # 5
+0x36 U+0036 # 6
+0x37 U+0037 # 7
+0x38 U+0038 # 8
+0x39 U+0039 # 9
+0x3a U+003a # :
+0x3b U+003b # ;
+0x3c U+003c # <
+0x3d U+003d # =
+0x3e U+003e # >
+0x3f U+003f # ?
+0x40 U+0040 # @
+0x41 U+0041 U+00c0 U+00c1 U+00c2 U+00c3 # A
+0x42 U+0042 # B
+0x43 U+0043 U+00a9 # C
+0x44 U+0044 # D
+0x45 U+0045 U+00c8 U+00ca U+00cb # E
+0x46 U+0046 # F
+0x47 U+0047 # G
+0x48 U+0048 # H
+0x49 U+0049 U+00cc U+00cd U+00ce U+00cf # I
+0x4a U+004a # J
+0x4b U+004b U+212a # K
+0x4c U+004c # L
+0x4d U+004d # M
+0x4e U+004e # N
+0x4f U+004f U+00d2 U+00d3 U+00d4 U+00d5 # O
+0x50 U+0050 # P
+0x51 U+0051 # Q
+0x52 U+0052 U+00ae # R
+0x53 U+0053 # S
+0x54 U+0054 # T
+0x55 U+0055 U+00d9 U+00da U+00db # U
+0x56 U+0056 # V
+0x57 U+0057 # W
+0x58 U+0058 # X
+0x59 U+0059 U+00dd # Y
+0x5a U+005a # Z
+0x5b U+005b # [
+0x5c U+005c # \
+0x5d U+005d # ]
+0x5e U+005e # ^
+0x5f U+005f U+f804 # _
+0x60 U+0060 # `
+0x61 U+0061 U+00e3 # a
+0x62 U+0062 # b
+0x63 U+0063 # c
+0x64 U+0064 # d
+0x65 U+0065 # e
+0x66 U+0066 # f
+0x67 U+0067 # g
+0x68 U+0068 # h
+0x69 U+0069 # i
+0x6a U+006a # j
+0x6b U+006b # k
+0x6c U+006c # l
+0x6d U+006d # m
+0x6e U+006e # n
+0x6f U+006f U+00f5 # o
+0x70 U+0070 # p
+0x71 U+0071 # q
+0x72 U+0072 # r
+0x73 U+0073 # s
+0x74 U+0074 # t
+0x75 U+0075 # u
+0x76 U+0076 # v
+0x77 U+0077 # w
+0x78 U+0078 U+00d7 # x
+0x79 U+0079 U+00fd # y
+0x7a U+007a # z
+0x7b U+007b # {
+0x7c U+007c U+00a5 # |
+0x7d U+007d # }
+0x7e U+007e # ~
+0x7f U+2302 # ⌂
+0x80 U+2500 # ─
+0x81 U+2502 # │
+0x82 U+250c # ┌
+0x83 U+2510 # â”
+0x84 U+2514 # â””
+0x85 U+2518 # ┘
+0x86 U+251c # ├
+0x87 U+2524 # ┤
+0x88 U+252c # ┬
+0x89 U+2534 # â”´
+0x8a U+253c # ┼
+0x8b U+2580 # â–€
+0x8c U+2584 # â–„
+0x8d U+2588 # â–ˆ
+0x8e U+258c # ▌
+0x8f U+2590 # â–
+0x90 U+2591 # â–‘
+0x91 U+2592 # â–’
+0x92 U+2593 # â–“
+0x93 U+2320 # ⌠
+# use this as a substitute char
+0x94 U+25a0 U+fffd # â– 
+0x95 U+2219 # ∙
+0x96 U+221a # √
+0x97 U+2248 # ≈
+0x98 U+2264 # ≤
+0x99 U+2265 # ≥
+0x9a U+00a0 #  
+0x9b U+2321 # ⌡
+0x9c U+00b0 # °
+0x9d U+00b2 # ²
+0x9e U+00b7 # ·
+0x9f U+00f7 # ÷
+0xa0 U+2550 # â•
+0xa1 U+2551 # â•‘
+0xa2 U+2552 # â•’
+0xa3 U+0451 # Ñ‘
+0xa4 U+0454 # Ñ”“
+0xa5 U+2554 # â•”
+0xa6 U+0456 # Ñ–•
+0xa7 U+0457 # Ñ—–
+0xa8 U+2557 # â•—
+0xa9 U+2558 # ╘
+0xaa U+2559 # â•™
+0xab U+255a # â•š
+0xac U+255b # â•›
+0xad U+0491 # Ò‘
+0xae U+255d # â•
+0xaf U+255e # â•ž
+0xb0 U+255f # â•Ÿ
+0xb1 U+2560 # â• 
+0xb2 U+2561 # â•¡
+0xb3 U+0401 # Ð
+0xb4 U+0404 # Є¢
+0xb5 U+2563 # â•£
+0xb6 U+0406 # І¤
+0xb7 U+0407 # Ї¥
+0xb8 U+2566 # ╦
+0xb9 U+2567 # ╧
+0xba U+2568 # ╨
+0xbb U+2569 # â•©
+0xbc U+256a # ╪
+0xbd U+0490 # Ò
+0xbe U+256c # ╬
+0xbf U+00a9 # ©
+0xc0 U+044e # ÑŽ
+0xc1 U+0430 # а
+0xc2 U+0431 # б
+0xc3 U+0446 # ц
+0xc4 U+0434 # д
+0xc5 U+0435 # е
+0xc6 U+0444 # Ñ„
+0xc7 U+0433 # г
+0xc8 U+0445 # Ñ…
+0xc9 U+0438 # и
+0xca U+0439 # й
+0xcb U+043a # к
+0xcc U+043b # л
+0xcd U+043c # м
+0xce U+043d # н
+0xcf U+043e # о
+0xd0 U+043f # п
+0xd1 U+044f # Ñ
+0xd2 U+0440 # р
+0xd3 U+0441 # Ñ
+0xd4 U+0442 # Ñ‚
+0xd5 U+0443 # у
+0xd6 U+0436 # ж
+0xd7 U+0432 # в
+0xd8 U+044c # ь
+0xd9 U+044b # Ñ‹
+0xda U+0437 # з
+0xdb U+0448 # ш
+0xdc U+044d # Ñ
+0xdd U+0449 # щ
+0xde U+0447 # ч
+0xdf U+044a # ÑŠ
+0xe0 U+042e # Ю
+0xe1 U+0410 # Ð
+0xe2 U+0411 # Б
+0xe3 U+0426 # Ц
+0xe4 U+0414 # Д
+0xe5 U+0415 # Е
+0xe6 U+0424 # Ф
+0xe7 U+0413 # Г
+0xe8 U+0425 # Х
+0xe9 U+0418 # И
+0xea U+0419 # Й
+0xeb U+041a # К
+0xec U+041b # Л
+0xed U+041c # М
+0xee U+041d # Ð
+0xef U+041e # О
+0xf0 U+041f # П
+0xf1 U+042f # Я
+0xf2 U+0420 # Р
+0xf3 U+0421 # С
+0xf4 U+0422 # Т
+0xf5 U+0423 # У
+0xf6 U+0416 # Ж
+0xf7 U+0412 # Ð’
+0xf8 U+042c # Ь
+0xf9 U+042b # Ы
+0xfa U+0417 # З
+0xfb U+0428 # Ш
+0xfc U+042d # Э
+0xfd U+0429 # Щ
+0xfe U+0427 # Ч
+0xff U+042a # Ъ
diff --git a/consoletrans/koi8u.sfm b/consoletrans/koi8u.sfm
new file mode 100644
index 0000000..815c654
--- /dev/null
+++ b/consoletrans/koi8u.sfm
@@ -0,0 +1,260 @@
+# This corresponds to KOI-8R except control characters (00-1F, 7F).
+#
+0x000 U+0000 #
+0x001 U+263a # ☺
+0x002 U+263b # ☻
+0x003 U+2665 # ♥
+0x004 U+2666 U+25c6 # ♦
+0x005 U+2663 # ♣
+0x006 U+2660 # â™ 
+0x007 U+2022 # •
+0x008 U+25d8 # â—˜
+0x009 U+25cb # â—‹
+0x00a U+25d9 # â—™
+0x00b U+2642 # ♂
+0x00c U+2640 # ♀
+0x00d U+266a # ♪
+0x00e U+266b # ♫
+0x00e U+266c # ♬
+0x00f U+263c # ☼
+0x010 U+25b6 U+25ba # â–¶
+0x011 U+25c0 U+25c4 # â—€
+0x012 U+2195 # ↕
+0x013 U+203c # ‼
+0x014 U+00b6 # ¶
+0x015 U+00a7 # §
+0x016 U+25ac # â–¬
+0x017 U+21a8 # ↨
+0x018 U+2191 # ↑
+0x019 U+2193 # ↓
+0x01a U+2192 # →
+0x01b U+2190 # â†
+0x01c U+221f U+2319 # ∟
+0x01d U+2194 # ↔
+0x01e U+25b2 # â–²
+0x01f U+25bc # â–¼
+0x020 U+0020 #
+0x021 U+0021 # !
+0x022 U+0022 U+00a8 # "
+0x023 U+0023 # #
+0x024 U+0024 # $
+0x025 U+0025 # %
+0x026 U+0026 # &
+0x027 U+0027 # '
+0x028 U+0028 # (
+0x029 U+0029 # )
+0x02a U+002a # *
+0x02b U+002b # +
+0x02c U+002c U+00b8 # ,
+0x02d U+002d U+00ad # -
+0x02e U+002e # .
+0x02f U+002f # /
+0x030 U+0030 # 0
+0x031 U+0031 # 1
+0x032 U+0032 # 2
+0x033 U+0033 # 3
+0x034 U+0034 # 4
+0x035 U+0035 # 5
+0x036 U+0036 # 6
+0x037 U+0037 # 7
+0x038 U+0038 # 8
+0x039 U+0039 # 9
+0x03a U+003a # :
+0x03b U+003b # ;
+0x03c U+003c # <
+0x03d U+003d # =
+0x03e U+003e # >
+0x03f U+003f # ?
+0x040 U+0040 # @
+0x041 U+0041 U+00c0 U+00c1 U+00c2 U+00c3 # A
+0x042 U+0042 # B
+0x043 U+0043 U+00a9 # C
+0x044 U+0044 # D
+0x045 U+0045 U+00c8 U+00ca U+00cb # E
+0x046 U+0046 # F
+0x047 U+0047 # G
+0x048 U+0048 # H
+0x049 U+0049 U+00cc U+00cd U+00ce U+00cf # I
+0x04a U+004a # J
+0x04b U+004b U+212a # K
+0x04c U+004c # L
+0x04d U+004d # M
+0x04e U+004e # N
+0x04f U+004f U+00d2 U+00d3 U+00d4 U+00d5 # O
+0x050 U+0050 # P
+0x051 U+0051 # Q
+0x052 U+0052 U+00ae # R
+0x053 U+0053 # S
+0x054 U+0054 # T
+0x055 U+0055 U+00d9 U+00da U+00db # U
+0x056 U+0056 # V
+0x057 U+0057 # W
+0x058 U+0058 # X
+0x059 U+0059 U+00dd # Y
+0x05a U+005a # Z
+0x05b U+005b # [
+0x05c U+005c # \
+0x05d U+005d # ]
+0x05e U+005e # ^
+0x05f U+005f U+f804 # _
+0x060 U+0060 # `
+0x061 U+0061 U+00e3 # a
+0x062 U+0062 # b
+0x063 U+0063 # c
+0x064 U+0064 # d
+0x065 U+0065 # e
+0x066 U+0066 # f
+0x067 U+0067 # g
+0x068 U+0068 # h
+0x069 U+0069 # i
+0x06a U+006a # j
+0x06b U+006b # k
+0x06c U+006c # l
+0x06d U+006d # m
+0x06e U+006e # n
+0x06f U+006f U+00f5 # o
+0x070 U+0070 # p
+0x071 U+0071 # q
+0x072 U+0072 # r
+0x073 U+0073 # s
+0x074 U+0074 # t
+0x075 U+0075 # u
+0x076 U+0076 # v
+0x077 U+0077 # w
+0x078 U+0078 U+00d7 # x
+0x079 U+0079 U+00fd # y
+0x07a U+007a # z
+0x07b U+007b # {
+0x07c U+007c U+00a5 # |
+0x07d U+007d # }
+0x07e U+007e # ~
+0x07f U+2302 # ⌂
+0x080 U+2500 # ─
+0x081 U+2502 # │
+0x082 U+250c # ┌
+0x083 U+2510 # â”
+0x084 U+2514 # â””
+0x085 U+2518 # ┘
+0x086 U+251c # ├
+0x087 U+2524 # ┤
+0x088 U+252c # ┬
+0x089 U+2534 # â”´
+0x08a U+253c # ┼
+0x08b U+2580 # â–€
+0x08c U+2584 # â–„
+0x08d U+2588 # â–ˆ
+0x08e U+258c # ▌
+0x08f U+2590 # â–
+0x090 U+2591 # â–‘
+0x091 U+2592 # â–’
+0x092 U+2593 # â–“
+0x093 U+2320 # ⌠
+# use this as a substitute char
+0x094 U+25a0 U+fffd # â– 
+0x095 U+2219 # ∙
+0x096 U+221a # √
+0x097 U+2248 # ≈
+0x098 U+2264 # ≤
+0x099 U+2265 # ≥
+0x09a U+00a0 #  
+0x09b U+2321 # ⌡
+0x09c U+00b0 # °
+0x09d U+00b2 # ²
+0x09e U+00b7 # ·
+0x09f U+00f7 # ÷
+0x0a0 U+2550 # â•
+0x0a1 U+2551 # â•‘
+0x0a2 U+2552 # â•’
+0x0a3 U+0451 # Ñ‘
+0x0a4 U+0454 # Ñ”“
+0x0a5 U+2554 # â•”
+0x0a6 U+0456 # Ñ–•
+0x0a7 U+0457 # Ñ—–
+0x0a8 U+2557 # â•—
+0x0a9 U+2558 # ╘
+0x0aa U+2559 # â•™
+0x0ab U+255a # â•š
+0x0ac U+255b # â•›
+0x0ad U+0491 # Ò‘
+0x0ae U+255d # â•
+0x0af U+255e # â•ž
+0x0b0 U+255f # â•Ÿ
+0x0b1 U+2560 # â• 
+0x0b2 U+2561 # â•¡
+0x0b3 U+0401 # Ð
+0x0b4 U+0404 # Є¢
+0x0b5 U+2563 # â•£
+0x0b6 U+0406 # І¤
+0x0b7 U+0407 # Ї¥
+0x0b8 U+2566 # ╦
+0x0b9 U+2567 # ╧
+0x0ba U+2568 # ╨
+0x0bb U+2569 # â•©
+0x0bc U+256a # ╪
+0x0bd U+0490 # Ò
+0x0be U+256c # ╬
+0x0bf U+00a9 # ©
+0x0c0 U+044e # ÑŽ
+0x0c1 U+0430 # а
+0x0c2 U+0431 # б
+0x0c3 U+0446 # ц
+0x0c4 U+0434 # д
+0x0c5 U+0435 # е
+0x0c6 U+0444 # Ñ„
+0x0c7 U+0433 # г
+0x0c8 U+0445 # Ñ…
+0x0c9 U+0438 # и
+0x0ca U+0439 # й
+0x0cb U+043a # к
+0x0cc U+043b # л
+0x0cd U+043c # м
+0x0ce U+043d # н
+0x0cf U+043e # о
+0x0d0 U+043f # п
+0x0d1 U+044f # Ñ
+0x0d2 U+0440 # р
+0x0d3 U+0441 # Ñ
+0x0d4 U+0442 # Ñ‚
+0x0d5 U+0443 # у
+0x0d6 U+0436 # ж
+0x0d7 U+0432 # в
+0x0d8 U+044c # ь
+0x0d9 U+044b # Ñ‹
+0x0da U+0437 # з
+0x0db U+0448 # ш
+0x0dc U+044d # Ñ
+0x0dd U+0449 # щ
+0x0de U+0447 # ч
+0x0df U+044a # ÑŠ
+0x0e0 U+042e # Ю
+0x0e1 U+0410 # Ð
+0x0e2 U+0411 # Б
+0x0e3 U+0426 # Ц
+0x0e4 U+0414 # Д
+0x0e5 U+0415 # Е
+0x0e6 U+0424 # Ф
+0x0e7 U+0413 # Г
+0x0e8 U+0425 # Х
+0x0e9 U+0418 # И
+0x0ea U+0419 # Й
+0x0eb U+041a # К
+0x0ec U+041b # Л
+0x0ed U+041c # М
+0x0ee U+041d # Ð
+0x0ef U+041e # О
+0x0f0 U+041f # П
+0x0f1 U+042f # Я
+0x0f2 U+0420 # Р
+0x0f3 U+0421 # С
+0x0f4 U+0422 # Т
+0x0f5 U+0423 # У
+0x0f6 U+0416 # Ж
+0x0f7 U+0412 # Ð’
+0x0f8 U+042c # Ь
+0x0f9 U+042b # Ы
+0x0fa U+0417 # З
+0x0fb U+0428 # Ш
+0x0fc U+042d # Э
+0x0fd U+0429 # Щ
+0x0fe U+0427 # Ч
+0x0ff U+042a # Ъ
diff --git a/consoletrans/koi8u2ruscii.trans b/consoletrans/koi8u2ruscii.trans
new file mode 100644
index 0000000..cf70538
--- /dev/null
+++ b/consoletrans/koi8u2ruscii.trans
@@ -0,0 +1,141 @@
+# This translation table is intended to be used for KOI8-U to RUSCII
+# translation.
+#
+0x80 0xC4
+0x81 0xB3
+0x82 0xDA
+0x83 0xBF
+0x84 0xC0
+0x85 0xD9
+0x86 0xC3
+0x87 0xB4
+0x88 0xC2
+0x89 0xC1
+0x8A 0xC5
+0x8B 0xDF
+0x8C 0xDC
+0x8D 0xDB
+0x8E 0xDD
+0x8F 0xDE
+#
+# all symbols which are not present in ruscii
+# mapped to 0xFE (U+fffd in koi8u.uni)
+#
+0x90 0xB0
+0x91 0xB1
+0x92 0xB2
+0x93 0xFE
+0x94 0xFE
+0x95 0xFE
+0x96 0xFB
+0x97 0xFE
+0x98 0xFE
+0x99 0xFE
+0x9A 0xFF
+0x9B 0xFE
+0x9C 0xFE
+0x9D 0xFD
+0x9E 0xFA
+0x9F 0xFE
+#
+0xA0 0xCD
+0xA1 0xBA
+0xA2 0xD5
+0xA3 0xF1
+0xA4 0xF5
+0xA5 0xC9
+0xA6 0xF7
+0xA7 0xF9
+0xA8 0xBB
+0xA9 0xD4
+0xAA 0xD3
+0xAB 0xC8
+0xAC 0xBE
+0xAD 0xF3
+0xAE 0xBC
+0xAF 0xC6
+#
+0xB0 0xC7
+0xB1 0xCC
+0xB2 0xB5
+0xB3 0xF0
+0xB4 0xF4
+0xB5 0xB9
+0xB6 0xF6
+0xB7 0xF8
+0xB8 0xCB
+0xB9 0xCF
+0xBA 0xD0
+0xBB 0xCA
+0xBC 0xD8
+0xBD 0xF2
+0xBE 0xCE
+0xBF 0xFC
+#
+0xC0 0xEE
+0xC1 0xA0
+0xC2 0xA1
+0xC3 0xE6
+0xC4 0xA4
+0xC5 0xA5
+0xC6 0xE4
+0xC7 0xA3
+0xC8 0xE5
+0xC9 0xA8
+0xCA 0xA9
+0xCB 0xAA
+0xCC 0xAB
+0xCD 0xAC
+0xCE 0xAD
+0xCF 0xAE
+#
+0xD0 0xAF
+0xD1 0xEF
+0xD2 0xE0
+0xD3 0xE1
+0xD4 0xE2
+0xD5 0xE3
+0xD6 0xA6
+0xD7 0xA2
+0xD8 0xEC
+0xD9 0xEB
+0xDA 0xA7
+0xDB 0xE8
+0xDC 0xED
+0xDD 0xE9
+0xDE 0xE7
+0xDF 0xEA
+#
+0xE0 0x9E
+0xE1 0x80
+0xE2 0x81
+0xE3 0x96
+0xE4 0x84
+0xE5 0x85
+0xE6 0x94
+0xE7 0x83
+0xE8 0x95
+0xE9 0x88
+0xEA 0x89
+0xEB 0x8A
+0xEC 0x8B
+0xED 0x8C
+0xEE 0x8D
+0xEF 0x8E
+#
+0xF0 0x8F
+0xF1 0x9F
+0xF2 0x90
+0xF3 0x91
+0xF4 0x92
+0xF5 0x93
+0xF6 0x86
+0xF7 0x82
+0xF8 0x9C
+0xF9 0x9B
+0xFA 0x87
+0xFB 0x98
+0xFC 0x9D
+0xFD 0x99
+0xFE 0x97
+0xFF 0x9A
diff --git a/consoletrans/lat1.sfm b/consoletrans/lat1.sfm
new file mode 100644
index 0000000..421d2b7
--- /dev/null
+++ b/consoletrans/lat1.sfm
@@ -0,0 +1,70 @@
+#
+# Unicode mapping table for Latin-1 fonts lat1*.psf
+#
+0x20-0x7e idem
+0x7f U+0178
+0xa0-0xff idem
+0x00 U+fffd
+0x01 U+2248
+0x02 U+0152
+0x03 U+0153
+0x04 U+25c6
+0x05 U+2409
+0x06 U+240c
+0x07 U+240d
+0x08 U+240a
+0x09 U+2591
+0x0a U+2592
+0x0b U+2593
+0x0c U+2588
+0x0d U+2584
+0x0e U+2580
+0x0f U+258c
+0x10 U+2590
+0x11 U+2424
+0x12 U+240b
+0x13 U+2264
+0x14 U+2265
+0x15 U+2260
+0x16 U+25c0
+0x17 U+25b6
+0x18 U+2191
+0x19 U+2193
+0x1a U+2192
+0x1b U+2190
+0x1c U+2195
+0x1d U+2194
+0x1e U+21b5
+0x1f U+03c0
+#
+0x80 U+00af
+0x81 U+2575
+0x82 U+2576
+0x83 U+2514
+0x84 U+2577
+0x85 U+2502
+0x86 U+250c
+0x87 U+251c
+0x88 U+2574
+0x89 U+2518
+0x8a U+2500
+0x8b U+2534
+0x8c U+2510
+0x8d U+2524
+0x8e U+252c
+0x8f U+253c
+0x90 U+00ad
+0x91 U+2579
+0x92 U+257a
+0x93 U+2517 U+255a
+0x94 U+257b
+0x95 U+2503 U+2551
+0x96 U+250f U+2554
+0x97 U+2523 U+2560
+0x98 U+2578
+0x99 U+251b U+255d
+0x9a U+2501 U+2550
+0x9b U+253b U+2569
+0x9c U+2513 U+2557
+0x9e U+2533 U+2566
+0x9f U+254b U+256c
diff --git a/consoletrans/lat1u.sfm b/consoletrans/lat1u.sfm
new file mode 100644
index 0000000..b55b9e0
--- /dev/null
+++ b/consoletrans/lat1u.sfm
@@ -0,0 +1,139 @@
+#
+# Unicode mapping tables for Latin-1 fonts lat1*.psfu
+#
+# Note: to work better with VGA hardware, we have moved the range 0xc0-0xdf
+# to 0x80-0x9f and use the 0xc0-0xdf range for block graphics
+# In addition, the unused ranges in ISO 8859 have been used for additional
+# characters; mostly the ones in the DEC VT100 graphics set
+#
+
+#
+# DEC VT graphics and some more
+#
+0x00 U+fffd
+0x01 U+2248
+0x02 U+0152
+0x03 U+0153
+0x04 U+25c6
+0x05 U+2409
+0x06 U+240c
+0x07 U+240d
+0x08 U+240a
+0x09 U+2591
+0x0a U+2592
+0x0b U+2593
+0x0c U+2588
+0x0d U+2584
+0x0e U+2580
+0x0f U+258c
+0x10 U+2590
+0x11 U+2424
+0x12 U+240b
+0x13 U+2264
+0x14 U+2265
+0x15 U+2260
+0x16 U+25c0
+0x17 U+25b6
+0x18 U+2191
+0x19 U+2193
+0x1a U+2192
+0x1b U+2190
+0x1c U+2195
+0x1d U+2194
+0x1e U+21b5
+0x1f U+03c0
+#
+# ASCII
+#
+0x20 U+0020 U+00a0
+0x21-0x4a idem
+0x4b U+004b U+212a
+0x4c-0x5e idem
+0x5f U+005f U+f804
+0x60-0x7e idem
+#
+# A letter missing in Latin-1
+#
+0x7f U+0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS
+#
+# The Latin-1 capital letters (moved slightly due to VGA hardware
+# brain-damage)
+#
+0x80 U+00c0
+0x81 U+00c1
+0x82 U+00c2
+0x83 U+00c3
+0x84 U+00c4
+0x85 U+00c5 U+212b
+0x86 U+00c6
+0x87 U+00c7
+0x88 U+00c8
+0x89 U+00c9
+0x8a U+00ca
+0x8b U+00cb
+0x8c U+00cc
+0x8d U+00cd
+0x8e U+00ce
+0x8f U+00cf
+0x90 U+00d0
+0x91 U+00d1
+0x92 U+00d2
+0x93 U+00d3
+0x94 U+00d4
+0x95 U+00d5
+0x96 U+00d6
+0x97 U+00d7
+0x98 U+00d8
+0x99 U+00d9
+0x9a U+00da
+0x9b U+00db
+0x9c U+00dc
+0x9d U+00dd
+0x9e U+00de
+0x9f U+00df
+#
+# Latin-1 special characters
+#
+0xa0 U+2423
+0xa1-0xae idem
+0xaf U+00af U+f800
+0xb0-0xbf idem
+#
+# Block graphics
+#
+0xc0 U+f801 # medium-high line
+0xc1 U+2575
+0xc2 U+2576
+0xc3 U+2514
+0xc4 U+2577
+0xc5 U+2502
+0xc6 U+250c
+0xc7 U+251c
+0xc8 U+2574
+0xc9 U+2518
+0xca U+2500
+0xcb U+2534
+0xcc U+2510
+0xcd U+2524
+0xce U+252c
+0xcf U+253c
+0xd0 U+f803 # medium-low line
+0xd1 U+2579
+0xd2 U+257a
+0xd3 U+2517 U+255a
+0xd4 U+257b
+0xd5 U+2503 U+2551
+0xd6 U+250f U+2554
+0xd7 U+2523 U+2560
+0xd8 U+2578
+0xd9 U+251b U+255d
+0xda U+2501 U+2550
+0xdb U+253b U+2569
+0xdc U+2513 U+2557
+0xdd U+2563 U+252b
+0xde U+2533 U+2566
+0xdf U+254b U+256c
+#
+# Latin-1 lower case letters
+#
+0xe0-0xff idem
diff --git a/consoletrans/lat2-g.sfm b/consoletrans/lat2-g.sfm
new file mode 100644
index 0000000..ae94c22
--- /dev/null
+++ b/consoletrans/lat2-g.sfm
@@ -0,0 +1,259 @@
+#
+# Character table extracted from font lat2u-16.psf
+#
+0x00 U+fffd
+0x01 U+263a
+0x02 U+263b
+0x03 U+2665
+0x04 U+2666
+0x05 U+2663
+0x06 U+2660
+0x07 U+2022
+0x08 U+25d8
+0x09 U+25cb
+0x0a U+25d9
+0x0b U+2642
+0x0c U+2640
+0x0d U+266a
+0x0e U+266b U+266c
+0x0f U+263c
+0x10 U+25b6 U+25ba
+0x11 U+25c0 U+25c4
+0x12 U+2195
+0x13 U+203c
+0x14 U+00b6
+0x15 U+00a7
+0x16 U+25ac
+0x17 U+21a8
+0x18 U+2191
+0x19 U+2193
+0x1a U+2192
+0x1b U+2190
+0x1c U+221f U+2319
+0x1d U+2194
+0x1e U+25b2
+0x1f U+25bc
+0x20 U+0020
+0x21 U+0021
+0x22 U+0022
+0x23 U+0023
+0x24 U+0024
+0x25 U+0025
+0x26 U+0026
+0x27 U+0027
+0x28 U+0028
+0x29 U+0029
+0x2a U+002a
+0x2b U+002b
+0x2c U+002c
+0x2d U+002d
+0x2e U+002e
+0x2f U+002f
+0x30 U+0030
+0x31 U+0031
+0x32 U+0032
+0x33 U+0033
+0x34 U+0034
+0x35 U+0035
+0x36 U+0036
+0x37 U+0037
+0x38 U+0038
+0x39 U+0039
+0x3a U+003a
+0x3b U+003b
+0x3c U+003c
+0x3d U+003d
+0x3e U+003e
+0x3f U+003f
+0x40 U+0040
+0x41 U+0041
+0x42 U+0042
+0x43 U+0043
+0x44 U+0044
+0x45 U+0045
+0x46 U+0046
+0x47 U+0047
+0x48 U+0048
+0x49 U+0049
+0x4a U+004a
+0x4b U+004b
+0x4c U+004c
+0x4d U+004d
+0x4e U+004e
+0x4f U+004f
+0x50 U+0050
+0x51 U+0051
+0x52 U+0052
+0x53 U+0053
+0x54 U+0054
+0x55 U+0055
+0x56 U+0056
+0x57 U+0057
+0x58 U+0058
+0x59 U+0059
+0x5a U+005a
+0x5b U+005b
+0x5c U+005c
+0x5d U+005d
+0x5e U+005e
+0x5f U+005f
+0x60 U+0060
+0x61 U+0061
+0x62 U+0062
+0x63 U+0063
+0x64 U+0064
+0x65 U+0065
+0x66 U+0066
+0x67 U+0067
+0x68 U+0068
+0x69 U+0069
+0x6a U+006a
+0x6b U+006b
+0x6c U+006c
+0x6d U+006d
+0x6e U+006e
+0x6f U+006f
+0x70 U+0070
+0x71 U+0071
+0x72 U+0072
+0x73 U+0073
+0x74 U+0074
+0x75 U+0075
+0x76 U+0076
+0x77 U+0077
+0x78 U+0078
+0x79 U+0079
+0x7a U+007a
+0x7b U+007b
+0x7c U+007c
+0x7d U+007d
+0x7e U+007e
+0x7f U+2302
+0xc0 U+0154
+0xc1 U+00c1
+0xc2 U+00c2
+0xc3 U+0102
+0xc4 U+00c4
+0xc5 U+0139
+0xc6 U+0106
+0xc7 U+00c7
+0xc8 U+010c
+0xc9 U+00c9
+0xca U+0118
+0xcb U+00cb
+0xcc U+011a
+0xcd U+00cd
+0xce U+00ce
+0xcf U+010e
+0xd0 U+0110
+0xd1 U+0141
+0xd2 U+0147
+0xd3 U+00d3
+0xd4 U+00d4
+0xd5 U+0150
+0xd6 U+00d6
+0xd7 U+00d7
+0xd8 U+0158
+0xd9 U+016e
+0xda U+00da
+0xdb U+0170
+0xdc U+00dc
+0xdd U+00dd
+0xde U+0162
+0xdf U+00df
+0xa0 U+00a0
+0xa1 U+0104
+0xa2 U+02d8
+0xa3 U+0141
+0xa4 U+00a4
+0xa5 U+013d
+0xa6 U+015a
+0xa7 U+00a7
+0xa8 U+00a8
+0xa9 U+0160
+0xaa U+015e
+0xab U+0164
+0xac U+0179
+0xad U+00ad
+0xae U+017d
+0xaf U+017b
+0xb0 U+00b0
+0xb1 U+0105
+0xb2 U+02db
+0xb3 U+0142
+0xb4 U+00b4
+0xb5 U+013e
+0xb6 U+015b
+0xb7 U+02c7
+0xb8 U+00b8
+0xb9 U+0161
+0xba U+015f
+0xbb U+0165
+0xbc U+017a
+0xbd U+02dd
+0xbe U+017e
+0xbf U+017c
+0x80 U+f801
+0x81 U+2575
+0x82 U+2576
+0x83 U+2514
+0x84 U+2577
+0x85 U+2502
+0x86 U+250c
+0x87 U+251c
+0x88 U+2574
+0x89 U+2518
+0x8a U+2500
+0x8b U+2534
+0x8c U+2510
+0x8d U+2524
+0x8e U+252c
+0x8f U+253c
+0x90 U+f803
+0x91 U+2579
+0x92 U+257a
+0x93 U+2517 U+255a
+0x94 U+257b
+0x95 U+2503 U+2551
+0x96 U+250f U+2554
+0x97 U+2523 U+2560 U+255f
+0x98 U+2578
+0x99 U+251b U+255d
+0x9a U+2501 U+2550
+0x9b U+253b U+2569 U+2567
+0x9c U+2513 U+2557
+0x9d U+252b U+2563 U+2562
+0x9e U+2533 U+2566 U+2564
+0x9f U+254b U+256c
+0xe0 U+0155
+0xe1 U+00e1
+0xe2 U+00e2
+0xe3 U+0103
+0xe4 U+00e4
+0xe5 U+013a
+0xe6 U+0107
+0xe7 U+00e7
+0xe8 U+010d
+0xe9 U+00e9
+0xea U+0119
+0xeb U+00eb
+0xec U+011b
+0xed U+00ed
+0xee U+00ee
+0xef U+010f
+0xf0 U+0111
+0xf1 U+0144
+0xf2 U+0148
+0xf3 U+00f3
+0xf4 U+00f4
+0xf5 U+0151
+0xf6 U+00f6
+0xf7 U+00f7
+0xf8 U+0159
+0xf9 U+016f
+0xfa U+00fa
+0xfb U+0171
+0xfc U+00fc
+0xfd U+00fd
+0xfe U+0163
+0xff U+02d9
diff --git a/consoletrans/lat2.sfm b/consoletrans/lat2.sfm
new file mode 100644
index 0000000..de4a942
--- /dev/null
+++ b/consoletrans/lat2.sfm
@@ -0,0 +1,259 @@
+#
+# Character table extracted from font lat2u-16.psf
+#
+0x00 U+fffd
+0x01 U+263a
+0x02 U+263b
+0x03 U+2665
+0x04 U+2666
+0x05 U+2663
+0x06 U+2660
+0x07 U+2022
+0x08 U+25d8
+0x09 U+25cb
+0x0a U+25d9
+0x0b U+2642
+0x0c U+2640
+0x0d U+266a
+0x0e U+266b U+266c
+0x0f U+263c
+0x10 U+25b6 U+25ba
+0x11 U+25c0 U+25c4
+0x12 U+2195
+0x13 U+203c
+0x14 U+00b6
+0x15 U+00a7
+0x16 U+25ac
+0x17 U+21a8
+0x18 U+2191
+0x19 U+2193
+0x1a U+2192
+0x1b U+2190
+0x1c U+221f U+2319
+0x1d U+2194
+0x1e U+25b2
+0x1f U+25bc
+0x20 U+0020
+0x21 U+0021
+0x22 U+0022
+0x23 U+0023
+0x24 U+0024
+0x25 U+0025
+0x26 U+0026
+0x27 U+0027
+0x28 U+0028
+0x29 U+0029
+0x2a U+002a
+0x2b U+002b
+0x2c U+002c
+0x2d U+002d
+0x2e U+002e
+0x2f U+002f
+0x30 U+0030
+0x31 U+0031
+0x32 U+0032
+0x33 U+0033
+0x34 U+0034
+0x35 U+0035
+0x36 U+0036
+0x37 U+0037
+0x38 U+0038
+0x39 U+0039
+0x3a U+003a
+0x3b U+003b
+0x3c U+003c
+0x3d U+003d
+0x3e U+003e
+0x3f U+003f
+0x40 U+0040
+0x41 U+0041
+0x42 U+0042
+0x43 U+0043
+0x44 U+0044
+0x45 U+0045
+0x46 U+0046
+0x47 U+0047
+0x48 U+0048
+0x49 U+0049
+0x4a U+004a
+0x4b U+004b
+0x4c U+004c
+0x4d U+004d
+0x4e U+004e
+0x4f U+004f
+0x50 U+0050
+0x51 U+0051
+0x52 U+0052
+0x53 U+0053
+0x54 U+0054
+0x55 U+0055
+0x56 U+0056
+0x57 U+0057
+0x58 U+0058
+0x59 U+0059
+0x5a U+005a
+0x5b U+005b
+0x5c U+005c
+0x5d U+005d
+0x5e U+005e
+0x5f U+005f
+0x60 U+0060
+0x61 U+0061
+0x62 U+0062
+0x63 U+0063
+0x64 U+0064
+0x65 U+0065
+0x66 U+0066
+0x67 U+0067
+0x68 U+0068
+0x69 U+0069
+0x6a U+006a
+0x6b U+006b
+0x6c U+006c
+0x6d U+006d
+0x6e U+006e
+0x6f U+006f
+0x70 U+0070
+0x71 U+0071
+0x72 U+0072
+0x73 U+0073
+0x74 U+0074
+0x75 U+0075
+0x76 U+0076
+0x77 U+0077
+0x78 U+0078
+0x79 U+0079
+0x7a U+007a
+0x7b U+007b
+0x7c U+007c
+0x7d U+007d
+0x7e U+007e
+0x7f U+2302
+0x80 U+0154
+0x81 U+00c1
+0x82 U+00c2
+0x83 U+0102
+0x84 U+00c4
+0x85 U+0139
+0x86 U+0106
+0x87 U+00c7
+0x88 U+010c
+0x89 U+00c9
+0x8a U+0118
+0x8b U+00cb
+0x8c U+011a
+0x8d U+00cd
+0x8e U+00ce
+0x8f U+010e
+0x90 U+0110
+0x91 U+0141
+0x92 U+0147
+0x93 U+00d3
+0x94 U+00d4
+0x95 U+0150
+0x96 U+00d6
+0x97 U+00d7
+0x98 U+0158
+0x99 U+016e
+0x9a U+00da
+0x9b U+0170
+0x9c U+00dc
+0x9d U+00dd
+0x9e U+0162
+0x9f U+00df
+0xa0 U+00a0
+0xa1 U+0104
+0xa2 U+02d8
+0xa3 U+0141
+0xa4 U+00a4
+0xa5 U+013d
+0xa6 U+015a
+0xa7 U+00a7
+0xa8 U+00a8
+0xa9 U+0160
+0xaa U+015e
+0xab U+0164
+0xac U+0179
+0xad U+00ad
+0xae U+017d
+0xaf U+017b
+0xb0 U+00b0
+0xb1 U+0105
+0xb2 U+02db
+0xb3 U+0142
+0xb4 U+00b4
+0xb5 U+013e
+0xb6 U+015b
+0xb7 U+02c7
+0xb8 U+00b8
+0xb9 U+0161
+0xba U+015f
+0xbb U+0165
+0xbc U+017a
+0xbd U+02dd
+0xbe U+017e
+0xbf U+017c
+0xc0 U+f801
+0xc1 U+2575
+0xc2 U+2576
+0xc3 U+2514
+0xc4 U+2577
+0xc5 U+2502
+0xc6 U+250c
+0xc7 U+251c
+0xc8 U+2574
+0xc9 U+2518
+0xca U+2500
+0xcb U+2534
+0xcc U+2510
+0xcd U+2524
+0xce U+252c
+0xcf U+253c
+0xd0 U+f803
+0xd1 U+2579
+0xd2 U+257a
+0xd3 U+2517 U+255a
+0xd4 U+257b
+0xd5 U+2503 U+2551
+0xd6 U+250f U+2554
+0xd7 U+2523 U+2560 U+255f
+0xd8 U+2578
+0xd9 U+251b U+255d
+0xda U+2501 U+2550
+0xdb U+253b U+2569 U+2567
+0xdc U+2513 U+2557
+0xdd U+252b U+2563 U+2562
+0xde U+2533 U+2566 U+2564
+0xdf U+254b U+256c
+0xe0 U+0155
+0xe1 U+00e1
+0xe2 U+00e2
+0xe3 U+0103
+0xe4 U+00e4
+0xe5 U+013a
+0xe6 U+0107
+0xe7 U+00e7
+0xe8 U+010d
+0xe9 U+00e9
+0xea U+0119
+0xeb U+00eb
+0xec U+011b
+0xed U+00ed
+0xee U+00ee
+0xef U+010f
+0xf0 U+0111
+0xf1 U+0144
+0xf2 U+0148
+0xf3 U+00f3
+0xf4 U+00f4
+0xf5 U+0151
+0xf6 U+00f6
+0xf7 U+00f7
+0xf8 U+0159
+0xf9 U+016f
+0xfa U+00fa
+0xfb U+0171
+0xfc U+00fc
+0xfd U+00fd
+0xfe U+0163
+0xff U+02d9
diff --git a/consoletrans/lat2u.sfm b/consoletrans/lat2u.sfm
new file mode 100644
index 0000000..ab30a57
--- /dev/null
+++ b/consoletrans/lat2u.sfm
@@ -0,0 +1,260 @@
+#
+# Character table extracted from font lat2u-16.psf
+#
+#
+0x00 U+fffd
+0x01 U+263a
+0x02 U+263b
+0x03 U+2665
+0x04 U+2666
+0x05 U+2663
+0x06 U+2660
+0x07 U+2022
+0x08 U+25d8
+0x09 U+25cb U+2591
+0x0a U+25d9 U+2592
+0x0b U+2642
+0x0c U+2640 U+2588
+0x0d U+266a
+0x0e U+266b U+266c
+0x0f U+263c
+0x10 U+25b6 U+25ba
+0x11 U+25c0 U+25c4
+0x12 U+2195
+0x13 U+203c
+0x14 U+00b6
+0x15 U+00a7
+0x16 U+25ac
+0x17 U+21a8
+0x18 U+2191
+0x19 U+2193
+0x1a U+2192
+0x1b U+2190
+0x1c U+221f U+2319
+0x1d U+2194
+0x1e U+25b2
+0x1f U+25bc
+0x20 U+0020
+0x21 U+0021
+0x22 U+0022
+0x23 U+0023
+0x24 U+0024
+0x25 U+0025
+0x26 U+0026
+0x27 U+0027
+0x28 U+0028
+0x29 U+0029
+0x2a U+002a
+0x2b U+002b
+0x2c U+002c
+0x2d U+002d
+0x2e U+002e
+0x2f U+002f
+0x30 U+0030
+0x31 U+0031
+0x32 U+0032
+0x33 U+0033
+0x34 U+0034
+0x35 U+0035
+0x36 U+0036
+0x37 U+0037
+0x38 U+0038
+0x39 U+0039
+0x3a U+003a
+0x3b U+003b
+0x3c U+003c
+0x3d U+003d
+0x3e U+003e
+0x3f U+003f
+0x40 U+0040
+0x41 U+0041
+0x42 U+0042
+0x43 U+0043
+0x44 U+0044
+0x45 U+0045
+0x46 U+0046
+0x47 U+0047
+0x48 U+0048
+0x49 U+0049
+0x4a U+004a
+0x4b U+004b
+0x4c U+004c
+0x4d U+004d
+0x4e U+004e
+0x4f U+004f
+0x50 U+0050
+0x51 U+0051
+0x52 U+0052
+0x53 U+0053
+0x54 U+0054
+0x55 U+0055
+0x56 U+0056
+0x57 U+0057
+0x58 U+0058
+0x59 U+0059
+0x5a U+005a
+0x5b U+005b
+0x5c U+005c
+0x5d U+005d
+0x5e U+005e
+0x5f U+005f
+0x60 U+0060
+0x61 U+0061
+0x62 U+0062
+0x63 U+0063
+0x64 U+0064
+0x65 U+0065
+0x66 U+0066
+0x67 U+0067
+0x68 U+0068
+0x69 U+0069
+0x6a U+006a
+0x6b U+006b
+0x6c U+006c
+0x6d U+006d
+0x6e U+006e
+0x6f U+006f
+0x70 U+0070
+0x71 U+0071
+0x72 U+0072
+0x73 U+0073
+0x74 U+0074
+0x75 U+0075
+0x76 U+0076
+0x77 U+0077
+0x78 U+0078
+0x79 U+0079
+0x7a U+007a
+0x7b U+007b
+0x7c U+007c
+0x7d U+007d
+0x7e U+007e
+0x7f U+2302
+0x80 U+0154
+0x81 U+00c1
+0x82 U+00c2
+0x83 U+0102
+0x84 U+00c4
+0x85 U+0139
+0x86 U+0106
+0x87 U+00c7
+0x88 U+010c
+0x89 U+00c9
+0x8a U+0118
+0x8b U+00cb
+0x8c U+011a
+0x8d U+00cd
+0x8e U+00ce
+0x8f U+010e
+0x90 U+0110
+0x91 U+0141
+0x92 U+0147
+0x93 U+00d3
+0x94 U+00d4
+0x95 U+0150
+0x96 U+00d6
+0x97 U+00d7
+0x98 U+0158
+0x99 U+016e
+0x9a U+00da
+0x9b U+0170
+0x9c U+00dc
+0x9d U+00dd
+0x9e U+0162
+0x9f U+00df
+0xa0 U+00a0
+0xa1 U+0104
+0xa2 U+02d8
+0xa3 U+0141
+0xa4 U+00a4
+0xa5 U+013d
+0xa6 U+015a
+0xa7 U+00a7
+0xa8 U+00a8
+0xa9 U+0160
+0xaa U+015e
+0xab U+0164
+0xac U+0179
+0xad U+00ad
+0xae U+017d
+0xaf U+017b
+0xb0 U+00b0
+0xb1 U+0105
+0xb2 U+02db
+0xb3 U+0142
+0xb4 U+00b4
+0xb5 U+013e
+0xb6 U+015b
+0xb7 U+02c7
+0xb8 U+00b8
+0xb9 U+0161
+0xba U+015f
+0xbb U+0165
+0xbc U+017a
+0xbd U+02dd
+0xbe U+017e
+0xbf U+017c
+0xc0 U+f801
+0xc1 U+2575
+0xc2 U+2576
+0xc3 U+2514
+0xc4 U+2577
+0xc5 U+2502
+0xc6 U+250c
+0xc7 U+251c
+0xc8 U+2574
+0xc9 U+2518
+0xca U+2500
+0xcb U+2534
+0xcc U+2510
+0xcd U+2524
+0xce U+252c
+0xcf U+253c
+0xd0 U+f803
+0xd1 U+2579
+0xd2 U+257a
+0xd3 U+2517 U+255a
+0xd4 U+257b
+0xd5 U+2503 U+2551
+0xd6 U+250f U+2554
+0xd7 U+2523 U+2560 U+255f
+0xd8 U+2578
+0xd9 U+251b U+255d
+0xda U+2501 U+2550
+0xdb U+253b U+2569 U+2567
+0xdc U+2513 U+2557
+0xdd U+252b U+2563 U+2562
+0xde U+2533 U+2566 U+2564
+0xdf U+254b U+256c
+0xe0 U+0155
+0xe1 U+00e1
+0xe2 U+00e2
+0xe3 U+0103
+0xe4 U+00e4
+0xe5 U+013a
+0xe6 U+0107
+0xe7 U+00e7
+0xe8 U+010d
+0xe9 U+00e9
+0xea U+0119
+0xeb U+00eb
+0xec U+011b
+0xed U+00ed
+0xee U+00ee
+0xef U+010f
+0xf0 U+0111
+0xf1 U+0144
+0xf2 U+0148
+0xf3 U+00f3
+0xf4 U+00f4
+0xf5 U+0151
+0xf6 U+00f6
+0xf7 U+00f7
+0xf8 U+0159
+0xf9 U+016f
+0xfa U+00fa
+0xfb U+0171
+0xfc U+00fc
+0xfd U+00fd
+0xfe U+0163
+0xff U+02d9
diff --git a/consoletrans/lat4.sfm b/consoletrans/lat4.sfm
new file mode 100644
index 0000000..802c70c
--- /dev/null
+++ b/consoletrans/lat4.sfm
@@ -0,0 +1,187 @@
+
+0x00 U+fffd
+0x01 U+00a2 # cent
+0x02 U+0152
+0x03 U+0153
+0x04 U+00a3 # pound
+0x05 U+00a9 # (C)
+0x06 U+00ab # <<
+0x07 U+00ae U+2122 # (R)
+0x08 U+00bb # >>
+0x09 U+2591
+0x0a U+2592
+0x0b U+2593
+0x0c U+00c0 # A grave \
+0x0d U+00c7 # C cedilla
+0x0e U+00c8 # E grave \
+0x0f U+00ca # E circumflex /\
+0x10 U+00d1 # N tilde ~
+0x11 U+00d2 # O grave \
+0x12 U+00d3 # O acute /
+0x13 U+00d9 # U grave \
+0x14 U+00dd # Y acute /
+0x15 U+00e0 # a grave \
+0x16 U+00e7 # c cedilla
+0x17 U+00e8 # e grave \
+0x18 U+00ea # e circumflex /\
+0x19 U+00f1 # n tilde ~
+0x1a U+00f2 # o grave \
+0x1b U+00f3 # o acute /
+0x1c U+00f9 # u grave \
+0x1d U+00fd # y acute /
+0x1e U+00ff # y diaeresis ..
+0x1f U+03c0 # GREEK SMALL LETTER PI
+0x20 U+0020 U+00a0
+0x21 U+0021
+0x22 U+0022 U+201d U+201f
+0x23-0x26 idem
+0x27 U+0027 U+2019
+0x28-0x2b idem
+0x2c U+002c U+201a
+0x2d U+002d U+2212 U+2014 U+2015
+0x2e-0x3b idem
+0x3c U+003c U+2039
+0x3d U+003d
+0x3e U+003e U+203a
+0x3f-0x4a idem
+0x4b U+004b U+212a
+0x4c-0x5e idem
+0x5f U+005f U+f804
+0x60 U+0060 U+2018 U+201b
+0x61-0x65 idem
+0x66 U+0066 U+0192 # f
+0x67-0x7b idem
+0x7c U+007c U+00a6 # VERTICAL LINE, BROKEN BAR
+0x7d U+007d
+0x7e U+007e U+02dc
+0x7f U+0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS
+0xc0 U+0100
+0xc1 U+00c1
+0xc2 U+00c2
+0xc3 U+00c3
+0xc4 U+00c4
+0xc5 U+00c5 U+212b # LATIN CAPITAL LETTER A WITH RING ABOVE, ANGSTROM SIGN
+0xc6 U+00c6
+0xc7 U+012e
+0xc8 U+010c
+0xc9 U+00c9
+0xca U+0118
+0xcb U+00cb
+0xcc U+0116
+0xcd U+00cd
+0xce U+00ce
+0xcf U+012a
+0xd0 U+0110 U+00d0
+0xd1 U+0145
+0xd2 U+014c
+0xd3 U+0136
+0xd4 U+00d4
+0xd5 U+00d5
+0xd6 U+00d6
+0xd7 U+00d7
+0xd8 U+00d8
+0xd9 U+0172
+0xda U+00da
+0xdb U+00db
+0xdc U+00dc
+0xdd U+0168
+0xde U+016a
+0xdf U+00df
+0xa0 U+2423
+0xa0 U+00a0
+0xa1 U+0104
+0xa2 U+0138
+0xa3 U+0156
+0xa4 U+00a4
+0xa5 U+0128
+0xa6 U+013b
+0xa7 U+00a7
+0xa8 U+00a8
+0xa9 U+0160
+0xaa U+0112
+0xab U+0122
+0xac U+0166
+0xad U+00ad U+2010 U+2011 U+2013
+0xae U+017d
+0xaf U+00af U+f800
+0xb0 U+00b0
+0xb1 U+0105
+0xb2 U+02db
+0xb3 U+0157
+0xb4 U+00b4
+0xb5 U+0129
+0xb6 U+013c
+0xb7 U+02c7
+0xb8 U+00b8
+0xb9 U+0161
+0xba U+0113
+0xbb U+0123
+0xbc U+0167
+0xbd U+014a
+0xbe U+017e
+0xbf U+014b
+0x80 U+00a5 #yen
+0x81 U+00cc #I grave \
+0x82 U+00cf #I diaeresis ..
+0x83 U+2514
+0x84 U+00ec #i grave \
+0x85 U+2502
+0x86 U+250c
+0x87 U+251c
+0x88 U+00ef #i diaeresis ..
+0x89 U+2518
+0x8a U+2500
+0x8b U+2534
+0x8c U+2510
+0x8d U+2524
+0x8e U+252c
+0x8f U+253c
+0x90 U+201e # ,,(99) DOUBLE LOW-9 QUOTATION MARK
+0x91 U+201c # (66) LEFT DOUBLE QUOTATION MARK;Ps;0;ON;;;;;N;DOUBLE TURNED COMMA QUOTATION MARK
+0x92 U+2580 # upper half block
+0x93 U+2517 U+255a
+0x94 U+2584 # lower half block
+0x95 U+2503 U+2551
+0x96 U+250f U+2554
+0x97 U+2523 U+2560
+0x98 U+2588 # full block
+0x99 U+251b U+255d
+0x9a U+2501 U+2550
+0x9b U+253b U+2569
+0x9c U+2513 U+2557
+0x9d U+2563 U+252b
+0x9e U+2533 U+2566
+0x9f U+254b U+256c
+0xe0 U+0101
+0xe1 U+00e1
+0xe2 U+00e2
+0xe3 U+00e3
+0xe4 U+00e4
+0xe5 U+00e5
+0xe6 U+00e6
+0xe7 U+012f
+0xe8 U+010d
+0xe9 U+00e9
+0xea U+0119
+0xeb U+00eb
+0xec U+0117
+0xed U+00ed
+0xee U+00ee
+0xef U+012b
+0xf0 U+0111 U+00f0
+0xf1 U+0146
+0xf2 U+014d
+0xf3 U+0137
+0xf4 U+00f4
+0xf5 U+00f5
+0xf6 U+00f6
+0xf7 U+00f7
+0xf8 U+00f8
+0xf9 U+0173
+0xfa U+00fa
+0xfb U+00fb
+0xfc U+00fc
+0xfd U+0169
+0xfe U+016b
+0xff U+02d9
+
diff --git a/consoletrans/lat4u.sfm b/consoletrans/lat4u.sfm
new file mode 100644
index 0000000..9bbba31
--- /dev/null
+++ b/consoletrans/lat4u.sfm
@@ -0,0 +1,248 @@
+#
+# Unicode mapping table for Latin-4 fonts (lat4u-08.psf,
+# lat4u-10.psf, lat4u-12.psf, lat4u-14.psf, lat4u-16.psf, lat4u-16+.psf,
+# lat4u-19.psf).
+# These fonts are designed to use in Unicode mode, but you can use them
+# as ISO-8859-4 fonts in non-Unicode mode with vga2iso screen map. If
+# you think these fonts can be subject of copyright law, (c) Ricardas
+# Cepas <rch@pub.osf.lt>, 1997. Copying policy: GNU GPL V2.
+# If you use 8 pixels wide mode exclusively you can use derived lat4-*
+# fonts, lat4.uni and trivial mappings.
+#
+# All block graphics from CP 850 are present.
+# Note: to work better with VGA hardware, we have moved the range
+# 0xc0-0xdf to 0x80-0x9f and use the 0xc0-0xdf range for block graphics.
+# It should be at 0xc0-0xdF to work properly with VGA.
+# Rightmost column of 8 pixel wide charcell can be duplicated if at
+# this place and if special VGA bit set. So horizontal lines will not be
+# dashed in the default 9 pixel wide mode.
+# You can make more space by mapping double lines to single lines.
+#
+# All ISO-8859-4 characters are in there places (after remapping of
+# course).
+# Almost all ISO-8859-1 letters, Y diaeresis and AE are present.
+# Comments & bug reports to: Ricardas Cepas <rch@pub.osf.lt>
+
+#
+# DEC VT graphics and some more
+#
+0x00 U+fffd
+0x01 U+00a2 # cent
+0x02 U+0152
+0x03 U+0153
+0x04 U+00a3 # pound
+0x05 U+00a9 # (C)
+0x06 U+00ab # <<
+0x07 U+00ae U+2122 # (R)
+0x08 U+00bb # >>
+0x09 U+2591
+0x0a U+2592
+0x0b U+2593
+0x0c U+00c0 # A grave \
+0x0d U+00c7 # C cedilla
+0x0e U+00c8 # E grave \
+0x0f U+00ca # E circumflex /\
+0x10 U+00d1 # N tilde ~
+0x11 U+00d2 # O grave \
+0x12 U+00d3 # O acute /
+0x13 U+00d9 # U grave \
+0x14 U+00dd # Y acute /
+0x15 U+00e0 # a grave \
+0x16 U+00e7 # c cedilla
+0x17 U+00e8 # e grave \
+0x18 U+00ea # e circumflex /\
+0x19 U+00f1 # n tilde ~
+0x1a U+00f2 # o grave \
+0x1b U+00f3 # o acute /
+0x1c U+00f9 # u grave \
+0x1d U+00fd # y acute /
+0x1e U+00ff # y diaeresis ..
+0x1f U+03c0 # GREEK SMALL LETTER PI
+#
+# ASCII
+#
+0x20 U+0020 U+00a0
+0x21 U+0021
+0x22 U+0022 U+201d U+201f
+0x23-0x26 idem
+0x27 U+0027 U+2019
+0x28-0x2b idem
+0x2c U+002c U+201a
+0x2d U+002d U+2212 U+2014 U+2015
+0x2e-0x3b idem
+0x3c U+003c U+2039
+0x3d U+003d
+0x3e U+003e U+203a
+0x3f-0x4a idem
+0x4b U+004b U+212a
+0x4c-0x5e idem
+0x5f U+005f U+f804
+0x60 U+0060 U+2018 U+201b
+0x61-0x65 idem
+0x66 U+0066 U+0192 # f
+0x67-0x7b idem
+0x7c U+007c U+00a6 # VERTICAL LINE, BROKEN BAR
+0x7d U+007d
+0x7e U+007e U+02dc
+#
+# A letter missing in Latin-1
+#
+0x7f U+0178 # LATIN CAPITAL LETTER Y WITH DIAERESIS
+#
+# The Latin-4 capital letters (moved slightly due to VGA hardware
+# brain-damage)
+#
+0x80 U+0100
+0x81 U+00c1
+0x82 U+00c2
+0x83 U+00c3
+0x84 U+00c4
+0x85 U+00c5 U+212b # LATIN CAPITAL LETTER A WITH RING ABOVE, ANGSTROM SIGN
+0x86 U+00c6
+0x87 U+012e
+0x88 U+010c
+0x89 U+00c9
+0x8a U+0118
+0x8b U+00cb
+0x8c U+0116
+0x8d U+00cd
+0x8e U+00ce
+0x8f U+012a
+0x90 U+0110 U+00d0
+0x91 U+0145
+0x92 U+014c
+0x93 U+0136
+0x94 U+00d4
+0x95 U+00d5
+0x96 U+00d6
+0x97 U+00d7
+0x98 U+00d8
+0x99 U+0172
+0x9a U+00da
+0x9b U+00db
+0x9c U+00dc
+0x9d U+0168
+0x9e U+016a
+0x9f U+00df
+# special character
+# non-breaking space <-> open box
+0xa0 U+2423
+#
+# Capital letters at their place
+#
+0xa0 U+00a0
+0xa1 U+0104
+0xa2 U+0138
+0xa3 U+0156
+0xa4 U+00a4
+0xa5 U+0128
+0xa6 U+013b
+0xa7 U+00a7
+0xa8 U+00a8
+0xa9 U+0160
+0xaa U+0112
+0xab U+0122
+0xac U+0166
+0xad U+00ad U+2010 U+2011 U+2013
+0xae U+017d
+0xaf U+00af U+f800
+#
+# lower case letters
+#
+0xb0 U+00b0
+0xb1 U+0105
+0xb2 U+02db
+0xb3 U+0157
+0xb4 U+00b4
+0xb5 U+0129
+0xb6 U+013c
+0xb7 U+02c7
+0xb8 U+00b8
+0xb9 U+0161
+0xba U+0113
+0xbb U+0123
+0xbc U+0167
+0xbd U+014a
+0xbe U+017e
+0xbf U+014b
+#
+# All of cp850 line drawing chars.
+#
+#0xc0 U+f801 # medium-high line
+0xc0 U+00a5 #yen
+#0xc1 U+2575
+0xc1 U+00cc #I grave \
+#0xc2 U+2576
+0xc2 U+00cf #I diaeresis ..
+0xc3 U+2514
+#0xc4 U+2577
+0xc4 U+00ec #i grave \
+0xc5 U+2502
+0xc6 U+250c
+0xc7 U+251c
+#0xc8 U+2574
+0xc8 U+00ef #i diaeresis ..
+0xc9 U+2518
+0xca U+2500
+0xcb U+2534
+0xcc U+2510
+0xcd U+2524
+0xce U+252c
+0xcf U+253c
+#0xd0 U+f803 # medium-low line
+0xd0 U+201e # ,,(99) DOUBLE LOW-9 QUOTATION MARK
+#0xd1 U+2579
+0xd1 U+201c # (66) LEFT DOUBLE QUOTATION MARK;Ps;0;ON;;;;;N;DOUBLE TURNED COMMA QUOTATION MARK
+#0xd2 U+257a
+0xd2 U+2580 # upper half block
+0xd3 U+2517 U+255a
+#0xd4 U+257b
+0xd4 U+2584 # lower half block
+0xd5 U+2503 U+2551
+0xd6 U+250f U+2554
+0xd7 U+2523 U+2560
+#0xd8 U+2578
+0xd8 U+2588 # full block
+0xd9 U+251b U+255d
+0xda U+2501 U+2550
+0xdb U+253b U+2569
+0xdc U+2513 U+2557
+0xdd U+2563 U+252b
+0xde U+2533 U+2566
+0xdf U+254b U+256c
+#
+# lower case letters
+#
+0xe0 U+0101
+0xe1 U+00e1
+0xe2 U+00e2
+0xe3 U+00e3
+0xe4 U+00e4
+0xe5 U+00e5
+0xe6 U+00e6
+0xe7 U+012f
+0xe8 U+010d
+0xe9 U+00e9
+0xea U+0119
+0xeb U+00eb
+0xec U+0117
+0xed U+00ed
+0xee U+00ee
+0xef U+012b
+0xf0 U+0111 U+00f0
+0xf1 U+0146
+0xf2 U+014d
+0xf3 U+0137
+0xf4 U+00f4
+0xf5 U+00f5
+0xf6 U+00f6
+0xf7 U+00f7
+0xf8 U+00f8
+0xf9 U+0173
+0xfa U+00fa
+0xfb U+00fb
+0xfc U+00fc
+0xfd U+0169
+0xfe U+016b
+0xff U+02d9
+
diff --git a/consoletrans/lat9u.uni b/consoletrans/lat9u.uni
new file mode 100644
index 0000000..8997aab
--- /dev/null
+++ b/consoletrans/lat9u.uni
@@ -0,0 +1,259 @@
+#
+# Character table extracted from font lat9u-16.psf
+#
+0x00 U+fffd
+0x01 U+2248
+0x02 U+0152
+0x03 U+0153
+0x04 U+25c6
+0x05 U+2409
+0x06 U+240c
+0x07 U+240d
+0x08 U+240a
+0x09 U+2591
+0x0a U+2592
+0x0b U+2593
+0x0c U+2588
+0x0d U+2584
+0x0e U+2580
+0x0f U+258c
+0x10 U+2590
+0x11 U+2424
+0x12 U+240b
+0x13 U+2264
+0x14 U+2265
+0x15 U+2260
+0x16 U+25c0
+0x17 U+25b6
+0x18 U+2191
+0x19 U+2193
+0x1a U+2192
+0x1b U+2190
+0x1c U+2195
+0x1d U+2194
+0x1e U+21b5
+0x1f U+03c0
+0x20 U+0020 U+00a0
+0x21 U+0021
+0x22 U+0022
+0x23 U+0023
+0x24 U+0024
+0x25 U+0025
+0x26 U+0026
+0x27 U+0027
+0x28 U+0028
+0x29 U+0029
+0x2a U+002a
+0x2b U+002b
+0x2c U+002c
+0x2d U+002d
+0x2e U+002e
+0x2f U+002f
+0x30 U+0030
+0x31 U+0031
+0x32 U+0032
+0x33 U+0033
+0x34 U+0034
+0x35 U+0035
+0x36 U+0036
+0x37 U+0037
+0x38 U+0038
+0x39 U+0039
+0x3a U+003a
+0x3b U+003b
+0x3c U+003c
+0x3d U+003d
+0x3e U+003e
+0x3f U+003f
+0x40 U+0040
+0x41 U+0041
+0x42 U+0042
+0x43 U+0043
+0x44 U+0044
+0x45 U+0045
+0x46 U+0046
+0x47 U+0047
+0x48 U+0048
+0x49 U+0049
+0x4a U+004a
+0x4b U+004b U+212a
+0x4c U+004c
+0x4d U+004d
+0x4e U+004e
+0x4f U+004f
+0x50 U+0050
+0x51 U+0051
+0x52 U+0052
+0x53 U+0053
+0x54 U+0054
+0x55 U+0055
+0x56 U+0056
+0x57 U+0057
+0x58 U+0058
+0x59 U+0059
+0x5a U+005a
+0x5b U+005b
+0x5c U+005c
+0x5d U+005d
+0x5e U+005e
+0x5f U+005f U+f804
+0x60 U+0060
+0x61 U+0061
+0x62 U+0062
+0x63 U+0063
+0x64 U+0064
+0x65 U+0065
+0x66 U+0066
+0x67 U+0067
+0x68 U+0068
+0x69 U+0069
+0x6a U+006a
+0x6b U+006b
+0x6c U+006c
+0x6d U+006d
+0x6e U+006e
+0x6f U+006f
+0x70 U+0070
+0x71 U+0071
+0x72 U+0072
+0x73 U+0073
+0x74 U+0074
+0x75 U+0075
+0x76 U+0076
+0x77 U+0077
+0x78 U+0078
+0x79 U+0079
+0x7a U+007a
+0x7b U+007b
+0x7c U+007c
+0x7d U+007d
+0x7e U+007e
+0x7f U+0178
+0x80 U+00c0
+0x81 U+00c1
+0x82 U+00c2
+0x83 U+00c3
+0x84 U+00c4
+0x85 U+00c5 U+212b
+0x86 U+00c6
+0x87 U+00c7
+0x88 U+00c8
+0x89 U+00c9
+0x8a U+00ca
+0x8b U+00cb
+0x8c U+00cc
+0x8d U+00cd
+0x8e U+00ce
+0x8f U+00cf
+0x90 U+00d0
+0x91 U+00d1
+0x92 U+00d2
+0x93 U+00d3
+0x94 U+00d4
+0x95 U+00d5
+0x96 U+00d6
+0x97 U+00d7
+0x98 U+00d8
+0x99 U+00d9
+0x9a U+00da
+0x9b U+00db
+0x9c U+00dc
+0x9d U+00dd
+0x9e U+00de
+0x9f U+00df
+0xa0 U+2423
+0xa1 U+00a1
+0xa2 U+00a2
+0xa3 U+00a3
+0xa4 U+20ac
+0xa5 U+00a5
+0xa6 U+0160
+0xa7 U+00a7
+0xa8 U+0161
+0xa9 U+00a9
+0xaa U+00aa
+0xab U+00ab
+0xac U+00ac
+0xad U+00ad
+0xae U+00ae
+0xaf U+00af U+f800
+0xb0 U+00b0
+0xb1 U+00b1
+0xb2 U+00b2
+0xb3 U+00b3
+0xb4 U+017d
+0xb5 U+00b5
+0xb6 U+00b6
+0xb7 U+00b7
+0xb8 U+017e
+0xb9 U+00b9
+0xba U+00ba
+0xbb U+00bb
+0xbc U+0152
+0xbd U+0153
+0xbe U+0178
+0xbf U+00bf
+0xc0 U+f801
+0xc1 U+2575
+0xc2 U+2576
+0xc3 U+2514
+0xc4 U+2577
+0xc5 U+2502
+0xc6 U+250c
+0xc7 U+251c
+0xc8 U+2574
+0xc9 U+2518
+0xca U+2500
+0xcb U+2534
+0xcc U+2510
+0xcd U+2524
+0xce U+252c
+0xcf U+253c
+0xd0 U+f803
+0xd1 U+2579
+0xd2 U+257a
+0xd3 U+2517 U+255a
+0xd4 U+257b
+0xd5 U+2503 U+2551
+0xd6 U+250f U+2554
+0xd7 U+2523 U+2560
+0xd8 U+2578
+0xd9 U+251b U+255d
+0xda U+2501 U+2550
+0xdb U+253b U+2569
+0xdc U+2513 U+2557
+0xdd U+2563 U+252b
+0xde U+2533 U+2566
+0xdf U+254b U+256c
+0xe0 U+00e0
+0xe1 U+00e1
+0xe2 U+00e2
+0xe3 U+00e3
+0xe4 U+00e4
+0xe5 U+00e5
+0xe6 U+00e6
+0xe7 U+00e7
+0xe8 U+00e8
+0xe9 U+00e9
+0xea U+00ea
+0xeb U+00eb
+0xec U+00ec
+0xed U+00ed
+0xee U+00ee
+0xef U+00ef
+0xf0 U+00f0
+0xf1 U+00f1
+0xf2 U+00f2
+0xf3 U+00f3
+0xf4 U+00f4
+0xf5 U+00f5
+0xf6 U+00f6
+0xf7 U+00f7
+0xf8 U+00f8
+0xf9 U+00f9
+0xfa U+00fa
+0xfb U+00fb
+0xfc U+00fc
+0xfd U+00fd
+0xfe U+00fe
+0xff U+00ff
diff --git a/consoletrans/lat9v.uni b/consoletrans/lat9v.uni
new file mode 100644
index 0000000..e40d976
--- /dev/null
+++ b/consoletrans/lat9v.uni
@@ -0,0 +1,259 @@
+#
+# Character table extracted from font lat9v-16.psf
+#
+0x00 U+fffd
+0x01 U+2248
+0x02 U+0152
+0x03 U+0153
+0x04 U+25c6
+0x05 U+2409
+0x06 U+240c
+0x07 U+240d
+0x08 U+240a
+0x09 U+2591
+0x0a U+2592
+0x0b U+2593
+0x0c U+2588
+0x0d U+2584
+0x0e U+2580
+0x0f U+258c
+0x10 U+2590
+0x11 U+2424
+0x12 U+240b
+0x13 U+2264
+0x14 U+2265
+0x15 U+2260
+0x16 U+25c0
+0x17 U+25b6
+0x18 U+2191
+0x19 U+2193
+0x1a U+2192
+0x1b U+2190
+0x1c U+2195
+0x1d U+2194
+0x1e U+21b5
+0x1f U+03c0
+0x20 U+0020 U+00a0
+0x21 U+0021
+0x22 U+0022
+0x23 U+0023
+0x24 U+0024
+0x25 U+0025
+0x26 U+0026
+0x27 U+0027
+0x28 U+0028
+0x29 U+0029
+0x2a U+002a
+0x2b U+002b
+0x2c U+002c
+0x2d U+002d
+0x2e U+002e
+0x2f U+002f
+0x30 U+0030
+0x31 U+0031
+0x32 U+0032
+0x33 U+0033
+0x34 U+0034
+0x35 U+0035
+0x36 U+0036
+0x37 U+0037
+0x38 U+0038
+0x39 U+0039
+0x3a U+003a
+0x3b U+003b
+0x3c U+003c
+0x3d U+003d
+0x3e U+003e
+0x3f U+003f
+0x40 U+0040
+0x41 U+0041
+0x42 U+0042
+0x43 U+0043
+0x44 U+0044
+0x45 U+0045
+0x46 U+0046
+0x47 U+0047
+0x48 U+0048
+0x49 U+0049
+0x4a U+004a
+0x4b U+004b U+212a
+0x4c U+004c
+0x4d U+004d
+0x4e U+004e
+0x4f U+004f
+0x50 U+0050
+0x51 U+0051
+0x52 U+0052
+0x53 U+0053
+0x54 U+0054
+0x55 U+0055
+0x56 U+0056
+0x57 U+0057
+0x58 U+0058
+0x59 U+0059
+0x5a U+005a
+0x5b U+005b
+0x5c U+005c
+0x5d U+005d
+0x5e U+005e
+0x5f U+005f U+f804
+0x60 U+0060
+0x61 U+0061
+0x62 U+0062
+0x63 U+0063
+0x64 U+0064
+0x65 U+0065
+0x66 U+0066
+0x67 U+0067
+0x68 U+0068
+0x69 U+0069
+0x6a U+006a
+0x6b U+006b
+0x6c U+006c
+0x6d U+006d
+0x6e U+006e
+0x6f U+006f
+0x70 U+0070
+0x71 U+0071
+0x72 U+0072
+0x73 U+0073
+0x74 U+0074
+0x75 U+0075
+0x76 U+0076
+0x77 U+0077
+0x78 U+0078
+0x79 U+0079
+0x7a U+007a
+0x7b U+007b
+0x7c U+007c
+0x7d U+007d
+0x7e U+007e
+0x7f U+0178
+0x80 U+f801
+0x81 U+2575
+0x82 U+2576
+0x83 U+2514
+0x84 U+2577
+0x85 U+2502
+0x86 U+250c
+0x87 U+251c
+0x88 U+2574
+0x89 U+2518
+0x8a U+2500
+0x8b U+2534
+0x8c U+2510
+0x8d U+2524
+0x8e U+252c
+0x8f U+253c
+0x90 U+f803
+0x91 U+2579
+0x92 U+257a
+0x93 U+2517 U+255a
+0x94 U+257b
+0x95 U+2503 U+2551
+0x96 U+250f U+2554
+0x97 U+2523 U+2560
+0x98 U+2578
+0x99 U+251b U+255d
+0x9a U+2501 U+2550
+0x9b U+253b U+2569
+0x9c U+2513 U+2557
+0x9d U+2563 U+252b
+0x9e U+2533 U+2566
+0x9f U+254b U+256c
+0xa0 U+2423
+0xa1 U+00a1
+0xa2 U+00a2
+0xa3 U+00a3
+0xa4 U+20ac
+0xa5 U+00a5
+0xa6 U+0160
+0xa7 U+00a7
+0xa8 U+0161
+0xa9 U+00a9
+0xaa U+00aa
+0xab U+00ab
+0xac U+00ac
+0xad U+00ad
+0xae U+00ae
+0xaf U+00af U+f800
+0xb0 U+00b0
+0xb1 U+00b1
+0xb2 U+00b2
+0xb3 U+00b3
+0xb4 U+017d
+0xb5 U+00b5
+0xb6 U+00b6
+0xb7 U+00b7
+0xb8 U+017e
+0xb9 U+00b9
+0xba U+00ba
+0xbb U+00bb
+0xbc U+0152
+0xbd U+0153
+0xbe U+0178
+0xbf U+00bf
+0xc0 U+00c0
+0xc1 U+00c1
+0xc2 U+00c2
+0xc3 U+00c3
+0xc4 U+00c4
+0xc5 U+00c5 U+212b
+0xc6 U+00c6
+0xc7 U+00c7
+0xc8 U+00c8
+0xc9 U+00c9
+0xca U+00ca
+0xcb U+00cb
+0xcc U+00cc
+0xcd U+00cd
+0xce U+00ce
+0xcf U+00cf
+0xd0 U+00d0
+0xd1 U+00d1
+0xd2 U+00d2
+0xd3 U+00d3
+0xd4 U+00d4
+0xd5 U+00d5
+0xd6 U+00d6
+0xd7 U+00d7
+0xd8 U+00d8
+0xd9 U+00d9
+0xda U+00da
+0xdb U+00db
+0xdc U+00dc
+0xdd U+00dd
+0xde U+00de
+0xdf U+00df
+0xe0 U+00e0
+0xe1 U+00e1
+0xe2 U+00e2
+0xe3 U+00e3
+0xe4 U+00e4
+0xe5 U+00e5
+0xe6 U+00e6
+0xe7 U+00e7
+0xe8 U+00e8
+0xe9 U+00e9
+0xea U+00ea
+0xeb U+00eb
+0xec U+00ec
+0xed U+00ed
+0xee U+00ee
+0xef U+00ef
+0xf0 U+00f0
+0xf1 U+00f1
+0xf2 U+00f2
+0xf3 U+00f3
+0xf4 U+00f4
+0xf5 U+00f5
+0xf6 U+00f6
+0xf7 U+00f7
+0xf8 U+00f8
+0xf9 U+00f9
+0xfa U+00fa
+0xfb U+00fb
+0xfc U+00fc
+0xfd U+00fd
+0xfe U+00fe
+0xff U+00ff
diff --git a/consoletrans/lat9w.uni b/consoletrans/lat9w.uni
new file mode 100644
index 0000000..c60fd27
--- /dev/null
+++ b/consoletrans/lat9w.uni
@@ -0,0 +1,259 @@
+#
+# Character table extracted from font lat9w-16.psf
+#
+0x00 U+fffd
+0x01 U+2248
+0x02 U+0152
+0x03 U+0153
+0x04 U+25c6
+0x05 U+2409
+0x06 U+240c
+0x07 U+240d
+0x08 U+240a
+0x09 U+2591
+0x0a U+2592
+0x0b U+2593
+0x0c U+2588
+0x0d U+2584
+0x0e U+2580
+0x0f U+258c
+0x10 U+2590
+0x11 U+2424
+0x12 U+240b
+0x13 U+2264
+0x14 U+2265
+0x15 U+2260
+0x16 U+25c0
+0x17 U+25b6
+0x18 U+2191
+0x19 U+2193
+0x1a U+2192
+0x1b U+2190
+0x1c U+2195
+0x1d U+2194
+0x1e U+21b5
+0x1f U+03c0
+0x20 U+0020 U+00a0
+0x21 U+0021
+0x22 U+0022
+0x23 U+0023
+0x24 U+0024
+0x25 U+0025
+0x26 U+0026
+0x27 U+0027
+0x28 U+0028
+0x29 U+0029
+0x2a U+002a
+0x2b U+002b
+0x2c U+002c
+0x2d U+002d
+0x2e U+002e
+0x2f U+002f
+0x30 U+0030
+0x31 U+0031
+0x32 U+0032
+0x33 U+0033
+0x34 U+0034
+0x35 U+0035
+0x36 U+0036
+0x37 U+0037
+0x38 U+0038
+0x39 U+0039
+0x3a U+003a
+0x3b U+003b
+0x3c U+003c
+0x3d U+003d
+0x3e U+003e
+0x3f U+003f
+0x40 U+0040
+0x41 U+0041
+0x42 U+0042
+0x43 U+0043
+0x44 U+0044
+0x45 U+0045
+0x46 U+0046
+0x47 U+0047
+0x48 U+0048
+0x49 U+0049
+0x4a U+004a
+0x4b U+004b U+212a
+0x4c U+004c
+0x4d U+004d
+0x4e U+004e
+0x4f U+004f
+0x50 U+0050
+0x51 U+0051
+0x52 U+0052
+0x53 U+0053
+0x54 U+0054
+0x55 U+0055
+0x56 U+0056
+0x57 U+0057
+0x58 U+0058
+0x59 U+0059
+0x5a U+005a
+0x5b U+005b
+0x5c U+005c
+0x5d U+005d
+0x5e U+005e
+0x5f U+005f U+f804
+0x60 U+0060
+0x61 U+0061
+0x62 U+0062
+0x63 U+0063
+0x64 U+0064
+0x65 U+0065
+0x66 U+0066
+0x67 U+0067
+0x68 U+0068
+0x69 U+0069
+0x6a U+006a
+0x6b U+006b
+0x6c U+006c
+0x6d U+006d
+0x6e U+006e
+0x6f U+006f
+0x70 U+0070
+0x71 U+0071
+0x72 U+0072
+0x73 U+0073
+0x74 U+0074
+0x75 U+0075
+0x76 U+0076
+0x77 U+0077
+0x78 U+0078
+0x79 U+0079
+0x7a U+007a
+0x7b U+007b
+0x7c U+007c
+0x7d U+007d
+0x7e U+007e
+0x7f U+0178
+0x80 U+f801
+0x81 U+2575
+0x82 U+2576
+0x83 U+2514
+0x84 U+2577
+0x85 U+2502
+0x86 U+250c
+0x87 U+251c
+0x88 U+2574
+0x89 U+2518
+0x8a U+2500
+0x8b U+2534
+0x8c U+2510
+0x8d U+2524
+0x8e U+252c
+0x8f U+253c
+0x90 U+f803
+0x91 U+2579
+0x92 U+257a
+0x93 U+2517 U+255a
+0x94 U+257b
+0x95 U+2503 U+2551
+0x96 U+250f U+2554
+0x97 U+2523 U+2560
+0x98 U+2578
+0x99 U+251b U+255d
+0x9a U+2501 U+2550
+0x9b U+253b U+2569
+0x9c U+2513 U+2557
+0x9d U+2563 U+252b
+0x9e U+2533 U+2566
+0x9f U+254b U+256c
+0xa0 U+2423
+0xa1 U+00a1
+0xa2 U+00a2
+0xa3 U+00a3
+0xa4 U+00a4 U+20ac
+0xa5 U+00a5
+0xa6 U+00a6 U+0160
+0xa7 U+00a7
+0xa8 U+00a8 U+0161
+0xa9 U+00a9
+0xaa U+00aa
+0xab U+00ab
+0xac U+00ac
+0xad U+00ad
+0xae U+00ae
+0xaf U+00af U+f800
+0xb0 U+00b0
+0xb1 U+00b1
+0xb2 U+00b2
+0xb3 U+00b3
+0xb4 U+00b4 U+017d
+0xb5 U+00b5
+0xb6 U+00b6
+0xb7 U+00b7
+0xb8 U+00b8 U+017e
+0xb9 U+00b9
+0xba U+00ba
+0xbb U+00bb
+0xbc U+00bc U+0152
+0xbd U+00bd U+0153
+0xbe U+00be U+0178
+0xbf U+00bf
+0xc0 U+00c0
+0xc1 U+00c1
+0xc2 U+00c2
+0xc3 U+00c3
+0xc4 U+00c4
+0xc5 U+00c5 U+212b
+0xc6 U+00c6
+0xc7 U+00c7
+0xc8 U+00c8
+0xc9 U+00c9
+0xca U+00ca
+0xcb U+00cb
+0xcc U+00cc
+0xcd U+00cd
+0xce U+00ce
+0xcf U+00cf
+0xd0 U+00d0
+0xd1 U+00d1
+0xd2 U+00d2
+0xd3 U+00d3
+0xd4 U+00d4
+0xd5 U+00d5
+0xd6 U+00d6
+0xd7 U+00d7
+0xd8 U+00d8
+0xd9 U+00d9
+0xda U+00da
+0xdb U+00db
+0xdc U+00dc
+0xdd U+00dd
+0xde U+00de
+0xdf U+00df
+0xe0 U+00e0
+0xe1 U+00e1
+0xe2 U+00e2
+0xe3 U+00e3
+0xe4 U+00e4
+0xe5 U+00e5
+0xe6 U+00e6
+0xe7 U+00e7
+0xe8 U+00e8
+0xe9 U+00e9
+0xea U+00ea
+0xeb U+00eb
+0xec U+00ec
+0xed U+00ed
+0xee U+00ee
+0xef U+00ef
+0xf0 U+00f0
+0xf1 U+00f1
+0xf2 U+00f2
+0xf3 U+00f3
+0xf4 U+00f4
+0xf5 U+00f5
+0xf6 U+00f6
+0xf7 U+00f7
+0xf8 U+00f8
+0xf9 U+00f9
+0xfa U+00fa
+0xfb U+00fb
+0xfc U+00fc
+0xfd U+00fd
+0xfe U+00fe
+0xff U+00ff
diff --git a/consoletrans/lat9wbrl.uni b/consoletrans/lat9wbrl.uni
new file mode 100644
index 0000000..e8ccbdd
--- /dev/null
+++ b/consoletrans/lat9wbrl.uni
@@ -0,0 +1,515 @@
+#
+# Character table extracted from font lat9w-16.psf
+#
+0x00 U+fffd
+0x01 U+2248
+0x02 U+0152
+0x03 U+0153
+0x04 U+25c6
+0x05 U+2409
+0x06 U+240c
+0x07 U+240d
+0x08 U+240a
+0x09 U+2591
+0x0a U+2592
+0x0b U+2593
+0x0c U+2588
+0x0d U+2584
+0x0e U+2580
+0x0f U+258c
+0x10 U+2590
+0x11 U+2424
+0x12 U+240b
+0x13 U+2264
+0x14 U+2265
+0x15 U+2260
+0x16 U+25c0
+0x17 U+25b6
+0x18 U+2191
+0x19 U+2193
+0x1a U+2192
+0x1b U+2190
+0x1c U+2195
+0x1d U+2194
+0x1e U+21b5
+0x1f U+03c0
+0x20 U+0020 U+00a0
+0x21 U+0021
+0x22 U+0022
+0x23 U+0023
+0x24 U+0024
+0x25 U+0025
+0x26 U+0026
+0x27 U+0027
+0x28 U+0028
+0x29 U+0029
+0x2a U+002a
+0x2b U+002b
+0x2c U+002c
+0x2d U+002d
+0x2e U+002e
+0x2f U+002f
+0x30 U+0030
+0x31 U+0031
+0x32 U+0032
+0x33 U+0033
+0x34 U+0034
+0x35 U+0035
+0x36 U+0036
+0x37 U+0037
+0x38 U+0038
+0x39 U+0039
+0x3a U+003a
+0x3b U+003b
+0x3c U+003c
+0x3d U+003d
+0x3e U+003e
+0x3f U+003f
+0x40 U+0040
+0x41 U+0041
+0x42 U+0042
+0x43 U+0043
+0x44 U+0044
+0x45 U+0045
+0x46 U+0046
+0x47 U+0047
+0x48 U+0048
+0x49 U+0049
+0x4a U+004a
+0x4b U+004b U+212a
+0x4c U+004c
+0x4d U+004d
+0x4e U+004e
+0x4f U+004f
+0x50 U+0050
+0x51 U+0051
+0x52 U+0052
+0x53 U+0053
+0x54 U+0054
+0x55 U+0055
+0x56 U+0056
+0x57 U+0057
+0x58 U+0058
+0x59 U+0059
+0x5a U+005a
+0x5b U+005b
+0x5c U+005c
+0x5d U+005d
+0x5e U+005e
+0x5f U+005f U+f804
+0x60 U+0060
+0x61 U+0061
+0x62 U+0062
+0x63 U+0063
+0x64 U+0064
+0x65 U+0065
+0x66 U+0066
+0x67 U+0067
+0x68 U+0068
+0x69 U+0069
+0x6a U+006a
+0x6b U+006b
+0x6c U+006c
+0x6d U+006d
+0x6e U+006e
+0x6f U+006f
+0x70 U+0070
+0x71 U+0071
+0x72 U+0072
+0x73 U+0073
+0x74 U+0074
+0x75 U+0075
+0x76 U+0076
+0x77 U+0077
+0x78 U+0078
+0x79 U+0079
+0x7a U+007a
+0x7b U+007b
+0x7c U+007c
+0x7d U+007d
+0x7e U+007e
+0x7f U+0178
+0x80 U+f801
+0x81 U+2575
+0x82 U+2576
+0x83 U+2514
+0x84 U+2577
+0x85 U+2502
+0x86 U+250c
+0x87 U+251c
+0x88 U+2574
+0x89 U+2518
+0x8a U+2500
+0x8b U+2534
+0x8c U+2510
+0x8d U+2524
+0x8e U+252c
+0x8f U+253c
+0x90 U+f803
+0x91 U+2579
+0x92 U+257a
+0x93 U+2517 U+255a
+0x94 U+257b
+0x95 U+2503 U+2551
+0x96 U+250f U+2554
+0x97 U+2523 U+2560
+0x98 U+2578
+0x99 U+251b U+255d
+0x9a U+2501 U+2550
+0x9b U+253b U+2569
+0x9c U+2513 U+2557
+0x9d U+2563 U+252b
+0x9e U+2533 U+2566
+0x9f U+254b U+256c
+0xa0 U+2423
+0xa1 U+00a1
+0xa2 U+00a2
+0xa3 U+00a3
+0xa4 U+00a4 U+20ac
+0xa5 U+00a5
+0xa6 U+00a6 U+0160
+0xa7 U+00a7
+0xa8 U+00a8 U+0161
+0xa9 U+00a9
+0xaa U+00aa
+0xab U+00ab
+0xac U+00ac
+0xad U+00ad
+0xae U+00ae
+0xaf U+00af U+f800
+0xb0 U+00b0
+0xb1 U+00b1
+0xb2 U+00b2
+0xb3 U+00b3
+0xb4 U+00b4 U+017d
+0xb5 U+00b5
+0xb6 U+00b6
+0xb7 U+00b7
+0xb8 U+00b8 U+017e
+0xb9 U+00b9
+0xba U+00ba
+0xbb U+00bb
+0xbc U+00bc U+0152
+0xbd U+00bd U+0153
+0xbe U+00be U+0178
+0xbf U+00bf
+0xc0 U+00c0
+0xc1 U+00c1
+0xc2 U+00c2
+0xc3 U+00c3
+0xc4 U+00c4
+0xc5 U+00c5 U+212b
+0xc6 U+00c6
+0xc7 U+00c7
+0xc8 U+00c8
+0xc9 U+00c9
+0xca U+00ca
+0xcb U+00cb
+0xcc U+00cc
+0xcd U+00cd
+0xce U+00ce
+0xcf U+00cf
+0xd0 U+00d0
+0xd1 U+00d1
+0xd2 U+00d2
+0xd3 U+00d3
+0xd4 U+00d4
+0xd5 U+00d5
+0xd6 U+00d6
+0xd7 U+00d7
+0xd8 U+00d8
+0xd9 U+00d9
+0xda U+00da
+0xdb U+00db
+0xdc U+00dc
+0xdd U+00dd
+0xde U+00de
+0xdf U+00df
+0xe0 U+00e0
+0xe1 U+00e1
+0xe2 U+00e2
+0xe3 U+00e3
+0xe4 U+00e4
+0xe5 U+00e5
+0xe6 U+00e6
+0xe7 U+00e7
+0xe8 U+00e8
+0xe9 U+00e9
+0xea U+00ea
+0xeb U+00eb
+0xec U+00ec
+0xed U+00ed
+0xee U+00ee
+0xef U+00ef
+0xf0 U+00f0
+0xf1 U+00f1
+0xf2 U+00f2
+0xf3 U+00f3
+0xf4 U+00f4
+0xf5 U+00f5
+0xf6 U+00f6
+0xf7 U+00f7
+0xf8 U+00f8
+0xf9 U+00f9
+0xfa U+00fa
+0xfb U+00fb
+0xfc U+00fc
+0xfd U+00fd
+0xfe U+00fe
+0xff U+00ff
+0x100 U+2800
+0x101 U+2801
+0x102 U+2802
+0x103 U+2803
+0x104 U+2804
+0x105 U+2805
+0x106 U+2806
+0x107 U+2807
+0x108 U+2808
+0x109 U+2809
+0x10a U+280a
+0x10b U+280b
+0x10c U+280c
+0x10d U+280d
+0x10e U+280e
+0x10f U+280f
+0x110 U+2810
+0x111 U+2811
+0x112 U+2812
+0x113 U+2813
+0x114 U+2814
+0x115 U+2815
+0x116 U+2816
+0x117 U+2817
+0x118 U+2818
+0x119 U+2819
+0x11a U+281a
+0x11b U+281b
+0x11c U+281c
+0x11d U+281d
+0x11e U+281e
+0x11f U+281f
+0x120 U+2820
+0x121 U+2821
+0x122 U+2822
+0x123 U+2823
+0x124 U+2824
+0x125 U+2825
+0x126 U+2826
+0x127 U+2827
+0x128 U+2828
+0x129 U+2829
+0x12a U+282a
+0x12b U+282b
+0x12c U+282c
+0x12d U+282d
+0x12e U+282e
+0x12f U+282f
+0x130 U+2830
+0x131 U+2831
+0x132 U+2832
+0x133 U+2833
+0x134 U+2834
+0x135 U+2835
+0x136 U+2836
+0x137 U+2837
+0x138 U+2838
+0x139 U+2839
+0x13a U+283a
+0x13b U+283b
+0x13c U+283c
+0x13d U+283d
+0x13e U+283e
+0x13f U+283f
+0x140 U+2840
+0x141 U+2841
+0x142 U+2842
+0x143 U+2843
+0x144 U+2844
+0x145 U+2845
+0x146 U+2846
+0x147 U+2847
+0x148 U+2848
+0x149 U+2849
+0x14a U+284a
+0x14b U+284b
+0x14c U+284c
+0x14d U+284d
+0x14e U+284e
+0x14f U+284f
+0x150 U+2850
+0x151 U+2851
+0x152 U+2852
+0x153 U+2853
+0x154 U+2854
+0x155 U+2855
+0x156 U+2856
+0x157 U+2857
+0x158 U+2858
+0x159 U+2859
+0x15a U+285a
+0x15b U+285b
+0x15c U+285c
+0x15d U+285d
+0x15e U+285e
+0x15f U+285f
+0x160 U+2860
+0x161 U+2861
+0x162 U+2862
+0x163 U+2863
+0x164 U+2864
+0x165 U+2865
+0x166 U+2866
+0x167 U+2867
+0x168 U+2868
+0x169 U+2869
+0x16a U+286a
+0x16b U+286b
+0x16c U+286c
+0x16d U+286d
+0x16e U+286e
+0x16f U+286f
+0x170 U+2870
+0x171 U+2871
+0x172 U+2872
+0x173 U+2873
+0x174 U+2874
+0x175 U+2875
+0x176 U+2876
+0x177 U+2877
+0x178 U+2878
+0x179 U+2879
+0x17a U+287a
+0x17b U+287b
+0x17c U+287c
+0x17d U+287d
+0x17e U+287e
+0x17f U+287f
+0x180 U+2880
+0x181 U+2881
+0x182 U+2882
+0x183 U+2883
+0x184 U+2884
+0x185 U+2885
+0x186 U+2886
+0x187 U+2887
+0x188 U+2888
+0x189 U+2889
+0x18a U+288a
+0x18b U+288b
+0x18c U+288c
+0x18d U+288d
+0x18e U+288e
+0x18f U+288f
+0x190 U+2890
+0x191 U+2891
+0x192 U+2892
+0x193 U+2893
+0x194 U+2894
+0x195 U+2895
+0x196 U+2896
+0x197 U+2897
+0x198 U+2898
+0x199 U+2899
+0x19a U+289a
+0x19b U+289b
+0x19c U+289c
+0x19d U+289d
+0x19e U+289e
+0x19f U+289f
+0x1a0 U+28a0
+0x1a1 U+28a1
+0x1a2 U+28a2
+0x1a3 U+28a3
+0x1a4 U+28a4
+0x1a5 U+28a5
+0x1a6 U+28a6
+0x1a7 U+28a7
+0x1a8 U+28a8
+0x1a9 U+28a9
+0x1aa U+28aa
+0x1ab U+28ab
+0x1ac U+28ac
+0x1ad U+28ad
+0x1ae U+28ae
+0x1af U+28af
+0x1b0 U+28b0
+0x1b1 U+28b1
+0x1b2 U+28b2
+0x1b3 U+28b3
+0x1b4 U+28b4
+0x1b5 U+28b5
+0x1b6 U+28b6
+0x1b7 U+28b7
+0x1b8 U+28b8
+0x1b9 U+28b9
+0x1ba U+28ba
+0x1bb U+28bb
+0x1bc U+28bc
+0x1bd U+28bd
+0x1be U+28be
+0x1bf U+28bf
+0x1c0 U+28c0
+0x1c1 U+28c1
+0x1c2 U+28c2
+0x1c3 U+28c3
+0x1c4 U+28c4
+0x1c5 U+28c5
+0x1c6 U+28c6
+0x1c7 U+28c7
+0x1c8 U+28c8
+0x1c9 U+28c9
+0x1ca U+28ca
+0x1cb U+28cb
+0x1cc U+28cc
+0x1cd U+28cd
+0x1ce U+28ce
+0x1cf U+28cf
+0x1d0 U+28d0
+0x1d1 U+28d1
+0x1d2 U+28d2
+0x1d3 U+28d3
+0x1d4 U+28d4
+0x1d5 U+28d5
+0x1d6 U+28d6
+0x1d7 U+28d7
+0x1d8 U+28d8
+0x1d9 U+28d9
+0x1da U+28da
+0x1db U+28db
+0x1dc U+28dc
+0x1dd U+28dd
+0x1de U+28de
+0x1df U+28df
+0x1e0 U+28e0
+0x1e1 U+28e1
+0x1e2 U+28e2
+0x1e3 U+28e3
+0x1e4 U+28e4
+0x1e5 U+28e5
+0x1e6 U+28e6
+0x1e7 U+28e7
+0x1e8 U+28e8
+0x1e9 U+28e9
+0x1ea U+28ea
+0x1eb U+28eb
+0x1ec U+28ec
+0x1ed U+28ed
+0x1ee U+28ee
+0x1ef U+28ef
+0x1f0 U+28f0
+0x1f1 U+28f1
+0x1f2 U+28f2
+0x1f3 U+28f3
+0x1f4 U+28f4
+0x1f5 U+28f5
+0x1f6 U+28f6
+0x1f7 U+28f7
+0x1f8 U+28f8
+0x1f9 U+28f9
+0x1fa U+28fa
+0x1fb U+28fb
+0x1fc U+28fc
+0x1fd U+28fd
+0x1fe U+28fe
+0x1ff U+28ff
diff --git a/consoletrans/latin_diacr.fallback b/consoletrans/latin_diacr.fallback
new file mode 100644
index 0000000..686eea3
--- /dev/null
+++ b/consoletrans/latin_diacr.fallback
@@ -0,0 +1,1124 @@
+# LATIN SMALL LETTER Y WITH TILDE # LATIN SMALL LETTER Y
+U+1EF9 U+0079
+# LATIN CAPITAL LETTER Y WITH TILDE # LATIN CAPITAL LETTER Y
+U+1EF8 U+0059
+# LATIN SMALL LETTER Y WITH HOOK ABOVE # LATIN SMALL LETTER Y
+U+1EF7 U+0079
+# LATIN CAPITAL LETTER Y WITH HOOK ABOVE # LATIN CAPITAL LETTER Y
+U+1EF6 U+0059
+# LATIN SMALL LETTER Y WITH DOT BELOW # LATIN SMALL LETTER Y
+U+1EF5 U+0079
+# LATIN CAPITAL LETTER Y WITH DOT BELOW # LATIN CAPITAL LETTER Y
+U+1EF4 U+0059
+# LATIN SMALL LETTER Y WITH GRAVE # LATIN SMALL LETTER Y
+U+1EF3 U+0079
+# LATIN CAPITAL LETTER Y WITH GRAVE # LATIN CAPITAL LETTER Y
+U+1EF2 U+0059
+# LATIN SMALL LETTER U WITH HORN AND DOT BELOW # LATIN SMALL LETTER U WITH HORN # LATIN SMALL LETTER U
+U+1EF1 U+01B0 U+0075
+# LATIN CAPITAL LETTER U WITH HORN AND DOT BELOW # LATIN CAPITAL LETTER U WITH HORN # LATIN CAPITAL LETTER U
+U+1EF0 U+01AF U+0055
+# LATIN SMALL LETTER U WITH HORN AND TILDE # LATIN SMALL LETTER U WITH HORN # LATIN SMALL LETTER U
+U+1EEF U+01B0 U+0075
+# LATIN CAPITAL LETTER U WITH HORN AND TILDE # LATIN CAPITAL LETTER U WITH HORN # LATIN CAPITAL LETTER U
+U+1EEE U+01AF U+0055
+# LATIN SMALL LETTER U WITH HORN AND HOOK ABOVE # LATIN SMALL LETTER U WITH HORN # LATIN SMALL LETTER U
+U+1EED U+01B0 U+0075
+# LATIN CAPITAL LETTER U WITH HORN AND HOOK ABOVE # LATIN CAPITAL LETTER U WITH HORN # LATIN CAPITAL LETTER U
+U+1EEC U+01AF U+0055
+# LATIN SMALL LETTER U WITH HORN AND GRAVE # LATIN SMALL LETTER U WITH HORN # LATIN SMALL LETTER U
+U+1EEB U+01B0 U+0075
+# LATIN CAPITAL LETTER U WITH HORN AND GRAVE # LATIN CAPITAL LETTER U WITH HORN # LATIN CAPITAL LETTER U
+U+1EEA U+01AF U+0055
+# LATIN SMALL LETTER U WITH HORN AND ACUTE # LATIN SMALL LETTER U WITH HORN # LATIN SMALL LETTER U
+U+1EE9 U+01B0 U+0075
+# LATIN CAPITAL LETTER U WITH HORN AND ACUTE # LATIN CAPITAL LETTER U WITH HORN # LATIN CAPITAL LETTER U
+U+1EE8 U+01AF U+0055
+# LATIN SMALL LETTER U WITH HOOK ABOVE # LATIN SMALL LETTER U
+U+1EE7 U+0075
+# LATIN CAPITAL LETTER U WITH HOOK ABOVE # LATIN CAPITAL LETTER U
+U+1EE6 U+0055
+# LATIN SMALL LETTER U WITH DOT BELOW # LATIN SMALL LETTER U
+U+1EE5 U+0075
+# LATIN CAPITAL LETTER U WITH DOT BELOW # LATIN CAPITAL LETTER U
+U+1EE4 U+0055
+# LATIN SMALL LETTER O WITH HORN AND DOT BELOW # LATIN SMALL LETTER O WITH HORN # LATIN SMALL LETTER O
+U+1EE3 U+01A1 U+006F
+# LATIN CAPITAL LETTER O WITH HORN AND DOT BELOW # LATIN CAPITAL LETTER O WITH HORN # LATIN CAPITAL LETTER O
+U+1EE2 U+01A0 U+004F
+# LATIN SMALL LETTER O WITH HORN AND TILDE # LATIN SMALL LETTER O WITH HORN # LATIN SMALL LETTER O
+U+1EE1 U+01A1 U+006F
+# LATIN CAPITAL LETTER O WITH HORN AND TILDE # LATIN CAPITAL LETTER O WITH HORN # LATIN CAPITAL LETTER O
+U+1EE0 U+01A0 U+004F
+# LATIN SMALL LETTER O WITH HORN AND HOOK ABOVE # LATIN SMALL LETTER O WITH HORN # LATIN SMALL LETTER O
+U+1EDF U+01A1 U+006F
+# LATIN CAPITAL LETTER O WITH HORN AND HOOK ABOVE # LATIN CAPITAL LETTER O WITH HORN # LATIN CAPITAL LETTER O
+U+1EDE U+01A0 U+004F
+# LATIN SMALL LETTER O WITH HORN AND GRAVE # LATIN SMALL LETTER O WITH HORN # LATIN SMALL LETTER O
+U+1EDD U+01A1 U+006F
+# LATIN CAPITAL LETTER O WITH HORN AND GRAVE # LATIN CAPITAL LETTER O WITH HORN # LATIN CAPITAL LETTER O
+U+1EDC U+01A0 U+004F
+# LATIN SMALL LETTER O WITH HORN AND ACUTE # LATIN SMALL LETTER O WITH HORN # LATIN SMALL LETTER O
+U+1EDB U+01A1 U+006F
+# LATIN CAPITAL LETTER O WITH HORN AND ACUTE # LATIN CAPITAL LETTER O WITH HORN # LATIN CAPITAL LETTER O
+U+1EDA U+01A0 U+004F
+# LATIN SMALL LETTER O WITH CIRCUMFLEX AND DOT BELOW # LATIN SMALL LETTER O WITH CIRCUMFLEX # LATIN SMALL LETTER O
+U+1ED9 U+00F4 U+006F
+# LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND DOT BELOW # LATIN CAPITAL LETTER O WITH CIRCUMFLEX # LATIN CAPITAL LETTER O
+U+1ED8 U+00D4 U+004F
+# LATIN SMALL LETTER O WITH CIRCUMFLEX AND TILDE # LATIN SMALL LETTER O WITH CIRCUMFLEX # LATIN SMALL LETTER O
+U+1ED7 U+00F4 U+006F
+# LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND TILDE # LATIN CAPITAL LETTER O WITH CIRCUMFLEX # LATIN CAPITAL LETTER O
+U+1ED6 U+00D4 U+004F
+# LATIN SMALL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE # LATIN SMALL LETTER O WITH CIRCUMFLEX # LATIN SMALL LETTER O
+U+1ED5 U+00F4 U+006F
+# LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND HOOK ABOVE # LATIN CAPITAL LETTER O WITH CIRCUMFLEX # LATIN CAPITAL LETTER O
+U+1ED4 U+00D4 U+004F
+# LATIN SMALL LETTER O WITH CIRCUMFLEX AND GRAVE # LATIN SMALL LETTER O WITH CIRCUMFLEX # LATIN SMALL LETTER O
+U+1ED3 U+00F4 U+006F
+# LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND GRAVE # LATIN CAPITAL LETTER O WITH CIRCUMFLEX # LATIN CAPITAL LETTER O
+U+1ED2 U+00D4 U+004F
+# LATIN SMALL LETTER O WITH CIRCUMFLEX AND ACUTE # LATIN SMALL LETTER O WITH CIRCUMFLEX # LATIN SMALL LETTER O
+U+1ED1 U+00F4 U+006F
+# LATIN CAPITAL LETTER O WITH CIRCUMFLEX AND ACUTE # LATIN CAPITAL LETTER O WITH CIRCUMFLEX # LATIN CAPITAL LETTER O
+U+1ED0 U+00D4 U+004F
+# LATIN SMALL LETTER O WITH HOOK ABOVE # LATIN SMALL LETTER O
+U+1ECF U+006F
+# LATIN CAPITAL LETTER O WITH HOOK ABOVE # LATIN CAPITAL LETTER O
+U+1ECE U+004F
+# LATIN SMALL LETTER O WITH DOT BELOW # LATIN SMALL LETTER O
+U+1ECD U+006F
+# LATIN CAPITAL LETTER O WITH DOT BELOW # LATIN CAPITAL LETTER O
+U+1ECC U+004F
+# LATIN SMALL LETTER I WITH DOT BELOW # LATIN SMALL LETTER I
+U+1ECB U+0069
+# LATIN CAPITAL LETTER I WITH DOT BELOW # LATIN CAPITAL LETTER I
+U+1ECA U+0049
+# LATIN SMALL LETTER I WITH HOOK ABOVE # LATIN SMALL LETTER I
+U+1EC9 U+0069
+# LATIN CAPITAL LETTER I WITH HOOK ABOVE # LATIN CAPITAL LETTER I
+U+1EC8 U+0049
+# LATIN SMALL LETTER E WITH CIRCUMFLEX AND DOT BELOW # LATIN SMALL LETTER E WITH CIRCUMFLEX # LATIN SMALL LETTER E
+U+1EC7 U+00EA U+0065
+# LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND DOT BELOW # LATIN CAPITAL LETTER E WITH CIRCUMFLEX # LATIN CAPITAL LETTER E
+U+1EC6 U+00CA U+0045
+# LATIN SMALL LETTER E WITH CIRCUMFLEX AND TILDE # LATIN SMALL LETTER E WITH CIRCUMFLEX # LATIN SMALL LETTER E
+U+1EC5 U+00EA U+0065
+# LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND TILDE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX # LATIN CAPITAL LETTER E
+U+1EC4 U+00CA U+0045
+# LATIN SMALL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE # LATIN SMALL LETTER E WITH CIRCUMFLEX # LATIN SMALL LETTER E
+U+1EC3 U+00EA U+0065
+# LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND HOOK ABOVE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX # LATIN CAPITAL LETTER E
+U+1EC2 U+00CA U+0045
+# LATIN SMALL LETTER E WITH CIRCUMFLEX AND GRAVE # LATIN SMALL LETTER E WITH CIRCUMFLEX # LATIN SMALL LETTER E
+U+1EC1 U+00EA U+0065
+# LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND GRAVE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX # LATIN CAPITAL LETTER E
+U+1EC0 U+00CA U+0045
+# LATIN SMALL LETTER E WITH CIRCUMFLEX AND ACUTE # LATIN SMALL LETTER E WITH CIRCUMFLEX # LATIN SMALL LETTER E
+U+1EBF U+00EA U+0065
+# LATIN CAPITAL LETTER E WITH CIRCUMFLEX AND ACUTE # LATIN CAPITAL LETTER E WITH CIRCUMFLEX # LATIN CAPITAL LETTER E
+U+1EBE U+00CA U+0045
+# LATIN SMALL LETTER E WITH TILDE # LATIN SMALL LETTER E
+U+1EBD U+0065
+# LATIN CAPITAL LETTER E WITH TILDE # LATIN CAPITAL LETTER E
+U+1EBC U+0045
+# LATIN SMALL LETTER E WITH HOOK ABOVE # LATIN SMALL LETTER E
+U+1EBB U+0065
+# LATIN CAPITAL LETTER E WITH HOOK ABOVE # LATIN CAPITAL LETTER E
+U+1EBA U+0045
+# LATIN SMALL LETTER E WITH DOT BELOW # LATIN SMALL LETTER E
+U+1EB9 U+0065
+# LATIN CAPITAL LETTER E WITH DOT BELOW # LATIN CAPITAL LETTER E
+U+1EB8 U+0045
+# LATIN SMALL LETTER A WITH BREVE AND DOT BELOW # LATIN SMALL LETTER A WITH BREVE # LATIN SMALL LETTER A
+U+1EB7 U+0103 U+0061
+# LATIN CAPITAL LETTER A WITH BREVE AND DOT BELOW # LATIN CAPITAL LETTER A WITH BREVE # LATIN CAPITAL LETTER A
+U+1EB6 U+0102 U+0041
+# LATIN SMALL LETTER A WITH BREVE AND TILDE # LATIN SMALL LETTER A WITH BREVE # LATIN SMALL LETTER A
+U+1EB5 U+0103 U+0061
+# LATIN CAPITAL LETTER A WITH BREVE AND TILDE # LATIN CAPITAL LETTER A WITH BREVE # LATIN CAPITAL LETTER A
+U+1EB4 U+0102 U+0041
+# LATIN SMALL LETTER A WITH BREVE AND HOOK ABOVE # LATIN SMALL LETTER A WITH BREVE # LATIN SMALL LETTER A
+U+1EB3 U+0103 U+0061
+# LATIN CAPITAL LETTER A WITH BREVE AND HOOK ABOVE # LATIN CAPITAL LETTER A WITH BREVE # LATIN CAPITAL LETTER A
+U+1EB2 U+0102 U+0041
+# LATIN SMALL LETTER A WITH BREVE AND GRAVE # LATIN SMALL LETTER A WITH BREVE # LATIN SMALL LETTER A
+U+1EB1 U+0103 U+0061
+# LATIN CAPITAL LETTER A WITH BREVE AND GRAVE # LATIN CAPITAL LETTER A WITH BREVE # LATIN CAPITAL LETTER A
+U+1EB0 U+0102 U+0041
+# LATIN SMALL LETTER A WITH BREVE AND ACUTE # LATIN SMALL LETTER A WITH BREVE # LATIN SMALL LETTER A
+U+1EAF U+0103 U+0061
+# LATIN CAPITAL LETTER A WITH BREVE AND ACUTE # LATIN CAPITAL LETTER A WITH BREVE # LATIN CAPITAL LETTER A
+U+1EAE U+0102 U+0041
+# LATIN SMALL LETTER A WITH CIRCUMFLEX AND DOT BELOW # LATIN SMALL LETTER A WITH CIRCUMFLEX # LATIN SMALL LETTER A
+U+1EAD U+00E2 U+0061
+# LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND DOT BELOW # LATIN CAPITAL LETTER A WITH CIRCUMFLEX # LATIN CAPITAL LETTER A
+U+1EAC U+00C2 U+0041
+# LATIN SMALL LETTER A WITH CIRCUMFLEX AND TILDE # LATIN SMALL LETTER A WITH CIRCUMFLEX # LATIN SMALL LETTER A
+U+1EAB U+00E2 U+0061
+# LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND TILDE # LATIN CAPITAL LETTER A WITH CIRCUMFLEX # LATIN CAPITAL LETTER A
+U+1EAA U+00C2 U+0041
+# LATIN SMALL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE # LATIN SMALL LETTER A WITH CIRCUMFLEX # LATIN SMALL LETTER A
+U+1EA9 U+00E2 U+0061
+# LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND HOOK ABOVE # LATIN CAPITAL LETTER A WITH CIRCUMFLEX # LATIN CAPITAL LETTER A
+U+1EA8 U+00C2 U+0041
+# LATIN SMALL LETTER A WITH CIRCUMFLEX AND GRAVE # LATIN SMALL LETTER A WITH CIRCUMFLEX # LATIN SMALL LETTER A
+U+1EA7 U+00E2 U+0061
+# LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND GRAVE # LATIN CAPITAL LETTER A WITH CIRCUMFLEX # LATIN CAPITAL LETTER A
+U+1EA6 U+00C2 U+0041
+# LATIN SMALL LETTER A WITH CIRCUMFLEX AND ACUTE # LATIN SMALL LETTER A WITH CIRCUMFLEX # LATIN SMALL LETTER A
+U+1EA5 U+00E2 U+0061
+# LATIN CAPITAL LETTER A WITH CIRCUMFLEX AND ACUTE # LATIN CAPITAL LETTER A WITH CIRCUMFLEX # LATIN CAPITAL LETTER A
+U+1EA4 U+00C2 U+0041
+# LATIN SMALL LETTER A WITH HOOK ABOVE # LATIN SMALL LETTER A
+U+1EA3 U+0061
+# LATIN CAPITAL LETTER A WITH HOOK ABOVE # LATIN CAPITAL LETTER A
+U+1EA2 U+0041
+# LATIN SMALL LETTER A WITH DOT BELOW # LATIN SMALL LETTER A
+U+1EA1 U+0061
+# LATIN CAPITAL LETTER A WITH DOT BELOW # LATIN CAPITAL LETTER A
+U+1EA0 U+0041
+# LATIN SMALL LETTER LONG S WITH DOT ABOVE # LATIN SMALL LETTER LONG S # LATIN SMALL LETTER S
+U+1E9B U+017F U+0073
+# LATIN SMALL LETTER A WITH RIGHT HALF RING # LATIN SMALL LETTER A
+U+1E9A U+0061
+# LATIN SMALL LETTER Y WITH RING ABOVE # LATIN SMALL LETTER Y
+U+1E99 U+0079
+# LATIN SMALL LETTER W WITH RING ABOVE # LATIN SMALL LETTER W
+U+1E98 U+0077
+# LATIN SMALL LETTER T WITH DIAERESIS # LATIN SMALL LETTER T
+U+1E97 U+0074
+# LATIN SMALL LETTER H WITH LINE BELOW # LATIN SMALL LETTER H
+U+1E96 U+0068
+# LATIN SMALL LETTER Z WITH LINE BELOW # LATIN SMALL LETTER Z
+U+1E95 U+007A
+# LATIN CAPITAL LETTER Z WITH LINE BELOW # LATIN CAPITAL LETTER Z
+U+1E94 U+005A
+# LATIN SMALL LETTER Z WITH DOT BELOW # LATIN SMALL LETTER Z
+U+1E93 U+007A
+# LATIN CAPITAL LETTER Z WITH DOT BELOW # LATIN CAPITAL LETTER Z
+U+1E92 U+005A
+# LATIN SMALL LETTER Z WITH CIRCUMFLEX # LATIN SMALL LETTER Z
+U+1E91 U+007A
+# LATIN CAPITAL LETTER Z WITH CIRCUMFLEX # LATIN CAPITAL LETTER Z
+U+1E90 U+005A
+# LATIN SMALL LETTER Y WITH DOT ABOVE # LATIN SMALL LETTER Y
+U+1E8F U+0079
+# LATIN CAPITAL LETTER Y WITH DOT ABOVE # LATIN CAPITAL LETTER Y
+U+1E8E U+0059
+# LATIN SMALL LETTER X WITH DIAERESIS # LATIN SMALL LETTER X
+U+1E8D U+0078
+# LATIN CAPITAL LETTER X WITH DIAERESIS # LATIN CAPITAL LETTER X
+U+1E8C U+0058
+# LATIN SMALL LETTER X WITH DOT ABOVE # LATIN SMALL LETTER X
+U+1E8B U+0078
+# LATIN CAPITAL LETTER X WITH DOT ABOVE # LATIN CAPITAL LETTER X
+U+1E8A U+0058
+# LATIN SMALL LETTER W WITH DOT BELOW # LATIN SMALL LETTER W
+U+1E89 U+0077
+# LATIN CAPITAL LETTER W WITH DOT BELOW # LATIN CAPITAL LETTER W
+U+1E88 U+0057
+# LATIN SMALL LETTER W WITH DOT ABOVE # LATIN SMALL LETTER W
+U+1E87 U+0077
+# LATIN CAPITAL LETTER W WITH DOT ABOVE # LATIN CAPITAL LETTER W
+U+1E86 U+0057
+# LATIN SMALL LETTER W WITH DIAERESIS # LATIN SMALL LETTER W
+U+1E85 U+0077
+# LATIN CAPITAL LETTER W WITH DIAERESIS # LATIN CAPITAL LETTER W
+U+1E84 U+0057
+# LATIN SMALL LETTER W WITH ACUTE # LATIN SMALL LETTER W
+U+1E83 U+0077
+# LATIN CAPITAL LETTER W WITH ACUTE # LATIN CAPITAL LETTER W
+U+1E82 U+0057
+# LATIN SMALL LETTER W WITH GRAVE # LATIN SMALL LETTER W
+U+1E81 U+0077
+# LATIN CAPITAL LETTER W WITH GRAVE # LATIN CAPITAL LETTER W
+U+1E80 U+0057
+# LATIN SMALL LETTER V WITH DOT BELOW # LATIN SMALL LETTER V
+U+1E7F U+0076
+# LATIN CAPITAL LETTER V WITH DOT BELOW # LATIN CAPITAL LETTER V
+U+1E7E U+0056
+# LATIN SMALL LETTER V WITH TILDE # LATIN SMALL LETTER V
+U+1E7D U+0076
+# LATIN CAPITAL LETTER V WITH TILDE # LATIN CAPITAL LETTER V
+U+1E7C U+0056
+# LATIN SMALL LETTER U WITH MACRON AND DIAERESIS # LATIN SMALL LETTER U WITH MACRON # LATIN SMALL LETTER U
+U+1E7B U+016B U+0075
+# LATIN CAPITAL LETTER U WITH MACRON AND DIAERESIS # LATIN CAPITAL LETTER U WITH MACRON # LATIN CAPITAL LETTER U
+U+1E7A U+016A U+0055
+# LATIN SMALL LETTER U WITH TILDE AND ACUTE # LATIN SMALL LETTER U WITH TILDE # LATIN SMALL LETTER U
+U+1E79 U+0169 U+0075
+# LATIN CAPITAL LETTER U WITH TILDE AND ACUTE # LATIN CAPITAL LETTER U WITH TILDE # LATIN CAPITAL LETTER U
+U+1E78 U+0168 U+0055
+# LATIN SMALL LETTER U WITH CIRCUMFLEX BELOW # LATIN SMALL LETTER U
+U+1E77 U+0075
+# LATIN CAPITAL LETTER U WITH CIRCUMFLEX BELOW # LATIN CAPITAL LETTER U
+U+1E76 U+0055
+# LATIN SMALL LETTER U WITH TILDE BELOW # LATIN SMALL LETTER U
+U+1E75 U+0075
+# LATIN CAPITAL LETTER U WITH TILDE BELOW # LATIN CAPITAL LETTER U
+U+1E74 U+0055
+# LATIN SMALL LETTER U WITH DIAERESIS BELOW # LATIN SMALL LETTER U
+U+1E73 U+0075
+# LATIN CAPITAL LETTER U WITH DIAERESIS BELOW # LATIN CAPITAL LETTER U
+U+1E72 U+0055
+# LATIN SMALL LETTER T WITH CIRCUMFLEX BELOW # LATIN SMALL LETTER T
+U+1E71 U+0074
+# LATIN CAPITAL LETTER T WITH CIRCUMFLEX BELOW # LATIN CAPITAL LETTER T
+U+1E70 U+0054
+# LATIN SMALL LETTER T WITH LINE BELOW # LATIN SMALL LETTER T
+U+1E6F U+0074
+# LATIN CAPITAL LETTER T WITH LINE BELOW # LATIN CAPITAL LETTER T
+U+1E6E U+0054
+# LATIN SMALL LETTER T WITH DOT BELOW # LATIN SMALL LETTER T
+U+1E6D U+0074
+# LATIN CAPITAL LETTER T WITH DOT BELOW # LATIN CAPITAL LETTER T
+U+1E6C U+0054
+# LATIN SMALL LETTER T WITH DOT ABOVE # LATIN SMALL LETTER T
+U+1E6B U+0074
+# LATIN CAPITAL LETTER T WITH DOT ABOVE # LATIN CAPITAL LETTER T
+U+1E6A U+0054
+# LATIN SMALL LETTER S WITH DOT BELOW AND DOT ABOVE # LATIN SMALL LETTER S WITH DOT BELOW # LATIN SMALL LETTER S
+U+1E69 U+1E63 U+0073
+# LATIN CAPITAL LETTER S WITH DOT BELOW AND DOT ABOVE # LATIN CAPITAL LETTER S WITH DOT BELOW # LATIN CAPITAL LETTER S
+U+1E68 U+1E62 U+0053
+# LATIN SMALL LETTER S WITH CARON AND DOT ABOVE # LATIN SMALL LETTER S WITH CARON # LATIN SMALL LETTER S
+U+1E67 U+0161 U+0073
+# LATIN CAPITAL LETTER S WITH CARON AND DOT ABOVE # LATIN CAPITAL LETTER S WITH CARON # LATIN CAPITAL LETTER S
+U+1E66 U+0160 U+0053
+# LATIN SMALL LETTER S WITH ACUTE AND DOT ABOVE # LATIN SMALL LETTER S WITH ACUTE # LATIN SMALL LETTER S
+U+1E65 U+015B U+0073
+# LATIN CAPITAL LETTER S WITH ACUTE AND DOT ABOVE # LATIN CAPITAL LETTER S WITH ACUTE # LATIN CAPITAL LETTER S
+U+1E64 U+015A U+0053
+# LATIN SMALL LETTER S WITH DOT BELOW # LATIN SMALL LETTER S
+U+1E63 U+0073
+# LATIN CAPITAL LETTER S WITH DOT BELOW # LATIN CAPITAL LETTER S
+U+1E62 U+0053
+# LATIN SMALL LETTER S WITH DOT ABOVE # LATIN SMALL LETTER S
+U+1E61 U+0073
+# LATIN CAPITAL LETTER S WITH DOT ABOVE # LATIN CAPITAL LETTER S
+U+1E60 U+0053
+# LATIN SMALL LETTER R WITH LINE BELOW # LATIN SMALL LETTER R
+U+1E5F U+0072
+# LATIN CAPITAL LETTER R WITH LINE BELOW # LATIN CAPITAL LETTER R
+U+1E5E U+0052
+# LATIN SMALL LETTER R WITH DOT BELOW AND MACRON # LATIN SMALL LETTER R WITH DOT BELOW # LATIN SMALL LETTER R
+U+1E5D U+1E5B U+0072
+# LATIN CAPITAL LETTER R WITH DOT BELOW AND MACRON # LATIN CAPITAL LETTER R WITH DOT BELOW # LATIN CAPITAL LETTER R
+U+1E5C U+1E5A U+0052
+# LATIN SMALL LETTER R WITH DOT BELOW # LATIN SMALL LETTER R
+U+1E5B U+0072
+# LATIN CAPITAL LETTER R WITH DOT BELOW # LATIN CAPITAL LETTER R
+U+1E5A U+0052
+# LATIN SMALL LETTER R WITH DOT ABOVE # LATIN SMALL LETTER R
+U+1E59 U+0072
+# LATIN CAPITAL LETTER R WITH DOT ABOVE # LATIN CAPITAL LETTER R
+U+1E58 U+0052
+# LATIN SMALL LETTER P WITH DOT ABOVE # LATIN SMALL LETTER P
+U+1E57 U+0070
+# LATIN CAPITAL LETTER P WITH DOT ABOVE # LATIN CAPITAL LETTER P
+U+1E56 U+0050
+# LATIN SMALL LETTER P WITH ACUTE # LATIN SMALL LETTER P
+U+1E55 U+0070
+# LATIN CAPITAL LETTER P WITH ACUTE # LATIN CAPITAL LETTER P
+U+1E54 U+0050
+# LATIN SMALL LETTER O WITH MACRON AND ACUTE # LATIN SMALL LETTER O WITH MACRON # LATIN SMALL LETTER O
+U+1E53 U+014D U+006F
+# LATIN CAPITAL LETTER O WITH MACRON AND ACUTE # LATIN CAPITAL LETTER O WITH MACRON # LATIN CAPITAL LETTER O
+U+1E52 U+014C U+004F
+# LATIN SMALL LETTER O WITH MACRON AND GRAVE # LATIN SMALL LETTER O WITH MACRON # LATIN SMALL LETTER O
+U+1E51 U+014D U+006F
+# LATIN CAPITAL LETTER O WITH MACRON AND GRAVE # LATIN CAPITAL LETTER O WITH MACRON # LATIN CAPITAL LETTER O
+U+1E50 U+014C U+004F
+# LATIN SMALL LETTER O WITH TILDE AND DIAERESIS # LATIN SMALL LETTER O WITH TILDE # LATIN SMALL LETTER O
+U+1E4F U+00F5 U+006F
+# LATIN CAPITAL LETTER O WITH TILDE AND DIAERESIS # LATIN CAPITAL LETTER O WITH TILDE # LATIN CAPITAL LETTER O
+U+1E4E U+00D5 U+004F
+# LATIN SMALL LETTER O WITH TILDE AND ACUTE # LATIN SMALL LETTER O WITH TILDE # LATIN SMALL LETTER O
+U+1E4D U+00F5 U+006F
+# LATIN CAPITAL LETTER O WITH TILDE AND ACUTE # LATIN CAPITAL LETTER O WITH TILDE # LATIN CAPITAL LETTER O
+U+1E4C U+00D5 U+004F
+# LATIN SMALL LETTER N WITH CIRCUMFLEX BELOW # LATIN SMALL LETTER N
+U+1E4B U+006E
+# LATIN CAPITAL LETTER N WITH CIRCUMFLEX BELOW # LATIN CAPITAL LETTER N
+U+1E4A U+004E
+# LATIN SMALL LETTER N WITH LINE BELOW # LATIN SMALL LETTER N
+U+1E49 U+006E
+# LATIN CAPITAL LETTER N WITH LINE BELOW # LATIN CAPITAL LETTER N
+U+1E48 U+004E
+# LATIN SMALL LETTER N WITH DOT BELOW # LATIN SMALL LETTER N
+U+1E47 U+006E
+# LATIN CAPITAL LETTER N WITH DOT BELOW # LATIN CAPITAL LETTER N
+U+1E46 U+004E
+# LATIN SMALL LETTER N WITH DOT ABOVE # LATIN SMALL LETTER N
+U+1E45 U+006E
+# LATIN CAPITAL LETTER N WITH DOT ABOVE # LATIN CAPITAL LETTER N
+U+1E44 U+004E
+# LATIN SMALL LETTER M WITH DOT BELOW # LATIN SMALL LETTER M
+U+1E43 U+006D
+# LATIN CAPITAL LETTER M WITH DOT BELOW # LATIN CAPITAL LETTER M
+U+1E42 U+004D
+# LATIN SMALL LETTER M WITH DOT ABOVE # LATIN SMALL LETTER M
+U+1E41 U+006D
+# LATIN CAPITAL LETTER M WITH DOT ABOVE # LATIN CAPITAL LETTER M
+U+1E40 U+004D
+# LATIN SMALL LETTER M WITH ACUTE # LATIN SMALL LETTER M
+U+1E3F U+006D
+# LATIN CAPITAL LETTER M WITH ACUTE # LATIN CAPITAL LETTER M
+U+1E3E U+004D
+# LATIN SMALL LETTER L WITH CIRCUMFLEX BELOW # LATIN SMALL LETTER L
+U+1E3D U+006C
+# LATIN CAPITAL LETTER L WITH CIRCUMFLEX BELOW # LATIN CAPITAL LETTER L
+U+1E3C U+004C
+# LATIN SMALL LETTER L WITH LINE BELOW # LATIN SMALL LETTER L
+U+1E3B U+006C
+# LATIN CAPITAL LETTER L WITH LINE BELOW # LATIN CAPITAL LETTER L
+U+1E3A U+004C
+# LATIN SMALL LETTER L WITH DOT BELOW AND MACRON # LATIN SMALL LETTER L WITH DOT BELOW # LATIN SMALL LETTER L
+U+1E39 U+1E37 U+006C
+# LATIN CAPITAL LETTER L WITH DOT BELOW AND MACRON # LATIN CAPITAL LETTER L WITH DOT BELOW # LATIN CAPITAL LETTER L
+U+1E38 U+1E36 U+004C
+# LATIN SMALL LETTER L WITH DOT BELOW # LATIN SMALL LETTER L
+U+1E37 U+006C
+# LATIN CAPITAL LETTER L WITH DOT BELOW # LATIN CAPITAL LETTER L
+U+1E36 U+004C
+# LATIN SMALL LETTER K WITH LINE BELOW # LATIN SMALL LETTER K
+U+1E35 U+006B
+# LATIN CAPITAL LETTER K WITH LINE BELOW # LATIN CAPITAL LETTER K
+U+1E34 U+004B
+# LATIN SMALL LETTER K WITH DOT BELOW # LATIN SMALL LETTER K
+U+1E33 U+006B
+# LATIN CAPITAL LETTER K WITH DOT BELOW # LATIN CAPITAL LETTER K
+U+1E32 U+004B
+# LATIN SMALL LETTER K WITH ACUTE # LATIN SMALL LETTER K
+U+1E31 U+006B
+# LATIN CAPITAL LETTER K WITH ACUTE # LATIN CAPITAL LETTER K
+U+1E30 U+004B
+# LATIN SMALL LETTER I WITH DIAERESIS AND ACUTE # LATIN SMALL LETTER I WITH DIAERESIS # LATIN SMALL LETTER I
+U+1E2F U+00EF U+0069
+# LATIN CAPITAL LETTER I WITH DIAERESIS AND ACUTE # LATIN CAPITAL LETTER I WITH DIAERESIS # LATIN CAPITAL LETTER I
+U+1E2E U+00CF U+0049
+# LATIN SMALL LETTER I WITH TILDE BELOW # LATIN SMALL LETTER I
+U+1E2D U+0069
+# LATIN CAPITAL LETTER I WITH TILDE BELOW # LATIN CAPITAL LETTER I
+U+1E2C U+0049
+# LATIN SMALL LETTER H WITH BREVE BELOW # LATIN SMALL LETTER H
+U+1E2B U+0068
+# LATIN CAPITAL LETTER H WITH BREVE BELOW # LATIN CAPITAL LETTER H
+U+1E2A U+0048
+# LATIN SMALL LETTER H WITH CEDILLA # LATIN SMALL LETTER H
+U+1E29 U+0068
+# LATIN CAPITAL LETTER H WITH CEDILLA # LATIN CAPITAL LETTER H
+U+1E28 U+0048
+# LATIN SMALL LETTER H WITH DIAERESIS # LATIN SMALL LETTER H
+U+1E27 U+0068
+# LATIN CAPITAL LETTER H WITH DIAERESIS # LATIN CAPITAL LETTER H
+U+1E26 U+0048
+# LATIN SMALL LETTER H WITH DOT BELOW # LATIN SMALL LETTER H
+U+1E25 U+0068
+# LATIN CAPITAL LETTER H WITH DOT BELOW # LATIN CAPITAL LETTER H
+U+1E24 U+0048
+# LATIN SMALL LETTER H WITH DOT ABOVE # LATIN SMALL LETTER H
+U+1E23 U+0068
+# LATIN CAPITAL LETTER H WITH DOT ABOVE # LATIN CAPITAL LETTER H
+U+1E22 U+0048
+# LATIN SMALL LETTER G WITH MACRON # LATIN SMALL LETTER G
+U+1E21 U+0067
+# LATIN CAPITAL LETTER G WITH MACRON # LATIN CAPITAL LETTER G
+U+1E20 U+0047
+# LATIN SMALL LETTER F WITH DOT ABOVE # LATIN SMALL LETTER F
+U+1E1F U+0066
+# LATIN CAPITAL LETTER F WITH DOT ABOVE # LATIN CAPITAL LETTER F
+U+1E1E U+0046
+# LATIN SMALL LETTER E WITH CEDILLA AND BREVE # LATIN SMALL LETTER E
+U+1E1D U+0065
+# LATIN CAPITAL LETTER E WITH CEDILLA AND BREVE # LATIN CAPITAL LETTER E
+U+1E1C U+0045
+# LATIN SMALL LETTER E WITH TILDE BELOW # LATIN SMALL LETTER E
+U+1E1B U+0065
+# LATIN CAPITAL LETTER E WITH TILDE BELOW # LATIN CAPITAL LETTER E
+U+1E1A U+0045
+# LATIN SMALL LETTER E WITH CIRCUMFLEX BELOW # LATIN SMALL LETTER E
+U+1E19 U+0065
+# LATIN CAPITAL LETTER E WITH CIRCUMFLEX BELOW # LATIN CAPITAL LETTER E
+U+1E18 U+0045
+# LATIN SMALL LETTER E WITH MACRON AND ACUTE # LATIN SMALL LETTER E WITH MACRON # LATIN SMALL LETTER E
+U+1E17 U+0113 U+0065
+# LATIN CAPITAL LETTER E WITH MACRON AND ACUTE # LATIN CAPITAL LETTER E WITH MACRON # LATIN CAPITAL LETTER E
+U+1E16 U+0112 U+0045
+# LATIN SMALL LETTER E WITH MACRON AND GRAVE # LATIN SMALL LETTER E WITH MACRON # LATIN SMALL LETTER E
+U+1E15 U+0113 U+0065
+# LATIN CAPITAL LETTER E WITH MACRON AND GRAVE # LATIN CAPITAL LETTER E WITH MACRON # LATIN CAPITAL LETTER E
+U+1E14 U+0112 U+0045
+# LATIN SMALL LETTER D WITH CIRCUMFLEX BELOW # LATIN SMALL LETTER D
+U+1E13 U+0064
+# LATIN CAPITAL LETTER D WITH CIRCUMFLEX BELOW # LATIN CAPITAL LETTER D
+U+1E12 U+0044
+# LATIN SMALL LETTER D WITH CEDILLA # LATIN SMALL LETTER D
+U+1E11 U+0064
+# LATIN CAPITAL LETTER D WITH CEDILLA # LATIN CAPITAL LETTER D
+U+1E10 U+0044
+# LATIN SMALL LETTER D WITH LINE BELOW # LATIN SMALL LETTER D
+U+1E0F U+0064
+# LATIN CAPITAL LETTER D WITH LINE BELOW # LATIN CAPITAL LETTER D
+U+1E0E U+0044
+# LATIN SMALL LETTER D WITH DOT BELOW # LATIN SMALL LETTER D
+U+1E0D U+0064
+# LATIN CAPITAL LETTER D WITH DOT BELOW # LATIN CAPITAL LETTER D
+U+1E0C U+0044
+# LATIN SMALL LETTER D WITH DOT ABOVE # LATIN SMALL LETTER D
+U+1E0B U+0064
+# LATIN CAPITAL LETTER D WITH DOT ABOVE # LATIN CAPITAL LETTER D
+U+1E0A U+0044
+# LATIN SMALL LETTER C WITH CEDILLA AND ACUTE # LATIN SMALL LETTER C WITH CEDILLA # LATIN SMALL LETTER C
+U+1E09 U+00E7 U+0063
+# LATIN CAPITAL LETTER C WITH CEDILLA AND ACUTE # LATIN CAPITAL LETTER C WITH CEDILLA # LATIN CAPITAL LETTER C
+U+1E08 U+00C7 U+0043
+# LATIN SMALL LETTER B WITH LINE BELOW # LATIN SMALL LETTER B
+U+1E07 U+0062
+# LATIN CAPITAL LETTER B WITH LINE BELOW # LATIN CAPITAL LETTER B
+U+1E06 U+0042
+# LATIN SMALL LETTER B WITH DOT BELOW # LATIN SMALL LETTER B
+U+1E05 U+0062
+# LATIN CAPITAL LETTER B WITH DOT BELOW # LATIN CAPITAL LETTER B
+U+1E04 U+0042
+# LATIN SMALL LETTER B WITH DOT ABOVE # LATIN SMALL LETTER B
+U+1E03 U+0062
+# LATIN CAPITAL LETTER B WITH DOT ABOVE # LATIN CAPITAL LETTER B
+U+1E02 U+0042
+# LATIN SMALL LETTER A WITH RING BELOW # LATIN SMALL LETTER A
+U+1E01 U+0061
+# LATIN CAPITAL LETTER A WITH RING BELOW # LATIN CAPITAL LETTER A
+U+1E00 U+0041
+# LATIN SMALL LETTER DZ DIGRAPH WITH CURL # LATIN SMALL LETTER DZ DIGRAPH
+U+02A5 U+02A3
+# LATIN SMALL LETTER Q WITH HOOK # LATIN SMALL LETTER Q
+U+02A0 U+0071
+# LATIN SMALL LETTER J WITH CROSSED-TAIL # LATIN SMALL LETTER J
+U+029D U+006A
+# LATIN SMALL LETTER EZH WITH CURL # LATIN SMALL LETTER EZH
+U+0293 U+0292
+# LATIN SMALL LETTER Z WITH CURL # LATIN SMALL LETTER Z
+U+0291 U+007A
+# LATIN SMALL LETTER Z WITH RETROFLEX HOOK # LATIN SMALL LETTER Z
+U+0290 U+007A
+# LATIN SMALL LETTER V WITH HOOK # LATIN SMALL LETTER V
+U+028B U+0076
+# LATIN SMALL LETTER T WITH RETROFLEX HOOK # LATIN SMALL LETTER T
+U+0288 U+0074
+# LATIN SMALL LETTER ESH WITH CURL # LATIN SMALL LETTER ESH
+U+0286 U+0283
+# LATIN SMALL LETTER DOTLESS J WITH STROKE AND HOOK # LATIN SMALL LETTER DOTLESS J WITH STROKE # LATIN SMALL LETTER J
+U+0284 U+025F U+006A
+# LATIN SMALL LETTER S WITH HOOK # LATIN SMALL LETTER S
+U+0282 U+0073
+# LATIN SMALL LETTER R WITH FISHHOOK # LATIN SMALL LETTER R
+U+027E U+0072
+# LATIN SMALL LETTER R WITH TAIL # LATIN SMALL LETTER R
+U+027D U+0072
+# LATIN SMALL LETTER R WITH LONG LEG # LATIN SMALL LETTER R
+U+027C U+0072
+# LATIN SMALL LETTER N WITH RETROFLEX HOOK # LATIN SMALL LETTER N
+U+0273 U+006E
+# LATIN SMALL LETTER N WITH LEFT HOOK # LATIN SMALL LETTER N
+U+0272 U+006E
+# LATIN SMALL LETTER M WITH HOOK # LATIN SMALL LETTER M
+U+0271 U+006D
+# LATIN SMALL LETTER L WITH RETROFLEX HOOK # LATIN SMALL LETTER L
+U+026D U+006C
+# LATIN SMALL LETTER L WITH BELT # LATIN SMALL LETTER L
+U+026C U+006C
+# LATIN SMALL LETTER L WITH MIDDLE TILDE # LATIN SMALL LETTER L
+U+026B U+006C
+# LATIN SMALL LETTER I WITH STROKE # LATIN SMALL LETTER I
+U+0268 U+0069
+# LATIN SMALL LETTER H WITH HOOK # LATIN SMALL LETTER H
+U+0266 U+0068
+# LATIN SMALL LETTER G WITH HOOK # LATIN SMALL LETTER G
+U+0260 U+0067
+# LATIN SMALL LETTER DOTLESS J WITH STROKE # LATIN SMALL LETTER J
+U+025F U+006A
+# LATIN SMALL LETTER OPEN E # LATIN SMALL LETTER E
+U+025B U+0065
+# LATIN SMALL LETTER SCHWA WITH HOOK # LATIN SMALL LETTER SCHWA
+U+025A U+0259
+# LATIN SMALL LETTER D WITH HOOK # LATIN SMALL LETTER D
+U+0257 U+0064
+# LATIN SMALL LETTER D WITH TAIL # LATIN SMALL LETTER D
+U+0256 U+0064
+# LATIN SMALL LETTER C WITH CURL # LATIN SMALL LETTER C
+U+0255 U+0063
+# LATIN SMALL LETTER OPEN O # LATIN SMALL LETTER O
+U+0254 U+006F
+# LATIN SMALL LETTER B WITH HOOK # LATIN SMALL LETTER B
+U+0253 U+0062
+# LATIN SMALL LETTER U WITH INVERTED BREVE # LATIN SMALL LETTER U
+U+0217 U+0075
+# LATIN CAPITAL LETTER U WITH INVERTED BREVE # LATIN CAPITAL LETTER U
+U+0216 U+0055
+# LATIN SMALL LETTER U WITH DOUBLE GRAVE # LATIN SMALL LETTER U
+U+0215 U+0075
+# LATIN CAPITAL LETTER U WITH DOUBLE GRAVE # LATIN CAPITAL LETTER U
+U+0214 U+0055
+# LATIN SMALL LETTER R WITH INVERTED BREVE # LATIN SMALL LETTER R
+U+0213 U+0072
+# LATIN CAPITAL LETTER R WITH INVERTED BREVE # LATIN CAPITAL LETTER R
+U+0212 U+0052
+# LATIN SMALL LETTER R WITH DOUBLE GRAVE # LATIN SMALL LETTER R
+U+0211 U+0072
+# LATIN CAPITAL LETTER R WITH DOUBLE GRAVE # LATIN CAPITAL LETTER R
+U+0210 U+0052
+# LATIN SMALL LETTER O WITH INVERTED BREVE # LATIN SMALL LETTER O
+U+020F U+006F
+# LATIN CAPITAL LETTER O WITH INVERTED BREVE # LATIN CAPITAL LETTER O
+U+020E U+004F
+# LATIN SMALL LETTER O WITH DOUBLE GRAVE # LATIN SMALL LETTER O
+U+020D U+006F
+# LATIN CAPITAL LETTER O WITH DOUBLE GRAVE # LATIN CAPITAL LETTER O
+U+020C U+004F
+# LATIN SMALL LETTER I WITH INVERTED BREVE # LATIN SMALL LETTER I
+U+020B U+0069
+# LATIN CAPITAL LETTER I WITH INVERTED BREVE # LATIN CAPITAL LETTER I
+U+020A U+0049
+# LATIN SMALL LETTER I WITH DOUBLE GRAVE # LATIN SMALL LETTER I
+U+0209 U+0069
+# LATIN CAPITAL LETTER I WITH DOUBLE GRAVE # LATIN CAPITAL LETTER I
+U+0208 U+0049
+# LATIN SMALL LETTER E WITH INVERTED BREVE # LATIN SMALL LETTER E
+U+0207 U+0065
+# LATIN CAPITAL LETTER E WITH INVERTED BREVE # LATIN CAPITAL LETTER E
+U+0206 U+0045
+# LATIN SMALL LETTER E WITH DOUBLE GRAVE # LATIN SMALL LETTER E
+U+0205 U+0065
+# LATIN CAPITAL LETTER E WITH DOUBLE GRAVE # LATIN CAPITAL LETTER E
+U+0204 U+0045
+# LATIN SMALL LETTER A WITH INVERTED BREVE # LATIN SMALL LETTER A
+U+0203 U+0061
+# LATIN CAPITAL LETTER A WITH INVERTED BREVE # LATIN CAPITAL LETTER A
+U+0202 U+0041
+# LATIN SMALL LETTER A WITH DOUBLE GRAVE # LATIN SMALL LETTER A
+U+0201 U+0061
+# LATIN CAPITAL LETTER A WITH DOUBLE GRAVE # LATIN CAPITAL LETTER A
+U+0200 U+0041
+# LATIN SMALL LETTER O WITH STROKE AND ACUTE # LATIN SMALL LETTER O WITH STROKE # LATIN SMALL LETTER O
+U+01FF U+00F8 U+006F
+# LATIN CAPITAL LETTER O WITH STROKE AND ACUTE # LATIN CAPITAL LETTER O WITH STROKE # LATIN CAPITAL LETTER O
+U+01FE U+00D8 U+004F
+# LATIN SMALL LETTER AE WITH ACUTE # LATIN SMALL LETTER AE
+U+01FD U+00E6
+# LATIN CAPITAL LETTER AE WITH ACUTE # LATIN CAPITAL LETTER AE
+U+01FC U+00C6
+# LATIN SMALL LETTER A WITH RING ABOVE AND ACUTE # LATIN SMALL LETTER A WITH RING ABOVE # LATIN SMALL LETTER A
+U+01FB U+00E5 U+0061
+# LATIN CAPITAL LETTER A WITH RING ABOVE AND ACUTE # LATIN CAPITAL LETTER A WITH RING ABOVE # LATIN CAPITAL LETTER A
+U+01FA U+00C5 U+0041
+# LATIN SMALL LETTER G WITH ACUTE # LATIN SMALL LETTER G
+U+01F5 U+0067
+# LATIN CAPITAL LETTER G WITH ACUTE # LATIN CAPITAL LETTER G
+U+01F4 U+0047
+# LATIN CAPITAL LETTER D WITH SMALL LETTER Z # LATIN CAPITAL LETTER D
+U+01F2 U+0044
+# LATIN SMALL LETTER J WITH CARON # LATIN SMALL LETTER J
+U+01F0 U+006A
+# LATIN SMALL LETTER EZH WITH CARON # LATIN SMALL LETTER EZH
+U+01EF U+0292
+# LATIN CAPITAL LETTER EZH WITH CARON # LATIN CAPITAL LETTER EZH
+U+01EE U+01B7
+# LATIN SMALL LETTER O WITH OGONEK AND MACRON # LATIN SMALL LETTER O WITH OGONEK # LATIN SMALL LETTER O
+U+01ED U+01EB U+006F
+# LATIN CAPITAL LETTER O WITH OGONEK AND MACRON # LATIN CAPITAL LETTER O WITH OGONEK # LATIN CAPITAL LETTER O
+U+01EC U+01EA U+004F
+# LATIN SMALL LETTER O WITH OGONEK # LATIN SMALL LETTER O
+U+01EB U+006F
+# LATIN CAPITAL LETTER O WITH OGONEK # LATIN CAPITAL LETTER O
+U+01EA U+004F
+# LATIN SMALL LETTER K WITH CARON # LATIN SMALL LETTER K
+U+01E9 U+006B
+# LATIN CAPITAL LETTER K WITH CARON # LATIN CAPITAL LETTER K
+U+01E8 U+004B
+# LATIN SMALL LETTER G WITH CARON # LATIN SMALL LETTER G
+U+01E7 U+0067
+# LATIN CAPITAL LETTER G WITH CARON # LATIN CAPITAL LETTER G
+U+01E6 U+0047
+# LATIN SMALL LETTER G WITH STROKE # LATIN SMALL LETTER G
+U+01E5 U+0067
+# LATIN CAPITAL LETTER G WITH STROKE # LATIN CAPITAL LETTER G
+U+01E4 U+0047
+# LATIN SMALL LETTER AE WITH MACRON # LATIN SMALL LETTER AE
+U+01E3 U+00E6
+# LATIN CAPITAL LETTER AE WITH MACRON # LATIN CAPITAL LETTER AE
+U+01E2 U+00C6
+# LATIN SMALL LETTER A WITH DOT ABOVE AND MACRON # LATIN SMALL LETTER A
+U+01E1 U+0061
+# LATIN CAPITAL LETTER A WITH DOT ABOVE AND MACRON # LATIN CAPITAL LETTER A
+U+01E0 U+0041
+# LATIN SMALL LETTER A WITH DIAERESIS AND MACRON # LATIN SMALL LETTER A WITH DIAERESIS # LATIN SMALL LETTER A
+U+01DF U+00E4 U+0061
+# LATIN CAPITAL LETTER A WITH DIAERESIS AND MACRON # LATIN CAPITAL LETTER A WITH DIAERESIS # LATIN CAPITAL LETTER A
+U+01DE U+00C4 U+0041
+# LATIN SMALL LETTER U WITH DIAERESIS AND GRAVE # LATIN SMALL LETTER U WITH DIAERESIS # LATIN SMALL LETTER U
+U+01DC U+00FC U+0075
+# LATIN CAPITAL LETTER U WITH DIAERESIS AND GRAVE # LATIN CAPITAL LETTER U WITH DIAERESIS # LATIN CAPITAL LETTER U
+U+01DB U+00DC U+0055
+# LATIN SMALL LETTER U WITH DIAERESIS AND CARON # LATIN SMALL LETTER U WITH DIAERESIS # LATIN SMALL LETTER U
+U+01DA U+00FC U+0075
+# LATIN CAPITAL LETTER U WITH DIAERESIS AND CARON # LATIN CAPITAL LETTER U WITH DIAERESIS # LATIN CAPITAL LETTER U
+U+01D9 U+00DC U+0055
+# LATIN SMALL LETTER U WITH DIAERESIS AND ACUTE # LATIN SMALL LETTER U WITH DIAERESIS # LATIN SMALL LETTER U
+U+01D8 U+00FC U+0075
+# LATIN CAPITAL LETTER U WITH DIAERESIS AND ACUTE # LATIN CAPITAL LETTER U WITH DIAERESIS # LATIN CAPITAL LETTER U
+U+01D7 U+00DC U+0055
+# LATIN SMALL LETTER U WITH DIAERESIS AND MACRON # LATIN SMALL LETTER U WITH DIAERESIS # LATIN SMALL LETTER U
+U+01D6 U+00FC U+0075
+# LATIN CAPITAL LETTER U WITH DIAERESIS AND MACRON # LATIN CAPITAL LETTER U WITH DIAERESIS # LATIN CAPITAL LETTER U
+U+01D5 U+00DC U+0055
+# LATIN SMALL LETTER U WITH CARON # LATIN SMALL LETTER U
+U+01D4 U+0075
+# LATIN CAPITAL LETTER U WITH CARON # LATIN CAPITAL LETTER U
+U+01D3 U+0055
+# LATIN SMALL LETTER O WITH CARON # LATIN SMALL LETTER O
+U+01D2 U+006F
+# LATIN CAPITAL LETTER O WITH CARON # LATIN CAPITAL LETTER O
+U+01D1 U+004F
+# LATIN SMALL LETTER I WITH CARON # LATIN SMALL LETTER I
+U+01D0 U+0069
+# LATIN CAPITAL LETTER I WITH CARON # LATIN CAPITAL LETTER I
+U+01CF U+0049
+# LATIN SMALL LETTER A WITH CARON # LATIN SMALL LETTER A
+U+01CE U+0061
+# LATIN CAPITAL LETTER A WITH CARON # LATIN CAPITAL LETTER A
+U+01CD U+0041
+# LATIN CAPITAL LETTER N WITH SMALL LETTER J # LATIN CAPITAL LETTER N
+U+01CB U+004E
+# LATIN CAPITAL LETTER L WITH SMALL LETTER J # LATIN CAPITAL LETTER L
+U+01C8 U+004C
+# LATIN SMALL LETTER DZ WITH CARON # LATIN SMALL LETTER DZ
+U+01C6 U+01F3
+# LATIN CAPITAL LETTER D WITH SMALL LETTER Z WITH CARON # LATIN CAPITAL LETTER D
+U+01C5 U+0044
+# LATIN CAPITAL LETTER DZ WITH CARON # LATIN CAPITAL LETTER DZ
+U+01C4 U+01F1
+# LATIN SMALL LETTER EZH WITH TAIL # LATIN SMALL LETTER EZH
+U+01BA U+0292
+# LATIN SMALL LETTER Z WITH STROKE # LATIN SMALL LETTER Z
+U+01B6 U+007A
+# LATIN CAPITAL LETTER Z WITH STROKE # LATIN CAPITAL LETTER Z
+U+01B5 U+005A
+# LATIN SMALL LETTER Y WITH HOOK # LATIN SMALL LETTER Y
+U+01B4 U+0079
+# LATIN CAPITAL LETTER Y WITH HOOK # LATIN CAPITAL LETTER Y
+U+01B3 U+0059
+# LATIN CAPITAL LETTER V WITH HOOK # LATIN CAPITAL LETTER V
+U+01B2 U+0056
+# LATIN SMALL LETTER U WITH HORN # LATIN SMALL LETTER U
+U+01B0 U+0075
+# LATIN CAPITAL LETTER U WITH HORN # LATIN CAPITAL LETTER U
+U+01AF U+0055
+# LATIN CAPITAL LETTER T WITH RETROFLEX HOOK # LATIN CAPITAL LETTER T
+U+01AE U+0054
+# LATIN SMALL LETTER T WITH HOOK # LATIN SMALL LETTER T
+U+01AD U+0074
+# LATIN CAPITAL LETTER T WITH HOOK # LATIN CAPITAL LETTER T
+U+01AC U+0054
+# LATIN SMALL LETTER T WITH PALATAL HOOK # LATIN SMALL LETTER T
+U+01AB U+0074
+# LATIN SMALL LETTER P WITH HOOK # LATIN SMALL LETTER P
+U+01A5 U+0070
+# LATIN CAPITAL LETTER P WITH HOOK # LATIN CAPITAL LETTER P
+U+01A4 U+0050
+# LATIN SMALL LETTER O WITH HORN # LATIN SMALL LETTER O
+U+01A1 U+006F
+# LATIN CAPITAL LETTER O WITH HORN # LATIN CAPITAL LETTER O
+U+01A0 U+004F
+# LATIN CAPITAL LETTER O WITH MIDDLE TILDE # LATIN CAPITAL LETTER O
+U+019F U+004F
+# LATIN SMALL LETTER N WITH LONG RIGHT LEG # LATIN SMALL LETTER N
+U+019E U+006E
+# LATIN CAPITAL LETTER N WITH LEFT HOOK # LATIN CAPITAL LETTER N
+U+019D U+004E
+# LATIN SMALL LETTER L WITH BAR # LATIN SMALL LETTER L
+U+019A U+006C
+# LATIN SMALL LETTER K WITH HOOK # LATIN SMALL LETTER K
+U+0199 U+006B
+# LATIN CAPITAL LETTER K WITH HOOK # LATIN CAPITAL LETTER K
+U+0198 U+004B
+# LATIN CAPITAL LETTER I WITH STROKE # LATIN CAPITAL LETTER I
+U+0197 U+0049
+# LATIN CAPITAL LETTER G WITH HOOK # LATIN CAPITAL LETTER G
+U+0193 U+0047
+# LATIN SMALL LETTER F WITH HOOK # LATIN SMALL LETTER F
+U+0192 U+0066
+# LATIN CAPITAL LETTER F WITH HOOK # LATIN CAPITAL LETTER F
+U+0191 U+0046
+# LATIN CAPITAL LETTER OPEN E # LATIN CAPITAL LETTER E
+U+0190 U+0045
+# LATIN SMALL LETTER D WITH TOPBAR # LATIN SMALL LETTER D
+U+018C U+0064
+# LATIN CAPITAL LETTER D WITH TOPBAR # LATIN CAPITAL LETTER D
+U+018B U+0044
+# LATIN CAPITAL LETTER D WITH HOOK # LATIN CAPITAL LETTER D
+U+018A U+0044
+# LATIN SMALL LETTER C WITH HOOK # LATIN SMALL LETTER C
+U+0188 U+0063
+# LATIN CAPITAL LETTER C WITH HOOK # LATIN CAPITAL LETTER C
+U+0187 U+0043
+# LATIN CAPITAL LETTER OPEN O # LATIN CAPITAL LETTER O
+U+0186 U+004F
+# LATIN SMALL LETTER B WITH TOPBAR # LATIN SMALL LETTER B
+U+0183 U+0062
+# LATIN CAPITAL LETTER B WITH TOPBAR # LATIN CAPITAL LETTER B
+U+0182 U+0042
+# LATIN CAPITAL LETTER B WITH HOOK # LATIN CAPITAL LETTER B
+U+0181 U+0042
+# LATIN SMALL LETTER B WITH STROKE # LATIN SMALL LETTER B
+U+0180 U+0062
+# LATIN SMALL LETTER LONG S # LATIN SMALL LETTER S
+U+017F U+0073
+# LATIN SMALL LETTER Z WITH CARON # LATIN SMALL LETTER Z
+U+017E U+007A
+# LATIN CAPITAL LETTER Z WITH CARON # LATIN CAPITAL LETTER Z
+U+017D U+005A
+# LATIN SMALL LETTER Z WITH DOT ABOVE # LATIN SMALL LETTER Z
+U+017C U+007A
+# LATIN CAPITAL LETTER Z WITH DOT ABOVE # LATIN CAPITAL LETTER Z
+U+017B U+005A
+# LATIN SMALL LETTER Z WITH ACUTE # LATIN SMALL LETTER Z
+U+017A U+007A
+# LATIN CAPITAL LETTER Z WITH ACUTE # LATIN CAPITAL LETTER Z
+U+0179 U+005A
+# LATIN CAPITAL LETTER Y WITH DIAERESIS # LATIN CAPITAL LETTER Y
+U+0178 U+0059
+# LATIN SMALL LETTER Y WITH CIRCUMFLEX # LATIN SMALL LETTER Y
+U+0177 U+0079
+# LATIN CAPITAL LETTER Y WITH CIRCUMFLEX # LATIN CAPITAL LETTER Y
+U+0176 U+0059
+# LATIN SMALL LETTER W WITH CIRCUMFLEX # LATIN SMALL LETTER W
+U+0175 U+0077
+# LATIN CAPITAL LETTER W WITH CIRCUMFLEX # LATIN CAPITAL LETTER W
+U+0174 U+0057
+# LATIN SMALL LETTER U WITH OGONEK # LATIN SMALL LETTER U
+U+0173 U+0075
+# LATIN CAPITAL LETTER U WITH OGONEK # LATIN CAPITAL LETTER U
+U+0172 U+0055
+# LATIN SMALL LETTER U WITH DOUBLE ACUTE # LATIN SMALL LETTER U
+U+0171 U+0075
+# LATIN CAPITAL LETTER U WITH DOUBLE ACUTE # LATIN CAPITAL LETTER U
+U+0170 U+0055
+# LATIN SMALL LETTER U WITH RING ABOVE # LATIN SMALL LETTER U
+U+016F U+0075
+# LATIN CAPITAL LETTER U WITH RING ABOVE # LATIN CAPITAL LETTER U
+U+016E U+0055
+# LATIN SMALL LETTER U WITH BREVE # LATIN SMALL LETTER U
+U+016D U+0075
+# LATIN CAPITAL LETTER U WITH BREVE # LATIN CAPITAL LETTER U
+U+016C U+0055
+# LATIN SMALL LETTER U WITH MACRON # LATIN SMALL LETTER U
+U+016B U+0075
+# LATIN CAPITAL LETTER U WITH MACRON # LATIN CAPITAL LETTER U
+U+016A U+0055
+# LATIN SMALL LETTER U WITH TILDE # LATIN SMALL LETTER U
+U+0169 U+0075
+# LATIN CAPITAL LETTER U WITH TILDE # LATIN CAPITAL LETTER U
+U+0168 U+0055
+# LATIN SMALL LETTER T WITH STROKE # LATIN SMALL LETTER T
+U+0167 U+0074
+# LATIN CAPITAL LETTER T WITH STROKE # LATIN CAPITAL LETTER T
+U+0166 U+0054
+# LATIN SMALL LETTER T WITH CARON # LATIN SMALL LETTER T
+U+0165 U+0074
+# LATIN CAPITAL LETTER T WITH CARON # LATIN CAPITAL LETTER T
+U+0164 U+0054
+# LATIN SMALL LETTER T WITH CEDILLA # LATIN SMALL LETTER T
+U+0163 U+0074
+# LATIN CAPITAL LETTER T WITH CEDILLA # LATIN CAPITAL LETTER T
+U+0162 U+0054
+# LATIN SMALL LETTER S WITH CARON # LATIN SMALL LETTER S
+U+0161 U+0073
+# LATIN CAPITAL LETTER S WITH CARON # LATIN CAPITAL LETTER S
+U+0160 U+0053
+# LATIN SMALL LETTER S WITH CEDILLA # LATIN SMALL LETTER S
+U+015F U+0073
+# LATIN CAPITAL LETTER S WITH CEDILLA # LATIN CAPITAL LETTER S
+U+015E U+0053
+# LATIN SMALL LETTER S WITH CIRCUMFLEX # LATIN SMALL LETTER S
+U+015D U+0073
+# LATIN CAPITAL LETTER S WITH CIRCUMFLEX # LATIN CAPITAL LETTER S
+U+015C U+0053
+# LATIN SMALL LETTER S WITH ACUTE # LATIN SMALL LETTER S
+U+015B U+0073
+# LATIN CAPITAL LETTER S WITH ACUTE # LATIN CAPITAL LETTER S
+U+015A U+0053
+# LATIN SMALL LETTER R WITH CARON # LATIN SMALL LETTER R
+U+0159 U+0072
+# LATIN CAPITAL LETTER R WITH CARON # LATIN CAPITAL LETTER R
+U+0158 U+0052
+# LATIN SMALL LETTER R WITH CEDILLA # LATIN SMALL LETTER R
+U+0157 U+0072
+# LATIN CAPITAL LETTER R WITH CEDILLA # LATIN CAPITAL LETTER R
+U+0156 U+0052
+# LATIN SMALL LETTER R WITH ACUTE # LATIN SMALL LETTER R
+U+0155 U+0072
+# LATIN CAPITAL LETTER R WITH ACUTE # LATIN CAPITAL LETTER R
+U+0154 U+0052
+# LATIN SMALL LETTER O WITH DOUBLE ACUTE # LATIN SMALL LETTER O
+U+0151 U+006F
+# LATIN CAPITAL LETTER O WITH DOUBLE ACUTE # LATIN CAPITAL LETTER O
+U+0150 U+004F
+# LATIN SMALL LETTER O WITH BREVE # LATIN SMALL LETTER O
+U+014F U+006F
+# LATIN CAPITAL LETTER O WITH BREVE # LATIN CAPITAL LETTER O
+U+014E U+004F
+# LATIN SMALL LETTER O WITH MACRON # LATIN SMALL LETTER O
+U+014D U+006F
+# LATIN CAPITAL LETTER O WITH MACRON # LATIN CAPITAL LETTER O
+U+014C U+004F
+# LATIN SMALL LETTER N WITH CARON # LATIN SMALL LETTER N
+U+0148 U+006E
+# LATIN CAPITAL LETTER N WITH CARON # LATIN CAPITAL LETTER N
+U+0147 U+004E
+# LATIN SMALL LETTER N WITH CEDILLA # LATIN SMALL LETTER N
+U+0146 U+006E
+# LATIN CAPITAL LETTER N WITH CEDILLA # LATIN CAPITAL LETTER N
+U+0145 U+004E
+# LATIN SMALL LETTER N WITH ACUTE # LATIN SMALL LETTER N
+U+0144 U+006E
+# LATIN CAPITAL LETTER N WITH ACUTE # LATIN CAPITAL LETTER N
+U+0143 U+004E
+# LATIN SMALL LETTER L WITH STROKE # LATIN SMALL LETTER L
+U+0142 U+006C
+# LATIN CAPITAL LETTER L WITH STROKE # LATIN CAPITAL LETTER L
+U+0141 U+004C
+# LATIN SMALL LETTER L WITH MIDDLE DOT # LATIN SMALL LETTER L
+U+0140 U+006C
+# LATIN CAPITAL LETTER L WITH MIDDLE DOT # LATIN CAPITAL LETTER L
+U+013F U+004C
+# LATIN SMALL LETTER L WITH CARON # LATIN SMALL LETTER L
+U+013E U+006C
+# LATIN CAPITAL LETTER L WITH CARON # LATIN CAPITAL LETTER L
+U+013D U+004C
+# LATIN SMALL LETTER L WITH CEDILLA # LATIN SMALL LETTER L
+U+013C U+006C
+# LATIN CAPITAL LETTER L WITH CEDILLA # LATIN CAPITAL LETTER L
+U+013B U+004C
+# LATIN SMALL LETTER L WITH ACUTE # LATIN SMALL LETTER L
+U+013A U+006C
+# LATIN CAPITAL LETTER L WITH ACUTE # LATIN CAPITAL LETTER L
+U+0139 U+004C
+# LATIN SMALL LETTER K WITH CEDILLA # LATIN SMALL LETTER K
+U+0137 U+006B
+# LATIN CAPITAL LETTER K WITH CEDILLA # LATIN CAPITAL LETTER K
+U+0136 U+004B
+# LATIN SMALL LETTER J WITH CIRCUMFLEX # LATIN SMALL LETTER J
+U+0135 U+006A
+# LATIN CAPITAL LETTER J WITH CIRCUMFLEX # LATIN CAPITAL LETTER J
+U+0134 U+004A
+# LATIN SMALL LETTER DOTLESS I # LATIN SMALL LETTER I
+U+0131 U+0069
+# LATIN CAPITAL LETTER I WITH DOT ABOVE # LATIN CAPITAL LETTER I
+U+0130 U+0049
+# LATIN SMALL LETTER I WITH OGONEK # LATIN SMALL LETTER I
+U+012F U+0069
+# LATIN CAPITAL LETTER I WITH OGONEK # LATIN CAPITAL LETTER I
+U+012E U+0049
+# LATIN SMALL LETTER I WITH BREVE # LATIN SMALL LETTER I
+U+012D U+0069
+# LATIN CAPITAL LETTER I WITH BREVE # LATIN CAPITAL LETTER I
+U+012C U+0049
+# LATIN SMALL LETTER I WITH MACRON # LATIN SMALL LETTER I
+U+012B U+0069
+# LATIN CAPITAL LETTER I WITH MACRON # LATIN CAPITAL LETTER I
+U+012A U+0049
+# LATIN SMALL LETTER I WITH TILDE # LATIN SMALL LETTER I
+U+0129 U+0069
+# LATIN CAPITAL LETTER I WITH TILDE # LATIN CAPITAL LETTER I
+U+0128 U+0049
+# LATIN SMALL LETTER H WITH STROKE # LATIN SMALL LETTER H
+U+0127 U+0068
+# LATIN CAPITAL LETTER H WITH STROKE # LATIN CAPITAL LETTER H
+U+0126 U+0048
+# LATIN SMALL LETTER H WITH CIRCUMFLEX # LATIN SMALL LETTER H
+U+0125 U+0068
+# LATIN CAPITAL LETTER H WITH CIRCUMFLEX # LATIN CAPITAL LETTER H
+U+0124 U+0048
+# LATIN SMALL LETTER G WITH CEDILLA # LATIN SMALL LETTER G
+U+0123 U+0067
+# LATIN CAPITAL LETTER G WITH CEDILLA # LATIN CAPITAL LETTER G
+U+0122 U+0047
+# LATIN SMALL LETTER G WITH DOT ABOVE # LATIN SMALL LETTER G
+U+0121 U+0067
+# LATIN CAPITAL LETTER G WITH DOT ABOVE # LATIN CAPITAL LETTER G
+U+0120 U+0047
+# LATIN SMALL LETTER G WITH BREVE # LATIN SMALL LETTER G
+U+011F U+0067
+# LATIN CAPITAL LETTER G WITH BREVE # LATIN CAPITAL LETTER G
+U+011E U+0047
+# LATIN SMALL LETTER G WITH CIRCUMFLEX # LATIN SMALL LETTER G
+U+011D U+0067
+# LATIN CAPITAL LETTER G WITH CIRCUMFLEX # LATIN CAPITAL LETTER G
+U+011C U+0047
+# LATIN SMALL LETTER E WITH CARON # LATIN SMALL LETTER E
+U+011B U+0065
+# LATIN CAPITAL LETTER E WITH CARON # LATIN CAPITAL LETTER E
+U+011A U+0045
+# LATIN SMALL LETTER E WITH OGONEK # LATIN SMALL LETTER E
+U+0119 U+0065
+# LATIN CAPITAL LETTER E WITH OGONEK # LATIN CAPITAL LETTER E
+U+0118 U+0045
+# LATIN SMALL LETTER E WITH DOT ABOVE # LATIN SMALL LETTER E
+U+0117 U+0065
+# LATIN CAPITAL LETTER E WITH DOT ABOVE # LATIN CAPITAL LETTER E
+U+0116 U+0045
+# LATIN SMALL LETTER E WITH BREVE # LATIN SMALL LETTER E
+U+0115 U+0065
+# LATIN CAPITAL LETTER E WITH BREVE # LATIN CAPITAL LETTER E
+U+0114 U+0045
+# LATIN SMALL LETTER E WITH MACRON # LATIN SMALL LETTER E
+U+0113 U+0065
+# LATIN CAPITAL LETTER E WITH MACRON # LATIN CAPITAL LETTER E
+U+0112 U+0045
+# LATIN SMALL LETTER D WITH STROKE # LATIN SMALL LETTER D
+U+0111 U+0064
+# LATIN CAPITAL LETTER D WITH STROKE # LATIN CAPITAL LETTER D
+U+0110 U+0044
+# LATIN SMALL LETTER D WITH CARON # LATIN SMALL LETTER D
+U+010F U+0064
+# LATIN CAPITAL LETTER D WITH CARON # LATIN CAPITAL LETTER D
+U+010E U+0044
+# LATIN SMALL LETTER C WITH CARON # LATIN SMALL LETTER C
+U+010D U+0063
+# LATIN CAPITAL LETTER C WITH CARON # LATIN CAPITAL LETTER C
+U+010C U+0043
+# LATIN SMALL LETTER C WITH DOT ABOVE # LATIN SMALL LETTER C
+U+010B U+0063
+# LATIN CAPITAL LETTER C WITH DOT ABOVE # LATIN CAPITAL LETTER C
+U+010A U+0043
+# LATIN SMALL LETTER C WITH CIRCUMFLEX # LATIN SMALL LETTER C
+U+0109 U+0063
+# LATIN CAPITAL LETTER C WITH CIRCUMFLEX # LATIN CAPITAL LETTER C
+U+0108 U+0043
+# LATIN SMALL LETTER C WITH ACUTE # LATIN SMALL LETTER C
+U+0107 U+0063
+# LATIN CAPITAL LETTER C WITH ACUTE # LATIN CAPITAL LETTER C
+U+0106 U+0043
+# LATIN SMALL LETTER A WITH OGONEK # LATIN SMALL LETTER A
+U+0105 U+0061
+# LATIN CAPITAL LETTER A WITH OGONEK # LATIN CAPITAL LETTER A
+U+0104 U+0041
+# LATIN SMALL LETTER A WITH BREVE # LATIN SMALL LETTER A
+U+0103 U+0061
+# LATIN CAPITAL LETTER A WITH BREVE # LATIN CAPITAL LETTER A
+U+0102 U+0041
+# LATIN SMALL LETTER A WITH MACRON # LATIN SMALL LETTER A
+U+0101 U+0061
+# LATIN CAPITAL LETTER A WITH MACRON # LATIN CAPITAL LETTER A
+U+0100 U+0041
+# LATIN SMALL LETTER Y WITH DIAERESIS # LATIN SMALL LETTER Y
+U+00FF U+0079
+# LATIN SMALL LETTER Y WITH ACUTE # LATIN SMALL LETTER Y
+U+00FD U+0079
+# LATIN SMALL LETTER U WITH DIAERESIS # LATIN SMALL LETTER U
+U+00FC U+0075
+# LATIN SMALL LETTER U WITH CIRCUMFLEX # LATIN SMALL LETTER U
+U+00FB U+0075
+# LATIN SMALL LETTER U WITH ACUTE # LATIN SMALL LETTER U
+U+00FA U+0075
+# LATIN SMALL LETTER U WITH GRAVE # LATIN SMALL LETTER U
+U+00F9 U+0075
+# LATIN SMALL LETTER O WITH STROKE # LATIN SMALL LETTER O
+U+00F8 U+006F
+# LATIN SMALL LETTER O WITH DIAERESIS # LATIN SMALL LETTER O
+U+00F6 U+006F
+# LATIN SMALL LETTER O WITH TILDE # LATIN SMALL LETTER O
+U+00F5 U+006F
+# LATIN SMALL LETTER O WITH CIRCUMFLEX # LATIN SMALL LETTER O
+U+00F4 U+006F
+# LATIN SMALL LETTER O WITH ACUTE # LATIN SMALL LETTER O
+U+00F3 U+006F
+# LATIN SMALL LETTER O WITH GRAVE # LATIN SMALL LETTER O
+U+00F2 U+006F
+# LATIN SMALL LETTER N WITH TILDE # LATIN SMALL LETTER N
+U+00F1 U+006E
+# LATIN SMALL LETTER I WITH DIAERESIS # LATIN SMALL LETTER I
+U+00EF U+0069
+# LATIN SMALL LETTER I WITH CIRCUMFLEX # LATIN SMALL LETTER I
+U+00EE U+0069
+# LATIN SMALL LETTER I WITH ACUTE # LATIN SMALL LETTER I
+U+00ED U+0069
+# LATIN SMALL LETTER I WITH GRAVE # LATIN SMALL LETTER I
+U+00EC U+0069
+# LATIN SMALL LETTER E WITH DIAERESIS # LATIN SMALL LETTER E
+U+00EB U+0065
+# LATIN SMALL LETTER E WITH CIRCUMFLEX # LATIN SMALL LETTER E
+U+00EA U+0065
+# LATIN SMALL LETTER E WITH ACUTE # LATIN SMALL LETTER E
+U+00E9 U+0065
+# LATIN SMALL LETTER E WITH GRAVE # LATIN SMALL LETTER E
+U+00E8 U+0065
+# LATIN SMALL LETTER C WITH CEDILLA # LATIN SMALL LETTER C
+U+00E7 U+0063
+# LATIN SMALL LETTER A WITH RING ABOVE # LATIN SMALL LETTER A
+U+00E5 U+0061
+# LATIN SMALL LETTER A WITH DIAERESIS # LATIN SMALL LETTER A
+U+00E4 U+0061
+# LATIN SMALL LETTER A WITH TILDE # LATIN SMALL LETTER A
+U+00E3 U+0061
+# LATIN SMALL LETTER A WITH CIRCUMFLEX # LATIN SMALL LETTER A
+U+00E2 U+0061
+# LATIN SMALL LETTER A WITH ACUTE # LATIN SMALL LETTER A
+U+00E1 U+0061
+# LATIN SMALL LETTER A WITH GRAVE # LATIN SMALL LETTER A
+U+00E0 U+0061
+# LATIN CAPITAL LETTER Y WITH ACUTE # LATIN CAPITAL LETTER Y
+U+00DD U+0059
+# LATIN CAPITAL LETTER U WITH DIAERESIS # LATIN CAPITAL LETTER U
+U+00DC U+0055
+# LATIN CAPITAL LETTER U WITH CIRCUMFLEX # LATIN CAPITAL LETTER U
+U+00DB U+0055
+# LATIN CAPITAL LETTER U WITH ACUTE # LATIN CAPITAL LETTER U
+U+00DA U+0055
+# LATIN CAPITAL LETTER U WITH GRAVE # LATIN CAPITAL LETTER U
+U+00D9 U+0055
+# LATIN CAPITAL LETTER O WITH STROKE # LATIN CAPITAL LETTER O
+U+00D8 U+004F
+# LATIN CAPITAL LETTER O WITH DIAERESIS # LATIN CAPITAL LETTER O
+U+00D6 U+004F
+# LATIN CAPITAL LETTER O WITH TILDE # LATIN CAPITAL LETTER O
+U+00D5 U+004F
+# LATIN CAPITAL LETTER O WITH CIRCUMFLEX # LATIN CAPITAL LETTER O
+U+00D4 U+004F
+# LATIN CAPITAL LETTER O WITH ACUTE # LATIN CAPITAL LETTER O
+U+00D3 U+004F
+# LATIN CAPITAL LETTER O WITH GRAVE # LATIN CAPITAL LETTER O
+U+00D2 U+004F
+# LATIN CAPITAL LETTER N WITH TILDE # LATIN CAPITAL LETTER N
+U+00D1 U+004E
+# LATIN CAPITAL LETTER I WITH DIAERESIS # LATIN CAPITAL LETTER I
+U+00CF U+0049
+# LATIN CAPITAL LETTER I WITH CIRCUMFLEX # LATIN CAPITAL LETTER I
+U+00CE U+0049
+# LATIN CAPITAL LETTER I WITH ACUTE # LATIN CAPITAL LETTER I
+U+00CD U+0049
+# LATIN CAPITAL LETTER I WITH GRAVE # LATIN CAPITAL LETTER I
+U+00CC U+0049
+# LATIN CAPITAL LETTER E WITH DIAERESIS # LATIN CAPITAL LETTER E
+U+00CB U+0045
+# LATIN CAPITAL LETTER E WITH CIRCUMFLEX # LATIN CAPITAL LETTER E
+U+00CA U+0045
+# LATIN CAPITAL LETTER E WITH ACUTE # LATIN CAPITAL LETTER E
+U+00C9 U+0045
+# LATIN CAPITAL LETTER E WITH GRAVE # LATIN CAPITAL LETTER E
+U+00C8 U+0045
+# LATIN CAPITAL LETTER C WITH CEDILLA # LATIN CAPITAL LETTER C
+U+00C7 U+0043
+# LATIN CAPITAL LETTER A WITH RING ABOVE # LATIN CAPITAL LETTER A
+U+00C5 U+0041
+# LATIN CAPITAL LETTER A WITH DIAERESIS # LATIN CAPITAL LETTER A
+U+00C4 U+0041
+# LATIN CAPITAL LETTER A WITH TILDE # LATIN CAPITAL LETTER A
+U+00C3 U+0041
+# LATIN CAPITAL LETTER A WITH CIRCUMFLEX # LATIN CAPITAL LETTER A
+U+00C2 U+0041
+# LATIN CAPITAL LETTER A WITH ACUTE # LATIN CAPITAL LETTER A
+U+00C1 U+0041
+# LATIN CAPITAL LETTER A WITH GRAVE # LATIN CAPITAL LETTER A
+U+00C0 U+0041
diff --git a/consoletrans/latin_diacr.nofallback b/consoletrans/latin_diacr.nofallback
new file mode 100644
index 0000000..2126a34
--- /dev/null
+++ b/consoletrans/latin_diacr.nofallback
@@ -0,0 +1,69 @@
+00DF;LATIN SMALL LETTER SHARP S
+0149;LATIN SMALL LETTER N PRECEDED BY APOSTROPHE
+0184;LATIN CAPITAL LETTER TONE SIX
+0185;LATIN SMALL LETTER TONE SIX
+0189;LATIN CAPITAL LETTER AFRICAN D
+018D;LATIN SMALL LETTER TURNED DELTA
+018E;LATIN CAPITAL LETTER REVERSED E
+019C;LATIN CAPITAL LETTER TURNED M
+01A6;LATIN LETTER YR
+01A7;LATIN CAPITAL LETTER TONE TWO
+01A8;LATIN SMALL LETTER TONE TWO
+01AA;LATIN LETTER REVERSED ESH LOOP
+01B8;LATIN CAPITAL LETTER EZH REVERSED
+01B9;LATIN SMALL LETTER EZH REVERSED
+01BB;LATIN LETTER TWO WITH STROKE
+01BC;LATIN CAPITAL LETTER TONE FIVE
+01BD;LATIN SMALL LETTER TONE FIVE
+01BE;LATIN LETTER INVERTED GLOTTAL STOP WITH STROKE
+01BF;LATIN LETTER WYNN
+01C0;LATIN LETTER DENTAL CLICK
+01C1;LATIN LETTER LATERAL CLICK
+01C2;LATIN LETTER ALVEOLAR CLICK
+01C3;LATIN LETTER RETROFLEX CLICK
+01DD;LATIN SMALL LETTER TURNED E
+0250;LATIN SMALL LETTER TURNED A
+0252;LATIN SMALL LETTER TURNED ALPHA
+0258;LATIN SMALL LETTER REVERSED E
+025C;LATIN SMALL LETTER REVERSED OPEN E
+025D;LATIN SMALL LETTER REVERSED OPEN E WITH HOOK
+025E;LATIN SMALL LETTER CLOSED REVERSED OPEN E
+0261;LATIN SMALL LETTER SCRIPT G
+0262;LATIN LETTER SMALL CAPITAL G
+0264;LATIN SMALL LETTER RAMS HORN
+0265;LATIN SMALL LETTER TURNED H
+026A;LATIN LETTER SMALL CAPITAL I
+026F;LATIN SMALL LETTER TURNED M
+0270;LATIN SMALL LETTER TURNED M WITH LONG LEG
+0274;LATIN LETTER SMALL CAPITAL N
+0275;LATIN SMALL LETTER BARRED O
+0276;LATIN LETTER SMALL CAPITAL OE
+0277;LATIN SMALL LETTER CLOSED OMEGA
+0279;LATIN SMALL LETTER TURNED R
+027A;LATIN SMALL LETTER TURNED R WITH LONG LEG
+027B;LATIN SMALL LETTER TURNED R WITH HOOK
+027F;LATIN SMALL LETTER REVERSED R WITH FISHHOOK
+0280;LATIN LETTER SMALL CAPITAL R
+0281;LATIN LETTER SMALL CAPITAL INVERTED R
+0285;LATIN SMALL LETTER SQUAT REVERSED ESH
+0287;LATIN SMALL LETTER TURNED T
+0289;LATIN SMALL LETTER U BAR
+028C;LATIN SMALL LETTER TURNED V
+028D;LATIN SMALL LETTER TURNED W
+028E;LATIN SMALL LETTER TURNED Y
+028F;LATIN LETTER SMALL CAPITAL Y
+0294;LATIN LETTER GLOTTAL STOP
+0295;LATIN LETTER PHARYNGEAL VOICED FRICATIVE
+0296;LATIN LETTER INVERTED GLOTTAL STOP
+0297;LATIN LETTER STRETCHED C
+0298;LATIN LETTER BILABIAL CLICK
+0299;LATIN LETTER SMALL CAPITAL B
+029A;LATIN SMALL LETTER CLOSED OPEN E
+029B;LATIN LETTER SMALL CAPITAL G WITH HOOK
+029C;LATIN LETTER SMALL CAPITAL H
+029E;LATIN SMALL LETTER TURNED K
+029F;LATIN LETTER SMALL CAPITAL L
+02A1;LATIN LETTER GLOTTAL STOP WITH STROKE
+02A2;LATIN LETTER REVERSED GLOTTAL STOP WITH STROKE
+271D;LATIN CROSS
+FB05;LATIN SMALL LIGATURE LONG S T
diff --git a/consoletrans/math.fallback b/consoletrans/math.fallback
new file mode 100644
index 0000000..c7b63da
--- /dev/null
+++ b/consoletrans/math.fallback
@@ -0,0 +1,29 @@
+# This files gives fallback for math character from the following charsets:
+# cp437 latin1
+
+# BEWARE: These approximations will give FALSE display. Use with caution. It
+# will be better when we can specially highlight such approximations.
+
+# empty set ED (∅) : ostroke (Ø) : zero (0) : o
+U+2205 U+00D8 U+0030 U+006F
+
+# identical (≡) : equal
+U+2261 U+003D
+
+# greater or equal (≥) : greater
+U+2265 U+003E
+
+# less or equal (≤) : less
+U+2264 U+003C
+
+# division (÷) : /
+U+00F7 U+002F
+
+# multiply (×) : * : x (x should never show up)
+U+00D7 U+002A U+0078
+
+# superscript small N (â¿) : n
+U+207F U+006E
+
+# Pi (Ï€) : box-drawing (â•¥)
+U+03C0 U+2565
diff --git a/consoletrans/misc.fallback b/consoletrans/misc.fallback
new file mode 100644
index 0000000..08259d1
--- /dev/null
+++ b/consoletrans/misc.fallback
@@ -0,0 +1,29 @@
+# broken bar (¦) : vertical bar (|)
+U+00A6 U+007C
+
+# inv. ? (¿) : ?
+U+00BF U+003F
+
+# inv. ! (¡) : !
+U+00A1 U+0021
+
+# diaeresis (¨) : "
+U+00A8 U+0022
+
+# acute (´) : '
+U+00B4 U+0027
+
+# copyright (©) : C
+U+00A9 U+0043
+
+# registered (®) : R
+U+00AE U+0052
+
+# superscript 1 (¹) : 1
+U+00B9 U+0031
+
+# superscript 2 (²) : 2
+U+00B2 U+0032
+
+# superscript 3 (³) : 3
+U+00B3 U+0033
diff --git a/consoletrans/null.trans b/consoletrans/null.trans
new file mode 100644
index 0000000..b277cb0
--- /dev/null
+++ b/consoletrans/null.trans
@@ -0,0 +1,65 @@
+# Internal value Output character
+0x00 0x00
+0x01 0x00
+0x02 0x00
+0x03 0x00
+0x04 0x00
+0x05 0x00
+0x06 0x00
+0x07 0x00
+0x08 0x00
+0x09 0x00
+0x0A 0x00
+0x0B 0x00
+0x0C 0x00
+0x0D 0x00
+0x0E 0x00
+0x0F 0x00
+0x10 0x00
+0x11 0x00
+0x12 0x00
+0x13 0x00
+0x14 0x00
+0x15 0x00
+0x16 0x00
+0x17 0x00
+0x18 0x00
+0x19 0x00
+0x1A 0x00
+0x1B 0x00
+0x1C 0x00
+0x1D 0x00
+0x1E 0x00
+0x1F 0x00
+0x80 0x00
+0x81 0x00
+0x82 0x00
+0x83 0x00
+0x84 0x00
+0x85 0x00
+0x86 0x00
+0x87 0x00
+0x88 0x00
+0x89 0x00
+0x8A 0x00
+0x8B 0x00
+0x8C 0x00
+0x8D 0x00
+0x8E 0x00
+0x8F 0x00
+0x90 0x00
+0x91 0x00
+0x92 0x00
+0x93 0x00
+0x94 0x00
+0x95 0x00
+0x96 0x00
+0x97 0x00
+0x98 0x00
+0x99 0x00
+0x9A 0x00
+0x9B 0x00
+0x9C 0x00
+0x9D 0x00
+0x9E 0x00
+0x9F 0x00
diff --git a/consoletrans/qrczak.fallback b/consoletrans/qrczak.fallback
new file mode 100644
index 0000000..1fb186d
--- /dev/null
+++ b/consoletrans/qrczak.fallback
@@ -0,0 +1,1553 @@
+U+00A0 U+0020
+U+00A1 U+0021
+U+00A2 U+0063
+U+00A3 U+004C
+U+00A4 U+002A
+U+00A5 U+0059
+U+00A6 U+007C
+U+00A7 U+0053
+U+00A8 U+0022
+U+00A9 U+0063
+U+00AA U+0061
+U+00AB U+003C
+U+00AC U+007E
+U+00AD U+0000
+U+00AE U+0052
+U+00AF U+002D
+U+00B0 U+02DA U+006F
+U+00B2 U+0032
+U+00B3 U+0033
+U+00B4 U+0027
+U+00B5 U+03BC U+0075
+U+00B6 U+0050
+U+00B7 U+2022 U+2219 U+002E
+U+00B8 U+002C
+U+00B9 U+0031
+U+00BA U+006F
+U+00BB U+003E
+U+00BF U+003F
+U+00C0 U+0041
+U+00C1 U+0041
+U+00C2 U+0041
+U+00C3 U+0041
+U+00C4 U+0041
+U+00C5 U+0041
+U+00C6 U+0041
+U+00C7 U+0043
+U+00C8 U+0045
+U+00C9 U+0045
+U+00CA U+0045
+U+00CB U+0045
+U+00CC U+0049
+U+00CD U+0049
+U+00CE U+0049
+U+00CF U+0049
+U+00D0 U+0044
+U+00D1 U+004E
+U+00D2 U+004F
+U+00D3 U+004F
+U+00D4 U+004F
+U+00D5 U+004F
+U+00D6 U+004F
+U+00D7 U+0078
+U+00D8 U+004F
+U+00D9 U+0055
+U+00DA U+0055
+U+00DB U+0055
+U+00DC U+0055
+U+00DD U+0059
+U+00DE U+0054
+U+00DF U+0073
+U+00E0 U+0061
+U+00E1 U+0061
+U+00E2 U+0061
+U+00E3 U+0061
+U+00E4 U+0061
+U+00E5 U+0061
+U+00E6 U+0061
+U+00E7 U+0063
+U+00E8 U+0065
+U+00E9 U+0065
+U+00EA U+0065
+U+00EB U+0065
+U+00EC U+0069
+U+00ED U+0069
+U+00EE U+0069
+U+00EF U+0069
+U+00F0 U+0064
+U+00F1 U+006E
+U+00F2 U+006F
+U+00F3 U+006F
+U+00F4 U+006F
+U+00F5 U+006F
+U+00F6 U+006F
+U+00F7 U+003A
+U+00F8 U+006F
+U+00F9 U+0075
+U+00FA U+0075
+U+00FB U+0075
+U+00FC U+0075
+U+00FD U+0079
+U+00FE U+0074
+U+00FF U+0079
+U+0100 U+0041
+U+0101 U+0061
+U+0102 U+0041
+U+0103 U+0061
+U+0104 U+0041
+U+0105 U+0061
+U+0106 U+0043
+U+0107 U+0063
+U+0108 U+0043
+U+0109 U+0063
+U+010A U+0043
+U+010B U+0063
+U+010C U+0043
+U+010D U+0063
+U+010E U+0044
+U+010F U+0064
+U+0110 U+0044
+U+0111 U+0064
+U+0112 U+0045
+U+0113 U+0065
+U+0114 U+0045
+U+0115 U+0065
+U+0116 U+0045
+U+0117 U+0065
+U+0118 U+0045
+U+0119 U+0065
+U+011A U+0045
+U+011B U+0065
+U+011C U+0047
+U+011D U+0067
+U+011E U+0047
+U+011F U+0067
+U+0120 U+0047
+U+0121 U+0067
+U+0122 U+0047
+U+0123 U+0067
+U+0124 U+0048
+U+0125 U+0068
+U+0126 U+0048
+U+0127 U+0048
+U+0128 U+0049
+U+0129 U+0069
+U+012A U+0049
+U+012B U+0069
+U+012C U+0049
+U+012D U+0069
+U+012E U+0049
+U+012F U+0069
+U+0130 U+0049
+U+0131 U+0069
+U+0133 U+00FF U+0079
+U+0134 U+004A
+U+0135 U+006A
+U+0136 U+004B
+U+0137 U+006B
+U+0138 U+006B
+U+0139 U+004C
+U+013A U+006C
+U+013B U+004C
+U+013C U+006C
+U+013D U+004C
+U+013E U+006C
+U+013F U+004C
+U+0140 U+006C
+U+0141 U+004C
+U+0142 U+006C
+U+0143 U+004E
+U+0144 U+006E
+U+0145 U+004E
+U+0146 U+006E
+U+0147 U+004E
+U+0148 U+006E
+U+0149 U+006E
+U+014A U+004E
+U+014B U+004E
+U+014C U+004F
+U+014D U+006F
+U+014E U+004F
+U+014F U+006F
+U+0150 U+004F
+U+0151 U+006F
+U+0152 U+004F
+U+0153 U+006F
+U+0154 U+0052
+U+0155 U+0072
+U+0156 U+0052
+U+0157 U+0072
+U+0158 U+0052
+U+0159 U+0072
+U+015A U+0053
+U+015B U+0073
+U+015C U+0053
+U+015D U+0073
+U+015E U+0053
+U+015F U+0073
+U+0160 U+0053
+U+0161 U+0073
+U+0162 U+0054
+U+0163 U+0074
+U+0164 U+0054
+U+0165 U+0074
+U+0166 U+0054
+U+0167 U+0074
+U+0168 U+0055
+U+0169 U+0075
+U+016A U+0055
+U+016B U+0075
+U+016C U+0055
+U+016D U+0075
+U+016E U+0055
+U+016F U+0075
+U+0170 U+0055
+U+0171 U+0075
+U+0172 U+0055
+U+0173 U+0075
+U+0174 U+0057
+U+0175 U+0077
+U+0176 U+0059
+U+0177 U+0079
+U+0178 U+0059
+U+0179 U+005A
+U+017A U+007A
+U+017B U+005A
+U+017C U+007A
+U+017D U+005A
+U+017E U+007A
+U+017F U+0073
+U+0187 U+0043
+U+0188 U+0063
+U+0191 U+0046
+U+0192 U+0066
+U+0198 U+004B
+U+0199 U+006B
+U+01A0 U+004F
+U+01A1 U+006F
+U+01A2 U+004F
+U+01A3 U+006F
+U+01AF U+0055
+U+01B0 U+0075
+U+01B5 U+005A
+U+01B6 U+007A
+U+01B7 U+005A
+U+01C4 U+0044
+U+01C5 U+0044
+U+01C6 U+0064
+U+01C7 U+004C
+U+01C8 U+004C
+U+01C9 U+006C
+U+01CA U+004E
+U+01CB U+004E
+U+01CC U+006E
+U+01CD U+0041
+U+01CE U+0061
+U+01CF U+0049
+U+01D0 U+0069
+U+01D1 U+004F
+U+01D2 U+006F
+U+01D3 U+0055
+U+01D4 U+0075
+U+01D5 U+00DC U+0055
+U+01D6 U+00FC U+0075
+U+01D7 U+00DC U+0055
+U+01D8 U+00FC U+0075
+U+01D9 U+00DC U+0055
+U+01DA U+00FC U+0075
+U+01DB U+00DC U+0055
+U+01DC U+00FC U+0075
+U+01DE U+00C4 U+0041
+U+01DF U+00E4 U+0061
+U+01E0 U+0041
+U+01E1 U+0061
+U+01E2 U+00C6 U+0100 U+0041
+U+01E3 U+00E6 U+0101 U+0061
+U+01E4 U+0047
+U+01E5 U+0067
+U+01E6 U+0047
+U+01E7 U+0067
+U+01E8 U+004B
+U+01E9 U+006B
+U+01EA U+004F
+U+01EB U+006F
+U+01EC U+01EA U+004F
+U+01ED U+01EB U+006F
+U+01EE U+017D U+005A
+U+01EF U+017E U+007A
+U+01F0 U+006A
+U+01F1 U+0044
+U+01F2 U+0044
+U+01F3 U+0064
+U+01F4 U+0047
+U+01F5 U+0067
+U+01FA U+00C5 U+00C1 U+0041
+U+01FB U+00E5 U+00E1 U+0061
+U+01FC U+00C6 U+00C1 U+0041
+U+01FD U+00E6 U+00E1 U+0061
+U+01FE U+00D8 U+00D3 U+004F
+U+01FF U+00F8 U+00F3 U+006F
+U+0200 U+0041
+U+0201 U+0061
+U+0202 U+0041
+U+0203 U+0061
+U+0204 U+0045
+U+0205 U+0065
+U+0206 U+0045
+U+0207 U+0065
+U+0208 U+0049
+U+0209 U+0069
+U+020A U+0049
+U+020B U+0069
+U+020C U+004F
+U+020D U+006F
+U+020E U+004F
+U+020F U+006F
+U+0210 U+0052
+U+0211 U+0072
+U+0212 U+0052
+U+0213 U+0072
+U+0214 U+0055
+U+0215 U+0075
+U+0216 U+0055
+U+0217 U+0075
+U+0251 U+0041
+U+0254 U+004F
+U+0259 U+0040
+U+025A U+0052
+U+025B U+0045
+U+025F U+004A
+U+0261 U+0067
+U+0262 U+0047
+U+0263 U+0051
+U+0269 U+0049
+U+026A U+0049
+U+026B U+004C
+U+026C U+004C
+U+0271 U+004D
+U+0277 U+0055
+U+0279 U+0072
+U+027C U+0072
+U+027E U+002A
+U+0280 U+0052
+U+0283 U+0053
+U+028A U+0055
+U+028C U+0056
+U+0292 U+007A
+U+0294 U+003F
+U+029D U+006A
+U+029F U+004C
+U+02B2 U+003B
+U+02BB U+0060
+U+02C6 U+005E
+U+02C7 U+005E
+U+02C9 U+002D
+U+02CB U+0060
+U+02D8 U+007E
+U+02D9 U+002E
+U+02DA U+00B0 U+002A
+U+02DB U+002C
+U+02DC U+007E
+U+02DD U+0022
+U+0374 U+0027
+U+0375 U+002C
+U+037A U+002C
+U+037E U+003B
+U+0384 U+0027
+U+0385 U+0022
+U+0386 U+0041
+U+0387 U+00B7 U+2022 U+2219 U+002E
+U+0388 U+0045
+U+0389 U+0112 U+0045
+U+038A U+0049
+U+038C U+004F
+U+038E U+0055
+U+038F U+014C U+004F
+U+0390 U+0069
+U+0391 U+0041
+U+0392 U+0042
+U+0393 U+0047
+U+0394 U+0044
+U+0395 U+0045
+U+0396 U+005A
+U+0397 U+0112 U+0045
+U+0398 U+0054
+U+0399 U+0049
+U+039A U+004B
+U+039B U+004C
+U+039C U+004D
+U+039D U+004E
+U+039E U+0058
+U+039F U+004F
+U+03A0 U+0050
+U+03A1 U+0052
+U+03A3 U+0053
+U+03A4 U+0054
+U+03A5 U+0055
+U+03A6 U+0046
+U+03A7 U+0058
+U+03A8 U+0050
+U+03A9 U+014C U+004F
+U+03AA U+0049
+U+03AB U+0055
+U+03AC U+0061
+U+03AD U+0065
+U+03AE U+0113 U+0065
+U+03AF U+0069
+U+03B0 U+0075
+U+03B1 U+0061
+U+03B2 U+0062
+U+03B3 U+0067
+U+03B4 U+0064
+U+03B5 U+0065
+U+03B6 U+007A
+U+03B7 U+0113 U+0065
+U+03B8 U+0074
+U+03B9 U+0069
+U+03BA U+006B
+U+03BB U+006C
+U+03BC U+006D
+U+03BD U+006E
+U+03BE U+0078
+U+03BF U+006F
+U+03C0 U+0070
+U+03C1 U+0072
+U+03C2 U+0073
+U+03C3 U+0073
+U+03C4 U+0074
+U+03C5 U+0075
+U+03C6 U+0066
+U+03C7 U+0078
+U+03C8 U+0070
+U+03C9 U+014D U+006F
+U+03CA U+0069
+U+03CB U+0075
+U+03CC U+006F
+U+03CD U+0075
+U+03CE U+014D U+006F
+U+03D0 U+0062
+U+03D1 U+0074
+U+03D2 U+0075
+U+03D5 U+0066
+U+03D6 U+0070
+U+03F0 U+006B
+U+03F1 U+0072
+U+0401 U+0415 U+00CB U+0045
+U+0402 U+0110 U+0044
+U+0403 U+0413 U+01F4 U+0047
+U+0404 U+0415 U+0112 U+0045
+U+0406 U+0049
+U+0407 U+00CF U+0049
+U+0408 U+004A
+U+0409 U+041B U+004C
+U+040A U+041D U+004E
+U+040B U+0106 U+0043
+U+040C U+041A U+1E30 U+004B
+U+040E U+0423 U+016C U+0055
+U+0410 U+0041
+U+0411 U+0042
+U+0412 U+0056
+U+0413 U+0047
+U+0414 U+0044
+U+0415 U+0045
+U+0416 U+017D U+005A
+U+0417 U+005A
+U+0418 U+0049
+U+0419 U+0059
+U+041A U+004B
+U+041B U+004C
+U+041C U+004D
+U+041D U+004E
+U+041E U+004F
+U+041F U+0050
+U+0420 U+0052
+U+0421 U+0053
+U+0422 U+0054
+U+0423 U+0055
+U+0424 U+0046
+U+0425 U+0048
+U+0426 U+0043
+U+0427 U+010C U+0043
+U+0428 U+0160 U+0053
+U+042A U+0022
+U+042B U+0059
+U+042C U+0027
+U+042D U+0045
+U+042E U+0055
+U+042F U+0041
+U+0430 U+0061
+U+0431 U+0062
+U+0432 U+0076
+U+0433 U+0067
+U+0434 U+0064
+U+0435 U+0065
+U+0436 U+017E U+007A
+U+0437 U+007A
+U+0438 U+0069
+U+0439 U+0079
+U+043A U+006B
+U+043B U+006C
+U+043C U+006D
+U+043D U+006E
+U+043E U+006F
+U+043F U+0070
+U+0440 U+0072
+U+0441 U+0073
+U+0442 U+0074
+U+0443 U+0075
+U+0444 U+0066
+U+0445 U+0068
+U+0446 U+0063
+U+0447 U+010D U+0063
+U+0448 U+0161 U+0073
+U+044A U+0022
+U+044B U+0079
+U+044C U+0027
+U+044D U+0065
+U+044E U+0075
+U+044F U+0061
+U+0451 U+0435 U+00EB U+0065
+U+0452 U+0111 U+0064
+U+0453 U+0433 U+01F5 U+0067
+U+0454 U+0435 U+0113 U+0065
+U+0456 U+0069
+U+0457 U+00EF U+0069
+U+0458 U+006A
+U+0459 U+043B U+006C
+U+045A U+043D U+0062
+U+045B U+0107 U+0063
+U+045C U+043A U+1E31 U+006B
+U+045E U+0443 U+016D U+0075
+U+0490 U+0413 U+0047
+U+0491 U+0433 U+0067
+U+1E00 U+0041
+U+1E01 U+0061
+U+1E02 U+0042
+U+1E03 U+0062
+U+1E04 U+0042
+U+1E05 U+0062
+U+1E06 U+0042
+U+1E07 U+0062
+U+1E08 U+0043
+U+1E09 U+0063
+U+1E0A U+0044
+U+1E0B U+0064
+U+1E0C U+0044
+U+1E0D U+0064
+U+1E0E U+0044
+U+1E0F U+0064
+U+1E10 U+0044
+U+1E11 U+0064
+U+1E12 U+0044
+U+1E13 U+0064
+U+1E14 U+0112 U+0045
+U+1E15 U+0113 U+0065
+U+1E16 U+0112 U+0045
+U+1E17 U+0113 U+0065
+U+1E18 U+0045
+U+1E19 U+0065
+U+1E1A U+0045
+U+1E1B U+0065
+U+1E1C U+0045
+U+1E1D U+0065
+U+1E1E U+0046
+U+1E1F U+0066
+U+1E20 U+0047
+U+1E21 U+0067
+U+1E22 U+0048
+U+1E23 U+0068
+U+1E24 U+0048
+U+1E25 U+0068
+U+1E26 U+0048
+U+1E27 U+0068
+U+1E28 U+0048
+U+1E29 U+0068
+U+1E2A U+0048
+U+1E2B U+0068
+U+1E2C U+0049
+U+1E2D U+0069
+U+1E2E U+00CF U+0049
+U+1E2F U+00EF U+0069
+U+1E30 U+004B
+U+1E31 U+006B
+U+1E32 U+004B
+U+1E33 U+006B
+U+1E34 U+004B
+U+1E35 U+006B
+U+1E36 U+004C
+U+1E37 U+006C
+U+1E38 U+004C
+U+1E39 U+006C
+U+1E3A U+004C
+U+1E3B U+006C
+U+1E3C U+004C
+U+1E3D U+006C
+U+1E3E U+004D
+U+1E3F U+006D
+U+1E40 U+004D
+U+1E41 U+006D
+U+1E42 U+004D
+U+1E43 U+006D
+U+1E44 U+004E
+U+1E45 U+006E
+U+1E46 U+004E
+U+1E47 U+006E
+U+1E48 U+004E
+U+1E49 U+006E
+U+1E4A U+004E
+U+1E4B U+006E
+U+1E4C U+00D5 U+004F
+U+1E4D U+00F5 U+006F
+U+1E4E U+00D5 U+004F
+U+1E4F U+00F5 U+006F
+U+1E50 U+014C U+004F
+U+1E51 U+014D U+006F
+U+1E52 U+014C U+004F
+U+1E53 U+014D U+006F
+U+1E54 U+0050
+U+1E55 U+0070
+U+1E56 U+0050
+U+1E57 U+0070
+U+1E58 U+0052
+U+1E59 U+0072
+U+1E5A U+0052
+U+1E5B U+0072
+U+1E5C U+0052
+U+1E5D U+0072
+U+1E5E U+0052
+U+1E5F U+0072
+U+1E60 U+0053
+U+1E61 U+0073
+U+1E62 U+0053
+U+1E63 U+0073
+U+1E64 U+0053
+U+1E65 U+0073
+U+1E66 U+0053
+U+1E67 U+0073
+U+1E68 U+0053
+U+1E69 U+0073
+U+1E6A U+0054
+U+1E6B U+0074
+U+1E6C U+0054
+U+1E6D U+0074
+U+1E6E U+0054
+U+1E6F U+0074
+U+1E70 U+0054
+U+1E71 U+0074
+U+1E72 U+0055
+U+1E73 U+0075
+U+1E74 U+0055
+U+1E75 U+0075
+U+1E76 U+0055
+U+1E77 U+0075
+U+1E78 U+0168 U+0055
+U+1E79 U+0169 U+0075
+U+1E7A U+016A U+0055
+U+1E7B U+016B U+0075
+U+1E7C U+0056
+U+1E7D U+0076
+U+1E7E U+0056
+U+1E7F U+0076
+U+1E80 U+0057
+U+1E81 U+0077
+U+1E82 U+0057
+U+1E83 U+0077
+U+1E84 U+0057
+U+1E85 U+0077
+U+1E86 U+0057
+U+1E87 U+0077
+U+1E88 U+0057
+U+1E89 U+0077
+U+1E8A U+0058
+U+1E8B U+0078
+U+1E8C U+0058
+U+1E8D U+0078
+U+1E8E U+0059
+U+1E8F U+0079
+U+1E90 U+005A
+U+1E91 U+007A
+U+1E92 U+005A
+U+1E93 U+007A
+U+1E94 U+005A
+U+1E95 U+007A
+U+1E96 U+0068
+U+1E97 U+0074
+U+1E98 U+0077
+U+1E99 U+0079
+U+1E9A U+0061
+U+1E9B U+017F U+0053
+U+1EA0 U+0041
+U+1EA1 U+0061
+U+1EA2 U+0041
+U+1EA3 U+0061
+U+1EA4 U+00C2 U+0041
+U+1EA5 U+00E2 U+0061
+U+1EA6 U+00C2 U+0041
+U+1EA7 U+00E2 U+0061
+U+1EA8 U+00C2 U+0041
+U+1EA9 U+00E2 U+0061
+U+1EAA U+00C2 U+0041
+U+1EAB U+00E2 U+0061
+U+1EAC U+00C2 U+0041
+U+1EAD U+00E2 U+0061
+U+1EAE U+0102 U+0041
+U+1EAF U+0103 U+0061
+U+1EB0 U+0102 U+0041
+U+1EB1 U+0103 U+0061
+U+1EB2 U+0102 U+0041
+U+1EB3 U+0103 U+0061
+U+1EB4 U+0102 U+0041
+U+1EB5 U+0103 U+0061
+U+1EB6 U+0102 U+0041
+U+1EB7 U+0103 U+0061
+U+1EB8 U+0045
+U+1EB9 U+0065
+U+1EBA U+0045
+U+1EBB U+0065
+U+1EBC U+0045
+U+1EBD U+0065
+U+1EBE U+00CA U+0045
+U+1EBF U+00EA U+0065
+U+1EC0 U+00CA U+0045
+U+1EC1 U+00EA U+0065
+U+1EC2 U+00CA U+0045
+U+1EC3 U+00EA U+0065
+U+1EC4 U+00CA U+0045
+U+1EC5 U+00EA U+0065
+U+1EC6 U+00CA U+0045
+U+1EC7 U+00EA U+0065
+U+1EC8 U+0049
+U+1EC9 U+0069
+U+1ECA U+0049
+U+1ECB U+0069
+U+1ECC U+004F
+U+1ECD U+006F
+U+1ECE U+004F
+U+1ECF U+006F
+U+1ED0 U+00D4 U+004F
+U+1ED1 U+00F4 U+006F
+U+1ED2 U+00D4 U+004F
+U+1ED3 U+00F4 U+006F
+U+1ED4 U+00D4 U+004F
+U+1ED5 U+00F4 U+006F
+U+1ED6 U+00D4 U+004F
+U+1ED7 U+00F4 U+006F
+U+1ED8 U+00D4 U+004F
+U+1ED9 U+00F4 U+006F
+U+1EDA U+01A0 U+004F
+U+1EDB U+01A1 U+006F
+U+1EDC U+01A0 U+004F
+U+1EDD U+01A1 U+006F
+U+1EDE U+01A0 U+004F
+U+1EDF U+01A1 U+006F
+U+1EE0 U+01A0 U+004F
+U+1EE1 U+01A1 U+006F
+U+1EE2 U+01A0 U+004F
+U+1EE3 U+01A1 U+006F
+U+1EE4 U+0055
+U+1EE5 U+0075
+U+1EE6 U+0055
+U+1EE7 U+0075
+U+1EE8 U+01AF U+0055
+U+1EE9 U+01B0 U+0075
+U+1EEA U+01AF U+0055
+U+1EEB U+01B0 U+0075
+U+1EEC U+01AF U+0055
+U+1EED U+01B0 U+0075
+U+1EEE U+01AF U+0055
+U+1EEF U+01B0 U+0075
+U+1EF0 U+01AF U+0055
+U+1EF1 U+01B0 U+0075
+U+1EF2 U+0059
+U+1EF3 U+0079
+U+1EF4 U+0059
+U+1EF5 U+0079
+U+1EF6 U+0059
+U+1EF7 U+0079
+U+1EF8 U+0059
+U+1EF9 U+0079
+U+1F00 U+03B1 U+0061
+U+1F01 U+03B1 U+0061
+U+1F02 U+03B1 U+0061
+U+1F03 U+03B1 U+0061
+U+1F04 U+03B1 U+0061
+U+1F05 U+03B1 U+0061
+U+1F06 U+03B1 U+0061
+U+1F07 U+03B1 U+0061
+U+1F08 U+0391 U+0041
+U+1F09 U+0391 U+0041
+U+1F0A U+0391 U+0041
+U+1F0B U+0391 U+0041
+U+1F0C U+0391 U+0041
+U+1F0D U+0391 U+0041
+U+1F0E U+0391 U+0041
+U+1F0F U+0391 U+0041
+U+1F10 U+03B5 U+0065
+U+1F11 U+03B5 U+0065
+U+1F12 U+03B5 U+0065
+U+1F13 U+03B5 U+0065
+U+1F14 U+03B5 U+0065
+U+1F15 U+03B5 U+0065
+U+1F18 U+0395 U+0045
+U+1F19 U+0395 U+0045
+U+1F1A U+0395 U+0045
+U+1F1B U+0395 U+0045
+U+1F1C U+0395 U+0045
+U+1F1D U+0395 U+0045
+U+1F20 U+03B7 U+0113 U+0065
+U+1F21 U+03B7 U+0113 U+0065
+U+1F22 U+03B7 U+0113 U+0065
+U+1F23 U+03B7 U+0113 U+0065
+U+1F24 U+03B7 U+0113 U+0065
+U+1F25 U+03B7 U+0113 U+0065
+U+1F26 U+03B7 U+0113 U+0065
+U+1F27 U+03B7 U+0113 U+0065
+U+1F28 U+0397 U+0112 U+0045
+U+1F29 U+0397 U+0112 U+0045
+U+1F2A U+0397 U+0112 U+0045
+U+1F2B U+0397 U+0112 U+0045
+U+1F2C U+0397 U+0112 U+0045
+U+1F2D U+0397 U+0112 U+0045
+U+1F2E U+0397 U+0112 U+0045
+U+1F2F U+0397 U+0112 U+0045
+U+1F30 U+03B9 U+0069
+U+1F31 U+03B9 U+0069
+U+1F32 U+03B9 U+0069
+U+1F33 U+03B9 U+0069
+U+1F34 U+03B9 U+0069
+U+1F35 U+03B9 U+0069
+U+1F36 U+03B9 U+0069
+U+1F37 U+03B9 U+0069
+U+1F38 U+0399 U+0049
+U+1F39 U+0399 U+0049
+U+1F3A U+0399 U+0049
+U+1F3B U+0399 U+0049
+U+1F3C U+0399 U+0049
+U+1F3D U+0399 U+0049
+U+1F3E U+0399 U+0049
+U+1F3F U+0399 U+0049
+U+1F40 U+03BF U+006F
+U+1F41 U+03BF U+006F
+U+1F42 U+03BF U+006F
+U+1F43 U+03BF U+006F
+U+1F44 U+03BF U+006F
+U+1F45 U+03BF U+006F
+U+1F48 U+039F U+004F
+U+1F49 U+039F U+004F
+U+1F4A U+039F U+004F
+U+1F4B U+039F U+004F
+U+1F4C U+039F U+004F
+U+1F4D U+039F U+004F
+U+1F50 U+03C5 U+0075
+U+1F51 U+03C5 U+0075
+U+1F52 U+03C5 U+0075
+U+1F53 U+03C5 U+0075
+U+1F54 U+03C5 U+0075
+U+1F55 U+03C5 U+0075
+U+1F56 U+03C5 U+0075
+U+1F57 U+03C5 U+0075
+U+1F59 U+03A5 U+0055
+U+1F5B U+03A5 U+0055
+U+1F5D U+03A5 U+0055
+U+1F5F U+03A5 U+0055
+U+1F60 U+03C9 U+014D U+006F
+U+1F61 U+03C9 U+014D U+006F
+U+1F62 U+03C9 U+014D U+006F
+U+1F63 U+03C9 U+014D U+006F
+U+1F64 U+03C9 U+014D U+006F
+U+1F65 U+03C9 U+014D U+006F
+U+1F66 U+03C9 U+014D U+006F
+U+1F67 U+03C9 U+014D U+006F
+U+1F68 U+03A9 U+014C U+004F
+U+1F69 U+03A9 U+014C U+004F
+U+1F6A U+03A9 U+014C U+004F
+U+1F6B U+03A9 U+014C U+004F
+U+1F6C U+03A9 U+014C U+004F
+U+1F6D U+03A9 U+014C U+004F
+U+1F6E U+03A9 U+014C U+004F
+U+1F6F U+03A9 U+014C U+004F
+U+1F70 U+03B1 U+0061
+U+1F71 U+03B1 U+0061
+U+1F72 U+03B5 U+0065
+U+1F73 U+03B5 U+0065
+U+1F74 U+03B7 U+0113 U+0065
+U+1F75 U+03B7 U+0113 U+0065
+U+1F76 U+03B9 U+0069
+U+1F77 U+03B9 U+0069
+U+1F78 U+03BF U+006F
+U+1F79 U+03BF U+006F
+U+1F7A U+03C5 U+0075
+U+1F7B U+03C5 U+0075
+U+1F7C U+03C9 U+014D U+006F
+U+1F7D U+03C9 U+014D U+006F
+U+1F80 U+03B1 U+0061
+U+1F81 U+03B1 U+0061
+U+1F82 U+03B1 U+0061
+U+1F83 U+03B1 U+0061
+U+1F84 U+03B1 U+0061
+U+1F85 U+03B1 U+0061
+U+1F86 U+03B1 U+0061
+U+1F87 U+03B1 U+0061
+U+1F88 U+0391 U+0041
+U+1F89 U+0391 U+0041
+U+1F8A U+0391 U+0041
+U+1F8B U+0391 U+0041
+U+1F8C U+0391 U+0041
+U+1F8D U+0391 U+0041
+U+1F8E U+0391 U+0041
+U+1F8F U+0391 U+0041
+U+1F90 U+03B7 U+0113 U+0065
+U+1F91 U+03B7 U+0113 U+0065
+U+1F92 U+03B7 U+0113 U+0065
+U+1F93 U+03B7 U+0113 U+0065
+U+1F94 U+03B7 U+0113 U+0065
+U+1F95 U+03B7 U+0113 U+0065
+U+1F96 U+03B7 U+0113 U+0065
+U+1F97 U+03B7 U+0113 U+0065
+U+1F98 U+0397 U+0112 U+0045
+U+1F99 U+0397 U+0112 U+0045
+U+1F9A U+0397 U+0112 U+0045
+U+1F9B U+0397 U+0112 U+0045
+U+1F9C U+0397 U+0112 U+0045
+U+1F9D U+0397 U+0112 U+0045
+U+1F9E U+0397 U+0112 U+0045
+U+1F9F U+0397 U+0112 U+0045
+U+1FA0 U+03C9 U+014D U+006F
+U+1FA1 U+03C9 U+014D U+006F
+U+1FA2 U+03C9 U+014D U+006F
+U+1FA3 U+03C9 U+014D U+006F
+U+1FA4 U+03C9 U+014D U+006F
+U+1FA5 U+03C9 U+014D U+006F
+U+1FA6 U+03C9 U+014D U+006F
+U+1FA7 U+03C9 U+014D U+006F
+U+1FA8 U+03A9 U+014C U+004F
+U+1FA9 U+03A9 U+014C U+004F
+U+1FAA U+03A9 U+014C U+004F
+U+1FAB U+03A9 U+014C U+004F
+U+1FAC U+03A9 U+014C U+004F
+U+1FAD U+03A9 U+014C U+004F
+U+1FAE U+03A9 U+014C U+004F
+U+1FAF U+03A9 U+014C U+004F
+U+1FB0 U+03B1 U+0061
+U+1FB1 U+03B1 U+0061
+U+1FB2 U+03B1 U+0061
+U+1FB3 U+03B1 U+0061
+U+1FB4 U+03B1 U+0061
+U+1FB6 U+03B1 U+0061
+U+1FB7 U+03B1 U+0061
+U+1FB8 U+0391 U+0041
+U+1FB9 U+0391 U+0041
+U+1FBA U+0391 U+0041
+U+1FBB U+0391 U+0041
+U+1FBC U+0391 U+0041
+U+1FBD U+0020
+U+1FBE U+0020
+U+1FBF U+0020
+U+1FC0 U+0020
+U+1FC1 U+0020
+U+1FC2 U+03B7 U+0113 U+0065
+U+1FC3 U+03B7 U+0113 U+0065
+U+1FC4 U+03B7 U+0113 U+0065
+U+1FC6 U+03B7 U+0113 U+0065
+U+1FC7 U+03B7 U+0113 U+0065
+U+1FC8 U+0395 U+0045
+U+1FC9 U+0395 U+0045
+U+1FCA U+0397 U+0112 U+0045
+U+1FCB U+0397 U+0112 U+0045
+U+1FCC U+0397 U+0112 U+0045
+U+1FCD U+0020
+U+1FCE U+0020
+U+1FCF U+0020
+U+1FD0 U+03B9 U+0069
+U+1FD1 U+03B9 U+0069
+U+1FD2 U+03CA U+0069
+U+1FD3 U+03CA U+0069
+U+1FD6 U+03B9 U+0069
+U+1FD7 U+03B9 U+0069
+U+1FD8 U+0399 U+0049
+U+1FD9 U+0399 U+0049
+U+1FDA U+0399 U+0049
+U+1FDB U+0399 U+0049
+U+1FDD U+0020
+U+1FDE U+0020
+U+1FDF U+0020
+U+1FE0 U+03C5 U+0075
+U+1FE1 U+03C5 U+0075
+U+1FE2 U+03CB U+0075
+U+1FE3 U+03CB U+0075
+U+1FE4 U+03C1 U+0072
+U+1FE5 U+03C1 U+0072
+U+1FE6 U+03C5 U+0075
+U+1FE7 U+03CB U+0075
+U+1FE8 U+03A5 U+0055
+U+1FE9 U+03A5 U+0055
+U+1FEA U+03A5 U+0055
+U+1FEB U+03A5 U+0055
+U+1FEC U+03A1 U+0052
+U+1FED U+0020
+U+1FEE U+0020
+U+1FEF U+0020
+U+1FF2 U+03C9 U+014D U+006F
+U+1FF3 U+03C9 U+014D U+006F
+U+1FF4 U+03C9 U+014D U+006F
+U+1FF6 U+03C9 U+014D U+006F
+U+1FF7 U+03C9 U+014D U+006F
+U+1FF8 U+039F U+004F
+U+1FF9 U+039F U+004F
+U+1FFA U+03A9 U+014C U+004F
+U+1FFB U+03A9 U+014C U+004F
+U+1FFC U+03A9 U+014C U+004F
+U+1FFD U+0020
+U+1FFE U+0020
+U+2002 U+0020
+U+2003 U+0020
+U+2009 U+0020
+U+200C U+0000
+U+200D U+0000
+U+200E U+003E
+U+200F U+003C
+U+2010 U+002D
+U+2011 U+2010 U+002D
+U+2012 U+2013 U+002D
+U+2013 U+002D
+U+2014 U+2015 U+002D
+U+2015 U+2014 U+002D
+U+2016 U+007C
+U+2017 U+005F
+U+2018 U+0060
+U+2019 U+0027
+U+201A U+002C
+U+201B U+2018 U+0060
+U+201C U+0022
+U+201D U+0022
+U+201E U+201C U+0022
+U+201F U+0022
+U+2020 U+002B
+U+2022 U+2219 U+00B7 U+002E
+U+2023 U+003E
+U+2024 U+002E
+U+2025 U+002E
+U+2026 U+002E
+U+2027 U+00B7 U+002D
+U+2028 U+000A
+U+2029 U+000A
+U+2032 U+0027
+U+2035 U+0060
+U+2038 U+005E
+U+2039 U+003C
+U+203A U+003E
+U+203B U+0058
+U+203C U+0021
+U+203E U+002D
+U+203F U+005F
+U+2040 U+007E
+U+2041 U+002C
+U+2042 U+002A
+U+2043 U+002D
+U+2044 U+002F
+U+2045 U+005B
+U+2046 U+005D
+U+2070 U+0030
+U+2074 U+0034
+U+2075 U+0035
+U+2076 U+0036
+U+2077 U+0037
+U+2078 U+0038
+U+2079 U+0039
+U+207A U+002B
+U+207B U+002D
+U+207C U+003D
+U+207D U+0028
+U+207E U+0029
+U+207F U+006E
+U+2080 U+0030
+U+2081 U+0031
+U+2082 U+0032
+U+2083 U+0033
+U+2084 U+0034
+U+2085 U+0035
+U+2086 U+0036
+U+2087 U+0037
+U+2088 U+0038
+U+2089 U+0039
+U+208A U+002B
+U+208B U+002D
+U+208C U+003D
+U+208D U+0028
+U+208E U+0029
+U+20A1 U+0043
+U+20A2 U+0043
+U+20A3 U+0046
+U+20A4 U+00A3 U+004C
+U+20A5 U+006D
+U+20A6 U+004E
+U+20A7 U+0050
+U+20A8 U+0052
+U+20A9 U+0057
+U+20AC U+0045
+U+2102 U+0043
+U+2103 U+0043
+U+2107 U+0045
+U+2108 U+0045
+U+2109 U+0046
+U+210A U+0067
+U+210B U+0048
+U+210C U+0048
+U+210D U+0048
+U+210E U+0068
+U+210F U+0068
+U+2110 U+0049
+U+2111 U+0049
+U+2112 U+004C
+U+2113 U+006C
+U+2115 U+004E
+U+2117 U+0050
+U+2118 U+0070
+U+2119 U+0050
+U+211A U+0051
+U+211B U+0052
+U+211C U+0052
+U+211D U+0052
+U+211E U+0052
+U+211F U+0052
+U+2123 U+0056
+U+2124 U+005A
+U+2125 U+007A
+U+2126 U+03A9 U+004F
+U+2128 U+005A
+U+2129 U+0069
+U+212A U+004B
+U+212B U+00C5 U+0041
+U+212C U+0042
+U+212D U+0043
+U+212E U+0065
+U+212F U+0065
+U+2130 U+0045
+U+2131 U+0046
+U+2132 U+0046
+U+2133 U+004D
+U+2134 U+006F
+U+2160 U+0049
+U+2164 U+0056
+U+2169 U+0058
+U+216C U+004C
+U+216D U+0043
+U+216E U+0044
+U+216F U+004D
+U+2170 U+0069
+U+2174 U+0076
+U+2179 U+0078
+U+217C U+006C
+U+217D U+0063
+U+217E U+0064
+U+217F U+006D
+U+2190 U+003C
+U+2191 U+005E
+U+2192 U+003E
+U+2193 U+0076
+U+2194 U+002D
+U+2195 U+007C
+U+21A8 U+007C
+U+21D0 U+003C
+U+21D1 U+005E
+U+21D2 U+003E
+U+21D3 U+0076
+U+21D4 U+003D
+U+2200 U+0041
+U+2202 U+0064
+U+2203 U+0045
+U+2205 U+00D8 U+0030
+U+2206 U+0394 U+0044
+U+2208 U+03B5 U+0028
+U+220B U+0029
+U+220F U+03A0 U+0050
+U+2211 U+03A3 U+0053
+U+2212 U+002D
+U+2215 U+002F
+U+2216 U+005C
+U+2217 U+002A
+U+2218 U+00B0 U+02DA U+006F
+U+2219 U+2022 U+00B7 U+002E
+U+221F U+004C
+U+2220 U+0056
+U+2223 U+007C
+U+2227 U+0026
+U+2228 U+007C
+U+2229 U+002A
+U+222A U+002B
+U+2236 U+003A
+U+223C U+007E
+U+2245 U+003D
+U+2248 U+003D
+U+2254 U+003D
+U+2255 U+003D
+U+2261 U+003D
+U+2264 U+003C
+U+2265 U+003E
+U+226A U+003C
+U+226B U+003E
+U+2282 U+0028
+U+2283 U+0029
+U+2295 U+002B
+U+2297 U+0078
+U+2299 U+00B7 U+002E
+U+229A U+2218 U+006F
+U+22C5 U+00B7 U+2219 U+2022 U+002E
+U+22D5 U+0023
+U+22EE U+2026 U+002E
+U+22EF U+2026 U+002E
+U+22F0 U+2026 U+002E
+U+22F1 U+2026 U+002E
+U+2302 U+005E
+U+2310 U+00AC U+002D
+U+2320 U+002F
+U+2321 U+002F
+U+2400 U+0040
+U+2401 U+0041
+U+2402 U+0042
+U+2403 U+0043
+U+2404 U+0044
+U+2405 U+0045
+U+2406 U+0046
+U+2407 U+0047
+U+2408 U+0048
+U+2409 U+0049
+U+240A U+004A
+U+240B U+004B
+U+240C U+004C
+U+240D U+004D
+U+240E U+004E
+U+240F U+004F
+U+2410 U+0050
+U+2411 U+0051
+U+2412 U+0052
+U+2413 U+0053
+U+2414 U+0054
+U+2415 U+0055
+U+2416 U+0056
+U+2417 U+0057
+U+2418 U+0058
+U+2419 U+0059
+U+241A U+005A
+U+241B U+005B
+U+241C U+005C
+U+241D U+005D
+U+241E U+005E
+U+241F U+005F
+U+2420 U+005F
+U+2421 U+003F
+U+2422 U+0062
+U+2423 U+005F
+U+2460 U+0031
+U+2461 U+0032
+U+2462 U+0033
+U+2463 U+0034
+U+2464 U+0035
+U+2465 U+0036
+U+2466 U+0037
+U+2467 U+0038
+U+2468 U+0039
+U+2474 U+0031
+U+2475 U+0032
+U+2476 U+0033
+U+2477 U+0034
+U+2478 U+0035
+U+2479 U+0036
+U+247A U+0037
+U+247B U+0038
+U+247C U+0039
+U+2488 U+0031
+U+2489 U+0032
+U+248A U+0033
+U+248B U+0034
+U+248C U+0035
+U+248D U+0036
+U+248E U+0037
+U+248F U+0038
+U+2490 U+0039
+U+249C U+0061
+U+249D U+0062
+U+249E U+0063
+U+249F U+0064
+U+24A0 U+0065
+U+24A1 U+0066
+U+24A2 U+0067
+U+24A3 U+0068
+U+24A4 U+0069
+U+24A5 U+006A
+U+24A6 U+006B
+U+24A7 U+006C
+U+24A8 U+006D
+U+24A9 U+006E
+U+24AA U+006F
+U+24AB U+0070
+U+24AC U+0071
+U+24AD U+0072
+U+24AE U+0073
+U+24AF U+0074
+U+24B0 U+0075
+U+24B1 U+0076
+U+24B2 U+0077
+U+24B3 U+0078
+U+24B4 U+0079
+U+24B5 U+007A
+U+24B6 U+0041
+U+24B7 U+0042
+U+24B8 U+0043
+U+24B9 U+0044
+U+24BA U+0045
+U+24BB U+0046
+U+24BC U+0047
+U+24BD U+0048
+U+24BE U+0049
+U+24BF U+004A
+U+24C0 U+004B
+U+24C1 U+004C
+U+24C2 U+004D
+U+24C3 U+004E
+U+24C4 U+004F
+U+24C5 U+0050
+U+24C6 U+0051
+U+24C7 U+0052
+U+24C8 U+0053
+U+24C9 U+0054
+U+24CA U+0055
+U+24CB U+0056
+U+24CC U+0057
+U+24CD U+0058
+U+24CE U+0059
+U+24CF U+005A
+U+24D0 U+0061
+U+24D1 U+0062
+U+24D2 U+0063
+U+24D3 U+0064
+U+24D4 U+0065
+U+24D5 U+0066
+U+24D6 U+0067
+U+24D7 U+0068
+U+24D8 U+0069
+U+24D9 U+006A
+U+24DA U+006B
+U+24DB U+006C
+U+24DC U+006D
+U+24DD U+006E
+U+24DE U+006F
+U+24DF U+0070
+U+24E0 U+0071
+U+24E1 U+0072
+U+24E2 U+0073
+U+24E3 U+0074
+U+24E4 U+0075
+U+24E5 U+0076
+U+24E6 U+0077
+U+24E7 U+0078
+U+24E8 U+0079
+U+24E9 U+007A
+U+24EA U+0030
+U+2500 U+002D
+U+2501 U+2550 U+2500 U+003D
+U+2502 U+007C
+U+2503 U+2551 U+2502 U+007C
+U+2504 U+2500 U+002D
+U+2505 U+2550 U+2500 U+003D
+U+2506 U+2502 U+007C
+U+2507 U+2551 U+2502 U+007C
+U+2508 U+2500 U+002D
+U+2509 U+2550 U+2500 U+003D
+U+250A U+2502 U+007C
+U+250B U+2551 U+2502 U+007C
+U+250C U+002B
+U+250D U+2552 U+250C U+002B
+U+250E U+2553 U+250C U+002B
+U+250F U+2554 U+250C U+002B
+U+2510 U+002B
+U+2511 U+2555 U+2510 U+002B
+U+2512 U+2556 U+2510 U+002B
+U+2513 U+2557 U+2510 U+002B
+U+2514 U+002B
+U+2515 U+2558 U+2514 U+002B
+U+2516 U+2559 U+2514 U+002B
+U+2517 U+255A U+2514 U+002B
+U+2518 U+002B
+U+2519 U+255B U+2518 U+002B
+U+251A U+255C U+2518 U+002B
+U+251B U+255D U+2518 U+002B
+U+251C U+007C
+U+251D U+255E U+2502 U+007C
+U+251E U+251C U+007C
+U+251F U+251C U+007C
+U+2520 U+255F U+2551 U+2502 U+007C
+U+2521 U+255E U+2502 U+007C
+U+2522 U+255E U+2502 U+007C
+U+2523 U+2560 U+251C U+007C
+U+2524 U+007C
+U+2525 U+2561 U+2502 U+007C
+U+2526 U+2524 U+007C
+U+2527 U+2524 U+007C
+U+2528 U+2562 U+2551 U+2502 U+007C
+U+2529 U+2561 U+2502 U+007C
+U+252A U+2561 U+2502 U+007C
+U+252B U+2563 U+2524 U+007C
+U+252C U+002D
+U+252D U+252C U+002D
+U+252E U+252C U+002D
+U+252F U+2564 U+2550 U+2500 U+003D
+U+2530 U+2565 U+2500 U+002D
+U+2531 U+2565 U+2500 U+002D
+U+2532 U+2565 U+2500 U+002D
+U+2533 U+2566 U+252C U+003D
+U+2534 U+002D
+U+2535 U+2534 U+002D
+U+2536 U+2534 U+002D
+U+2537 U+2567 U+2550 U+2500 U+003D
+U+2538 U+2568 U+2500 U+002D
+U+2539 U+2568 U+2500 U+002D
+U+253A U+2568 U+2500 U+002D
+U+253B U+2569 U+2534 U+003D
+U+253C U+007C
+U+253D U+253C U+007C
+U+253E U+253C U+007C
+U+253F U+256A U+2502 U+007C
+U+2540 U+253C U+007C
+U+2541 U+253C U+007C
+U+2542 U+256B U+2551 U+253C U+007C
+U+2543 U+253C U+007C
+U+2544 U+253C U+007C
+U+2545 U+253C U+007C
+U+2546 U+253C U+007C
+U+2547 U+256A U+2502 U+007C
+U+2548 U+256A U+2502 U+007C
+U+2549 U+256B U+2551 U+253C U+007C
+U+254A U+256B U+2551 U+253C U+007C
+U+254B U+256C U+253C U+007C
+U+254C U+2500 U+002D
+U+254D U+2550 U+2500 U+003D
+U+254E U+2502 U+007C
+U+254F U+2551 U+2502 U+007C
+U+2550 U+2500 U+003D
+U+2551 U+2502 U+007C
+U+2552 U+250C U+002B
+U+2553 U+250C U+002B
+U+2554 U+250C U+002B
+U+2555 U+2510 U+002B
+U+2556 U+2510 U+002B
+U+2557 U+2510 U+002B
+U+2558 U+2514 U+002B
+U+2559 U+2514 U+002B
+U+255A U+2514 U+002B
+U+255B U+2518 U+002B
+U+255C U+2518 U+002B
+U+255D U+2518 U+002B
+U+255E U+2502 U+007C
+U+255F U+2551 U+251C U+007C
+U+2560 U+251C U+007C
+U+2561 U+2502 U+007C
+U+2562 U+2551 U+2524 U+007C
+U+2563 U+2524 U+007C
+U+2564 U+2550 U+252C U+003D
+U+2565 U+2500 U+002D
+U+2566 U+252C U+003D
+U+2567 U+2550 U+2534 U+003D
+U+2568 U+2500 U+002D
+U+2569 U+2534 U+003D
+U+256A U+2502 U+007C
+U+256B U+2551 U+253C U+007C
+U+256C U+253C U+007C
+U+256D U+250C U+002E
+U+256E U+2510 U+002E
+U+256F U+2518 U+0027
+U+2570 U+2514 U+0060
+U+2571 U+002F
+U+2572 U+005C
+U+2573 U+0058
+U+2574 U+2500 U+002D
+U+2575 U+2502 U+0027
+U+2576 U+2500 U+002D
+U+2577 U+2502 U+002E
+U+2578 U+2550 U+2500 U+003D
+U+2579 U+2551 U+2502 U+0027
+U+257A U+2550 U+2500 U+003D
+U+257B U+2551 U+2502 U+002E
+U+257C U+2500 U+002D
+U+257D U+2502 U+007C
+U+257E U+2500 U+002D
+U+257F U+2502 U+007C
+U+2580 U+2588 U+0023
+U+2581 U+0020
+U+2582 U+0020
+U+2583 U+2584 U+0020
+U+2584 U+2588 U+0023
+U+2585 U+2584 U+2588 U+0023
+U+2586 U+2588 U+0023
+U+2587 U+2588 U+0023
+U+2588 U+0023
+U+2589 U+2588 U+0023
+U+258A U+2588 U+0023
+U+258B U+258C U+2588 U+0023
+U+258C U+2588 U+0023
+U+258D U+258C U+0020
+U+258E U+0020
+U+258F U+0020
+U+2590 U+2588 U+0023
+U+2591 U+2592 U+0023
+U+2592 U+2588 U+0023
+U+2593 U+2592 U+2588 U+0023
+U+2594 U+0020
+U+2595 U+0020
+U+25A0 U+0023
+U+25AC U+25A0 U+0023
+U+25B2 U+25B4 U+005E
+U+25B4 U+25B2 U+005E
+U+25B6 U+25B8 U+25BA U+003E
+U+25B8 U+25B6 U+25BA U+003E
+U+25BA U+25B6 U+25B8 U+003E
+U+25BC U+25BE U+0076
+U+25BE U+25BC U+0076
+U+25C0 U+25C2 U+25C4 U+003C
+U+25C2 U+25C0 U+25C4 U+003C
+U+25C4 U+25C0 U+25C2 U+003C
+U+25CA U+2662 U+2666
+U+25CB U+002A
+U+25D8 U+002A
+U+25D9 U+002A
+U+25E2 U+002F
+U+25E3 U+005C
+U+2610 U+0020
+U+2611 U+0078
+U+2612 U+0078
+U+2613 U+00D7 U+0078
+U+263C U+002A
+U+2640 U+0066
+U+2642 U+006D
+U+2660 U+2664 U+0053
+U+2661 U+2665 U+0048
+U+2662 U+2666 U+0044
+U+2663 U+2667 U+0043
+U+2664 U+2660 U+0053
+U+2665 U+2661 U+0048
+U+2666 U+2662 U+0044
+U+2667 U+2663 U+0043
+U+266D U+0062
+U+266F U+0023
+U+3041 U+0061
+U+3042 U+0061
+U+3043 U+0069
+U+3044 U+0069
+U+3045 U+0075
+U+3046 U+0075
+U+3047 U+0065
+U+3048 U+0065
+U+3049 U+006F
+U+304A U+006F
+U+3093 U+006E
+U+30A1 U+0061
+U+30A2 U+0061
+U+30A3 U+0069
+U+30A4 U+0069
+U+30A5 U+0075
+U+30A6 U+0075
+U+30A7 U+0065
+U+30A8 U+0065
+U+30A9 U+006F
+U+30AA U+006F
+U+30F3 U+006E
diff --git a/consoletrans/ruscii.acm b/consoletrans/ruscii.acm
new file mode 100644
index 0000000..3c95f71
--- /dev/null
+++ b/consoletrans/ruscii.acm
@@ -0,0 +1,290 @@
+#
+# Basic IBM dingbats, some of which will never have a purpose clear
+# to mankind
+#
+0x00 U+0000
+0x01 U+263a
+0x02 U+263b
+0x03 U+2665
+0x04 U+2666 U+25c6
+0x05 U+2663
+0x06 U+2660
+0x07 U+2022
+0x08 U+25d8
+0x09 U+25cb
+0x0a U+25d9
+0x0b U+2642
+0x0c U+2640
+0x0d U+266a
+0x0e U+266b
+0x0f U+263c
+0x10 U+25b6 U+25ba
+0x11 U+25c0 U+25c4
+0x12 U+2195
+0x13 U+203c
+0x14 U+00b6
+0x15 U+00a7
+0x16 U+25ac
+0x17 U+21a8
+0x18 U+2191
+0x19 U+2193
+0x1a U+2192
+0x1b U+2190
+0x1c U+221f
+0x1d U+2194
+0x1e U+25b2
+0x1f U+25bc
+#
+# The ASCII range is identity-mapped, but some of the characters also
+# have to act as substitutes, especially the upper-case characters.
+#
+0x20 U+0020
+0x21 U+0021
+0x22 U+0022 U+00a8
+0x23 U+0023
+0x24 U+0024
+0x25 U+0025
+0x26 U+0026
+0x27 U+0027
+0x28 U+0028
+0x29 U+0029
+0x2a U+002a
+0x2b U+002b
+0x2c U+002c U+00b8
+0x2d U+002d U+00ad
+0x2e U+002e
+0x2f U+002f
+0x30 U+0030
+0x31 U+0031
+0x32 U+0032
+0x33 U+0033
+0x34 U+0034
+0x35 U+0035
+0x36 U+0036
+0x37 U+0037
+0x38 U+0038
+0x39 U+0039
+0x3a U+003a
+0x3b U+003b
+0x3c U+003c
+0x3d U+003d
+0x3e U+003e
+0x3f U+003f
+0x40 U+0040
+0x41 U+0041 U+00c0 U+00c1 U+00c2 U+00c3
+0x42 U+0042
+0x43 U+0043 U+00a9
+0x44 U+0044
+0x45 U+0045 U+00c8 U+00ca U+00cb
+0x46 U+0046
+0x47 U+0047
+0x48 U+0048
+0x49 U+0049 U+00cc U+00cd U+00ce U+00cf
+0x4a U+004a
+0x4b U+004b U+212a
+0x4c U+004c
+0x4d U+004d
+0x4e U+004e
+0x4f U+004f U+00d2 U+00d3 U+00d4 U+00d5
+0x50 U+0050
+0x51 U+0051
+0x52 U+0052 U+00ae
+0x53 U+0053
+0x54 U+0054
+0x55 U+0055 U+00d9 U+00da U+00db
+0x56 U+0056
+0x57 U+0057
+0x58 U+0058
+0x59 U+0059 U+00dd
+0x5a U+005a
+0x5b U+005b
+0x5c U+005c
+0x5d U+005d
+0x5e U+005e
+0x5f U+005f U+f804
+0x60 U+0060
+0x61 U+0061 U+00e3
+0x62 U+0062
+0x63 U+0063
+0x64 U+0064
+0x65 U+0065
+0x66 U+0066
+0x67 U+0067
+0x68 U+0068
+0x69 U+0069
+0x6a U+006a
+0x6b U+006b
+0x6c U+006c
+0x6d U+006d
+0x6e U+006e
+0x6f U+006f U+00f5
+0x70 U+0070
+0x71 U+0071
+0x72 U+0072
+0x73 U+0073
+0x74 U+0074
+0x75 U+0075
+0x76 U+0076
+0x77 U+0077
+0x78 U+0078 U+00d7
+0x79 U+0079 U+00fd
+0x7a U+007a
+0x7b U+007b
+0x7c U+007c U+00a5
+0x7d U+007d
+0x7e U+007e
+#
+# Okay, what on Earth is this one supposed to be used for?
+#
+0x7f U+2302
+#
+# cyrillic capital letters from A to JA
+#
+0x80 U+0410
+0x81 U+0411
+0x82 U+0412
+0x83 U+0413
+0x84 U+0414
+0x85 U+0415
+0x86 U+0416
+0x87 U+0417
+0x88 U+0418
+0x89 U+0419
+0x8a U+041a
+0x8b U+041b
+0x8c U+041c
+0x8d U+041d
+0x8e U+041e
+0x8f U+041f
+0x90 U+0420
+0x91 U+0421
+0x92 U+0422
+0x93 U+0423
+0x94 U+0424
+0x95 U+0425
+0x96 U+0426
+0x97 U+0427
+0x98 U+0428
+0x99 U+0429
+0x9a U+042a
+0x9b U+042b
+0x9c U+042c
+0x9d U+042d
+0x9e U+042e
+0x9f U+042f
+#
+# cyrillic small letters from a to pe
+#
+0xa0 U+0430
+0xa1 U+0431
+0xa2 U+0432
+0xa3 U+0433
+0xa4 U+0434
+0xa5 U+0435
+0xa6 U+0436
+0xa7 U+0437
+0xa8 U+0438
+0xa9 U+0439
+0xaa U+043a
+0xab U+043b
+0xac U+043c
+0xad U+043d
+0xae U+043e
+0xaf U+043f
+#
+# Block graphics
+#
+0xb0 U+2591
+0xb1 U+2592
+0xb2 U+2593
+0xb3 U+2502
+0xb4 U+2524
+0xb5 U+2561
+0xb6 U+2562
+0xb7 U+2556
+0xb8 U+2555
+0xb9 U+2563
+0xba U+2551
+0xbb U+2557
+0xbc U+255d
+0xbd U+255c
+0xbe U+255b
+0xbf U+2510
+0xc0 U+2514
+0xc1 U+2534
+0xc2 U+252c
+0xc3 U+251c
+0xc4 U+2500
+0xc5 U+253c
+0xc6 U+255e
+0xc7 U+255f
+0xc8 U+255a
+0xc9 U+2554
+0xca U+2569
+0xcb U+2566
+0xcc U+2560
+0xcd U+2550
+0xce U+256c
+0xcf U+2567
+0xd0 U+2568
+0xd1 U+2564
+0xd2 U+2565
+0xd3 U+2559
+0xd4 U+2558
+0xd5 U+2552
+0xd6 U+2553
+0xd7 U+256b
+0xd8 U+256a
+0xd9 U+2518
+0xda U+250c
+0xdb U+2588
+0xdc U+2584
+0xdd U+258c
+0xde U+2590
+0xdf U+2580
+#
+# cyrillic small letters from er to ja
+#
+0xe0 U+0440
+0xe1 U+0441
+0xe2 U+0442
+0xe3 U+0443
+0xe4 U+0444
+0xe5 U+0445
+0xe6 U+0446
+0xe7 U+0447
+0xe8 U+0448
+0xe9 U+0449
+0xea U+044a
+0xeb U+044b
+0xec U+044c
+0xed U+044d
+0xee U+044e
+0xef U+044f
+#
+# ukrainian diacritic letters
+#
+0xf0 U+0401
+0xf1 U+0451
+0xf2 U+0490
+0xf3 U+0491
+0xf4 U+0404
+0xf5 U+0454
+0xf6 U+0406
+0xf7 U+0456
+0xf8 U+0407
+0xf9 U+0457
+#
+# some additional chars
+#
+0xfa U+00b7
+0xfb U+221a
+0xfc U+00a9
+0xfd U+00b2
+#
+# Square bullet, non-spacing blank
+# Mapping U+fffd to the square bullet means it is the substitution
+# character
+#
+0xfe U+25a0 U+fffd
+0xff U+00a0
diff --git a/consoletrans/ruscii.sfm b/consoletrans/ruscii.sfm
new file mode 100644
index 0000000..3c95f71
--- /dev/null
+++ b/consoletrans/ruscii.sfm
@@ -0,0 +1,290 @@
+#
+# Basic IBM dingbats, some of which will never have a purpose clear
+# to mankind
+#
+0x00 U+0000
+0x01 U+263a
+0x02 U+263b
+0x03 U+2665
+0x04 U+2666 U+25c6
+0x05 U+2663
+0x06 U+2660
+0x07 U+2022
+0x08 U+25d8
+0x09 U+25cb
+0x0a U+25d9
+0x0b U+2642
+0x0c U+2640
+0x0d U+266a
+0x0e U+266b
+0x0f U+263c
+0x10 U+25b6 U+25ba
+0x11 U+25c0 U+25c4
+0x12 U+2195
+0x13 U+203c
+0x14 U+00b6
+0x15 U+00a7
+0x16 U+25ac
+0x17 U+21a8
+0x18 U+2191
+0x19 U+2193
+0x1a U+2192
+0x1b U+2190
+0x1c U+221f
+0x1d U+2194
+0x1e U+25b2
+0x1f U+25bc
+#
+# The ASCII range is identity-mapped, but some of the characters also
+# have to act as substitutes, especially the upper-case characters.
+#
+0x20 U+0020
+0x21 U+0021
+0x22 U+0022 U+00a8
+0x23 U+0023
+0x24 U+0024
+0x25 U+0025
+0x26 U+0026
+0x27 U+0027
+0x28 U+0028
+0x29 U+0029
+0x2a U+002a
+0x2b U+002b
+0x2c U+002c U+00b8
+0x2d U+002d U+00ad
+0x2e U+002e
+0x2f U+002f
+0x30 U+0030
+0x31 U+0031
+0x32 U+0032
+0x33 U+0033
+0x34 U+0034
+0x35 U+0035
+0x36 U+0036
+0x37 U+0037
+0x38 U+0038
+0x39 U+0039
+0x3a U+003a
+0x3b U+003b
+0x3c U+003c
+0x3d U+003d
+0x3e U+003e
+0x3f U+003f
+0x40 U+0040
+0x41 U+0041 U+00c0 U+00c1 U+00c2 U+00c3
+0x42 U+0042
+0x43 U+0043 U+00a9
+0x44 U+0044
+0x45 U+0045 U+00c8 U+00ca U+00cb
+0x46 U+0046
+0x47 U+0047
+0x48 U+0048
+0x49 U+0049 U+00cc U+00cd U+00ce U+00cf
+0x4a U+004a
+0x4b U+004b U+212a
+0x4c U+004c
+0x4d U+004d
+0x4e U+004e
+0x4f U+004f U+00d2 U+00d3 U+00d4 U+00d5
+0x50 U+0050
+0x51 U+0051
+0x52 U+0052 U+00ae
+0x53 U+0053
+0x54 U+0054
+0x55 U+0055 U+00d9 U+00da U+00db
+0x56 U+0056
+0x57 U+0057
+0x58 U+0058
+0x59 U+0059 U+00dd
+0x5a U+005a
+0x5b U+005b
+0x5c U+005c
+0x5d U+005d
+0x5e U+005e
+0x5f U+005f U+f804
+0x60 U+0060
+0x61 U+0061 U+00e3
+0x62 U+0062
+0x63 U+0063
+0x64 U+0064
+0x65 U+0065
+0x66 U+0066
+0x67 U+0067
+0x68 U+0068
+0x69 U+0069
+0x6a U+006a
+0x6b U+006b
+0x6c U+006c
+0x6d U+006d
+0x6e U+006e
+0x6f U+006f U+00f5
+0x70 U+0070
+0x71 U+0071
+0x72 U+0072
+0x73 U+0073
+0x74 U+0074
+0x75 U+0075
+0x76 U+0076
+0x77 U+0077
+0x78 U+0078 U+00d7
+0x79 U+0079 U+00fd
+0x7a U+007a
+0x7b U+007b
+0x7c U+007c U+00a5
+0x7d U+007d
+0x7e U+007e
+#
+# Okay, what on Earth is this one supposed to be used for?
+#
+0x7f U+2302
+#
+# cyrillic capital letters from A to JA
+#
+0x80 U+0410
+0x81 U+0411
+0x82 U+0412
+0x83 U+0413
+0x84 U+0414
+0x85 U+0415
+0x86 U+0416
+0x87 U+0417
+0x88 U+0418
+0x89 U+0419
+0x8a U+041a
+0x8b U+041b
+0x8c U+041c
+0x8d U+041d
+0x8e U+041e
+0x8f U+041f
+0x90 U+0420
+0x91 U+0421
+0x92 U+0422
+0x93 U+0423
+0x94 U+0424
+0x95 U+0425
+0x96 U+0426
+0x97 U+0427
+0x98 U+0428
+0x99 U+0429
+0x9a U+042a
+0x9b U+042b
+0x9c U+042c
+0x9d U+042d
+0x9e U+042e
+0x9f U+042f
+#
+# cyrillic small letters from a to pe
+#
+0xa0 U+0430
+0xa1 U+0431
+0xa2 U+0432
+0xa3 U+0433
+0xa4 U+0434
+0xa5 U+0435
+0xa6 U+0436
+0xa7 U+0437
+0xa8 U+0438
+0xa9 U+0439
+0xaa U+043a
+0xab U+043b
+0xac U+043c
+0xad U+043d
+0xae U+043e
+0xaf U+043f
+#
+# Block graphics
+#
+0xb0 U+2591
+0xb1 U+2592
+0xb2 U+2593
+0xb3 U+2502
+0xb4 U+2524
+0xb5 U+2561
+0xb6 U+2562
+0xb7 U+2556
+0xb8 U+2555
+0xb9 U+2563
+0xba U+2551
+0xbb U+2557
+0xbc U+255d
+0xbd U+255c
+0xbe U+255b
+0xbf U+2510
+0xc0 U+2514
+0xc1 U+2534
+0xc2 U+252c
+0xc3 U+251c
+0xc4 U+2500
+0xc5 U+253c
+0xc6 U+255e
+0xc7 U+255f
+0xc8 U+255a
+0xc9 U+2554
+0xca U+2569
+0xcb U+2566
+0xcc U+2560
+0xcd U+2550
+0xce U+256c
+0xcf U+2567
+0xd0 U+2568
+0xd1 U+2564
+0xd2 U+2565
+0xd3 U+2559
+0xd4 U+2558
+0xd5 U+2552
+0xd6 U+2553
+0xd7 U+256b
+0xd8 U+256a
+0xd9 U+2518
+0xda U+250c
+0xdb U+2588
+0xdc U+2584
+0xdd U+258c
+0xde U+2590
+0xdf U+2580
+#
+# cyrillic small letters from er to ja
+#
+0xe0 U+0440
+0xe1 U+0441
+0xe2 U+0442
+0xe3 U+0443
+0xe4 U+0444
+0xe5 U+0445
+0xe6 U+0446
+0xe7 U+0447
+0xe8 U+0448
+0xe9 U+0449
+0xea U+044a
+0xeb U+044b
+0xec U+044c
+0xed U+044d
+0xee U+044e
+0xef U+044f
+#
+# ukrainian diacritic letters
+#
+0xf0 U+0401
+0xf1 U+0451
+0xf2 U+0490
+0xf3 U+0491
+0xf4 U+0404
+0xf5 U+0454
+0xf6 U+0406
+0xf7 U+0456
+0xf8 U+0407
+0xf9 U+0457
+#
+# some additional chars
+#
+0xfa U+00b7
+0xfb U+221a
+0xfc U+00a9
+0xfd U+00b2
+#
+# Square bullet, non-spacing blank
+# Mapping U+fffd to the square bullet means it is the substitution
+# character
+#
+0xfe U+25a0 U+fffd
+0xff U+00a0
diff --git a/consoletrans/space.trans b/consoletrans/space.trans
new file mode 100644
index 0000000..754601b
--- /dev/null
+++ b/consoletrans/space.trans
@@ -0,0 +1,130 @@
+# Map all characters with high bit set to space
+# Internal value Output character
+0x80 0x20
+0x81 0x20
+0x82 0x20
+0x83 0x20
+0x84 0x20
+0x85 0x20
+0x86 0x20
+0x87 0x20
+0x88 0x20
+0x89 0x20
+0x8A 0x20
+0x8B 0x20
+0x8C 0x20
+0x8D 0x20
+0x8E 0x20
+0x8F 0x20
+0x90 0x20
+0x91 0x20
+0x92 0x20
+0x93 0x20
+0x94 0x20
+0x95 0x20
+0x96 0x20
+0x97 0x20
+0x98 0x20
+0x99 0x20
+0x9A 0x20
+0x9B 0x20
+0x9C 0x20
+0x9D 0x20
+0x9E 0x20
+0x9F 0x20
+0xA0 0x20
+0xA1 0x20
+0xA2 0x20
+0xA3 0x20
+0xA4 0x20
+0xA5 0x20
+0xA6 0x20
+0xA7 0x20
+0xA8 0x20
+0xA9 0x20
+0xAA 0x20
+0xAB 0x20
+0xAC 0x20
+0xAD 0x20
+0xAE 0x20
+0xAF 0x20
+0xB0 0x20
+0xB1 0x20
+0xB2 0x20
+0xB3 0x20
+0xB4 0x20
+0xB5 0x20
+0xB6 0x20
+0xB7 0x20
+0xB8 0x20
+0xB9 0x20
+0xBA 0x20
+0xBB 0x20
+0xBC 0x20
+0xBD 0x20
+0xBE 0x20
+0xBF 0x20
+0xC0 0x20
+0xC1 0x20
+0xC2 0x20
+0xC3 0x20
+0xC4 0x20
+0xC5 0x20
+0xC6 0x20
+0xC7 0x20
+0xC8 0x20
+0xC9 0x20
+0xCA 0x20
+0xCB 0x20
+0xCC 0x20
+0xCD 0x20
+0xCE 0x20
+0xCF 0x20
+0xD0 0x20
+0xD1 0x20
+0xD2 0x20
+0xD3 0x20
+0xD4 0x20
+0xD5 0x20
+0xD6 0x20
+0xD7 0x20
+0xD8 0x20
+0xD9 0x20
+0xDA 0x20
+0xDB 0x20
+0xDC 0x20
+0xDD 0x20
+0xDE 0x20
+0xDF 0x20
+0xE0 0x20
+0xE1 0x20
+0xE2 0x20
+0xE3 0x20
+0xE4 0x20
+0xE5 0x20
+0xE6 0x20
+0xE7 0x20
+0xE8 0x20
+0xE9 0x20
+0xEA 0x20
+0xEB 0x20
+0xEC 0x20
+0xED 0x20
+0xEE 0x20
+0xEF 0x20
+0xF0 0x20
+0xF1 0x20
+0xF2 0x20
+0xF3 0x20
+0xF4 0x20
+0xF5 0x20
+0xF6 0x20
+0xF7 0x20
+0xF8 0x20
+0xF9 0x20
+0xFA 0x20
+0xFB 0x20
+0xFC 0x20
+0xFD 0x20
+0xFE 0x20
+0xFF 0x20
diff --git a/consoletrans/straight-to-font.acm b/consoletrans/straight-to-font.acm
new file mode 100644
index 0000000..5e6d5a3
--- /dev/null
+++ b/consoletrans/straight-to-font.acm
@@ -0,0 +1,261 @@
+# Screen-mapping straight from application charset to screen font
+
+# Internal value Output character
+0x00 U+F000
+0x01 U+F001
+0x02 U+F002
+0x03 U+F003
+0x04 U+F004
+0x05 U+F005
+0x06 U+F006
+0x07 U+F007
+0x08 U+F008
+0x09 U+F009
+0x0A U+F00A
+0x0B U+F00B
+0x0C U+F00C
+0x0D U+F00D
+0x0E U+F00E
+0x0F U+F00F
+0x10 U+F010
+0x11 U+F011
+0x12 U+F012
+0x13 U+F013
+0x14 U+F014
+0x15 U+F015
+0x16 U+F016
+0x17 U+F017
+0x18 U+F018
+0x19 U+F019
+0x1A U+F01A
+0x1B U+F01B
+0x1C U+F01C
+0x1D U+F01D
+0x1E U+F01E
+0x1F U+F01F
+0x20 U+F020
+0x21 U+F021
+0x22 U+F022
+0x23 U+F023
+0x24 U+F024
+0x25 U+F025
+0x26 U+F026
+0x27 U+F027
+0x28 U+F028
+0x29 U+F029
+0x2A U+F02A
+0x2B U+F02B
+0x2C U+F02C
+0x2D U+F02D
+0x2E U+F02E
+0x2F U+F02F
+0x30 U+F030
+0x31 U+F031
+0x32 U+F032
+0x33 U+F033
+0x34 U+F034
+0x35 U+F035
+0x36 U+F036
+0x37 U+F037
+0x38 U+F038
+0x39 U+F039
+0x3A U+F03A
+0x3B U+F03B
+0x3C U+F03C
+0x3D U+F03D
+0x3E U+F03E
+0x3F U+F03F
+0x40 U+F040
+0x41 U+F041
+0x42 U+F042
+0x43 U+F043
+0x44 U+F044
+0x45 U+F045
+0x46 U+F046
+0x47 U+F047
+0x48 U+F048
+0x49 U+F049
+0x4A U+F04A
+0x4B U+F04B
+0x4C U+F04C
+0x4D U+F04D
+0x4E U+F04E
+0x4F U+F04F
+0x50 U+F050
+0x51 U+F051
+0x52 U+F052
+0x53 U+F053
+0x54 U+F054
+0x55 U+F055
+0x56 U+F056
+0x57 U+F057
+0x58 U+F058
+0x59 U+F059
+0x5A U+F05A
+0x5B U+F05B
+0x5C U+F05C
+0x5D U+F05D
+0x5E U+F05E
+0x5F U+F05F
+0x60 U+F060
+0x61 U+F061
+0x62 U+F062
+0x63 U+F063
+0x64 U+F064
+0x65 U+F065
+0x66 U+F066
+0x67 U+F067
+0x68 U+F068
+0x69 U+F069
+0x6A U+F06A
+0x6B U+F06B
+0x6C U+F06C
+0x6D U+F06D
+0x6E U+F06E
+0x6F U+F06F
+0x70 U+F070
+0x71 U+F071
+0x72 U+F072
+0x73 U+F073
+0x74 U+F074
+0x75 U+F075
+0x76 U+F076
+0x77 U+F077
+0x78 U+F078
+0x79 U+F079
+0x7A U+F07A
+0x7B U+F07B
+0x7C U+F07C
+0x7D U+F07D
+0x7E U+F07E
+0x7F U+F07F
+
+0x80 U+F080
+0x81 U+F081
+0x82 U+F082
+0x83 U+F083
+0x84 U+F084
+0x85 U+F085
+0x86 U+F086
+0x87 U+F087
+0x88 U+F088
+0x89 U+F089
+0x8A U+F08A
+0x8B U+F08B
+0x8C U+F08C
+0x8D U+F08D
+0x8E U+F08E
+0x8F U+F08F
+0x90 U+F090
+0x91 U+F091
+0x92 U+F092
+0x93 U+F093
+0x94 U+F094
+0x95 U+F095
+0x96 U+F096
+0x97 U+F097
+0x98 U+F098
+0x99 U+F099
+0x9A U+F09A
+0x9B U+F09B
+0x9C U+F09C
+0x9D U+F09D
+0x9E U+F09E
+0x9F U+F09F
+0xA0 U+F0A0
+0xA1 U+F0A1
+0xA2 U+F0A2
+0xA3 U+F0A3
+0xA4 U+F0A4
+0xA5 U+F0A5
+0xA6 U+F0A6
+0xA7 U+F0A7
+0xA8 U+F0A8
+0xA9 U+F0A9
+0xAA U+F0AA
+0xAB U+F0AB
+0xAC U+F0AC
+0xAD U+F0AD
+0xAE U+F0AE
+0xAF U+F0AF
+0xB0 U+F0B0
+0xB1 U+F0B1
+0xB2 U+F0B2
+0xB3 U+F0B3
+0xB4 U+F0B4
+0xB5 U+F0B5
+0xB6 U+F0B6
+0xB7 U+F0B7
+0xB8 U+F0B8
+0xB9 U+F0B9
+0xBA U+F0BA
+0xBB U+F0BB
+0xBC U+F0BC
+0xBD U+F0BD
+0xBE U+F0BE
+0xBF U+F0BF
+0xC0 U+F0C0
+0xC1 U+F0C1
+0xC2 U+F0C2
+0xC3 U+F0C3
+0xC4 U+F0C4
+0xC5 U+F0C5
+0xC6 U+F0C6
+0xC7 U+F0C7
+0xC8 U+F0C8
+0xC9 U+F0C9
+0xCA U+F0CA
+0xCB U+F0CB
+0xCC U+F0CC
+0xCD U+F0CD
+0xCE U+F0CE
+0xCF U+F0CF
+0xD0 U+F0D0
+0xD1 U+F0D1
+0xD2 U+F0D2
+0xD3 U+F0D3
+0xD4 U+F0D4
+0xD5 U+F0D5
+0xD6 U+F0D6
+0xD7 U+F0D7
+0xD8 U+F0D8
+0xD9 U+F0D9
+0xDA U+F0DA
+0xDB U+F0DB
+0xDC U+F0DC
+0xDD U+F0DD
+0xDE U+F0DE
+0xDF U+F0DF
+0xE0 U+F0E0
+0xE1 U+F0E1
+0xE2 U+F0E2
+0xE3 U+F0E3
+0xE4 U+F0E4
+0xE5 U+F0E5
+0xE6 U+F0E6
+0xE7 U+F0E7
+0xE8 U+F0E8
+0xE9 U+F0E9
+0xEA U+F0EA
+0xEB U+F0EB
+0xEC U+F0EC
+0xED U+F0ED
+0xEE U+F0EE
+0xEF U+F0EF
+0xF0 U+F0F0
+0xF1 U+F0F1
+0xF2 U+F0F2
+0xF3 U+F0F3
+0xF4 U+F0F4
+0xF5 U+F0F5
+0xF6 U+F0F6
+0xF7 U+F0F7
+0xF8 U+F0F8
+0xF9 U+F0F9
+0xFA U+F0FA
+0xFB U+F0FB
+0xFC U+F0FC
+0xFD U+F0FD
+0xFE U+F0FE
+0xFF U+F0FF
+
diff --git a/consoletrans/tcvn.sfm b/consoletrans/tcvn.sfm
new file mode 100644
index 0000000..29ef6ff
--- /dev/null
+++ b/consoletrans/tcvn.sfm
@@ -0,0 +1,80 @@
+#
+# Vietnamese TCVN encoding unicode table
+# usage: setfont -m trivial -u tcvn.uni fontname
+#
+0x00-0x9f idem
+0xA0 U+00A0
+0xA1 U+0102
+0xA2 U+00C2
+0xA3 U+00CA
+0xA4 U+00D4
+0xA5 U+01A0
+0xA6 U+01AF
+0xA7 U+0110
+0xA8 U+0103
+0xA9 U+00E2
+0xAA U+00EA
+0xAB U+00F4
+0xAC U+01A1
+0xAD U+01B0
+0xAE U+0111
+0xB5 U+00E0
+0xB6 U+1EA3
+0xB7 U+00E3
+0xB8 U+00E1
+0xB9 U+1EA1
+0xBB U+1EB1
+0xBC U+1EB3
+0xBD U+1EB5
+0xBE U+1EAF
+0xC6 U+1EB7
+0xC7 U+1EA7
+0xC8 U+1EA9
+0xC9 U+1EAB
+0xCA U+1EA5
+0xCB U+1EAD
+0xCC U+00E8
+0xCE U+1EB5
+0xCF U+1EBD
+0xD0 U+00E9
+0xD1 U+1EB9
+0xD2 U+1EC1
+0xD3 U+1EC3
+0xD4 U+1EC5
+0xD5 U+1EBF
+0xD6 U+1EC7
+0xD7 U+00EC
+0xD8 U+1EC9
+0xDC U+0129
+0xDD U+00ED
+0xDE U+1ECB
+0xDF U+00F2
+0xE1 U+1ECF
+0xE2 U+00F5
+0xE3 U+00F3
+0xE4 U+1ECD
+0xE5 U+1ED3
+0xE6 U+1ED5
+0xE7 U+1ED7
+0xE8 U+1ED1
+0xE9 U+1ED9
+0xEA U+1EDD
+0xEB U+1EDF
+0xEC U+1EE1
+0xED U+1EDB
+0xEE U+1EE3
+0xEF U+00F9
+0xF1 U+1EE7
+0xF2 U+0169
+0xF3 U+00FA
+0xF4 U+1EE5
+0xF5 U+1EEB
+0xF6 U+1EED
+0xF7 U+1EEF
+0xF8 U+1EE9
+0xF9 U+1EF1
+0xFA U+1EF3
+0xFB U+1EF7
+0xFC U+1EF9
+0xFD U+00FD
+0xFE U+1EF5
diff --git a/consoletrans/tis620.acm b/consoletrans/tis620.acm
new file mode 100644
index 0000000..9de879e
--- /dev/null
+++ b/consoletrans/tis620.acm
@@ -0,0 +1,277 @@
+# Linux Console Application Charset Map (ACM)
+# 8-Bit to Unicode map for TIS-620 fonts (tis620*)
+# Phattanon Duangdara <sf_alpha@shin-host.com>
+# Theppitak Karoonboonyanan <thep@links.nectec.or.th>
+#
+# [use: consolechars --font=tis620-x.f16 --acm=tis620]
+
+# ASCII (CTRL-CHARS)
+0x00 U+fffd
+0x01 U+263a
+0x02 U+263b
+0x03 U+2665
+0x04 U+2666
+0x05 U+2663
+0x06 U+2660
+0x07 U+2022
+0x08 U+25d8
+0x09 U+25cb
+0x0a U+25d9
+0x0b U+2642
+0x0c U+2640
+0x0d U+266a
+0x0e U+266b U+266c
+0x0f U+263c
+0x10 U+25b6 U+25ba
+0x11 U+25c0 U+25c4
+0x12 U+2195
+0x13 U+203c
+0x14 U+00b6
+0x15 U+00a7
+0x16 U+25ac
+0x17 U+21a8
+0x18 U+2191
+0x19 U+2193
+0x1a U+2192
+0x1b U+2190
+0x1c U+221f U+2319
+0x1d U+2194
+0x1e U+25b2
+0x1f U+25bc
+
+# ASCII
+0x20 U+0020
+0x21 U+0021
+0x22 U+0022
+0x23 U+0023
+0x24 U+0024
+0x25 U+0025
+0x26 U+0026
+0x27 U+0027
+0x28 U+0028
+0x29 U+0029
+0x2a U+002a
+0x2b U+002b
+0x2c U+002c
+0x2d U+002d
+0x2e U+002e
+0x2f U+002f
+0x30 U+0030
+0x31 U+0031
+0x32 U+0032
+0x33 U+0033
+0x34 U+0034
+0x35 U+0035
+0x36 U+0036
+0x37 U+0037
+0x38 U+0038
+0x39 U+0039
+0x3a U+003a
+0x3b U+003b
+0x3c U+003c
+0x3d U+003d
+0x3e U+003e
+0x3f U+003f
+0x40 U+0040
+0x41 U+0041
+0x42 U+0042
+0x43 U+0043
+0x44 U+0044
+0x45 U+0045
+0x46 U+0046
+0x47 U+0047
+0x48 U+0048
+0x49 U+0049
+0x4a U+004a
+0x4b U+004b
+0x4c U+004c
+0x4d U+004d
+0x4e U+004e
+0x4f U+004f
+0x50 U+0050
+0x51 U+0051
+0x52 U+0052
+0x53 U+0053
+0x54 U+0054
+0x55 U+0055
+0x56 U+0056
+0x57 U+0057
+0x58 U+0058
+0x59 U+0059
+0x5a U+005a
+0x5b U+005b
+0x5c U+005c
+0x5d U+005d
+0x5e U+005e
+0x5f U+005f
+0x60 U+0060
+0x61 U+0061
+0x62 U+0062
+0x63 U+0063
+0x64 U+0064
+0x65 U+0065
+0x66 U+0066
+0x67 U+0067
+0x68 U+0068
+0x69 U+0069
+0x6a U+006a
+0x6b U+006b
+0x6c U+006c
+0x6d U+006d
+0x6e U+006e
+0x6f U+006f
+0x70 U+0070
+0x71 U+0071
+0x72 U+0072
+0x73 U+0073
+0x74 U+0074
+0x75 U+0075
+0x76 U+0076
+0x77 U+0077
+0x78 U+0078
+0x79 U+0079
+0x7a U+007a
+0x7b U+007b
+0x7c U+007c
+0x7d U+007d
+0x7e U+007e
+0x7f U+2302 # HOUSE
+
+# NON-BREAKING SPACE
+0xa0 U+00a0
+
+# TIS-620
+0xa1 U+0e01
+0xa2 U+0e02
+0xa3 U+0e03
+0xa4 U+0e04
+0xa5 U+0e05
+0xa6 U+0e06
+0xa7 U+0e07
+0xa8 U+0e08
+0xa9 U+0e09
+0xaa U+0e0a
+0xab U+0e0b
+0xac U+0e0c
+0xad U+0e0d
+0xae U+0e0e
+0xaf U+0e0f
+0xb0 U+0e10
+0xb1 U+0e11
+0xb2 U+0e12
+0xb3 U+0e13
+0xb4 U+0e14
+0xb5 U+0e15
+0xb6 U+0e16
+0xb7 U+0e17
+0xb8 U+0e18
+0xb9 U+0e19
+0xba U+0e1a
+0xbb U+0e1b
+0xbc U+0e1c
+0xbd U+0e1d
+0xbe U+0e1e
+0xbf U+0e1f
+0xc0 U+0e20
+0xc1 U+0e21
+0xc2 U+0e22
+0xc3 U+0e23
+0xc4 U+0e24
+0xc5 U+0e25
+0xc6 U+0e26
+0xc7 U+0e27
+0xc8 U+0e28
+0xc9 U+0e29
+0xca U+0e2a
+0xcb U+0e2b
+0xcc U+0e2c
+0xcd U+0e2d
+0xce U+0e2e
+0xcf U+0e2f
+0xd0 U+0e30
+0xd1 U+0e31
+0xd2 U+0e32
+0xd3 U+0e33
+0xd4 U+0e34
+0xd5 U+0e35
+0xd6 U+0e36
+0xd7 U+0e37
+0xd8 U+0e38
+0xd9 U+0e39
+0xda U+0e3a
+
+0xdf U+0e3f
+0xe0 U+0e40
+0xe1 U+0e41
+0xe2 U+0e42
+0xe3 U+0e43
+0xe4 U+0e44
+0xe5 U+0e45
+0xe6 U+0e46
+0xe7 U+0e47
+0xe8 U+0e48
+0xe9 U+0e49
+0xea U+0e4a
+0xeb U+0e4b
+0xec U+0e4c
+0xed U+0e4d
+0xee U+0e4e
+0xef U+0e4f
+0xf0 U+0e50
+0xf1 U+0e51
+0xf2 U+0e52
+0xf3 U+0e53
+0xf4 U+0e54
+0xf5 U+0e55
+0xf6 U+0e56
+0xf7 U+0e57
+0xf8 U+0e58
+0xf9 U+0e59
+0xfa U+0e5a
+0xfb U+0e5b
+
+# FIXME ! Unknown ... use ?
+
+0x80 U+003f
+0x81 U+003f
+0x82 U+003f
+0x83 U+003f
+0x84 U+003f
+0x85 U+003f
+0x86 U+003f
+0x87 U+003f
+0x88 U+003f
+0x89 U+003f
+0x8a U+003f
+0x8b U+003f
+0x8c U+003f
+0x8d U+003f
+0x8e U+003f
+0x8f U+003f
+0x90 U+003f
+0x91 U+003f
+0x92 U+003f
+0x93 U+003f
+0x94 U+003f
+0x95 U+003f
+0x96 U+003f
+0x97 U+003f
+0x98 U+003f
+0x99 U+003f
+0x9a U+003f
+0x9b U+003f
+0x9c U+003f
+0x9d U+003f
+0x9e U+003f
+0x9f U+003f
+
+0xdb U+003f
+0xdc U+003f
+0xdd U+003f
+0xde U+003f
+
+0xfc U+003f
+0xfd U+003f
+0xfe U+003f
+0xff U+003f
+
diff --git a/consoletrans/tis620.sfm b/consoletrans/tis620.sfm
new file mode 100644
index 0000000..6154a45
--- /dev/null
+++ b/consoletrans/tis620.sfm
@@ -0,0 +1,270 @@
+# Linux Console Screen Font Map (SFM)
+# Unicode font map for TIS-620 fonts (tis620.*)
+# Phattanon Duangdara <sf_alpha@shin-host.com>
+# Theppitak Karoonboonyanan <thep@links.nectec.or.th>
+#
+# [use: unicode_start tis620.f16 tis620]
+
+# ASCII (CTRL-CHARS)
+0x00 U+fffd
+0x01 U+263a
+0x02 U+263b
+0x03 U+2665
+0x04 U+2666
+0x05 U+2663
+0x06 U+2660
+0x07 U+2022
+0x08 U+25d8
+0x09 U+25cb
+0x0a U+25d9
+0x0b U+2642
+0x0c U+2640
+0x0d U+266a
+0x0e U+266b U+266c
+0x0f U+263c
+0x10 U+25b6 U+25ba
+0x11 U+25c0 U+25c4
+0x12 U+2195
+0x13 U+203c
+0x14 U+00b6
+0x15 U+00a7
+0x16 U+25ac
+0x17 U+21a8
+0x18 U+2191
+0x19 U+2193
+0x1a U+2192
+0x1b U+2190
+0x1c U+221f U+2319
+0x1d U+2194
+0x1e U+25b2
+0x1f U+25bc
+0x20 U+0020
+0x21 U+0021
+0x22 U+0022
+0x23 U+0023
+0x24 U+0024
+0x25 U+0025
+0x26 U+0026
+0x27 U+0027
+0x28 U+0028
+0x29 U+0029
+0x2a U+002a
+0x2b U+002b
+0x2c U+002c
+0x2d U+002d
+0x2e U+002e
+0x2f U+002f
+
+# ASCII
+0x30 U+0030
+0x31 U+0031
+0x32 U+0032
+0x33 U+0033
+0x34 U+0034
+0x35 U+0035
+0x36 U+0036
+0x37 U+0037
+0x38 U+0038
+0x39 U+0039
+0x3a U+003a
+0x3b U+003b
+0x3c U+003c
+0x3d U+003d
+0x3e U+003e
+0x3f U+003f
+0x40 U+0040
+0x41 U+0041
+0x42 U+0042
+0x43 U+0043
+0x44 U+0044
+0x45 U+0045
+0x46 U+0046
+0x47 U+0047
+0x48 U+0048
+0x49 U+0049
+0x4a U+004a
+0x4b U+004b
+0x4c U+004c
+0x4d U+004d
+0x4e U+004e
+0x4f U+004f
+0x50 U+0050
+0x51 U+0051
+0x52 U+0052
+0x53 U+0053
+0x54 U+0054
+0x55 U+0055
+0x56 U+0056
+0x57 U+0057
+0x58 U+0058
+0x59 U+0059
+0x5a U+005a
+0x5b U+005b
+0x5c U+005c
+0x5d U+005d
+0x5e U+005e
+0x5f U+005f
+0x60 U+0060
+0x61 U+0061
+0x62 U+0062
+0x63 U+0063
+0x64 U+0064
+0x65 U+0065
+0x66 U+0066
+0x67 U+0067
+0x68 U+0068
+0x69 U+0069
+0x6a U+006a
+0x6b U+006b
+0x6c U+006c
+0x6d U+006d
+0x6e U+006e
+0x6f U+006f
+0x70 U+0070
+0x71 U+0071
+0x72 U+0072
+0x73 U+0073
+0x74 U+0074
+0x75 U+0075
+0x76 U+0076
+0x77 U+0077
+0x78 U+0078
+0x79 U+0079
+0x7a U+007a
+0x7b U+007b
+0x7c U+007c
+0x7d U+007d
+0x7e U+007e
+0x7f U+2302
+
+# TABLE LINES
+0x80 U+f801
+0x81 U+2575
+0x82 U+2576
+0x83 U+2514
+0x84 U+2577
+0x85 U+2502
+0x86 U+250c
+0x87 U+251c
+0x88 U+2574
+0x89 U+2518
+0x8a U+2500
+0x8b U+2534
+0x8c U+2510
+0x8d U+2524
+0x8e U+252c
+0x8f U+253c
+0x90 U+f803
+0x91 U+2579
+0x92 U+257a
+0x93 U+2517 U+255a
+0x94 U+257b
+0x95 U+2503 U+2551
+0x96 U+250f U+2554
+0x97 U+2523 U+2560
+0x98 U+2578
+0x99 U+251b U+255d
+0x9a U+2501 U+2550
+0x9b U+253b U+2569
+0x9c U+2513 U+2557
+0x9d U+2563 U+252b
+0x9e U+2533 U+2566
+0x9f U+254b U+256c
+
+# NON-BREAKING SPACE
+0xA0 U+00A0
+
+# TIS-620
+0xA1 U+0E01
+0xA2 U+0E02
+0xA3 U+0E03
+0xA4 U+0E04
+0xA5 U+0E05
+0xA6 U+0E06
+0xA7 U+0E07
+0xA8 U+0E08
+0xA9 U+0E09
+0xAA U+0E0A
+0xAB U+0E0B
+0xAC U+0E0C
+0xAD U+0E0D
+0xAE U+0E0E
+0xAF U+0E0F
+0xB0 U+0E10
+0xB1 U+0E11
+0xB2 U+0E12
+0xB3 U+0E13
+0xB4 U+0E14
+0xB5 U+0E15
+0xB6 U+0E16
+0xB7 U+0E17
+0xB8 U+0E18
+0xB9 U+0E19
+0xBA U+0E1A
+0xBB U+0E1B
+0xBC U+0E1C
+0xBD U+0E1D
+0xBE U+0E1E
+0xBF U+0E1F
+0xC0 U+0E20
+0xC1 U+0E21
+0xC2 U+0E22
+0xC3 U+0E23
+0xC4 U+0E24
+0xC5 U+0E25
+0xC6 U+0E26
+0xC7 U+0E27
+0xC8 U+0E28
+0xC9 U+0E29
+0xCA U+0E2A
+0xCB U+0E2B
+0xCC U+0E2C
+0xCD U+0E2D
+0xCE U+0E2E
+0xCF U+0E2F
+0xD0 U+0E30
+0xD1 U+0E31
+0xD2 U+0E32
+0xD3 U+0E33
+0xD4 U+0E34
+0xD5 U+0E35
+0xD6 U+0E36
+0xD7 U+0E37
+0xD8 U+0E38
+0xD9 U+0E39
+0xDA U+0E3A
+
+0xDF U+0E3F
+0xE0 U+0E40
+0xE1 U+0E41
+0xE2 U+0E42
+0xE3 U+0E43
+0xE4 U+0E44
+0xE5 U+0E45
+0xE6 U+0E46
+0xE7 U+0E47
+0xE8 U+0E48
+0xE9 U+0E49
+0xEA U+0E4A
+0xEB U+0E4B
+0xEC U+0E4C
+0xED U+0E4D
+0xEE U+0E4E
+0xEF U+0E4F
+0xF0 U+0E50
+0xF1 U+0E51
+0xF2 U+0E52
+0xF3 U+0E53
+0xF4 U+0E54
+0xF5 U+0E55
+0xF6 U+0E56
+0xF7 U+0E57
+0xF8 U+0E58
+0xF9 U+0E59
+0xFA U+0E5A
+0xFB U+0E5B
+
+# FIXME ?
+# 0xDA-0xDE
+# 0xFC-0xFF
+
diff --git a/consoletrans/tis620x.sfm b/consoletrans/tis620x.sfm
new file mode 100644
index 0000000..c55a642
--- /dev/null
+++ b/consoletrans/tis620x.sfm
@@ -0,0 +1,271 @@
+# Linux Console Screen Font Map (SFM)
+# Unicode font map for TIS-620 fonts (tis620-x.*)
+# With table lines support
+# Phattanon Duangdara <sf_alpha@shin-host.com>
+# Theppitak Karoonboonyanan <thep@links.nectec.or.th>
+#
+# [use: unicode_start tis620-x.f16 tis620-x]
+
+# ASCII (CTRL-CHARS)
+0x00 U+fffd
+0x01 U+263a
+0x02 U+263b
+0x03 U+2665
+0x04 U+2666
+0x05 U+2663
+0x06 U+2660
+0x07 U+2022
+0x08 U+25d8
+0x09 U+25cb
+0x0a U+25d9
+0x0b U+2642
+0x0c U+2640
+0x0d U+266a
+0x0e U+266b U+266c
+0x0f U+263c
+0x10 U+25b6 U+25ba
+0x11 U+25c0 U+25c4
+0x12 U+2195
+0x13 U+203c
+0x14 U+00b6
+0x15 U+00a7
+0x16 U+25ac
+0x17 U+21a8
+0x18 U+2191
+0x19 U+2193
+0x1a U+2192
+0x1b U+2190
+0x1c U+221f U+2319
+0x1d U+2194
+0x1e U+25b2
+0x1f U+25bc
+0x20 U+0020
+0x21 U+0021
+0x22 U+0022
+0x23 U+0023
+0x24 U+0024
+0x25 U+0025
+0x26 U+0026
+0x27 U+0027
+0x28 U+0028
+0x29 U+0029
+0x2a U+002a
+0x2b U+002b
+0x2c U+002c
+0x2d U+002d
+0x2e U+002e
+0x2f U+002f
+
+# ASCII
+0x30 U+0030
+0x31 U+0031
+0x32 U+0032
+0x33 U+0033
+0x34 U+0034
+0x35 U+0035
+0x36 U+0036
+0x37 U+0037
+0x38 U+0038
+0x39 U+0039
+0x3a U+003a
+0x3b U+003b
+0x3c U+003c
+0x3d U+003d
+0x3e U+003e
+0x3f U+003f
+0x40 U+0040
+0x41 U+0041
+0x42 U+0042
+0x43 U+0043
+0x44 U+0044
+0x45 U+0045
+0x46 U+0046
+0x47 U+0047
+0x48 U+0048
+0x49 U+0049
+0x4a U+004a
+0x4b U+004b
+0x4c U+004c
+0x4d U+004d
+0x4e U+004e
+0x4f U+004f
+0x50 U+0050
+0x51 U+0051
+0x52 U+0052
+0x53 U+0053
+0x54 U+0054
+0x55 U+0055
+0x56 U+0056
+0x57 U+0057
+0x58 U+0058
+0x59 U+0059
+0x5a U+005a
+0x5b U+005b
+0x5c U+005c
+0x5d U+005d
+0x5e U+005e
+0x5f U+005f
+0x60 U+0060
+0x61 U+0061
+0x62 U+0062
+0x63 U+0063
+0x64 U+0064
+0x65 U+0065
+0x66 U+0066
+0x67 U+0067
+0x68 U+0068
+0x69 U+0069
+0x6a U+006a
+0x6b U+006b
+0x6c U+006c
+0x6d U+006d
+0x6e U+006e
+0x6f U+006f
+0x70 U+0070
+0x71 U+0071
+0x72 U+0072
+0x73 U+0073
+0x74 U+0074
+0x75 U+0075
+0x76 U+0076
+0x77 U+0077
+0x78 U+0078
+0x79 U+0079
+0x7a U+007a
+0x7b U+007b
+0x7c U+007c
+0x7d U+007d
+0x7e U+007e
+0x7f U+2302
+
+# TABLE LINES
+0x80 U+f801
+0x81 U+2575
+0x82 U+2576
+0x83 U+2514
+0x84 U+2577
+0x85 U+2502
+0x86 U+250c
+0x87 U+251c
+0x88 U+2574
+0x89 U+2518
+0x8a U+2500
+0x8b U+2534
+0x8c U+2510
+0x8d U+2524
+0x8e U+252c
+0x8f U+253c
+0x90 U+f803
+0x91 U+2579
+0x92 U+257a
+0x93 U+2517 U+255a
+0x94 U+257b
+0x95 U+2503 U+2551
+0x96 U+250f U+2554
+0x97 U+2523 U+2560
+0x98 U+2578
+0x99 U+251b U+255d
+0x9a U+2501 U+2550
+0x9b U+253b U+2569
+0x9c U+2513 U+2557
+0x9d U+2563 U+252b
+0x9e U+2533 U+2566
+0x9f U+254b U+256c
+
+# NON-BREAKING SPACE
+0xA0 U+00A0
+
+# TIS-620
+0xA1 U+0E01
+0xA2 U+0E02
+0xA3 U+0E03
+0xA4 U+0E04
+0xA5 U+0E05
+0xA6 U+0E06
+0xA7 U+0E07
+0xA8 U+0E08
+0xA9 U+0E09
+0xAA U+0E0A
+0xAB U+0E0B
+0xAC U+0E0C
+0xAD U+0E0D
+0xAE U+0E0E
+0xAF U+0E0F
+0xB0 U+0E10
+0xB1 U+0E11
+0xB2 U+0E12
+0xB3 U+0E13
+0xB4 U+0E14
+0xB5 U+0E15
+0xB6 U+0E16
+0xB7 U+0E17
+0xB8 U+0E18
+0xB9 U+0E19
+0xBA U+0E1A
+0xBB U+0E1B
+0xBC U+0E1C
+0xBD U+0E1D
+0xBE U+0E1E
+0xBF U+0E1F
+0xC0 U+0E20
+0xC1 U+0E21
+0xC2 U+0E22
+0xC3 U+0E23
+0xC4 U+0E24
+0xC5 U+0E25
+0xC6 U+0E26
+0xC7 U+0E27
+0xC8 U+0E28
+0xC9 U+0E29
+0xCA U+0E2A
+0xCB U+0E2B
+0xCC U+0E2C
+0xCD U+0E2D
+0xCE U+0E2E
+0xCF U+0E2F
+0xD0 U+0E30
+0xD1 U+0E31
+0xD2 U+0E32
+0xD3 U+0E33
+0xD4 U+0E34
+0xD5 U+0E35
+0xD6 U+0E36
+0xD7 U+0E37
+0xD8 U+0E38
+0xD9 U+0E39
+0xDA U+0E3A
+
+0xDF U+0E3F
+0xE0 U+0E40
+0xE1 U+0E41
+0xE2 U+0E42
+0xE3 U+0E43
+0xE4 U+0E44
+0xE5 U+0E45
+0xE6 U+0E46
+0xE7 U+0E47
+0xE8 U+0E48
+0xE9 U+0E49
+0xEA U+0E4A
+0xEB U+0E4B
+0xEC U+0E4C
+0xED U+0E4D
+0xEE U+0E4E
+0xEF U+0E4F
+0xF0 U+0E50
+0xF1 U+0E51
+0xF2 U+0E52
+0xF3 U+0E53
+0xF4 U+0E54
+0xF5 U+0E55
+0xF6 U+0E56
+0xF7 U+0E57
+0xF8 U+0E58
+0xF9 U+0E59
+0xFA U+0E5A
+0xFB U+0E5B
+
+# FIXME ?
+# 0xDA-0xDE
+# 0xFC-0xFF
+
diff --git a/consoletrans/trivial.trans b/consoletrans/trivial.trans
new file mode 100644
index 0000000..95d8e63
--- /dev/null
+++ b/consoletrans/trivial.trans
@@ -0,0 +1,129 @@
+# Internal value Output character
+0x80 0x80
+0x81 0x81
+0x82 0x82
+0x83 0x83
+0x84 0x84
+0x85 0x85
+0x86 0x86
+0x87 0x87
+0x88 0x88
+0x89 0x89
+0x8A 0x8A
+0x8B 0x8B
+0x8C 0x8C
+0x8D 0x8D
+0x8E 0x8E
+0x8F 0x8F
+0x90 0x90
+0x91 0x91
+0x92 0x92
+0x93 0x93
+0x94 0x94
+0x95 0x95
+0x96 0x96
+0x97 0x97
+0x98 0x98
+0x99 0x99
+0x9A 0x9A
+0x9B 0x9B
+0x9C 0x9C
+0x9D 0x9D
+0x9E 0x9E
+0x9F 0x9F
+0xA0 0xA0
+0xA1 0xA1
+0xA2 0xA2
+0xA3 0xA3
+0xA4 0xA4
+0xA5 0xA5
+0xA6 0xA6
+0xA7 0xA7
+0xA8 0xA8
+0xA9 0xA9
+0xAA 0xAA
+0xAB 0xAB
+0xAC 0xAC
+0xAD 0xAD
+0xAE 0xAE
+0xAF 0xAF
+0xB0 0xB0
+0xB1 0xB1
+0xB2 0xB2
+0xB3 0xB3
+0xB4 0xB4
+0xB5 0xB5
+0xB6 0xB6
+0xB7 0xB7
+0xB8 0xB8
+0xB9 0xB9
+0xBA 0xBA
+0xBB 0xBB
+0xBC 0xBC
+0xBD 0xBD
+0xBE 0xBE
+0xBF 0xBF
+0xC0 0xC0
+0xC1 0xC1
+0xC2 0xC2
+0xC3 0xC3
+0xC4 0xC4
+0xC5 0xC5
+0xC6 0xC6
+0xC7 0xC7
+0xC8 0xC8
+0xC9 0xC9
+0xCA 0xCA
+0xCB 0xCB
+0xCC 0xCC
+0xCD 0xCD
+0xCE 0xCE
+0xCF 0xCF
+0xD0 0xD0
+0xD1 0xD1
+0xD2 0xD2
+0xD3 0xD3
+0xD4 0xD4
+0xD5 0xD5
+0xD6 0xD6
+0xD7 0xD7
+0xD8 0xD8
+0xD9 0xD9
+0xDA 0xDA
+0xDB 0xDB
+0xDC 0xDC
+0xDD 0xDD
+0xDE 0xDE
+0xDF 0xDF
+0xE0 0xE0
+0xE1 0xE1
+0xE2 0xE2
+0xE3 0xE3
+0xE4 0xE4
+0xE5 0xE5
+0xE6 0xE6
+0xE7 0xE7
+0xE8 0xE8
+0xE9 0xE9
+0xEA 0xEA
+0xEB 0xEB
+0xEC 0xEC
+0xED 0xED
+0xEE 0xEE
+0xEF 0xEF
+0xF0 0xF0
+0xF1 0xF1
+0xF2 0xF2
+0xF3 0xF3
+0xF4 0xF4
+0xF5 0xF5
+0xF6 0xF6
+0xF7 0xF7
+0xF8 0xF8
+0xF9 0xF9
+0xFA 0xFA
+0xFB 0xFB
+0xFC 0xFC
+0xFD 0xFD
+0xFE 0xFE
+0xFF 0xFF
diff --git a/consoletrans/typo.fallback b/consoletrans/typo.fallback
new file mode 100644
index 0000000..8e098e3
--- /dev/null
+++ b/consoletrans/typo.fallback
@@ -0,0 +1,11 @@
+# This files gives fallback for typographical character from the following charsets:
+# cp437 latin1
+
+# mid dot (·) : bullet (•) : sq bullet (■)
+U+00B7 U+2022 U+221A
+
+# bullet (•) : mid dot (·) : sq bullet (■)
+U+2022 U+00B7 U+221A
+
+# no-break space ( ) : space
+U+00A0 U+0020
diff --git a/consoletrans/ucx.sfm b/consoletrans/ucx.sfm
new file mode 100644
index 0000000..86d3d05
--- /dev/null
+++ b/consoletrans/ucx.sfm
@@ -0,0 +1,259 @@
+#
+# UniCyr eXtended Screen Font Map
+#
+0x00 U+0000 U+2264
+0x01 U+0001 U+2265
+0x02 U+0002 U+00ab
+0x03 U+0003 U+00bb
+0x04 U+0004 U+00f7
+0x05 U+0005 U+0402
+0x06 U+0006 U+0403
+0x07 U+0007 U+0405
+0x08 U+0008 U+0406
+0x09 U+0009 U+0408
+0x0a U+000a U+0409
+0x0b U+000b U+040a
+0x0c U+000c U+040b
+0x0d U+000d U+040c
+0x0e U+000e U+040f
+0x0f U+000f U+0490
+0x10 U+0010 U+2248
+0x11 U+0011 U+00a9
+0x12 U+0012 U+00b2
+0x13 U+0013 U+00ae
+0x14 U+0014 U+20ac
+0x15 U+0015 U+0452
+0x16 U+0016 U+0453
+0x17 U+0017 U+0455
+0x18 U+0018 U+0456
+0x19 U+0019 U+0458
+0x1a U+001a U+0459
+0x1b U+001b U+045a
+0x1c U+001c U+045b
+0x1d U+001d U+045c
+0x1e U+001e U+045f
+0x1f U+001f U+0491
+0x20 U+0020 U+00a0
+0x21 U+0021
+0x22 U+0022 U+201c U+201d
+0x23 U+0023
+0x24 U+0024
+0x25 U+0025
+0x26 U+0026
+0x27 U+0027 U+2019
+0x28 U+0028
+0x29 U+0029
+0x2a U+002a
+0x2b U+002b
+0x2c U+002c U+201a
+0x2d U+002d U+2013 U+2014
+0x2e U+002e
+0x2f U+002f
+0x30 U+0030
+0x31 U+0031
+0x32 U+0032
+0x33 U+0033
+0x34 U+0034
+0x35 U+0035
+0x36 U+0036
+0x37 U+0037
+0x38 U+0038
+0x39 U+0039
+0x3a U+003a
+0x3b U+003b
+0x3c U+003c
+0x3d U+003d
+0x3e U+003e
+0x3f U+003f
+0x40 U+0040
+0x41 U+0041 U+00c0 U+00c1 U+00c2 U+00c3
+0x42 U+0042
+0x43 U+0043
+0x44 U+0044 U+00d0
+0x45 U+0045 U+00c8 U+00ca
+0x46 U+0046
+0x47 U+0047
+0x48 U+0048
+0x49 U+0049 U+00cc U+00cd U+00ce
+0x4a U+004a
+0x4b U+004b
+0x4c U+004c
+0x4d U+004d
+0x4e U+004e
+0x4f U+004f U+00d2 U+00d3 U+00d4 U+00d5
+0x50 U+0050
+0x51 U+0051
+0x52 U+0052
+0x53 U+0053 U+0160
+0x54 U+0054
+0x55 U+0055 U+00d9 U+00da U+00db
+0x56 U+0056
+0x57 U+0057
+0x58 U+0058
+0x59 U+0059 U+00dd U+0178
+0x5a U+005a U+017d
+0x5b U+005b
+0x5c U+005c
+0x5d U+005d
+0x5e U+005e
+0x5f U+005f
+0x60 U+0060 U+2018
+0x61 U+0061 U+00e1 U+00e3
+0x62 U+0062
+0x63 U+0063
+0x64 U+0064
+0x65 U+0065
+0x66 U+0066
+0x67 U+0067
+0x68 U+0068
+0x69 U+0069 U+00ec U+00ed
+0x6a U+006a
+0x6b U+006b
+0x6c U+006c
+0x6d U+006d
+0x6e U+006e
+0x6f U+006f U+00f2 U+00f3 U+00f5
+0x70 U+0070
+0x71 U+0071
+0x72 U+0072
+0x73 U+0073 U+0161
+0x74 U+0074
+0x75 U+0075 U+00fa
+0x76 U+0076
+0x77 U+0077
+0x78 U+0078
+0x79 U+0079 U+00fd U+00ff
+0x7a U+007a U+017e
+0x7b U+007b
+0x7c U+007c
+0x7d U+007d
+0x7e U+007e
+0x7f U+007f U+2302
+0x80 U+0410
+0x81 U+0411
+0x82 U+0412
+0x83 U+0413
+0x84 U+0414
+0x85 U+0415
+0x86 U+0416
+0x87 U+0417
+0x88 U+0418
+0x89 U+0419
+0x8a U+041a
+0x8b U+041b
+0x8c U+041c
+0x8d U+041d
+0x8e U+041e
+0x8f U+041f
+0x90 U+0420
+0x91 U+0421
+0x92 U+0422
+0x93 U+0423
+0x94 U+0424
+0x95 U+0425
+0x96 U+0426
+0x97 U+0427
+0x98 U+0428
+0x99 U+0429
+0x9a U+042a
+0x9b U+042b
+0x9c U+042c
+0x9d U+042d
+0x9e U+042e
+0x9f U+042f
+0xa0 U+0430
+0xa1 U+0431
+0xa2 U+0432
+0xa3 U+0433
+0xa4 U+0434
+0xa5 U+0435
+0xa6 U+0436
+0xa7 U+0437
+0xa8 U+0438
+0xa9 U+0439
+0xaa U+043a
+0xab U+043b
+0xac U+043c
+0xad U+043d
+0xae U+043e
+0xaf U+043f
+0xb0 U+00de
+0xb1 U+2592 U+2591 U+2593
+0xb2 U+00fe
+0xb3 U+2502 U+2551
+0xb4 U+2524 U+2561 U+2562 U+2563
+0xb5 U+00df
+0xb6 U+00c4
+0xb7 U+00d6
+0xb8 U+00dc
+0xb9 U+00e4
+0xba U+00f6
+0xbb U+00fc
+0xbc U+00a3
+0xbd U+00b5
+0xbe U+00a2
+0xbf U+2510 U+2555 U+2556 U+2557
+0xc0 U+2514 U+2558 U+2559 U+255a
+0xc1 U+2534 U+2567 U+2568 U+2569
+0xc2 U+252c U+2564 U+2565 U+2566
+0xc3 U+251c U+255e U+255f U+2560
+0xc4 U+2500 U+2550
+0xc5 U+253c U+256a U+256b U+256c
+0xc6 U+00e7
+0xc7 U+00e9
+0xc8 U+00e8
+0xc9 U+00e0
+0xca U+00f9
+0xcb U+00e2
+0xcc U+00ea
+0xcd U+00ee
+0xce U+00f4
+0xcf U+00fb
+0xd0 U+00c7
+0xd1 U+00c9
+0xd2 U+00d1
+0xd3 U+00f1
+0xd4 U+00e6
+0xd5 U+00e5
+0xd6 U+00f8
+0xd7 U+00f0
+0xd8 U+00c5
+0xd9 U+2518 U+2321 U+255b U+255c U+255d
+0xda U+250c U+2320 U+2552 U+2553 U+2554
+0xdb U+2588
+0xdc U+2584
+0xdd U+258c
+0xde U+2590
+0xdf U+2580
+0xe0 U+0440
+0xe1 U+0441
+0xe2 U+0442
+0xe3 U+0443
+0xe4 U+0444
+0xe5 U+0445
+0xe6 U+0446
+0xe7 U+0447
+0xe8 U+0448
+0xe9 U+0449
+0xea U+044a
+0xeb U+044b
+0xec U+044c
+0xed U+044d
+0xee U+044e
+0xef U+044f
+0xf0 U+0401 U+00cb
+0xf1 U+0451 U+00eb
+0xf2 U+0404
+0xf3 U+0454
+0xf4 U+0407 U+00cf
+0xf5 U+0457 U+00ef
+0xf6 U+040e
+0xf7 U+045e
+0xf8 U+00b0 U+00ba
+0xf9 U+2219 U+2022 U+00b7
+0xfa U+00ad
+0xfb U+221a
+0xfc U+2116
+0xfd U+00a4
+0xfe U+25a0 U+fffd
+0xff U+00a7
diff --git a/consoletrans/vga2iso.trans b/consoletrans/vga2iso.trans
new file mode 100644
index 0000000..e6e28a2
--- /dev/null
+++ b/consoletrans/vga2iso.trans
@@ -0,0 +1,129 @@
+# Internal value Output character
+0x80 0xC0
+0x81 0xC1
+0x82 0xC2
+0x83 0xC3
+0x84 0xC4
+0x85 0xC5
+0x86 0xC6
+0x87 0xC7
+0x88 0xC8
+0x89 0xC9
+0x8A 0xCA
+0x8B 0xCB
+0x8C 0xCC
+0x8D 0xCD
+0x8E 0xCE
+0x8F 0xCF
+0x90 0xD0
+0x91 0xD1
+0x92 0xD2
+0x93 0xD3
+0x94 0xD4
+0x95 0xD5
+0x96 0xD6
+0x97 0xD7
+0x98 0xD8
+0x99 0xD9
+0x9A 0xDA
+0x9B 0xDB
+0x9C 0xDC
+0x9D 0xDD
+0x9E 0xDE
+0x9F 0xDF
+0xA0 0xA0
+0xA1 0xA1
+0xA2 0xA2
+0xA3 0xA3
+0xA4 0xA4
+0xA5 0xA5
+0xA6 0xA6
+0xA7 0xA7
+0xA8 0xA8
+0xA9 0xA9
+0xAA 0xAA
+0xAB 0xAB
+0xAC 0xAC
+0xAD 0xAD
+0xAE 0xAE
+0xAF 0xAF
+0xB0 0xB0
+0xB1 0xB1
+0xB2 0xB2
+0xB3 0xB3
+0xB4 0xB4
+0xB5 0xB5
+0xB6 0xB6
+0xB7 0xB7
+0xB8 0xB8
+0xB9 0xB9
+0xBA 0xBA
+0xBB 0xBB
+0xBC 0xBC
+0xBD 0xBD
+0xBE 0xBE
+0xBF 0xBF
+0xC0 0x80
+0xC1 0x81
+0xC2 0x82
+0xC3 0x83
+0xC4 0x84
+0xC5 0x85
+0xC6 0x86
+0xC7 0x87
+0xC8 0x88
+0xC9 0x89
+0xCA 0x8A
+0xCB 0x8B
+0xCC 0x8C
+0xCD 0x8D
+0xCE 0x8E
+0xCF 0x8F
+0xD0 0x90
+0xD1 0x91
+0xD2 0x92
+0xD3 0x93
+0xD4 0x94
+0xD5 0x95
+0xD6 0x96
+0xD7 0x97
+0xD8 0x98
+0xD9 0x99
+0xDA 0x9A
+0xDB 0x9B
+0xDC 0x9C
+0xDD 0x9D
+0xDE 0x9E
+0xDF 0x9F
+0xE0 0xE0
+0xE1 0xE1
+0xE2 0xE2
+0xE3 0xE3
+0xE4 0xE4
+0xE5 0xE5
+0xE6 0xE6
+0xE7 0xE7
+0xE8 0xE8
+0xE9 0xE9
+0xEA 0xEA
+0xEB 0xEB
+0xEC 0xEC
+0xED 0xED
+0xEE 0xEE
+0xEF 0xEF
+0xF0 0xF0
+0xF1 0xF1
+0xF2 0xF2
+0xF3 0xF3
+0xF4 0xF4
+0xF5 0xF5
+0xF6 0xF6
+0xF7 0xF7
+0xF8 0xF8
+0xF9 0xF9
+0xFA 0xFA
+0xFB 0xFB
+0xFC 0xFC
+0xFD 0xFD
+0xFE 0xFE
+0xFF 0xFF
diff --git a/consoletrans/viscii.sfm b/consoletrans/viscii.sfm
new file mode 100644
index 0000000..f96cf88
--- /dev/null
+++ b/consoletrans/viscii.sfm
@@ -0,0 +1,144 @@
+#
+# Unicode mapping table for Vietnamese VISCII fonts
+# usage: setfont -m trivial -u viscii.uni fontname
+#
+0x00-0x01 idem
+0x02 U+1EB2
+0x03-0x04 idem
+0x05 U+1EB4
+0x06 U+1EAA
+0x07-0x13 idem
+0x14 U+1EF6
+0x15-0x18 idem
+0x19 U+1EF8
+0x1a-0x1d idem
+0x1e U+1EF4
+0x1f-0x7f idem
+0x80 U+1EA0
+0x81 U+1EAE
+0x82 U+1EB0
+0x83 U+1EB6
+0x84 U+1EA4
+0x85 U+1EA6
+0x86 U+1EA8
+0x87 U+1EAC
+0x88 U+1EBC
+0x89 U+1EB8
+0x8A U+1EBE
+0x8B U+1EC0
+0x8C U+1EC2
+0x8D U+1EC4
+0x8E U+1EC6
+0x8F U+1ED0
+0x90 U+1ED2
+0x91 U+1ED4
+0x92 U+1ED6
+0x93 U+1ED8
+0x94 U+1EE2
+0x95 U+1EDA
+0x96 U+1EDC
+0x97 U+1EDE
+0x98 U+1ECA
+0x99 U+1ECE
+0x9A U+1ECC
+0x9B U+1EC8
+0x9C U+1EE6
+0x9D U+0168
+0x9E U+1EE4
+0x9F U+1EF2
+0xA0 U+00D5
+0xA1 U+1EAF
+0xA2 U+1EB1
+0xA3 U+1EB7
+0xA4 U+1EA5
+0xA5 U+1EA7
+0xA6 U+1EA9
+0xA7 U+1EAD
+0xA8 U+1EBD
+0xA9 U+1EB9
+0xAA U+1EBF
+0xAB U+1EC1
+0xAC U+1EC3
+0xAD U+1EC5
+0xAE U+1EC7
+0xAF U+1ED1
+0xB0 U+1ED3
+0xB1 U+1ED5
+0xB2 U+1ED7
+0xB3 U+1EE0
+0xB4 U+01A0
+0xB5 U+1ED9
+0xB6 U+1EDD
+0xB7 U+1EDF
+0xB8 U+1ECB
+0xB9 U+1EF0
+0xBA U+1EE8
+0xBB U+1EEA
+0xBC U+1EEC
+0xBD U+01A1
+0xBE U+1EDB
+0xBF U+01AF
+0xC0 U+00C0
+0xC1 U+00C1
+0xC2 U+00C2
+0xC3 U+00C3
+0xC4 U+1EA2
+0xC5 U+0102
+0xC6 U+1EB3
+0xC7 U+1EB5
+0xC8 U+00C8
+0xC9 U+00C9
+0xCA U+00CA
+0xCB U+1EBA
+0xCC U+00CC
+0xCD U+00CD
+0xCE U+0128
+0xCF U+1EF3
+0xD0 U+0110
+0xD1 U+1EE9
+0xD2 U+00D2
+0xD3 U+00D3
+0xD4 U+00D4
+0xD5 U+1EA1
+0xD6 U+1EF7
+0xD7 U+1EEB
+0xD8 U+1EED
+0xD9 U+00D9
+0xDA U+00DA
+0xDB U+1EF9
+0xDC U+1EF5
+0xDD U+00DD
+0xDE U+1EE1
+0xDF U+01B0
+0xE0 U+00E0
+0xE1 U+00E1
+0xE2 U+00E2
+0xE3 U+00E3
+0xE4 U+1EA3
+0xE5 U+0103
+0xE6 U+1EEF
+0xE7 U+1EAB
+0xE8 U+00E8
+0xE9 U+00E9
+0xEA U+00EA
+0xEB U+1EBB
+0xEC U+00EC
+0xED U+00ED
+0xEE U+0129
+0xEF U+1EC9
+0xF0 U+0111
+0xF1 U+1EF1
+0xF2 U+00F2
+0xF3 U+00F3
+0xF4 U+00F4
+0xF5 U+00F5
+0xF6 U+1ECF
+0xF7 U+1ECD
+0xF8 U+1EE5
+0xF9 U+00F9
+0xFA U+00FA
+0xFB U+0169
+0xFC U+1EE7
+0xFD U+00FD
+0xFE U+1EE3
+0xFF U+1EEE
diff --git a/consoletrans/viscii1.0_to_tcvn.trans b/consoletrans/viscii1.0_to_tcvn.trans
new file mode 100644
index 0000000..a7f1a1a
--- /dev/null
+++ b/consoletrans/viscii1.0_to_tcvn.trans
@@ -0,0 +1,101 @@
+#
+# this file allows using a viscii 1.0 encoded font to display TCVN
+# usage: setfont -m viscii1.0_to_tcvn.trans -u tcvn.uni fontname
+#
+# Internal value Output character
+0xA0 0x20
+0xA1 0xc5
+0xA2 0xc2
+0xA3 0xca
+0xA4 0xd4
+0xA5 0xb4
+0xA6 0xbf
+0xA7 0xd0
+0xA8 0xe5
+0xA9 0xe2
+0xAA 0xea
+0xAB 0xf4
+0xAC 0xbd
+0xAD 0xdf
+0xAE 0xf0
+0xAF 0x20
+0xB0 0x20
+0xB1 0x20
+0xB2 0x20
+0xB3 0x20
+0xB4 0x20
+0xB5 0xe0
+0xB6 0xe4
+0xB7 0xe3
+0xB8 0xe1
+0xB9 0xa0
+0xBA 0x20
+0xBB 0xa2
+0xBC 0xc6
+0xBD 0xc7
+0xBE 0xa1
+0xBF 0x20
+0xC0 0x20
+0xC1 0x20
+0xC2 0x20
+0xC3 0x20
+0xC4 0x20
+0xC5 0x20
+0xC6 0xa3
+0xC7 0xa5
+0xC8 0xa6
+0xC9 0xe7
+0xCA 0xa4
+0xCB 0xa7
+0xCC 0xe8
+0xCD 0x20
+0xCE 0xeb
+0xCF 0xa8
+0xD0 0xe9
+0xD1 0xa9
+0xD2 0xab
+0xD3 0xac
+0xD4 0xad
+0xD5 0xaa
+0xD6 0xae
+0xD7 0xec
+0xD8 0xef
+0xD9 0x20
+0xDA 0x20
+0xDB 0x20
+0xDC 0xee
+0xDD 0xed
+0xDE 0xb8
+0xDF 0xf2
+0xE0 0x20
+0xE1 0xf6
+0xE2 0xf5
+0xE3 0xf3
+0xE4 0xf7
+0xE5 0xb5
+0xE6 0xb1
+0xE7 0xb2
+0xE8 0xaf
+0xE9 0xb5
+0xEA 0xb6
+0xEB 0xb7
+0xEC 0xde
+0xED 0xbe
+0xEE 0xfe
+0xEF 0xf9
+0xF0 0x20
+0xF1 0xfc
+0xF2 0xfb
+0xF3 0xfa
+0xF4 0xf8
+0xF5 0xd7
+0xF6 0xd8
+0xF7 0xe6
+0xF8 0xd1
+0xF9 0xf1
+0xFA 0xcf
+0xFB 0xd6
+0xFC 0xdb
+0xFD 0xfd
+0xFE 0xdc
+0xFF 0x20
diff --git a/consoletrans/viscii1.0_to_viscii1.1.trans b/consoletrans/viscii1.0_to_viscii1.1.trans
new file mode 100644
index 0000000..02580b7
--- /dev/null
+++ b/consoletrans/viscii1.0_to_viscii1.1.trans
@@ -0,0 +1,133 @@
+#
+# this file allows using a viscii 1.0 encoded font to display viscii 1.1
+# usage: setfont -m viscii1.0_to_viscii1.1.trans -u viscii.uni fontname
+#
+# Internal value Output character
+0x80 0x80
+0x81 0x81
+0x82 0x82
+0x83 0x83
+0x84 0x84
+0x85 0x85
+0x86 0x86
+0x87 0x87
+0x88 0x88
+0x89 0x89
+0x8A 0x8A
+0x8B 0x8B
+0x8C 0x8C
+0x8D 0x8D
+0x8E 0x8E
+0x8F 0x8F
+0x90 0x90
+0x91 0x91
+0x92 0x92
+0x93 0x93
+0x94 0x94
+0x95 0x95
+0x96 0x96
+0x97 0x97
+0x98 0x98
+0x99 0x99
+0x9A 0x9A
+0x9B 0x9B
+0x9C 0x9C
+0x9D 0x9D
+0x9E 0x9E
+0x9F 0x9F
+0xA0 0xd5
+0xA1 0xA1
+0xA2 0xA2
+0xA3 0xA3
+0xA4 0xA4
+0xA5 0xA5
+0xA6 0xA6
+0xA7 0xA7
+0xA8 0xA8
+0xA9 0xA9
+0xAA 0xAA
+0xAB 0xAB
+0xAC 0xAC
+0xAD 0xAD
+0xAE 0xAE
+0xAF 0xAF
+0xB0 0xB0
+0xB1 0xB1
+0xB2 0xB2
+0xB3 0xB3
+0xB4 0xB4
+0xB5 0xB5
+0xB6 0xB6
+0xB7 0xB7
+0xB8 0xB8
+0xB9 0xB9
+0xBA 0xBA
+0xBB 0xBB
+0xBC 0xBC
+0xBD 0xBD
+0xBE 0xBE
+0xBF 0xBF
+0xC0 0xC0
+0xC1 0xC1
+0xC2 0xC2
+0xC3 0xC3
+0xC4 0xC4
+0xC5 0xC5
+0xC6 0xC6
+0xC7 0xC7
+0xC8 0xC8
+0xC9 0xC9
+0xCA 0xCA
+0xCB 0xCB
+0xCC 0xCC
+0xCD 0xCD
+0xCE 0xCE
+0xCF 0xCF
+0xD0 0xD0
+0xD1 0xD1
+0xD2 0xD2
+0xD3 0xD3
+0xD4 0xD4
+0xD5 0xa0
+0xD6 0xD6
+0xD7 0xD7
+0xD8 0xD8
+0xD9 0xD9
+0xDA 0xDA
+0xDB 0xDB
+0xDC 0xDC
+0xDD 0xDD
+0xDE 0xDE
+0xDF 0xDF
+0xE0 0xE0
+0xE1 0xE1
+0xE2 0xE2
+0xE3 0xE3
+0xE4 0xE4
+0xE5 0xE5
+0xE6 0xE6
+0xE7 0xE7
+0xE8 0xE8
+0xE9 0xE9
+0xEA 0xEA
+0xEB 0xEB
+0xEC 0xEC
+0xED 0xED
+0xEE 0xEE
+0xEF 0xEF
+0xF0 0xF0
+0xF1 0xF1
+0xF2 0xF2
+0xF3 0xF3
+0xF4 0xF4
+0xF5 0xF5
+0xF6 0xF6
+0xF7 0xF7
+0xF8 0xF8
+0xF9 0xF9
+0xFA 0xFA
+0xFB 0xFB
+0xFC 0xFC
+0xFD 0xFD
+0xFE 0xFE
+0xFF 0xFF
diff --git a/consoletrans/zero.trans b/consoletrans/zero.trans
new file mode 100644
index 0000000..f3094c1
--- /dev/null
+++ b/consoletrans/zero.trans
@@ -0,0 +1,130 @@
+# Map all characters with high bit set to <none>
+# Internal value Output character
+0x80 0x00
+0x81 0x00
+0x82 0x00
+0x83 0x00
+0x84 0x00
+0x85 0x00
+0x86 0x00
+0x87 0x00
+0x88 0x00
+0x89 0x00
+0x8A 0x00
+0x8B 0x00
+0x8C 0x00
+0x8D 0x00
+0x8E 0x00
+0x8F 0x00
+0x90 0x00
+0x91 0x00
+0x92 0x00
+0x93 0x00
+0x94 0x00
+0x95 0x00
+0x96 0x00
+0x97 0x00
+0x98 0x00
+0x99 0x00
+0x9A 0x00
+0x9B 0x00
+0x9C 0x00
+0x9D 0x00
+0x9E 0x00
+0x9F 0x00
+0xA0 0x00
+0xA1 0x00
+0xA2 0x00
+0xA3 0x00
+0xA4 0x00
+0xA5 0x00
+0xA6 0x00
+0xA7 0x00
+0xA8 0x00
+0xA9 0x00
+0xAA 0x00
+0xAB 0x00
+0xAC 0x00
+0xAD 0x00
+0xAE 0x00
+0xAF 0x00
+0xB0 0x00
+0xB1 0x00
+0xB2 0x00
+0xB3 0x00
+0xB4 0x00
+0xB5 0x00
+0xB6 0x00
+0xB7 0x00
+0xB8 0x00
+0xB9 0x00
+0xBA 0x00
+0xBB 0x00
+0xBC 0x00
+0xBD 0x00
+0xBE 0x00
+0xBF 0x00
+0xC0 0x00
+0xC1 0x00
+0xC2 0x00
+0xC3 0x00
+0xC4 0x00
+0xC5 0x00
+0xC6 0x00
+0xC7 0x00
+0xC8 0x00
+0xC9 0x00
+0xCA 0x00
+0xCB 0x00
+0xCC 0x00
+0xCD 0x00
+0xCE 0x00
+0xCF 0x00
+0xD0 0x00
+0xD1 0x00
+0xD2 0x00
+0xD3 0x00
+0xD4 0x00
+0xD5 0x00
+0xD6 0x00
+0xD7 0x00
+0xD8 0x00
+0xD9 0x00
+0xDA 0x00
+0xDB 0x00
+0xDC 0x00
+0xDD 0x00
+0xDE 0x00
+0xDF 0x00
+0xE0 0x00
+0xE1 0x00
+0xE2 0x00
+0xE3 0x00
+0xE4 0x00
+0xE5 0x00
+0xE6 0x00
+0xE7 0x00
+0xE8 0x00
+0xE9 0x00
+0xEA 0x00
+0xEB 0x00
+0xEC 0x00
+0xED 0x00
+0xEE 0x00
+0xEF 0x00
+0xF0 0x00
+0xF1 0x00
+0xF2 0x00
+0xF3 0x00
+0xF4 0x00
+0xF5 0x00
+0xF6 0x00
+0xF7 0x00
+0xF8 0x00
+0xF9 0x00
+0xFA 0x00
+0xFB 0x00
+0xFC 0x00
+0xFD 0x00
+0xFE 0x00
+0xFF 0x00
diff --git a/README.Debian b/debian/README.Debian
index 5a06182..5a06182 100644
--- a/README.Debian
+++ b/debian/README.Debian
diff --git a/README.udebs b/debian/README.udebs
index 6570f85..6570f85 100644
--- a/README.udebs
+++ b/debian/README.udebs
diff --git a/README.us-intl b/debian/README.us-intl
index 312cc67..312cc67 100644
--- a/README.us-intl
+++ b/debian/README.us-intl
diff --git a/Rationale b/debian/Rationale
index b30d823..b30d823 100644
--- a/Rationale
+++ b/debian/Rationale
diff --git a/TODO b/debian/TODO
index 0eca938..0eca938 100644
--- a/TODO
+++ b/debian/TODO
diff --git a/changelog b/debian/changelog
index 9804328..9804328 100644
--- a/changelog
+++ b/debian/changelog
diff --git a/compat b/debian/compat
index 45a4fb7..45a4fb7 100644
--- a/compat
+++ b/debian/compat
diff --git a/console-data.dirs b/debian/console-data.dirs
index 21a1000..21a1000 100644
--- a/console-data.dirs
+++ b/debian/console-data.dirs
diff --git a/console-data.docs b/debian/console-data.docs
index 2fcf63a..2fcf63a 100644
--- a/console-data.docs
+++ b/debian/console-data.docs
diff --git a/console-data.examples b/debian/console-data.examples
index 53cb651..53cb651 100644
--- a/console-data.examples
+++ b/debian/console-data.examples
diff --git a/console-data.install b/debian/console-data.install
index f12c2fe..f12c2fe 100644
--- a/console-data.install
+++ b/debian/console-data.install
diff --git a/console-data.keymaps b/debian/console-data.keymaps
index 694ed85..694ed85 100644
--- a/console-data.keymaps
+++ b/debian/console-data.keymaps
diff --git a/console-data.postinst b/debian/console-data.postinst
index 1f6866c..1f6866c 100644
--- a/console-data.postinst
+++ b/debian/console-data.postinst
diff --git a/console-keymaps-acorn.install b/debian/console-keymaps-acorn.install
index cf68cdf..cf68cdf 100644
--- a/console-keymaps-acorn.install
+++ b/debian/console-keymaps-acorn.install
diff --git a/console-keymaps-acorn.templates b/debian/console-keymaps-acorn.templates
index f022867..f022867 100644
--- a/console-keymaps-acorn.templates
+++ b/debian/console-keymaps-acorn.templates
diff --git a/console-keymaps-amiga.install b/debian/console-keymaps-amiga.install
index f416acf..f416acf 100644
--- a/console-keymaps-amiga.install
+++ b/debian/console-keymaps-amiga.install
diff --git a/console-keymaps-amiga.templates b/debian/console-keymaps-amiga.templates
index 5d3f9d2..5d3f9d2 100644
--- a/console-keymaps-amiga.templates
+++ b/debian/console-keymaps-amiga.templates
diff --git a/console-keymaps-at.install b/debian/console-keymaps-at.install
index 2a14df4..2a14df4 100644
--- a/console-keymaps-at.install
+++ b/debian/console-keymaps-at.install
diff --git a/console-keymaps-at.links b/debian/console-keymaps-at.links
index a87570d..a87570d 100644
--- a/console-keymaps-at.links
+++ b/debian/console-keymaps-at.links
diff --git a/console-keymaps-at.templates b/debian/console-keymaps-at.templates
index 1db28db..1db28db 100644
--- a/console-keymaps-at.templates
+++ b/debian/console-keymaps-at.templates
diff --git a/console-keymaps-atari.install b/debian/console-keymaps-atari.install
index 63e5680..63e5680 100644
--- a/console-keymaps-atari.install
+++ b/debian/console-keymaps-atari.install
diff --git a/console-keymaps-atari.links b/debian/console-keymaps-atari.links
index f81a871..f81a871 100644
--- a/console-keymaps-atari.links
+++ b/debian/console-keymaps-atari.links
diff --git a/console-keymaps-atari.templates b/debian/console-keymaps-atari.templates
index 303ca40..303ca40 100644
--- a/console-keymaps-atari.templates
+++ b/debian/console-keymaps-atari.templates
diff --git a/console-keymaps-dec.install b/debian/console-keymaps-dec.install
index 0f3a77d..0f3a77d 100644
--- a/console-keymaps-dec.install
+++ b/debian/console-keymaps-dec.install
diff --git a/console-keymaps-dec.templates b/debian/console-keymaps-dec.templates
index 7bf7efd..7bf7efd 100644
--- a/console-keymaps-dec.templates
+++ b/debian/console-keymaps-dec.templates
diff --git a/console-keymaps-mac.install b/debian/console-keymaps-mac.install
index b077003..b077003 100644
--- a/console-keymaps-mac.install
+++ b/debian/console-keymaps-mac.install
diff --git a/console-keymaps-mac.links b/debian/console-keymaps-mac.links
index 061bcfd..061bcfd 100644
--- a/console-keymaps-mac.links
+++ b/debian/console-keymaps-mac.links
diff --git a/console-keymaps-mac.templates b/debian/console-keymaps-mac.templates
index f2a3cf8..f2a3cf8 100644
--- a/console-keymaps-mac.templates
+++ b/debian/console-keymaps-mac.templates
diff --git a/console-keymaps-sun.install b/debian/console-keymaps-sun.install
index 667e1c9..667e1c9 100644
--- a/console-keymaps-sun.install
+++ b/debian/console-keymaps-sun.install
diff --git a/console-keymaps-sun.links b/debian/console-keymaps-sun.links
index 59ba74c..59ba74c 100644
--- a/console-keymaps-sun.links
+++ b/debian/console-keymaps-sun.links
diff --git a/console-keymaps-sun.templates b/debian/console-keymaps-sun.templates
index 6b313d1..6b313d1 100644
--- a/console-keymaps-sun.templates
+++ b/debian/console-keymaps-sun.templates
diff --git a/console-keymaps-usb.install b/debian/console-keymaps-usb.install
index 36ac372..36ac372 100644
--- a/console-keymaps-usb.install
+++ b/debian/console-keymaps-usb.install
diff --git a/console-keymaps-usb.templates b/debian/console-keymaps-usb.templates
index 9fecadb..9fecadb 100644
--- a/console-keymaps-usb.templates
+++ b/debian/console-keymaps-usb.templates
diff --git a/control b/debian/control
index 4336700..4336700 100644
--- a/control
+++ b/debian/control
diff --git a/copyright b/debian/copyright
index ee44fa1..ee44fa1 100644
--- a/copyright
+++ b/debian/copyright
diff --git a/gen-acorn-keymaps b/debian/gen-acorn-keymaps
index 34a6024..34a6024 100755
--- a/gen-acorn-keymaps
+++ b/debian/gen-acorn-keymaps
diff --git a/klist-to-po.pl b/debian/klist-to-po.pl
index 9bf2953..9bf2953 100755
--- a/klist-to-po.pl
+++ b/debian/klist-to-po.pl
diff --git a/list-keymaps.pl b/debian/list-keymaps.pl
index bd3ce33..bd3ce33 100755
--- a/list-keymaps.pl
+++ b/debian/list-keymaps.pl
diff --git a/make-template.pl b/debian/make-template.pl
index 179f28e..179f28e 100755
--- a/make-template.pl
+++ b/debian/make-template.pl
diff --git a/po/POTFILES.in b/debian/po/POTFILES.in
index 2477d6d..2477d6d 100644
--- a/po/POTFILES.in
+++ b/debian/po/POTFILES.in
diff --git a/po/ar.po b/debian/po/ar.po
index 66a4059..66a4059 100644
--- a/po/ar.po
+++ b/debian/po/ar.po
diff --git a/po/ast.po b/debian/po/ast.po
index 55f16d5..55f16d5 100644
--- a/po/ast.po
+++ b/debian/po/ast.po
diff --git a/po/be.po b/debian/po/be.po
index 486fe99..486fe99 100644
--- a/po/be.po
+++ b/debian/po/be.po
diff --git a/po/bg.po b/debian/po/bg.po
index 72466f6..72466f6 100644
--- a/po/bg.po
+++ b/debian/po/bg.po
diff --git a/po/bn.po b/debian/po/bn.po
index 55df6c0..55df6c0 100644
--- a/po/bn.po
+++ b/debian/po/bn.po
diff --git a/po/bs.po b/debian/po/bs.po
index e67c6b8..e67c6b8 100644
--- a/po/bs.po
+++ b/debian/po/bs.po
diff --git a/po/ca.po b/debian/po/ca.po
index c82e991..c82e991 100644
--- a/po/ca.po
+++ b/debian/po/ca.po
diff --git a/po/cs.po b/debian/po/cs.po
index 09c6e15..09c6e15 100644
--- a/po/cs.po
+++ b/debian/po/cs.po
diff --git a/po/cy.po b/debian/po/cy.po
index 0e97c09..0e97c09 100644
--- a/po/cy.po
+++ b/debian/po/cy.po
diff --git a/po/da.po b/debian/po/da.po
index 98cf936..98cf936 100644
--- a/po/da.po
+++ b/debian/po/da.po
diff --git a/po/de.po b/debian/po/de.po
index f1569d7..f1569d7 100644
--- a/po/de.po
+++ b/debian/po/de.po
diff --git a/po/dz.po b/debian/po/dz.po
index bd16343..bd16343 100644
--- a/po/dz.po
+++ b/debian/po/dz.po
diff --git a/po/el.po b/debian/po/el.po
index cf12d72..cf12d72 100644
--- a/po/el.po
+++ b/debian/po/el.po
diff --git a/po/eo.po b/debian/po/eo.po
index 6ec1b68..6ec1b68 100644
--- a/po/eo.po
+++ b/debian/po/eo.po
diff --git a/po/es.po b/debian/po/es.po
index 6e0c788..6e0c788 100644
--- a/po/es.po
+++ b/debian/po/es.po
diff --git a/po/et.po b/debian/po/et.po
index 7c5f521..7c5f521 100644
--- a/po/et.po
+++ b/debian/po/et.po
diff --git a/po/eu.po b/debian/po/eu.po
index fdf2c64..fdf2c64 100644
--- a/po/eu.po
+++ b/debian/po/eu.po
diff --git a/po/fa.po b/debian/po/fa.po
index 4bd31df..4bd31df 100644
--- a/po/fa.po
+++ b/debian/po/fa.po
diff --git a/po/fi.po b/debian/po/fi.po
index 16a2f44..16a2f44 100644
--- a/po/fi.po
+++ b/debian/po/fi.po
diff --git a/po/fr.po b/debian/po/fr.po
index 3f5319b..3f5319b 100644
--- a/po/fr.po
+++ b/debian/po/fr.po
diff --git a/po/ga.po b/debian/po/ga.po
index e29580c..e29580c 100644
--- a/po/ga.po
+++ b/debian/po/ga.po
diff --git a/po/gl.po b/debian/po/gl.po
index 05aecae..05aecae 100644
--- a/po/gl.po
+++ b/debian/po/gl.po
diff --git a/po/gu.po b/debian/po/gu.po
index 613e781..613e781 100644
--- a/po/gu.po
+++ b/debian/po/gu.po
diff --git a/po/he.po b/debian/po/he.po
index 62429da..62429da 100644
--- a/po/he.po
+++ b/debian/po/he.po
diff --git a/po/hi.po b/debian/po/hi.po
index 5d72ecb..5d72ecb 100644
--- a/po/hi.po
+++ b/debian/po/hi.po
diff --git a/po/hr.po b/debian/po/hr.po
index 7e91c59..7e91c59 100644
--- a/po/hr.po
+++ b/debian/po/hr.po
diff --git a/po/hu.po b/debian/po/hu.po
index 1ce41f2..1ce41f2 100644
--- a/po/hu.po
+++ b/debian/po/hu.po
diff --git a/po/id.po b/debian/po/id.po
index d94e7e8..d94e7e8 100644
--- a/po/id.po
+++ b/debian/po/id.po
diff --git a/po/is.po b/debian/po/is.po
index 7e8c60d..7e8c60d 100644
--- a/po/is.po
+++ b/debian/po/is.po
diff --git a/po/it.po b/debian/po/it.po
index 3e15a4a..3e15a4a 100644
--- a/po/it.po
+++ b/debian/po/it.po
diff --git a/po/ja.po b/debian/po/ja.po
index 9e81808..9e81808 100644
--- a/po/ja.po
+++ b/debian/po/ja.po
diff --git a/po/ka.po b/debian/po/ka.po
index ca074c1..ca074c1 100644
--- a/po/ka.po
+++ b/debian/po/ka.po
diff --git a/po/kk.po b/debian/po/kk.po
index 19e8d66..19e8d66 100644
--- a/po/kk.po
+++ b/debian/po/kk.po
diff --git a/po/km.po b/debian/po/km.po
index 650890a..650890a 100644
--- a/po/km.po
+++ b/debian/po/km.po
diff --git a/po/ko.po b/debian/po/ko.po
index 660e0a1..660e0a1 100644
--- a/po/ko.po
+++ b/debian/po/ko.po
diff --git a/po/ku.po b/debian/po/ku.po
index 6e02376..6e02376 100644
--- a/po/ku.po
+++ b/debian/po/ku.po
diff --git a/po/lt.po b/debian/po/lt.po
index f2f3b7e..f2f3b7e 100644
--- a/po/lt.po
+++ b/debian/po/lt.po
diff --git a/po/lv.po b/debian/po/lv.po
index c22d40a..c22d40a 100644
--- a/po/lv.po
+++ b/debian/po/lv.po
diff --git a/po/mk.po b/debian/po/mk.po
index d7f5b33..d7f5b33 100644
--- a/po/mk.po
+++ b/debian/po/mk.po
diff --git a/po/ml.po b/debian/po/ml.po
index a8fdb5e..a8fdb5e 100644
--- a/po/ml.po
+++ b/debian/po/ml.po
diff --git a/po/mr.po b/debian/po/mr.po
index 06327d2..06327d2 100644
--- a/po/mr.po
+++ b/debian/po/mr.po
diff --git a/po/nb.po b/debian/po/nb.po
index 62f9283..62f9283 100644
--- a/po/nb.po
+++ b/debian/po/nb.po
diff --git a/po/ne.po b/debian/po/ne.po
index 4b0623e..4b0623e 100644
--- a/po/ne.po
+++ b/debian/po/ne.po
diff --git a/po/nl.po b/debian/po/nl.po
index 7043276..7043276 100644
--- a/po/nl.po
+++ b/debian/po/nl.po
diff --git a/po/nn.po b/debian/po/nn.po
index b0b7e19..b0b7e19 100644
--- a/po/nn.po
+++ b/debian/po/nn.po
diff --git a/po/output b/debian/po/output
index c3df1a5..c3df1a5 100644
--- a/po/output
+++ b/debian/po/output
diff --git a/po/pa.po b/debian/po/pa.po
index e3e15e0..e3e15e0 100644
--- a/po/pa.po
+++ b/debian/po/pa.po
diff --git a/po/pl.po b/debian/po/pl.po
index 726c846..726c846 100644
--- a/po/pl.po
+++ b/debian/po/pl.po
diff --git a/po/pt.po b/debian/po/pt.po
index 39d91a7..39d91a7 100644
--- a/po/pt.po
+++ b/debian/po/pt.po
diff --git a/po/pt_BR.po b/debian/po/pt_BR.po
index a98e74d..a98e74d 100644
--- a/po/pt_BR.po
+++ b/debian/po/pt_BR.po
diff --git a/po/ro.po b/debian/po/ro.po
index bc58e04..bc58e04 100644
--- a/po/ro.po
+++ b/debian/po/ro.po
diff --git a/po/ru.po b/debian/po/ru.po
index e68af35..e68af35 100644
--- a/po/ru.po
+++ b/debian/po/ru.po
diff --git a/po/si.po b/debian/po/si.po
index ac3ef6a..ac3ef6a 100644
--- a/po/si.po
+++ b/debian/po/si.po
diff --git a/po/sk.po b/debian/po/sk.po
index 8450774..8450774 100644
--- a/po/sk.po
+++ b/debian/po/sk.po
diff --git a/po/sl.po b/debian/po/sl.po
index 5045066..5045066 100644
--- a/po/sl.po
+++ b/debian/po/sl.po
diff --git a/po/sq.po b/debian/po/sq.po
index 848f3cc..848f3cc 100644
--- a/po/sq.po
+++ b/debian/po/sq.po
diff --git a/po/sr.po b/debian/po/sr.po
index a18db53..a18db53 100644
--- a/po/sr.po
+++ b/debian/po/sr.po
diff --git a/po/sr@latin.po b/debian/po/sr@latin.po
index 17303db..17303db 100644
--- a/po/sr@latin.po
+++ b/debian/po/sr@latin.po
diff --git a/po/sv.po b/debian/po/sv.po
index 05cc5ce..05cc5ce 100644
--- a/po/sv.po
+++ b/debian/po/sv.po
diff --git a/po/ta.po b/debian/po/ta.po
index 858060b..858060b 100644
--- a/po/ta.po
+++ b/debian/po/ta.po
diff --git a/po/te.po b/debian/po/te.po
index 10654ef..10654ef 100644
--- a/po/te.po
+++ b/debian/po/te.po
diff --git a/po/templates.pot b/debian/po/templates.pot
index e317c79..e317c79 100644
--- a/po/templates.pot
+++ b/debian/po/templates.pot
diff --git a/po/th.po b/debian/po/th.po
index 4b431c7..4b431c7 100644
--- a/po/th.po
+++ b/debian/po/th.po
diff --git a/po/tl.po b/debian/po/tl.po
index bd8eaf3..bd8eaf3 100644
--- a/po/tl.po
+++ b/debian/po/tl.po
diff --git a/po/tr.po b/debian/po/tr.po
index 52ba61c..52ba61c 100644
--- a/po/tr.po
+++ b/debian/po/tr.po
diff --git a/po/ug.po b/debian/po/ug.po
index 6c0652b..6c0652b 100644
--- a/po/ug.po
+++ b/debian/po/ug.po
diff --git a/po/uk.po b/debian/po/uk.po
index 9e2d9fa..9e2d9fa 100644
--- a/po/uk.po
+++ b/debian/po/uk.po
diff --git a/po/vi.po b/debian/po/vi.po
index a87f2db..a87f2db 100644
--- a/po/vi.po
+++ b/debian/po/vi.po
diff --git a/po/wo.po b/debian/po/wo.po
index 6744c20..6744c20 100644
--- a/po/wo.po
+++ b/debian/po/wo.po
diff --git a/po/zh_CN.po b/debian/po/zh_CN.po
index c54f2e2..c54f2e2 100644
--- a/po/zh_CN.po
+++ b/debian/po/zh_CN.po
diff --git a/po/zh_TW.po b/debian/po/zh_TW.po
index 918d2a3..918d2a3 100644
--- a/po/zh_TW.po
+++ b/debian/po/zh_TW.po
diff --git a/rules b/debian/rules
index a9d1be2..a9d1be2 100755
--- a/rules
+++ b/debian/rules
diff --git a/sort-keymaps b/debian/sort-keymaps
index bf002f8..bf002f8 100644
--- a/sort-keymaps
+++ b/debian/sort-keymaps
diff --git a/source/format b/debian/source/format
index 163aaf8..163aaf8 100644
--- a/source/format
+++ b/debian/source/format
diff --git a/source/options b/debian/source/options
index b7bc1f2..b7bc1f2 100644
--- a/source/options
+++ b/debian/source/options
diff --git a/tests/keymaps b/debian/tests/keymaps
index 7efa36f..7efa36f 100755
--- a/tests/keymaps
+++ b/debian/tests/keymaps
diff --git a/tests/test-keymaps b/debian/tests/test-keymaps
index fcf515d..fcf515d 100755
--- a/tests/test-keymaps
+++ b/debian/tests/test-keymaps
diff --git a/tests/udebs b/debian/tests/udebs
index b94ae56..b94ae56 100644
--- a/tests/udebs
+++ b/debian/tests/udebs
diff --git a/trim_keymaps.sh b/debian/trim_keymaps.sh
index 24676d8..24676d8 100755
--- a/trim_keymaps.sh
+++ b/debian/trim_keymaps.sh
diff --git a/udeb/console-keymaps-acorn b/debian/udeb/console-keymaps-acorn
index 9fbc96e..9fbc96e 100644
--- a/udeb/console-keymaps-acorn
+++ b/debian/udeb/console-keymaps-acorn
diff --git a/udeb/console-keymaps-amiga b/debian/udeb/console-keymaps-amiga
index c158839..c158839 100644
--- a/udeb/console-keymaps-amiga
+++ b/debian/udeb/console-keymaps-amiga
diff --git a/udeb/console-keymaps-at b/debian/udeb/console-keymaps-at
index 3d6eef8..3d6eef8 100644
--- a/udeb/console-keymaps-at
+++ b/debian/udeb/console-keymaps-at
diff --git a/udeb/console-keymaps-atari b/debian/udeb/console-keymaps-atari
index ca5b17f..ca5b17f 100644
--- a/udeb/console-keymaps-atari
+++ b/debian/udeb/console-keymaps-atari
diff --git a/udeb/console-keymaps-dec b/debian/udeb/console-keymaps-dec
index af606be..af606be 100644
--- a/udeb/console-keymaps-dec
+++ b/debian/udeb/console-keymaps-dec
diff --git a/udeb/console-keymaps-mac b/debian/udeb/console-keymaps-mac
index 8cdcb9b..8cdcb9b 100644
--- a/udeb/console-keymaps-mac
+++ b/debian/udeb/console-keymaps-mac
diff --git a/udeb/console-keymaps-sun b/debian/udeb/console-keymaps-sun
index 558510d..558510d 100644
--- a/udeb/console-keymaps-sun
+++ b/debian/udeb/console-keymaps-sun
diff --git a/udeb/console-keymaps-usb b/debian/udeb/console-keymaps-usb
index 5812c16..5812c16 100644
--- a/udeb/console-keymaps-usb
+++ b/debian/udeb/console-keymaps-usb
diff --git a/watch b/debian/watch
index 56840a6..56840a6 100644
--- a/watch
+++ b/debian/watch
diff --git a/doc/Makefile.am b/doc/Makefile.am
new file mode 100644
index 0000000..41973e8
--- /dev/null
+++ b/doc/Makefile.am
@@ -0,0 +1,5 @@
+# -*- makefile -*-
+
+AUTOMAKE_OPTIONS = foreign
+
+EXTRA_DIST = README.* fonts/* keymaps/*
diff --git a/doc/Makefile.in b/doc/Makefile.in
new file mode 100644
index 0000000..3d661b4
--- /dev/null
+++ b/doc/Makefile.in
@@ -0,0 +1,191 @@
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+# -*- makefile -*-
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH = @srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+
+pkgdatadir = $(datadir)/@PACKAGE@
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AMTAR = @AMTAR@
+AWK = @AWK@
+CC = @CC@
+COMPRESSOR_EXT = @COMPRESSOR_EXT@
+COMPRESSOR_OPTS = @COMPRESSOR_OPTS@
+CXX = @CXX@
+CYGPATH_W = @CYGPATH_W@
+FONTDIR = @FONTDIR@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+KEYMAPDIR = @KEYMAPDIR@
+MAKEINFO = @MAKEINFO@
+OLDKEYMAPDIR = @OLDKEYMAPDIR@
+PACKAGE = @PACKAGE@
+STRIP = @STRIP@
+TRANSDIR = @TRANSDIR@
+VERSION = @VERSION@
+VIDEOMODEDIR = @VIDEOMODEDIR@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+install_sh = @install_sh@
+mkdir_p = @mkdir_p@
+
+AUTOMAKE_OPTIONS = foreign
+
+EXTRA_DIST = README.* fonts/* keymaps/*
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_CLEAN_FILES =
+DIST_COMMON = Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+all: all-redirect
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps doc/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = doc
+
+distdir: $(DISTFILES)
+ $(mkinstalldirs) $(distdir)/fonts $(distdir)/keymaps
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$d/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am: all-am
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am:
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am:
+uninstall: uninstall-am
+all-am: Makefile
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-generic mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: tags distdir info-am info dvi-am dvi check check-am \
+installcheck-am installcheck install-exec-am install-exec \
+install-data-am install-data install-am install uninstall-am uninstall \
+all-redirect all-am all installdirs mostlyclean-generic \
+distclean-generic clean-generic maintainer-clean-generic clean \
+mostlyclean distclean maintainer-clean
+
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/doc/README.acm b/doc/README.acm
new file mode 100644
index 0000000..f1e2b0c
--- /dev/null
+++ b/doc/README.acm
@@ -0,0 +1,43 @@
+16-bit screen-maps:
+-----------------
+
+ 16-bit screen-maps are used when the screen is in 8-bit mode (the default),
+to define the character-set used by applications, by telling the kernel how
+to interpret these 8-bit chars, in fact by telling to which Unicode character
+they should be mapped.
+
+ The following files are 16-bit screen maps generated from the file
+`UTF-tmpl.8bit', using the `2UTF' program:
+
+ iso{01,02..10} ISO 8859 charsets
+ cp437 IBM codepage 437 (corresponding to the
+ default PC font)
+ straight-to-font Maps all application characters directly to
+ the characters, using the straight-to-font
+ unicodes.
+
+
+8-bit screen-maps:
+-----------------
+
+ 8-bit screen maps should be considered obsolete, and should be rewritten as
+16-bit maps where needed. They are used to map the charset used by the
+application directly to the font in use, bypassing the unicode map describing
+the font. Thus, a new 8bit screen-map has to be set each time the font is
+changed.
+
+
+ The following are 8-bit screen-maps whose usefulness with current version of
+the console driver/tools has to be investigated:
+
+ null
+ space
+ zero
+
+
+ The following are 8-bit screen-maps which may still be useful to some users,
+but, as 8-bit maps, they will bypass the unicode map:
+
+ trivial obsoleted by `straight-to-font' (16-bit)
+ vga2iso
+ koi2alt
diff --git a/doc/README.iBook2.console-tools b/doc/README.iBook2.console-tools
new file mode 100644
index 0000000..45b36de
--- /dev/null
+++ b/doc/README.iBook2.console-tools
@@ -0,0 +1,38 @@
+Brief notes on the iBook2 keyboard
+
+The iBook2 keyboard, at least in the UK version, has certain idiosyncracies
+
+1. It is based on the standard (i386) layout (q=16, a=31, z=45), NOT the mac
+standard, but the keys at the edges of the keyboard are arranged with wilful
+idiosyncracy (e.g. ` and ~ on the key at the left of z), @ not " is on the 2
+key.
+
+2. It has unusual symbols, such as § and ±. There is also the euro symbol ¤
+on the 2 key. But there is no "regular" delete, only backspace, and no #.
+
+3. The num lock key changes the codes returned by the keys designated for
+the number pad, but does not itself transmit any code. Without special in
+the include file, I have not been able to use the numeric part of the
+number pad, although strangely enough the symbols such as + and / worked
+fine.
+
+
+The enclosed map has the following features
+
+1. # mapped to alt-gr ("apple") plus 3, and also alt plus 3.
+
+2. Delete at cursor mapped to alt-gr plus backspace.
+
+3. Compose key mapped to alt plus alt-gr, standard latin1 compose
+definitions, some work with a latin1 font, others need latin0 or latin9.
+
+
+Files:
+
+README.iBook2.console-tools this file
+
+iBook.keypad.gz keypad layout, for keymaps/mac/include
+
+mac-iBook2-uk.kmap.gz the main map file, for keymaps/mac/qwerty
+
+Ken Moffat \ No newline at end of file
diff --git a/doc/README.sfm b/doc/README.sfm
new file mode 100644
index 0000000..497d716
--- /dev/null
+++ b/doc/README.sfm
@@ -0,0 +1,11 @@
+The correspondences given in iso0[1-9].sfm are
+according to The Unicode Standard, Version 1.0, Vol. 1.
+
+Most of the remaining ones are phantasy.
+
+`ethiopic.sfm' is the one used by the `Agafari', `Goha', and `GohaClassic' fonts.
+
+`def.sfm' is the default one, used by the kernel on boot (codepage 437).
+
+`cp437.sfm' is basically quite similar with `def.sfm', but has some
+approximations defined, and a few mappings are a bit different.
diff --git a/doc/fonts/README b/doc/fonts/README
new file mode 100644
index 0000000..ceac46f
--- /dev/null
+++ b/doc/fonts/README
@@ -0,0 +1,75 @@
+Fragment of the "readme" file in Joel Hoffman's codepage.tar.Z
+==============================================================
+
+File readme. June 14, 1992.
+
+...
+I have included two sample fonts, one written by myself and the other
+by Dimitri Vulis (dlv@cunyvms1.BITNET). Both are in the public
+domain. My font, 972.cp, is a Hebrew font. The other is 880.cp, a
+Cyrilic font (Russian etc.).
+
+The Hebrew font uses the same encoding scheme as the VT-100's in
+Israel, so any software that works on those will now run on Linux
+(e.g., my hebrew.el package for GNU Emacs).
+
+I'm told 880.cp follows the relevent Russian standard, so I suppose it
+does.
+
+This package, while (c) 1992 by Joel M. Hoffman, can be used as freely
+as any other part of Linux.
+
+Files:
+ 972.cp Font data for 25-line Hebrew font.
+ 880.cp Font data for Cyrilic font.
+
+===========================================================
+
+Elsewhere I found fonts 880-14.psf, 880-16.psf, 972-14.psf, 972-16.psf,
+but these turn out to come from 880.cp and 972.cp, and since setfont
+now also understands *.cp files I deleted the four abovementioned fonts.
+
+===========================================================
+
+H. Peter Anvin writes:
+...
+I developed the Latin-1 *.psf fonts; Pavel Zaboj did the Latin-2
+ones. SLS took them directly from Pavel's national package.
+A DOS-hosted PSF font editor is available on eecs.nwu.edu.
+
+Daniel Quinlan sent a new version of lat1-16.psf due to hpa and him.
+
+Primoz Peterlin <peterlin@biofiz.mf.uni-lj.si> corrected lat2-??.psf.
+
+===========================================================
+
+The font default8x16 is from my hardware.
+Bruno Haible contributed def2_8x16.
+
+The fonts iso*.* are due to Kosta Kostis (kosta@blues.sub.de)
+and were obtained from
+ftp.uni-erlangen.de:pub/doc/ISO/charset/isofont101.tar.gz
+
+The fonts gr.* are due to Sarantos Kapidakis (sarantos@ics.forth.gr).
+He writes: "I am sending you the greek fonts, for 8x14 and 8x16.
+They follow the ELOT928 standard."
+
+Paul Gortmaker (paul@rasty.anu.edu.au) contributed ugly_l
+(which I removed again because now it can be found as 8x16alt
+in his collection of fonts kbd_fonts.tar.gz obtainable from
+sunsite.unc.edu:/pub/Linux/system/Keyboards/ and from
+tsx-11.mit.edu:/pub/linux/sources/system/ ).
+
+Some more fonts can be found in
+sunsite.unc.edu:/pub/Linux/system/Keyboards/fontpack.tgz
+
+Raul D. Miller (rockwell@nova.umd.edu) made aply16.psf.
+Angelos Karageorgiou (angelos@netaxis.com) contributed gr*.psf.
+Ahmed Naas (ahmed@oea.xs4all.nl) contributed 16[1-5].cp.
+Daniel Yacob contributed the Ethiopic fonts (see README.Ethiopic).
+Ricardas Cepas (rch@pub.osf.lt) contributed LatArCyrHeb-*.psf
+and the lat4* fonts.
+==============================================================
+
+aeb@cwi.nl
+
diff --git a/doc/fonts/README.Arabic b/doc/fonts/README.Arabic
new file mode 100644
index 0000000..1f854b9
--- /dev/null
+++ b/doc/fonts/README.Arabic
@@ -0,0 +1,8 @@
+Arabic fonts:
+
+iso06.* follows ISO 8859-6 (but does not contain the Arabic digits).
+ Only the isolated shapes are given.
+
+N.cp, N=161,162,163,164,165 - MS/DOS code pages with Arabic letters,
+ some line-drawing symbols, and some accented Latin characters.
+
diff --git a/doc/fonts/README.Cyrillic b/doc/fonts/README.Cyrillic
new file mode 100644
index 0000000..32a353d
--- /dev/null
+++ b/doc/fonts/README.Cyrillic
@@ -0,0 +1,49 @@
+Cyrillic fonts:
+
+Type A. Alt
+
+[Reference: codepage 866 (as given in Unicode 1.0, Vol 2, Appendix C).]
+The Alt fonts have the Cyrillic letters in the ranges
+0200-0237: capitals, 0240-0257,0340-0357: lower case,
+0360-0367: some additional letters.
+
+Here we have the alt* fonts (except that the positions 0362-0367 do not
+carry upper and lower case e, yi, short u).
+However, altc has some additional slavic characters
+(and fewer line drawing characters).
+
+Cyr_a8xN follows cp866 in the positions 0200-0257 and
+0340-0357. This means that upper and lower case io
+(cp866 codes 0360, 0361) are also missing.
+
+
+Type B. Koi8
+
+[Reference: RFC 1489]
+
+The koi8* fonts are the koi8 equivalents of the alt*
+fonts above; in particular, koi8c-8x16 also has
+additional slavic characters.
+
+koi8-14.psf follows koi8 in the positions 0300-0377
+(and has some iso-8859-5 symbols in 0240-0277,
+and yat, fita, izhitsa in 0200-0202, 0220-0222).
+In particular, it does not have the io and IO at
+0243, 0263.
+
+
+Type C. ISO 8859-5
+
+iso05.fN precisely follows iso-8859-5 in all positions
+where that norm defines a symbol.
+It has no symbols in the range 0200-0237.
+
+880.cp follows iso-8859-5 in the positions 0240-0377
+except that the four symbols 0244, 0364, 0371, 0372
+[Ukrainian Cyrillic letter ie (upper and lower case),
+and Cyrillic small letter lje, nje] are missing.
+It has a few old Russian symbols in the range 0200-0202,
+0220-222 (yat, fita, izhitsa).
+Thus, in spite of its name it has very little to do
+with the ibm cp880 (as described in GNU recode).
+
diff --git a/doc/fonts/README.Ethiopic b/doc/fonts/README.Ethiopic
new file mode 100644
index 0000000..7502722
--- /dev/null
+++ b/doc/fonts/README.Ethiopic
@@ -0,0 +1,30 @@
+Ethiopic fonts:
+
+ o All fonts contain 353 Ethiopic characters which extends the Unicode
+ specification by 7 characters (extras are relegated to the private use
+ range).
+
+ o Contain their own Unicode mapping table corresponding to "ethiopic.uni"
+ which should be in your "consoletrans" directory.
+
+ o Sizes 14 & 16 are prefixed by 159 Latin characters from iso01.f14 &
+ iso01.f16. Size 12 fonts borrow Latin characters from lat1-12.psf.
+
+ o Are redistributable under the GNU GPL version 2.0; with noted
+ restrictions below:
+
+
+Agafari:
+ Donated by the Ethiopian Science and Technology Commission
+ <ncic@padis.gn.apc.org> or <ncic@telecom.net.et> and may be redistributed
+ for non-commercial use under Unix environments only.
+
+Goha and GohaClassic:
+ Donated by Yitna Firdyiwek <ybf2u@virgina.edu> of GohaTibeb Associates
+ and may be redistributed without restriction under the GNU GPL 2.0.
+
+
+The collection in this directory donated for Linux distributions is otherwise
+maintained by Daniel Yacob <Daniel_Yacob_at_UNECA@un.org> and
+<yacob@padis.gn.apc.org>.
+
diff --git a/doc/fonts/README.Greek b/doc/fonts/README.Greek
new file mode 100644
index 0000000..85aab8e
--- /dev/null
+++ b/doc/fonts/README.Greek
@@ -0,0 +1,8 @@
+Greek fonts:
+
+iso07.* follows ISO 8859-7.
+
+737.cp - the MS/DOS code page 737.
+
+greek.psf and the files gr8x*.psf are very similar, but replace
+ I-diaeresis, Y-diaeresis by integral (upper and lower half).
diff --git a/doc/fonts/README.Hebrew b/doc/fonts/README.Hebrew
new file mode 100644
index 0000000..6cb71f2
--- /dev/null
+++ b/doc/fonts/README.Hebrew
@@ -0,0 +1,6 @@
+Hebrew fonts:
+
+iso08.* follows ISO 8859-8.
+
+972.cp has the Hebrew letters in the same positions, and adds
+ the (isolated) vowels.
diff --git a/doc/fonts/README.Sun b/doc/fonts/README.Sun
new file mode 100644
index 0000000..568969f
--- /dev/null
+++ b/doc/fonts/README.Sun
@@ -0,0 +1,23 @@
+Sun fonts:
+==============
+lat0-sun16.psf
+lat2-sun16.psf
+
+these are fonts which have uniform look and feel compatible with the builtin
+sun font all sparclinux boxes used to have from beginning (currently it is
+font_sun8x16 in fbcon), but add characters for latin0, latin1 and latin2.
+lat0-sun16.psf contains all latin1, latin0 (like latin1, but contains Euro,
+z<, Z<, s<, S<, Y: instead of some useless characters), VT100 linedrawing
+characters and as many as possible CP850 characters, lat2-sun16.psf contains
+full latin2 character set, VT100 linedrawing and most of CP850 characters
+that fit in.
+To use these fonts, you should load the ACM mapping of your desired coding,
+e.g. iso01.acm for latin1, iso15.acm for latin0 with lat0-sun16.psf and
+iso02.acm or iso02+euro.acm (the latter is a hack which just replaces the
+useless currency symbol with Euro, I don't know if anybody is going to
+standardize some ISO character set with CE characters and Euro at the same
+time).
+The linedrawing characters are put into the range VGA displays should paint
+it correctly, so the font should be useful outside of sun boxes as well.
+
+ Jakub Jelinek <jj@ultra.linux.cz>
diff --git a/doc/fonts/fonts.magic b/doc/fonts/fonts.magic
new file mode 100644
index 0000000..ebcade6
--- /dev/null
+++ b/doc/fonts/fonts.magic
@@ -0,0 +1,54 @@
+#
+# PC Screen (console) Fonts
+#
+0 leshort 0x0436 Linux PC Screen Font data,
+>2 byte 0 256 characters, no Unicode map
+>2 byte 1 512 characters, no Unicode map
+>2 byte 2 256 characters, Unicode map
+>2 byte 3 512 characters, Unicode map
+
+#
+# CPI fonts
+#
+# MS-DOS
+1 string FONT\ \ \ MS-DOS Code Page Information,
+>23 uleshort x %u fonts
+
+>41 uleshort x (CP %u,
+>31 uleshort 1 screen
+>31 uleshort 2 printer
+# try to optimize display...
+>37 byte 32 driver
+>>33 string >\0 %.4s
+>37 byte >32 driver
+>>33 string >\0 %.8s
+
+>49 ulelong 0 )
+>49 ulelong >0 ; ...)
+
+# DR-DOS
+1 string DRFONT\ DR-DOS Code Page Information.
+
+#
+# CP fonts
+#
+6 string \001\000EGA\ \ \ \ \ CP font for Linux's setfont(1) (
+>0 leshort 28
+>>30 uleshort 3
+>>>32 uleshort 9746 maybe not
+>0 byte x unusable )
+
+6 string \001\000VIDEO\ \ \ CP font for Linux's setfont(1) (
+>0 leshort 28
+>>30 uleshort 3
+>>>32 uleshort 9746 maybe not
+>0 byte x unusable )
+
+#
+# XPSF fonts - this entry should not be inserted into /etc/magic yet.
+#
+0 leshort 0x0536 Linux Extended PC Screen Font data,
+>2 uleshort x file-format version %d,
+>4 uleshort x requires reader to understand at least version %d,
+>8 ulelong x %d characters,
+>12 uleshort x %d sections.
diff --git a/doc/keymaps/README b/doc/keymaps/README
new file mode 100644
index 0000000..06bc069
--- /dev/null
+++ b/doc/keymaps/README
@@ -0,0 +1,31 @@
+These maps are as contributed. Use at your own risk.
+(But please tell me if something is seriously wrong.)
+Mail corrections, improvements and new maps to:
+
+ <dirson@debian.org> for inclusion in the LCT package.
+ <aeb@cwi.nl> for inclusion in the original `kbd' package.
+
+-----
+
+Several corrections were pointed out by Tom.Kartes@Materna.DE.
+
+mk_modmap is a utility that might help synchronizing
+your keymaps for loadkeys and for xmodmap (but note that
+(since version 2.1 of XFree86) X initialises its keymap using
+the Linux keymap, so that xmodmap will often be superfluous).
+
+Since version 0.87, put a line `charset "iso-8859-x"' in front
+of a map, when you are using symbols outside iso-8859-1.
+
+Since version 0.88, put a line `keymaps 0-1,4-5,8,12' or so
+in front of a map, in order to indicate what keymaps should
+be used.
+
+hypermap.m4 was contributed by shields@tembel.org (Michael Shields).
+Use: m4 hypermap.m4 | loadkeys .
+
+Please, if you submit something that includes compose key
+combinations, uuencode the keymap, since SMTP-compliant
+mailers will strip the eighth bit.
+
+[originally written by Andries]
diff --git a/doc/keymaps/README.sparc b/doc/keymaps/README.sparc
new file mode 100644
index 0000000..42c1c20
--- /dev/null
+++ b/doc/keymaps/README.sparc
@@ -0,0 +1,117 @@
+
+1. SUPPORTED KEYBOARDS
+
+List of supported keyboards:
+
+Sun Type 5:
+ sunt5-es.kmap
+ sunt5-de-latin1.kmap (Contributed by Wolfgang Szöcs <wolfi@tfh-berlin.de>)
+ sunt5-fi-latin1.kmap ( by Riku Meskanen <mesrik@cc.jyu.fi>)
+ sunt5-ru.kmap ( by Alexander V. Lukyanov <lav@video.yars.free.net>)
+ sunt5-uk.kmap ( by Steven Brookes <stevejb@eos18.eos.co.uk>)
+
+Sun Type 4:
+ sunt4-es.kmap ( By Antoni Pàmies Olivé <toni@readysoft.net>)
+
+The other keymaps provided with this package are the original PC ones and are
+included just for reference when creating new ones.
+DO NOT TRY TO LOAD THEM. THEY WILL MAKE YOUR KEYBOARD COMPLETELY UNUSABLE.
+
+Don't forget to check that /etc/sysconfig/keyboard contains the right
+definition. The kbdconfig utility will do it for you. It should be found
+at the same place where you got this package as kbdconfig-1.3-1.sparc.rpm.
+
+Please, send new maps to <eduardo@medusa.es>, so I can include them in new
+releases of this package.
+
+
+
+2. HOW TO CREATE KEYBOARD MAPS
+
+NOTE: Please, send additions, comments and corrections (of ANY kind) to the
+ address above.
+
+2.1 The Hard Way (TM)
+
+ First, execute the dumpkeys command to create a first working keymap:
+
+ $ dumpkeys > sunt5-lang.kmap
+
+ Then, press every key to check if the console shows the symbol it is supposed
+ to. If not, search for the offending keycode into the sunt5-lang.kmap file and
+ change its keysyms to the real ones. (You can get the keycodes using showkey).
+
+ Please read the documentation accompanying this package and check the
+ sunt5-* and PC keymaps provided with this RPM (specially the ones for your
+ native language) if you have any doubt.
+
+2.2 The Easy Way
+
+ Choose one of the provided PC keymaps for your language and do the following:
+
+ $ pc2sun.pl lang.kmap > sunt5-lang.kmap
+
+ Check the file sunt5-lang.kmap as explained in 2.1.
+
+ (pc2sun.pl should work very well in most cases. For the Spanish keyboard,
+ only two keys were misplaced, due to some special characteristics of the
+ Spanish PC keyboard)
+
+
+
+3. CHANGELOG
+
+Release 0.94-1 (16 May 97)
+
+ * kbd-0.94. Andries Brouwer has included most of the SPARC specific code
+ in this version.
+
+Release 0.93-1 (27 Apr 97)
+
+ * Merged to Andries Brouwer's kbd-0.93
+
+ * Added sunt5-uk.kmap keymap.
+
+ * Small fix to sunt5-ru.kmap (Alexander V. Lukyanov)
+
+Release 0.91-12 (18 Jan 97)
+
+ * Added Antoni's sunt4-es.kmap
+
+Release 0.91-11 (13 Jan 97)
+
+ * WARNING WARNING WARNING
+ This was compiled by Antoni Pàmies Olivé <toni@readysoft.net> with a Type 4
+ keymap for Spanish and Catalan.
+
+ This release is NOT complete and won't install the init scripts, for
+ example.
+
+ I won't answer any question about it. Install Release 12 or higher or ask
+ Antoni directly if you have any problems with this one.
+
+Release 0.91-10 (12 Jan 97)
+
+ * Added pc2sun.pl (Thanks to Derrick J Brashear <shadow@dementia.org>)
+
+ * Replaced defkeymap.kmap with system's sunkeymap.kmap (Thanks to Riku Meskanen)
+
+ * Added sunt5-fi-latin1.kmap and sunt5-ru.kmap
+
+ * Improved README.sparc
+
+
+Release 0.91-9a (27 Oct 96)
+
+ * Fixed serious bug in setfont
+
+
+Release 0.91-9 (26 Oct 96)
+
+ * First version for Linux/SPARC with Spanish and German keyboards support.
+ (Same as RedHat kbd-0.91-9 for i386 with Sparc-specific patches)
+
+
+Eduardo Casino
+
+
diff --git a/doc/keymaps/hypermap.m4 b/doc/keymaps/hypermap.m4
new file mode 100644
index 0000000..8083c49
--- /dev/null
+++ b/doc/keymaps/hypermap.m4
@@ -0,0 +1,475 @@
+#
+# hypermap.map 1994/11/11
+# Michael Shields <shields@tembel.org>
+#
+# A keymap redesigned for sanity.
+#
+
+#
+# This keymap is a ground-up reimplementation of the keyboard map,
+# intended to be consistent and rational. It uses an m4 metalanguage to
+# declare the key mappings. Usage is `m4 hypermap.map | loadkeys'.
+#
+# The modifier flags used are `shift' (1), `control' (4), and `alt' (8).
+# Left and right modifiers are not distinguished.
+#
+# In general, Meta is always distinguished, and M-S-KEY is distinct from
+# M-KEY. This is good news for Emacs users. C-S-KEY is consistently
+# folded into C-KEY.
+#
+# Shift is more loosely interpreted than the other modifiers; usually if
+# S-KEY has no special meaning, the action will be the same as KEY.
+# However, if M-KEY or H-KEY is undefined, nothing happens.
+#
+# Because Caps Lock's position is so out of proportion to its utility,
+# it's been totally redefined to a new sort of modifier, which I've
+# arbitrarily named `Hyper'. Shift is ignored with Hyper. Hyper
+# provides dead keys:
+# H-` dead accent grave
+# H-' dead acute accent
+# H-^ dead circumflex
+# H-t dead tilde
+# H-d dead diaeresis
+# and ISO-8859-1 symbols (some more mnemonic than others):
+# H-SPC nobreakspace
+# H-! inverted bang
+# H-h cents (`hundredths')
+# H-# pounds sterling
+# H-$ currency
+# H-y yen
+# H-| broken bar
+# H-s section (the galaxy symbol)
+# H-c copyright
+# H-a feminine ordinal
+# H-< left guillemot
+# H-] not sign (it's angular)
+# H-- soft hyphen
+# H-r registered trademark symbol
+# H-= macron
+# H-0 degrees
+# H-[ plus/minus (near + and -)
+# H-k superior 2 (jkl form a series)
+# H-l superior 3
+# H-u mu
+# H-p pilcrow
+# H-: centered dot
+# H-j superior 1
+# H-o masculine ordinal
+# H-> right guillemot
+# H-q 1/4 fraction (qwe form a series)
+# H-w 1/2 fraction
+# H-e 3/4 fraction
+# H-? inverted question mark
+# H-x multiplication symbol
+# H-% division symbol
+# You can also use Hyper plus Alt to type characters by decimal code on
+# the keypad, as with Alt alone, or in hex on the main keyboard. And
+# H-TAB is a Caps Lock.
+#
+# Function keys work as marked, unless with Alt, in which case they
+# switch to the console with the same number. Shift adds 12 and Hyper
+# adds 24 to the numbers (i.e., they logically switch to other banks).
+# Thus you can easily address up to 48. Control is ignored, for
+# consistency with X.
+#
+# Finally, you can change the behavior of the Caps Lock and Controls
+# with m4 command-line options. The default values are equivalent to
+# `-DCAPSLOCK_K=Hyper -DLEFTCTRL_K=Control -DRIGHTCTRL_K=Control'. You
+# can remove the Hyper code entirely with `-DCAPSLOCK_K=Caps_Lock'.
+#
+# This file is arranged vaguely by key position on the classic PC layout.
+#
+
+
+dnl Set default values.
+ifdef(`CAPSLOCK_K', , `define(`CAPSLOCK_K', `Hyper')')
+ifdef(`LEFTCTRL_K', , `define(`LEFTCTRL_K', `Control')')
+ifdef(`RIGHTCTRL_K', , `define(`RIGHTCTRL_K', `Control')')
+
+dnl Figure out if any key is a Hyper key. If so, define `hyper', both
+dnl for usefulness and `ifdef' testability.
+ifelse(CAPSLOCK_K, `Hyper', `define(`hyper', `ctrlr')',
+ LEFTCTRL_K, `Hyper', `define(`hyper', `ctrlr')',
+ RIGHTCTRL_K, `Hyper', `define(`hyper', `ctrlr')')
+
+define(`Hyper', `CtrlR')
+
+
+keymaps 0,1,4,5,8,9,12,13`'ifdef(`hyper', `,128,129,132,133,136,137,140,141')
+
+
+dnl General usage of these macros is MACRO(KEYCODE, UNSHIFTED, SHIFTED).
+
+dnl We first undefine `shift', which only causes problems.
+undefine(`shift')
+
+define(`SIMPLE', `keycode $1 = $2 $2')
+
+define(`KEY',
+` keycode $1 = $2 VoidSymbol
+shift keycode $1 = $3
+ alt keycode $1 = Meta_$2
+shift alt keycode $1 = Meta_$3')
+
+dnl This macro adds Control variations to a key.
+define(`CONTROL',
+` control keycode $1 = $2
+shift control keycode $1 = $2
+ control alt keycode $1 = Meta_$2
+shift control alt keycode $1 = Meta_$2')
+
+dnl Add Hyper variations to a key.
+define(`HYPER', ifdef(`hyper',
+` hyper keycode $1 = $2
+shift hyper keycode $1 = $2'))
+define(`CONTROLHYPER', ifdef(`hyper',
+` control hyper keycode $1 = $2
+shift control hyper keycode $1 = $2'))
+define(`METAHYPER', ifdef(`hyper',
+` alt hyper keycode $1 = $2
+shift alt hyper keycode $1 = $2'))
+define(`CONTROLMETAHYPER', ifdef(`hyper', dnl Ludicrous.
+` control alt hyper keycode $1 = $2
+shift control alt hyper keycode $1 = $2'))
+
+dnl Special case for letters. Best to be explicit.
+define(`LETTER',
+` keycode $1 = `+'$2 VoidSymbol
+shift keycode $1 = `+'translit($2, `a-z', `A-Z')
+ alt keycode $1 = `Meta_'$2
+shift alt keycode $1 = `Meta_'translit($2, `a-z', `A-Z')
+CONTROL($1, Control_$2)')
+
+dnl For function keys. Call here is FUNCTION(KEYCODE, FKEYNUM).
+define(`BANKSIZE', 12)
+define(`FUNCTION',
+` keycode $1 = `F'$2 VoidSymbol
+shift keycode $1 = `F'eval($2 + BANKSIZE)
+ hyper keycode $1 = `F'eval($2 + BANKSIZE * 2)
+shift hyper keycode $1 = `F'eval($2 + BANKSIZE * 3)
+ alt keycode $1 = `Console_'$2
+shift alt keycode $1 = `Console_'eval($2 + BANKSIZE)
+ hyper alt keycode $1 = `Console_'eval($2 + BANKSIZE * 2)
+shift hyper alt keycode $1 = `Console_'eval($2 + BANKSIZE * 3)')
+
+dnl For the keypad digits. KPDIGIT(KEYCODE, DIGIT).
+define(`KPDIGIT',
+` keycode $1 = KP_$2 VoidSymbol
+shift keycode $1 = KP_$2
+ alt keycode $1 = Ascii_$2
+shift alt keycode $1 = Ascii_$2
+METAHYPER($1, Ascii_$2)')
+
+dnl And a special approximation:
+define(`Meta_Return', `Meta_Control_m')
+
+
+KEY(1, Escape, Escape)
+
+FUNCTION(59, 1)
+FUNCTION(60, 2)
+FUNCTION(61, 3)
+FUNCTION(62, 4)
+FUNCTION(63, 5)
+FUNCTION(64, 6)
+FUNCTION(65, 7)
+FUNCTION(66, 8)
+FUNCTION(67, 9)
+FUNCTION(68, 10)
+FUNCTION(87, 11)
+FUNCTION(88, 12)
+
+KEY(2, one, exclam)
+ HYPER(2, exclamdown)
+ METAHYPER(2, Hex_1)
+KEY(3, two, at)
+ CONTROL(3, nul)
+ METAHYPER(3, Hex_2)
+KEY(4, three, numbersign)
+ HYPER(4, pound)
+ METAHYPER(4, Hex_3)
+KEY(5, four, dollar)
+ HYPER(5, currency)
+ METAHYPER(5, Hex_4)
+KEY(6, five, percent)
+ HYPER(6, division)
+ METAHYPER(6, Hex_5)
+KEY(7, six, asciicircum)
+ CONTROL(7, Control_asciicircum)
+ HYPER(7, dead_circumflex)
+ METAHYPER(7, Hex_6)
+KEY(8, seven, ampersand)
+ METAHYPER(8, Hex_7)
+KEY(9, eight, asterisk)
+ METAHYPER(9, Hex_8)
+KEY(10, nine, parenleft)
+ METAHYPER(10, Hex_9)
+KEY(11, zero, parenright)
+ HYPER(11, degree)
+ METAHYPER(11, Hex_0)
+KEY(12, minus, underscore)
+ CONTROL(12, Control_underscore)
+ HYPER(12, hyphen)
+KEY(13, equal, plus)
+ HYPER(13, macron)
+KEY(14, Delete, Delete)
+ CONTROL(14, BackSpace)
+
+KEY(15, Tab, Tab)
+ HYPER(15, Caps_Lock)
+LETTER(16, q)
+ HYPER(16, onequarter)
+LETTER(17, w)
+ HYPER(17, onehalf)
+LETTER(18, e)
+ HYPER(18, threequarters)
+ METAHYPER(18, Hex_E)
+LETTER(19, r)
+ HYPER(19, registered)
+LETTER(20, t)
+ HYPER(20, dead_tilde)
+LETTER(21, y)
+ HYPER(21, yen)
+LETTER(22, u)
+ HYPER(22, mu)
+LETTER(23, i)
+LETTER(24, o)
+ HYPER(24, masculine)
+LETTER(25, p)
+ HYPER(25, 182) # pilcrow
+KEY(26, bracketleft, braceleft)
+ CONTROL(26, Escape)
+ HYPER(26, plusminus)
+KEY(27, bracketright, braceright)
+ CONTROL(27, Control_bracketright)
+ HYPER(27, notsign)
+
+KEY(28, Return, Return)
+
+LETTER(30, a)
+ HYPER(30, ordfeminine)
+ METAHYPER(30, Hex_A)
+LETTER(31, s)
+ HYPER(31, section)
+LETTER(32, d)
+ HYPER(32, dead_diaeresis)
+ METAHYPER(32, Hex_D)
+LETTER(33, f)
+ METAHYPER(33, Hex_F)
+LETTER(34, g)
+LETTER(35, h)
+ HYPER(35, cent)
+LETTER(36, j)
+ HYPER(36, onesuperior)
+LETTER(37, k)
+ HYPER(37, twosuperior)
+LETTER(38, l)
+ HYPER(38, threesuperior)
+KEY(39, semicolon, colon)
+ HYPER(39, periodcentered)
+KEY(40, apostrophe, quotedbl)
+ HYPER(40, dead_acute)
+KEY(41, grave, asciitilde)
+ HYPER(41, dead_grave)
+
+KEY(43, backslash, bar)
+ CONTROL(43, Control_backslash)
+ HYPER(43, brokenbar)
+LETTER(44, z)
+LETTER(45, x)
+ HYPER(45, multiplication)
+LETTER(46, c)
+ HYPER(46, copyright)
+ METAHYPER(46, Hex_C)
+LETTER(47, v)
+LETTER(48, b)
+ METAHYPER(48, Hex_B)
+LETTER(49, n)
+LETTER(50, m)
+KEY(51, comma, less)
+ HYPER(51, guillemotleft)
+KEY(52, period, greater)
+ HYPER(52, guillemotright)
+KEY(53, slash, question)
+ HYPER(53, questiondown)
+
+KEY(57, space, space)
+ CONTROL(57, nul)
+ HYPER(57, nobreakspace)
+
+KPDIGIT(71, 7)
+KPDIGIT(72, 8)
+KPDIGIT(73, 9)
+SIMPLE(74, KP_Subtract)
+KPDIGIT(75, 4)
+KPDIGIT(76, 5)
+KPDIGIT(77, 6)
+SIMPLE(78, KP_Add)
+KPDIGIT(79, 1)
+KPDIGIT(80, 2)
+KPDIGIT(81, 3)
+KPDIGIT(82, 0)
+SIMPLE(83, KP_Period)
+SIMPLE(96, KP_Enter)
+SIMPLE(98, KP_Divide)
+SIMPLE(55, KP_Multiply)
+SIMPLE(118, KP_MinPlus)
+
+# Modifiers.
+keycode 42 = Shift
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 100 = Alt
+keycode 58 = CAPSLOCK_K
+keycode 29 = LEFTCTRL_K
+keycode 97 = RIGHTCTRL_K
+
+# Everyone needs a compose key. This is C-..
+control keycode 52 = Compose
+
+SIMPLE(69, Num_Lock)
+
+keycode 70 = Scroll_Lock
+ shift keycode 70 = Show_Memory
+ control keycode 70 = Show_State
+ alt keycode 70 = Show_Registers
+
+# SysRq. I suppose there's some reason it's ^\.
+SIMPLE(99, Control_backslash)
+
+SIMPLE(119, Pause)
+# Ctrl-Break seems to have low-level hardware behind it.
+SIMPLE(101, Break)
+
+SIMPLE(110, Insert)
+SIMPLE(102, Find)
+keycode 104 = Prior Scroll_Backward
+SIMPLE(111, Remove)
+SIMPLE(107, Select)
+keycode 109 = Next Scroll_Forward
+
+SIMPLE(103, Up)
+SIMPLE(105, Left)
+alt keycode 105 = Decr_Console
+SIMPLE(106, Right)
+alt keycode 106 = Incr_Console
+SIMPLE(108, Down)
+
+control alt keycode 83 = Boot
+control alt keycode 111 = Boot
+
+
+# Stock VT102 string definitions.
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+
+# Stock ISO-8859-1 compositions.
+changequote()dnl
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose '"' 'y' to 'ÿ'
+compose 's' 'z' to 'ß'
+compose 'i' 'j' to 'ÿ'
+
+# ISO-8859-3 compositions for Esperanto.
+compose 'C' 'x' to 'Æ' #198
+compose 'G' 'x' to 'Ø' #216
+compose 'H' 'x' to '¦' #166
+compose 'J' 'x' to '¬' #172
+compose 'S' 'x' to 'Þ' #222
+compose 'U' 'x' to 'Ý' #221
+compose 'c' 'x' to 'æ' #230
+compose 'g' 'x' to 'ø' #248
+compose 'h' 'x' to '¶' #182
+compose 'j' 'x' to '¼' #188
+compose 's' 'x' to 'þ' #254
+compose 'u' 'x' to 'ý' #253
diff --git a/doc/keymaps/no-latin1.doc b/doc/keymaps/no-latin1.doc
new file mode 100644
index 0000000..337d718
--- /dev/null
+++ b/doc/keymaps/no-latin1.doc
@@ -0,0 +1,50 @@
+/usr/lib/kbd/keymaps/i386/qwerty/no-latin1.map
+
+This generally conforms to the keycaps on my keyboard.
+I have deviated a little to make it more useful in a Unix
+environment, e.g. the tilde is not "hidden away" and dead.
+
+Here's a list of the dead keys:
+
+ ----
+ |$¼| dollar and currency
+ |4¤| have switched places
+ ----
+
+ ---- --------------------------
+ |``| added dead grave: | backtick | dead grave |
+ |\'| | backslash | dead acute |
+ ---- --------------------------
+
+ ---- --------------------------
+ |^~| moved dead | caret | dead tilde |
+ |~¨| diaeresis: | tilde | dead diaeresis |
+ ---- --------------------------
+
+ ---- --------------------------------
+ |*×| added dead | asterisk | multiply |
+ |'^| circumflex: | apostrophe | dead circumflex |
+ ---- --------------------------------
+
+In addition special characters have been added to the alphanumerics
+when it seemed natural:
+
+ §¶ !¹ "² #³ $¼ %½ &¾ /÷ ( ) = ?¿ ``
+ |¦ 1¡ 2@ 3£ 4¤ 5½ 6¾ 7{ 8[ 9] 0} +± \'
+
+ Q W EÉ R TÞ Y UÜ IÏ OÒ P Å] ^~
+ q w eé r® tþ yÿ uü iï oò p¶ å} ~¨
+
+ AÁ S DÐ Fª G H J K L Ø\ Æ[ *×
+ aá sß dð fª g h j k l ø| æ{ '^
+
+ >» Z X C© V B NÑ Mº ;« :» _
+ <« z x× cç v b nñ mµ ,¸ .· -­
+
+ Space NoBreakSpace
+ Space NoBreakSpace
+
+Send comments to Kjetil T. Homme <kjetilho@ifi.uio.no>
+
+[ These characters can not be typed directly with the keyboard:
+ cent notsign macron degree acute(bug) diaeresis(bug) Ccedilla ]
diff --git a/doc/keymaps/se.readme b/doc/keymaps/se.readme
new file mode 100644
index 0000000..e1a888f
--- /dev/null
+++ b/doc/keymaps/se.readme
@@ -0,0 +1,2 @@
+The swedish maps are identical to the finnish ones.
+Use fi*.map.
diff --git a/install-sh b/install-sh
new file mode 100755
index 0000000..e9de238
--- /dev/null
+++ b/install-sh
@@ -0,0 +1,251 @@
+#!/bin/sh
+#
+# install - install a program, script, or datafile
+# This comes from X11R5 (mit/util/scripts/install.sh).
+#
+# Copyright 1991 by the Massachusetts Institute of Technology
+#
+# Permission to use, copy, modify, distribute, and sell this software and its
+# documentation for any purpose is hereby granted without fee, provided that
+# the above copyright notice appear in all copies and that both that
+# copyright notice and this permission notice appear in supporting
+# documentation, and that the name of M.I.T. not be used in advertising or
+# publicity pertaining to distribution of the software without specific,
+# written prior permission. M.I.T. makes no representations about the
+# suitability of this software for any purpose. It is provided "as is"
+# without express or implied warranty.
+#
+# Calling this script install-sh is preferred over install.sh, to prevent
+# `make' implicit rules from creating a file called install from it
+# when there is no Makefile.
+#
+# This script is compatible with the BSD install script, but was written
+# from scratch. It can only install one file at a time, a restriction
+# shared with many OS's install programs.
+
+
+# set DOITPROG to echo to test this script
+
+# Don't use :- since 4.3BSD and earlier shells don't like it.
+doit="${DOITPROG-}"
+
+
+# put in absolute paths if you don't have them in your path; or use env. vars.
+
+mvprog="${MVPROG-mv}"
+cpprog="${CPPROG-cp}"
+chmodprog="${CHMODPROG-chmod}"
+chownprog="${CHOWNPROG-chown}"
+chgrpprog="${CHGRPPROG-chgrp}"
+stripprog="${STRIPPROG-strip}"
+rmprog="${RMPROG-rm}"
+mkdirprog="${MKDIRPROG-mkdir}"
+
+transformbasename=""
+transform_arg=""
+instcmd="$mvprog"
+chmodcmd="$chmodprog 0755"
+chowncmd=""
+chgrpcmd=""
+stripcmd=""
+rmcmd="$rmprog -f"
+mvcmd="$mvprog"
+src=""
+dst=""
+dir_arg=""
+
+while [ x"$1" != x ]; do
+ case $1 in
+ -c) instcmd="$cpprog"
+ shift
+ continue;;
+
+ -d) dir_arg=true
+ shift
+ continue;;
+
+ -m) chmodcmd="$chmodprog $2"
+ shift
+ shift
+ continue;;
+
+ -o) chowncmd="$chownprog $2"
+ shift
+ shift
+ continue;;
+
+ -g) chgrpcmd="$chgrpprog $2"
+ shift
+ shift
+ continue;;
+
+ -s) stripcmd="$stripprog"
+ shift
+ continue;;
+
+ -t=*) transformarg=`echo $1 | sed 's/-t=//'`
+ shift
+ continue;;
+
+ -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
+ shift
+ continue;;
+
+ *) if [ x"$src" = x ]
+ then
+ src=$1
+ else
+ # this colon is to work around a 386BSD /bin/sh bug
+ :
+ dst=$1
+ fi
+ shift
+ continue;;
+ esac
+done
+
+if [ x"$src" = x ]
+then
+ echo "install: no input file specified"
+ exit 1
+else
+ true
+fi
+
+if [ x"$dir_arg" != x ]; then
+ dst=$src
+ src=""
+
+ if [ -d $dst ]; then
+ instcmd=:
+ chmodcmd=""
+ else
+ instcmd=mkdir
+ fi
+else
+
+# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
+# might cause directories to be created, which would be especially bad
+# if $src (and thus $dsttmp) contains '*'.
+
+ if [ -f $src -o -d $src ]
+ then
+ true
+ else
+ echo "install: $src does not exist"
+ exit 1
+ fi
+
+ if [ x"$dst" = x ]
+ then
+ echo "install: no destination specified"
+ exit 1
+ else
+ true
+ fi
+
+# If destination is a directory, append the input filename; if your system
+# does not like double slashes in filenames, you may need to add some logic
+
+ if [ -d $dst ]
+ then
+ dst="$dst"/`basename $src`
+ else
+ true
+ fi
+fi
+
+## this sed command emulates the dirname command
+dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
+
+# Make sure that the destination directory exists.
+# this part is taken from Noah Friedman's mkinstalldirs script
+
+# Skip lots of stat calls in the usual case.
+if [ ! -d "$dstdir" ]; then
+defaultIFS='
+'
+IFS="${IFS-${defaultIFS}}"
+
+oIFS="${IFS}"
+# Some sh's can't handle IFS=/ for some reason.
+IFS='%'
+set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
+IFS="${oIFS}"
+
+pathcomp=''
+
+while [ $# -ne 0 ] ; do
+ pathcomp="${pathcomp}${1}"
+ shift
+
+ if [ ! -d "${pathcomp}" ] ;
+ then
+ $mkdirprog "${pathcomp}"
+ else
+ true
+ fi
+
+ pathcomp="${pathcomp}/"
+done
+fi
+
+if [ x"$dir_arg" != x ]
+then
+ $doit $instcmd $dst &&
+
+ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
+ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
+ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
+ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
+else
+
+# If we're going to rename the final executable, determine the name now.
+
+ if [ x"$transformarg" = x ]
+ then
+ dstfile=`basename $dst`
+ else
+ dstfile=`basename $dst $transformbasename |
+ sed $transformarg`$transformbasename
+ fi
+
+# don't allow the sed command to completely eliminate the filename
+
+ if [ x"$dstfile" = x ]
+ then
+ dstfile=`basename $dst`
+ else
+ true
+ fi
+
+# Make a temp file name in the proper directory.
+
+ dsttmp=$dstdir/#inst.$$#
+
+# Move or copy the file name to the temp name
+
+ $doit $instcmd $src $dsttmp &&
+
+ trap "rm -f ${dsttmp}" 0 &&
+
+# and set any options; do chmod last to preserve setuid bits
+
+# If any of these fail, we abort the whole thing. If we want to
+# ignore errors from any of these, just make sure not to ignore
+# errors from the above "$doit $instcmd $src $dsttmp" command.
+
+ if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
+ if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
+ if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
+ if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
+
+# Now rename the file to the real destination.
+
+ $doit $rmcmd -f $dstdir/$dstfile &&
+ $doit $mvcmd $dsttmp $dstdir/$dstfile
+
+fi &&
+
+
+exit 0
diff --git a/keymaps/Makefile.am b/keymaps/Makefile.am
new file mode 100644
index 0000000..aa9dbc4
--- /dev/null
+++ b/keymaps/Makefile.am
@@ -0,0 +1,49 @@
+# -*- makefile -*-
+
+AUTOMAKE_OPTIONS = foreign
+
+include $(top_builddir)/Make.rules
+
+CLEANFILES = $(KMAP_FILES:=.$(COMPRESSOR_EXT))
+
+#pkgdata_DATA = $(Z_KMAP_FILES)
+noinst_DATA = $(Z_KMAP_FILES)
+
+#EXTRA_DIST = $(KMAP_FILES)
+
+pkgdatadir = $(datadir)/$(KEYMAPDIR)
+
+KMAP_DIRS = i386/qwertz i386/fgGIod i386/qwerty \
+ i386/dvorak i386/azerty atari sun amiga mac
+
+INC_DIRS = i386/include include
+
+ALL_KDIRS = $(KMAP_DIRS) $(INC_DIRS)
+
+KMAP_FILES = \
+ $(patsubst $(srcdir)/%,%,$(wildcard $(patsubst %,$(srcdir)/%/*.kmap,$(KMAP_DIRS)))) \
+ $(patsubst $(srcdir)/%,%,$(wildcard $(patsubst %,$(srcdir)/%/*.inc,$(INC_DIRS))))
+
+Z_KMAP_FILES = $(KMAP_FILES:=.$(COMPRESSOR_EXT))
+
+VPATH=$(srcdir):$(subst ,:, $(patsubst %,$(srcdir)/%,$(ALL_KDIRS)))
+
+all: $(Z_KMAP_FILES)
+
+install-data-local: all
+ $(mkinstalldirs) $(patsubst %,$(DESTDIR)$(pkgdatadir)/%,$(ALL_KDIRS))
+ for f in $(KMAP_FILES:=.$(COMPRESSOR_EXT)) ; do \
+ $(INSTALL_DATA) $$f $(DESTDIR)$(pkgdatadir)/$$(dirname $$f) ; \
+ done
+
+uninstall-local:
+ for f in $(KMAP_FILES:=.$(COMPRESSOR_EXT)) ; do \
+ rm -f $(DESTDIR)$(pkgdatadir)/$$f ; \
+ done
+ -rmdir -p $(patsubst %,$(DESTDIR)$(pkgdatadir)/%,$(ALL_KDIRS)) 2>/dev/null
+
+dist-hook:
+ for f in $(KMAP_FILES) ; do \
+ $(mkinstalldirs) $(distdir)/$$(dirname $$f) ; \
+ $(INSTALL_DATA) $(srcdir)/$$f $(distdir)/$$(dirname $$f) ; \
+ done
diff --git a/keymaps/Makefile.in b/keymaps/Makefile.in
new file mode 100644
index 0000000..ca71b3e
--- /dev/null
+++ b/keymaps/Makefile.in
@@ -0,0 +1,234 @@
+# Makefile.in generated automatically by automake 1.4-p6 from Makefile.am
+
+# Copyright (C) 1994, 1995-8, 1999, 2001 Free Software Foundation, Inc.
+# This Makefile.in is free software; the Free Software Foundation
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
+
+# -*- makefile -*-
+
+
+SHELL = @SHELL@
+
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+prefix = @prefix@
+exec_prefix = @exec_prefix@
+
+bindir = @bindir@
+sbindir = @sbindir@
+libexecdir = @libexecdir@
+datadir = @datadir@
+sysconfdir = @sysconfdir@
+sharedstatedir = @sharedstatedir@
+localstatedir = @localstatedir@
+libdir = @libdir@
+infodir = @infodir@
+mandir = @mandir@
+includedir = @includedir@
+oldincludedir = /usr/include
+
+DESTDIR =
+pkglibdir = $(libdir)/@PACKAGE@
+pkgincludedir = $(includedir)/@PACKAGE@
+
+top_builddir = ..
+
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@ $(AM_INSTALL_PROGRAM_FLAGS)
+INSTALL_DATA = @INSTALL_DATA@
+INSTALL_SCRIPT = @INSTALL_SCRIPT@
+transform = @program_transform_name@
+
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+host_alias = @host_alias@
+host_triplet = @host@
+AMTAR = @AMTAR@
+AWK = @AWK@
+CC = @CC@
+COMPRESSOR_EXT = @COMPRESSOR_EXT@
+COMPRESSOR_OPTS = @COMPRESSOR_OPTS@
+CXX = @CXX@
+CYGPATH_W = @CYGPATH_W@
+FONTDIR = @FONTDIR@
+INSTALL_STRIP_PROGRAM = @INSTALL_STRIP_PROGRAM@
+KEYMAPDIR = @KEYMAPDIR@
+MAKEINFO = @MAKEINFO@
+OLDKEYMAPDIR = @OLDKEYMAPDIR@
+PACKAGE = @PACKAGE@
+STRIP = @STRIP@
+TRANSDIR = @TRANSDIR@
+VERSION = @VERSION@
+VIDEOMODEDIR = @VIDEOMODEDIR@
+am__leading_dot = @am__leading_dot@
+am__tar = @am__tar@
+am__untar = @am__untar@
+install_sh = @install_sh@
+mkdir_p = @mkdir_p@
+
+AUTOMAKE_OPTIONS = foreign
+
+CLEANFILES = $(KMAP_FILES:=.$(COMPRESSOR_EXT))
+
+#pkgdata_DATA = $(Z_KMAP_FILES)
+noinst_DATA = $(Z_KMAP_FILES)
+
+#EXTRA_DIST = $(KMAP_FILES)
+
+pkgdatadir = $(datadir)/$(KEYMAPDIR)
+
+KMAP_DIRS = i386/qwertz i386/fgGIod i386/qwerty i386/dvorak i386/azerty atari sun amiga mac
+
+
+INC_DIRS = i386/include include
+
+ALL_KDIRS = $(KMAP_DIRS) $(INC_DIRS)
+
+KMAP_FILES = $(patsubst $(srcdir)/%,%,$(wildcard $(patsubst %,$(srcdir)/%/*.kmap,$(KMAP_DIRS)))) $(patsubst $(srcdir)/%,%,$(wildcard $(patsubst %,$(srcdir)/%/*.inc,$(INC_DIRS))))
+
+
+Z_KMAP_FILES = $(KMAP_FILES:=.$(COMPRESSOR_EXT))
+
+VPATH = $(srcdir):$(subst ,:, $(patsubst %,$(srcdir)/%,$(ALL_KDIRS)))
+mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
+CONFIG_CLEAN_FILES =
+DATA = $(noinst_DATA)
+
+DIST_COMMON = README Makefile.am Makefile.in
+
+
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
+
+TAR = tar
+GZIP_ENV = --best
+all: all-redirect
+.SUFFIXES:
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --foreign --include-deps keymaps/Makefile
+
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
+
+tags: TAGS
+TAGS:
+
+
+distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+
+subdir = keymaps
+
+distdir: $(DISTFILES)
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
+ if test -d $$d/$$file; then \
+ cp -pr $$d/$$file $(distdir)/$$file; \
+ else \
+ test -f $(distdir)/$$file \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file || :; \
+ fi; \
+ done
+ $(MAKE) $(AM_MAKEFLAGS) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-hook
+info-am:
+info: info-am
+dvi-am:
+dvi: dvi-am
+check-am: all-am
+check: check-am
+installcheck-am:
+installcheck: installcheck-am
+install-exec-am:
+install-exec: install-exec-am
+
+install-data-am: install-data-local
+install-data: install-data-am
+
+install-am: all-am
+ @$(MAKE) $(AM_MAKEFLAGS) install-exec-am install-data-am
+install: install-am
+uninstall-am: uninstall-local
+uninstall: uninstall-am
+all-am: Makefile $(DATA)
+all-redirect: all-am
+install-strip:
+ $(MAKE) $(AM_MAKEFLAGS) AM_INSTALL_PROGRAM_FLAGS=-s install
+installdirs:
+
+
+mostlyclean-generic:
+
+clean-generic:
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+
+distclean-generic:
+ -rm -f Makefile $(CONFIG_CLEAN_FILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+
+maintainer-clean-generic:
+mostlyclean-am: mostlyclean-generic
+
+mostlyclean: mostlyclean-am
+
+clean-am: clean-generic mostlyclean-am
+
+clean: clean-am
+
+distclean-am: distclean-generic clean-am
+
+distclean: distclean-am
+
+maintainer-clean-am: maintainer-clean-generic distclean-am
+ @echo "This command is intended for maintainers to use;"
+ @echo "it deletes files that may require special tools to rebuild."
+
+maintainer-clean: maintainer-clean-am
+
+.PHONY: tags distdir info-am info dvi-am dvi check check-am \
+installcheck-am installcheck install-exec-am install-exec \
+install-data-local install-data-am install-data install-am install \
+uninstall-local uninstall-am uninstall all-redirect all-am all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
+maintainer-clean-generic clean mostlyclean distclean maintainer-clean
+
+
+include $(top_builddir)/Make.rules
+
+all: $(Z_KMAP_FILES)
+
+install-data-local: all
+ $(mkinstalldirs) $(patsubst %,$(DESTDIR)$(pkgdatadir)/%,$(ALL_KDIRS))
+ for f in $(KMAP_FILES:=.$(COMPRESSOR_EXT)) ; do \
+ $(INSTALL_DATA) $$f $(DESTDIR)$(pkgdatadir)/$$(dirname $$f) ; \
+ done
+
+uninstall-local:
+ for f in $(KMAP_FILES:=.$(COMPRESSOR_EXT)) ; do \
+ rm -f $(DESTDIR)$(pkgdatadir)/$$f ; \
+ done
+ -rmdir -p $(patsubst %,$(DESTDIR)$(pkgdatadir)/%,$(ALL_KDIRS)) 2>/dev/null
+
+dist-hook:
+ for f in $(KMAP_FILES) ; do \
+ $(mkinstalldirs) $(distdir)/$$(dirname $$f) ; \
+ $(INSTALL_DATA) $(srcdir)/$$f $(distdir)/$$(dirname $$f) ; \
+ done
+
+# Tell versions [3.59,3.63) of GNU make to not export all variables.
+# Otherwise a system limit (for SysV at least) may be exceeded.
+.NOEXPORT:
diff --git a/keymaps/README b/keymaps/README
new file mode 100644
index 0000000..c19e190
--- /dev/null
+++ b/keymaps/README
@@ -0,0 +1,36 @@
+The maps found here are as contributed. Use at your own risk.
+(But please tell me if something is seriously wrong.)
+Mail corrections, improvements and new maps to aeb@cwi.nl.
+
+If the below talks about /usr/lib/kbd, that may well be
+something like /usr/share/kbd in other distributions.
+
+The old setup had a directory /usr/lib/kbd/keytables containing
+all keymaps. But this is getting messy - there are too many.
+The present setup has a directory /usr/lib/kbd/keymaps with
+subdirectories
+ amiga, atari, i386, mac, sun
+indicating the desired architecture.
+(I believe alpha uses the i386 keyboard.)
+The 386 directory is split further into subdirectories
+ qwerty, qwertz, azerty, fgGIod, dvorak
+indicating the layout of the letters.
+(Very roughly speaking, qwerty is English, qwertz is German,
+azerty is French, fgGIod is Turkish, dvorak is international.)
+Loadkeys will first search /usr/lib/kbd/keymaps, and then its
+subdirectories, so the default keymap should probably live in
+/usr/lib/kbd/keymaps.
+
+Many keymaps now use the include directive, both for clarity
+and to save space. One can avoid includes by doing
+"loadkeys map-with-includes; dumpkeys > map-without-includes".
+This may be desirable for the default keymap loaded at boot time.
+
+I hope that this setup will make it possible for distribution
+developers to make the keymap-choosing phase of a new installation
+somewhat more user-friendly.
+Note that one of the possible user choices should be *not* to
+load any keymap, and get the compiled-in kernel default.
+Note that only files *.map are candidate keymaps.
+
+Andries
diff --git a/keymaps/amiga/amiga-de.kmap b/keymaps/amiga/amiga-de.kmap
new file mode 100644
index 0000000..ee86dcd
--- /dev/null
+++ b/keymaps/amiga/amiga-de.kmap
@@ -0,0 +1,391 @@
+#Originally From stig@netcom.com Mon Feb 21 22:05:14 1994
+#
+#Below is a keymap that I have customized for use with emacs. Notably, I've
+#enabled the alt-letter, alt-shift-letter, and ctrl-alt-letter keystrokes
+#because they're all usable in emacs. Also, I moved caps-lock to shift numlock
+#and the left half of my keyboard has two control keys...(you can never have
+#enough of them :)
+#
+# Stig
+#
+#Modified By rafael@cse.ucsc.edu
+#stig's keymap set Left-arrow to ^B, Right-arrow to ^F, etc- not very good
+#for anything except emacs. I merged defkeymap.map and emacs.map to create
+#a useful defkeymap.map that works very well with emacs, as well as other
+#Linux programs.
+#
+#Added "control shift keycode 3 = nul" and "control shift keycode 12 =
+# Control_underscore" - aeb
+#
+#Modifed by hamish@bnr.ca
+#Converted for use on Linux/68k for the amiga (change the keycodes,
+# basically)
+#
+#Modifed by schupfer@sbox.tu-graz.ac.at ( Stephan Schupfer ) Fri Nov 11
+#Converted for use on Linux/68k for the amiga - german
+#Tested on my A2000
+# WARNING: USE AT YOUR OWN RISK !!!
+#
+#Modified by steigies@physik.uni-kiel.de (Christian T. Steigies) 01-Apr-1997
+#keycode 4 added degree for Alt-Gr-4 (instead of dollar)
+#keycode 70 changed to Control_d which gives me a 'real' Delete
+#keycode 93 changed to KP_Multiply (instead of KP_Subtract)
+#
+#renamed from germankeys to de-amiga.map
+#place it in /usr/lib/kbd/keytables/ (kbd-0.94 ? ;-)
+#load it with loadkeys de-amiga (/etc/rc.d/rc.loadkeys)
+#
+#installed kbd-0.93, compiled flawlessly 02-Apr-1997
+# Tested on my A2000 with loadkeys from kbd-0.93
+# adding a "+" before every letter, CapsLock is working !
+#
+# CTS 13-Apr-1997
+#mapped all keys reachable with ALT and SHIFT-ALT from the german Amiga keyboard
+# to AltGr and SHIFT-AltGr (right Alt key) respectively
+#you might require a different font to see them chars (try setfont lat01-08.psf
+# or setfont iso01a-8x16. gives some error but allows me to see all chars.)
+#
+strings as usual
+compose as usual for "iso-8859-1"
+keycode 0 = grave asciitilde grave asciitilde
+ control keycode 0 = Control_q
+ alt keycode 0 = grave
+ shift alt keycode 0 = asciitilde
+keycode 1 = one exclam onesuperior exclam
+ alt keycode 1 = Meta_nine
+ shift alt keycode 1 = exclam
+keycode 2 = two quotedbl at twosuperior
+ control keycode 2 = nul
+ control shift keycode 2 = nul
+ alt keycode 2 = at
+ shift alt keycode 2 = Meta_two
+ control alt keycode 2 = Meta_nul
+keycode 3 = three section threesuperior numbersign
+ control keycode 3 = Escape
+ alt keycode 3 = Meta_three
+ shift alt keycode 3 = numbersign
+keycode 4 = four dollar degree cent
+ control keycode 4 = Control_backslash
+ alt keycode 4 = Meta_zero
+ shift alt keycode 4 = cent
+keycode 5 = five percent onequarter percent
+ control keycode 5 = Control_bracketright
+ alt keycode 5 = Meta_less
+ shift alt keycode 5 = percent
+keycode 6 = six ampersand onehalf asciicircum
+ alt keycode 6 = Meta_equal
+ shift alt keycode 6 = asciicircum
+keycode 7 = seven slash threequarters ampersand
+ control keycode 7 = Control_underscore
+ alt keycode 7 = Meta_greater
+ shift alt keycode 7 = ampersand
+keycode 8 = eight parenleft periodcentered asterisk
+ control keycode 8 = Delete
+ alt keycode 8 = Meta_seven
+ shift alt keycode 8 = asterisk
+keycode 9 = nine parenright guillemotleft parenleft
+ alt keycode 9 = Meta_plus
+ shift alt keycode 9 = parenleft
+keycode 10 = zero equal guillemotright parenright
+ alt keycode 10 = Meta_semicolon
+ shift alt keycode 10 = parenright
+keycode 11 = ssharp question minus underscore
+ control keycode 11 = Control_underscore
+ control shift keycode 11 = Control_underscore
+ alt keycode 11 = minus
+ shift alt keycode 11 = underscore
+ control alt keycode 11 = Meta_Control_underscore
+keycode 12 = apostrophe grave equal plus
+ alt keycode 12 = equal
+ shift alt keycode 12 = plus
+keycode 13 = backslash bar backslash bar
+ control keycode 13 = Control_backslash
+ alt keycode 13 = backslash
+ shift alt keycode 13 = bar
+ control alt keycode 13 = Meta_Control_backslash
+keycode 14 = BackSpace
+keycode 15 = KP_0
+ alt keycode 15 = Insert
+keycode 16 = +q +Q aring Aring
+ control keycode 16 = Control_q
+ alt keycode 16 = Meta_e
+ shift alt keycode 16 = Meta_E
+ control alt keycode 16 = Meta_Control_q
+keycode 17 = +w +W degree degree
+ control keycode 17 = Control_w
+ alt keycode 17 = Meta_zero
+ shift alt keycode 17 = Meta_zero
+ control alt keycode 17 = Meta_Control_w
+keycode 18 = +e +E copyright copyright
+ control keycode 18 = Control_e
+ alt keycode 18 = Meta_parenright
+ shift alt keycode 18 = Meta_parenright
+ control alt keycode 18 = Meta_Control_e
+keycode 19 = +r +R registered registered
+ control keycode 19 = Control_r
+ alt keycode 19 = Meta_period
+ shift alt keycode 19 = Meta_period
+ control alt keycode 19 = Meta_Control_r
+keycode 20 = +t +T thorn THORN
+ control keycode 20 = Control_t
+ alt keycode 20 = Meta_asciicircum
+ shift alt keycode 20 = Meta_asciicircum
+ control alt keycode 20 = Meta_Control_t
+keycode 21 = +z +Z currency yen
+ control keycode 21 = Control_z
+ alt keycode 21 = Meta_dollar
+ shift alt keycode 21 = yen
+ control alt keycode 21 = Meta_Control_z
+keycode 22 = +u +U mu mu
+ control keycode 22 = Control_u
+ alt keycode 22 = Meta_five
+ shift alt keycode 22 = Meta_five
+ control alt keycode 22 = Meta_Control_u
+keycode 23 = +i +I exclamdown brokenbar
+ control keycode 23 = Tab
+ alt keycode 23 = Meta_exclam
+ shift alt keycode 23 = Meta_ampersand
+ control alt keycode 23 = Meta_Tab
+keycode 24 = +o +O oslash Oslash
+ control keycode 24 = Control_o
+ alt keycode 24 = Meta_x
+ shift alt keycode 24 = Meta_X
+ control alt keycode 24 = Meta_Control_o
+keycode 25 = +p +P paragraph paragraph
+ control keycode 25 = Control_p
+ alt keycode 25 = Meta_six
+ shift alt keycode 25 = Meta_six
+ control alt keycode 25 = Meta_Control_p
+keycode 26 = +udiaeresis +Udiaeresis bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = bracketleft
+ shift alt keycode 26 = braceleft
+ control alt keycode 26 = Meta_Escape
+keycode 27 = plus asterisk bracketright braceright
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = bracketright
+ shift alt keycode 27 = braceright
+ control alt keycode 27 = Meta_Control_bracketright
+keycode 28 =
+keycode 29 = KP_1
+ alt keycode 29 = End
+keycode 30 = KP_2
+ alt keycode 30 = Down
+keycode 31 = KP_3
+ alt keycode 31 = Next
+keycode 32 = +a +A ae AE
+ control keycode 32 = Control_a
+ alt keycode 32 = Meta_f
+ shift alt keycode 32 = Meta_F
+ control alt keycode 32 = Meta_Control_a
+keycode 33 = +s +S ssharp section
+ control keycode 33 = Control_s
+ alt keycode 33 = Meta_underscore
+ shift alt keycode 33 = Meta_apostrophe
+ control alt keycode 33 = Meta_Control_s
+keycode 34 = +d +D eth ETH
+ control keycode 34 = Control_d
+ alt keycode 34 = Meta_p
+ shift alt keycode 34 = Meta_P
+ control alt keycode 34 = Meta_Control_d
+keycode 35 = +f +F dead_acute dead_acute
+ control keycode 35 = Control_f
+ alt keycode 35 = grave
+ shift alt keycode 35 = Meta_four
+ control alt keycode 35 = Meta_Control_f
+keycode 36 = +g +G dead_grave dead_grave
+ control keycode 36 = Control_g
+ control alt keycode 36 = Meta_Control_g
+keycode 37 = +h +H dead_circumflex dead_circumflex
+ control keycode 37 = BackSpace
+ control alt keycode 37 = Meta_BackSpace
+keycode 38 = +j +J dead_tilde dead_tilde
+ control keycode 38 = Linefeed
+ control alt keycode 38 = Meta_Linefeed
+keycode 39 = +k +K dead_diaeresis dead_diaeresis
+ control keycode 39 = Control_k
+ control alt keycode 39 = Meta_Control_k
+keycode 40 = +l +L pound pound
+ control keycode 40 = Control_l
+ alt keycode 40 = Meta_numbersign
+ shift alt keycode 40 = Meta_numbersign
+ control alt keycode 40 = Meta_Control_l
+keycode 41 = +odiaeresis +Odiaeresis semicolon colon
+ alt keycode 41 = semicolon
+ shift alt keycode 41 = colon
+keycode 42 = +adiaeresis +Adiaeresis apostrophe quotedbl
+ alt keycode 42 = apostrophe
+ shift alt keycode 42 = quotedbl
+keycode 43 = numbersign asciicircum numbersign asciicircum
+ control keycode 43 = Control_asciicircum
+ alt keycode 43 = numbersign
+ shift alt keycode 43 = asciicircum
+ control alt keycode 43 = Meta_Control_asciicircum
+keycode 44 =
+keycode 45 = KP_4 Control_a
+ alt keycode 45 = Left
+keycode 46 = KP_5
+keycode 47 = KP_6 Control_e
+ alt keycode 47 = Right
+keycode 48 = less greater less greater
+ alt keycode 48 = less
+ shift alt keycode 48 = greater
+keycode 49 = +y +Y plusminus notsign
+ control keycode 49 = Control_y
+ alt keycode 49 = Meta_one
+ shift alt keycode 49 = Meta_comma
+ control alt keycode 49 = Meta_Control_y
+keycode 50 = +x +X multiply division
+ control keycode 50 = Control_x
+ alt keycode 50 = Meta_W
+ shift alt keycode 50 = Meta_w
+ control alt keycode 50 = Meta_Control_x
+keycode 51 = +c +C ccedilla Ccedilla
+ control keycode 51 = Control_c
+ alt keycode 51 = Meta_g
+ shift alt keycode 51 = Meta_G
+ control alt keycode 51 = Meta_Control_c
+keycode 52 = +v +V ordfeminine ordfeminine
+ control keycode 52 = Control_v
+ alt keycode 52 = Meta_asterisk
+ shift alt keycode 52 = Meta_asterisk
+ control alt keycode 52 = Meta_Control_v
+keycode 53 = +b +B masculine masculine
+ control keycode 53 = Control_b
+ alt keycode 53 = Meta_colon
+ shift alt keycode 53 = Meta_colon
+ control alt keycode 53 = Meta_Control_b
+keycode 54 = +n +N hyphen macron
+ control keycode 54 = Control_n
+ alt keycode 54 = Meta_minus
+ shift alt keycode 54 = Meta_slash
+ control alt keycode 54 = Meta_Control_n
+keycode 55 = +m +M cedilla questiondown
+ control keycode 55 = Control_m
+ alt keycode 55 = Meta_eight
+ shift alt keycode 55 = Meta_question
+ control alt keycode 55 = Meta_Control_m
+keycode 56 = comma semicolon comma less
+ alt keycode 56 = comma
+ shift alt keycode 56 = less
+keycode 57 = period colon period greater
+ alt keycode 57 = period
+ shift alt keycode 57 = greater
+keycode 58 = minus underscore slash question
+ alt keycode 58 = slash
+ shift alt keycode 58 = question
+keycode 59 =
+keycode 60 = KP_Period
+ altgr control keycode 60 = Boot
+ control alt keycode 60 = Boot
+keycode 61 = KP_7
+ alt keycode 61 = Home
+keycode 62 = KP_8
+ alt keycode 62 = Up
+keycode 63 = KP_9
+ alt keycode 63 = Prior
+keycode 64 = space space
+ control keycode 64 = nul
+ alt keycode 64 = Meta_space
+ control alt keycode 64 = Meta_nul
+keycode 65 = Delete
+ alt keycode 65 = Meta_Delete
+ shift alt keycode 65 = Meta_Delete
+keycode 66 = Tab Tab
+ control keycode 66 = Tab
+ alt keycode 66 = Meta_Tab
+ shift alt keycode 66 = Meta_Tab
+keycode 67 = KP_Enter
+keycode 68 = Return
+ alt keycode 68 = Meta_Control_m
+ shift alt keycode 68 = Meta_Control_m
+keycode 69 = Escape Escape
+ alt keycode 69 = Meta_Escape
+keycode 70 = Remove Delete
+ alt keycode 70 = Meta_Delete
+ shift alt keycode 70 = Meta_Delete
+keycode 71 =
+keycode 72 =
+keycode 73 =
+keycode 74 = KP_Subtract
+keycode 75 =
+keycode 76 = Up
+keycode 77 = Down
+keycode 78 = Right Control_e
+keycode 79 = Left Control_a
+keycode 80 = F1 F11 Console_13
+ control keycode 80 = F1
+ alt keycode 80 = Console_1
+keycode 81 = F2 F12 Console_14
+ control keycode 81 = F2
+ alt keycode 81 = Console_2
+keycode 82 = F3 F13 Console_15
+ control keycode 82 = F3
+ alt keycode 82 = Console_3
+keycode 83 = F4 F14 Console_16
+ control keycode 83 = F4
+ alt keycode 83 = Console_4
+keycode 84 = F5 F15 Console_17
+ control keycode 84 = F5
+ alt keycode 84 = Console_5
+keycode 85 = F6 F16 Console_18
+ control keycode 85 = F6
+ alt keycode 85 = Console_6
+keycode 86 = F7 F17 Console_19
+ control keycode 86 = F7
+ alt keycode 86 = Console_7
+keycode 87 = F8 F18 Console_20
+ control keycode 87 = F8
+ alt keycode 87 = Console_8
+keycode 88 = F9 F19 Console_21
+ control keycode 88 = F9
+ alt keycode 88 = Console_9
+keycode 89 = F10 F20 Console_22
+ control keycode 89 = F10
+ alt keycode 89 = Console_10
+keycode 90 = bracketleft braceleft
+ alt keycode 90 = Num_Lock
+keycode 91 = bracketright braceright
+ alt keycode 91 = Scroll_Lock
+keycode 92 = KP_Divide
+ control keycode 92 = Console_1
+ alt keycode 92 = Console_2
+ control alt keycode 92 = Console_3
+#keycode 93 = KP_Subtract
+keycode 93 = KP_Multiply
+keycode 94 = KP_Add
+keycode 95 = Help Show_Memory
+ control keycode 95 = Show_State
+ alt keycode 95 = Show_Registers
+keycode 96 = Shift
+keycode 97 = Shift
+keycode 98 = Caps_Lock
+keycode 99 = Control
+keycode 100 = Alt
+keycode 101 = AltGr
+keycode 102 =
+keycode 103 =
+keycode 104 =
+keycode 105 =
+keycode 106 =
+keycode 107 =
+keycode 108 =
+keycode 109 =
+keycode 110 =
+keycode 111 =
+keycode 112 =
+keycode 113 =
+keycode 114 =
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 =
+keycode 119 =
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/amiga/amiga-es.kmap b/keymaps/amiga/amiga-es.kmap
new file mode 100644
index 0000000..eab4295
--- /dev/null
+++ b/keymaps/amiga/amiga-es.kmap
@@ -0,0 +1,163 @@
+! Spanish keymap for Amiga keyboards.
+!
+! Esto no es mas que la primera version y tampoco se puede
+! decir que me la haya currado mucho. Si encuentras fallos
+! mandalos a la direccion de abajo, please.
+!
+! Jorge Acereda (al004046@alumail.uji.es)
+!
+
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+keycode 1 = one exclamdown
+ alt keycode 1 = Meta_one
+keycode 2 = two questiondown at
+ alt keycode 2 = Meta_two
+keycode 3 = three numbersign
+ alt keycode 3 = Meta_three
+keycode 4 = four dollar periodcentered
+ alt keycode 4 = Meta_four
+keycode 5 = five percent
+ alt keycode 5 = Meta_five
+keycode 6 = six slash asciicircum Control_asciicircum
+ alt keycode 6 = Meta_six
+keycode 7 = seven ampersand
+ alt keycode 7 = Meta_seven
+keycode 8 = eight asterisk
+ alt keycode 8 = Meta_eight
+keycode 9 = nine parenleft
+ alt keycode 9 = Meta_nine
+keycode 10 = zero parenright
+ alt keycode 10 = Meta_zero
+keycode 11 = minus underscore
+ control keycode 11 = Control_underscore
+ alt keycode 11 = Meta_minus
+keycode 12 = equal plus
+ alt keycode 12 = Meta_equal
+keycode 13 = backslash bar
+ control keycode 13 = Control_backslash
+ alt keycode 13 = Meta_backslash
+keycode 14 =
+keycode 15 = KP_0
+ alt keycode 15 = Ascii_0
+keycode 16 = q
+keycode 17 = w
+keycode 18 = e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = y
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+keycode 26 = dead_acute dead_diaeresis
+keycode 27 = dead_grave dead_circumflex
+keycode 28 =
+keycode 29 = KP_1
+ alt keycode 29 = Ascii_1
+keycode 30 = KP_2
+ alt keycode 30 = Ascii_2
+keycode 31 = KP_3
+ alt keycode 31 = Ascii_3
+keycode 32 = a
+keycode 33 = s
+keycode 34 = d
+keycode 35 = f
+keycode 36 = g
+keycode 37 = h
+keycode 38 = j
+keycode 39 = k
+keycode 40 = l
+keycode 41 = ntilde Ntilde
+keycode 42 = semicolon colon
+ alt keycode 42 = Meta_semicolon
+keycode 43 = ccedilla Ccedilla
+keycode 44 =
+keycode 45 = KP_4
+ alt keycode 45 = Ascii_4
+keycode 46 = KP_5
+ alt keycode 46 = Ascii_5
+keycode 47 = KP_6
+ alt keycode 47 = Ascii_6
+keycode 48 = less greater
+keycode 49 = z
+keycode 50 = x
+keycode 51 = c
+keycode 52 = v
+keycode 53 = b
+keycode 54 = n
+keycode 55 = m
+keycode 56 = comma question
+ alt keycode 56 = Meta_comma
+keycode 57 = period exclam
+ alt keycode 57 = Meta_period
+keycode 58 = apostrophe quotedbl
+ alt keycode 58 = Meta_apostrophe
+keycode 59 =
+keycode 60 = KP_Period
+ control alt keycode 60 = Boot
+keycode 61 = KP_7
+ alt keycode 61 = Ascii_7
+keycode 62 = KP_8
+ alt keycode 62 = Ascii_8
+keycode 63 = KP_9
+ alt keycode 63 = Ascii_9
+keycode 64 = space space
+ control keycode 64 = nul
+ alt keycode 64 = Meta_space
+keycode 65 = Delete Delete Delete Delete Delete Meta_Delete Delete
+keycode 66 = Tab Tab
+ alt keycode 66 = Meta_Tab
+keycode 67 = KP_Enter
+keycode 68 = Return
+ alt keycode 68 = Meta_Control_m
+keycode 69 = Escape Escape
+ alt keycode 69 = Meta_Escape
+keycode 70 = Delete Delete
+ alt keycode 70 = Meta_Delete
+keycode 71 =
+keycode 72 =
+keycode 73 =
+keycode 74 = KP_Subtract
+keycode 75 =
+keycode 76 = Up
+keycode 77 = Down
+keycode 78 = Right
+keycode 79 = Left
+keycode 80 = F1 F11 Console_13 F1
+ alt keycode 80 = Console_1
+keycode 81 = F2 F12 Console_14 F2
+ alt keycode 81 = Console_2
+keycode 82 = F3 F13 Console_15 F3
+ alt keycode 82 = Console_3
+keycode 83 = F4 F14 Console_16 F4
+ alt keycode 83 = Console_4
+keycode 84 = F5 F15 Console_17 F5
+ alt keycode 84 = Console_5
+keycode 85 = F6 F16 Console_18 F6
+ alt keycode 85 = Console_6
+keycode 86 = F7 F17 Console_19 F7
+ alt keycode 86 = Console_7
+keycode 87 = F8 F18 Console_20 F8
+ alt keycode 87 = Console_8
+keycode 88 = F9 F19 Console_21 F9
+ alt keycode 88 = Console_9
+keycode 89 = F10 F20 Console_22 F10
+ alt keycode 89 = Console_10
+keycode 90 = bracketleft braceleft
+ control keycode 90 = Num_Lock
+ alt keycode 90 = Meta_bracketleft
+keycode 91 = bracketright braceright
+ control keycode 91 = Scroll_Lock
+ alt keycode 91 = Meta_bracketright
+keycode 92 = KP_Divide
+keycode 93 = KP_Multiply
+keycode 94 = KP_Add
+keycode 95 = Help Show_Memory Show_State Show_Registers
+keycode 96 = Shift
+keycode 97 = Shift
+keycode 98 = Caps_Lock
+keycode 99 = Control
+keycode 100 = Alt
+keycode 101 = AltGr
diff --git a/keymaps/amiga/amiga-fr.kmap b/keymaps/amiga/amiga-fr.kmap
new file mode 100644
index 0000000..4036e4b
--- /dev/null
+++ b/keymaps/amiga/amiga-fr.kmap
@@ -0,0 +1,453 @@
+# French keymap for Linux/m68k for Amiga 2000/3000/4000 keyboards V1.0
+# Put together by Frank Neumann on Dec 13th, 1994.
+
+# French modification by Samuel Devulder on Sep 13th, 1997.
+
+# In case of questions, bug reports or suggestions, send E-Mail to:
+# Frank.Neumann@informatik.uni-oldenburg.de
+#
+# Important modifications compared to the U.S. keymap:
+# The [, ], { and } are accessible from the keypad, as well as
+# the digits and /, *, -, +, . and Enter (same function as Return)
+
+# SAM: was The Backspace key now produces a backspace character instead
+# of Delete.
+
+# The function keys (when used without modifiers) produce simple 'ESC<n>'
+# sequences, where 'n' is the number of the F key. This might not be
+# correct, but I needed it for the Midnight Commander (Norton Commander
+# clone) to have working function keys in there. If you dislike these,
+# comment the corresponding lines out and remove the comments from the
+# following lines with the original settings
+#
+# Shift+KP[ and Shift+KP] do not produce the kernel messages anymore,
+# as I needed those keys for their natural mappings. The functions
+# Show_Memory and Show_State have been moved to Shift-Help and Control-Help,
+# respectively (although I have serious problems with these sometimes -
+# Show_State often doesn't output anything, and sometimes triggering
+# Show_Memory several times in rapid succession causes the CAPS state of
+# all (?) keys to be inverted. This can be very nasty if you are not
+# logged in and the getty also switches to upper-case mode..beware.
+# While logged in, I found that using Shift+KP[ sometimes resets the CAPS
+# state to its normal behaviour.
+
+# To see what nice things you can do now (including deadkeys and Alt-keys),
+# start the AmigaDOS program 'Keyshow' (should be under SYS:Tools). Blue
+# keys are deadkeys, characters written in italics are...well, what the hell
+# are they for ? Documentation on that program is quite poor.. Anyway, I
+# tried to copy the behaviour from what I could find out with KeyShow as
+# close as possible.
+
+strings as usual
+compose as usual for "iso-8859-1"
+
+# NO_SHIFT SHIFT
+# ---------------- ----------------
+ keycode 0 = grave asciitilde
+ control keycode 0 = nul
+ alt keycode 0 = Meta_grave
+
+ keycode 1 = ampersand one
+ alt keycode 1 = onesuperior
+ shift alt keycode 1 = exclam
+
+ keycode 2 = eacute two
+ control keycode 2 = nul
+ alt keycode 2 = twosuperior
+ shift alt keycode 2 = at
+
+ keycode 3 = quotedbl three
+ alt keycode 3 = threesuperior
+ shift alt keycode 3 = numbersign
+
+ keycode 4 = apostrophe four
+ alt keycode 4 = cent
+ shift alt keycode 4 = dollar
+
+ keycode 5 = parenleft five
+ alt keycode 5 = onequarter
+ shift alt keycode 5 = percent
+
+ keycode 6 = section six
+ control keycode 6 = Control_asciicircum
+ alt keycode 6 = onehalf
+ shift alt keycode 6 = circumflex
+
+ keycode 7 = egrave seven
+ alt keycode 7 = threequarters
+ shift alt keycode 7 = ampersand
+
+ keycode 8 = exclam eight
+ alt keycode 8 = periodcentered
+ shift alt keycode 8 = asterisk
+
+ keycode 9 = ccedilla nine
+ alt keycode 9 = parenright
+ shift alt keycode 9 = guillemotleft
+
+ keycode 10 = agrave zero
+ alt keycode 10 = parenleft
+ shift alt keycode 10 = guillemotright
+
+ keycode 11 = parenright degree
+ control keycode 11 = Control_underscore
+ alt keycode 11 = Meta_minus
+
+ keycode 12 = minus underscore
+ control keycode 12 = Control_underscore
+ shift control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_equal
+
+ keycode 13 = backslash bar
+ control keycode 13 = Control_backslash
+ alt keycode 13 = Meta_backslash
+
+ keycode 14 =
+
+ keycode 15 = zero Insert
+
+ keycode 16 = +a +A
+ control keycode 16 = Control_a
+ alt keycode 16 = aring
+ shift alt keycode 16 = Aring
+
+ keycode 17 = +z +Z
+ control keycode 17 = Control_z
+ alt keycode 17 = degree
+
+ keycode 18 = +e +E
+ control keycode 18 = Control_e
+ alt keycode 18 = copyright
+
+ keycode 19 = +r +R
+ control keycode 19 = Control_r
+ alt keycode 19 = registered
+
+ keycode 20 = +t +T
+ control keycode 20 = Control_t
+ alt keycode 20 = thorn
+ shift alt keycode 20 = THORN
+
+ keycode 21 = +y +Y
+ control keycode 21 = Control_y
+ alt keycode 21 = currency
+ shift alt keycode 21 = yen
+
+ keycode 22 = +u +U
+ control keycode 22 = Control_u
+ alt keycode 22 = mu
+
+ keycode 23 = +i +I
+ control keycode 23 = Tab
+ alt keycode 23 = exclamdown
+ shift alt keycode 23 = brokenbar
+
+ keycode 24 = +o +O
+ control keycode 24 = Control_o
+ alt keycode 24 = oslash
+ shift alt keycode 24 = oslash
+
+ keycode 25 = +p +P
+ control keycode 25 = Control_p
+ alt keycode 25 = paragraph
+
+ keycode 26 = dead_circumflex dead_diaeresis
+ control keycode 26 = Escape
+ alt keycode 26 = bracketleft
+ shift alt keycode 26 = braceleft
+
+ keycode 27 = dollar asterisk
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = bracketright
+ shift alt keycode 27 = braceright
+
+ keycode 28 =
+
+ keycode 29 = one
+ alt keycode 29 = Ascii_1
+
+ keycode 30 = two
+ alt keycode 30 = Ascii_2
+
+ keycode 31 = three Next
+ alt keycode 31 = Ascii_3
+
+ keycode 32 = +q +Q
+ control keycode 32 = Control_q
+ alt keycode 32 = ae
+ shift alt keycode 32 = AE
+
+ keycode 33 = +s +S
+ control keycode 33 = Control_s
+ alt keycode 33 = ssharp
+ shift alt keycode 33 = section
+
+ keycode 34 = +d +D
+ control keycode 34 = Control_d
+ alt keycode 34 = eth
+ shift alt keycode 34 = ETH
+
+ keycode 35 = +f +F
+ control keycode 35 = Control_f
+ alt keycode 35 = dead_acute
+
+ keycode 36 = +g +G
+ control keycode 36 = Control_g
+ alt keycode 36 = dead_grave
+
+ keycode 37 = +h +H
+ control keycode 37 = BackSpace
+ alt keycode 37 = dead_circumflex
+
+ keycode 38 = +j +J
+ control keycode 38 = Linefeed
+ alt keycode 38 = dead_tilde
+
+ keycode 39 = +k +K
+ control keycode 39 = Control_k
+ alt keycode 39 = dead_diaeresis
+
+ keycode 40 = +l +L
+ control keycode 40 = Control_l
+ alt keycode 40 = sterling
+
+ keycode 41 = +m +M
+ alt keycode 41 = semicolon
+ shift alt keycode 41 = colon
+
+ keycode 42 = ugrave percent
+ alt keycode 42 = apostrophe
+ shift alt keycode 42 = quotedbl
+
+ keycode 43 = mu sterling
+ control keycode 43 = Control_asciicircum
+
+ keycode 44 =
+
+ keycode 45 = four
+ alt keycode 45 = Ascii_4
+
+ keycode 46 = five
+ alt keycode 46 = Ascii_5
+
+ keycode 47 = six
+ alt keycode 47 = Ascii_6
+
+ keycode 48 = less greater
+
+ keycode 49 = +w +W
+ control keycode 49 = Control_w
+ alt keycode 49 = plusminus
+ shift alt keycode 49 = notsign
+
+ keycode 50 = +x +X
+ control keycode 50 = Control_x
+ alt keycode 50 = multiplication
+ shift alt keycode 50 = division
+
+ keycode 51 = +c +C
+ control keycode 51 = Control_c
+ alt keycode 51 = ccedilla
+ shift alt keycode 51 = Ccedilla
+
+ keycode 52 = +v +V
+ control keycode 52 = Control_v
+ alt keycode 52 = ordfeminine
+
+ keycode 53 = +b +B
+ control keycode 53 = Control_b
+ alt keycode 53 = masculine
+
+ keycode 54 = +n +N
+ control keycode 54 = Control_n
+ alt keycode 54 = hyphen
+ shift alt keycode 54 = macron
+
+ keycode 55 = comma question
+ alt keycode 55 = cedilla
+ shift alt keycode 55 = questiondown
+
+ keycode 56 = semicolon period
+ alt keycode 56 = comma
+ shift alt keycode 56 = less
+
+ keycode 57 = colon slash
+ alt keycode 57 = period
+ shift alt keycode 57 = greater
+
+ keycode 58 = equal plus
+ control keycode 58 = Delete
+ alt keycode 58 = slash
+ shift alt keycode 58 = question
+
+ keycode 59 =
+
+ keycode 60 = period
+altgr control keycode 60 = Boot
+control alt keycode 60 = Boot
+
+ keycode 61 = seven
+ alt keycode 61 = Ascii_7
+
+ keycode 62 = eight
+ alt keycode 62 = Ascii_8
+
+ keycode 63 = nine Prior
+ alt keycode 63 = Ascii_9
+
+ keycode 64 = space space
+ control keycode 64 = nul
+ alt keycode 64 = Meta_space
+
+ keycode 65 = Delete
+
+ keycode 66 = Tab Tab
+ alt keycode 66 = Meta_Tab
+
+ keycode 67 = Return
+
+ keycode 68 = Return
+ control keycode 68 = Linefeed
+ alt keycode 68 = Meta_Control_m
+
+ keycode 69 = Escape Escape
+ alt keycode 69 = Meta_Escape
+
+ keycode 70 = BackSpace Delete
+ alt keycode 70 = Meta_Delete
+
+ keycode 71 =
+
+ keycode 72 =
+
+ keycode 73 =
+
+ keycode 74 = KP_Subtract circumflex
+
+ keycode 75 =
+
+ keycode 76 = Up Prior
+
+ keycode 77 = Down Next
+
+ keycode 78 = Right Control_e
+
+ keycode 79 = Left Control_a
+
+ keycode 80 = F1 F11 Console_13
+ control keycode 80 = F1
+ alt keycode 80 = Console_1
+
+ keycode 81 = F2 F12 Console_14
+ control keycode 81 = F2
+ alt keycode 81 = Console_2
+
+ keycode 82 = F3 F13 Console_15
+ control keycode 82 = F3
+ alt keycode 82 = Console_3
+
+ keycode 83 = F4 F14 Console_16
+ control keycode 83 = F4
+ alt keycode 83 = Console_4
+
+ keycode 84 = F5 F15 Console_17
+ control keycode 84 = F5
+ alt keycode 84 = Console_5
+
+ keycode 85 = F6 F16 Console_18
+ control keycode 85 = F6
+ alt keycode 85 = Console_6
+
+ keycode 86 = F7 F17 Console_19
+ control keycode 86 = F7
+ alt keycode 86 = Console_7
+
+ keycode 87 = F8 F18 Console_20
+ control keycode 87 = F8
+ alt keycode 87 = Console_8
+
+ keycode 88 = F9 F19 Console_21
+ control keycode 88 = F9
+ alt keycode 88 = Console_9
+
+ keycode 89 = F10 F20 Console_22
+ control keycode 89 = F10
+ alt keycode 89 = Console_10
+
+ keycode 90 = bracketleft braceleft
+
+ keycode 91 = bracketright braceright
+ control keycode 91 = Control_bracketright
+ alt keycode 91 = Scroll_Lock
+
+ keycode 92 = slash numbersign
+
+ keycode 93 = asterisk at
+
+ keycode 94 = KP_Add
+
+ keycode 95 = Help Insert Show_Memory Show_State
+
+ keycode 96 = Shift
+
+ keycode 97 = Shift
+
+ keycode 98 = Caps_Lock
+
+ keycode 99 = Control
+
+ keycode 100 = Alt
+
+ keycode 101 = AltGr
+
+ keycode 102 =
+
+ keycode 103 =
+
+ keycode 104 =
+
+ keycode 105 =
+
+ keycode 106 =
+
+ keycode 107 =
+
+ keycode 108 =
+
+ keycode 109 =
+
+ keycode 110 =
+
+ keycode 111 =
+
+ keycode 112 =
+
+ keycode 113 =
+
+ keycode 114 =
+
+ keycode 115 =
+
+ keycode 116 =
+
+ keycode 117 =
+
+ keycode 118 =
+
+ keycode 119 =
+
+ keycode 120 =
+
+ keycode 121 =
+
+ keycode 122 =
+
+ keycode 123 =
+
+ keycode 124 =
+
+ keycode 125 =
+
+ keycode 126 =
+
+ keycode 127 =
diff --git a/keymaps/amiga/amiga-it.kmap b/keymaps/amiga/amiga-it.kmap
new file mode 100644
index 0000000..58f4973
--- /dev/null
+++ b/keymaps/amiga/amiga-it.kmap
@@ -0,0 +1,418 @@
+strings as usual
+compose as usual for "iso-8859-1"
+
+#Originally From stig@netcom.com Mon Feb 21 22:05:14 1994
+#
+#Below is a keymap that I have customized for use with emacs. Notably, I've
+#enabled the alt-letter, alt-shift-letter, and ctrl-alt-letter keystrokes
+#because they're all usable in emacs. Also, I moved caps-lock to shift numlock
+#and the left half of my keyboard has two control keys...(you can never have
+#enough of them :)
+#
+# Stig
+#
+#Modified By rafael@cse.ucsc.edu
+#stig's keymap set Left-arrow to ^B, Right-arrow to ^F, etc- not very good
+#for anything except emacs. I merged defkeymap.map and emacs.map to create
+#a useful defkeymap.map that works very well with emacs, as well as other
+#Linux programs.
+#
+#Added "control shift keycode 3 = nul" and "control shift keycode 12 =
+# Control_underscore" - aeb
+#
+#Modifed by hamish@bnr.ca
+#Converted for use on Linux/68k for the amiga (change the keycodes,
+# basically)
+#
+#Modifed by schupfer@sbox.tu-graz.ac.at ( Stephan Schupfer ) Fri Nov 11
+#Converted for use on Linux/68k for the amiga - german
+#Tested on my A2000
+# WARNING: USE AT YOUR OWN RISK !!!
+#
+#Modified by steigies@physik.uni-kiel.de (Christian T. Steigies) 01-Apr-1997
+#keycode 4 added degree for Alt-Gr-4 (instead of dollar)
+#keycode 70 changed to Control_d which gives me a 'real' Delete
+#keycode 93 changed to KP_Multiply (instead of KP_Subtract)
+#
+#renamed from germankeys to de-amiga.map
+#place it in /usr/lib/kbd/keytables/ (kbd-0.94 ? ;-)
+#load it with loadkeys de-amiga (/etc/rc.d/rc.loadkeys)
+#
+#installed kbd-0.93, compiled flawlessly 02-Apr-1997
+# Tested on my A2000 with loadkeys from kbd-0.93
+# adding a "+" before every letter, CapsLock is working !
+#
+# CTS 13-Apr-1997
+#mapped all keys reachable with ALT and SHIFT-ALT from the german Amiga keyboard
+# to AltGr and SHIFT-AltGr (right Alt key) respectively
+#you might require a different font to see them chars (try setfont lat01-08.psf
+# or setfont iso01a-8x16. gives some error but allows me to see all chars.)
+#
+# Giacomo Magnini <prometeo@flashnet.it> 21-Jun-97
+# Translated to Italian! :)
+# Haven't checked if it works with X and Emacs, though...
+#
+keycode 0 = grave asciitilde grave asciitilde
+ control keycode 0 = Control_q
+ alt keycode 0 = grave
+ shift alt keycode 0 = asciitilde
+keycode 1 = one exclam onesuperior exclam
+ alt keycode 1 = Meta_nine
+ shift alt keycode 1 = exclam
+keycode 2 = two quotedbl at twosuperior
+ control keycode 2 = nul
+ control shift keycode 2 = nul
+ alt keycode 2 = at
+ shift alt keycode 2 = Meta_two
+ control alt keycode 2 = Meta_nul
+keycode 3 = three sterling threesuperior sterling
+ control keycode 3 = Escape
+ alt keycode 3 = Meta_three
+ shift alt keycode 3 = sterling
+#keycode 3 = three section threesuperior numbersign
+# control keycode 3 = Escape
+# alt keycode 3 = Meta_three
+# shift alt keycode 3 = numbersign
+keycode 4 = four dollar degree cent
+ control keycode 4 = Control_backslash
+ alt keycode 4 = Meta_zero
+ shift alt keycode 4 = cent
+keycode 5 = five percent onequarter percent
+ control keycode 5 = Control_bracketright
+ alt keycode 5 = Meta_less
+ shift alt keycode 5 = percent
+keycode 6 = six ampersand onehalf asciicircum
+ alt keycode 6 = Meta_equal
+ shift alt keycode 6 = asciicircum
+keycode 7 = seven slash threequarters ampersand
+ control keycode 7 = Control_underscore
+ alt keycode 7 = Meta_greater
+ shift alt keycode 7 = ampersand
+keycode 8 = eight parenleft periodcentered asterisk
+ control keycode 8 = Delete
+ alt keycode 8 = Meta_seven
+ shift alt keycode 8 = asterisk
+keycode 9 = nine parenright guillemotleft parenleft
+ alt keycode 9 = Meta_plus
+ shift alt keycode 9 = parenleft
+keycode 10 = zero equal guillemotright parenright
+ alt keycode 10 = Meta_semicolon
+ shift alt keycode 10 = parenright
+#keycode 11 = ssharp question minus underscore
+# control keycode 11 = Control_underscore
+# control shift keycode 11 = Control_underscore
+# alt keycode 11 = minus
+# shift alt keycode 11 = underscore
+# control alt keycode 11 = Meta_Control_underscore
+keycode 11 = apostrophe question minus underscore
+ control keycode 11 = Control_underscore
+ control shift keycode 11 = Control_underscore
+ alt keycode 11 = minus
+ shift alt keycode 11 = underscore
+ control alt keycode 11 = Meta_Control_underscore
+#keycode 12 = apostrophe grave equal plus
+# alt keycode 12 = equal
+# shift alt keycode 12 = plus
+keycode 12 = asciicircum +igrave equal plus
+ alt keycode 12 = equal
+ shift alt keycode 12 = plus
+keycode 13 = backslash bar backslash bar
+ control keycode 13 = Control_backslash
+ alt keycode 13 = backslash
+ shift alt keycode 13 = bar
+ control alt keycode 13 = Meta_Control_backslash
+keycode 14 =
+keycode 15 = KP_0
+ alt keycode 15 = Insert
+keycode 16 = +q +Q aring Aring
+ control keycode 16 = Control_q
+ alt keycode 16 = Meta_e
+ shift alt keycode 16 = Meta_E
+ control alt keycode 16 = Meta_Control_q
+keycode 17 = +w +W degree degree
+ control keycode 17 = Control_w
+ alt keycode 17 = Meta_zero
+ shift alt keycode 17 = Meta_zero
+ control alt keycode 17 = Meta_Control_w
+keycode 18 = +e +E copyright copyright
+ control keycode 18 = Control_e
+ alt keycode 18 = Meta_parenright
+ shift alt keycode 18 = Meta_parenright
+ control alt keycode 18 = Meta_Control_e
+keycode 19 = +r +R registered registered
+ control keycode 19 = Control_r
+ alt keycode 19 = Meta_period
+ shift alt keycode 19 = Meta_period
+ control alt keycode 19 = Meta_Control_r
+keycode 20 = +t +T thorn THORN
+ control keycode 20 = Control_t
+ alt keycode 20 = Meta_asciicircum
+ shift alt keycode 20 = Meta_asciicircum
+ control alt keycode 20 = Meta_Control_t
+keycode 21 = +y +Y plusminus notsign
+ control keycode 21 = Control_y
+ alt keycode 21 = Meta_one
+ shift alt keycode 21 = Meta_comma
+ control alt keycode 21 = Meta_Control_y
+keycode 22 = +u +U mu mu
+ control keycode 22 = Control_u
+ alt keycode 22 = Meta_five
+ shift alt keycode 22 = Meta_five
+ control alt keycode 22 = Meta_Control_u
+keycode 23 = +i +I exclamdown brokenbar
+ control keycode 23 = Tab
+ alt keycode 23 = Meta_exclam
+ shift alt keycode 23 = Meta_ampersand
+ control alt keycode 23 = Meta_Tab
+keycode 24 = +o +O oslash Oslash
+ control keycode 24 = Control_o
+ alt keycode 24 = Meta_x
+ shift alt keycode 24 = Meta_X
+ control alt keycode 24 = Meta_Control_o
+keycode 25 = +p +P paragraph paragraph
+ control keycode 25 = Control_p
+ alt keycode 25 = Meta_six
+ shift alt keycode 25 = Meta_six
+ control alt keycode 25 = Meta_Control_p
+keycode 26 = egrave eacute bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = bracketleft
+ shift alt keycode 26 = braceleft
+ control alt keycode 26 = Meta_Escape
+keycode 27 = plus asterisk bracketright braceright
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = bracketright
+ shift alt keycode 27 = braceright
+ control alt keycode 27 = Meta_Control_bracketright
+keycode 28 =
+keycode 29 = KP_1
+ alt keycode 29 = End
+keycode 30 = KP_2
+ alt keycode 30 = Down
+keycode 31 = KP_3
+ alt keycode 31 = Next
+keycode 32 = +a +A ae AE
+ control keycode 32 = Control_a
+ alt keycode 32 = Meta_f
+ shift alt keycode 32 = Meta_F
+ control alt keycode 32 = Meta_Control_a
+keycode 33 = +s +S ssharp section
+ control keycode 33 = Control_s
+ alt keycode 33 = Meta_underscore
+ shift alt keycode 33 = Meta_apostrophe
+ control alt keycode 33 = Meta_Control_s
+keycode 34 = +d +D eth ETH
+ control keycode 34 = Control_d
+ alt keycode 34 = Meta_p
+ shift alt keycode 34 = Meta_P
+ control alt keycode 34 = Meta_Control_d
+keycode 35 = +f +F dead_acute dead_acute
+ control keycode 35 = Control_f
+ alt keycode 35 = grave
+ shift alt keycode 35 = Meta_four
+ control alt keycode 35 = Meta_Control_f
+keycode 36 = +g +G dead_grave dead_grave
+ control keycode 36 = Control_g
+ control alt keycode 36 = Meta_Control_g
+keycode 37 = +h +H dead_circumflex dead_circumflex
+ control keycode 37 = BackSpace
+ control alt keycode 37 = Meta_BackSpace
+keycode 38 = +j +J dead_tilde dead_tilde
+ control keycode 38 = Linefeed
+ control alt keycode 38 = Meta_Linefeed
+keycode 39 = +k +K dead_diaeresis dead_diaeresis
+ control keycode 39 = Control_k
+ control alt keycode 39 = Meta_Control_k
+keycode 40 = +l +L pound pound
+ control keycode 40 = Control_l
+ alt keycode 40 = Meta_numbersign
+ shift alt keycode 40 = Meta_numbersign
+ control alt keycode 40 = Meta_Control_l
+#keycode 41 = +odiaeresis +Odiaeresis semicolon colon
+# alt keycode 41 = semicolon
+# shift alt keycode 41 = colon
+keycode 41 = +ograve at semicolon colon
+ alt keycode 41 = semicolon
+ shift alt keycode 41 = colon
+#keycode 42 = +adiaeresis +Adiaeresis apostrophe quotedbl
+# alt keycode 42 = apostrophe
+# shift alt keycode 42 = quotedbl
+keycode 42 = +agrave numbersign apostrophe numbersign
+ alt keycode 42 = apostrophe
+ shift alt keycode 42 = numbersign
+#keycode 43 = numbersign asciicircum numbersign asciicircum
+# control keycode 43 = Control_asciicircum
+# alt keycode 43 = numbersign
+# shift alt keycode 43 = asciicircum
+# control alt keycode 43 = Meta_Control_asciicircum
+keycode 43 = +ugrave section numbersign section
+ control keycode 43 = Control_asciicircum
+ alt keycode 43 = numbersign
+ shift alt keycode 43 = section
+ control alt keycode 43 = Meta_Control_asciicircum
+keycode 44 =
+keycode 45 = KP_4 Control_a
+ alt keycode 45 = Left
+keycode 46 = KP_5
+keycode 47 = KP_6 Control_e
+ alt keycode 47 = Right
+keycode 48 = less greater less greater
+ alt keycode 48 = less
+ shift alt keycode 48 = greater
+keycode 49 = +z +Z currency yen
+ control keycode 49 = Control_z
+ alt keycode 49 = Meta_dollar
+ shift alt keycode 49 = yen
+ control alt keycode 49 = Meta_Control_z
+keycode 50 = +x +X multiply division
+ control keycode 50 = Control_x
+ alt keycode 50 = Meta_W
+ shift alt keycode 50 = Meta_w
+ control alt keycode 50 = Meta_Control_x
+keycode 51 = +c +C ccedilla Ccedilla
+ control keycode 51 = Control_c
+ alt keycode 51 = Meta_g
+ shift alt keycode 51 = Meta_G
+ control alt keycode 51 = Meta_Control_c
+keycode 52 = +v +V ordfeminine ordfeminine
+ control keycode 52 = Control_v
+ alt keycode 52 = Meta_asterisk
+ shift alt keycode 52 = Meta_asterisk
+ control alt keycode 52 = Meta_Control_v
+keycode 53 = +b +B masculine masculine
+ control keycode 53 = Control_b
+ alt keycode 53 = Meta_colon
+ shift alt keycode 53 = Meta_colon
+ control alt keycode 53 = Meta_Control_b
+keycode 54 = +n +N hyphen macron
+ control keycode 54 = Control_n
+ alt keycode 54 = Meta_minus
+ shift alt keycode 54 = Meta_slash
+ control alt keycode 54 = Meta_Control_n
+keycode 55 = +m +M cedilla questiondown
+ control keycode 55 = Control_m
+ alt keycode 55 = Meta_eight
+ shift alt keycode 55 = Meta_question
+ control alt keycode 55 = Meta_Control_m
+keycode 56 = comma semicolon comma less
+ alt keycode 56 = comma
+ shift alt keycode 56 = less
+keycode 57 = period colon period greater
+ alt keycode 57 = period
+ shift alt keycode 57 = greater
+keycode 58 = minus underscore slash question
+ alt keycode 58 = slash
+ shift alt keycode 58 = question
+keycode 59 =
+keycode 60 = KP_Period
+ altgr control keycode 60 = Boot
+ control alt keycode 60 = Boot
+keycode 61 = KP_7
+ alt keycode 61 = Home
+keycode 62 = KP_8
+ alt keycode 62 = Up
+keycode 63 = KP_9
+ alt keycode 63 = Prior
+keycode 64 = space space
+ control keycode 64 = nul
+ alt keycode 64 = Meta_space
+ control alt keycode 64 = Meta_nul
+keycode 65 = BackSpace
+keycode 66 = Tab Tab
+ control keycode 66 = Tab
+ alt keycode 66 = Meta_Tab
+ shift alt keycode 66 = Meta_Tab
+keycode 67 = KP_Enter
+keycode 68 = Return
+ alt keycode 68 = Meta_Control_m
+ shift alt keycode 68 = Meta_Control_m
+keycode 69 = Escape Escape
+ alt keycode 69 = Meta_Escape
+#keycode 70 = Delete Delete
+keycode 70 = Control_d Delete
+ alt keycode 65 = Meta_Delete
+ shift alt keycode 65 = Meta_Delete
+keycode 71 =
+keycode 72 =
+keycode 73 =
+keycode 74 = KP_Subtract
+keycode 75 =
+keycode 76 = Up
+keycode 77 = Down
+keycode 78 = Right Control_e
+keycode 79 = Left Control_a
+keycode 80 = F1 F11 Console_13
+ control keycode 80 = F1
+ alt keycode 80 = Console_1
+keycode 81 = F2 F12 Console_14
+ control keycode 81 = F2
+ alt keycode 81 = Console_2
+keycode 82 = F3 F13 Console_15
+ control keycode 82 = F3
+ alt keycode 82 = Console_3
+keycode 83 = F4 F14 Console_16
+ control keycode 83 = F4
+ alt keycode 83 = Console_4
+keycode 84 = F5 F15 Console_17
+ control keycode 84 = F5
+ alt keycode 84 = Console_5
+keycode 85 = F6 F16 Console_18
+ control keycode 85 = F6
+ alt keycode 85 = Console_6
+keycode 86 = F7 F17 Console_19
+ control keycode 86 = F7
+ alt keycode 86 = Console_7
+keycode 87 = F8 F18 Console_20
+ control keycode 87 = F8
+ alt keycode 87 = Console_8
+keycode 88 = F9 F19 Console_21
+ control keycode 88 = F9
+ alt keycode 88 = Console_9
+keycode 89 = F10 F20 Console_22
+ control keycode 89 = F10
+ alt keycode 89 = Console_10
+keycode 90 = bracketleft braceleft
+ alt keycode 90 = Num_Lock
+keycode 91 = bracketright braceright
+ alt keycode 91 = Scroll_Lock
+keycode 92 = KP_Divide
+ control keycode 92 = Console_1
+ alt keycode 92 = Console_2
+ control alt keycode 92 = Console_3
+keycode 93 = KP_Multiply
+keycode 94 = KP_Add
+keycode 95 = Help Show_Memory
+ control keycode 95 = Show_State
+ alt keycode 95 = Show_Registers
+keycode 96 = Shift
+keycode 97 = Shift
+keycode 98 = Caps_Lock
+keycode 99 = Control
+keycode 100 = Alt
+keycode 101 = AltGr
+keycode 102 =
+keycode 103 =
+keycode 104 =
+keycode 105 =
+keycode 106 =
+keycode 107 =
+keycode 108 =
+keycode 109 =
+keycode 110 =
+keycode 111 =
+keycode 112 =
+keycode 113 =
+keycode 114 =
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 =
+keycode 119 =
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/amiga/amiga-se.kmap b/keymaps/amiga/amiga-se.kmap
new file mode 100644
index 0000000..8bdd890
--- /dev/null
+++ b/keymaps/amiga/amiga-se.kmap
@@ -0,0 +1,154 @@
+# amiga-se.map, version 1.0 - finnish and swedish keymap for Amiga keyboard
+#
+# Contributed by: Tommi Leino <namhas@neutech.fi>
+#
+# This version includes also AltGr, Num_Lock, Scroll_Lock and SysRq key
+# support and something more that were not in AmigaOS.
+#
+# Note that you need to use AltGr (right alt) to use keys like @ and £.
+
+charset "iso-8859-1"
+strings as usual
+compose as usual for "iso-8859-1"
+keymaps 0-2,4,8,5
+
+# keycode plain shift altgr control alt control+shift
+
+keycode 0 = grave tilde VoidSymbol VoidSymbol VoidSymbol
+keycode 1 = one exclam VoidSymbol VoidSymbol Meta_one
+keycode 2 = two quotedbl at VoidSymbol Meta_two
+keycode 3 = three numbersign sterling VoidSymbol Meta_three
+keycode 4 = four dollar ccedilla Control_backslash Meta_four
+keycode 5 = five percent VoidSymbol Control_bracketright Meta_five
+keycode 6 = six ampersand asciicircum Control_asciicircum Meta_six
+keycode 7 = seven slash braceleft Control_underscore Meta_seven
+keycode 8 = eight parenleft bracketleft Delete Meta_eight
+keycode 9 = nine parenright VoidSymbol VoidSymbol Meta_nine
+keycode 10 = zero equal VoidSymbol VoidSymbol Meta_zero
+keycode 11 = plus question underscore Control_underscore Meta_minus
+keycode 12 = dead_acute dead_grave VoidSymbol VoidSymbol Meta_equal
+keycode 13 = backslash bar VoidSymbol Control_backslash Meta_backslash
+keycode 14 =
+keycode 15 = KP_0
+keycode 16 = +q +Q VoidSymbol Control_q Meta_q
+keycode 17 = +w +W VoidSymbol Control_w Meta_w
+keycode 18 = +e +E VoidSymbol Control_e Meta_e
+keycode 19 = +r +R VoidSymbol Control_r Meta_r
+keycode 20 = +t +T VoidSymbol Control_t Meta_t
+keycode 21 = +y +Y VoidSymbol Control_y Meta_y
+keycode 22 = +u +U VoidSymbol Control_u Meta_u
+keycode 23 = +i +I VoidSymbol Control_i Meta_i
+keycode 24 = +o +O VoidSymbol Control_o Meta_o
+keycode 25 = +p +P VoidSymbol Control_p Meta_p
+keycode 26 = aring Aring VoidSymbol Escape Meta_bracketleft
+keycode 27 = dead_diaeresis asciicircum asciitilde Control_bracketright Meta_bracketright
+keycode 28 =
+keycode 29 = KP_1
+keycode 30 = KP_2
+keycode 31 = KP_3
+keycode 32 = +a +A VoidSymbol Control_a Meta_a
+keycode 33 = +s +S VoidSymbol Control_s Meta_s
+keycode 34 = +d +D VoidSymbol Control_d Meta_d
+keycode 35 = +f +F VoidSymbol Control_f Meta_f
+keycode 36 = +g +G VoidSymbol Control_g Meta_g
+keycode 37 = +h +H VoidSymbol Control_h Meta_h
+keycode 38 = +j +J VoidSymbol Control_j Meta_j
+keycode 39 = +k +K VoidSymbol Control_k Meta_k
+keycode 40 = +l +L VoidSymbol Control_l Meta_l
+keycode 41 = odiaeresis Odiaeresis VoidSymbol VoidSymbol Meta_semicolon
+keycode 42 = adiaeresis Adiaeresis VoidSymbol Control_g Meta_apostrophe
+keycode 43 = apostrophe asterisk nul VoidSymbol Meta_grave
+keycode 44 =
+keycode 45 = KP_4
+keycode 46 = KP_5
+keycode 47 = KP_6
+keycode 48 = less greater bar VoidSymbol Meta_less
+keycode 49 = +z +Z VoidSymbol Control_z Meta_z
+keycode 50 = +x +X VoidSymbol Control_x Meta_x
+keycode 51 = +c +C VoidSymbol Control_c Meta_c
+keycode 52 = +v +V VoidSymbol Control_v Meta_v
+keycode 53 = +b +B VoidSymbol Control_b Meta_b
+keycode 54 = +n +N VoidSymbol Control_n Meta_n
+keycode 55 = +m +M VoidSymbol Control_m Meta_m
+keycode 56 = comma semicolon VoidSymbol VoidSymbol Meta_comma
+keycode 57 = period colon VoidSymbol VoidSymbol Meta_period
+keycode 58 = minus underscore slash Delete Meta_slash Control_underscore
+keycode 59 =
+keycode 60 = KP_Period
+keycode 61 = KP_7
+keycode 62 = KP_8
+keycode 63 = KP_9
+keycode 64 = space space VoidSymbol nul Meta_space
+keycode 65 = Delete Delete VoidSymbol VoidSymbol Meta_Delete
+keycode 66 = Tab Tab VoidSymbol VoidSymbol Meta_Tab
+keycode 67 = KP_Enter
+keycode 68 = Return
+keycode 69 = Escape
+keycode 70 = Delete Delete VoidSymbol VoidSymbol Meta_Delete
+keycode 71 =
+keycode 72 =
+keycode 73 =
+keycode 74 = KP_Subtract
+keycode 75 =
+keycode 76 = Up
+keycode 77 = Down
+keycode 78 = Right
+keycode 79 = Left
+keycode 80 = F1 F11 Console_11 Console_21
+keycode 81 = F2 F12 Console_12 Console_22
+keycode 82 = F3 F13 Console_13 Console_23
+keycode 83 = F4 F14 Console_14 Console_24
+keycode 84 = F5 F15 Console_15 Console_25
+keycode 85 = F6 F16 Console_16 Console_26
+keycode 86 = F7 F17 Console_17 Console_27
+keycode 87 = F8 F18 Console_18 Console_28
+keycode 88 = F9 F19 Console_19 Console_29
+keycode 89 = F10 F20 Console_20 Console_30
+alt keycode 80 = Console_1
+alt keycode 81 = Console_2
+alt keycode 82 = Console_3
+alt keycode 83 = Console_4
+alt keycode 84 = Console_5
+alt keycode 85 = Console_6
+alt keycode 86 = Console_7
+alt keycode 87 = Console_8
+alt keycode 88 = Console_9
+alt keycode 89 = Console_10
+keycode 90 = bracketleft braceleft Num_Lock VoidSymbol VoidSymbol
+keycode 91 = bracketright braceright Scroll_Lock Show_Memory Show_Registers
+keycode 92 = KP_Divide KP_Divide Show_State
+keycode 93 = KP_Multiply
+keycode 94 = KP_Add
+keycode 95 = F11
+keycode 96 = Shift
+keycode 97 = Shift
+keycode 98 = Caps_Lock
+keycode 99 = Control
+keycode 100 = Alt
+keycode 101 = AltGr
+keycode 102 =
+keycode 103 =
+keycode 104 =
+keycode 105 =
+keycode 106 =
+keycode 107 =
+keycode 108 =
+keycode 109 =
+keycode 110 =
+keycode 111 =
+keycode 112 =
+keycode 113 =
+keycode 114 =
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 =
+keycode 119 =
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/amiga/amiga-sg.kmap b/keymaps/amiga/amiga-sg.kmap
new file mode 100644
index 0000000..1a80cd9
--- /dev/null
+++ b/keymaps/amiga/amiga-sg.kmap
@@ -0,0 +1,249 @@
+# Swiss German keymap for Linux/m68k for Amiga 2000/3000/4000 keyboards V2.0
+# Put together by Benno Trutmann on May 14th, 1997
+
+# I bound the AltGr modifier to both Amiga Alt keys and the Alt modifier to
+# both Amiga special keys. So the Amiga special keys function now as Meta
+# keys and the Amiga Alt keys have almost the same function as under AmigaOS.
+
+# Also I changed the mapping of the Consoles. With Shift & Alt modifiers you
+# get now Console_11 to Console_20. Also I mapped the *_Console commands to
+# the Cursor keys together with the AltGr modifier.
+
+keymaps 0-4,6,8
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 0 = grave dead_tilde grave tilde
+ alt keycode 0 = Meta_grave
+keycode 1 = one plus onesuperior exclam
+ alt keycode 1 = Meta_one
+keycode 2 = two quotedbl twosuperior at
+ control keycode 3 = nul
+ alt keycode 2 = Meta_two
+keycode 3 = three asterisk threesuperior numbersign
+ control keycode 3 = Escape
+ alt keycode 3 = Meta_three
+keycode 4 = four ccedilla cent degree
+ alt keycode 4 = Meta_four
+keycode 5 = five percent onequarter section
+ control keycode 5 = Control_bracketright
+ alt keycode 5 = Meta_five
+keycode 6 = six ampersand onehalf asciicircum
+ control keycode 6 = Control_asciicircum
+ alt keycode 6 = Meta_six
+keycode 7 = seven slash threequarters ampersand
+ alt keycode 7 = Meta_seven
+keycode 8 = eight parenleft periodcentered asterisk
+ alt keycode 8 = Meta_eight
+keycode 9 = nine parenright guillemotleft parenleft
+ alt keycode 9 = Meta_nine
+keycode 10 = zero equal guillemotright parenright
+ alt keycode 10 = Meta_zero
+keycode 11 = apostrophe question minus underscore
+ control keycode 11 = Control_underscore
+ alt keycode 11 = Meta_apostrophe
+keycode 12 = dead_circumflex dead_grave equal dead_acute
+ alt keycode 12 = Meta_asciicircum
+keycode 13 = backslash bar backslash bar
+ control keycode 13 = Control_backslash
+ alt keycode 13 = Meta_backslash
+keycode 14 =
+keycode 15 = KP_0
+ alt keycode 15 = Ascii_0
+keycode 16 = +q +Q aring Aring
+ control keycode 16 = Control_q
+ alt keycode 16 = Meta_q
+keycode 17 = +w +W degree degree
+ control keycode 17 = Control_w
+ alt keycode 17 = Meta_w
+keycode 18 = +e +E copyright copyright
+ control keycode 18 = Control_e
+ alt keycode 18 = Meta_e
+keycode 19 = +r +R registered registered
+ control keycode 19 = Control_r
+ alt keycode 19 = Meta_r
+keycode 20 = +t +T thorn THORN
+ control keycode 20 = Control_t
+ alt keycode 20 = Meta_t
+keycode 21 = +z +Z currency yen
+ control keycode 21 = Control_z
+ alt keycode 21 = Meta_z
+keycode 22 = +u +U mu mu
+ control keycode 22 = Control_u
+ alt keycode 22 = Meta_u
+keycode 23 = +i +I exclamdown brokenbar
+ control keycode 23 = Tab
+ alt keycode 23 = Meta_i
+keycode 24 = +o +O oslash Oslash
+ control keycode 24 = Control_o
+ alt keycode 24 = Meta_o
+keycode 25 = +p +P paragraph paragraph
+ control keycode 25 = Control_p
+ alt keycode 25 = Meta_p
+keycode 26 = udiaeresis egrave bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = dead_diaeresis exclam bracketright braceright
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 =
+keycode 29 = KP_1
+ alt keycode 29 = Ascii_1
+keycode 30 = KP_2
+ alt keycode 30 = Ascii_2
+keycode 31 = KP_3
+ alt keycode 31 = Ascii_3
+keycode 32 = +a +A ae AE
+ control keycode 32 = Control_a
+ alt keycode 32 = Meta_a
+keycode 33 = +s +S ssharp section
+ control keycode 33 = Control_s
+ alt keycode 33 = Meta_s
+keycode 34 = +d +D eth ETH
+ control keycode 34 = Control_d
+ alt keycode 34 = Meta_d
+keycode 35 = +f +F dead_acute dead_acute
+ control keycode 35 = Control_f
+ alt keycode 35 = Meta_f
+keycode 36 = +g +G dead_grave dead_grave
+ control keycode 36 = Control_g
+ alt keycode 36 = Meta_g
+keycode 37 = +h +H dead_circumflex dead_circumflex
+ control keycode 37 = BackSpace
+ alt keycode 37 = Meta_h
+keycode 38 = +j +J dead_tilde dead_tilde
+ control keycode 38 = Linefeed
+ alt keycode 38 = Meta_j
+keycode 39 = +k +K dead_diaeresis dead_diaeresis
+ control keycode 39 = Control_k
+ alt keycode 39 = Meta_k
+keycode 40 = +l +L sterling sterling
+ control keycode 40 = Control_l
+ alt keycode 40 = Meta_l
+keycode 41 = odiaeresis eacute semicolon colon
+keycode 42 = adiaeresis agrave apostrophe quotedbl
+ control keycode 42 = Control_g
+keycode 43 = dollar sterling dollar sterling
+keycode 44 =
+keycode 45 = KP_4
+ alt keycode 45 = Ascii_4
+keycode 46 = KP_5
+ alt keycode 46 = Ascii_5
+keycode 47 = KP_6
+ alt keycode 47 = Ascii_6
+keycode 48 = less greater guillemotleft guillemotright
+ alt keycode 48 = Meta_less
+keycode 49 = +y +Y plusminus notsign
+ control keycode 49 = Control_y
+ alt keycode 49 = Meta_y
+keycode 50 = +x +X multiplication division
+ control keycode 50 = Control_x
+ alt keycode 50 = Meta_x
+keycode 51 = +c +C ccedilla Ccedilla
+ control keycode 51 = Control_c
+ alt keycode 51 = Meta_c
+keycode 52 = +v +V ordfeminine ordfeminine
+ control keycode 52 = Control_v
+ alt keycode 52 = Meta_v
+keycode 53 = +b +B masculine masculine
+ control keycode 53 = Control_b
+ alt keycode 53 = Meta_b
+keycode 54 = +n +N hyphen macron
+ control keycode 54 = Control_n
+ alt keycode 54 = Meta_n
+keycode 55 = +m +M cedilla questiondown
+ control keycode 55 = Control_m
+ alt keycode 55 = Meta_m
+keycode 56 = comma semicolon comma less
+ alt keycode 56 = Meta_comma
+keycode 57 = period colon period greater
+ alt keycode 57 = Meta_period
+keycode 58 = minus underscore slash question
+ control keycode 58 = Delete
+ alt keycode 58 = Meta_minus
+keycode 59 =
+keycode 60 = KP_Period
+ altgr control keycode 60 = Boot
+keycode 61 = KP_7
+ alt keycode 61 = Ascii_7
+keycode 62 = KP_8
+ alt keycode 62 = Ascii_8
+keycode 63 = KP_9
+ alt keycode 63 = Ascii_9
+keycode 64 = space space nobreakspace nobreakspace
+ alt keycode 64 = Meta_space
+keycode 65 = BackSpace BackSpace BackSpace BackSpace
+ alt keycode 65 = Meta_BackSpace
+keycode 66 = Tab Tab
+ alt keycode 66 = Meta_Tab
+keycode 67 = KP_Enter
+keycode 68 = Return Return
+ control keycode 68 = Linefeed
+ alt keycode 68 = Meta_Control_m
+keycode 69 = Escape Escape
+ alt keycode 69 = Meta_Escape
+keycode 70 = Delete Delete
+ alt keycode 70 = Meta_Delete
+keycode 71 =
+keycode 72 =
+keycode 73 =
+keycode 74 = KP_Subtract
+keycode 75 =
+keycode 76 = Up Up Spawn_Console
+keycode 77 = Down Down Last_Console
+keycode 78 = Right Right Incr_Console
+keycode 79 = Left Left Decr_Console
+keycode 80 = F1 F11 Console_1 Console_11
+keycode 81 = F2 F12 Console_2 Console_12
+keycode 82 = F3 F13 Console_3 Console_13
+keycode 83 = F4 F14 Console_4 Console_14
+keycode 84 = F5 F15 Console_5 Console_15
+keycode 85 = F6 F16 Console_6 Console_16
+keycode 86 = F7 F17 Console_7 Console_17
+keycode 87 = F8 F18 Console_8 Console_18
+keycode 88 = F9 F19 Console_9 Console_19
+keycode 89 = F10 F20 Console_10 Console_20
+keycode 90 = bracketleft braceleft bracketleft braceleft
+ control keycode 90 = Escape
+ alt keycode 90 = Num_Lock
+keycode 91 = bracketright braceright bracketright braceright
+ control keycode 91 = Control_bracketright
+ alt keycode 91 = Scroll_Lock
+keycode 92 = KP_Divide
+keycode 93 = KP_Multiply
+keycode 94 = KP_Add
+keycode 95 = Help Show_Memory Show_State
+ control keycode 95 = Show_Registers
+keycode 96 = Shift
+keycode 97 = Shift
+keycode 98 = Caps_Lock
+keycode 99 = Control
+keycode 100 = AltGr
+keycode 101 = AltGr
+keycode 102 = Alt
+keycode 103 = Alt
+keycode 104 =
+keycode 105 =
+keycode 106 =
+keycode 107 =
+keycode 108 =
+keycode 109 =
+keycode 110 =
+keycode 111 =
+keycode 112 =
+keycode 113 =
+keycode 114 =
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 =
+keycode 119 =
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+
diff --git a/keymaps/amiga/amiga-us.kmap b/keymaps/amiga/amiga-us.kmap
new file mode 100644
index 0000000..41ba3fb
--- /dev/null
+++ b/keymaps/amiga/amiga-us.kmap
@@ -0,0 +1,242 @@
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 1 = one exclam
+ alt keycode 1 = Meta_one
+keycode 2 = two at at nul
+ alt keycode 2 = Meta_two
+keycode 3 = three numbersign
+ control keycode 3 = Escape
+ alt keycode 3 = Meta_three
+keycode 4 = four dollar dollar Control_backslash
+ alt keycode 4 = Meta_four
+keycode 5 = five percent
+ control keycode 5 = Control_bracketright
+ alt keycode 5 = Meta_five
+keycode 6 = six asciicircum
+ control keycode 6 = Control_asciicircum
+ alt keycode 6 = Meta_six
+keycode 7 = seven ampersand braceleft Control_underscore
+ alt keycode 7 = Meta_seven
+keycode 8 = eight asterisk bracketleft Delete
+ alt keycode 8 = Meta_eight
+keycode 9 = nine parenleft bracketright
+ alt keycode 9 = Meta_nine
+keycode 10 = zero parenright braceright
+ alt keycode 10 = Meta_zero
+keycode 11 = minus underscore backslash Control_underscore
+ alt keycode 11 = Meta_minus
+keycode 12 = equal plus
+ alt keycode 12 = Meta_equal
+keycode 13 = backslash bar
+ control keycode 13 = Control_backslash
+ alt keycode 13 = Meta_backslash
+keycode 14 =
+keycode 15 = KP_0
+ alt keycode 15 = Ascii_0
+keycode 16 = +q +Q
+ control keycode 16 = Control_q
+ alt keycode 16 = Meta_q
+keycode 17 = +w +W
+ control keycode 17 = Control_w
+ alt keycode 17 = Meta_w
+keycode 18 = +e +E
+ control keycode 18 = Control_e
+ alt keycode 18 = Meta_e
+keycode 19 = +r +R
+ control keycode 19 = Control_r
+ alt keycode 19 = Meta_r
+keycode 20 = +t +T
+ control keycode 20 = Control_t
+ alt keycode 20 = Meta_t
+keycode 21 = +y +Y
+ control keycode 21 = Control_y
+ alt keycode 21 = Meta_y
+keycode 22 = +u +U
+ control keycode 22 = Control_u
+ alt keycode 22 = Meta_u
+keycode 23 = +i +I
+ control keycode 23 = Tab
+ alt keycode 23 = Meta_i
+keycode 24 = +o +O
+ control keycode 24 = Control_o
+ alt keycode 24 = Meta_o
+keycode 25 = +p +P
+ control keycode 25 = Control_p
+ alt keycode 25 = Meta_p
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = bracketright braceright asciitilde Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 =
+keycode 29 = KP_1
+ alt keycode 29 = Ascii_1
+keycode 30 = KP_2
+ alt keycode 30 = Ascii_2
+keycode 31 = KP_3
+ alt keycode 31 = Ascii_3
+keycode 32 = +a +A
+ control keycode 32 = Control_a
+ alt keycode 32 = Meta_a
+keycode 33 = +s +S
+ control keycode 33 = Control_s
+ alt keycode 33 = Meta_s
+keycode 34 = +d +D
+ control keycode 34 = Control_d
+ alt keycode 34 = Meta_d
+keycode 35 = +f +F
+ control keycode 35 = Control_f
+ alt keycode 35 = Meta_f
+keycode 36 = +g +G
+ control keycode 36 = Control_g
+ alt keycode 36 = Meta_g
+keycode 37 = +h +H
+ control keycode 37 = BackSpace
+ alt keycode 37 = Meta_h
+keycode 38 = +j +J
+ control keycode 38 = Linefeed
+ alt keycode 38 = Meta_j
+keycode 39 = +k +K
+ control keycode 39 = Control_k
+ alt keycode 39 = Meta_k
+keycode 40 = +l +L
+ control keycode 40 = Control_l
+ alt keycode 40 = Meta_l
+keycode 41 = semicolon colon
+ alt keycode 41 = Meta_semicolon
+keycode 42 = apostrophe quotedbl
+ control keycode 42 = Control_g
+ alt keycode 42 = Meta_apostrophe
+keycode 43 =
+keycode 44 =
+keycode 45 = KP_4
+ alt keycode 45 = Ascii_4
+keycode 46 = KP_5
+ alt keycode 46 = Ascii_5
+keycode 47 = KP_6
+ alt keycode 47 = Ascii_6
+keycode 48 =
+keycode 49 = +z +Z
+ control keycode 49 = Control_z
+ alt keycode 49 = Meta_z
+keycode 50 = +x +X
+ control keycode 50 = Control_x
+ alt keycode 50 = Meta_x
+keycode 51 = +c +C
+ control keycode 51 = Control_c
+ alt keycode 51 = Meta_c
+keycode 52 = +v +V
+ control keycode 52 = Control_v
+ alt keycode 52 = Meta_v
+keycode 53 = +b +B
+ control keycode 53 = Control_b
+ alt keycode 53 = Meta_b
+keycode 54 = +n +N
+ control keycode 54 = Control_n
+ alt keycode 54 = Meta_n
+keycode 55 = +m +M
+ control keycode 55 = Control_m
+ alt keycode 55 = Meta_m
+keycode 56 = comma less
+ alt keycode 56 = Meta_comma
+keycode 57 = period greater
+ alt keycode 57 = Meta_period
+keycode 58 = slash question
+ control keycode 58 = Delete
+ alt keycode 58 = Meta_slash
+keycode 59 =
+keycode 60 = KP_Period
+ control alt keycode 60 = Boot
+keycode 61 = KP_7
+ alt keycode 61 = Ascii_7
+keycode 62 = KP_8
+ alt keycode 62 = Ascii_8
+keycode 63 = KP_9
+ alt keycode 63 = Ascii_9
+keycode 64 = space space
+ control keycode 64 = nul
+ alt keycode 64 = Meta_space
+keycode 65 = Delete Delete Delete Delete Delete Meta_Delete Delete
+keycode 66 = Tab Tab
+ alt keycode 66 = Meta_Tab
+keycode 67 = KP_Enter
+keycode 68 = Return
+ alt keycode 68 = Meta_Control_m
+keycode 69 = Escape Escape
+ alt keycode 69 = Meta_Escape
+keycode 70 = Delete Delete
+ alt keycode 70 = Meta_Delete
+keycode 71 =
+keycode 72 =
+keycode 73 =
+keycode 74 = KP_Subtract
+keycode 75 =
+keycode 76 = Up
+keycode 77 = Down
+keycode 78 = Right
+keycode 79 = Left
+keycode 80 = F1 F11 Console_13 F1
+ alt keycode 80 = Console_1
+keycode 81 = F2 F12 Console_14 F2
+ alt keycode 81 = Console_2
+keycode 82 = F3 F13 Console_15 F3
+ alt keycode 82 = Console_3
+keycode 83 = F4 F14 Console_16 F4
+ alt keycode 83 = Console_4
+keycode 84 = F5 F15 Console_17 F5
+ alt keycode 84 = Console_5
+keycode 85 = F6 F16 Console_18 F6
+ alt keycode 85 = Console_6
+keycode 86 = F7 F17 Console_19 F7
+ alt keycode 86 = Console_7
+keycode 87 = F8 F18 Console_20 F8
+ alt keycode 87 = Console_8
+keycode 88 = F9 F19 Console_21 F9
+ alt keycode 88 = Console_9
+keycode 89 = F10 F20 Console_22 F10
+ alt keycode 89 = Console_10
+keycode 90 = Num_Lock
+keycode 91 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 91 = Scroll_Lock
+keycode 92 = KP_Divide
+keycode 93 = KP_Multiply
+keycode 94 = KP_Add
+keycode 95 = F11
+ altgr keycode 95 = Console_23
+ shift control keycode 95 = VoidSymbol
+ alt keycode 95 = Console_11
+ control alt keycode 95 = VoidSymbol
+keycode 96 = Shift
+keycode 97 = Shift
+keycode 98 = Caps_Lock
+keycode 99 = Control
+keycode 100 = Alt
+keycode 101 = AltGr
+keycode 102 =
+keycode 103 =
+keycode 104 =
+keycode 105 =
+keycode 106 =
+keycode 107 =
+keycode 108 =
+keycode 109 =
+keycode 110 =
+keycode 111 =
+keycode 112 =
+keycode 113 =
+keycode 114 =
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 =
+keycode 119 =
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/atari/atari-de-deadkeys.kmap b/keymaps/atari/atari-de-deadkeys.kmap
new file mode 100644
index 0000000..63088f1
--- /dev/null
+++ b/keymaps/atari/atari-de-deadkeys.kmap
@@ -0,0 +1,256 @@
+#
+# Keyboard Mapping for Atari Keyboards, German Layout
+# ---------------------------------------------------
+#
+# Copyright 1994 Roman Hodek
+# Updated August 1998 Roman Hodek
+#
+# This file is subject to the terms and conditions of the GNU General Public
+# License. See the file README.legal in the main directory of this archive
+# for more details.
+#
+# Notes:
+# ------
+#
+# This keymap does not use an AltGr key, since the Atari keyboard
+# doesn't have such a key. Most times, the Alt key takes over the role
+# of AltGr.
+#
+# Some mappings you might want to know about:
+# - ClrHome is Home (aka Find)
+# - Shift+ClrHome is End (aka Select)
+# - Shift+Up/Down are Page Up/Down (aka Prior/Next)
+# - Alt + the numbers of the keypad lets you enter a character by its
+# decimal code
+# - Shift+Control + one of a,b,c,d,e,f or a number on the keypad lets
+# you enter the hex code of a character
+# - Alt+CapsLock is NumLock
+# - You can enter F11..F20 by pressing Shift+F1..F10
+# - Console (vt) switching:
+# Alt+F1..F10 switch to console 1..10
+# Shift+Alt+F1..F10 switch to console 11..20
+# Control+Alt+F1..F10 switch to console 21..30
+# Shift+Control_Alt+F1..F10 switch to console 31..40
+# Alt+Left/Right switches to previous/next console
+# Alt+Undo switches to last console
+# Alt+Control+Undo sends a keyboard request to the init process;
+# the default action is to spawn a new console
+# - Kernel information:
+# Alt+Help, Shift+Alt+Help, Control+Alt+Help: system status
+# Control+Help: registers
+# Shift+Help: memory info
+# (Note: with a 2.1 kernel and MAGIC_SYSRQ enabled, Alt+Help is SysRq)
+# - Shift+Undo sends a signal to the current foreground process (same as ^C)
+# - Alt+Up/Down scroll the console up/down (if implemented in the kernel)
+# - Alt+Ins stops/starts output (Scroll_Lock function, same as ^S/^Q)
+# - Control+Alt+Delete reboots the system, as usual (by sending a request to
+# the init process)
+#
+# There is no natural way to generate Meta codes for the characters [,],{,},
+# @ and \, that already need Alt to be pressed together with one of the
+# umlaut keys. I've choosen the following scheme, though it may not be
+# very intuitive in all cases (who knows a better solution??):
+# 1) The key with Alt (and maybe shift) gives the character engraved to the
+# right (i.e. [,@,\,...)
+# 2) The key with Control (and maybe shift) gives the control character
+# corresponding the the character engraved to the _right_, if one exists.
+# This happens because the umlaut characters have no corresponding control
+# character anyway.
+# 3) The key with Control and Alt (and maybe shift) gives the Meta equivalent
+# (with 8. bit set or prepended by ESC) of the character engraved to the
+# right. Again, Meta's of the umlaut characters do not exist, since they
+# already have their 8. bit set.
+# One could argue that it would be more consistent to require Alt and Control
+# to be pressed to get the control characters (case 2). That's true, but in
+# my opinion, it is even more inconsistent to generate Meta codes without the
+# Alt key pressed (but just with Control). And it would be very bad, if the
+# Meta versions of [,{,@,... could not be typed at all!
+#
+# I've kept the convention that the digit keys 2..8 on the main keyboard
+# generate the control characters not corresponding to letters (^@, ^[ .. ^_
+# and ^?=DEL) when pressed with Control. It is convention, too, that the shift
+# key must not be pressed for this effect. Also, Meta+Control plus these keys
+# give the Metas of these controls.
+#
+# The current loadkeys (0.96) doesn't know names for KP_Parenleft (0x0312) and
+# KP_Parenright, so I had to write them down as hex codes :-(
+#
+
+charset "iso-8859-1"
+keymaps 0-1,4-5,8-9,12-13
+strings as usual
+compose as usual for "iso-8859-1"
+
+# plain Shift Control Shift+Control Alt Shift+Alt Control+Alt Shift+Ctrl+Alt
+keycode 1 = Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 2 = one exclam VoidSymbol VoidSymbol Meta_one Meta_exclam VoidSymbol VoidSymbol
+# nul = Control_at
+keycode 3 = two quotedbl nul VoidSymbol Meta_two Meta_quotedbl Meta_nul VoidSymbol
+keycode 4 = three section Escape VoidSymbol Meta_three Meta_numbersign Meta_Escape VoidSymbol
+keycode 5 = four dollar Control_backslash VoidSymbol Meta_four Meta_dollar Meta_Control_backslash VoidSymbol
+keycode 6 = five percent Control_bracketright VoidSymbol Meta_five Meta_percent Meta_Control_bracketright VoidSymbol
+keycode 7 = six ampersand Control_asciicircum VoidSymbol Meta_six Meta_ampersand Meta_Control_asciicircum VoidSymbol
+keycode 8 = seven slash Control_underscore VoidSymbol Meta_seven Meta_slash Meta_Control_underscore VoidSymbol
+keycode 9 = eight parenleft Delete VoidSymbol Meta_eight Meta_parenleft Meta_Delete VoidSymbol
+keycode 10 = nine parenright VoidSymbol VoidSymbol Meta_nine Meta_parenright VoidSymbol VoidSymbol
+keycode 11 = zero equal VoidSymbol VoidSymbol Meta_zero Meta_equal VoidSymbol VoidSymbol
+keycode 12 = ssharp question VoidSymbol VoidSymbol Meta_question Meta_question VoidSymbol VoidSymbol
+keycode 13 = dead_acute dead_grave VoidSymbol VoidSymbol Meta_apostrophe Meta_grave VoidSymbol VoidSymbol
+keycode 14 = Delete Delete Delete Delete Meta_Delete Meta_Delete Meta_Delete Meta_Delete
+keycode 15 = Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+keycode 16 = +q
+keycode 17 = +w
+keycode 18 = +e
+ shift control keycode 18 = Hex_E
+keycode 19 = +r
+keycode 20 = +t
+keycode 21 = +z
+keycode 22 = +u
+keycode 23 = +i
+keycode 24 = +o
+keycode 25 = +p
+keycode 26 = +udiaeresis +Udiaeresis nul Control_backslash at backslash Meta_at Meta_backslash
+keycode 27 = plus asterisk Control_bracketright VoidSymbol Meta_plus Meta_asterisk Meta_Control_bracketright VoidSymbol
+keycode 28 = Return Return Return Return Meta_Control_m Meta_Control_m Return Return
+keycode 29 = Control
+keycode 30 = +a
+ shift control keycode 30 = Hex_A
+keycode 31 = +s
+keycode 32 = +d
+ shift control keycode 32 = Hex_D
+keycode 33 = +f
+ shift control keycode 33 = Hex_F
+keycode 34 = +g
+keycode 35 = +h
+keycode 36 = +j
+keycode 37 = +k
+keycode 38 = +l
+# Escape = Control-[
+keycode 39 = +odiaeresis +Odiaeresis Escape VoidSymbol bracketleft braceleft Meta_bracketleft Meta_braceleft
+keycode 40 = +adiaeresis +Adiaeresis Control_bracketright VoidSymbol bracketright braceright Meta_bracketright Meta_braceright
+keycode 41 = numbersign dead_circumflex Control_asciicircum Control_asciicircum Meta_numbersign Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum
+keycode 42 = Shift
+keycode 43 = dead_tilde bar VoidSymbol VoidSymbol Meta_asciitilde Meta_bar VoidSymbol VoidSymbol
+keycode 44 = +y
+keycode 45 = +x
+keycode 46 = +c
+ shift control keycode 46 = Hex_C
+keycode 47 = +v
+keycode 48 = +b
+ shift control keycode 48 = Hex_B
+keycode 49 = +n
+keycode 50 = +m
+keycode 51 = comma semicolon dead_cedilla VoidSymbol Meta_comma Meta_semicolon VoidSymbol VoidSymbol
+keycode 52 = period colon VoidSymbol VoidSymbol Meta_period Meta_colon VoidSymbol VoidSymbol
+keycode 53 = minus underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_Control_underscore Meta_Control_underscore
+keycode 54 = Shift
+keycode 55 =
+keycode 56 = Alt
+keycode 57 = space space nul nul Meta_space Meta_space Meta_nul Meta_nul
+keycode 58 = Caps_Lock
+ alt keycode 58 = Num_Lock
+keycode 59 = F1 F11 F1 F1 Console_1 Console_11 Console_21 Console_31
+keycode 60 = F2 F12 F2 F2 Console_2 Console_12 Console_22 Console_32
+keycode 61 = F3 F13 F3 F3 Console_3 Console_13 Console_23 Console_33
+keycode 62 = F4 F14 F4 F4 Console_4 Console_14 Console_24 Console_34
+keycode 63 = F5 F15 F5 F5 Console_5 Console_15 Console_25 Console_35
+keycode 64 = F6 F16 F6 F6 Console_6 Console_16 Console_26 Console_36
+keycode 65 = F7 F17 F7 F7 Console_7 Console_17 Console_27 Console_37
+keycode 66 = F8 F18 F8 F8 Console_8 Console_18 Console_28 Console_38
+keycode 67 = F9 F19 F9 F9 Console_9 Console_19 Console_29 Console_39
+keycode 68 = F10 F20 F10 F10 Console_10 Console_20 Console_30 Console_40
+keycode 69 =
+keycode 70 =
+# ClrHome
+keycode 71 = Find Select Find Select Find Select Find Select
+keycode 72 = Up Prior Up Prior Scroll_Backward Prior Up Prior
+keycode 73 =
+keycode 74 = KP_Subtract
+keycode 75 = Left
+ alt keycode 75 = Decr_Console
+keycode 76 =
+keycode 77 = Right
+ alt keycode 77 = Incr_Console
+keycode 78 = KP_Add
+keycode 79 =
+keycode 80 = Down Next Down Next Scroll_Forward Next Down Next
+keycode 81 =
+keycode 82 = Insert
+ alt keycode 82 = Scroll_Lock
+keycode 83 = Remove Remove Remove Remove Meta_Delete Meta_Delete Boot Meta_Delete
+keycode 84 =
+keycode 85 =
+keycode 86 =
+keycode 87 =
+keycode 88 =
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = less greater VoidSymbol VoidSymbol Meta_less Meta_greater VoidSymbol VoidSymbol
+# F246 = Undo
+keycode 97 = F246 Break F246 F246 Last_Console F246 Spawn_Console F246
+keycode 98 = Help Show_Memory Show_Registers VoidSymbol Show_State Show_State Show_State VoidSymbol
+keycode 99 = 0x0312 # K_PPARENL; loadkeys has no symbol for this :-(
+keycode 100 = 0x0313 # K_PPARENR
+keycode 101 = KP_Divide
+keycode 102 = KP_Multiply
+keycode 103 = KP_7
+ shift keycode 103 = Find
+ shift control keycode 103 = Hex_7
+ alt keycode 103 = Ascii_7
+keycode 104 = KP_8
+ shift keycode 104 = Up
+ shift control keycode 104 = Hex_8
+ alt keycode 104 = Ascii_8
+keycode 105 = KP_9
+ shift keycode 105 = Prior
+ shift control keycode 105 = Hex_9
+ alt keycode 105 = Ascii_9
+keycode 106 = KP_4
+ shift keycode 106 = Right
+ shift control keycode 106 = Hex_4
+ alt keycode 106 = Ascii_4
+keycode 107 = KP_5
+ shift control keycode 107 = Hex_5
+ alt keycode 107 = Ascii_5
+keycode 108 = KP_6
+ shift keycode 108 = Left
+ shift control keycode 108 = Hex_6
+ alt keycode 108 = Ascii_6
+keycode 109 = KP_1
+ shift keycode 109 = Select
+ shift control keycode 109 = Hex_1
+ alt keycode 109 = Ascii_1
+keycode 110 = KP_2
+ shift keycode 110 = Down
+ shift control keycode 110 = Hex_2
+ alt keycode 110 = Ascii_2
+keycode 111 = KP_3
+ shift keycode 111 = Next
+ shift control keycode 111 = Hex_3
+ alt keycode 111 = Ascii_3
+keycode 112 = KP_0
+ shift keycode 112 = Insert
+ shift control keycode 112 = Hex_0
+ alt keycode 112 = Ascii_0
+keycode 113 = KP_Period
+ shift keycode 113 = Remove
+ alt control keycode 113 = Boot
+keycode 114 = KP_Enter
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 =
+keycode 119 =
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/atari/atari-de-emacs.kmap b/keymaps/atari/atari-de-emacs.kmap
new file mode 100644
index 0000000..07b11e6
--- /dev/null
+++ b/keymaps/atari/atari-de-emacs.kmap
@@ -0,0 +1,514 @@
+# Keyboard Mapping for Atari Keyboards, German Layout
+# ---------------------------------------------------
+#
+# Copyright 1994 Roman Hodek
+#
+# This file is subject to the terms and conditions of the GNU General Public
+# License.
+#
+# Notes:
+# ------
+#
+# This file assumes that the currently active mapping is the Atari default
+# mapping (US layout) in my version as found in drivers/char/defkeymap.c
+# (conditionalized to machine type). Only the necessary alternations are
+# done!
+#
+# Dead keys (i.e. pressing ^ and e gives œ, an e with hat) are not
+# used, because I consider this annoying. All characters needed for
+# German are possible without deadkeys. If you want them, apply the following
+# replacements:
+# grave -> dead_grave
+# apostrophe -> dead_acute
+# asciicircum -> dead_circumflex
+# asciitilde -> dead_tilde
+# In atari-german-deadkeys.map exactly this is done.
+#
+# Lines commented out by '!' are settings that are done implicitly by
+# loadkeys.
+#
+# There is no natural way to generate Meta codes for the characters [,],{,},
+# @ and \, that already need Alt to be pressed together with one of the
+# umlaut keys. I've choosen the following scheme, though it may not be
+# very intuitive in all cases (who knows a better solution??):
+# 1) The key with Alt (and maybe shift) gives the character engraved to the
+# right (i.e. [,@,\,...)
+# 2) The key with Control (and maybe shift) gives the control character
+# corresponding the the character engraved to the _right_, if one exists.
+# This happens because the umlaut characters have no corresponding control
+# character anyway.
+# 3) The key with Control and Alt (and maybe shift) gives the Meta equivalent
+# (with 8. bit set or prepended by ESC) of the character engraved to the
+# right. Again, Meta's of the umlaut characters do not exist, since they
+# already have their 8. bit set.
+# One could argue that it would be more consistent to require Alt and Control
+# to be pressed to get the control characters (case 2). That's true, but in
+# my opinion, it is even more inconsistent to generate Meta codes without the
+# Alt key pressed (but just with Control). And it would be very bad, if the
+# Meta versions of [,{,@,... could not be typed at all!
+#
+# I've kept the convention that the digit keys 2..8 on the main keyboard
+# generate the control characters not corresponding to letters (^@, ^[ .. ^_
+# and ^?=DEL) when pressed with Control. It is convention, too, that the shift
+# key must not be pressed for this effect. Also, Meta+Control plus these keys
+# give the Metas of these controls.
+#
+# The standard loadkeys (at least the version I have) doesn't understand the
+# combination of Meta and Control in symbolic names (i.e. Meta_Control_a is
+# invalid, but some names like Meta_Backspace or Meta_Tab are). For this
+# reason, I replaced the offending names by their numeric equivalent. This
+# depends on KT_META being 8!
+#
+# The umlaut keys cannot be set via ?diaeresis, because this would make them
+# to be of type KT_LATIN1, and they should be type KT_LETTER to be affected
+# by CAPSLOCK. Their definition is thus in hex :-(
+#
+
+# only define tables for plain, shift, ctrl, shift+ctrl, alt, shift+alt,
+# alt+ctrl, shift+alt+ctrl, i.e. always AltGr omitted
+keymaps 0,1,4,5,8,9,12,13
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 0 =
+
+keycode 1 = Escape Escape \
+ Escape Escape \
+ Meta_Escape Meta_Escape \
+ Meta_Escape Meta_Escape
+
+keycode 2 = one exclam \
+ VoidSymbol VoidSymbol \
+ Meta_one Meta_exclam \
+ VoidSymbol VoidSymbol
+
+# nul = Control_at
+keycode 3 = two quotedbl \
+ nul nul \
+ Meta_two Meta_quotedbl \
+ Meta_nul VoidSymbol
+
+# Meta_Escape = Control_bracketleft
+keycode 4 = three section \
+ Escape VoidSymbol \
+ Meta_three VoidSymbol \
+ Meta_Escape VoidSymbol
+
+keycode 5 = four dollar \
+ Control_backslash VoidSymbol \
+ Meta_four Meta_dollar \
+ Meta_Control_backslash VoidSymbol
+
+keycode 6 = five percent \
+ Control_bracketright VoidSymbol \
+ Meta_five Meta_percent \
+ Meta_Control_bracketright VoidSymbol
+
+keycode 7 = six ampersand \
+ Control_asciicircum VoidSymbol \
+ Meta_six Meta_ampersand \
+ Meta_Control_asciicircum VoidSymbol
+
+keycode 8 = seven slash \
+ Control_underscore VoidSymbol \
+ Meta_seven Meta_slash \
+ Meta_Control_underscore VoidSymbol
+
+keycode 9 = eight parenleft \
+ Delete VoidSymbol \
+ Meta_eight Meta_parenleft \
+ Meta_Delete VoidSymbol
+
+keycode 10 = nine parenright \
+ VoidSymbol VoidSymbol \
+ Meta_nine Meta_parenright \
+ VoidSymbol VoidSymbol
+
+keycode 11 = zero equal \
+ VoidSymbol VoidSymbol \
+ Meta_zero Meta_equal \
+ VoidSymbol VoidSymbol
+
+# ssharp has 8th bit already set, so don't define meta code for it!
+keycode 12 = ssharp question \
+ VoidSymbol VoidSymbol \
+ VoidSymbol Meta_question \
+ VoidSymbol VoidSymbol
+
+# F23 for making emacs C-x C-' easier
+keycode 13 = apostrophe grave \
+ F23 VoidSymbol \
+ Meta_apostrophe Meta_grave \
+ VoidSymbol VoidSymbol
+
+# Backspace key should send ^? code to distinguish from C-h
+keycode 14 = Delete Delete \
+ Delete Delete \
+ Meta_Delete Meta_Delete \
+
+# F21 for emacs C-TAB
+keycode 15 = Tab Tab \
+ F21 F21 \
+ Meta_Tab Meta_Tab \
+ VoidSymbol VoidSymbol
+
+keycode 16 = +q
+keycode 17 = +w
+keycode 18 = +e
+keycode 19 = +r
+keycode 20 = +t
+keycode 21 = +z
+keycode 22 = +u
+keycode 23 = +i
+keycode 24 = +o
+keycode 25 = +p
+
+# without Alt or Control: umlaut
+# with Control: Control chars for Alt chars
+# with Alt: standard Atari alternate symbols
+# with Alt and Control: Meta's for Alt chars (Who knows a better way
+# to implement these?)
+keycode 26 = +udiaeresis +Udiaeresis \
+ nul Control_backslash \
+ at backslash \
+ Meta_at Meta_backslash
+
+keycode 27 = plus asterisk \
+ VoidSymbol VoidSymbol \
+ Meta_plus Meta_asterisk \
+ VoidSymbol VoidSymbol
+
+keycode 28 = Return Return \
+ Linefeed Linefeed \
+ Meta_Control_m Meta_Control_m \
+ Meta_Linefeed Meta_Linefeed
+
+keycode 29 = Control
+
+keycode 30 = +a
+keycode 31 = +s
+keycode 32 = +d
+keycode 33 = +f
+keycode 34 = +g
+keycode 35 = +h
+keycode 36 = +j
+keycode 37 = +k
+keycode 38 = +l
+
+# without Alt or Control: umlaut
+# with Control: Control chars for Alt chars
+# with Alt: standard Atari alternate symbols
+# with Alt and Control: Meta's for Alt chars (Who knows a better way
+# to implement these?)
+# Escape = Control_bracketleft
+# braceleft has no associated Control code
+keycode 39 = +odiaeresis +Odiaeresis \
+ Escape VoidSymbol \
+ bracketleft braceleft \
+ Meta_bracketleft Meta_braceleft
+
+# without Alt or Control: umlaut
+# with Control: Control chars for Alt chars
+# with Alt: standard Atari alternate symbols
+# with Alt and Control: Meta's for Alt chars (Who knows a better way
+# to implement these?)
+# braceright has no associated Control code
+keycode 40 = +adiaeresis +Adiaeresis \
+ Control_bracketright VoidSymbol \
+ bracketright braceright \
+ Meta_bracketright Meta_braceright
+
+# ^^ at unshifted, too, for convenience
+keycode 41 = numbersign asciicircum \
+ Control_asciicircum Control_asciicircum \
+ Meta_numbersign Meta_asciicircum \
+ Meta_Control_asciicircum Meta_Control_asciicircum
+
+keycode 42 = Shift
+
+keycode 43 = asciitilde bar \
+ VoidSymbol VoidSymbol \
+ Meta_asciitilde Meta_bar \
+ VoidSymbol VoidSymbol
+
+keycode 44 = +y
+keycode 45 = +x
+keycode 46 = +c
+keycode 47 = +v
+keycode 48 = +b
+keycode 49 = +n
+keycode 50 = +m
+
+keycode 51 = comma semicolon \
+ VoidSymbol VoidSymbol \
+ Meta_comma Meta_semicolon \
+ VoidSymbol VoidSymbol
+
+keycode 52 = period colon \
+ VoidSymbol VoidSymbol \
+ Meta_period Meta_colon \
+ VoidSymbol VoidSymbol
+
+# ^_ at unshifted, too, for convenience
+keycode 53 = minus underscore \
+ Control_underscore Control_underscore \
+ Meta_minus Meta_underscore \
+ Meta_Control_underscore Meta_Control_underscore
+
+keycode 54 = Shift
+keycode 55 =
+keycode 56 = Alt
+
+keycode 57 = space space \
+ nul nul \
+ Meta_space Meta_space \
+ Meta_nul Meta_nul
+
+keycode 58 = Caps_Lock
+
+# ctrl+Fx conventionally is the same as without
+keycode 59 = F1 F11 \
+ F1 F11 \
+ Console_1 Console_11 \
+ VoidSymbol VoidSymbol
+
+keycode 60 = F2 F12 \
+ F2 F12 \
+ Console_2 Console_12 \
+ VoidSymbol VoidSymbol
+
+keycode 61 = F3 F13 \
+ F3 F13 \
+ Console_3 Console_13 \
+ VoidSymbol VoidSymbol
+
+keycode 62 = F4 F14 \
+ F4 F14 \
+ Console_4 Console_14 \
+ VoidSymbol VoidSymbol
+
+keycode 63 = F5 F15 \
+ F5 F15 \
+ Console_5 Console_15 \
+ VoidSymbol VoidSymbol
+
+keycode 64 = F6 F16 \
+ F6 F16 \
+ Console_6 Console_16 \
+ VoidSymbol VoidSymbol
+
+keycode 65 = F7 F17 \
+ F7 F17 \
+ Console_7 Console_17 \
+ VoidSymbol VoidSymbol
+
+keycode 66 = F8 F18 \
+ F8 F18 \
+ Console_8 Console_18 \
+ VoidSymbol VoidSymbol
+
+keycode 67 = F9 F19 \
+ F9 F19 \
+ Console_9 Console_19 \
+ VoidSymbol VoidSymbol
+
+keycode 68 = F10 F20 \
+ F10 F20 \
+ Console_10 Console_20 \
+ VoidSymbol VoidSymbol
+
+keycode 69 =
+keycode 70 =
+
+keycode 71 = Home End \
+ Meta_less Meta_greater \
+ Meta_less Meta_greater \
+ Meta_less Meta_greater
+
+# C-up = M-C-a = beginning-of-defun
+keycode 72 = Up PageUp \
+ Meta_Control_a Up \
+ PageUp Meta_less \
+ Scroll_Backward Scroll_Backward
+
+keycode 73 =
+
+keycode 74 = KP_Subtract
+
+# C-left = M-a = backward-sentence/c-beginning-of-statement
+keycode 75 = Left Left \
+ Meta_a Decr_Console \
+ Meta_b Meta_B \
+ Left Left
+
+keycode 76 =
+
+# C-right = M-e = forward-sentence/c-end-of-statement
+keycode 77 = Right Right \
+ Meta_e Incr_Console \
+ Meta_f Meta_F \
+ Right Right
+
+keycode 78 = KP_Add
+
+keycode 79 =
+
+# C-down = M-C-e = end-of-defun
+keycode 80 = Down PageDown \
+ Meta_Control_e Down \
+ PageDown Meta_greater \
+ Scroll_Forward Scroll_Forward
+
+keycode 81 =
+
+# C-Ins = F24 -> overwrite-mode
+# M-C-Ins = F25 -> auto-fill-mode
+# S-M-C-Ins = F22 -> insert-header-defines
+keycode 82 = Insert Insert \
+ F24 Insert \
+ Insert Insert \
+ F25 F22
+
+# S-Del -> C-w -> kill-region
+# C-Del -> M-C-? -> backward-kill-word
+# S-C-Del -> M-C-k -> kill-sexp
+# M-Del -> M-d -> kill-word
+# C-A-D -> BOOT
+keycode 83 = Remove Control_w \
+ Meta_Delete Meta_Control_k \
+ Meta_d Meta_D \
+ Boot Meta_Control_d
+
+keycode 84 =
+keycode 85 =
+keycode 86 =
+keycode 87 =
+keycode 88 =
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+
+keycode 96 = less greater \
+ VoidSymbol VoidSymbol \
+ Meta_less Meta_greater \
+ VoidSymbol VoidSymbol
+
+# Undo: (strange key: doesn't generate any keycode with Control, Alt get
+# unpressed magically...)
+keycode 97 = Macro Break
+
+# Help:
+keycode 98 = Help Show_Memory \
+ Show_Registers Last_Console \
+ Show_State VoidSymbol \
+ KeyboardSignal Num_Lock
+
+# is really '(' on keypad, on my keyboard PageUp
+# C-PageUp -> M-C-a = beginning-of-defun
+# S-C-PageUp = F27 -> C-x [ = backward-page
+# M-PageUp -> M-{ = backward-paragraph
+keycode 99 = PageUp Scroll_Backward \
+ Meta_Control_a F27 \
+ Meta_braceleft PageUp \
+ PageUp PageUp
+
+# is really ')' on keypad, on my keyboard PageDown
+# C-PageDown -> M-C-e = end-of-defun
+# S-C-PageDown = F28 -> C-x ] = forward-page
+# M-PageDown -> M-} = forward-paragraph
+keycode 100 = PageDown Scroll_Forward \
+ Meta_Control_e F28 \
+ Meta_braceleft PageDown \
+ PageDown PageDown
+
+keycode 101 = KP_Divide
+
+keycode 102 = KP_Multiply
+
+keycode 103 = KP_7 Home \
+ seven VoidSymbol \
+ Ascii_7 VoidSymbol \
+ VoidSymbol VoidSymbol
+
+keycode 104 = KP_8 Up \
+ eight VoidSymbol \
+ Ascii_7 VoidSymbol \
+ VoidSymbol VoidSymbol
+
+keycode 105 = KP_9 PageUp \
+ nine VoidSymbol \
+ Ascii_9 VoidSymbol \
+ VoidSymbol VoidSymbol
+
+keycode 106 = KP_4 Left \
+ four VoidSymbol \
+ Ascii_4 VoidSymbol \
+ VoidSymbol VoidSymbol
+
+keycode 107 = KP_5 VoidSymbol \
+ five VoidSymbol \
+ Ascii_5 VoidSymbol \
+ VoidSymbol VoidSymbol
+
+keycode 108 = KP_6 Right \
+ six VoidSymbol \
+ Ascii_6 VoidSymbol \
+ VoidSymbol VoidSymbol
+
+keycode 109 = KP_1 End \
+ one VoidSymbol \
+ Ascii_1 VoidSymbol \
+ VoidSymbol VoidSymbol
+
+keycode 110 = KP_2 Down \
+ two VoidSymbol \
+ Ascii_2 VoidSymbol \
+ VoidSymbol VoidSymbol
+
+keycode 111 = KP_3 PageDown \
+ three VoidSymbol \
+ Ascii_3 VoidSymbol \
+ VoidSymbol VoidSymbol
+
+keycode 112 = KP_0 Insert \
+ zero VoidSymbol \
+ Ascii_0 VoidSymbol \
+ VoidSymbol VoidSymbol
+
+keycode 113 = KP_Period Remove \
+ period VoidSymbol \
+ VoidSymbol VoidSymbol \
+ VoidSymbol VoidSymbol
+
+keycode 114 = KP_Enter
+
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 =
+keycode 119 =
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+
+string Help = "\033[P"
+
+# own extensions
+string F21 = "\033[31~"
+string F22 = "\033[32~"
+string F23 = "\033[33~"
+string F24 = "\033[34~"
+string F25 = "\033[35~"
+string F26 = "\033[36~"
+string F27 = "\030["
+string F28 = "\030]"
+
diff --git a/keymaps/atari/atari-de.kmap b/keymaps/atari/atari-de.kmap
new file mode 100644
index 0000000..a8cd02b
--- /dev/null
+++ b/keymaps/atari/atari-de.kmap
@@ -0,0 +1,267 @@
+#
+# Keyboard Mapping for Atari Keyboards, German Layout
+# ---------------------------------------------------
+#
+# Copyright 1994 Roman Hodek
+# Updated August 1998 Roman Hodek
+#
+# This file is subject to the terms and conditions of the GNU General Public
+# License. See the file README.legal in the main directory of this archive
+# for more details.
+#
+# Notes:
+# ------
+#
+# This keymap does not use an AltGr key, since the Atari keyboard
+# doesn't have such a key. Most times, the Alt key takes over the role
+# of AltGr.
+#
+# Some mappings you might want to know about:
+# - ClrHome is Home (aka Find)
+# - Shift+ClrHome is End (aka Select)
+# - Shift+Up/Down are Page Up/Down (aka Prior/Next)
+# - Alt + the numbers of the keypad lets you enter a character by its
+# decimal code
+# - Shift+Control + one of a,b,c,d,e,f or a number on the keypad lets
+# you enter the hex code of a character
+# - Alt+CapsLock is NumLock
+# - You can enter F11..F20 by pressing Shift+F1..F10
+# - Console (vt) switching:
+# Alt+F1..F10 switch to console 1..10
+# Shift+Alt+F1..F10 switch to console 11..20
+# Control+Alt+F1..F10 switch to console 21..30
+# Shift+Control_Alt+F1..F10 switch to console 31..40
+# Alt+Left/Right switches to previous/next console
+# Alt+Undo switches to last console
+# Alt+Control+Undo sends a keyboard request to the init process;
+# the default action is to spawn a new console
+# - Kernel information:
+# Alt+Help, Shift+Alt+Help, Control+Alt+Help: system status
+# Control+Help: registers
+# Shift+Help: memory info
+# (Note: with a 2.1 kernel and MAGIC_SYSRQ enabled, Alt+Help is SysRq)
+# - Shift+Undo sends a signal to the current foreground process (same as ^C)
+# - Alt+Up/Down scroll the console up/down (if implemented in the kernel)
+# - Alt+Ins stops/starts output (Scroll_Lock function, same as ^S/^Q)
+# - Control+Alt+Delete reboots the system, as usual (by sending a request to
+# the init process)
+#
+# Dead keys (i.e. pressing ^ and e gives œ, an e with hat) are not
+# used, because I consider this annoying. All characters needed for
+# German are possible without deadkeys. If you want them, apply the following
+# replacements:
+# grave -> dead_grave
+# apostrophe -> dead_acute
+# asciicircum -> dead_circumflex
+# asciitilde -> dead_tilde
+# quotedbl -> dead_diaeresis
+# Ctrl-comma -> dead_cedilla
+#
+# There is no natural way to generate Meta codes for the characters [,],{,},
+# @ and \, that already need Alt to be pressed together with one of the
+# umlaut keys. I've choosen the following scheme, though it may not be
+# very intuitive in all cases (who knows a better solution??):
+# 1) The key with Alt (and maybe shift) gives the character engraved to the
+# right (i.e. [,@,\,...)
+# 2) The key with Control (and maybe shift) gives the control character
+# corresponding the the character engraved to the _right_, if one exists.
+# This happens because the umlaut characters have no corresponding control
+# character anyway.
+# 3) The key with Control and Alt (and maybe shift) gives the Meta equivalent
+# (with 8. bit set or prepended by ESC) of the character engraved to the
+# right. Again, Meta's of the umlaut characters do not exist, since they
+# already have their 8. bit set.
+# One could argue that it would be more consistent to require Alt and Control
+# to be pressed to get the control characters (case 2). That's true, but in
+# my opinion, it is even more inconsistent to generate Meta codes without the
+# Alt key pressed (but just with Control). And it would be very bad, if the
+# Meta versions of [,{,@,... could not be typed at all!
+#
+# I've kept the convention that the digit keys 2..8 on the main keyboard
+# generate the control characters not corresponding to letters (^@, ^[ .. ^_
+# and ^?=DEL) when pressed with Control. It is convention, too, that the shift
+# key must not be pressed for this effect. Also, Meta+Control plus these keys
+# give the Metas of these controls.
+#
+# The current loadkeys (0.96) doesn't know names for KP_Parenleft (0x0312) and
+# KP_Parenright, so I had to write them down as hex codes :-(
+#
+
+charset "iso-8859-1"
+keymaps 0-1,4-5,8-9,12-13
+strings as usual
+compose as usual for "iso-8859-1"
+
+# plain Shift Control Shift+Control Alt Shift+Alt Control+Alt Shift+Ctrl+Alt
+keycode 1 = Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 2 = one exclam VoidSymbol VoidSymbol Meta_one Meta_exclam VoidSymbol VoidSymbol
+# nul = Control_at
+keycode 3 = two quotedbl nul VoidSymbol Meta_two Meta_quotedbl Meta_nul VoidSymbol
+keycode 4 = three section Escape VoidSymbol Meta_three Meta_numbersign Meta_Escape VoidSymbol
+keycode 5 = four dollar Control_backslash VoidSymbol Meta_four Meta_dollar Meta_Control_backslash VoidSymbol
+keycode 6 = five percent Control_bracketright VoidSymbol Meta_five Meta_percent Meta_Control_bracketright VoidSymbol
+keycode 7 = six ampersand Control_asciicircum VoidSymbol Meta_six Meta_ampersand Meta_Control_asciicircum VoidSymbol
+keycode 8 = seven slash Control_underscore VoidSymbol Meta_seven Meta_slash Meta_Control_underscore VoidSymbol
+keycode 9 = eight parenleft Delete VoidSymbol Meta_eight Meta_parenleft Meta_Delete VoidSymbol
+keycode 10 = nine parenright VoidSymbol VoidSymbol Meta_nine Meta_parenright VoidSymbol VoidSymbol
+keycode 11 = zero equal VoidSymbol VoidSymbol Meta_zero Meta_equal VoidSymbol VoidSymbol
+keycode 12 = ssharp question VoidSymbol VoidSymbol Meta_question Meta_question VoidSymbol VoidSymbol
+keycode 13 = apostrophe grave VoidSymbol VoidSymbol Meta_apostrophe Meta_grave VoidSymbol VoidSymbol
+keycode 14 = Delete Delete Delete Delete Meta_Delete Meta_Delete Meta_Delete Meta_Delete
+keycode 15 = Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+keycode 16 = +q
+keycode 17 = +w
+keycode 18 = +e
+ shift control keycode 18 = Hex_E
+keycode 19 = +r
+keycode 20 = +t
+keycode 21 = +z
+keycode 22 = +u
+keycode 23 = +i
+keycode 24 = +o
+keycode 25 = +p
+keycode 26 = +udiaeresis +Udiaeresis nul Control_backslash at backslash Meta_at Meta_backslash
+keycode 27 = plus asterisk Control_bracketright VoidSymbol Meta_plus Meta_asterisk Meta_Control_bracketright VoidSymbol
+keycode 28 = Return Return Return Return Meta_Control_m Meta_Control_m Return Return
+keycode 29 = Control
+keycode 30 = +a
+ shift control keycode 30 = Hex_A
+keycode 31 = +s
+keycode 32 = +d
+ shift control keycode 32 = Hex_D
+keycode 33 = +f
+ shift control keycode 33 = Hex_F
+keycode 34 = +g
+keycode 35 = +h
+keycode 36 = +j
+keycode 37 = +k
+keycode 38 = +l
+# Escape = Control-[
+keycode 39 = +odiaeresis +Odiaeresis Escape VoidSymbol bracketleft braceleft Meta_bracketleft Meta_braceleft
+keycode 40 = +adiaeresis +Adiaeresis Control_bracketright VoidSymbol bracketright braceright Meta_bracketright Meta_braceright
+keycode 41 = numbersign asciicircum Control_asciicircum Control_asciicircum Meta_numbersign Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum
+keycode 42 = Shift
+keycode 43 = asciitilde bar VoidSymbol VoidSymbol Meta_asciitilde Meta_bar VoidSymbol VoidSymbol
+keycode 44 = +y
+keycode 45 = +x
+keycode 46 = +c
+ shift control keycode 46 = Hex_C
+keycode 47 = +v
+keycode 48 = +b
+ shift control keycode 48 = Hex_B
+keycode 49 = +n
+keycode 50 = +m
+keycode 51 = comma semicolon VoidSymbol VoidSymbol Meta_comma Meta_semicolon VoidSymbol VoidSymbol
+keycode 52 = period colon VoidSymbol VoidSymbol Meta_period Meta_colon VoidSymbol VoidSymbol
+keycode 53 = minus underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_Control_underscore Meta_Control_underscore
+keycode 54 = Shift
+keycode 55 =
+keycode 56 = Alt
+keycode 57 = space space nul nul Meta_space Meta_space Meta_nul Meta_nul
+keycode 58 = Caps_Lock
+ alt keycode 58 = Num_Lock
+keycode 59 = F1 F11 F1 F1 Console_1 Console_11 Console_21 Console_31
+keycode 60 = F2 F12 F2 F2 Console_2 Console_12 Console_22 Console_32
+keycode 61 = F3 F13 F3 F3 Console_3 Console_13 Console_23 Console_33
+keycode 62 = F4 F14 F4 F4 Console_4 Console_14 Console_24 Console_34
+keycode 63 = F5 F15 F5 F5 Console_5 Console_15 Console_25 Console_35
+keycode 64 = F6 F16 F6 F6 Console_6 Console_16 Console_26 Console_36
+keycode 65 = F7 F17 F7 F7 Console_7 Console_17 Console_27 Console_37
+keycode 66 = F8 F18 F8 F8 Console_8 Console_18 Console_28 Console_38
+keycode 67 = F9 F19 F9 F9 Console_9 Console_19 Console_29 Console_39
+keycode 68 = F10 F20 F10 F10 Console_10 Console_20 Console_30 Console_40
+keycode 69 =
+keycode 70 =
+# ClrHome
+keycode 71 = Find Select Find Select Find Select Find Select
+keycode 72 = Up Prior Up Prior Scroll_Backward Prior Up Prior
+keycode 73 =
+keycode 74 = KP_Subtract
+keycode 75 = Left
+ alt keycode 75 = Decr_Console
+keycode 76 =
+keycode 77 = Right
+ alt keycode 77 = Incr_Console
+keycode 78 = KP_Add
+keycode 79 =
+keycode 80 = Down Next Down Next Scroll_Forward Next Down Next
+keycode 81 =
+keycode 82 = Insert
+ alt keycode 82 = Scroll_Lock
+keycode 83 = Remove Remove Remove Remove Meta_Delete Meta_Delete Boot Meta_Delete
+keycode 84 =
+keycode 85 =
+keycode 86 =
+keycode 87 =
+keycode 88 =
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = less greater VoidSymbol VoidSymbol Meta_less Meta_greater VoidSymbol VoidSymbol
+# F246 = Undo
+keycode 97 = F246 Break F246 F246 Last_Console F246 Spawn_Console F246
+keycode 98 = Help Show_Memory Show_Registers VoidSymbol Show_State Show_State Show_State VoidSymbol
+keycode 99 = 0x0312 # K_PPARENL; loadkeys has no symbol for this :-(
+keycode 100 = 0x0313 # K_PPARENR
+keycode 101 = KP_Divide
+keycode 102 = KP_Multiply
+keycode 103 = KP_7
+ shift keycode 103 = Find
+ shift control keycode 103 = Hex_7
+ alt keycode 103 = Ascii_7
+keycode 104 = KP_8
+ shift keycode 104 = Up
+ shift control keycode 104 = Hex_8
+ alt keycode 104 = Ascii_8
+keycode 105 = KP_9
+ shift keycode 105 = Prior
+ shift control keycode 105 = Hex_9
+ alt keycode 105 = Ascii_9
+keycode 106 = KP_4
+ shift keycode 106 = Right
+ shift control keycode 106 = Hex_4
+ alt keycode 106 = Ascii_4
+keycode 107 = KP_5
+ shift control keycode 107 = Hex_5
+ alt keycode 107 = Ascii_5
+keycode 108 = KP_6
+ shift keycode 108 = Left
+ shift control keycode 108 = Hex_6
+ alt keycode 108 = Ascii_6
+keycode 109 = KP_1
+ shift keycode 109 = Select
+ shift control keycode 109 = Hex_1
+ alt keycode 109 = Ascii_1
+keycode 110 = KP_2
+ shift keycode 110 = Down
+ shift control keycode 110 = Hex_2
+ alt keycode 110 = Ascii_2
+keycode 111 = KP_3
+ shift keycode 111 = Next
+ shift control keycode 111 = Hex_3
+ alt keycode 111 = Ascii_3
+keycode 112 = KP_0
+ shift keycode 112 = Insert
+ shift control keycode 112 = Hex_0
+ alt keycode 112 = Ascii_0
+keycode 113 = KP_Period
+ shift keycode 113 = Remove
+ alt control keycode 113 = Boot
+keycode 114 = KP_Enter
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 =
+keycode 119 =
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/atari/atari-fr.kmap b/keymaps/atari/atari-fr.kmap
new file mode 100644
index 0000000..f16dea9
--- /dev/null
+++ b/keymaps/atari/atari-fr.kmap
@@ -0,0 +1,269 @@
+#
+# Keyboard Mapping for Atari Keyboards, French Layout
+# ---------------------------------------------------
+#
+# Copyright 2004 Bill Allombert
+# Based on:
+# Copyright 1994 Roman Hodek
+# Updated August 1998 Roman Hodek
+#
+# This file is subject to the terms and conditions of the GNU General Public
+# License. See the file README.legal in the main directory of this archive
+# for more details.
+#
+# Notes:
+# ------
+#
+# This keymap does not use an AltGr key, since the Atari keyboard
+# doesn't have such a key. Most times, the Alt key takes over the role
+# of AltGr.
+#
+# Some mappings you might want to know about:
+# - ClrHome is Home (aka Find)
+# - Shift+ClrHome is End (aka Select)
+# - Shift+Up/Down are Page Up/Down (aka Prior/Next)
+# - Alt + the numbers of the keypad lets you enter a character by its
+# decimal code
+# - Shift+Control + one of a,b,c,d,e,f or a number on the keypad lets
+# you enter the hex code of a character
+# - Alt+CapsLock is NumLock
+# - You can enter F11..F20 by pressing Shift+F1..F10
+# - Console (vt) switching:
+# Alt+F1..F10 switch to console 1..10
+# Shift+Alt+F1..F10 switch to console 11..20
+# Control+Alt+F1..F10 switch to console 21..30
+# Shift+Control_Alt+F1..F10 switch to console 31..40
+# Alt+Left/Right switches to previous/next console
+# Alt+Undo switches to last console
+# Alt+Control+Undo sends a keyboard request to the init process;
+# the default action is to spawn a new console
+# - Kernel information:
+# Alt+Help, Shift+Alt+Help, Control+Alt+Help: system status
+# Control+Help: registers
+# Shift+Help: memory info
+# (Note: with a 2.1 kernel and MAGIC_SYSRQ enabled, Alt+Help is SysRq)
+# - Shift+Undo sends a signal to the current foreground process (same as ^C)
+# - Alt+Up/Down scroll the console up/down (if implemented in the kernel)
+# - Alt+Ins stops/starts output (Scroll_Lock function, same as ^S/^Q)
+# - Control+Alt+Delete reboots the system, as usual (by sending a request to
+# the init process)
+#
+# Dead keys (i.e. pressing ^ and e gives œ, an e with hat) are not
+# used, because I consider this annoying. All characters needed for
+# German are possible without deadkeys. If you want them, apply the following
+# replacements:
+# grave -> dead_grave
+# apostrophe -> dead_acute
+# asciicircum -> dead_circumflex
+# asciitilde -> dead_tilde
+# quotedbl -> dead_diaeresis
+# Ctrl-comma -> dead_cedilla
+#
+# There is no natural way to generate Meta codes for the characters [,],{,},
+# @ and \, that already need Alt to be pressed together with one of the
+# umlaut keys. I've choosen the following scheme, though it may not be
+# very intuitive in all cases (who knows a better solution??):
+# 1) The key with Alt (and maybe shift) gives the character engraved to the
+# right (i.e. [,@,\,...)
+# 2) The key with Control (and maybe shift) gives the control character
+# corresponding the the character engraved to the _right_, if one exists.
+# This happens because the umlaut characters have no corresponding control
+# character anyway.
+# 3) The key with Control and Alt (and maybe shift) gives the Meta equivalent
+# (with 8. bit set or prepended by ESC) of the character engraved to the
+# right. Again, Meta's of the umlaut characters do not exist, since they
+# already have their 8. bit set.
+# One could argue that it would be more consistent to require Alt and Control
+# to be pressed to get the control characters (case 2). That's true, but in
+# my opinion, it is even more inconsistent to generate Meta codes without the
+# Alt key pressed (but just with Control). And it would be very bad, if the
+# Meta versions of [,{,@,... could not be typed at all!
+#
+# I've kept the convention that the digit keys 2..8 on the main keyboard
+# generate the control characters not corresponding to letters (^@, ^[ .. ^_
+# and ^?=DEL) when pressed with Control. It is convention, too, that the shift
+# key must not be pressed for this effect. Also, Meta+Control plus these keys
+# give the Metas of these controls.
+#
+# The current loadkeys (0.96) doesn't know names for KP_Parenleft (0x0312) and
+# KP_Parenright, so I had to write them down as hex codes :-(
+#
+
+charset "iso-8859-1"
+keymaps 0-1,4-5,8-9,12-13
+strings as usual
+compose as usual for "iso-8859-1"
+
+# plain Shift Control Shift+Control Alt Shift+Alt Control+Alt Shift+Ctrl+Alt
+keycode 1 = Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 2 = ampersand one VoidSymbol VoidSymbol Meta_ampersand Meta_one VoidSymbol VoidSymbol
+keycode 3 = eacute two nul VoidSymbol Meta_eacute Meta_two Meta_nul VoidSymbol
+keycode 4 = quotedbl three Escape VoidSymbol Meta_quotedbl Meta_three Meta_Escape VoidSymbol
+
+keycode 5 = apostrophe four Control_backslash VoidSymbol Meta_apostrophe Meta_four Meta_Control_backslash VoidSymbol
+keycode 6 = parenleft five Control_bracketright VoidSymbol Meta_parenleft Meta_five Meta_Control_bracketright VoidSymbol
+keycode 7 = section six Control_asciicircum VoidSymbol Meta_section Meta_six Meta_Control_asciicircum VoidSymbol
+keycode 8 = egrave seven Control_underscore VoidSymbol Meta_egrave Meta_seven Meta_Control_underscore VoidSymbol
+keycode 9 = exclam eight Delete VoidSymbol Meta_exclam Meta_eight Meta_Delete VoidSymbol
+keycode 10 = ccedilla nine VoidSymbol VoidSymbol Meta_ccedilla Meta_nine VoidSymbol VoidSymbol
+keycode 11 = agrave zero VoidSymbol VoidSymbol Meta_agrave Meta_zero VoidSymbol VoidSymbol
+keycode 12 = parenright degree VoidSymbol VoidSymbol Meta_parenright Meta_degree VoidSymbol VoidSymbol
+keycode 13 = minus underscore VoidSymbol VoidSymbol Meta_minus Meta_underscore VoidSymbol VoidSymbol
+keycode 14 = Delete Delete Delete Delete Meta_Delete Meta_Delete Meta_Delete Meta_Delete
+keycode 15 = Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+keycode 16 = +a
+keycode 17 = +z
+keycode 18 = +e
+ shift control keycode 18 = Hex_E
+keycode 19 = +r
+keycode 20 = +t
+keycode 21 = +y
+keycode 22 = +u
+keycode 23 = +i
+keycode 24 = +o
+keycode 25 = +p
+keycode 26 = dead_circumflex dead_diaeresis Escape VoidSymbol bracketleft braceleft Meta_Escape VoidSymbol
+keycode 27 = dollar asterisk Control_bracketright VoidSymbol bracketright braceright Meta_Control_bracketright VoidSymbol
+keycode 28 = Return Return Return Return Meta_Control_m Meta_Control_m Return Return
+keycode 29 = Control
+keycode 30 = +q
+ shift control keycode 30 = Hex_A
+keycode 31 = +s
+keycode 32 = +d
+ shift control keycode 32 = Hex_D
+keycode 33 = +f
+ shift control keycode 33 = Hex_F
+keycode 34 = +g
+keycode 35 = +h
+keycode 36 = +j
+keycode 37 = +k
+keycode 38 = +l
+# Escape = Control-[
+keycode 39 = +m
+keycode 40 = ugrave percent Control_backslash Control_backslash backslash Meta_percent VoidSymbol VoidSymbol
+keycode 41 = grave sterling Control_asciicircum Control_asciicircum Meta_grave Meta_sterling Meta_Control_asciicircum Meta_Control_asciicircum
+keycode 42 = Shift
+keycode 43 = numbersign bar VoidSymbol VoidSymbol at asciitilde VoidSymbol VoidSymbol
+keycode 44 = +w
+keycode 45 = +x
+keycode 46 = +c
+ shift control keycode 46 = Hex_C
+keycode 47 = +v
+keycode 48 = +b
+ shift control keycode 48 = Hex_B
+keycode 49 = +n
+keycode 50 = comma question VoidSymbol VoidSymbol Meta_comma Meta_question VoidSymbol VoidSymbol
+keycode 51 = semicolon period VoidSymbol VoidSymbol Meta_semicolon Meta_period VoidSymbol VoidSymbol
+keycode 52 = colon slash VoidSymbol VoidSymbol Meta_colon Meta_slash VoidSymbol VoidSymbol
+keycode 53 = equal plus Control_underscore Control_underscore Meta_equal Meta_plus Meta_Control_underscore Meta_Control_underscore
+keycode 54 = Shift
+keycode 55 =
+keycode 56 = Alt
+keycode 57 = space space nul nul Meta_space Meta_space Meta_nul Meta_nul
+keycode 58 = Caps_Lock
+ alt keycode 58 = Num_Lock
+keycode 59 = F1 F11 F1 F1 Console_1 Console_11 Console_21 Console_31
+keycode 60 = F2 F12 F2 F2 Console_2 Console_12 Console_22 Console_32
+keycode 61 = F3 F13 F3 F3 Console_3 Console_13 Console_23 Console_33
+keycode 62 = F4 F14 F4 F4 Console_4 Console_14 Console_24 Console_34
+keycode 63 = F5 F15 F5 F5 Console_5 Console_15 Console_25 Console_35
+keycode 64 = F6 F16 F6 F6 Console_6 Console_16 Console_26 Console_36
+keycode 65 = F7 F17 F7 F7 Console_7 Console_17 Console_27 Console_37
+keycode 66 = F8 F18 F8 F8 Console_8 Console_18 Console_28 Console_38
+keycode 67 = F9 F19 F9 F9 Console_9 Console_19 Console_29 Console_39
+keycode 68 = F10 F20 F10 F10 Console_10 Console_20 Console_30 Console_40
+keycode 69 =
+keycode 70 =
+# ClrHome
+keycode 71 = Find Select Find Select Find Select Find Select
+keycode 72 = Up Prior Up Prior Scroll_Backward Prior Up Prior
+keycode 73 =
+keycode 74 = KP_Subtract
+keycode 75 = Left
+ alt keycode 75 = Decr_Console
+keycode 76 =
+keycode 77 = Right
+ alt keycode 77 = Incr_Console
+keycode 78 = KP_Add
+keycode 79 =
+keycode 80 = Down Next Down Next Scroll_Forward Next Down Next
+keycode 81 =
+keycode 82 = Insert
+ alt keycode 82 = Scroll_Lock
+keycode 83 = Remove Remove Remove Remove Meta_Delete Meta_Delete Boot Meta_Delete
+keycode 84 =
+keycode 85 =
+keycode 86 =
+keycode 87 =
+keycode 88 =
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = less greater VoidSymbol VoidSymbol Meta_less Meta_greater VoidSymbol VoidSymbol
+# F246 = Undo
+keycode 97 = F246 Break F246 F246 Last_Console F246 Spawn_Console F246
+keycode 98 = Help Show_Memory Show_Registers VoidSymbol Show_State Show_State Show_State VoidSymbol
+keycode 99 = 0x0312 # K_PPARENL; loadkeys has no symbol for this :-(
+keycode 100 = 0x0313 # K_PPARENR
+keycode 101 = KP_Divide
+keycode 102 = KP_Multiply
+keycode 103 = KP_7
+ shift keycode 103 = Find
+ shift control keycode 103 = Hex_7
+ alt keycode 103 = Ascii_7
+keycode 104 = KP_8
+ shift keycode 104 = Up
+ shift control keycode 104 = Hex_8
+ alt keycode 104 = Ascii_8
+keycode 105 = KP_9
+ shift keycode 105 = Prior
+ shift control keycode 105 = Hex_9
+ alt keycode 105 = Ascii_9
+keycode 106 = KP_4
+ shift keycode 106 = Right
+ shift control keycode 106 = Hex_4
+ alt keycode 106 = Ascii_4
+keycode 107 = KP_5
+ shift control keycode 107 = Hex_5
+ alt keycode 107 = Ascii_5
+keycode 108 = KP_6
+ shift keycode 108 = Left
+ shift control keycode 108 = Hex_6
+ alt keycode 108 = Ascii_6
+keycode 109 = KP_1
+ shift keycode 109 = Select
+ shift control keycode 109 = Hex_1
+ alt keycode 109 = Ascii_1
+keycode 110 = KP_2
+ shift keycode 110 = Down
+ shift control keycode 110 = Hex_2
+ alt keycode 110 = Ascii_2
+keycode 111 = KP_3
+ shift keycode 111 = Next
+ shift control keycode 111 = Hex_3
+ alt keycode 111 = Ascii_3
+keycode 112 = KP_0
+ shift keycode 112 = Insert
+ shift control keycode 112 = Hex_0
+ alt keycode 112 = Ascii_0
+keycode 113 = KP_Period
+ shift keycode 113 = Remove
+ alt control keycode 113 = Boot
+keycode 114 = KP_Enter
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 =
+keycode 119 =
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/atari/atari-se-deadkeys.kmap b/keymaps/atari/atari-se-deadkeys.kmap
new file mode 100644
index 0000000..07e53df
--- /dev/null
+++ b/keymaps/atari/atari-se-deadkeys.kmap
@@ -0,0 +1,237 @@
+#
+# Keyboard Mapping for Atari Keyboards, Swedish Layout
+# ----------------------------------------------------
+#
+# Copyright 1994 Roman Hodek
+# Updated August 1998 Roman Hodek
+# Credits to Elias Mårtenson (elias@omicron.se) for writing the
+# original Swedish map, from which I got the specifics. His comments:
+# I tried to make this keymap look as much like the swedish
+# TOS-keymap as possible. There are some problems with the
+# meta-keycodes though, there aren't enough keys for them.
+#
+# This file is subject to the terms and conditions of the GNU General Public
+# License. See the file README.legal in the main directory of this archive
+# for more details.
+#
+# Notes:
+# ------
+#
+# This keymap does not use an AltGr key, since the Atari keyboard
+# doesn't have such a key. Most times, the Alt key takes over the role
+# of AltGr.
+#
+# Some mappings you might want to know about:
+# - ClrHome is Home (aka Find)
+# - Shift+ClrHome is End (aka Select)
+# - Shift+Up/Down are Page Up/Down (aka Prior/Next)
+# - Alt + the numbers of the keypad lets you enter a character by its
+# decimal code
+# - Shift+Control + one of a,b,c,d,e,f or a number on the keypad lets
+# you enter the hex code of a character
+# - Alt+CapsLock is NumLock
+# - You can enter F11..F20 by pressing Shift+F1..F10
+# - Console (vt) switching:
+# Alt+F1..F10 switch to console 1..10
+# Shift+Alt+F1..F10 switch to console 11..20
+# Control+Alt+F1..F10 switch to console 21..30
+# Shift+Control_Alt+F1..F10 switch to console 31..40
+# Alt+Left/Right switches to previous/next console
+# Alt+Undo switches to last console
+# Alt+Control+Undo sends a keyboard request to the init process;
+# the default action is to spawn a new console
+# - Kernel information:
+# Alt+Help, Shift+Alt+Help, Control+Alt+Help: system status
+# Control+Help: registers
+# Shift+Help: memory info
+# (Note: with a 2.1 kernel and MAGIC_SYSRQ enabled, Alt+Help is SysRq)
+# - Shift+Undo sends a signal to the current foreground process (same as ^C)
+# - Alt+Up/Down scroll the console up/down (if implemented in the kernel)
+# - Alt+Ins stops/starts output (Scroll_Lock function, same as ^S/^Q)
+# - Control+Alt+Delete reboots the system, as usual (by sending a request to
+# the init process)
+#
+# I've kept the convention that the digit keys 2..8 on the main keyboard
+# generate the control characters not corresponding to letters (^@, ^[ .. ^_
+# and ^?=DEL) when pressed with Control. It is convention, too, that the shift
+# key must not be pressed for this effect. Also, Meta+Control plus these keys
+# give the Metas of these controls.
+#
+# The current loadkeys (0.96) doesn't know names for KP_Parenleft (0x0312) and
+# KP_Parenright, so I had to write them down as hex codes :-(
+#
+
+charset "iso-8859-1"
+keymaps 0-1,4-5,8-9,12-13
+strings as usual
+compose as usual for "iso-8859-1"
+
+# plain Shift Control Shift+Control Alt Shift+Alt Control+Alt Shift+Ctrl+Alt
+keycode 1 = Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 2 = one exclam VoidSymbol VoidSymbol Meta_one Meta_exclam VoidSymbol VoidSymbol
+keycode 3 = two dead_diaeresis nul VoidSymbol Meta_two Meta_quotedbl Meta_nul VoidSymbol
+keycode 4 = three numbersign Escape VoidSymbol Meta_three Meta_numbersign Meta_Escape VoidSymbol
+keycode 5 = four dollar Control_backslash VoidSymbol Meta_four Meta_dollar Meta_Control_backslash VoidSymbol
+keycode 6 = five percent Control_bracketright VoidSymbol Meta_five Meta_percent Meta_Control_bracketright VoidSymbol
+keycode 7 = six ampersand Control_asciicircum VoidSymbol Meta_six Meta_ampersand Meta_Control_asciicircum VoidSymbol
+keycode 8 = seven slash Control_underscore VoidSymbol Meta_seven Meta_slash Meta_Control_underscore VoidSymbol
+keycode 9 = eight parenleft Delete VoidSymbol Meta_eight Meta_parenleft Meta_Delete VoidSymbol
+keycode 10 = nine parenright VoidSymbol VoidSymbol Meta_nine Meta_parenright VoidSymbol VoidSymbol
+keycode 11 = zero equal VoidSymbol VoidSymbol Meta_zero Meta_equal VoidSymbol VoidSymbol
+keycode 12 = plus question nul VoidSymbol Meta_plus Meta_question Meta_nul VoidSymbol
+keycode 13 = +eacute +Eacute VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 14 = BackSpace BackSpace BackSpace BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace
+keycode 15 = Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+keycode 16 = +q
+keycode 17 = +w
+keycode 18 = +e
+ shift control keycode 18 = Hex_E
+keycode 19 = +r
+keycode 20 = +t
+keycode 21 = +y
+keycode 22 = +u
+keycode 23 = +i
+keycode 24 = +o
+keycode 25 = +p
+keycode 26 = +aring +Aring Escape VoidSymbol bracketleft braceleft Meta_bracketleft Meta_braceleft
+keycode 27 = +udiaeresis +Udiaeresis Control_bracketright VoidSymbol bracketright braceright Meta_bracketright Meta_braceright
+keycode 28 = Return Return Return Return Meta_Control_m Meta_Control_m Return Return
+keycode 29 = Control
+keycode 30 = +a
+ shift control keycode 30 = Hex_A
+keycode 31 = +s
+keycode 32 = +d
+ shift control keycode 32 = Hex_D
+keycode 33 = +f
+ shift control keycode 33 = Hex_F
+keycode 34 = +g
+keycode 35 = +h
+keycode 36 = +j
+keycode 37 = +k
+keycode 38 = +l
+keycode 39 = +odiaeresis +Odiaeresis VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 40 = +adiaeresis +Adiaeresis Control_g VoidSymbol dead_grave dead_tilde Meta_Control_g VoidSymbol
+keycode 41 = dead_acute asterisk nul VoidSymbol Meta_apostrophe Meta_asterisk Meta_nul VoidSymbol
+keycode 42 = Shift
+keycode 43 = backslash bar Control_backslash VoidSymbol dead_circumflex at Meta_Control_backslash VoidSymbol
+keycode 44 = +z
+keycode 45 = +x
+keycode 46 = +c
+ shift control keycode 46 = Hex_C
+keycode 47 = +v
+keycode 48 = +b
+ shift control keycode 48 = Hex_B
+keycode 49 = +n
+keycode 50 = +m
+keycode 51 = comma semicolon dead_cedilla VoidSymbol Meta_comma Meta_semicolon VoidSymbol VoidSymbol
+keycode 52 = period colon VoidSymbol VoidSymbol Meta_period Meta_colon VoidSymbol VoidSymbol
+keycode 53 = minus underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_Control_underscore Meta_Control_underscore
+keycode 54 = Shift
+keycode 55 =
+keycode 56 = Alt
+keycode 57 = space space nul nul Meta_space Meta_space Meta_nul Meta_nul
+keycode 58 = Caps_Lock
+ alt keycode 58 = Num_Lock
+keycode 59 = F1 F11 F1 F1 Console_1 Console_11 Console_21 Console_31
+keycode 60 = F2 F12 F2 F2 Console_2 Console_12 Console_22 Console_32
+keycode 61 = F3 F13 F3 F3 Console_3 Console_13 Console_23 Console_33
+keycode 62 = F4 F14 F4 F4 Console_4 Console_14 Console_24 Console_34
+keycode 63 = F5 F15 F5 F5 Console_5 Console_15 Console_25 Console_35
+keycode 64 = F6 F16 F6 F6 Console_6 Console_16 Console_26 Console_36
+keycode 65 = F7 F17 F7 F7 Console_7 Console_17 Console_27 Console_37
+keycode 66 = F8 F18 F8 F8 Console_8 Console_18 Console_28 Console_38
+keycode 67 = F9 F19 F9 F9 Console_9 Console_19 Console_29 Console_39
+keycode 68 = F10 F20 F10 F10 Console_10 Console_20 Console_30 Console_40
+keycode 69 =
+keycode 70 =
+keycode 71 = Find Select Find Select Find Select Find Select
+keycode 72 = Up Prior Up Prior Scroll_Backward Prior Up Prior
+keycode 73 =
+keycode 74 = KP_Subtract
+keycode 75 = Left
+ alt keycode 75 = Decr_Console
+keycode 76 =
+keycode 77 = Right
+ alt keycode 77 = Incr_Console
+keycode 78 = KP_Add
+keycode 79 =
+keycode 80 = Down Next Down Next Scroll_Forward Next Down Next
+keycode 81 =
+keycode 82 = Insert
+ alt keycode 82 = Scroll_Lock
+keycode 83 = Remove Remove Remove Remove Meta_Delete Meta_Delete Boot Meta_Delete
+keycode 84 =
+keycode 85 =
+keycode 86 =
+keycode 87 =
+keycode 88 =
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = less greater VoidSymbol VoidSymbol Meta_less Meta_greater VoidSymbol VoidSymbol
+keycode 97 = F246 Break F246 F246 Last_Console F246 F246 F246
+keycode 98 = Help Show_Memory Show_Registers VoidSymbol Show_State Show_State Show_State VoidSymbol
+keycode 99 = 0x0312 # K_PPARENL; loadkeys has no symbol for this :-(
+keycode 100 = 0x0313 # K_PPARENR
+keycode 101 = KP_Divide
+keycode 102 = KP_Multiply
+keycode 103 = KP_7
+ shift keycode 103 = Find
+ shift control keycode 103 = Hex_7
+ alt keycode 103 = Ascii_7
+keycode 104 = KP_8
+ shift keycode 104 = Up
+ shift control keycode 104 = Hex_8
+ alt keycode 104 = Ascii_8
+keycode 105 = KP_9
+ shift keycode 105 = Prior
+ shift control keycode 105 = Hex_9
+ alt keycode 105 = Ascii_9
+keycode 106 = KP_4
+ shift keycode 106 = Right
+ shift control keycode 106 = Hex_4
+ alt keycode 106 = Ascii_4
+keycode 107 = KP_5
+ shift control keycode 107 = Hex_5
+ alt keycode 107 = Ascii_5
+keycode 108 = KP_6
+ shift keycode 108 = Left
+ shift control keycode 108 = Hex_6
+ alt keycode 108 = Ascii_6
+keycode 109 = KP_1
+ shift keycode 109 = Select
+ shift control keycode 109 = Hex_1
+ alt keycode 109 = Ascii_1
+keycode 110 = KP_2
+ shift keycode 110 = Down
+ shift control keycode 110 = Hex_2
+ alt keycode 110 = Ascii_2
+keycode 111 = KP_3
+ shift keycode 111 = Next
+ shift control keycode 111 = Hex_3
+ alt keycode 111 = Ascii_3
+keycode 112 = KP_0
+ shift keycode 112 = Insert
+ shift control keycode 112 = Hex_0
+ alt keycode 112 = Ascii_0
+keycode 113 = KP_Period
+ shift keycode 113 = Remove
+ alt control keycode 113 = Boot
+keycode 114 = KP_Enter
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 =
+keycode 119 =
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/atari/atari-se.kmap b/keymaps/atari/atari-se.kmap
new file mode 100644
index 0000000..70f4264
--- /dev/null
+++ b/keymaps/atari/atari-se.kmap
@@ -0,0 +1,247 @@
+#
+# Keyboard Mapping for Atari Keyboards, Swedish Layout
+# ----------------------------------------------------
+#
+# Copyright 1994 Roman Hodek
+# Updated August 1998 Roman Hodek
+# Credits to Elias Mårtenson (elias@omicron.se) for writing the
+# original Swedish map, from which I got the specifics. His comments:
+# I tried to make this keymap look as much like the swedish
+# TOS-keymap as possible. There are some problems with the
+# meta-keycodes though, there aren't enough keys for them.
+#
+# This file is subject to the terms and conditions of the GNU General Public
+# License. See the file README.legal in the main directory of this archive
+# for more details.
+#
+# Notes:
+# ------
+#
+# This keymap does not use an AltGr key, since the Atari keyboard
+# doesn't have such a key. Most times, the Alt key takes over the role
+# of AltGr.
+#
+# Some mappings you might want to know about:
+# - ClrHome is Home (aka Find)
+# - Shift+ClrHome is End (aka Select)
+# - Shift+Up/Down are Page Up/Down (aka Prior/Next)
+# - Alt + the numbers of the keypad lets you enter a character by its
+# decimal code
+# - Shift+Control + one of a,b,c,d,e,f or a number on the keypad lets
+# you enter the hex code of a character
+# - Alt+CapsLock is NumLock
+# - You can enter F11..F20 by pressing Shift+F1..F10
+# - Console (vt) switching:
+# Alt+F1..F10 switch to console 1..10
+# Shift+Alt+F1..F10 switch to console 11..20
+# Control+Alt+F1..F10 switch to console 21..30
+# Shift+Control_Alt+F1..F10 switch to console 31..40
+# Alt+Left/Right switches to previous/next console
+# Alt+Undo switches to last console
+# Alt+Control+Undo sends a keyboard request to the init process;
+# the default action is to spawn a new console
+# - Kernel information:
+# Alt+Help, Shift+Alt+Help, Control+Alt+Help: system status
+# Control+Help: registers
+# Shift+Help: memory info
+# (Note: with a 2.1 kernel and MAGIC_SYSRQ enabled, Alt+Help is SysRq)
+# - Shift+Undo sends a signal to the current foreground process (same as ^C)
+# - Alt+Up/Down scroll the console up/down (if implemented in the kernel)
+# - Alt+Ins stops/starts output (Scroll_Lock function, same as ^S/^Q)
+# - Control+Alt+Delete reboots the system, as usual (by sending a request to
+# the init process)
+#
+# Dead keys (i.e. pressing ^ and e gives œ, an e with hat) are not
+# used, because I consider this annoying. If you want them, apply the
+# following replacements:
+# grave -> dead_grave
+# apostrophe -> dead_acute
+# asciicircum -> dead_circumflex
+# asciitilde -> dead_tilde
+# quotedbl -> dead_diaeresis
+# Ctrl-comma -> dead_cedilla
+#
+# I've kept the convention that the digit keys 2..8 on the main keyboard
+# generate the control characters not corresponding to letters (^@, ^[ .. ^_
+# and ^?=DEL) when pressed with Control. It is convention, too, that the shift
+# key must not be pressed for this effect. Also, Meta+Control plus these keys
+# give the Metas of these controls.
+#
+# The current loadkeys (0.96) doesn't know names for KP_Parenleft (0x0312) and
+# KP_Parenright, so I had to write them down as hex codes :-(
+#
+
+charset "iso-8859-1"
+keymaps 0-1,4-5,8-9,12-13
+strings as usual
+compose as usual for "iso-8859-1"
+
+# plain Shift Control Shift+Control Alt Shift+Alt Control+Alt Shift+Ctrl+Alt
+keycode 1 = Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 2 = one exclam VoidSymbol VoidSymbol Meta_one Meta_exclam VoidSymbol VoidSymbol
+keycode 3 = two quotedbl nul VoidSymbol Meta_two Meta_quotedbl Meta_nul VoidSymbol
+keycode 4 = three numbersign Escape VoidSymbol Meta_three Meta_numbersign Meta_Escape VoidSymbol
+keycode 5 = four dollar Control_backslash VoidSymbol Meta_four Meta_dollar Meta_Control_backslash VoidSymbol
+keycode 6 = five percent Control_bracketright VoidSymbol Meta_five Meta_percent Meta_Control_bracketright VoidSymbol
+keycode 7 = six ampersand Control_asciicircum VoidSymbol Meta_six Meta_ampersand Meta_Control_asciicircum VoidSymbol
+keycode 8 = seven slash Control_underscore VoidSymbol Meta_seven Meta_slash Meta_Control_underscore VoidSymbol
+keycode 9 = eight parenleft Delete VoidSymbol Meta_eight Meta_parenleft Meta_Delete VoidSymbol
+keycode 10 = nine parenright VoidSymbol VoidSymbol Meta_nine Meta_parenright VoidSymbol VoidSymbol
+keycode 11 = zero equal VoidSymbol VoidSymbol Meta_zero Meta_equal VoidSymbol VoidSymbol
+keycode 12 = plus question nul VoidSymbol Meta_plus Meta_question Meta_nul VoidSymbol
+keycode 13 = +eacute +Eacute VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 14 = BackSpace BackSpace BackSpace BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace
+keycode 15 = Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+keycode 16 = +q
+keycode 17 = +w
+keycode 18 = +e
+ shift control keycode 18 = Hex_E
+keycode 19 = +r
+keycode 20 = +t
+keycode 21 = +y
+keycode 22 = +u
+keycode 23 = +i
+keycode 24 = +o
+keycode 25 = +p
+keycode 26 = +aring +Aring Escape VoidSymbol bracketleft braceleft Meta_bracketleft Meta_braceleft
+keycode 27 = +udiaeresis +Udiaeresis Control_bracketright VoidSymbol bracketright braceright Meta_bracketright Meta_braceright
+keycode 28 = Return Return Return Return Meta_Control_m Meta_Control_m Return Return
+keycode 29 = Control
+keycode 30 = +a
+ shift control keycode 30 = Hex_A
+keycode 31 = +s
+keycode 32 = +d
+ shift control keycode 32 = Hex_D
+keycode 33 = +f
+ shift control keycode 33 = Hex_F
+keycode 34 = +g
+keycode 35 = +h
+keycode 36 = +j
+keycode 37 = +k
+keycode 38 = +l
+keycode 39 = +odiaeresis +Odiaeresis VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 40 = +adiaeresis +Adiaeresis Control_g VoidSymbol grave asciitilde Meta_Control_g VoidSymbol
+keycode 41 = apostrophe asterisk nul VoidSymbol Meta_apostrophe Meta_asterisk Meta_nul VoidSymbol
+keycode 42 = Shift
+keycode 43 = backslash bar Control_backslash VoidSymbol asciicircum at Meta_Control_backslash VoidSymbol
+keycode 44 = +z
+keycode 45 = +x
+keycode 46 = +c
+ shift control keycode 46 = Hex_C
+keycode 47 = +v
+keycode 48 = +b
+ shift control keycode 48 = Hex_B
+keycode 49 = +n
+keycode 50 = +m
+keycode 51 = comma semicolon VoidSymbol VoidSymbol Meta_comma Meta_semicolon VoidSymbol VoidSymbol
+keycode 52 = period colon VoidSymbol VoidSymbol Meta_period Meta_colon VoidSymbol VoidSymbol
+keycode 53 = minus underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_Control_underscore Meta_Control_underscore
+keycode 54 = Shift
+keycode 55 =
+keycode 56 = Alt
+keycode 57 = space space nul nul Meta_space Meta_space Meta_nul Meta_nul
+keycode 58 = Caps_Lock
+ alt keycode 58 = Num_Lock
+keycode 59 = F1 F11 F1 F1 Console_1 Console_11 Console_21 Console_31
+keycode 60 = F2 F12 F2 F2 Console_2 Console_12 Console_22 Console_32
+keycode 61 = F3 F13 F3 F3 Console_3 Console_13 Console_23 Console_33
+keycode 62 = F4 F14 F4 F4 Console_4 Console_14 Console_24 Console_34
+keycode 63 = F5 F15 F5 F5 Console_5 Console_15 Console_25 Console_35
+keycode 64 = F6 F16 F6 F6 Console_6 Console_16 Console_26 Console_36
+keycode 65 = F7 F17 F7 F7 Console_7 Console_17 Console_27 Console_37
+keycode 66 = F8 F18 F8 F8 Console_8 Console_18 Console_28 Console_38
+keycode 67 = F9 F19 F9 F9 Console_9 Console_19 Console_29 Console_39
+keycode 68 = F10 F20 F10 F10 Console_10 Console_20 Console_30 Console_40
+keycode 69 =
+keycode 70 =
+keycode 71 = Find Select Find Select Find Select Find Select
+keycode 72 = Up Prior Up Prior Scroll_Backward Prior Up Prior
+keycode 73 =
+keycode 74 = KP_Subtract
+keycode 75 = Left
+ alt keycode 75 = Decr_Console
+keycode 76 =
+keycode 77 = Right
+ alt keycode 77 = Incr_Console
+keycode 78 = KP_Add
+keycode 79 =
+keycode 80 = Down Next Down Next Scroll_Forward Next Down Next
+keycode 81 =
+keycode 82 = Insert
+ alt keycode 82 = Scroll_Lock
+keycode 83 = Remove Remove Remove Remove Meta_Delete Meta_Delete Boot Meta_Delete
+keycode 84 =
+keycode 85 =
+keycode 86 =
+keycode 87 =
+keycode 88 =
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = less greater VoidSymbol VoidSymbol Meta_less Meta_greater VoidSymbol VoidSymbol
+keycode 97 = F246 Break F246 F246 Last_Console F246 F246 F246
+keycode 98 = Help Show_Memory Show_Registers VoidSymbol Show_State Show_State Show_State VoidSymbol
+keycode 99 = 0x0312 # K_PPARENL; loadkeys has no symbol for this :-(
+keycode 100 = 0x0313 # K_PPARENR
+keycode 101 = KP_Divide
+keycode 102 = KP_Multiply
+keycode 103 = KP_7
+ shift keycode 103 = Find
+ shift control keycode 103 = Hex_7
+ alt keycode 103 = Ascii_7
+keycode 104 = KP_8
+ shift keycode 104 = Up
+ shift control keycode 104 = Hex_8
+ alt keycode 104 = Ascii_8
+keycode 105 = KP_9
+ shift keycode 105 = Prior
+ shift control keycode 105 = Hex_9
+ alt keycode 105 = Ascii_9
+keycode 106 = KP_4
+ shift keycode 106 = Right
+ shift control keycode 106 = Hex_4
+ alt keycode 106 = Ascii_4
+keycode 107 = KP_5
+ shift control keycode 107 = Hex_5
+ alt keycode 107 = Ascii_5
+keycode 108 = KP_6
+ shift keycode 108 = Left
+ shift control keycode 108 = Hex_6
+ alt keycode 108 = Ascii_6
+keycode 109 = KP_1
+ shift keycode 109 = Select
+ shift control keycode 109 = Hex_1
+ alt keycode 109 = Ascii_1
+keycode 110 = KP_2
+ shift keycode 110 = Down
+ shift control keycode 110 = Hex_2
+ alt keycode 110 = Ascii_2
+keycode 111 = KP_3
+ shift keycode 111 = Next
+ shift control keycode 111 = Hex_3
+ alt keycode 111 = Ascii_3
+keycode 112 = KP_0
+ shift keycode 112 = Insert
+ shift control keycode 112 = Hex_0
+ alt keycode 112 = Ascii_0
+keycode 113 = KP_Period
+ shift keycode 113 = Remove
+ alt control keycode 113 = Boot
+keycode 114 = KP_Enter
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 =
+keycode 119 =
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/atari/atari-uk-deadkeys.kmap b/keymaps/atari/atari-uk-deadkeys.kmap
new file mode 100644
index 0000000..f6a26ff
--- /dev/null
+++ b/keymaps/atari/atari-uk-deadkeys.kmap
@@ -0,0 +1,234 @@
+#
+# Keyboard Mapping for Atari Keyboards, UK Layout
+# -----------------------------------------------
+#
+# Copyright 1994 Roman Hodek
+# Updated August 1998 Roman Hodek
+# Credits to Keith Tomlin (tomlin@spods.dcs.kcl.ac.uk) for writing the
+# original UK map, from which I got the UK specifics.
+#
+# This file is subject to the terms and conditions of the GNU General Public
+# License. See the file README.legal in the main directory of this archive
+# for more details.
+#
+# Notes:
+# ------
+#
+# This keymap does not use an AltGr key, since the Atari keyboard
+# doesn't have such a key. Most times, the Alt key takes over the role
+# of AltGr.
+#
+# Some mappings you might want to know about:
+# - ClrHome is Home (aka Find)
+# - Shift+ClrHome is End (aka Select)
+# - Shift+Up/Down are Page Up/Down (aka Prior/Next)
+# - Alt + the numbers of the keypad lets you enter a character by its
+# decimal code
+# - Shift+Control + one of a,b,c,d,e,f or a number on the keypad lets
+# you enter the hex code of a character
+# - Alt+CapsLock is NumLock
+# - You can enter F11..F20 by pressing Shift+F1..F10
+# - Console (vt) switching:
+# Alt+F1..F10 switch to console 1..10
+# Shift+Alt+F1..F10 switch to console 11..20
+# Control+Alt+F1..F10 switch to console 21..30
+# Shift+Control_Alt+F1..F10 switch to console 31..40
+# Alt+Left/Right switches to previous/next console
+# Alt+Undo switches to last console
+# Alt+Control+Undo sends a keyboard request to the init process;
+# the default action is to spawn a new console
+# - Kernel information:
+# Alt+Help, Shift+Alt+Help, Control+Alt+Help: system status
+# Control+Help: registers
+# Shift+Help: memory info
+# (Note: with a 2.1 kernel and MAGIC_SYSRQ enabled, Alt+Help is SysRq)
+# - Shift+Undo sends a signal to the current foreground process (same as ^C)
+# - Alt+Up/Down scroll the console up/down (if implemented in the kernel)
+# - Alt+Ins stops/starts output (Scroll_Lock function, same as ^S/^Q)
+# - Control+Alt+Delete reboots the system, as usual (by sending a request to
+# the init process)
+#
+# I've kept the convention that the digit keys 2..8 on the main keyboard
+# generate the control characters not corresponding to letters (^@, ^[ .. ^_
+# and ^?=DEL) when pressed with Control. It is convention, too, that the shift
+# key must not be pressed for this effect. Also, Meta+Control plus these keys
+# give the Metas of these controls.
+#
+# The current loadkeys (0.96) doesn't know names for KP_Parenleft (0x0312) and
+# KP_Parenright, so I had to write them down as hex codes :-(
+#
+
+charset "iso-8859-1"
+keymaps 0-1,4-5,8-9,12-13
+strings as usual
+compose as usual for "iso-8859-1"
+
+# plain Shift Control Shift+Control Alt Shift+Alt Control+Alt Shift+Ctrl+Alt
+keycode 1 = Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 2 = one exclam VoidSymbol VoidSymbol Meta_one Meta_exclam VoidSymbol VoidSymbol
+keycode 3 = two dead_diaeresis nul VoidSymbol Meta_two Meta_quotedbl Meta_nul VoidSymbol
+keycode 4 = three numbersign Escape VoidSymbol Meta_three Meta_numbersign Meta_Escape VoidSymbol
+keycode 5 = four dollar Control_backslash VoidSymbol Meta_four Meta_dollar Meta_Control_backslash VoidSymbol
+keycode 6 = five percent Control_bracketright VoidSymbol Meta_five Meta_percent Meta_Control_bracketright VoidSymbol
+keycode 7 = six dead_circumflex Control_asciicircum VoidSymbol Meta_six Meta_asciicircum Meta_Control_asciicircum VoidSymbol
+keycode 8 = seven ampersand Control_underscore VoidSymbol Meta_seven Meta_ampersand Meta_Control_underscore VoidSymbol
+keycode 9 = eight asterisk Delete VoidSymbol Meta_eight Meta_asterisk Meta_Delete VoidSymbol
+keycode 10 = nine parenleft VoidSymbol VoidSymbol Meta_nine Meta_parenleft VoidSymbol VoidSymbol
+keycode 11 = zero parenright VoidSymbol VoidSymbol Meta_zero Meta_parenright VoidSymbol VoidSymbol
+keycode 12 = minus underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_Control_underscore Meta_Control_underscore
+keycode 13 = equal plus VoidSymbol VoidSymbol Meta_equal Meta_plus VoidSymbol VoidSymbol
+keycode 14 = BackSpace BackSpace BackSpace BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace
+keycode 15 = Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+keycode 16 = +q
+keycode 17 = +w
+keycode 18 = +e
+ shift control keycode 18 = Hex_E
+keycode 19 = +r
+keycode 20 = +t
+keycode 21 = +y
+keycode 22 = +u
+keycode 23 = +i
+keycode 24 = +o
+keycode 25 = +p
+keycode 26 = bracketleft braceleft Escape VoidSymbol Meta_bracketleft Meta_braceleft Meta_Escape VoidSymbol
+keycode 27 = bracketright braceright Control_bracketright VoidSymbol Meta_bracketright Meta_braceright Meta_Control_bracketright VoidSymbol
+keycode 28 = Return Return Return Return Meta_Control_m Meta_Control_m Return Return
+keycode 29 = Control
+keycode 30 = +a
+ shift control keycode 30 = Hex_A
+keycode 31 = +s
+keycode 32 = +d
+ shift control keycode 32 = Hex_D
+keycode 33 = +f
+ shift control keycode 33 = Hex_F
+keycode 34 = +g
+keycode 35 = +h
+keycode 36 = +j
+keycode 37 = +k
+keycode 38 = +l
+keycode 39 = semicolon colon VoidSymbol VoidSymbol Meta_semicolon Meta_colon VoidSymbol VoidSymbol
+keycode 40 = dead_acute at Control_g VoidSymbol Meta_apostrophe Meta_at Meta_Control_g VoidSymbol
+keycode 41 = dead_grave bar nul VoidSymbol Meta_grave Meta_bar Meta_nul VoidSymbol
+keycode 42 = Shift
+keycode 43 = numbersign dead_tilde Control_backslash VoidSymbol Meta_numbersign Meta_asciitilde Meta_Control_backslash VoidSymbol
+keycode 44 = +z
+keycode 45 = +x
+keycode 46 = +c
+ shift control keycode 46 = Hex_C
+keycode 47 = +v
+keycode 48 = +b
+ shift control keycode 48 = Hex_B
+keycode 49 = +n
+keycode 50 = +m
+keycode 51 = comma less dead_cedilla VoidSymbol Meta_comma Meta_less VoidSymbol VoidSymbol
+keycode 52 = period greater VoidSymbol VoidSymbol Meta_period Meta_greater VoidSymbol VoidSymbol
+keycode 53 = slash question Delete Delete Meta_slash Meta_question Meta_Delete Meta_Delete
+keycode 54 = Shift
+keycode 55 =
+keycode 56 = Alt
+keycode 57 = space space nul nul Meta_space Meta_space Meta_nul Meta_nul
+keycode 58 = Caps_Lock
+ alt keycode 58 = Num_Lock
+keycode 59 = F1 F11 F1 F1 Console_1 Console_11 Console_21 Console_31
+keycode 60 = F2 F12 F2 F2 Console_2 Console_12 Console_22 Console_32
+keycode 61 = F3 F13 F3 F3 Console_3 Console_13 Console_23 Console_33
+keycode 62 = F4 F14 F4 F4 Console_4 Console_14 Console_24 Console_34
+keycode 63 = F5 F15 F5 F5 Console_5 Console_15 Console_25 Console_35
+keycode 64 = F6 F16 F6 F6 Console_6 Console_16 Console_26 Console_36
+keycode 65 = F7 F17 F7 F7 Console_7 Console_17 Console_27 Console_37
+keycode 66 = F8 F18 F8 F8 Console_8 Console_18 Console_28 Console_38
+keycode 67 = F9 F19 F9 F9 Console_9 Console_19 Console_29 Console_39
+keycode 68 = F10 F20 F10 F10 Console_10 Console_20 Console_30 Console_40
+keycode 69 =
+keycode 70 =
+keycode 71 = Find Select Find Select Find Select Find Select
+keycode 72 = Up Prior Up Prior Scroll_Backward Prior Up Prior
+keycode 73 =
+keycode 74 = KP_Subtract
+keycode 75 = Left
+ alt keycode 75 = Decr_Console
+keycode 76 =
+keycode 77 = Right
+ alt keycode 77 = Incr_Console
+keycode 78 = KP_Add
+keycode 79 =
+keycode 80 = Down Next Down Next Scroll_Forward Next Down Next
+keycode 81 =
+keycode 82 = Insert
+ alt keycode 82 = Scroll_Lock
+keycode 83 = Remove Remove Remove Remove Meta_Delete Meta_Delete Boot Meta_Delete
+keycode 84 =
+keycode 85 =
+keycode 86 =
+keycode 87 =
+keycode 88 =
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 =
+keycode 97 = F246 Break F246 F246 Last_Console F246 F246 F246
+keycode 98 = Help Show_Memory Show_Registers VoidSymbol Show_State Show_State Show_State VoidSymbol
+keycode 99 = 0x0312 # K_PPARENL; loadkeys has no symbol for this :-(
+keycode 100 = 0x0313 # K_PPARENR
+keycode 101 = KP_Divide
+keycode 102 = KP_Multiply
+keycode 103 = KP_7
+ shift keycode 103 = Find
+ shift control keycode 103 = Hex_7
+ alt keycode 103 = Ascii_7
+keycode 104 = KP_8
+ shift keycode 104 = Up
+ shift control keycode 104 = Hex_8
+ alt keycode 104 = Ascii_8
+keycode 105 = KP_9
+ shift keycode 105 = Prior
+ shift control keycode 105 = Hex_9
+ alt keycode 105 = Ascii_9
+keycode 106 = KP_4
+ shift keycode 106 = Right
+ shift control keycode 106 = Hex_4
+ alt keycode 106 = Ascii_4
+keycode 107 = KP_5
+ shift control keycode 107 = Hex_5
+ alt keycode 107 = Ascii_5
+keycode 108 = KP_6
+ shift keycode 108 = Left
+ shift control keycode 108 = Hex_6
+ alt keycode 108 = Ascii_6
+keycode 109 = KP_1
+ shift keycode 109 = Select
+ shift control keycode 109 = Hex_1
+ alt keycode 109 = Ascii_1
+keycode 110 = KP_2
+ shift keycode 110 = Down
+ shift control keycode 110 = Hex_2
+ alt keycode 110 = Ascii_2
+keycode 111 = KP_3
+ shift keycode 111 = Next
+ shift control keycode 111 = Hex_3
+ alt keycode 111 = Ascii_3
+keycode 112 = KP_0
+ shift keycode 112 = Insert
+ shift control keycode 112 = Hex_0
+ alt keycode 112 = Ascii_0
+keycode 113 = KP_Period
+ shift keycode 113 = Remove
+ alt control keycode 113 = Boot
+keycode 114 = KP_Enter
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 =
+keycode 119 =
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/atari/atari-uk.kmap b/keymaps/atari/atari-uk.kmap
new file mode 100644
index 0000000..a7abf0f
--- /dev/null
+++ b/keymaps/atari/atari-uk.kmap
@@ -0,0 +1,244 @@
+#
+# Keyboard Mapping for Atari Keyboards, UK Layout
+# -----------------------------------------------
+#
+# Copyright 1994 Roman Hodek
+# Updated August 1998 Roman Hodek
+# Credits to Keith Tomlin (tomlin@spods.dcs.kcl.ac.uk) for writing the
+# original UK map, from which I got the UK specifics.
+#
+# This file is subject to the terms and conditions of the GNU General Public
+# License. See the file README.legal in the main directory of this archive
+# for more details.
+#
+# Notes:
+# ------
+#
+# This keymap does not use an AltGr key, since the Atari keyboard
+# doesn't have such a key. Most times, the Alt key takes over the role
+# of AltGr.
+#
+# Some mappings you might want to know about:
+# - ClrHome is Home (aka Find)
+# - Shift+ClrHome is End (aka Select)
+# - Shift+Up/Down are Page Up/Down (aka Prior/Next)
+# - Alt + the numbers of the keypad lets you enter a character by its
+# decimal code
+# - Shift+Control + one of a,b,c,d,e,f or a number on the keypad lets
+# you enter the hex code of a character
+# - Alt+CapsLock is NumLock
+# - You can enter F11..F20 by pressing Shift+F1..F10
+# - Console (vt) switching:
+# Alt+F1..F10 switch to console 1..10
+# Shift+Alt+F1..F10 switch to console 11..20
+# Control+Alt+F1..F10 switch to console 21..30
+# Shift+Control_Alt+F1..F10 switch to console 31..40
+# Alt+Left/Right switches to previous/next console
+# Alt+Undo switches to last console
+# Alt+Control+Undo sends a keyboard request to the init process;
+# the default action is to spawn a new console
+# - Kernel information:
+# Alt+Help, Shift+Alt+Help, Control+Alt+Help: system status
+# Control+Help: registers
+# Shift+Help: memory info
+# (Note: with a 2.1 kernel and MAGIC_SYSRQ enabled, Alt+Help is SysRq)
+# - Shift+Undo sends a signal to the current foreground process (same as ^C)
+# - Alt+Up/Down scroll the console up/down (if implemented in the kernel)
+# - Alt+Ins stops/starts output (Scroll_Lock function, same as ^S/^Q)
+# - Control+Alt+Delete reboots the system, as usual (by sending a request to
+# the init process)
+#
+# Dead keys (i.e. pressing ^ and e gives œ, an e with hat) are not
+# used, because I consider this annoying. If you want them, apply the
+# following replacements:
+# grave -> dead_grave
+# apostrophe -> dead_acute
+# asciicircum -> dead_circumflex
+# asciitilde -> dead_tilde
+# quotedbl -> dead_diaeresis
+# Ctrl-comma -> dead_cedilla
+#
+# I've kept the convention that the digit keys 2..8 on the main keyboard
+# generate the control characters not corresponding to letters (^@, ^[ .. ^_
+# and ^?=DEL) when pressed with Control. It is convention, too, that the shift
+# key must not be pressed for this effect. Also, Meta+Control plus these keys
+# give the Metas of these controls.
+#
+# The current loadkeys (0.96) doesn't know names for KP_Parenleft (0x0312) and
+# KP_Parenright, so I had to write them down as hex codes :-(
+#
+
+charset "iso-8859-1"
+keymaps 0-1,4-5,8-9,12-13
+strings as usual
+compose as usual for "iso-8859-1"
+
+# plain Shift Control Shift+Control Alt Shift+Alt Control+Alt Shift+Ctrl+Alt
+keycode 1 = Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 2 = one exclam VoidSymbol VoidSymbol Meta_one Meta_exclam VoidSymbol VoidSymbol
+keycode 3 = two quotedbl nul VoidSymbol Meta_two Meta_quotedbl Meta_nul VoidSymbol
+keycode 4 = three numbersign Escape VoidSymbol Meta_three Meta_numbersign Meta_Escape VoidSymbol
+keycode 5 = four dollar Control_backslash VoidSymbol Meta_four Meta_dollar Meta_Control_backslash VoidSymbol
+keycode 6 = five percent Control_bracketright VoidSymbol Meta_five Meta_percent Meta_Control_bracketright VoidSymbol
+keycode 7 = six asciicircum Control_asciicircum VoidSymbol Meta_six Meta_asciicircum Meta_Control_asciicircum VoidSymbol
+keycode 8 = seven ampersand Control_underscore VoidSymbol Meta_seven Meta_ampersand Meta_Control_underscore VoidSymbol
+keycode 9 = eight asterisk Delete VoidSymbol Meta_eight Meta_asterisk Meta_Delete VoidSymbol
+keycode 10 = nine parenleft VoidSymbol VoidSymbol Meta_nine Meta_parenleft VoidSymbol VoidSymbol
+keycode 11 = zero parenright VoidSymbol VoidSymbol Meta_zero Meta_parenright VoidSymbol VoidSymbol
+keycode 12 = minus underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_Control_underscore Meta_Control_underscore
+keycode 13 = equal plus VoidSymbol VoidSymbol Meta_equal Meta_plus VoidSymbol VoidSymbol
+keycode 14 = BackSpace BackSpace BackSpace BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace
+keycode 15 = Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+keycode 16 = +q
+keycode 17 = +w
+keycode 18 = +e
+ shift control keycode 18 = Hex_E
+keycode 19 = +r
+keycode 20 = +t
+keycode 21 = +y
+keycode 22 = +u
+keycode 23 = +i
+keycode 24 = +o
+keycode 25 = +p
+keycode 26 = bracketleft braceleft Escape VoidSymbol Meta_bracketleft Meta_braceleft Meta_Escape VoidSymbol
+keycode 27 = bracketright braceright Control_bracketright VoidSymbol Meta_bracketright Meta_braceright Meta_Control_bracketright VoidSymbol
+keycode 28 = Return Return Return Return Meta_Control_m Meta_Control_m Return Return
+keycode 29 = Control
+keycode 30 = +a
+ shift control keycode 30 = Hex_A
+keycode 31 = +s
+keycode 32 = +d
+ shift control keycode 32 = Hex_D
+keycode 33 = +f
+ shift control keycode 33 = Hex_F
+keycode 34 = +g
+keycode 35 = +h
+keycode 36 = +j
+keycode 37 = +k
+keycode 38 = +l
+keycode 39 = semicolon colon VoidSymbol VoidSymbol Meta_semicolon Meta_colon VoidSymbol VoidSymbol
+keycode 40 = apostrophe at Control_g VoidSymbol Meta_apostrophe Meta_at Meta_Control_g VoidSymbol
+keycode 41 = grave bar nul VoidSymbol Meta_grave Meta_bar Meta_nul VoidSymbol
+keycode 42 = Shift
+keycode 43 = numbersign asciitilde Control_backslash VoidSymbol Meta_numbersign Meta_asciitilde Meta_Control_backslash VoidSymbol
+keycode 44 = +z
+keycode 45 = +x
+keycode 46 = +c
+ shift control keycode 46 = Hex_C
+keycode 47 = +v
+keycode 48 = +b
+ shift control keycode 48 = Hex_B
+keycode 49 = +n
+keycode 50 = +m
+keycode 51 = comma less VoidSymbol VoidSymbol Meta_comma Meta_less VoidSymbol VoidSymbol
+keycode 52 = period greater VoidSymbol VoidSymbol Meta_period Meta_greater VoidSymbol VoidSymbol
+keycode 53 = slash question Delete Delete Meta_slash Meta_question Meta_Delete Meta_Delete
+keycode 54 = Shift
+keycode 55 =
+keycode 56 = Alt
+keycode 57 = space space nul nul Meta_space Meta_space Meta_nul Meta_nul
+keycode 58 = Caps_Lock
+ alt keycode 58 = Num_Lock
+keycode 59 = F1 F11 F1 F1 Console_1 Console_11 Console_21 Console_31
+keycode 60 = F2 F12 F2 F2 Console_2 Console_12 Console_22 Console_32
+keycode 61 = F3 F13 F3 F3 Console_3 Console_13 Console_23 Console_33
+keycode 62 = F4 F14 F4 F4 Console_4 Console_14 Console_24 Console_34
+keycode 63 = F5 F15 F5 F5 Console_5 Console_15 Console_25 Console_35
+keycode 64 = F6 F16 F6 F6 Console_6 Console_16 Console_26 Console_36
+keycode 65 = F7 F17 F7 F7 Console_7 Console_17 Console_27 Console_37
+keycode 66 = F8 F18 F8 F8 Console_8 Console_18 Console_28 Console_38
+keycode 67 = F9 F19 F9 F9 Console_9 Console_19 Console_29 Console_39
+keycode 68 = F10 F20 F10 F10 Console_10 Console_20 Console_30 Console_40
+keycode 69 =
+keycode 70 =
+keycode 71 = Find Select Find Select Find Select Find Select
+keycode 72 = Up Prior Up Prior Scroll_Backward Prior Up Prior
+keycode 73 =
+keycode 74 = KP_Subtract
+keycode 75 = Left
+ alt keycode 75 = Decr_Console
+keycode 76 =
+keycode 77 = Right
+ alt keycode 77 = Incr_Console
+keycode 78 = KP_Add
+keycode 79 =
+keycode 80 = Down Next Down Next Scroll_Forward Next Down Next
+keycode 81 =
+keycode 82 = Insert
+ alt keycode 82 = Scroll_Lock
+keycode 83 = Remove Remove Remove Remove Meta_Delete Meta_Delete Boot Meta_Delete
+keycode 84 =
+keycode 85 =
+keycode 86 =
+keycode 87 =
+keycode 88 =
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 =
+keycode 97 = F246 Break F246 F246 Last_Console F246 F246 F246
+keycode 98 = Help Show_Memory Show_Registers VoidSymbol Show_State Show_State Show_State VoidSymbol
+keycode 99 = 0x0312 # K_PPARENL; loadkeys has no symbol for this :-(
+keycode 100 = 0x0313 # K_PPARENR
+keycode 101 = KP_Divide
+keycode 102 = KP_Multiply
+keycode 103 = KP_7
+ shift keycode 103 = Find
+ shift control keycode 103 = Hex_7
+ alt keycode 103 = Ascii_7
+keycode 104 = KP_8
+ shift keycode 104 = Up
+ shift control keycode 104 = Hex_8
+ alt keycode 104 = Ascii_8
+keycode 105 = KP_9
+ shift keycode 105 = Prior
+ shift control keycode 105 = Hex_9
+ alt keycode 105 = Ascii_9
+keycode 106 = KP_4
+ shift keycode 106 = Right
+ shift control keycode 106 = Hex_4
+ alt keycode 106 = Ascii_4
+keycode 107 = KP_5
+ shift control keycode 107 = Hex_5
+ alt keycode 107 = Ascii_5
+keycode 108 = KP_6
+ shift keycode 108 = Left
+ shift control keycode 108 = Hex_6
+ alt keycode 108 = Ascii_6
+keycode 109 = KP_1
+ shift keycode 109 = Select
+ shift control keycode 109 = Hex_1
+ alt keycode 109 = Ascii_1
+keycode 110 = KP_2
+ shift keycode 110 = Down
+ shift control keycode 110 = Hex_2
+ alt keycode 110 = Ascii_2
+keycode 111 = KP_3
+ shift keycode 111 = Next
+ shift control keycode 111 = Hex_3
+ alt keycode 111 = Ascii_3
+keycode 112 = KP_0
+ shift keycode 112 = Insert
+ shift control keycode 112 = Hex_0
+ alt keycode 112 = Ascii_0
+keycode 113 = KP_Period
+ shift keycode 113 = Remove
+ alt control keycode 113 = Boot
+keycode 114 = KP_Enter
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 =
+keycode 119 =
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/atari/atari-us-deadkeys.kmap b/keymaps/atari/atari-us-deadkeys.kmap
new file mode 100644
index 0000000..1a9dc46
--- /dev/null
+++ b/keymaps/atari/atari-us-deadkeys.kmap
@@ -0,0 +1,232 @@
+#
+# Keyboard Mapping for Atari Keyboards, US Layout
+# -----------------------------------------------
+#
+# Copyright 1994 Roman Hodek
+# Updated August 1998 Roman Hodek
+#
+# This file is subject to the terms and conditions of the GNU General Public
+# License. See the file README.legal in the main directory of this archive
+# for more details.
+#
+# Notes:
+# ------
+#
+# This keymap does not use an AltGr key, since the Atari keyboard
+# doesn't have such a key. Most times, the Alt key takes over the role
+# of AltGr.
+#
+# Some mappings you might want to know about:
+# - ClrHome is Home (aka Find)
+# - Shift+ClrHome is End (aka Select)
+# - Shift+Up/Down are Page Up/Down (aka Prior/Next)
+# - Alt + the numbers of the keypad lets you enter a character by its
+# decimal code
+# - Shift+Control + one of a,b,c,d,e,f or a number on the keypad lets
+# you enter the hex code of a character
+# - Alt+CapsLock is NumLock
+# - You can enter F11..F20 by pressing Shift+F1..F10
+# - Console (vt) switching:
+# Alt+F1..F10 switch to console 1..10
+# Shift+Alt+F1..F10 switch to console 11..20
+# Control+Alt+F1..F10 switch to console 21..30
+# Shift+Control_Alt+F1..F10 switch to console 31..40
+# Alt+Left/Right switches to previous/next console
+# Alt+Undo switches to last console
+# Alt+Control+Undo sends a keyboard request to the init process;
+# the default action is to spawn a new console
+# - Kernel information:
+# Alt+Help, Shift+Alt+Help, Control+Alt+Help: system status
+# Control+Help: registers
+# Shift+Help: memory info
+# (Note: with a 2.1 kernel and MAGIC_SYSRQ enabled, Alt+Help is SysRq)
+# - Shift+Undo sends a signal to the current foreground process (same as ^C)
+# - Alt+Up/Down scroll the console up/down (if implemented in the kernel)
+# - Alt+Ins stops/starts output (Scroll_Lock function, same as ^S/^Q)
+# - Control+Alt+Delete reboots the system, as usual (by sending a request to
+# the init process)
+#
+# I've kept the convention that the digit keys 2..8 on the main keyboard
+# generate the control characters not corresponding to letters (^@, ^[ .. ^_
+# and ^?=DEL) when pressed with Control. It is convention, too, that the shift
+# key must not be pressed for this effect. Also, Meta+Control plus these keys
+# give the Metas of these controls.
+#
+# The current loadkeys (0.96) doesn't know names for KP_Parenleft (0x0312) and
+# KP_Parenright, so I had to write them down as hex codes :-(
+#
+
+charset "iso-8859-1"
+keymaps 0-1,4-5,8-9,12-13
+strings as usual
+compose as usual for "iso-8859-1"
+
+# plain Shift Control Shift+Control Alt Shift+Alt Control+Alt Shift+Ctrl+Alt
+keycode 1 = Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 2 = one exclam VoidSymbol VoidSymbol Meta_one Meta_exclam VoidSymbol VoidSymbol
+keycode 3 = two at nul VoidSymbol Meta_two Meta_at Meta_nul VoidSymbol
+keycode 4 = three numbersign Escape VoidSymbol Meta_three Meta_numbersign Meta_Escape VoidSymbol
+keycode 5 = four dollar Control_backslash VoidSymbol Meta_four Meta_dollar Meta_Control_backslash VoidSymbol
+keycode 6 = five percent Control_bracketright VoidSymbol Meta_five Meta_percent Meta_Control_bracketright VoidSymbol
+keycode 7 = six dead_acute Control_asciicircum VoidSymbol Meta_six Meta_asciicircum Meta_Control_asciicircum VoidSymbol
+keycode 8 = seven ampersand Control_underscore VoidSymbol Meta_seven Meta_ampersand Meta_Control_underscore VoidSymbol
+keycode 9 = eight asterisk Delete VoidSymbol Meta_eight Meta_asterisk Meta_Delete VoidSymbol
+keycode 10 = nine parenleft VoidSymbol VoidSymbol Meta_nine Meta_parenleft VoidSymbol VoidSymbol
+keycode 11 = zero parenright VoidSymbol VoidSymbol Meta_zero Meta_parenright VoidSymbol VoidSymbol
+keycode 12 = minus underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_Control_underscore Meta_Control_underscore
+keycode 13 = equal plus VoidSymbol VoidSymbol Meta_equal Meta_plus VoidSymbol VoidSymbol
+keycode 14 = BackSpace BackSpace BackSpace BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace
+keycode 15 = Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+keycode 16 = +q
+keycode 17 = +w
+keycode 18 = +e
+ shift control keycode 18 = Hex_E
+keycode 19 = +r
+keycode 20 = +t
+keycode 21 = +y
+keycode 22 = +u
+keycode 23 = +i
+keycode 24 = +o
+keycode 25 = +p
+keycode 26 = bracketleft braceleft Escape VoidSymbol Meta_bracketleft Meta_braceleft Meta_Escape VoidSymbol
+keycode 27 = bracketright braceright Control_bracketright VoidSymbol Meta_bracketright Meta_braceright Meta_Control_bracketright VoidSymbol
+keycode 28 = Return Return Return Return Meta_Control_m Meta_Control_m Return Return
+keycode 29 = Control
+keycode 30 = +a
+ shift control keycode 30 = Hex_A
+keycode 31 = +s
+keycode 32 = +d
+ shift control keycode 32 = Hex_D
+keycode 33 = +f
+ shift control keycode 33 = Hex_F
+keycode 34 = +g
+keycode 35 = +h
+keycode 36 = +j
+keycode 37 = +k
+keycode 38 = +l
+keycode 39 = semicolon colon VoidSymbol VoidSymbol Meta_semicolon Meta_colon VoidSymbol VoidSymbol
+keycode 40 = dead_acute dead_diaeresis Control_g VoidSymbol Meta_apostrophe Meta_quotedbl Meta_Control_g VoidSymbol
+keycode 41 = dead_grave dead_tilde nul VoidSymbol Meta_grave Meta_asciitilde Meta_nul VoidSymbol
+keycode 42 = Shift
+keycode 43 = backslash bar Control_backslash VoidSymbol Meta_backslash Meta_bar Meta_Control_backslash VoidSymbol
+keycode 44 = +z
+keycode 45 = +x
+keycode 46 = +c
+ shift control keycode 46 = Hex_C
+keycode 47 = +v
+keycode 48 = +b
+ shift control keycode 48 = Hex_B
+keycode 49 = +n
+keycode 50 = +m
+keycode 51 = comma less dead_cedilla VoidSymbol Meta_comma Meta_less VoidSymbol VoidSymbol
+keycode 52 = period greater VoidSymbol VoidSymbol Meta_period Meta_greater VoidSymbol VoidSymbol
+keycode 53 = slash question Delete Delete Meta_slash Meta_question Meta_Delete Meta_Delete
+keycode 54 = Shift
+keycode 55 =
+keycode 56 = Alt
+keycode 57 = space space nul nul Meta_space Meta_space Meta_nul Meta_nul
+keycode 58 = Caps_Lock
+ alt keycode 58 = Num_Lock
+keycode 59 = F1 F11 F1 F1 Console_1 Console_11 Console_21 Console_31
+keycode 60 = F2 F12 F2 F2 Console_2 Console_12 Console_22 Console_32
+keycode 61 = F3 F13 F3 F3 Console_3 Console_13 Console_23 Console_33
+keycode 62 = F4 F14 F4 F4 Console_4 Console_14 Console_24 Console_34
+keycode 63 = F5 F15 F5 F5 Console_5 Console_15 Console_25 Console_35
+keycode 64 = F6 F16 F6 F6 Console_6 Console_16 Console_26 Console_36
+keycode 65 = F7 F17 F7 F7 Console_7 Console_17 Console_27 Console_37
+keycode 66 = F8 F18 F8 F8 Console_8 Console_18 Console_28 Console_38
+keycode 67 = F9 F19 F9 F9 Console_9 Console_19 Console_29 Console_39
+keycode 68 = F10 F20 F10 F10 Console_10 Console_20 Console_30 Console_40
+keycode 69 =
+keycode 70 =
+keycode 71 = Find Select Find Select Find Select Find Select
+keycode 72 = Up Prior Up Prior Scroll_Backward Prior Up Prior
+keycode 73 =
+keycode 74 = KP_Subtract
+keycode 75 = Left
+ alt keycode 75 = Decr_Console
+keycode 76 =
+keycode 77 = Right
+ alt keycode 77 = Incr_Console
+keycode 78 = KP_Add
+keycode 79 =
+keycode 80 = Down Next Down Next Scroll_Forward Next Down Next
+keycode 81 =
+keycode 82 = Insert
+ alt keycode 82 = Scroll_Lock
+keycode 83 = Remove Remove Remove Remove Meta_Delete Meta_Delete Boot Meta_Delete
+keycode 84 =
+keycode 85 =
+keycode 86 =
+keycode 87 =
+keycode 88 =
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 =
+keycode 97 = F246 Break F246 F246 Last_Console F246 F246 F246
+keycode 98 = Help Show_Memory Show_Registers VoidSymbol Show_State Show_State Show_State VoidSymbol
+keycode 99 = 0x0312 # K_PPARENL; loadkeys has no symbol for this :-(
+keycode 100 = 0x0313 # K_PPARENR
+keycode 101 = KP_Divide
+keycode 102 = KP_Multiply
+keycode 103 = KP_7
+ shift keycode 103 = Find
+ shift control keycode 103 = Hex_7
+ alt keycode 103 = Ascii_7
+keycode 104 = KP_8
+ shift keycode 104 = Up
+ shift control keycode 104 = Hex_8
+ alt keycode 104 = Ascii_8
+keycode 105 = KP_9
+ shift keycode 105 = Prior
+ shift control keycode 105 = Hex_9
+ alt keycode 105 = Ascii_9
+keycode 106 = KP_4
+ shift keycode 106 = Right
+ shift control keycode 106 = Hex_4
+ alt keycode 106 = Ascii_4
+keycode 107 = KP_5
+ shift control keycode 107 = Hex_5
+ alt keycode 107 = Ascii_5
+keycode 108 = KP_6
+ shift keycode 108 = Left
+ shift control keycode 108 = Hex_6
+ alt keycode 108 = Ascii_6
+keycode 109 = KP_1
+ shift keycode 109 = Select
+ shift control keycode 109 = Hex_1
+ alt keycode 109 = Ascii_1
+keycode 110 = KP_2
+ shift keycode 110 = Down
+ shift control keycode 110 = Hex_2
+ alt keycode 110 = Ascii_2
+keycode 111 = KP_3
+ shift keycode 111 = Next
+ shift control keycode 111 = Hex_3
+ alt keycode 111 = Ascii_3
+keycode 112 = KP_0
+ shift keycode 112 = Insert
+ shift control keycode 112 = Hex_0
+ alt keycode 112 = Ascii_0
+keycode 113 = KP_Period
+ shift keycode 113 = Remove
+ alt control keycode 113 = Boot
+keycode 114 = KP_Enter
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 =
+keycode 119 =
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/atari/atari-us.kmap b/keymaps/atari/atari-us.kmap
new file mode 100644
index 0000000..3939c73
--- /dev/null
+++ b/keymaps/atari/atari-us.kmap
@@ -0,0 +1,242 @@
+#
+# Keyboard Mapping for Atari Keyboards, US Layout
+# -----------------------------------------------
+#
+# Copyright 1994 Roman Hodek
+# Updated August 1998 Roman Hodek
+#
+# This file is subject to the terms and conditions of the GNU General Public
+# License. See the file README.legal in the main directory of this archive
+# for more details.
+#
+# Notes:
+# ------
+#
+# This keymap does not use an AltGr key, since the Atari keyboard
+# doesn't have such a key. Most times, the Alt key takes over the role
+# of AltGr.
+#
+# Some mappings you might want to know about:
+# - ClrHome is Home (aka Find)
+# - Shift+ClrHome is End (aka Select)
+# - Shift+Up/Down are Page Up/Down (aka Prior/Next)
+# - Alt + the numbers of the keypad lets you enter a character by its
+# decimal code
+# - Shift+Control + one of a,b,c,d,e,f or a number on the keypad lets
+# you enter the hex code of a character
+# - Alt+CapsLock is NumLock
+# - You can enter F11..F20 by pressing Shift+F1..F10
+# - Console (vt) switching:
+# Alt+F1..F10 switch to console 1..10
+# Shift+Alt+F1..F10 switch to console 11..20
+# Control+Alt+F1..F10 switch to console 21..30
+# Shift+Control_Alt+F1..F10 switch to console 31..40
+# Alt+Left/Right switches to previous/next console
+# Alt+Undo switches to last console
+# Alt+Control+Undo sends a keyboard request to the init process;
+# the default action is to spawn a new console
+# - Kernel information:
+# Alt+Help, Shift+Alt+Help, Control+Alt+Help: system status
+# Control+Help: registers
+# Shift+Help: memory info
+# (Note: with a 2.1 kernel and MAGIC_SYSRQ enabled, Alt+Help is SysRq)
+# - Shift+Undo sends a signal to the current foreground process (same as ^C)
+# - Alt+Up/Down scroll the console up/down (if implemented in the kernel)
+# - Alt+Ins stops/starts output (Scroll_Lock function, same as ^S/^Q)
+# - Control+Alt+Delete reboots the system, as usual (by sending a request to
+# the init process)
+#
+# Dead keys (i.e. pressing ^ and e gives œ, an e with hat) are not
+# used, because I consider this annoying. If you want them, apply the
+# following replacements:
+# grave -> dead_grave
+# apostrophe -> dead_acute
+# asciicircum -> dead_circumflex
+# asciitilde -> dead_tilde
+# quotedbl -> dead_diaeresis
+# Ctrl-comma -> dead_cedilla
+#
+# I've kept the convention that the digit keys 2..8 on the main keyboard
+# generate the control characters not corresponding to letters (^@, ^[ .. ^_
+# and ^?=DEL) when pressed with Control. It is convention, too, that the shift
+# key must not be pressed for this effect. Also, Meta+Control plus these keys
+# give the Metas of these controls.
+#
+# The current loadkeys (0.96) doesn't know names for KP_Parenleft (0x0312) and
+# KP_Parenright, so I had to write them down as hex codes :-(
+#
+
+charset "iso-8859-1"
+keymaps 0-1,4-5,8-9,12-13
+strings as usual
+compose as usual for "iso-8859-1"
+
+# plain Shift Control Shift+Control Alt Shift+Alt Control+Alt Shift+Ctrl+Alt
+keycode 1 = Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 2 = one exclam VoidSymbol VoidSymbol Meta_one Meta_exclam VoidSymbol VoidSymbol
+keycode 3 = two at nul VoidSymbol Meta_two Meta_at Meta_nul VoidSymbol
+keycode 4 = three numbersign Escape VoidSymbol Meta_three Meta_numbersign Meta_Escape VoidSymbol
+keycode 5 = four dollar Control_backslash VoidSymbol Meta_four Meta_dollar Meta_Control_backslash VoidSymbol
+keycode 6 = five percent Control_bracketright VoidSymbol Meta_five Meta_percent Meta_Control_bracketright VoidSymbol
+keycode 7 = six asciicircum Control_asciicircum VoidSymbol Meta_six Meta_asciicircum Meta_Control_asciicircum VoidSymbol
+keycode 8 = seven ampersand Control_underscore VoidSymbol Meta_seven Meta_ampersand Meta_Control_underscore VoidSymbol
+keycode 9 = eight asterisk Delete VoidSymbol Meta_eight Meta_asterisk Meta_Delete VoidSymbol
+keycode 10 = nine parenleft VoidSymbol VoidSymbol Meta_nine Meta_parenleft VoidSymbol VoidSymbol
+keycode 11 = zero parenright VoidSymbol VoidSymbol Meta_zero Meta_parenright VoidSymbol VoidSymbol
+keycode 12 = minus underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_Control_underscore Meta_Control_underscore
+keycode 13 = equal plus VoidSymbol VoidSymbol Meta_equal Meta_plus VoidSymbol VoidSymbol
+keycode 14 = BackSpace BackSpace BackSpace BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace
+keycode 15 = Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+keycode 16 = +q
+keycode 17 = +w
+keycode 18 = +e
+ shift control keycode 18 = Hex_E
+keycode 19 = +r
+keycode 20 = +t
+keycode 21 = +y
+keycode 22 = +u
+keycode 23 = +i
+keycode 24 = +o
+keycode 25 = +p
+keycode 26 = bracketleft braceleft Escape VoidSymbol Meta_bracketleft Meta_braceleft Meta_Escape VoidSymbol
+keycode 27 = bracketright braceright Control_bracketright VoidSymbol Meta_bracketright Meta_braceright Meta_Control_bracketright VoidSymbol
+keycode 28 = Return Return Return Return Meta_Control_m Meta_Control_m Return Return
+keycode 29 = Control
+keycode 30 = +a
+ shift control keycode 30 = Hex_A
+keycode 31 = +s
+keycode 32 = +d
+ shift control keycode 32 = Hex_D
+keycode 33 = +f
+ shift control keycode 33 = Hex_F
+keycode 34 = +g
+keycode 35 = +h
+keycode 36 = +j
+keycode 37 = +k
+keycode 38 = +l
+keycode 39 = semicolon colon VoidSymbol VoidSymbol Meta_semicolon Meta_colon VoidSymbol VoidSymbol
+keycode 40 = apostrophe quotedbl Control_g VoidSymbol Meta_apostrophe Meta_quotedbl Meta_Control_g VoidSymbol
+keycode 41 = grave asciitilde nul VoidSymbol Meta_grave Meta_asciitilde Meta_nul VoidSymbol
+keycode 42 = Shift
+keycode 43 = backslash bar Control_backslash VoidSymbol Meta_backslash Meta_bar Meta_Control_backslash VoidSymbol
+keycode 44 = +z
+keycode 45 = +x
+keycode 46 = +c
+ shift control keycode 46 = Hex_C
+keycode 47 = +v
+keycode 48 = +b
+ shift control keycode 48 = Hex_B
+keycode 49 = +n
+keycode 50 = +m
+keycode 51 = comma less VoidSymbol VoidSymbol Meta_comma Meta_less VoidSymbol VoidSymbol
+keycode 52 = period greater VoidSymbol VoidSymbol Meta_period Meta_greater VoidSymbol VoidSymbol
+keycode 53 = slash question Delete Delete Meta_slash Meta_question Meta_Delete Meta_Delete
+keycode 54 = Shift
+keycode 55 =
+keycode 56 = Alt
+keycode 57 = space space nul nul Meta_space Meta_space Meta_nul Meta_nul
+keycode 58 = Caps_Lock
+ alt keycode 58 = Num_Lock
+keycode 59 = F1 F11 F1 F1 Console_1 Console_11 Console_21 Console_31
+keycode 60 = F2 F12 F2 F2 Console_2 Console_12 Console_22 Console_32
+keycode 61 = F3 F13 F3 F3 Console_3 Console_13 Console_23 Console_33
+keycode 62 = F4 F14 F4 F4 Console_4 Console_14 Console_24 Console_34
+keycode 63 = F5 F15 F5 F5 Console_5 Console_15 Console_25 Console_35
+keycode 64 = F6 F16 F6 F6 Console_6 Console_16 Console_26 Console_36
+keycode 65 = F7 F17 F7 F7 Console_7 Console_17 Console_27 Console_37
+keycode 66 = F8 F18 F8 F8 Console_8 Console_18 Console_28 Console_38
+keycode 67 = F9 F19 F9 F9 Console_9 Console_19 Console_29 Console_39
+keycode 68 = F10 F20 F10 F10 Console_10 Console_20 Console_30 Console_40
+keycode 69 =
+keycode 70 =
+keycode 71 = Find Select Find Select Find Select Find Select
+keycode 72 = Up Prior Up Prior Scroll_Backward Prior Up Prior
+keycode 73 =
+keycode 74 = KP_Subtract
+keycode 75 = Left
+ alt keycode 75 = Decr_Console
+keycode 76 =
+keycode 77 = Right
+ alt keycode 77 = Incr_Console
+keycode 78 = KP_Add
+keycode 79 =
+keycode 80 = Down Next Down Next Scroll_Forward Next Down Next
+keycode 81 =
+keycode 82 = Insert
+ alt keycode 82 = Scroll_Lock
+keycode 83 = Remove Remove Remove Remove Meta_Delete Meta_Delete Boot Meta_Delete
+keycode 84 =
+keycode 85 =
+keycode 86 =
+keycode 87 =
+keycode 88 =
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 =
+keycode 97 = F246 Break F246 F246 Last_Console F246 F246 F246
+keycode 98 = Help Show_Memory Show_Registers VoidSymbol Show_State Show_State Show_State VoidSymbol
+keycode 99 = 0x0312 # K_PPARENL; loadkeys has no symbol for this :-(
+keycode 100 = 0x0313 # K_PPARENR
+keycode 101 = KP_Divide
+keycode 102 = KP_Multiply
+keycode 103 = KP_7
+ shift keycode 103 = Find
+ shift control keycode 103 = Hex_7
+ alt keycode 103 = Ascii_7
+keycode 104 = KP_8
+ shift keycode 104 = Up
+ shift control keycode 104 = Hex_8
+ alt keycode 104 = Ascii_8
+keycode 105 = KP_9
+ shift keycode 105 = Prior
+ shift control keycode 105 = Hex_9
+ alt keycode 105 = Ascii_9
+keycode 106 = KP_4
+ shift keycode 106 = Right
+ shift control keycode 106 = Hex_4
+ alt keycode 106 = Ascii_4
+keycode 107 = KP_5
+ shift control keycode 107 = Hex_5
+ alt keycode 107 = Ascii_5
+keycode 108 = KP_6
+ shift keycode 108 = Left
+ shift control keycode 108 = Hex_6
+ alt keycode 108 = Ascii_6
+keycode 109 = KP_1
+ shift keycode 109 = Select
+ shift control keycode 109 = Hex_1
+ alt keycode 109 = Ascii_1
+keycode 110 = KP_2
+ shift keycode 110 = Down
+ shift control keycode 110 = Hex_2
+ alt keycode 110 = Ascii_2
+keycode 111 = KP_3
+ shift keycode 111 = Next
+ shift control keycode 111 = Hex_3
+ alt keycode 111 = Ascii_3
+keycode 112 = KP_0
+ shift keycode 112 = Insert
+ shift control keycode 112 = Hex_0
+ alt keycode 112 = Ascii_0
+keycode 113 = KP_Period
+ shift keycode 113 = Remove
+ alt control keycode 113 = Boot
+keycode 114 = KP_Enter
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 =
+keycode 119 =
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/i386/azerty/azerty.kmap b/keymaps/i386/azerty/azerty.kmap
new file mode 100644
index 0000000..7f19fca
--- /dev/null
+++ b/keymaps/i386/azerty/azerty.kmap
@@ -0,0 +1,62 @@
+# This describes the key engravings on an AZERTY keyboard (brand Tandon)
+# that I just got. It might be useful in French-speaking countries.
+# aeb - April 1994.
+charset "iso-8859-1"
+keymaps 0-2,4-5,8,12
+include "azerty-layout"
+include "linux-with-two-alt-keys"
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 1 = Escape Escape
+keycode 2 = ampersand one bar
+ alt keycode 2 = bar
+keycode 3 = eacute two at
+ control keycode 3 = nul
+ control shift keycode 3 = nul
+ alt keycode 3 = at
+keycode 4 = quotedbl three numbersign
+ alt keycode 4 = numbersign
+keycode 5 = apostrophe four
+keycode 6 = parenleft five
+keycode 7 = section six asciicircum
+ alt keycode 7 = asciicircum
+keycode 8 = egrave seven
+keycode 9 = exclam eight
+keycode 10 = ccedilla nine braceleft
+ alt keycode 10 = braceleft
+keycode 11 = agrave zero braceright
+ alt keycode 11 = braceright
+keycode 12 = parenright degree
+keycode 13 = minus underscore backslash
+ control keycode 13 = Control_underscore
+ control shift keycode 13 = Control_underscore
+keycode 14 = Delete Delete
+keycode 15 = Tab Tab
+keycode 26 = dead_circumflex dead_diaeresis bracketleft
+ control keycode 26 = Escape
+ alt keycode 26 = bracketleft
+keycode 27 = dollar asterisk bracketright
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = bracketright
+keycode 28 = Return
+keycode 29 = Control
+keycode 40 = ugrave percent acute
+ alt keycode 40 = dead_acute
+keycode 41 = twosuperior threesuperior
+keycode 42 = Shift
+keycode 43 = mu sterling grave
+ alt keycode 43 = dead_grave
+keycode 50 = comma question
+keycode 51 = semicolon period
+keycode 52 = colon slash
+keycode 53 = equal plus asciitilde
+ alt keycode 53 = asciitilde
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+keycode 58 = Caps_Lock
+keycode 86 = less greater backslash
+ alt keycode 86 = backslash
+keycode 97 = Control
diff --git a/keymaps/i386/azerty/be-latin1.kmap b/keymaps/i386/azerty/be-latin1.kmap
new file mode 100644
index 0000000..1a9ac05
--- /dev/null
+++ b/keymaps/i386/azerty/be-latin1.kmap
@@ -0,0 +1,73 @@
+# This map derived from one contributed by Robert Herzog <rherzog@ulb.ac.be>.
+keymaps 0-2,4,6,8,12
+alt_is_meta
+include "azerty-layout"
+include "linux-with-alt-and-altgr"
+include "euro"
+strings as usual
+
+keycode 1 = Escape
+keycode 2 = ampersand one bar
+ alt keycode 2 = Meta_one
+keycode 3 = eacute two at
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+keycode 4 = quotedbl three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+keycode 5 = apostrophe four
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+keycode 6 = parenleft five
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 7 = paragraph six dead_circumflex
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = egrave seven
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = exclam eight
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = ccedilla nine braceleft
+ alt keycode 10 = Meta_nine
+keycode 11 = agrave zero braceright
+ alt keycode 11 = Meta_zero
+keycode 12 = parenright degree
+ control keycode 12 = Control_underscore
+keycode 13 = minus underscore
+keycode 14 = Delete
+keycode 15 = Tab
+keycode 26 = dead_circumflex dead_diaeresis bracketleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = dollar asterisk bracketright
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 40 = ugrave percent dead_acute
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = mu sterling dead_grave
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 =
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 50 = comma question
+keycode 51 = semicolon period
+keycode 52 = colon slash
+keycode 53 = equal plus dead_tilde
+ control keycode 53 = Delete
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+keycode 58 = Caps_Lock
+keycode 86 = less greater backslash
+ alt keycode 86 = Meta_less
+keycode 97 = Control
diff --git a/keymaps/i386/azerty/be2-latin1.kmap b/keymaps/i386/azerty/be2-latin1.kmap
new file mode 100644
index 0000000..47f9142
--- /dev/null
+++ b/keymaps/i386/azerty/be2-latin1.kmap
@@ -0,0 +1,20 @@
+#From srtxg@habcnx.interpac.be Wed Apr 26 07:21:00 1995
+#
+#I've seen some (minor) differences between be-latin1.map and my own keyboard,
+#so I send you the modified keymap.
+#(the differences are twosuperior and threesuperior added(keycode 41), grave at
+#the correct place(43), and changed the ^ on the numbers row (7) to have the
+#same behaviour than in ms-dos)
+
+# be-latin1.map modified by Pablo Saratxaga <srtxg@f2219.n293.z2.fidonet.org>
+include "be-latin1.kmap"
+
+ altgr keycode 7 = asciicircum
+keycode 41 = twosuperior threesuperior
+keycode 43 = mu sterling dead_grave
+ alt keycode 43 = Meta_grave
+
+# be-latin1.map has here:
+# altgr keycode 7 = dead_circumflex
+# keycode 41 = mu sterling dead_grave
+# keycode 43 = <absent>
diff --git a/keymaps/i386/azerty/fr-latin0.kmap b/keymaps/i386/azerty/fr-latin0.kmap
new file mode 100644
index 0000000..067ba98
--- /dev/null
+++ b/keymaps/i386/azerty/fr-latin0.kmap
@@ -0,0 +1,648 @@
+# Copyright (c) 1997, 1998 Guylhem Aznar <guylhem @ oeil.qc.ca> : GPL
+# Copyright (c) 1997 Pierre-Charles David <pcdavid @ club-internet.fr>
+#
+# Les accents circonflexes des principales voyelles sont obtenus avec
+# la touche Alt_Gr, les trémas sont obtenus par Alt_Gr + Shift.
+#
+# ____ _________ _____________ _______
+# | S A| S = Shift, A = AltGr + Shift | Compose | Arrêt défil | Pause |
+# | s a| s = normal, a = AltGr | Ferme | Mem/Reg/Ste | Halte |
+# ¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯
+# ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______
+# | ½ «| 1 ·| 2 É| 3 ¸| 4 ´| 5 ¨| 6 ¦| 7 È| 8 ¯| 9 Ç| 0 À| ° ÿ| + ¾| <-- |
+# | ¼ »| & '| é ~| " #| ' {| ( [| - || è `| _ \| ç ^| à @| ) ]| = }| |
+# ========================================================================
+# | |<- | A ä| Z Å| E ë| R Ç| T Þ| Y Ý| U ü| I ï| O ö| P '| " `| $ ê| , |
+# | ->| | a â| z å| e ¤| r ç| t þ| y ý| u û| i î| o ô| p ¶| ^ ~| £ ¢| <-' |
+# ===================================================================¬ |
+# | | Q Ä| S Ø| D Ë| F ª| G Æ| H Ð| J Ü| K Ï| L Ö| M º| % Ù| µ ¥| |
+# | MAJ | q Â| s ø| d Ê| f ±| g æ| h ð| j Û| k Î| l Ô| m ¹| ù ²| * ³| |
+# ========================================================================
+# | ^ | > | W | X | C | V | B | N | ? | . | / | § | ^ |
+# | | | < || w «| x »| c ©| v ®| b ß| n ¬| , ¿| ; ×| : ÷| ! ¡| | |
+# ========================================================================
+# | | | | | | | | |
+# | Ctrl | Con+ | Alt | Space Nobreakspace | AltGr | Con- | Con | Ctrl |
+# ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯¯¯¯¯
+#
+# 1. Control & Alt
+#
+# Les définitions de Alt & Control (touche) sont *NORMALEMENT* implicites ;
+# n'ont donc été redéfinis qu'Alt (nombre) & Alt + Shift (nombre) pour
+# inverser le comportement par défaut ainsi que les Alt(azqwm) pour coller
+# au clavier AZERTY au lieu de QWERTY :
+#
+# touche = signe
+# touche + Shift = nombre
+#
+# La correspondance devient donc :
+#
+# Alt touche = Meta_nombre
+# Alt + Shift touche = Meta_signe
+#
+# Signalez-moi si cette correspondance n'est pas implicite chez vous !
+#
+# 2. Hexadécimal :
+#
+# Shift (touche du pavé numérique) permet de taper de l'héxadécimal.
+#
+# 3. Fonctions :
+#
+# Redémarrer ou arrêter l'ordinateur, sont disponibles directement au clavier
+#
+# Control Alt Delete/Backspace : redémarrer
+# AltGr + Impr. Écran : arrêter
+#
+# Ajouter pour ces deux fonction les lignes suivantes à /etc/inittab :
+#
+# ca:12345:ctrlaltdel:/sbin/shutdown -t1 -r now
+# kb:12345:kbrequest:/sbin/halt
+#
+# 4. Accentuations :
+#
+# Les touches é, è, ç, à & ù, présentes en mode minuscule (i.e. sans shift)
+# ne sont pas disponibles en mode majuscule : elles sont respectivement
+# remplacées par 2, 7, 9, 0 & % ; donc pour obtenir les majuscules
+# accentuées É, È, Ç, À & Ù:
+#
+# * Si les dead_keys ne fonctionnaient pas (certains programmes
+# les refusent), vous pouvez toujours utiliser AltGr + Shift
+# (minuscule accentuée) pour obtenir la majuscule ; pour
+# l'accent circonflexe & le tréma :
+#
+# AltGr (voyelle) : voyelle-minuscule ^
+# AltGr + Shift (voyelle) : voyelle-minuscule "
+# AltGr (en dessous de la voyelle) : voyelle-majuscule ^
+# AltGr + Shift (en dessous de la voyelle) : voyelle majuscule "
+#
+# Seule exception : AltGr (e) donnant l'euro ¤, AltGr + Shift ($) donne ê
+#
+# * Si les dead_keys fonctionnent, utiliser les accent dits
+# «morts», i.e. fonctionnant comme l'accent circonflexe & le
+# tréma des machines à écrire ; sont disponibles :
+#
+# (^) : accent circonflexe,
+# Shift+ (^) : tréma,
+# Shift + AltGr (^) : tilde,
+# AltGr (1) : accent aigü,
+# AltGr (7) : accent grave
+#
+# Pour s'en servir, procéder comme avec l'accent circonflexe & le tréma
+# sur les vielles machines à écrire :
+#
+# AltGr (1) puis e : é
+# Shift+AltGr (1) puis e : É ...
+#
+# 5. Les touches supplémentaires des claviers 105 touches
+#
+# Celles-ci servent à changer de console très facilement :
+# Window Gauche : décrémente console
+# Window Droite : incrémente console
+# Souris sur menu : précédente console
+#
+# 6. Mode majuscule (CapsLock)
+#
+# Celui-ci à été refait pour correspondre à celui par défaut des veilles
+# machines à écrite ou PC sous d'autres systèmes d'exploitation :
+# CapsLock : passe toutes les touches en mode majuscule
+# CapsLock à nouveau : repasse toutes les touches en minuscules
+# Shift + touche : touche temporairement en majuscule
+# Shift après CapsLock : repasse toues les touches en minuscules
+
+keycode 0 =
+
+keycode 1 = Escape
+
+keycode 2 = +ampersand +one dead_acute periodcentered
+ alt keycode 2 = Meta_one
+ alt shift keycode 2 = Meta_ampersand
+
+keycode 3 = +eacute +two tilde Eacute
+ alt keycode 3 = Meta_two
+ alt shift keycode 3 = Meta_asciitilde
+
+keycode 4 = +quotedbl +three numbersign cedilla
+ alt keycode 4 = Meta_three
+ alt shift keycode 4 = Meta_quotedbl
+
+keycode 5 = +apostrophe +four braceleft acute
+ alt keycode 5 = Meta_four
+ alt shift keycode 5 = Meta_apostrophe
+
+keycode 6 = +parenleft +five bracketleft diaeresis
+ alt keycode 6 = Meta_five
+ alt shift keycode 6 = Meta_parenleft
+
+keycode 7 = +minus +six bar brokenbar
+ alt keycode 7 = Meta_six
+ alt shift keycode 7 = Meta_minus
+
+keycode 8 = +egrave +seven dead_grave Egrave
+ alt keycode 8 = Meta_seven
+ alt shift keycode 8 = Meta_grave
+
+keycode 9 = +underscore +eight backslash macron
+ alt keycode 9 = Meta_eight
+ alt shift keycode 9 = Meta_underscore
+
+keycode 10 = +ccedilla +nine asciicircum Ccedilla
+ alt keycode 10 = Meta_nine
+ alt shift keycode 10 = Meta_asciicircum
+
+keycode 11 = +agrave +zero at Agrave
+ alt keycode 11 = Meta_zero
+ alt shift keycode 11 = Meta_at
+
+keycode 12 = +parenright +degree bracketright ydiaeresis
+ alt keycode 12 = Meta_parenright
+ alt shift keycode 12 = Meta_bracketright
+
+keycode 13 = +equal +plus braceright threequarters
+ alt keycode 13 = Meta_equal
+ alt shift keycode 13 = Meta_plus
+
+keycode 14 = Delete BackSpace
+ alt keycode 111 = Meta_backslash
+ control keycode 111 = Control_backslash
+ alt control keycode 14 = Boot
+ altgr control keycode 14 = KeyboardSignal
+
+keycode 15 = Tab
+ control keycode 15 = Meta_Tab
+ alt keycode 15 = Last_Console
+
+keycode 16 = +a +A acircumflex adiaeresis
+ control keycode 16 = Control_a
+
+keycode 17 = +z +Z aring Aring
+ control keycode 17 = Control_z
+
+keycode 18 = +e +E euro ediaeresis
+
+keycode 19 = +r +R ccedilla Ccedilla
+
+keycode 20 = +t +T thorn THORN
+
+keycode 21 = +y +Y yacute Yacute
+
+keycode 22 = +u +U ucircumflex udiaeresis
+
+keycode 23 = +i +I icircumflex idiaeresis
+
+keycode 24 = +o +O ocircumflex odiaeresis
+
+keycode 25 = +p +P paragraph apostrophe
+
+keycode 26 = dead_circumflex dead_diaeresis dead_tilde grave
+
+keycode 27 = +dollar +sterling cent ecircumflex
+
+keycode 28 = Return
+ alt keycode 28 = 0x080d
+ altgr keycode 26 = Linefeed
+
+keycode 29 = Control
+
+keycode 30 = +q +Q Acircumflex Adiaeresis
+ control keycode 30 = Control_q
+
+keycode 31 = +s +S oslash Ooblique
+
+keycode 32 = +d +D Ecircumflex Ediaeresis
+
+keycode 33 = +f +F plusminus ordfeminine
+
+keycode 34 = +g +G ae AE
+
+keycode 35 = +h +H eth ETH
+
+keycode 36 = +j +J Ucircumflex Udiaeresis
+
+keycode 37 = +k +K Icircumflex Idiaeresis
+
+keycode 38 = +l +L Ocircumflex Odiaeresis
+
+keycode 39 = +m +M onesuperior masculine
+ alt keycode 39 = Meta_semicolon
+ control keycode 39 = Control_m
+
+keycode 40 = +ugrave +percent twosuperior +Ugrave
+#
+# Les 2 solutions de l'ancien comportement sont remplacées pour la norme latin0
+#
+#keycode 41 = twosuperior threesuperior onesuperior macron
+#keycode 41 = guillemotleft guillemotright twosuperior threesuperior
+keycode 41 = +onehalf +onequarter guillemotleft guillemotright
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+
+keycode 42 = CapsShift
+
+keycode 43 = +asterisk +mu threesuperior yen
+
+keycode 44 = +w +W guillemotleft
+ control keycode 44 = Control_w
+
+keycode 45 = +x +X guillemotright
+
+keycode 46 = +c +C copyright
+
+keycode 47 = +v +V registered
+
+keycode 48 = +b +B ssharp
+
+keycode 49 = +n +N notsign
+
+keycode 50 = +comma +question questiondown
+
+keycode 51 = +semicolon +period multiply
+
+keycode 52 = +colon +slash division
+
+keycode 53 = +exclam +section exclamdown
+
+keycode 54 = CapsShift
+
+keycode 55 = KP_Multiply Hex_A Hex_D
+
+keycode 56 = Alt
+
+keycode 57 = space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ altgr keycode 57 = nobreakspace
+#
+# Au choix Caps_Lock ou Caps_On, avec des raccourcis pour les
+# personnes n'ayant pas l'usage de leurs 2 mains.
+#
+keycode 58 = Caps_Lock
+ shift keycode 58 = Shift_Lock
+ control keycode 58 = Control_Lock
+ alt keycode 58 = Alt_Lock
+ altgr keycode 58 = AltGr_Lock
+
+keycode 59 = F1 F11 Console_13
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+
+keycode 60 = F2 F12 Console_14
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+
+keycode 61 = F3 F13 Console_15
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+
+keycode 62 = F4 F14 Console_16
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+
+keycode 63 = F5 F15 Console_17
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+
+keycode 64 = F6 F16 Console_18
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+
+keycode 65 = F7 F17 Console_19
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+
+keycode 66 = F8 F18 Console_20
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+
+keycode 67 = F9 F19 Console_21
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+
+keycode 68 = F10 F20 Console_22
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+
+keycode 69 = Num_Lock Bare_Num_Lock
+
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+
+keycode 71 = KP_7 Hex_7
+ alt keycode 71 = Ascii_7
+
+keycode 72 = KP_8 Hex_8
+ alt keycode 72 = Ascii_8
+
+keycode 73 = KP_9 Hex_9
+ alt keycode 73 = Ascii_9
+
+keycode 74 = KP_Subtract Hex_B Hex_E
+ alt keycode 74 = minus
+
+keycode 75 = KP_4 Hex_4
+ alt keycode 75 = Ascii_4
+
+keycode 76 = KP_5 Hex_5
+ alt keycode 76 = Ascii_5
+
+keycode 77 = KP_6 Hex_6
+ alt keycode 77 = Ascii_6
+
+keycode 78 = KP_Add Hex_C Hex_F
+ alt keycode 78 = plus
+
+keycode 79 = KP_1 Hex_1
+ alt keycode 79 = Ascii_1
+
+keycode 80 = KP_2 Hex_2
+ alt keycode 80 = Ascii_2
+
+keycode 81 = KP_3 Hex_3
+ alt keycode 81 = Ascii_3
+
+keycode 82 = KP_0 Hex_0
+ alt keycode 82 = Ascii_0
+
+keycode 83 = KP_Period KP_Comma
+ altgr control keycode 83 = KeyboardSignal
+ control alt keycode 83 = Boot
+
+#
+# La touche AltGr+«Impr. Écran» = «SysReq» a un code pour elle même
+#
+keycode 84 = SAK
+
+keycode 85 =
+
+keycode 86 = +less +greater bar
+ alt keycode 86 = Meta_less
+
+keycode 87 = F11 F11 Console_23
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+
+keycode 88 = F12 F12 Console_24
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+
+keycode 89 =
+
+keycode 90 =
+
+keycode 91 =
+
+keycode 92 =
+
+keycode 93 =
+
+keycode 94 =
+
+keycode 95 =
+
+keycode 96 = KP_Enter
+
+keycode 97 = Control
+
+keycode 98 = KP_Divide
+
+#
+# La touche «Impr. Écran» ne sert à rien sous linux, alors mettons-y «Compose»
+#
+keycode 99 = Compose
+
+keycode 100 = AltGr
+ alt keycode 100 = Compose
+
+#
+# La touche Ctrl+Pause = Attn = 101 a un code pour elle même
+#
+keycode 101 = Break
+
+keycode 102 = Home
+
+keycode 103 = Up
+# alt keycode 103 = First_Console
+
+keycode 104 = PageUp
+ shift keycode 104 = Scroll_Backward
+
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+
+keycode 107 = End
+
+keycode 108 = Down
+ alt keycode 108 = Last_Console
+
+keycode 109 = PageDown
+ shift keycode 109 = Scroll_Forward
+
+keycode 110 = Insert
+
+keycode 111 = Remove BackSpace
+ alt keycode 111 = Meta_backslash
+ control keycode 111 = Control_backslash
+ alt control keycode 14 = Boot
+ altgr control keycode 14 = KeyboardSignal
+
+keycode 112 = Macro
+
+keycode 113 = F13
+
+keycode 114 = F14
+
+keycode 115 = Help
+
+keycode 116 = Do
+
+keycode 117 = F17
+
+keycode 118 = KP_MinPlus
+
+keycode 119 = Pause
+
+keycode 120 =
+
+keycode 121 =
+
+keycode 122 =
+
+keycode 123 =
+
+keycode 124 =
+#
+# Touches supplémentaires des clavier 105 touches
+#
+
+#
+# Fenêtre gauche = Console précédente
+#
+keycode 125 = Decr_Console
+#
+# Fenêtre droite = Console suivante
+#
+keycode 126 = Incr_Console
+#
+# Menu = Dernière console
+#
+keycode 127 = Last_Console
+
+string Home = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string End = "\033[4~"
+string PageUp = "\033[5~"
+string PageDown = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string F21 = "\033[35~"
+string F22 = "\033[36~"
+string F23 = "\033[37~"
+string F24 = "\033[38~"
+string F25 = "\033[39~"
+string F26 = "\033[40~"
+string F27 = "\033[41~"
+string F28 = "\033[42~"
+string F29 = "\033[43~"
+string F30 = "\033[44~"
+string F31 = "\033[45~"
+string F32 = "\033[46~"
+string F33 = "\033[47~"
+string F34 = "\033[48~"
+string F35 = "\033[49~"
+
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose '-' 'a' to 'ª'
+compose '-' 'A' to 'ª'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose '°' 'A' to 'Å'
+compose '°' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '-' 'o' to 'º'
+compose '-' 'O' to 'º'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose 'S' 'S' to '§'
+compose '"' 'y' to 'ÿ'
+compose '"' 'Y' to '¾'
+compose 's' 'z' to 'ß'
+compose 'i' 'j' to 'ÿ'
+compose 'I' 'J' to '¾'
+compose '^' 'S' to '¦'
+compose '^' 's' to '¨'
+compose '^' 'Z' to '´'
+compose '^' 'z' to '¸'
+compose '^' '1' to '¹'
+compose '^' '2' to '²'
+compose '^' '3' to '³'
+compose '+' '-' to '±'
+compose '|' '-' to '¬'
+compose '-' '|' to '¬'
+compose '|' '_' to '¬'
+compose '_' '|' to '¬'
+compose '-' 'y' to '¥'
+compose '-' 'Y' to '¥'
+compose '-' 'c' to '¢'
+compose '-' 'C' to '¢'
+compose '-' 'l' to '£'
+compose '-' 'L' to '£'
+compose '-' 'e' to '¤'
+compose '-' 'E' to '¤'
+compose '^' '!' to '¡'
+compose '^' '?' to '¿'
+compose '^' '-' to '¯'
+compose '^' '_' to '¯'
+compose '^' '.' to '·'
+compose '^' 'x' to '×'
+compose '^' 'X' to '×'
+compose '^' '*' to '×'
+compose '^' '/' to '÷'
+compose '<' '<' to '«'
+compose '>' '>' to '»'
+compose '"' 'c' to '©'
+compose '"' 'r' to '®'
+compose 'o' 'e' to '½'
+compose 'O' 'E' to '¼'
+
diff --git a/keymaps/i386/azerty/fr-latin1.kmap b/keymaps/i386/azerty/fr-latin1.kmap
new file mode 100644
index 0000000..9bdf775
--- /dev/null
+++ b/keymaps/i386/azerty/fr-latin1.kmap
@@ -0,0 +1,77 @@
+keymaps 0-2,4,6,8,12
+include "azerty-layout"
+include "linux-with-alt-and-altgr"
+strings as usual
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = ampersand one
+ alt keycode 2 = Meta_one
+keycode 3 = eacute two dead_tilde
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+keycode 4 = quotedbl three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+keycode 5 = apostrophe four braceleft
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+keycode 6 = parenleft five bracketleft
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 7 = minus six bar
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = egrave seven dead_grave
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = underscore eight backslash
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = ccedilla nine dead_circumflex
+ alt keycode 10 = Meta_nine
+keycode 11 = agrave zero at
+ alt keycode 11 = Meta_zero
+keycode 12 = parenright degree bracketright
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = equal plus braceright
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 26 = dead_circumflex dead_diaeresis
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = dollar sterling currency
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 40 = ugrave percent
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = twosuperior
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = asterisk mu
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 50 = comma question
+keycode 51 = semicolon period
+keycode 52 = colon slash
+keycode 53 = exclam section
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 97 = Control
diff --git a/keymaps/i386/azerty/fr-latin9.kmap b/keymaps/i386/azerty/fr-latin9.kmap
new file mode 100644
index 0000000..682e3da
--- /dev/null
+++ b/keymaps/i386/azerty/fr-latin9.kmap
@@ -0,0 +1,706 @@
+# Copyright (c) 1997, 1998 Guylhem Aznar <guylhem @ oeil.qc.ca> : GPL
+# Copyright (c) 1997 Pierre-Charles David <pcdavid @ club-internet.fr>
+# Copyright (c) 2006 Christian Perrier <bubulle@debian.org>
+#
+# Les accents circonflexes des principales voyelles sont obtenus avec
+# la touche Alt_Gr, les trémas sont obtenus par Alt_Gr + Shift.
+#
+# ____ _________ _____________ _______
+# | S A| S = Shift, A = AltGr + Shift | Compose | Arrêt défil | Pause |
+# | s a| s = normal, a = AltGr | Ferme | Mem/Reg/Ste | Halte |
+# ¯¯¯¯ ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯
+# ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______
+# | ¼ «| 1 ·| 2 É| 3 ¸| 4 ´| 5 ¨| 6 ¦| 7 È| 8 ¯| 9 Ç| 0 À| ° ÿ| + ¾| <-- |
+# | ½ »| & '| é ~| " #| ' {| ( [| - || è `| _ \| ç ^| à @| ) ]| = }| |
+# ========================================================================
+# | |<- | A ä| Z Å| E ¢| R Ç| T Þ| Y Ý| U ü| I ï| O ö| P `| " '| £ ë| , |
+# | ->| | a â| z å| e ¤| r ç| t þ| y ý| u û| i î| o ô| p ¶| ^ ~| $ ê| <-' |
+# ===================================================================¬ |
+# | | Q Ä| S Ø| D Ë| F ª| G Æ| H Ð| J Ü| K Ï| L Ö| M º| % Ù| µ ¥| |
+# | MAJ | q Â| s ø| d Ê| f ±| g æ| h ð| j Û| k Î| l Ô| m ¹| ù ²| * ³| |
+# ========================================================================
+# | ^ | > ¦| W <| X >| C ©| V | B | N | ? º| . ×| / | § | ^ |
+# | | | < || w «| x »| c ©| v ®| b ß| n ¬| , ¿| ; ×| : ÷| ! ¡| | |
+# ========================================================================
+# | | | | | | | | |
+# | Ctrl | Con+ | Alt | Space Nobreakspace | AltGr | Con- | Con | Ctrl |
+# ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ ¯¯¯¯¯¯ ¯¯¯¯¯ ¯¯¯¯¯¯
+#
+# 1. Control & Alt
+#
+# Les définitions de Alt & Control (touche) sont *NORMALEMENT* implicites ;
+# n'ont donc été redéfinis qu'Alt (nombre) & Alt + Shift (nombre) pour
+# inverser le comportement par défaut ainsi que les Alt(azqwm) pour coller
+# au clavier AZERTY au lieu de QWERTY :
+#
+# touche = signe
+# touche + Shift = nombre
+#
+# La correspondance devient donc :
+#
+# Alt touche = Meta_nombre
+# Alt + Shift touche = Meta_signe
+#
+# Signalez-moi si cette correspondance n'est pas implicite chez vous !
+#
+# 2. Hexadécimal :
+#
+# Shift (touche du pavé numérique) permet de taper de l'héxadécimal.
+#
+# 3. Fonctions :
+#
+# Redémarrer ou arrêter l'ordinateur, sont disponibles directement au clavier
+#
+# Control Alt Delete/Backspace : redémarrer
+# AltGr + Impr. Écran : arrêter
+#
+# Ajouter pour ces deux fonctions les lignes suivantes à /etc/inittab :
+#
+# ca:12345:ctrlaltdel:/sbin/shutdown -t1 -r now
+# kb:12345:kbrequest:/sbin/halt
+#
+# 4. Accentuations :
+#
+# Les touches é, è, ç, à & ù, présentes en mode minuscule (i.e. sans shift)
+# ne sont pas disponibles en mode majuscule : elles sont respectivement
+# remplacées par 2, 7, 9, 0 & % ; donc pour obtenir les majuscules
+# accentuées É, È, Ç, À & Ù:
+#
+# * Si les dead_keys ne fonctionnaient pas (certains programmes
+# les refusent), vous pouvez toujours utiliser AltGr + Shift
+# (minuscule accentuée) pour obtenir la majuscule ; pour
+# l'accent circonflexe & le tréma :
+#
+# AltGr (voyelle) : voyelle-minuscule ^
+# AltGr + Shift (voyelle) : voyelle-minuscule "
+# AltGr (en dessous de la voyelle) : voyelle-majuscule ^
+# AltGr + Shift (en dessous de la voyelle) : voyelle majuscule "
+#
+# Seule exception : AltGr (e) donnant l'euro ¤, AltGr + Shift ($) donne ê
+#
+# * Si les dead_keys fonctionnent, utiliser les accents dits
+# «morts», i.e. fonctionnant comme l'accent circonflexe & le
+# tréma des machines à écrire ; sont disponibles :
+#
+# (^) : accent circonflexe,
+# Shift+ (^) : tréma,
+# Shift + AltGr (^) : tilde,
+# AltGr (1) : accent aigü,
+# AltGr (7) : accent grave
+#
+# Pour s'en servir, procéder comme avec l'accent circonflexe & le tréma
+# sur les vielles machines à écrire :
+#
+# AltGr (1) puis e : é
+# Shift+AltGr (1) puis e : É ...
+#
+# 5. Les touches supplémentaires des claviers 105 touches
+#
+# Celles-ci servent à changer de console très facilement :
+# Window Gauche : décrémente console
+# Window Droite : incrémente console
+# Souris sur menu : précédente console
+#
+# 6. Mode majuscule (CapsLock)
+#
+# C. Perrier, 2006
+# Le fonctionnement en mode "anciennes machines à écrire" a été
+# supprimé. Il ne correspond plus à l'usage actuel et le clavier
+# français était le seul à l'utiliser
+#
+# 7. Convergence vers le clavier français de X.org
+#
+# Oct. 2006: la cartographie des touches a été rendue la plus proche
+# possible de la cartographie X.org
+#
+charset "iso-8859-15"
+include "azerty-layout"
+include "linux-with-alt-and-altgr"
+
+keycode 0 =
+
+keycode 1 = Escape
+
+keycode 2 = +ampersand +one dead_acute periodcentered
+ alt keycode 2 = Meta_one
+ alt shift keycode 2 = Meta_ampersand
+
+keycode 3 = +eacute +two tilde Eacute
+ alt keycode 3 = Meta_two
+ alt shift keycode 3 = Meta_asciitilde
+
+keycode 4 = +quotedbl +three numbersign cedilla
+ alt keycode 4 = Meta_three
+ alt shift keycode 4 = Meta_quotedbl
+
+keycode 5 = +apostrophe +four braceleft acute
+ alt keycode 5 = Meta_four
+ alt shift keycode 5 = Meta_apostrophe
+
+keycode 6 = +parenleft +five bracketleft diaeresis
+ alt keycode 6 = Meta_five
+ alt shift keycode 6 = Meta_parenleft
+
+keycode 7 = +minus +six bar brokenbar
+ alt keycode 7 = Meta_six
+ alt shift keycode 7 = Meta_minus
+
+keycode 8 = +egrave +seven dead_grave Egrave
+ alt keycode 8 = Meta_seven
+ alt shift keycode 8 = Meta_grave
+
+keycode 9 = +underscore +eight backslash macron
+ alt keycode 9 = Meta_eight
+ alt shift keycode 9 = Meta_underscore
+ control keycode 9 = Control_underscore
+ control altgr keycode 9 = Control_backslash
+
+keycode 10 = +ccedilla +nine asciicircum Ccedilla
+ alt keycode 10 = Meta_nine
+ alt shift keycode 10 = Meta_asciicircum
+ control altgr keycode 10 = Control_asciicircum
+
+keycode 11 = +agrave +zero at Agrave
+ alt keycode 11 = Meta_zero
+ alt shift keycode 11 = Meta_at
+
+keycode 12 = +parenright +degree bracketright ydiaeresis
+ alt keycode 12 = Meta_parenright
+ alt shift keycode 12 = Meta_bracketright
+ control altgr keycode 12 = Control_bracketright
+
+keycode 13 = +equal +plus braceright threequarters
+ alt keycode 13 = Meta_equal
+ alt shift keycode 13 = Meta_plus
+
+keycode 14 = Delete BackSpace
+ alt keycode 111 = Meta_backslash
+ control keycode 111 = Control_backslash
+ alt control keycode 14 = Boot
+ altgr control keycode 14 = KeyboardSignal
+
+keycode 15 = Tab
+ control keycode 15 = Meta_Tab
+ alt keycode 15 = Last_Console
+
+keycode 16 = +a +A acircumflex adiaeresis
+ control keycode 16 = Control_a
+
+keycode 17 = +z +Z aring Aring
+ control keycode 17 = Control_z
+
+keycode 18 = +e +E euro cent
+
+keycode 19 = +r +R ccedilla Ccedilla
+
+keycode 20 = +t +T thorn THORN
+
+keycode 21 = +y +Y yacute Yacute
+
+keycode 22 = +u +U ucircumflex udiaeresis
+
+keycode 23 = +i +I icircumflex idiaeresis
+
+keycode 24 = +o +O ocircumflex odiaeresis
+
+keycode 25 = +p +P paragraph grave
+
+keycode 26 = dead_circumflex dead_diaeresis dead_tilde apostrophe
+
+keycode 27 = +dollar +sterling ecircumflex ediaeresis
+
+keycode 28 = Return
+ alt keycode 28 = 0x080d
+ altgr keycode 28 = Linefeed
+
+keycode 29 = Control
+
+keycode 30 = +q +Q Acircumflex Adiaeresis
+ control keycode 30 = Control_q
+
+keycode 31 = +s +S oslash Ooblique
+
+keycode 32 = +d +D Ecircumflex Ediaeresis
+
+keycode 33 = +f +F plusminus ordfeminine
+
+keycode 34 = +g +G ae AE
+
+keycode 35 = +h +H eth ETH
+
+keycode 36 = +j +J Ucircumflex Udiaeresis
+
+keycode 37 = +k +K Icircumflex Idiaeresis
+
+keycode 38 = +l +L Ocircumflex Odiaeresis
+
+keycode 39 = +m +M onesuperior masculine
+ alt keycode 39 = Meta_semicolon
+ control keycode 39 = Control_m
+
+keycode 40 = +ugrave +percent twosuperior +Ugrave
+#
+# Les 2 solutions de l'ancien comportement sont remplacées pour la norme latin0
+#
+#keycode 41 = twosuperior threesuperior onesuperior macron
+#keycode 41 = guillemotleft guillemotright twosuperior threesuperior
+keycode 41 = +onehalf +onequarter guillemotleft guillemotright
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+
+keycode 42 = Shift
+
+keycode 43 = +asterisk +mu threesuperior yen
+
+keycode 44 = +w +W guillemotleft less
+ control keycode 44 = Control_w
+
+keycode 45 = +x +X guillemotright greater
+
+keycode 46 = +c +C copyright copyright
+
+keycode 47 = +v +V registered
+
+keycode 48 = +b +B ssharp
+
+keycode 49 = +n +N notsign
+
+keycode 50 = +comma +question questiondown masculine
+
+keycode 51 = +semicolon +period multiply multiply
+
+keycode 52 = +colon +slash division division
+
+keycode 53 = +exclam +section exclamdown
+
+keycode 54 = Shift
+
+keycode 55 = asterisk Hex_A Hex_D
+
+keycode 56 = Alt
+
+keycode 57 = space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ altgr keycode 57 = nobreakspace
+#
+# Au choix Caps_Lock ou Caps_On, avec des raccourcis pour les
+# personnes n'ayant pas l'usage de leurs 2 mains.
+#
+keycode 58 = Caps_Lock
+ shift keycode 58 = Shift_Lock
+ control keycode 58 = Control_Lock
+ alt keycode 58 = Alt_Lock
+ altgr keycode 58 = AltGr_Lock
+
+keycode 59 = F1 F11 Console_13
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+
+keycode 60 = F2 F12 Console_14
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+
+keycode 61 = F3 F13 Console_15
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+
+keycode 62 = F4 F14 Console_16
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+
+keycode 63 = F5 F15 Console_17
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+
+keycode 64 = F6 F16 Console_18
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+
+keycode 65 = F7 F17 Console_19
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+
+keycode 66 = F8 F18 Console_20
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+
+keycode 67 = F9 F19 Console_21
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+
+keycode 68 = F10 F20 Console_22
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+
+keycode 69 = Num_Lock Bare_Num_Lock
+
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+
+keycode 71 = seven Hex_7
+ alt keycode 71 = Ascii_7
+
+keycode 72 = eight Hex_8
+ alt keycode 72 = Ascii_8
+
+keycode 73 = nine Hex_9
+ alt keycode 73 = Ascii_9
+
+keycode 74 = minus Hex_B Hex_E
+ alt keycode 74 = minus
+
+keycode 75 = four Hex_4
+ alt keycode 75 = Ascii_4
+
+keycode 76 = five Hex_5
+ alt keycode 76 = Ascii_5
+
+keycode 77 = six Hex_6
+ alt keycode 77 = Ascii_6
+
+keycode 78 = plus Hex_C Hex_F
+ alt keycode 78 = plus
+
+keycode 79 = one Hex_1
+ alt keycode 79 = Ascii_1
+
+keycode 80 = two Hex_2
+ alt keycode 80 = Ascii_2
+
+keycode 81 = three Hex_3
+ alt keycode 81 = Ascii_3
+
+keycode 82 = zero Hex_0
+ alt keycode 82 = Ascii_0
+
+keycode 83 = period comma
+ altgr control keycode 83 = KeyboardSignal
+ control alt keycode 83 = Boot
+
+#
+# La touche AltGr+«Impr. Écran» = «SysReq» a un code pour elle-même
+#
+keycode 84 = SAK
+
+keycode 85 =
+
+keycode 86 = +less +greater bar brokenbar
+ alt keycode 86 = Meta_less
+
+keycode 87 = F11 F11 Console_23
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+
+keycode 88 = F12 F12 Console_24
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+
+keycode 89 =
+
+keycode 90 =
+
+keycode 91 =
+
+keycode 92 =
+
+keycode 93 =
+
+keycode 94 =
+
+keycode 95 =
+
+keycode 96 = Return
+
+keycode 97 = Control
+
+keycode 98 = slash
+
+#
+# La touche «Impr. Écran» ne sert à rien sous Linux, alors mettons-y «Compose»
+#
+keycode 99 = Compose
+
+keycode 100 = AltGr
+ alt keycode 100 = Compose
+
+#
+# La touche Ctrl+Pause = Attn = 101 a un code pour elle-même
+#
+keycode 101 = Break
+
+keycode 102 = Home
+
+keycode 103 = Up
+# alt keycode 103 = First_Console
+
+keycode 104 = PageUp
+ shift keycode 104 = Scroll_Backward
+
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+
+keycode 107 = End
+
+keycode 108 = Down
+ alt keycode 108 = Last_Console
+
+keycode 109 = PageDown
+ shift keycode 109 = Scroll_Forward
+
+keycode 110 = Insert
+
+keycode 111 = Remove BackSpace
+ alt keycode 111 = Meta_backslash
+ control keycode 111 = Control_backslash
+ alt control keycode 14 = Boot
+ altgr control keycode 14 = KeyboardSignal
+
+keycode 112 = Macro
+
+keycode 113 = F13
+
+keycode 114 = F14
+
+keycode 115 = Help
+
+keycode 116 = Do
+
+keycode 117 = F17
+
+keycode 118 = plusminus
+
+keycode 119 = Pause
+
+keycode 120 =
+
+keycode 121 =
+
+keycode 122 =
+
+keycode 123 =
+
+keycode 124 =
+
+#
+# Touches supplémentaires des claviers 105 touches
+#
+
+#
+# Fenêtre gauche = Console précédente
+#
+keycode 125 = Decr_Console
+#
+# Fenêtre droite = Console suivante
+#
+keycode 126 = Incr_Console
+#
+# Menu = Dernière console
+#
+keycode 127 = Last_Console
+
+string Home = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string End = "\033[4~"
+string PageUp = "\033[5~"
+string PageDown = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string F21 = "\033[35~"
+string F22 = "\033[36~"
+string F23 = "\033[37~"
+string F24 = "\033[38~"
+string F25 = "\033[39~"
+string F26 = "\033[40~"
+string F27 = "\033[41~"
+string F28 = "\033[42~"
+string F29 = "\033[43~"
+string F30 = "\033[44~"
+string F31 = "\033[45~"
+string F32 = "\033[46~"
+string F33 = "\033[47~"
+string F34 = "\033[48~"
+string F35 = "\033[49~"
+
+# Latin1 compatible
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose '-' 'a' to 'ª'
+compose '-' 'A' to 'ª'
+compose 'O' 'A' to 'Å'
+compose 'o' 'A' to 'Å'
+compose 'O' 'a' to 'å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose '°' 'A' to 'Å'
+compose '°' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'A' 'e' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '^' 'C' to 'Ç'
+compose '^' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '^' 'D' to 'Ð'
+compose '^' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '^' 'N' to 'Ñ'
+compose '^' 'n' to 'ñ'
+compose 'n' 'n' to 'ñ'
+compose 'n' 'h' to 'ñ'
+compose 'N' 'Y' to 'Ñ'
+compose 'N' 'N' to 'Ñ'
+compose 'N' 'H' to 'Ñ'
+compose 'N' 'y' to 'Ñ'
+compose 'N' 'n' to 'Ñ'
+compose 'N' 'h' to 'Ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '-' 'o' to 'º'
+compose '-' 'O' to 'º'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose 'S' 'S' to '§'
+compose '+' '-' to '±'
+compose '|' '-' to '¬'
+compose '-' '|' to '¬'
+compose '|' '_' to '¬'
+compose '_' '|' to '¬'
+compose 's' 'z' to 'ß'
+compose 's' 's' to 'ß'
+compose '^' '1' to '¹'
+compose '^' '2' to '²'
+compose '^' '3' to '³'
+compose '<' '<' to '«'
+compose '>' '>' to '»'
+compose '?' '?' to '¿'
+compose '^' '?' to '¿'
+compose '!' '!' to '¡'
+compose '^' '!' to '¡'
+compose '-' 'y' to '¥'
+compose '-' 'Y' to '¥'
+compose '-' 'c' to '¢'
+compose '-' 'C' to '¢'
+compose '-' 'l' to '£'
+compose '-' 'L' to '£'
+compose '(' 'c' to '©'
+compose '(' 'r' to '®'
+compose 'm' 'u' to 'µ'
+compose '^' '!' to '¡'
+compose '^' '?' to '¿'
+compose '^' '-' to '¯'
+compose '^' '_' to '¯'
+compose '^' '.' to '·'
+compose '^' 'x' to '×'
+compose '^' 'X' to '×'
+compose '^' '*' to '×'
+compose '^' 'x' to '×'
+compose '^' 'X' to '×'
+compose '^' '*' to '×'
+compose '^' '/' to '÷'
+compose '<' '<' to '«'
+compose '>' '>' to '»'
+compose '"' 'c' to '©'
+compose '"' 'r' to '®'
+compose '"' 'y' to 'ÿ'
+compose 'i' 'j' to 'ÿ'
+# Latin0 specific
+compose '"' 'Y' to '¾'
+compose 'I' 'J' to '¾'
+compose '-' 'e' to '¤'
+compose '-' 'E' to '¤'
+compose '=' 'e' to '¤'
+compose '=' 'c' to '¤'
+compose '=' 'E' to '¤'
+compose '=' 'C' to '¤'
+compose 'e' '=' to '¤'
+compose 'c' '=' to '¤'
+compose 'E' '=' to '¤'
+compose 'C' '=' to '¤'
+compose '^' 'S' to '¦'
+compose '^' 's' to '¨'
+compose '^' 'Z' to '´'
+compose '^' 'z' to '¸'
+compose 'v' 'S' to '¦'
+compose 'v' 's' to '¨'
+compose 'v' 'Z' to '´'
+compose 'v' 'z' to '¸'
+compose 'O' 'E' to '¼'
+compose 'O' 'e' to '¼'
+compose 'o' 'e' to '½'
+compose '"' 'Y' to '¾'
diff --git a/keymaps/i386/azerty/fr-pc.kmap b/keymaps/i386/azerty/fr-pc.kmap
new file mode 100644
index 0000000..0cc660d
--- /dev/null
+++ b/keymaps/i386/azerty/fr-pc.kmap
@@ -0,0 +1,81 @@
+# fr-pc.map for French PC keyboard (non-US 102 keys)
+#
+# 1997-3-5
+# Seak, Teng-Fong <seak@drfc.cad.cea.fr>
+#
+keymaps 0-2,4,6,8,12
+include "azerty-layout"
+include "linux-with-alt-and-altgr"
+strings as usual
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = ampersand one
+ alt keycode 2 = Meta_one
+keycode 3 = eacute two asciitilde
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+keycode 4 = quotedbl three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+keycode 5 = apostrophe four braceleft
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+keycode 6 = parenleft five bracketleft
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 7 = minus six bar
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = egrave seven grave
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = underscore eight backslash
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = ccedilla nine asciicircum
+ alt keycode 10 = Meta_nine
+keycode 11 = agrave zero at
+ alt keycode 11 = Meta_zero
+keycode 12 = parenright degree bracketright
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = equal plus braceright
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 26 = dead_circumflex dead_diaeresis
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = dollar sterling currency
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 40 = ugrave percent
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = twosuperior
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = asterisk mu
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 50 = comma question
+keycode 51 = semicolon period
+keycode 52 = colon slash
+keycode 53 = exclam section
+ control keycode 53 = Delete
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 97 = Control
diff --git a/keymaps/i386/azerty/fr-x11.kmap b/keymaps/i386/azerty/fr-x11.kmap
new file mode 100644
index 0000000..01bdc1e
--- /dev/null
+++ b/keymaps/i386/azerty/fr-x11.kmap
@@ -0,0 +1,376 @@
+# French keyboard description, (c) Guylhem Aznar, July 1997
+# Relased under GNU GENERAL PUBLIC LICENSE Version 2
+# If you haven't received it, this license is available at :
+# Free Software Foundation, Inc. 675 Mass Ave, Cambridge, MA 02139, USA
+
+# Exactement le même mappage que pour X11, avec les mêmes raccourcis !
+
+keycode 0 =
+keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = ampersand one dead_acute
+ alt keycode 2 = Meta_one
+keycode 3 = eacute two tilde Eacute
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+keycode 4 = quotedbl three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+keycode 5 = apostrophe four braceleft
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+keycode 6 = parenleft five bracketleft
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 7 = minus six bar
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = egrave seven dead_grave Egrave
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = underscore eight backslash
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = ccedilla nine asciicircum Ccedilla
+ alt keycode 10 = Meta_nine
+keycode 11 = agrave zero at Agrave
+ alt keycode 11 = Meta_zero
+keycode 12 = parenright degree bracketright
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = equal plus braceright
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete Remove
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+keycode 16 = a A acircumflex adiaeresis
+ control keycode 16 = Control_a
+keycode 17 = z Z aring Aring
+ control keycode 17 = Control_z
+keycode 18 = e E ecircumflex ediaeresis
+ control keycode 18 = Control_e
+keycode 19 = r R registered
+ control keycode 19 = Control_r
+keycode 20 = t T thorn THORN
+ control keycode 20 = Control_t
+keycode 21 = y Y yen
+ control keycode 21 = Control_y
+keycode 22 = u U ucircumflex udiaeresis
+ control keycode 22 = Control_u
+keycode 23 = i I icircumflex idiaeresis
+ control keycode 23 = Control_i
+keycode 24 = o O ocircumflex odiaeresis
+ control keycode 24 = Control_o
+keycode 25 = p P paragraph
+ control keycode 25 = Control_p
+keycode 26 = dead_circumflex dead_diaeresis dead_cedilla dead_tilde
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = dollar sterling currency
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = 0x080d
+keycode 29 = Control
+keycode 30 = q Q Acircumflex Adiaeresis
+ control keycode 30 = Control_q
+keycode 31 = s S oslash Ooblique
+ control keycode 31 = Control_s
+keycode 32 = d D Ecircumflex Ediaeresis
+ control keycode 32 = Control_d
+keycode 33 = f F ordfeminine
+ control keycode 33 = Control_f
+keycode 34 = g G apostrophe
+ control keycode 34 = Control_g
+keycode 35 = h H grave
+ control keycode 35 = Control_h
+keycode 36 = j J Ucircumflex Udiaeresis
+ control keycode 36 = Control_j
+keycode 37 = k K Icircumflex Idiaeresis
+ control keycode 37 = Control_k
+keycode 38 = l L Ocircumflex Odiaeresis
+ control keycode 38 = Control_l
+keycode 39 = m M masculine
+ control keycode 39 = Control_m
+ alt keycode 39 = Meta_semicolon
+keycode 40 = ugrave percent plusminus Ugrave
+ alt keycode 40 = Meta_apostrophe
+#keycode 41 = twosuperior threesuperior onesuperior periodcentered
+keycode 41 = guillemotleft guillemotright twosuperior threesuperior
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = asterisk mu onehalf
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 44 = w W +eth +ETH
+ control keycode 44 = Control_w
+keycode 45 = x X +ae +AE
+ control keycode 45 = Control_x
+keycode 46 = c C cent
+ control keycode 46 = Control_c
+keycode 47 = v V copyright
+ control keycode 47 = Control_v
+keycode 48 = b B ssharp
+ control keycode 48 = Control_b
+keycode 49 = n N notsign
+ control keycode 49 = Control_n
+keycode 50 = comma question questiondown
+keycode 51 = semicolon period multiply
+ alt keycode 51 = Meta_comma
+keycode 52 = colon slash division
+ alt keycode 52 = Meta_period
+keycode 53 = exclam section exclamdown
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ altgr keycode 57 = nobreakspace
+keycode 58 = Caps_Lock
+ altgr keycode 58 = Caps_On
+keycode 59 = F1 F11 Console_13
+ control keycode 59 = F1
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F12 Console_14
+ control keycode 60 = F2
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F13 Console_15
+ control keycode 61 = F3
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F14 Console_16
+ control keycode 62 = F4
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F15 Console_17
+ control keycode 63 = F5
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F16 Console_18
+ control keycode 64 = F6
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F17 Console_19
+ control keycode 65 = F7
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F18 Console_20
+ control keycode 66 = F8
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F19 Console_21
+ control keycode 67 = F9
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F20 Console_22
+ control keycode 68 = F10
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+ alt keycode 74 = minus
+keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+ alt keycode 78 = plus
+keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+# SysReq = Alt+Print Screen = 84
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 87 = F11 F11 Console_23
+ control keycode 87 = F11
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F12 Console_24
+ control keycode 88 = F12
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+keycode 97 = Control
+keycode 98 = KP_Divide
+# Print Screen
+keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+keycode 100 = AltGr
+# Ctrl+Pause = Break = 101
+keycode 101 = Break
+# Home == Find
+keycode 102 = Find
+keycode 103 = Up
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+# End == Select
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = BackSpace BackSpace Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+# Pause
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+# Fenêtre gauche = ²/³ (carré/cube) puisqu'on a mis « » (les guillemets
+# français) à la place ! Décommenter ici pour faire l'inverse !
+keycode 125 = twosuperior threesuperior
+#keycode 125 = guillemotleft guillemotright twosuperior threesuperior
+# Fenêtre droite = AltGr puisque d'habitude c'est la position d'AltGr !
+keycode 126 = AltGr
+# Menu = compose (mélanger des signes et des lettres ex : (compose) ' e = é
+keycode 127 = Compose
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+string F21 = ""
+string F22 = ""
+string F23 = ""
+string F24 = ""
+string F25 = ""
+string F26 = ""
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose '"' 'y' to 'ÿ'
+compose 's' 'z' to 'ß'
+compose 'i' 'j' to 'ÿ'
diff --git a/keymaps/i386/azerty/fr.kmap b/keymaps/i386/azerty/fr.kmap
new file mode 100644
index 0000000..201c3eb
--- /dev/null
+++ b/keymaps/i386/azerty/fr.kmap
@@ -0,0 +1,79 @@
+keymaps 0-2,4,6,8,12
+include "azerty-layout"
+include "linux-with-alt-and-altgr"
+strings as usual
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = ampersand one
+ alt keycode 2 = Meta_one
+keycode 3 = braceleft two asciitilde
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+keycode 4 = quotedbl three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+keycode 5 = apostrophe four braceleft
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+keycode 6 = parenleft five bracketleft
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 7 = minus six bar
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = braceright seven grave
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = underscore eight backslash
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = slash nine asciicircum
+ alt keycode 10 = Meta_nine
+keycode 11 = at zero at
+ alt keycode 11 = Meta_zero
+keycode 12 = parenright bracketright bracketright
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = equal plus braceright
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 26 = asciicircum less
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = dollar greater asciitilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 40 = bar percent
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = asterisk asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = asterisk numbersign
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 50 = comma question
+keycode 51 = semicolon period
+ alt keycode 51 = Meta_comma
+keycode 52 = colon slash
+ alt keycode 52 = Meta_period
+keycode 53 = exclam backslash
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 97 = Control
diff --git a/keymaps/i386/azerty/mac-usb-be.kmap b/keymaps/i386/azerty/mac-usb-be.kmap
new file mode 100644
index 0000000..513b4b4
--- /dev/null
+++ b/keymaps/i386/azerty/mac-usb-be.kmap
@@ -0,0 +1,40 @@
+# mac-be.map olh@suse.de
+
+alt_is_meta
+include "azerty-layout"
+include "mac-linux-keys-bare.inc"
+include "euro.inc"
+compose as usual for "iso-8859-1"
+strings as usual
+
+# Normal Shift AltGr Strg
+keycode 2 = ampersand one
+keycode 3 = eacute two
+keycode 4 = quotedbl three
+keycode 5 = apostrophe four
+keycode 6 = parenleft five
+keycode 7 = section six paragraph
+keycode 8 = egrave seven
+keycode 9 = exclam eight
+keycode 10 = ccedilla nine
+keycode 11 = agrave zero
+keycode 12 = parenright degree
+keycode 13 = minus underscore
+keycode 26 = asciicircum diaeresis
+keycode 27 = dollar asterisk
+keycode 40 = ugrave percent
+keycode 41 = at numbersign
+
+keycode 43 = grave pound at numbersign
+keycode 51 = semicolon period
+keycode 50 = comma question
+keycode 52 = colon slash
+keycode 53 = equal plus
+keycode 57 = space space
+keycode 86 = less greater
+
+keycode 49 = n N asciitilde
+keycode 38 = l L bar bar
+keycode 83 = KP_Comma
+ control alt keycode 83 = Boot
+
diff --git a/keymaps/i386/azerty/mac-usb-fr.kmap b/keymaps/i386/azerty/mac-usb-fr.kmap
new file mode 100644
index 0000000..3a7a123
--- /dev/null
+++ b/keymaps/i386/azerty/mac-usb-fr.kmap
@@ -0,0 +1,127 @@
+# marc.shapiro@inria.fr 4-october-1998
+# French Macintosh keyboard
+# attempt to align to the standard Mac meaning of keys.
+# mostly intuitive!
+# option=AltGr; Apple/Command=Alt (==> meta)
+
+# TODO: CONTROL AND META COMBINATIONS
+
+charset "iso-8859-1"
+include "azerty-layout.inc"
+include "mac-linux-keys-bare.inc"
+include "euro.inc"
+compose as usual for "iso-8859-1"
+strings as usual
+
+# 1st row
+keycode 41 = at numbersign
+alt keycode 41 = Meta_at
+control keycode 41 = nul
+shift alt keycode 41 = Meta_numbersign
+
+keycode 2 = ampersand one
+alt keycode 2 = Meta_ampersand
+shift alt keycode 2 = Meta_one
+
+keycode 3 = eacute two
+shift alt keycode 3 = Meta_two
+
+keycode 4 = quotedbl three
+alt keycode 4 = Meta_quotedbl
+shift alt keycode 4 = Meta_three
+
+keycode 5 = apostrophe four
+alt keycode 5 = Meta_apostrophe
+shift alt keycode 5 = Meta_four
+
+keycode 6 = parenleft five braceleft bracketleft
+alt keycode 6 = Meta_parenleft
+shift alt keycode 6 = Meta_five
+
+# all convert.sh convert.sh~ include make_strings.sh make_strings.sh~ strings.inc strings.sh strings.sh~ insert meta, control
+keycode 7 = section six
+shift alt keycode 7 = Meta_six
+
+keycode 8 = egrave seven guillemotleft guillemotright
+shift alt keycode 8 = Meta_seven
+
+keycode 9 = exclam eight
+alt keycode 9 = Meta_exclam
+shift alt keycode 9 = Meta_eight
+
+keycode 10 = ccedilla nine
+shift alt keycode 10 = Meta_nine
+
+keycode 11 = agrave zero
+shift alt keycode 11 = Meta_zero
+
+keycode 12 = parenright degree braceright bracketright
+alt keycode 12 = Meta_parenright
+
+keycode 13 = minus underscore
+alt keycode 13 = Meta_minus
+shift alt keycode 13 = Meta_underscore
+shift control keycode 13 = Control_underscore
+
+# 2nd row
+
+
+keycode 26 = dead_circumflex dead_diaeresis
+control keycode 26 = Control_asciicircum
+
+keycode 27 = dollar asterisk VoidSymbol currency
+alt keycode 27 = Meta_dollar
+shift alt keycode 27 = Meta_dollar
+
+
+# 3d row
+
+altgr keycode 38 = notsign
+shift altgr keycode 38 = bar
+# alt altgr keycode 38 = Meta_notsign # Doesn't work???
+shift alt altgr keycode 38 = Meta_bar
+
+
+keycode 40 = ugrave percent
+shift alt keycode 40 = Meta_percent
+
+keycode 43 = dead_grave sterling at numbersign
+alt keycode 43 = Meta_grave
+# shift alt keycode 43 = Meta_sterling # doesn't work ?
+altgr keycode 43 = Meta_at
+shift altgr keycode 43 = Meta_numbersign
+
+# 4th row
+
+keycode 86 = less greater
+alt keycode 86 = Meta_less
+shift alt keycode 86 = Meta_greater
+
+
+keycode 49 = +n N dead_tilde
+control keycode 49 = Control_n
+shift control keycode 49 = Control_n
+alt keycode 49 = Meta_n
+shift alt keycode 49 = Meta_n
+
+keycode 50 = comma question
+alt keycode 50 = Meta_comma
+shift alt keycode 50 = Meta_question
+shift control keycode 50 = Delete
+
+keycode 51 = semicolon period
+alt keycode 51 = Meta_semicolon
+shift alt keycode 51 = Meta_period
+
+keycode 52 = colon slash division backslash
+alt keycode 52 = Meta_colon
+shift alt keycode 52 = Meta_slash
+shift altgr control keycode 52 = Control_backslash
+
+keycode 53 = equal plus
+alt keycode 53 = Meta_equal
+shift alt keycode 53 = Meta_plus
+
+keycode 83 = KP_Period
+ control alt keycode 83 = Boot
+
diff --git a/keymaps/i386/azerty/mac-usb-it.kmap b/keymaps/i386/azerty/mac-usb-it.kmap
new file mode 100644
index 0000000..d8b5f53
--- /dev/null
+++ b/keymaps/i386/azerty/mac-usb-it.kmap
@@ -0,0 +1,51 @@
+# Apple Keyboard Italiana
+# Cristiano Bertossi bertossi@polimedia.it
+# it-cris.map
+# 18 August 1998
+# modified by olh@suse.de
+
+alt_is_meta
+include "azerty-layout"
+include "mac-linux-keys-bare.inc"
+include "euro.inc"
+compose as usual for "iso-8859-1"
+strings as usual
+
+
+# Prima riga
+keycode 41 = at numbersign
+keycode 2 = ampersand one guillemotleft
+keycode 3 = quotedbl two
+keycode 4 = apostrophe three grave
+keycode 5 = parenleft four braceleft bracketleft
+keycode 6 = ccedilla five Ccedilla
+keycode 7 = egrave six
+keycode 8 = parenright seven braceright bracketright
+keycode 9 = sterling eight
+keycode 10 = agrave nine
+keycode 11 = eacute zero
+keycode 12 = minus underscore
+keycode 13 = equal plus
+keycode 14 = Delete Remove
+
+# Seconda riga
+keycode 26 = igrave asciicircum
+keycode 27 = dollar asterisk
+
+# Terza riga
+keycode 40 = ugrave percent
+keycode 43 = section degree at
+
+# Quarta riga
+keycode 86 = less greater
+keycode 46 = c C copyright
+keycode 49 = n
+altgr keycode 49 = asciitilde
+keycode 50 = comma question questiondown
+keycode 51 = semicolon period
+keycode 52 = colon slash bar backslash
+keycode 53 = ograve exclam
+
+keycode 83 = KP_Period
+ control alt keycode 83 = Boot
+
diff --git a/keymaps/i386/azerty/wangbe.kmap b/keymaps/i386/azerty/wangbe.kmap
new file mode 100644
index 0000000..b11e77f
--- /dev/null
+++ b/keymaps/i386/azerty/wangbe.kmap
@@ -0,0 +1,23 @@
+# azerty.map with modified numeric key assignements
+# to fit an azerty wang belgium keyboard
+# Servaas Vandenberghe, servaas.vandenberghe@esat.kuleuven.ac.be - 1997.
+
+include "azerty.kmap" # has two alt keys
+keymaps 6 # add one more keymap
+
+keycode 100 = AltGr # install AltGr on right Alt
+
+control altgr keycode 83 = Boot
+control altgr keycode 111 = Boot
+
+altgr keycode 71 = less
+altgr keycode 72 = greater
+altgr keycode 73 = asciicircum
+altgr keycode 75 = bracketleft
+altgr keycode 76 = bracketright
+altgr keycode 77 = dollar
+altgr keycode 79 = ampersand
+altgr keycode 80 = at
+altgr keycode 81 = numbersign
+altgr keycode 82 = apostrophe
+altgr keycode 83 = comma
diff --git a/keymaps/i386/azerty/wo.kmap b/keymaps/i386/azerty/wo.kmap
new file mode 100644
index 0000000..0a0fde5
--- /dev/null
+++ b/keymaps/i386/azerty/wo.kmap
@@ -0,0 +1,71 @@
+# This is a keymap for Wolof wo_SN. It is roughly based on a modified fr-latin0 layout, taking into account
+# the characteristics of the Wolof language, particularly the
+# ntilde (mapped on the */µ key) and the eng (mapped on the
+# ugrave/percent key
+#
+# Those used to the french azerty layout will have no difficulty when they switch to this new
+# Wolof keymap.
+#
+# Copyright (c) 2006 M Mamoune Mbacke <mouhamadoumamoune@gmail.com>
+# Copyright (c) 2007 Christian Perrier <bubulle@debian.org>
+#
+#
+#
+include "azerty-layout"
+include "linux-with-alt-and-altgr"
+strings as usual
+
+keycode 1 = Escape Escape
+keycode 2 = ampersand one bar
+ alt keycode 2 = bar
+keycode 3 = eacute two tilde Eacute
+ alt keycode 3 = Meta_two
+keycode 4 = quotedbl three numbersign cedilla
+ alt keycode 4 = Meta_three
+keycode 5 = apostrophe four braceleft acute
+ alt keycode 5 = Meta_four
+keycode 6 = parenleft five bracketleft diaeresis
+ alt keycode 6 = Meta_five
+keycode 7 = minus six bar brokenbar
+ alt keycode 7 = Meta_six
+keycode 8 = egrave seven dead_grave Egrave
+ alt keycode 8 = Meta_seven
+keycode 9 = underscore eight backslash macron
+ alt keycode 9 = Meta_eight
+keycode 10 = ccedilla nine asciicircum Ccedilla
+ alt keycode 10 = Meta_nine
+keycode 11 = agrave zero at Agrave
+ alt keycode 11 = Meta_zero
+keycode 12 = parenright degree bracketright ydiaeresis
+ alt keycode 12 = Meta_parenright
+keycode 13 = equal plus braceright threequarters
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete
+keycode 15 = Tab Tab
+keycode 26 = eng ENG bracketleft
+ control keycode 26 = Escape
+ alt keycode 26 = bracketleft
+keycode 27 = dollar sterling cent ecircumflex
+keycode 28 = Return
+keycode 29 = Control
+keycode 40 = ntilde Ntilde acute
+ alt keycode 40 = dead_acute
+keycode 41 = twosuperior percent
+keycode 42 = Shift
+keycode 43 = mu sterling grave
+ alt keycode 43 = dead_grave
+keycode 50 = comma question questiondown
+keycode 51 = semicolon period multiply
+keycode 52 = colon slash division
+keycode 53 = exclam section exclamdown
+ alt keycode 53 = asciitilde
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ altgr keycode 57 = nobreakspace
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 97 = Control
diff --git a/keymaps/i386/dvorak/ANSI-dvorak.kmap b/keymaps/i386/dvorak/ANSI-dvorak.kmap
new file mode 100644
index 0000000..e3d1842
--- /dev/null
+++ b/keymaps/i386/dvorak/ANSI-dvorak.kmap
@@ -0,0 +1,12 @@
+include "dvorak.kmap"
+
+plain keycode 12 = bracketright
+shift keycode 12 = bracketleft
+control keycode 12 = Control_bracketright
+
+plain keycode 13 = equal
+shift keycode 13 = plus
+control keycode 13 = Escape
+
+plain keycode 27 = braceleft
+shift keycode 27 = braceright
diff --git a/keymaps/i386/dvorak/dvorak-classic.kmap b/keymaps/i386/dvorak/dvorak-classic.kmap
new file mode 100644
index 0000000..f26851f
--- /dev/null
+++ b/keymaps/i386/dvorak/dvorak-classic.kmap
@@ -0,0 +1,672 @@
+# ~ f1 ...
+#
+# Esc [ 7 5 3 1 9 0 2 4 6 8 ] Backspace
+# Tab / , . p y f g c r l ' = \
+# CapsLck a o e u i d h t n s - Enter
+# Shift ; q j k x b m w v z Shift
+#
+keymaps 0-2,4,6,8,12
+keycode 1 = grave asciitilde
+ control keycode 1 = nul
+ alt keycode 1 = Meta_grave
+keycode 2 = bracketleft braceleft
+ control keycode 2 = Escape
+ alt keycode 2 = Meta_bracketleft
+keycode 3 = seven ampersand braceleft Control_underscore
+ alt keycode 3 = Meta_seven
+keycode 4 = five percent
+ control keycode 4 = Control_bracketright
+ alt keycode 4 = Meta_five
+keycode 5 = three numbersign
+ control keycode 5 = Escape
+ alt keycode 5 = Meta_three
+keycode 6 = one exclam
+ alt keycode 6 = Meta_one
+keycode 7 = nine parenleft bracketright
+ alt keycode 7 = Meta_nine
+keycode 8 = zero parenright braceright
+ alt keycode 8 = Meta_zero
+keycode 9 = two at at nul
+ alt keycode 9 = Meta_two
+keycode 10 = four dollar dollar Control_backslash
+ alt keycode 10 = Meta_four
+keycode 11 = six asciicircum
+ control keycode 11 = Control_asciicircum
+ alt keycode 11 = Meta_six
+keycode 12 = eight asterisk bracketleft Delete
+ alt keycode 12 = Meta_eight
+keycode 13 = bracketright braceright asciitilde Control_bracketright
+ alt keycode 13 = Meta_bracketright
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 16 = slash question
+ control keycode 16 = Delete
+ alt keycode 16 = Meta_slash
+keycode 17 = comma less
+ alt keycode 17 = Meta_comma
+keycode 18 = period greater currency
+ alt keycode 18 = Meta_period
+keycode 19 = p
+keycode 20 = y
+keycode 21 = f
+keycode 22 = g
+keycode 23 = c
+keycode 24 = r
+keycode 25 = l
+keycode 26 = apostrophe quotedbl
+ control keycode 26 = Control_g
+ alt keycode 26 = Meta_apostrophe
+keycode 27 = equal plus
+ alt keycode 27 = Meta_equal
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = o
+keycode 32 = e
+keycode 33 = u
+keycode 34 = i
+keycode 35 = d
+keycode 36 = h
+keycode 37 = t
+keycode 38 = n
+keycode 39 = s
+keycode 40 = minus underscore backslash Control_underscore
+ alt keycode 40 = Meta_minus
+keycode 41 = Escape Escape
+ alt keycode 41 = Meta_Escape
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 44 = semicolon colon
+ alt keycode 44 = Meta_semicolon
+keycode 45 = q
+keycode 46 = j
+keycode 47 = k
+keycode 48 = x
+keycode 49 = b
+keycode 50 = m
+keycode 51 = w
+keycode 52 = v
+keycode 53 = z
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+ altgr keycode 55 = Hex_C
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 Console_13 F25
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F14 Console_14 F26
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F15 Console_15 F27
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F16 Console_16 F28
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F17 Console_17 F29
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F18 Console_18 F30
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F19 Console_19 F31
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F20 Console_20 F32
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F21 Console_21 F33
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F22 Console_22 F34
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+ altgr keycode 69 = Hex_A
+keycode 70 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ altgr keycode 71 = Hex_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ altgr keycode 72 = Hex_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ altgr keycode 73 = Hex_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+ altgr keycode 74 = Hex_D
+keycode 75 = KP_4
+ altgr keycode 75 = Hex_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ altgr keycode 76 = Hex_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ altgr keycode 77 = Hex_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+ altgr keycode 78 = Hex_E
+keycode 79 = KP_1
+ altgr keycode 79 = Hex_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ altgr keycode 80 = Hex_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ altgr keycode 81 = Hex_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 87 = F11 F23 Console_23 F35
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F24 Console_24 F36
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+ altgr keycode 96 = Hex_F
+keycode 97 = Control
+keycode 98 = KP_Divide
+ altgr keycode 98 = Hex_B
+keycode 99 = Control_backslash
+ alt keycode 99 = Meta_Control_backslash
+ control alt keycode 99 = Meta_Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+ alt keycode 103 = KeyboardSignal
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+ altgr control keycode 112 = VoidSymbol
+keycode 113 = F13
+ altgr control keycode 113 = VoidSymbol
+keycode 114 = F14
+ altgr control keycode 114 = VoidSymbol
+keycode 115 = Help
+ altgr control keycode 115 = VoidSymbol
+keycode 116 = Do
+ altgr control keycode 116 = VoidSymbol
+keycode 117 = F17
+ altgr control keycode 117 = VoidSymbol
+keycode 118 = KP_MinPlus
+ altgr control keycode 118 = VoidSymbol
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose '"' 'y' to 'ÿ'
+compose 's' 'z' to 'ß'
+compose 'i' 'j' to 'ÿ'
+# ~ f1 ...
+#
+# Esc [ 7 5 3 1 9 0 2 4 6 8 ] Backspace
+# Tab / , . p y f g c r l ' = \
+# CapsLck a o e u i d h t n s - Enter
+# Shift ; q j k x b m w v z Shift
+#
+keymaps 0-2,4,6,8,12
+keycode 1 = grave asciitilde
+ control keycode 1 = nul
+ alt keycode 1 = Meta_grave
+keycode 2 = bracketleft braceleft
+ control keycode 2 = Escape
+ alt keycode 2 = Meta_bracketleft
+keycode 3 = seven ampersand braceleft Control_underscore
+ alt keycode 3 = Meta_seven
+keycode 4 = five percent
+ control keycode 4 = Control_bracketright
+ alt keycode 4 = Meta_five
+keycode 5 = three numbersign
+ control keycode 5 = Escape
+ alt keycode 5 = Meta_three
+keycode 6 = one exclam
+ alt keycode 6 = Meta_one
+keycode 7 = nine parenleft bracketright
+ alt keycode 7 = Meta_nine
+keycode 8 = zero parenright braceright
+ alt keycode 8 = Meta_zero
+keycode 9 = two at at nul
+ alt keycode 9 = Meta_two
+keycode 10 = four dollar dollar Control_backslash
+ alt keycode 10 = Meta_four
+keycode 11 = six asciicircum
+ control keycode 11 = Control_asciicircum
+ alt keycode 11 = Meta_six
+keycode 12 = eight asterisk bracketleft Delete
+ alt keycode 12 = Meta_eight
+keycode 13 = bracketright braceright asciitilde Control_bracketright
+ alt keycode 13 = Meta_bracketright
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 16 = slash question
+ control keycode 16 = Delete
+ alt keycode 16 = Meta_slash
+keycode 17 = comma less
+ alt keycode 17 = Meta_comma
+keycode 18 = period greater currency
+ alt keycode 18 = Meta_period
+keycode 19 = p
+keycode 20 = y
+keycode 21 = f
+keycode 22 = g
+keycode 23 = c
+keycode 24 = r
+keycode 25 = l
+keycode 26 = apostrophe quotedbl
+ control keycode 26 = Control_g
+ alt keycode 26 = Meta_apostrophe
+keycode 27 = equal plus
+ alt keycode 27 = Meta_equal
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = o
+keycode 32 = e
+keycode 33 = u
+keycode 34 = i
+keycode 35 = d
+keycode 36 = h
+keycode 37 = t
+keycode 38 = n
+keycode 39 = s
+keycode 40 = minus underscore backslash Control_underscore
+ alt keycode 40 = Meta_minus
+keycode 41 = Escape Escape
+ alt keycode 41 = Meta_Escape
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 44 = semicolon colon
+ alt keycode 44 = Meta_semicolon
+keycode 45 = q
+keycode 46 = j
+keycode 47 = k
+keycode 48 = x
+keycode 49 = b
+keycode 50 = m
+keycode 51 = w
+keycode 52 = v
+keycode 53 = z
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+ altgr keycode 55 = Hex_C
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 Console_13 F25
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F14 Console_14 F26
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F15 Console_15 F27
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F16 Console_16 F28
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F17 Console_17 F29
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F18 Console_18 F30
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F19 Console_19 F31
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F20 Console_20 F32
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F21 Console_21 F33
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F22 Console_22 F34
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+ altgr keycode 69 = Hex_A
+keycode 70 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ altgr keycode 71 = Hex_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ altgr keycode 72 = Hex_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ altgr keycode 73 = Hex_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+ altgr keycode 74 = Hex_D
+keycode 75 = KP_4
+ altgr keycode 75 = Hex_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ altgr keycode 76 = Hex_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ altgr keycode 77 = Hex_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+ altgr keycode 78 = Hex_E
+keycode 79 = KP_1
+ altgr keycode 79 = Hex_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ altgr keycode 80 = Hex_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ altgr keycode 81 = Hex_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 87 = F11 F23 Console_23 F35
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F24 Console_24 F36
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+ altgr keycode 96 = Hex_F
+keycode 97 = Control
+keycode 98 = KP_Divide
+ altgr keycode 98 = Hex_B
+keycode 99 = Control_backslash
+ alt keycode 99 = Meta_Control_backslash
+ control alt keycode 99 = Meta_Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+ alt keycode 103 = KeyboardSignal
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+ altgr control keycode 112 = VoidSymbol
+keycode 113 = F13
+ altgr control keycode 113 = VoidSymbol
+keycode 114 = F14
+ altgr control keycode 114 = VoidSymbol
+keycode 115 = Help
+ altgr control keycode 115 = VoidSymbol
+keycode 116 = Do
+ altgr control keycode 116 = VoidSymbol
+keycode 117 = F17
+ altgr control keycode 117 = VoidSymbol
+keycode 118 = KP_MinPlus
+ altgr control keycode 118 = VoidSymbol
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose '"' 'y' to 'ÿ'
+compose 's' 'z' to 'ß'
+compose 'i' 'j' to 'ÿ'
diff --git a/keymaps/i386/dvorak/dvorak-de.kmap b/keymaps/i386/dvorak/dvorak-de.kmap
new file mode 100644
index 0000000..97d87cd
--- /dev/null
+++ b/keymaps/i386/dvorak/dvorak-de.kmap
@@ -0,0 +1,579 @@
+keymaps 0-2,4-6,8-10,12
+alt_is_meta
+# include "linux-with-alt-and-altgr"
+strings as usual
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+ shift alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+keycode 3 = two quotedbl twosuperior nul
+ alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_quotedbl
+ control alt keycode 3 = Meta_nul
+keycode 4 = three section threesuperior Escape
+ alt keycode 4 = Meta_three
+ control alt keycode 4 = Meta_Escape
+keycode 5 = four dollar bar
+ alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+keycode 6 = five percent bar
+ alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+keycode 7 = six ampersand bar
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_ampersand
+keycode 8 = seven slash braceleft
+ alt keycode 8 = Meta_seven
+ shift alt keycode 8 = Meta_slash
+ altgr alt keycode 8 = Meta_braceleft
+keycode 9 = eight parenleft bracketleft
+ alt keycode 9 = Meta_eight
+ shift alt keycode 9 = Meta_parenleft
+ altgr alt keycode 9 = Meta_bracketleft
+keycode 10 = nine parenright bracketright
+ altgr control keycode 10 = Control_bracketright
+ alt keycode 10 = Meta_nine
+ shift alt keycode 10 = Meta_parenright
+ altgr alt keycode 10 = Meta_bracketright
+keycode 11 = zero equal braceright
+ alt keycode 11 = Meta_zero
+ shift alt keycode 11 = Meta_equal
+ altgr alt keycode 11 = Meta_braceright
+keycode 12 = plus asterisk asciitilde
+ alt keycode 27 = Meta_plus
+ shift alt keycode 27 = Meta_asterisk
+keycode 13 = less greater apostrophe
+ alt keycode 86 = Meta_less
+ shift alt keycode 86 = Meta_greater
+ altgr alt keycode 86 = Meta_bar
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+ shift alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+ shift alt keycode 15 = Meta_Tab
+keycode 16 = +udiaeresis Udiaeresis at
+keycode 17 = comma semicolon
+ alt keycode 51 = Meta_comma
+ shift alt keycode 51 = Meta_semicolon
+keycode 18 = period colon
+ alt keycode 52 = Meta_period
+ shift alt keycode 52 = Meta_colon
+keycode 19 = p
+keycode 20 = y
+keycode 21 = f
+keycode 22 = g
+keycode 23 = c
+ altgr keycode 23 = cent
+keycode 24 = t
+keycode 25 = z
+keycode 26 = question ssharp question
+ shift alt keycode 12 = Meta_question
+ altgr alt keycode 12 = Meta_backslash
+keycode 27 = slash backslash grave
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+ altgr keycode 30 = at
+keycode 31 = o
+keycode 32 = e
+ altgr keycode 32 = euro
+keycode 33 = i
+keycode 34 = u
+keycode 35 = h
+keycode 36 = d
+keycode 37 = r
+keycode 38 = n
+keycode 39 = s
+keycode 40 = l
+keycode 41 = asciicircum degree Meta_asciicircum Control_asciicircum
+ control alt keycode 41 = Meta_Control_asciicircum
+keycode 42 = Shift
+keycode 43 = minus underscore Meta_minus
+ shift control keycode 53 = Control_underscore
+ alt keycode 53 = Meta_minus
+ shift alt keycode 53 = Meta_underscore
+keycode 44 = +odiaeresis Odiaeresis
+keycode 45 = q
+ altgr keycode 45 = at
+keycode 46 = j
+keycode 47 = k
+keycode 48 = x
+keycode 49 = b
+keycode 50 = m
+ altgr keycode 50 = mu
+keycode 51 = w
+keycode 52 = v
+keycode 53 = numbersign apostrophe
+ alt keycode 43 = Meta_numbersign
+ shift alt keycode 43 = Meta_apostrophe
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+ altgr keycode 55 = Hex_C
+keycode 56 = Alt
+keycode 57 = space space Meta_space nul
+ alt keycode 57 = Meta_space
+ shift alt keycode 57 = Meta_space
+ control alt keycode 57 = Meta_nul
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 Console_13 F25
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F14 Console_14 F26
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F15 Console_15 F27
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F16 Console_16 F28
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F17 Console_17 F29
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F18 Console_18 F30
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F19 Console_19 F31
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F20 Console_20 F32
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F21 Console_21 F33
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F22 Console_22 F34
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+ altgr keycode 69 = Hex_A
+keycode 70 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ altgr keycode 71 = Hex_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ altgr keycode 72 = Hex_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ altgr keycode 73 = Hex_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+ altgr keycode 74 = Hex_D
+keycode 75 = KP_4
+ altgr keycode 75 = Hex_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ altgr keycode 76 = Hex_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ altgr keycode 77 = Hex_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+ altgr keycode 78 = Hex_E
+keycode 79 = KP_1
+ altgr keycode 79 = Hex_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ altgr keycode 80 = Hex_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ altgr keycode 81 = Hex_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Comma
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = +adiaeresis Adiaeresis bar
+keycode 87 = F11 F23 Console_23 F35
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F24 Console_24 F36
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+ altgr keycode 96 = Hex_F
+keycode 97 = Control
+keycode 98 = KP_Divide
+ altgr keycode 98 = Hex_B
+keycode 99 = Control_backslash
+ alt keycode 99 = Meta_Control_backslash
+ shift alt keycode 99 = Meta_Control_backslash
+ altgr alt keycode 99 = Meta_Control_backslash
+ control alt keycode 99 = Meta_Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+ alt keycode 103 = KeyboardSignal
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+ altgr control keycode 112 = VoidSymbol
+ shift alt keycode 112 = VoidSymbol
+ altgr alt keycode 112 = VoidSymbol
+keycode 113 = F13
+ altgr control keycode 113 = VoidSymbol
+ shift alt keycode 113 = VoidSymbol
+ altgr alt keycode 113 = VoidSymbol
+keycode 114 = F14
+ altgr control keycode 114 = VoidSymbol
+ shift alt keycode 114 = VoidSymbol
+ altgr alt keycode 114 = VoidSymbol
+keycode 115 = Help
+ altgr control keycode 115 = VoidSymbol
+ shift alt keycode 115 = VoidSymbol
+ altgr alt keycode 115 = VoidSymbol
+keycode 116 = Do
+ altgr control keycode 116 = VoidSymbol
+ shift alt keycode 116 = VoidSymbol
+ altgr alt keycode 116 = VoidSymbol
+keycode 117 = F17
+ altgr control keycode 117 = VoidSymbol
+ shift alt keycode 117 = VoidSymbol
+ altgr alt keycode 117 = VoidSymbol
+keycode 118 = KP_MinPlus
+ altgr control keycode 118 = VoidSymbol
+ shift alt keycode 118 = VoidSymbol
+ altgr alt keycode 118 = VoidSymbol
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+keycode 128 =
+keycode 129 =
+keycode 130 =
+keycode 131 =
+keycode 132 =
+keycode 133 =
+keycode 134 =
+keycode 135 =
+keycode 136 =
+keycode 137 =
+keycode 138 =
+keycode 139 =
+keycode 140 =
+keycode 141 =
+keycode 142 =
+keycode 143 =
+keycode 144 =
+keycode 145 =
+keycode 146 =
+keycode 147 =
+keycode 148 =
+keycode 149 =
+keycode 150 =
+keycode 151 =
+keycode 152 =
+keycode 153 =
+keycode 154 =
+keycode 155 =
+keycode 156 =
+keycode 157 =
+keycode 158 =
+keycode 159 =
+keycode 160 =
+keycode 161 =
+keycode 162 =
+keycode 163 =
+keycode 164 =
+keycode 165 =
+keycode 166 =
+keycode 167 =
+keycode 168 =
+keycode 169 =
+keycode 170 =
+keycode 171 =
+keycode 172 =
+keycode 173 =
+keycode 174 =
+keycode 175 =
+keycode 176 =
+keycode 177 =
+keycode 178 =
+keycode 179 =
+keycode 180 =
+keycode 181 =
+keycode 182 =
+keycode 183 =
+keycode 184 =
+keycode 185 =
+keycode 186 =
+keycode 187 =
+keycode 188 =
+keycode 189 =
+keycode 190 =
+keycode 191 =
+keycode 192 =
+keycode 193 =
+keycode 194 =
+keycode 195 =
+keycode 196 =
+keycode 197 =
+keycode 198 =
+keycode 199 =
+keycode 200 =
+keycode 201 =
+keycode 202 =
+keycode 203 =
+keycode 204 =
+keycode 205 =
+keycode 206 =
+keycode 207 =
+keycode 208 =
+keycode 209 =
+keycode 210 =
+keycode 211 =
+keycode 212 =
+keycode 213 =
+keycode 214 =
+keycode 215 =
+keycode 216 =
+keycode 217 =
+keycode 218 =
+keycode 219 =
+keycode 220 =
+keycode 221 =
+keycode 222 =
+keycode 223 =
+keycode 224 =
+keycode 225 =
+keycode 226 =
+keycode 227 =
+keycode 228 =
+keycode 229 =
+keycode 230 =
+keycode 231 =
+keycode 232 =
+keycode 233 =
+keycode 234 =
+keycode 235 =
+keycode 236 =
+keycode 237 =
+keycode 238 =
+keycode 239 =
+keycode 240 =
+keycode 241 =
+keycode 242 =
+keycode 243 =
+keycode 244 =
+keycode 245 =
+keycode 246 =
+keycode 247 =
+keycode 248 =
+keycode 249 =
+keycode 250 =
+keycode 251 =
+keycode 252 =
+keycode 253 =
+keycode 254 =
+keycode 255 =
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose '-' 'a' to 'ª'
+compose '-' 'A' to 'ª'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose '°' 'A' to 'Å'
+compose '°' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '^' 'C' to 'Ç'
+compose '^' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '^' 'D' to 'Ð'
+compose '^' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '^' 'N' to 'Ñ'
+compose '^' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '-' 'o' to 'º'
+compose '-' 'O' to 'º'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose '"' 'y' to 'ÿ'
+compose 's' 'z' to 'ß'
+compose 'n' 'n' to 'ñ'
+compose 'n' 'h' to 'ñ'
+compose 'N' 'Y' to 'Ñ'
+compose 'N' 'N' to 'Ñ'
+compose 'N' 'H' to 'Ñ'
+compose 'N' 'y' to 'Ñ'
+compose 'N' 'n' to 'Ñ'
+compose 'N' 'h' to 'Ñ'
+compose '-' 'L' to '£'
+compose '<' '<' to '«'
+compose '>' '>' to '»'
+compose '?' '?' to '¿'
+compose '^' '?' to '¿'
+compose '!' '!' to '¡'
+compose '^' '!' to '¡'
+compose '^' '1' to '¹'
+compose '^' '2' to '²'
+compose '^' '3' to '³'
+compose '+' '-' to '±'
+compose 'c' '=' to '¢'
+compose 'c' '/' to '¢'
+compose '/' 'c' to '¢'
+compose '-' 'c' to '¢'
+compose '-' 'C' to '¢'
+compose 'L' '=' to '£'
+compose '-' 'L' to '£'
+compose '-' 'l' to '£'
+compose '^' '*' to '×'
+compose '^' 'x' to '×'
+compose 'x' 'x' to '×'
+compose '^' '.' to '·'
+compose '.' '.' to '·'
+compose '^' '/' to '÷'
+compose '^' ':' to '÷'
+compose '-' ':' to '÷'
+compose ':' '-' to '÷'
+compose 'Y' '=' to '¥'
+compose '-' 'Y' to '¥'
+compose '-' 'l' to '¥'
+compose '(' 'c' to '©'
+compose '"' 'c' to '©'
+compose '-' 'a' to 'ª'
+compose '-' 'A' to 'ª'
+compose '-' 'o' to 'º'
+compose '-' 'O' to 'º'
+compose '(' 'r' to '®'
+compose '"' 'r' to '®'
+compose 'm' 'u' to 'µ'
+compose '1' '4' to '¼'
+compose '1' '2' to '½'
+compose '3' '4' to '¾'
+compose 'e' '=' to '¤'
+compose '-' 'e' to '¤'
+compose '-' 'E' to '¤'
+compose 'v' 'S' to '¦'
+compose '^' 'S' to '¦'
+compose 'v' 's' to '¨'
+compose '^' 's' to '¨'
+compose 'v' 'Z' to '´'
+compose '^' 'Z' to '´'
+compose 'v' 'z' to '¸'
+compose '^' 'z' to '¸'
+compose 'O' 'E' to '¼'
+compose 'O' 'e' to '¼'
+compose 'o' 'e' to '½'
+compose '"' 'Y' to '¾'
+compose 'i' 'j' to 'ÿ'
+compose 'I' 'J' to '¾'
diff --git a/keymaps/i386/dvorak/dvorak-fr-bepo-utf8.kmap b/keymaps/i386/dvorak/dvorak-fr-bepo-utf8.kmap
new file mode 100644
index 0000000..5646c0a
--- /dev/null
+++ b/keymaps/i386/dvorak/dvorak-fr-bepo-utf8.kmap
@@ -0,0 +1,257 @@
+# Bépo : Improved ergonomic french keymap using Dvorak method. -*- conf -*-
+# Built by community on 'Dvorak Fr / Bépo' :
+# see http://www.clavier-dvorak.org/wiki/ to join and help.
+#
+# Bépo layout (1.0rc2 version) for a pc105 keyboard (french) :
+# ┌────â”
+# │ S A│ S = Shift, A = AltGr + Shift
+# │ s a│ s = normal, a = AltGr
+# └────┘
+#
+# ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┬─────┲â”â”â”â”â”â”â”â”â”┓
+# │ # ¶ │ 1 „ │ 2 “ │ 3 †│ 4 ≤ │ 5 ≥ │ 6 │ 7 ¬ │ 8 ¼ │ 9 ½ │ 0 ¾ │ ° ′ │ ` ″ ┃ ⌫ Retour┃
+# │ $ – │ " — │ « < │ » > │ ( [ │ ) ] │ @ ^ │ + ± │ - − │ / ÷ │ * × │ = ≠ │ % ‰ ┃ arrière┃
+# ┢â”â”â”â”â”â”·â”┱───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┴─┬───┺â”┳â”â”â”â”â”â”â”┫
+# ┃ ┃ B ¦ │ É Ë â”‚ P § │ O Å’ │ È ` │ ! │ V │ D à │ L │ J IJ │ Z Æ â”‚ W ┃Entrée ┃
+# ┃Tab ↹ ┃ b | │ é ˊ │ p & │ o œ │ è ` │ ˆ ¡ │ v ˇ │ d ð │ l / │ j ij │ z ə │ w ̆ ┃ ⎠┃
+# ┣â”â”â”â”â”â”â”┻┱────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┴┬────┺┓ ┃
+# ┃ ┃ A Æ │ U Ù │ I ˙ │ E ¤ │ ; ̛ │ C ſ │ T Þ │ S ẞ │ R ™ │ N │ M º │ Ç , ┃ ┃
+# ┃Maj ⇬ ┃ a æ │ u ù │ i ̈ │ e € │ , ’ │ c © │ t þ │ s ß │ r ® │ n ˜ │ m ¯ │ ç ¸ ┃ ┃
+# ┣â”â”â”â”â”â”â”┳┹────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┬┴────┲┷â”â”â”â”â”â”»â”â”â”â”â”â”┫
+# ┃ ┃ Ê │ À │ Y ‘ │ X ’ │ : · │ K │ ? ̉ │ Q ̣ │ G │ H ‡ │ F ª ┃ ┃
+# ┃Shift ⇧┃ ê / │ à \ │ y { │ x } │ . … │ k ~ │ ' ¿ │ q ˚ │ g µ │ h † │ f ˛ ┃Shift ⇧ ┃
+# ┣â”â”â”â”â”â”â”â•‹â”â”â”â”â”â”·â”┳â”â”â”â”·â”â”â”┱─┴─────┴─────┴─────┴─────┴─────┴───┲â”â”·â”â”â”â”â”╈â”â”â”â”â”â”»â”┳â”â”â”â”â”â”â”┳â”â”â”â”›
+# ┃ ┃ ┃ ┃ Espace inséc. Espace inséc. fin ┃ ┃ ┃ ┃
+# ┃Ctrl ┃Meta ┃Alt ┃ ⣠(Espace) _ ⣠┃AltGr ⇮┃Menu ┃Ctrl ┃
+# â”—â”â”â”â”â”â”â”â”»â”â”â”â”â”â”â”â”»â”â”â”â”â”â”â”┹───────────────────────────────────┺â”â”â”â”â”â”â”â”»â”â”â”â”â”â”â”â”»â”â”â”â”â”â”â”â”›
+
+# Important :
+charset "unicode"
+
+
+include "linux-with-alt-and-altgr"
+
+
+# We define at most 16 levels for each keycode :
+# plain, Shift, AltGr, Shift+AltGr,
+# Control, Control+Shift, Control+AltGr, Control+Shift+AltGr,
+# Alt, Alt+Shift, Alt+AltGr, Alt+Shift+Altgr
+# Alt+Control, Alt+Control+Shift, Alt+Control+AltGr, Alt+Control+Shift+AltGr.
+#
+# Note that incomplete lines are completed with VoidSymbol.
+keymaps 0-15
+
+# First row
+keycode 41 = dollar numbersign U+2013 U+00b6
+ Alt keycode 41 = Meta_dollar
+ Alt Shift keycode 41 = Meta_numbersign
+
+keycode 2 = +quotedbl +one U+2014 U+201e
+ Alt keycode 2 = Meta_quotedbl
+ Alt Shift keycode 2 = Meta_one
+
+keycode 3 = +guillemotleft +two less U+201c
+ Alt Shift keycode 3 = Meta_two
+ Alt AltGr keycode 3 = Meta_less
+
+keycode 4 = +guillemotright +three greater U+201d
+ Alt Shift keycode 4 = Meta_three
+ Alt AltGr keycode 4 = Meta_greater
+
+keycode 5 = +parenleft +four bracketleft U+2264
+ Alt keycode 5 = Meta_parenleft
+ Alt Shift keycode 5 = Meta_four
+ Alt AltGr keycode 5 = Meta_bracketleft
+
+keycode 6 = +parenright +five bracketright U+2265
+ Alt keycode 6 = Meta_parenright
+ Alt Shift keycode 6 = Meta_five
+ Alt AltGr keycode 6 = Meta_bracketright
+ Control Alt AltGr keycode 6 = Meta_Control_bracketright
+
+keycode 7 = +at +six asciicircum asciicircum
+ Alt keycode 7 = Meta_at
+ Alt Shift keycode 7 = Meta_six
+ Alt AltGr keycode 7 = Meta_asciicircum
+ Alt Shift AltGr keycode 7 = Meta_asciicircum
+ Control Alt AltGr keycode 7 = Meta_Control_asciicircum
+ Control Alt Shift AltGr keycode 7 = Meta_Control_asciicircum
+
+keycode 8 = +plus +seven U+00b1 U+00ac
+ Alt keycode 8 = Meta_plus
+ Alt Shift keycode 8 = Meta_seven
+
+keycode 9 = +minus +eight U+2212 U+00bc
+ Alt keycode 9 = Meta_minus
+ Alt Shift keycode 9 = Meta_eight
+
+keycode 10 = +slash +nine U+00f7 U+00bd
+ Alt keycode 10 = Meta_slash
+ Alt Shift keycode 10 = Meta_nine
+
+keycode 11 = +asterisk +zero U+00d7 U+00be
+ Alt keycode 11 = Meta_asterisk
+ Alt Shift keycode 11 = Meta_zero
+
+keycode 12 = equal U+00b0 U+2260 U+2032
+ Alt keycode 12 = Meta_equal
+
+keycode 13 = percent grave U+2030 U+2033
+ Alt keycode 13 = Meta_percent
+ Alt Shift keycode 13 = Meta_grave
+
+
+# Second row
+
+# simplified letter definitions notation :
+keycode 16 = b
+keycode 18 = p
+keycode 19 = o
+keycode 22 = v
+keycode 23 = d
+keycode 24 = l
+keycode 25 = j
+keycode 26 = z
+keycode 27 = w
+
+# then, add specific definitions
+ AltGr keycode 16 = bar
+ Shift AltGr keycode 16 = brokenbar
+ Alt AltGr keycode 16 = Meta_bar
+
+keycode 17 = +eacute +Eacute dead_acute
+
+ AltGr keycode 18 = ampersand
+ Shift AltGr keycode 18 = U+00a7
+ Alt AltGr keycode 18 = Meta_ampersand
+
+ AltGr keycode 19 = +U+0153
+ Shift AltGr keycode 19 = +U+0152
+
+keycode 20 = +egrave +Egrave dead_grave grave # no Meta !
+
+keycode 21 = dead_circumflex exclam exclamdown
+ Alt Shift keycode 21 = Meta_exclam
+
+ AltGr keycode 22 = dead_caron
+ Shift AltGr keycode 22 = dead_caron
+
+ AltGr keycode 23 = eth
+ Shift AltGr keycode 23 = ETH
+
+ AltGr keycode 25 = +U+0133
+ Shift AltGr keycode 25 = +U+0132
+
+ AltGr keycode 26 = +U+0259
+ Shift AltGr keycode 26 = +U+018f
+
+
+
+# Third row
+
+# simplified letter definitions notation :
+keycode 30 = a
+keycode 31 = u
+keycode 32 = i
+keycode 33 = e
+keycode 35 = c
+keycode 36 = t
+keycode 37 = s
+keycode 38 = r
+keycode 39 = n
+keycode 40 = m
+
+# then, add specific definitions
+ AltGr keycode 30 = +ae
+ Shift AltGr keycode 30 = +AE
+
+ AltGr keycode 31 = +ugrave
+ Shift AltGr keycode 31 = +ugrave
+
+ AltGr keycode 32 = dead_diaeresis
+ Shift AltGr keycode 32 = VoidSymbol
+
+ AltGr keycode 33 = U+20ac
+ Shift AltGr keycode 33 = VoidSymbol
+
+keycode 34 = comma semicolon U+2019 +U+031b
+ Alt keycode 34 = Meta_comma
+ Alt Shift keycode 34 = Meta_semicolon
+
+ AltGr keycode 35 = copyright
+ Shift AltGr keycode 35 = U+017f
+
+ AltGr keycode 36 = +thorn
+ Shift AltGr keycode 36 = +THORN
+
+ AltGr keycode 37 = +ssharp
+ Shift AltGr keycode 37 = U+1e9e
+
+ AltGr keycode 38 = registered
+ Shift AltGr keycode 38 = U+2122
+
+ AltGr keycode 39 = dead_tilde
+ Shift AltGr keycode 39 = dead_tilde
+
+ AltGr keycode 40 = VoidSymbol
+ Shift AltGr keycode 40 = masculine
+
+keycode 43 = +ccedilla +Ccedilla dead_cedilla
+
+
+# Fourth row
+
+# simplified letter definitions notation :
+keycode 45 = y
+keycode 46 = x
+keycode 48 = k
+keycode 50 = q
+keycode 51 = g
+keycode 52 = h
+keycode 53 = f
+
+# then, add specific definitions
+keycode 86 = +ecircumflex +Ecircumflex slash slash
+ Alt AltGr keycode 86 = Meta_slash
+ Alt Shift AltGr keycode 86 = Meta_slash
+
+keycode 44 = +agrave +Agrave backslash backslash
+ Alt AltGr keycode 44 = Meta_backslash
+ Alt Shift AltGr keycode 44 = Meta_backslash
+
+ AltGr keycode 45 = braceleft
+ Shift AltGr keycode 45 = U+2018
+ Alt AltGr keycode 45 = Meta_braceleft
+
+ AltGr keycode 46 = braceright
+ Shift AltGr keycode 46 = U+2019
+ Alt AltGr keycode 46 = Meta_braceright
+
+keycode 47 = period colon U+2026 periodcentered
+ Alt keycode 47 = Meta_period
+ Alt Shift keycode 47 = Meta_colon
+
+ AltGr keycode 48 = asciitilde
+ Shift AltGr keycode 48 = asciitilde
+ Alt AltGr keycode 48 = Meta_asciitilde
+ Alt Shift AltGr keycode 48 = Meta_asciitilde
+
+keycode 49 = apostrophe question questiondown +U+0309
+ Alt keycode 49 = Meta_apostrophe
+ Alt Shift keycode 49 = Meta_question
+
+ AltGr keycode 51 = mu
+ Shift AltGr keycode 51 = VoidSymbol
+
+ AltGr keycode 52 = U+2020
+ Shift AltGr keycode 52 = U+2021
+
+ AltGr keycode 53 = VoidSymbol
+ Shift AltGr keycode 53 = ordfeminine
+
+
+
+keycode 57 = space nobreakspace underscore U+202f
+ Alt keycode 52 = Meta_space
+ Alt AltGr keycode 52 = Meta_underscore
+ Control Alt AltGr keycode 52 = Meta_Control_underscore
diff --git a/keymaps/i386/dvorak/dvorak-fr-bepo.kmap b/keymaps/i386/dvorak/dvorak-fr-bepo.kmap
new file mode 100644
index 0000000..9e5d899
--- /dev/null
+++ b/keymaps/i386/dvorak/dvorak-fr-bepo.kmap
@@ -0,0 +1,1015 @@
+# fr-dvorak-bepo http://www.clavier-dvorak.org
+charset "iso-8859-15"
+keymaps 0-15
+
+# includes are disabled to work also on debian
+# include "linux-with-alt-and-altgr"
+
+
+################### linux-keys-bare ###################
+# Linux-specific (and language-independent) keys
+#
+# This file describes function keys, console switching keys,
+# keypad, cursor keys, and SysRq, ScrollLock, Pause
+#
+# It does not use the AltGr modifier, so that the user can opt
+# to have both Alt keys produce the same effect.
+# As a consequence, the Hex_* keys are missing, as are
+# control altgr keycode 83 = Boot
+# control altgr keycode 111 = Boot
+#
+# One culture-specific item that will be overridden in many keymaps
+# is the KP_Period: many countries have a KP_Comma instead.
+#
+# One user-preference item will be the function of the Delete key.
+#
+# Old keyboards have 10 function keys, and keymaps have
+# sometimes used shift+F1 = F11, and sometimes shift+F1 = F13.
+# Here we assume an enhanced keyboard (with 12 function keys).
+#
+plain keycode 59 = F1
+plain keycode 60 = F2
+plain keycode 61 = F3
+plain keycode 62 = F4
+plain keycode 63 = F5
+plain keycode 64 = F6
+plain keycode 65 = F7
+plain keycode 66 = F8
+plain keycode 67 = F9
+plain keycode 68 = F10
+plain keycode 87 = F11
+plain keycode 88 = F12
+shift keycode 59 = F13
+shift keycode 60 = F14
+shift keycode 61 = F15
+shift keycode 62 = F16
+shift keycode 63 = F17
+shift keycode 64 = F18
+shift keycode 65 = F19
+shift keycode 66 = F20
+shift keycode 67 = F21
+shift keycode 68 = F22
+shift keycode 87 = F23
+shift keycode 88 = F24
+control keycode 59 = F25
+control keycode 60 = F26
+control keycode 61 = F27
+control keycode 62 = F28
+control keycode 63 = F29
+control keycode 64 = F30
+control keycode 65 = F31
+control keycode 66 = F32
+control keycode 67 = F33
+control keycode 68 = F34
+control keycode 87 = F35
+control keycode 88 = F36
+#
+# The canonical assignment for F37-F48 uses
+# control shift keycode 59 = F37
+# etc. If you want that, load linux-keys-extd.inc
+#
+# Both Alt+Fn and Control+Alt+Fn switch to Console n
+# (in order to please Linux / dosemu / X).
+# Here Consoles 1..12. For 13..24 load linux-keys-extd.inc
+#
+alt keycode 59 = Console_1
+alt keycode 60 = Console_2
+alt keycode 61 = Console_3
+alt keycode 62 = Console_4
+alt keycode 63 = Console_5
+alt keycode 64 = Console_6
+alt keycode 65 = Console_7
+alt keycode 66 = Console_8
+alt keycode 67 = Console_9
+alt keycode 68 = Console_10
+alt keycode 87 = Console_11
+alt keycode 88 = Console_12
+control alt keycode 59 = Console_1
+control alt keycode 60 = Console_2
+control alt keycode 61 = Console_3
+control alt keycode 62 = Console_4
+control alt keycode 63 = Console_5
+control alt keycode 64 = Console_6
+control alt keycode 65 = Console_7
+control alt keycode 66 = Console_8
+control alt keycode 67 = Console_9
+control alt keycode 68 = Console_10
+control alt keycode 87 = Console_11
+control alt keycode 88 = Console_12
+
+#
+# Keypad keys
+#
+keycode 69 = Num_Lock
+keycode 98 = KP_Divide
+keycode 55 = KP_Multiply
+keycode 74 = KP_Subtract
+keycode 78 = KP_Add
+keycode 96 = KP_Enter
+#
+keycode 71 = KP_7
+keycode 72 = KP_8
+keycode 73 = KP_9
+keycode 75 = KP_4
+keycode 76 = KP_5
+keycode 77 = KP_6
+keycode 79 = KP_1
+keycode 80 = KP_2
+keycode 81 = KP_3
+keycode 82 = KP_0
+#
+keycode 83 = KP_Period # or KP_Comma
+control alt keycode 83 = Boot
+#
+alt keycode 71 = Ascii_7
+alt keycode 72 = Ascii_8
+alt keycode 73 = Ascii_9
+alt keycode 75 = Ascii_4
+alt keycode 76 = Ascii_5
+alt keycode 77 = Ascii_6
+alt keycode 79 = Ascii_1
+alt keycode 80 = Ascii_2
+alt keycode 81 = Ascii_3
+alt keycode 82 = Ascii_0
+#
+# The four cursor keys
+#
+keycode 103 = Up
+keycode 105 = Left
+keycode 106 = Right
+keycode 108 = Down
+alt keycode 103 = KeyboardSignal
+alt keycode 105 = Decr_Console
+alt keycode 106 = Incr_Console
+#
+# The six edit keys
+#
+keycode 110 = Insert
+keycode 102 = Home # Find
+keycode 104 = PageUp # Prior
+keycode 111 = Remove
+keycode 107 = End # Select
+keycode 109 = PageDown # Next
+shift keycode 104 = Scroll_Backward
+shift keycode 109 = Scroll_Forward
+control alt keycode 111 = Boot
+#
+# The three system keys
+#
+keycode 84 = Last_Console # Alt+SysRq/PrintScrn
+keycode 99 = Control_backslash # SysRq/PrintScrn
+
+plain keycode 70 = Scroll_Lock
+shift keycode 70 = Show_Memory
+control keycode 70 = Show_State
+alt keycode 70 = Show_Registers
+
+keycode 101 = Break # Ctrl+Break/Pause
+keycode 119 = Pause # Break/Pause
+################################################################
+
+################### linux-with-alt-and-altgr ###################
+# For keymaps in which both Alt keys are equivalent
+# No convention for Hex_* has been established.
+
+# include "linux-keys-bare"
+
+keycode 100 = AltGr
+
+altgr keycode 70 = Show_Registers
+alt keycode 70 = Scroll_Lock
+
+control altgr keycode 83 = Boot
+control altgr keycode 111 = Boot
+
+# Hex keypad keys (for giving a Unicode value in 4 hex digits)
+# Follow lt.kmap and assign Hex_A .. Hex_F to keypad border.
+altgr keycode 55 = Hex_C
+altgr keycode 69 = Hex_A
+altgr keycode 71 = Hex_7
+altgr keycode 72 = Hex_8
+altgr keycode 73 = Hex_9
+altgr keycode 74 = Hex_D
+altgr keycode 75 = Hex_4
+altgr keycode 76 = Hex_5
+altgr keycode 77 = Hex_6
+altgr keycode 78 = Hex_E
+altgr keycode 79 = Hex_1
+altgr keycode 80 = Hex_2
+altgr keycode 81 = Hex_3
+altgr keycode 82 = Hex_0
+altgr keycode 96 = Hex_F
+altgr keycode 98 = Hex_B
+################################################################
+
+strings as usual
+compose as usual for "iso-8859-1"
+
+
+
+keycode 41 = dollar
+ Control keycode 41 = VoidSymbol
+ Alt keycode 41 = Meta_dollar
+ Control Alt keycode 41 = VoidSymbol
+ Shift keycode 41 = numbersign
+ Shift Control keycode 41 = VoidSymbol
+ Shift Alt keycode 41 = Meta_numbersign
+ Shift Control Alt keycode 41 = VoidSymbol
+ Altgr keycode 41 = VoidSymbol
+ Altgr Control keycode 41 = VoidSymbol
+ Altgr Alt keycode 41 = VoidSymbol
+ Altgr Control Alt keycode 41 = VoidSymbol
+ Shift Altgr keycode 41 = paragraph
+ Shift Altgr Control keycode 41 = VoidSymbol
+ Shift Altgr Alt keycode 41 = VoidSymbol
+ Shift Altgr Control Alt keycode 41 = VoidSymbol
+keycode 2 = +quotedbl
+ Control keycode 2 = VoidSymbol
+ Alt keycode 2 = Meta_quotedbl
+ Control Alt keycode 2 = VoidSymbol
+ Shift keycode 2 = +one
+ Shift Control keycode 2 = VoidSymbol
+ Shift Alt keycode 2 = Meta_one
+ Shift Control Alt keycode 2 = VoidSymbol
+ Altgr keycode 2 = VoidSymbol
+ Altgr Control keycode 2 = VoidSymbol
+ Altgr Alt keycode 2 = VoidSymbol
+ Altgr Control Alt keycode 2 = VoidSymbol
+ Shift Altgr keycode 2 = VoidSymbol
+ Shift Altgr Control keycode 2 = VoidSymbol
+ Shift Altgr Alt keycode 2 = VoidSymbol
+ Shift Altgr Control Alt keycode 2 = VoidSymbol
+keycode 3 = +guillemotleft
+ Control keycode 3 = VoidSymbol
+ Alt keycode 3 = VoidSymbol
+ Control Alt keycode 3 = VoidSymbol
+ Shift keycode 3 = +two
+ Shift Control keycode 3 = VoidSymbol
+ Shift Alt keycode 3 = Meta_two
+ Shift Control Alt keycode 3 = VoidSymbol
+ Altgr keycode 3 = less
+ Altgr Control keycode 3 = VoidSymbol
+ Altgr Alt keycode 3 = Meta_less
+ Altgr Control Alt keycode 3 = VoidSymbol
+ Shift Altgr keycode 3 = VoidSymbol
+ Shift Altgr Control keycode 3 = VoidSymbol
+ Shift Altgr Alt keycode 3 = VoidSymbol
+ Shift Altgr Control Alt keycode 3 = VoidSymbol
+keycode 4 = +guillemotright
+ Control keycode 4 = VoidSymbol
+ Alt keycode 4 = VoidSymbol
+ Control Alt keycode 4 = VoidSymbol
+ Shift keycode 4 = +three
+ Shift Control keycode 4 = VoidSymbol
+ Shift Alt keycode 4 = Meta_three
+ Shift Control Alt keycode 4 = VoidSymbol
+ Altgr keycode 4 = greater
+ Altgr Control keycode 4 = VoidSymbol
+ Altgr Alt keycode 4 = Meta_greater
+ Altgr Control Alt keycode 4 = VoidSymbol
+ Shift Altgr keycode 4 = VoidSymbol
+ Shift Altgr Control keycode 4 = VoidSymbol
+ Shift Altgr Alt keycode 4 = VoidSymbol
+ Shift Altgr Control Alt keycode 4 = VoidSymbol
+keycode 5 = +parenleft
+ Control keycode 5 = VoidSymbol
+ Alt keycode 5 = Meta_parenleft
+ Control Alt keycode 5 = VoidSymbol
+ Shift keycode 5 = +four
+ Shift Control keycode 5 = VoidSymbol
+ Shift Alt keycode 5 = Meta_four
+ Shift Control Alt keycode 5 = VoidSymbol
+ Altgr keycode 5 = bracketleft
+ Altgr Control keycode 5 = VoidSymbol
+ Altgr Alt keycode 5 = Meta_bracketleft
+ Altgr Control Alt keycode 5 = VoidSymbol
+ Shift Altgr keycode 5 = VoidSymbol
+ Shift Altgr Control keycode 5 = VoidSymbol
+ Shift Altgr Alt keycode 5 = VoidSymbol
+ Shift Altgr Control Alt keycode 5 = VoidSymbol
+keycode 6 = +parenright
+ Control keycode 6 = VoidSymbol
+ Alt keycode 6 = Meta_parenright
+ Control Alt keycode 6 = VoidSymbol
+ Shift keycode 6 = +five
+ Shift Control keycode 6 = VoidSymbol
+ Shift Alt keycode 6 = Meta_five
+ Shift Control Alt keycode 6 = VoidSymbol
+ Altgr keycode 6 = bracketright
+ Altgr Control keycode 6 = VoidSymbol
+ Altgr Alt keycode 6 = Meta_bracketright
+ Altgr Control Alt keycode 6 = Meta_Control_bracketright
+ Shift Altgr keycode 6 = VoidSymbol
+ Shift Altgr Control keycode 6 = VoidSymbol
+ Shift Altgr Alt keycode 6 = VoidSymbol
+ Shift Altgr Control Alt keycode 6 = VoidSymbol
+keycode 7 = +at
+ Control keycode 7 = VoidSymbol
+ Alt keycode 7 = Meta_at
+ Control Alt keycode 7 = VoidSymbol
+ Shift keycode 7 = +six
+ Shift Control keycode 7 = VoidSymbol
+ Shift Alt keycode 7 = Meta_six
+ Shift Control Alt keycode 7 = VoidSymbol
+ Altgr keycode 7 = asciicircum
+ Altgr Control keycode 7 = VoidSymbol
+ Altgr Alt keycode 7 = Meta_asciicircum
+ Altgr Control Alt keycode 7 = Meta_Control_asciicircum
+ Shift Altgr keycode 7 = VoidSymbol
+ Shift Altgr Control keycode 7 = VoidSymbol
+ Shift Altgr Alt keycode 7 = VoidSymbol
+ Shift Altgr Control Alt keycode 7 = VoidSymbol
+keycode 8 = +plus
+ Control keycode 8 = VoidSymbol
+ Alt keycode 8 = Meta_plus
+ Control Alt keycode 8 = VoidSymbol
+ Shift keycode 8 = +seven
+ Shift Control keycode 8 = VoidSymbol
+ Shift Alt keycode 8 = Meta_seven
+ Shift Control Alt keycode 8 = VoidSymbol
+ Altgr keycode 8 = plusminus
+ Altgr Control keycode 8 = VoidSymbol
+ Altgr Alt keycode 8 = VoidSymbol
+ Altgr Control Alt keycode 8 = VoidSymbol
+ Shift Altgr keycode 8 = notsign
+ Shift Altgr Control keycode 8 = VoidSymbol
+ Shift Altgr Alt keycode 8 = VoidSymbol
+ Shift Altgr Control Alt keycode 8 = VoidSymbol
+keycode 9 = +minus
+ Control keycode 9 = VoidSymbol
+ Alt keycode 9 = Meta_minus
+ Control Alt keycode 9 = VoidSymbol
+ Shift keycode 9 = +eight
+ Shift Control keycode 9 = VoidSymbol
+ Shift Alt keycode 9 = Meta_eight
+ Shift Control Alt keycode 9 = VoidSymbol
+ Altgr keycode 9 = VoidSymbol
+ Altgr Control keycode 9 = VoidSymbol
+ Altgr Alt keycode 9 = VoidSymbol
+ Altgr Control Alt keycode 9 = VoidSymbol
+ Shift Altgr keycode 9 = VoidSymbol
+ Shift Altgr Control keycode 9 = VoidSymbol
+ Shift Altgr Alt keycode 9 = VoidSymbol
+ Shift Altgr Control Alt keycode 9 = VoidSymbol
+keycode 10 = +slash
+ Control keycode 10 = VoidSymbol
+ Alt keycode 10 = Meta_slash
+ Control Alt keycode 10 = VoidSymbol
+ Shift keycode 10 = +nine
+ Shift Control keycode 10 = VoidSymbol
+ Shift Alt keycode 10 = Meta_nine
+ Shift Control Alt keycode 10 = VoidSymbol
+ Altgr keycode 10 = division
+ Altgr Control keycode 10 = VoidSymbol
+ Altgr Alt keycode 10 = VoidSymbol
+ Altgr Control Alt keycode 10 = VoidSymbol
+ Shift Altgr keycode 10 = VoidSymbol
+ Shift Altgr Control keycode 10 = VoidSymbol
+ Shift Altgr Alt keycode 10 = VoidSymbol
+ Shift Altgr Control Alt keycode 10 = VoidSymbol
+keycode 11 = +asterisk
+ Control keycode 11 = VoidSymbol
+ Alt keycode 11 = Meta_asterisk
+ Control Alt keycode 11 = VoidSymbol
+ Shift keycode 11 = +zero
+ Shift Control keycode 11 = VoidSymbol
+ Shift Alt keycode 11 = Meta_zero
+ Shift Control Alt keycode 11 = VoidSymbol
+ Altgr keycode 11 = multiply
+ Altgr Control keycode 11 = VoidSymbol
+ Altgr Alt keycode 11 = VoidSymbol
+ Altgr Control Alt keycode 11 = VoidSymbol
+ Shift Altgr keycode 11 = VoidSymbol
+ Shift Altgr Control keycode 11 = VoidSymbol
+ Shift Altgr Alt keycode 11 = VoidSymbol
+ Shift Altgr Control Alt keycode 11 = VoidSymbol
+keycode 12 = equal
+ Control keycode 12 = VoidSymbol
+ Alt keycode 12 = Meta_equal
+ Control Alt keycode 12 = VoidSymbol
+ Shift keycode 12 = degree
+ Shift Control keycode 12 = VoidSymbol
+ Shift Alt keycode 12 = VoidSymbol
+ Shift Control Alt keycode 12 = VoidSymbol
+ Altgr keycode 12 = VoidSymbol
+ Altgr Control keycode 12 = VoidSymbol
+ Altgr Alt keycode 12 = VoidSymbol
+ Altgr Control Alt keycode 12 = VoidSymbol
+ Shift Altgr keycode 12 = VoidSymbol
+ Shift Altgr Control keycode 12 = VoidSymbol
+ Shift Altgr Alt keycode 12 = VoidSymbol
+ Shift Altgr Control Alt keycode 12 = VoidSymbol
+keycode 13 = percent
+ Control keycode 13 = VoidSymbol
+ Alt keycode 13 = Meta_percent
+ Control Alt keycode 13 = VoidSymbol
+ Shift keycode 13 = grave
+ Shift Control keycode 13 = VoidSymbol
+ Shift Alt keycode 13 = Meta_grave
+ Shift Control Alt keycode 13 = VoidSymbol
+ Altgr keycode 13 = VoidSymbol
+ Altgr Control keycode 13 = VoidSymbol
+ Altgr Alt keycode 13 = VoidSymbol
+ Altgr Control Alt keycode 13 = VoidSymbol
+ Shift Altgr keycode 13 = VoidSymbol
+ Shift Altgr Control keycode 13 = VoidSymbol
+ Shift Altgr Alt keycode 13 = VoidSymbol
+ Shift Altgr Control Alt keycode 13 = VoidSymbol
+keycode 16 = +b
+ Control keycode 16 = Control_b
+ Alt keycode 16 = Meta_b
+ Control Alt keycode 16 = Meta_Control_b
+ Shift keycode 16 = +B
+ Shift Control keycode 16 = VoidSymbol
+ Shift Alt keycode 16 = Meta_B
+ Shift Control Alt keycode 16 = VoidSymbol
+ Altgr keycode 16 = bar
+ Altgr Control keycode 16 = VoidSymbol
+ Altgr Alt keycode 16 = Meta_bar
+ Altgr Control Alt keycode 16 = VoidSymbol
+ Shift Altgr keycode 16 = VoidSymbol
+ Shift Altgr Control keycode 16 = VoidSymbol
+ Shift Altgr Alt keycode 16 = VoidSymbol
+ Shift Altgr Control Alt keycode 16 = VoidSymbol
+keycode 17 = +eacute
+ Control keycode 17 = VoidSymbol
+ Alt keycode 17 = VoidSymbol
+ Control Alt keycode 17 = VoidSymbol
+ Shift keycode 17 = +Eacute
+ Shift Control keycode 17 = VoidSymbol
+ Shift Alt keycode 17 = VoidSymbol
+ Shift Control Alt keycode 17 = VoidSymbol
+ Altgr keycode 17 = dead_acute
+ Altgr Control keycode 17 = VoidSymbol
+ Altgr Alt keycode 17 = VoidSymbol
+ Altgr Control Alt keycode 17 = VoidSymbol
+ Shift Altgr keycode 17 = dead_doubleacute
+ Shift Altgr Control keycode 17 = VoidSymbol
+ Shift Altgr Alt keycode 17 = VoidSymbol
+ Shift Altgr Control Alt keycode 17 = VoidSymbol
+keycode 18 = +p
+ Control keycode 18 = Control_p
+ Alt keycode 18 = Meta_p
+ Control Alt keycode 18 = Meta_Control_p
+ Shift keycode 18 = +P
+ Shift Control keycode 18 = VoidSymbol
+ Shift Alt keycode 18 = Meta_P
+ Shift Control Alt keycode 18 = VoidSymbol
+ Altgr keycode 18 = ampersand
+ Altgr Control keycode 18 = VoidSymbol
+ Altgr Alt keycode 18 = Meta_ampersand
+ Altgr Control Alt keycode 18 = VoidSymbol
+ Shift Altgr keycode 18 = section
+ Shift Altgr Control keycode 18 = VoidSymbol
+ Shift Altgr Alt keycode 18 = VoidSymbol
+ Shift Altgr Control Alt keycode 18 = VoidSymbol
+keycode 19 = o
+ Control keycode 19 = Control_o
+ Alt keycode 19 = Meta_o
+ Control Alt keycode 19 = Meta_Control_o
+ Shift keycode 19 = O
+ Shift Control keycode 19 = VoidSymbol
+ Shift Alt keycode 19 = Meta_O
+ Shift Control Alt keycode 19 = VoidSymbol
+ Altgr keycode 19 = 0xbd
+ Altgr Control keycode 19 = VoidSymbol
+ Altgr Alt keycode 19 = VoidSymbol
+ Altgr Control Alt keycode 19 = VoidSymbol
+ Shift Altgr keycode 19 = 0xbc
+ Shift Altgr Control keycode 19 = VoidSymbol
+ Shift Altgr Alt keycode 19 = VoidSymbol
+ Shift Altgr Control Alt keycode 19 = VoidSymbol
+keycode 20 = +egrave
+ Control keycode 20 = VoidSymbol
+ Alt keycode 20 = VoidSymbol
+ Control Alt keycode 20 = VoidSymbol
+ Shift keycode 20 = +Egrave
+ Shift Control keycode 20 = VoidSymbol
+ Shift Alt keycode 20 = VoidSymbol
+ Shift Control Alt keycode 20 = VoidSymbol
+ Altgr keycode 20 = dead_grave
+ Altgr Control keycode 20 = VoidSymbol
+ Altgr Alt keycode 20 = Meta_grave
+ Altgr Control Alt keycode 20 = VoidSymbol
+ Shift Altgr keycode 20 = grave
+ Shift Altgr Control keycode 20 = VoidSymbol
+ Shift Altgr Alt keycode 20 = Meta_grave
+ Shift Altgr Control Alt keycode 20 = VoidSymbol
+keycode 21 = dead_circumflex
+ Control keycode 21 = VoidSymbol
+ Alt keycode 21 = Meta_asciicircum
+ Control Alt keycode 21 = Meta_Control_asciicircum
+ Shift keycode 21 = exclam
+ Shift Control keycode 21 = VoidSymbol
+ Shift Alt keycode 21 = Meta_exclam
+ Shift Control Alt keycode 21 = VoidSymbol
+ Altgr keycode 21 = exclamdown
+ Altgr Control keycode 21 = VoidSymbol
+ Altgr Alt keycode 21 = VoidSymbol
+ Altgr Control Alt keycode 21 = VoidSymbol
+ Shift Altgr keycode 21 = VoidSymbol
+ Shift Altgr Control keycode 21 = VoidSymbol
+ Shift Altgr Alt keycode 21 = VoidSymbol
+ Shift Altgr Control Alt keycode 21 = VoidSymbol
+keycode 22 = +v
+ Control keycode 22 = Control_v
+ Alt keycode 22 = Meta_v
+ Control Alt keycode 22 = Meta_Control_v
+ Shift keycode 22 = +V
+ Shift Control keycode 22 = VoidSymbol
+ Shift Alt keycode 22 = Meta_V
+ Shift Control Alt keycode 22 = VoidSymbol
+ Altgr keycode 22 = dead_caron
+ Altgr Control keycode 22 = VoidSymbol
+ Altgr Alt keycode 22 = VoidSymbol
+ Altgr Control Alt keycode 22 = VoidSymbol
+ Shift Altgr keycode 22 = VoidSymbol
+ Shift Altgr Control keycode 22 = VoidSymbol
+ Shift Altgr Alt keycode 22 = VoidSymbol
+ Shift Altgr Control Alt keycode 22 = VoidSymbol
+keycode 23 = d
+ Control keycode 23 = Control_d
+ Alt keycode 23 = Meta_d
+ Control Alt keycode 23 = Meta_Control_d
+ Shift keycode 23 = D
+ Shift Control keycode 23 = VoidSymbol
+ Shift Alt keycode 23 = Meta_D
+ Shift Control Alt keycode 23 = VoidSymbol
+ Altgr keycode 23 = eth
+ Altgr Control keycode 23 = VoidSymbol
+ Altgr Alt keycode 23 = VoidSymbol
+ Altgr Control Alt keycode 23 = VoidSymbol
+ Shift Altgr keycode 23 = ETH
+ Shift Altgr Control keycode 23 = VoidSymbol
+ Shift Altgr Alt keycode 23 = VoidSymbol
+ Shift Altgr Control Alt keycode 23 = VoidSymbol
+keycode 24 = +l
+ Control keycode 24 = Control_l
+ Alt keycode 24 = Meta_l
+ Control Alt keycode 24 = Meta_Control_l
+ Shift keycode 24 = +L
+ Shift Control keycode 24 = VoidSymbol
+ Shift Alt keycode 24 = Meta_L
+ Shift Control Alt keycode 24 = VoidSymbol
+ Altgr keycode 24 = VoidSymbol
+ Altgr Control keycode 24 = VoidSymbol
+ Altgr Alt keycode 24 = VoidSymbol
+ Altgr Control Alt keycode 24 = VoidSymbol
+ Shift Altgr keycode 24 = VoidSymbol
+ Shift Altgr Control keycode 24 = VoidSymbol
+ Shift Altgr Alt keycode 24 = VoidSymbol
+ Shift Altgr Control Alt keycode 24 = VoidSymbol
+keycode 25 = j
+ Control keycode 25 = Control_j
+ Alt keycode 25 = Meta_j
+ Control Alt keycode 25 = VoidSymbol
+ Shift keycode 25 = J
+ Shift Control keycode 25 = VoidSymbol
+ Shift Alt keycode 25 = Meta_J
+ Shift Control Alt keycode 25 = VoidSymbol
+ Altgr keycode 25 = VoidSymbol
+ Altgr Control keycode 25 = VoidSymbol
+ Altgr Alt keycode 25 = VoidSymbol
+ Altgr Control Alt keycode 25 = VoidSymbol
+ Shift Altgr keycode 25 = VoidSymbol
+ Shift Altgr Control keycode 25 = VoidSymbol
+ Shift Altgr Alt keycode 25 = VoidSymbol
+ Shift Altgr Control Alt keycode 25 = VoidSymbol
+keycode 26 = z
+ Control keycode 26 = Control_z
+ Alt keycode 26 = Meta_z
+ Control Alt keycode 26 = Meta_Control_z
+ Shift keycode 26 = Z
+ Shift Control keycode 26 = VoidSymbol
+ Shift Alt keycode 26 = Meta_Z
+ Shift Control Alt keycode 26 = VoidSymbol
+ Altgr keycode 26 = VoidSymbol
+ Altgr Control keycode 26 = VoidSymbol
+ Altgr Alt keycode 26 = VoidSymbol
+ Altgr Control Alt keycode 26 = VoidSymbol
+ Shift Altgr keycode 26 = VoidSymbol
+ Shift Altgr Control keycode 26 = VoidSymbol
+ Shift Altgr Alt keycode 26 = VoidSymbol
+ Shift Altgr Control Alt keycode 26 = VoidSymbol
+keycode 27 = +w
+ Control keycode 27 = Control_w
+ Alt keycode 27 = Meta_w
+ Control Alt keycode 27 = Meta_Control_w
+ Shift keycode 27 = +W
+ Shift Control keycode 27 = VoidSymbol
+ Shift Alt keycode 27 = Meta_W
+ Shift Control Alt keycode 27 = VoidSymbol
+ Altgr keycode 27 = dead_breve
+ Altgr Control keycode 27 = VoidSymbol
+ Altgr Alt keycode 27 = VoidSymbol
+ Altgr Control Alt keycode 27 = VoidSymbol
+ Shift Altgr keycode 27 = VoidSymbol
+ Shift Altgr Control keycode 27 = VoidSymbol
+ Shift Altgr Alt keycode 27 = VoidSymbol
+ Shift Altgr Control Alt keycode 27 = VoidSymbol
+keycode 30 = a
+ Control keycode 30 = Control_a
+ Alt keycode 30 = Meta_a
+ Control Alt keycode 30 = Meta_Control_a
+ Shift keycode 30 = A
+ Shift Control keycode 30 = VoidSymbol
+ Shift Alt keycode 30 = Meta_A
+ Shift Control Alt keycode 30 = VoidSymbol
+ Altgr keycode 30 = ae
+ Altgr Control keycode 30 = VoidSymbol
+ Altgr Alt keycode 30 = VoidSymbol
+ Altgr Control Alt keycode 30 = VoidSymbol
+ Shift Altgr keycode 30 = AE
+ Shift Altgr Control keycode 30 = VoidSymbol
+ Shift Altgr Alt keycode 30 = VoidSymbol
+ Shift Altgr Control Alt keycode 30 = VoidSymbol
+keycode 31 = u
+ Control keycode 31 = Control_u
+ Alt keycode 31 = Meta_u
+ Control Alt keycode 31 = Meta_Control_u
+ Shift keycode 31 = U
+ Shift Control keycode 31 = VoidSymbol
+ Shift Alt keycode 31 = Meta_U
+ Shift Control Alt keycode 31 = VoidSymbol
+ Altgr keycode 31 = ugrave
+ Altgr Control keycode 31 = VoidSymbol
+ Altgr Alt keycode 31 = VoidSymbol
+ Altgr Control Alt keycode 31 = VoidSymbol
+ Shift Altgr keycode 31 = Ugrave
+ Shift Altgr Control keycode 31 = VoidSymbol
+ Shift Altgr Alt keycode 31 = VoidSymbol
+ Shift Altgr Control Alt keycode 31 = VoidSymbol
+keycode 32 = +i
+ Control keycode 32 = Control_i
+ Alt keycode 32 = Meta_i
+ Control Alt keycode 32 = VoidSymbol
+ Shift keycode 32 = +I
+ Shift Control keycode 32 = VoidSymbol
+ Shift Alt keycode 32 = Meta_I
+ Shift Control Alt keycode 32 = VoidSymbol
+ Altgr keycode 32 = dead_diaeresis
+ Altgr Control keycode 32 = VoidSymbol
+ Altgr Alt keycode 32 = VoidSymbol
+ Altgr Control Alt keycode 32 = VoidSymbol
+ Shift Altgr keycode 32 = VoidSymbol
+ Shift Altgr Control keycode 32 = VoidSymbol
+ Shift Altgr Alt keycode 32 = VoidSymbol
+ Shift Altgr Control Alt keycode 32 = VoidSymbol
+keycode 33 = +e
+ Control keycode 33 = Control_e
+ Alt keycode 33 = Meta_e
+ Control Alt keycode 33 = Meta_Control_e
+ Shift keycode 33 = +E
+ Shift Control keycode 33 = VoidSymbol
+ Shift Alt keycode 33 = Meta_E
+ Shift Control Alt keycode 33 = VoidSymbol
+ Altgr keycode 33 = 0xa4
+ Altgr Control keycode 33 = VoidSymbol
+ Altgr Alt keycode 33 = VoidSymbol
+ Altgr Control Alt keycode 33 = VoidSymbol
+ Shift Altgr keycode 33 = VoidSymbol
+ Shift Altgr Control keycode 33 = VoidSymbol
+ Shift Altgr Alt keycode 33 = VoidSymbol
+ Shift Altgr Control Alt keycode 33 = VoidSymbol
+keycode 34 = comma
+ Control keycode 34 = VoidSymbol
+ Alt keycode 34 = Meta_comma
+ Control Alt keycode 34 = VoidSymbol
+ Shift keycode 34 = semicolon
+ Shift Control keycode 34 = VoidSymbol
+ Shift Alt keycode 34 = Meta_semicolon
+ Shift Control Alt keycode 34 = VoidSymbol
+ Altgr keycode 34 = VoidSymbol
+ Altgr Control keycode 34 = VoidSymbol
+ Altgr Alt keycode 34 = VoidSymbol
+ Altgr Control Alt keycode 34 = VoidSymbol
+ Shift Altgr keycode 34 = VoidSymbol
+ Shift Altgr Control keycode 34 = VoidSymbol
+ Shift Altgr Alt keycode 34 = VoidSymbol
+ Shift Altgr Control Alt keycode 34 = VoidSymbol
+keycode 35 = +c
+ Control keycode 35 = Control_c
+ Alt keycode 35 = Meta_c
+ Control Alt keycode 35 = Meta_Control_c
+ Shift keycode 35 = +C
+ Shift Control keycode 35 = VoidSymbol
+ Shift Alt keycode 35 = Meta_C
+ Shift Control Alt keycode 35 = VoidSymbol
+ Altgr keycode 35 = copyright
+ Altgr Control keycode 35 = VoidSymbol
+ Altgr Alt keycode 35 = VoidSymbol
+ Altgr Control Alt keycode 35 = VoidSymbol
+ Shift Altgr keycode 35 = VoidSymbol
+ Shift Altgr Control keycode 35 = VoidSymbol
+ Shift Altgr Alt keycode 35 = VoidSymbol
+ Shift Altgr Control Alt keycode 35 = VoidSymbol
+keycode 36 = t
+ Control keycode 36 = Control_t
+ Alt keycode 36 = Meta_t
+ Control Alt keycode 36 = Meta_Control_t
+ Shift keycode 36 = T
+ Shift Control keycode 36 = VoidSymbol
+ Shift Alt keycode 36 = Meta_T
+ Shift Control Alt keycode 36 = VoidSymbol
+ Altgr keycode 36 = thorn
+ Altgr Control keycode 36 = VoidSymbol
+ Altgr Alt keycode 36 = VoidSymbol
+ Altgr Control Alt keycode 36 = VoidSymbol
+ Shift Altgr keycode 36 = THORN
+ Shift Altgr Control keycode 36 = VoidSymbol
+ Shift Altgr Alt keycode 36 = VoidSymbol
+ Shift Altgr Control Alt keycode 36 = VoidSymbol
+keycode 37 = +s
+ Control keycode 37 = Control_s
+ Alt keycode 37 = Meta_s
+ Control Alt keycode 37 = Meta_Control_s
+ Shift keycode 37 = +S
+ Shift Control keycode 37 = VoidSymbol
+ Shift Alt keycode 37 = Meta_S
+ Shift Control Alt keycode 37 = VoidSymbol
+ Altgr keycode 37 = ssharp
+ Altgr Control keycode 37 = VoidSymbol
+ Altgr Alt keycode 37 = VoidSymbol
+ Altgr Control Alt keycode 37 = VoidSymbol
+ Shift Altgr keycode 37 = VoidSymbol
+ Shift Altgr Control keycode 37 = VoidSymbol
+ Shift Altgr Alt keycode 37 = VoidSymbol
+ Shift Altgr Control Alt keycode 37 = VoidSymbol
+keycode 38 = +r
+ Control keycode 38 = Control_r
+ Alt keycode 38 = Meta_r
+ Control Alt keycode 38 = Meta_Control_r
+ Shift keycode 38 = +R
+ Shift Control keycode 38 = VoidSymbol
+ Shift Alt keycode 38 = Meta_R
+ Shift Control Alt keycode 38 = VoidSymbol
+ Altgr keycode 38 = registered
+ Altgr Control keycode 38 = VoidSymbol
+ Altgr Alt keycode 38 = VoidSymbol
+ Altgr Control Alt keycode 38 = VoidSymbol
+ Shift Altgr keycode 38 = VoidSymbol
+ Shift Altgr Control keycode 38 = VoidSymbol
+ Shift Altgr Alt keycode 38 = VoidSymbol
+ Shift Altgr Control Alt keycode 38 = VoidSymbol
+keycode 39 = +n
+ Control keycode 39 = Control_n
+ Alt keycode 39 = Meta_n
+ Control Alt keycode 39 = Meta_Control_n
+ Shift keycode 39 = +N
+ Shift Control keycode 39 = VoidSymbol
+ Shift Alt keycode 39 = Meta_N
+ Shift Control Alt keycode 39 = VoidSymbol
+ Altgr keycode 39 = dead_tilde
+ Altgr Control keycode 39 = VoidSymbol
+ Altgr Alt keycode 39 = Meta_asciitilde
+ Altgr Control Alt keycode 39 = VoidSymbol
+ Shift Altgr keycode 39 = VoidSymbol
+ Shift Altgr Control keycode 39 = VoidSymbol
+ Shift Altgr Alt keycode 39 = VoidSymbol
+ Shift Altgr Control Alt keycode 39 = VoidSymbol
+keycode 40 = +m
+ Control keycode 40 = Control_m
+ Alt keycode 40 = Meta_m
+ Control Alt keycode 40 = Meta_Control_m
+ Shift keycode 40 = +M
+ Shift Control keycode 40 = VoidSymbol
+ Shift Alt keycode 40 = Meta_M
+ Shift Control Alt keycode 40 = VoidSymbol
+ Altgr keycode 40 = VoidSymbol
+ Altgr Control keycode 40 = VoidSymbol
+ Altgr Alt keycode 40 = VoidSymbol
+ Altgr Control Alt keycode 40 = VoidSymbol
+ Shift Altgr keycode 40 = masculine
+ Shift Altgr Control keycode 40 = VoidSymbol
+ Shift Altgr Alt keycode 40 = VoidSymbol
+ Shift Altgr Control Alt keycode 40 = VoidSymbol
+keycode 43 = +ccedilla
+ Control keycode 43 = VoidSymbol
+ Alt keycode 43 = VoidSymbol
+ Control Alt keycode 43 = VoidSymbol
+ Shift keycode 43 = +Ccedilla
+ Shift Control keycode 43 = VoidSymbol
+ Shift Alt keycode 43 = VoidSymbol
+ Shift Control Alt keycode 43 = VoidSymbol
+ Altgr keycode 43 = dead_cedilla
+ Altgr Control keycode 43 = VoidSymbol
+ Altgr Alt keycode 43 = VoidSymbol
+ Altgr Control Alt keycode 43 = VoidSymbol
+ Shift Altgr keycode 43 = VoidSymbol
+ Shift Altgr Control keycode 43 = VoidSymbol
+ Shift Altgr Alt keycode 43 = VoidSymbol
+ Shift Altgr Control Alt keycode 43 = VoidSymbol
+keycode 86 = +ecircumflex
+ Control keycode 86 = VoidSymbol
+ Alt keycode 86 = VoidSymbol
+ Control Alt keycode 86 = VoidSymbol
+ Shift keycode 86 = +Ecircumflex
+ Shift Control keycode 86 = VoidSymbol
+ Shift Alt keycode 86 = VoidSymbol
+ Shift Control Alt keycode 86 = VoidSymbol
+ Altgr keycode 86 = slash
+ Altgr Control keycode 86 = VoidSymbol
+ Altgr Alt keycode 86 = Meta_slash
+ Altgr Control Alt keycode 86 = VoidSymbol
+ Shift Altgr keycode 86 = VoidSymbol
+ Shift Altgr Control keycode 86 = VoidSymbol
+ Shift Altgr Alt keycode 86 = VoidSymbol
+ Shift Altgr Control Alt keycode 86 = VoidSymbol
+keycode 44 = +agrave
+ Control keycode 44 = VoidSymbol
+ Alt keycode 44 = VoidSymbol
+ Control Alt keycode 44 = VoidSymbol
+ Shift keycode 44 = +Agrave
+ Shift Control keycode 44 = VoidSymbol
+ Shift Alt keycode 44 = VoidSymbol
+ Shift Control Alt keycode 44 = VoidSymbol
+ Altgr keycode 44 = backslash
+ Altgr Control keycode 44 = VoidSymbol
+ Altgr Alt keycode 44 = Meta_backslash
+ Altgr Control Alt keycode 44 = Meta_Control_backslash
+ Shift Altgr keycode 44 = VoidSymbol
+ Shift Altgr Control keycode 44 = VoidSymbol
+ Shift Altgr Alt keycode 44 = VoidSymbol
+ Shift Altgr Control Alt keycode 44 = VoidSymbol
+keycode 45 = +y
+ Control keycode 45 = Control_y
+ Alt keycode 45 = Meta_y
+ Control Alt keycode 45 = Meta_Control_y
+ Shift keycode 45 = +Y
+ Shift Control keycode 45 = VoidSymbol
+ Shift Alt keycode 45 = Meta_Y
+ Shift Control Alt keycode 45 = VoidSymbol
+ Altgr keycode 45 = braceleft
+ Altgr Control keycode 45 = VoidSymbol
+ Altgr Alt keycode 45 = Meta_braceleft
+ Altgr Control Alt keycode 45 = VoidSymbol
+ Shift Altgr keycode 45 = VoidSymbol
+ Shift Altgr Control keycode 45 = VoidSymbol
+ Shift Altgr Alt keycode 45 = VoidSymbol
+ Shift Altgr Control Alt keycode 45 = VoidSymbol
+keycode 46 = +x
+ Control keycode 46 = Control_x
+ Alt keycode 46 = Meta_x
+ Control Alt keycode 46 = Meta_Control_x
+ Shift keycode 46 = +X
+ Shift Control keycode 46 = VoidSymbol
+ Shift Alt keycode 46 = Meta_X
+ Shift Control Alt keycode 46 = VoidSymbol
+ Altgr keycode 46 = braceright
+ Altgr Control keycode 46 = VoidSymbol
+ Altgr Alt keycode 46 = Meta_braceright
+ Altgr Control Alt keycode 46 = VoidSymbol
+ Shift Altgr keycode 46 = VoidSymbol
+ Shift Altgr Control keycode 46 = VoidSymbol
+ Shift Altgr Alt keycode 46 = VoidSymbol
+ Shift Altgr Control Alt keycode 46 = VoidSymbol
+keycode 47 = period
+ Control keycode 47 = VoidSymbol
+ Alt keycode 47 = Meta_period
+ Control Alt keycode 47 = VoidSymbol
+ Shift keycode 47 = colon
+ Shift Control keycode 47 = VoidSymbol
+ Shift Alt keycode 47 = Meta_colon
+ Shift Control Alt keycode 47 = VoidSymbol
+ Altgr keycode 47 = VoidSymbol
+ Altgr Control keycode 47 = VoidSymbol
+ Altgr Alt keycode 47 = VoidSymbol
+ Altgr Control Alt keycode 47 = VoidSymbol
+ Shift Altgr keycode 47 = periodcentered
+ Shift Altgr Control keycode 47 = VoidSymbol
+ Shift Altgr Alt keycode 47 = VoidSymbol
+ Shift Altgr Control Alt keycode 47 = VoidSymbol
+keycode 48 = +k
+ Control keycode 48 = Control_k
+ Alt keycode 48 = Meta_k
+ Control Alt keycode 48 = Meta_Control_k
+ Shift keycode 48 = +K
+ Shift Control keycode 48 = VoidSymbol
+ Shift Alt keycode 48 = Meta_K
+ Shift Control Alt keycode 48 = VoidSymbol
+ Altgr keycode 48 = asciitilde
+ Altgr Control keycode 48 = VoidSymbol
+ Altgr Alt keycode 48 = Meta_asciitilde
+ Altgr Control Alt keycode 48 = VoidSymbol
+ Shift Altgr keycode 48 = VoidSymbol
+ Shift Altgr Control keycode 48 = VoidSymbol
+ Shift Altgr Alt keycode 48 = VoidSymbol
+ Shift Altgr Control Alt keycode 48 = VoidSymbol
+keycode 49 = apostrophe
+ Control keycode 49 = VoidSymbol
+ Alt keycode 49 = Meta_apostrophe
+ Control Alt keycode 49 = VoidSymbol
+ Shift keycode 49 = question
+ Shift Control keycode 49 = VoidSymbol
+ Shift Alt keycode 49 = Meta_question
+ Shift Control Alt keycode 49 = VoidSymbol
+ Altgr keycode 49 = questiondown
+ Altgr Control keycode 49 = VoidSymbol
+ Altgr Alt keycode 49 = VoidSymbol
+ Altgr Control Alt keycode 49 = VoidSymbol
+ Shift Altgr keycode 49 = VoidSymbol
+ Shift Altgr Control keycode 49 = VoidSymbol
+ Shift Altgr Alt keycode 49 = VoidSymbol
+ Shift Altgr Control Alt keycode 49 = VoidSymbol
+keycode 50 = +q
+ Control keycode 50 = Control_q
+ Alt keycode 50 = Meta_q
+ Control Alt keycode 50 = Meta_Control_q
+ Shift keycode 50 = +Q
+ Shift Control keycode 50 = VoidSymbol
+ Shift Alt keycode 50 = Meta_Q
+ Shift Control Alt keycode 50 = VoidSymbol
+ Altgr keycode 50 = VoidSymbol
+ Altgr Control keycode 50 = VoidSymbol
+ Altgr Alt keycode 50 = VoidSymbol
+ Altgr Control Alt keycode 50 = VoidSymbol
+ Shift Altgr keycode 50 = VoidSymbol
+ Shift Altgr Control keycode 50 = VoidSymbol
+ Shift Altgr Alt keycode 50 = VoidSymbol
+ Shift Altgr Control Alt keycode 50 = VoidSymbol
+keycode 51 = +g
+ Control keycode 51 = Control_g
+ Alt keycode 51 = Meta_g
+ Control Alt keycode 51 = Meta_Control_g
+ Shift keycode 51 = +G
+ Shift Control keycode 51 = VoidSymbol
+ Shift Alt keycode 51 = Meta_G
+ Shift Control Alt keycode 51 = VoidSymbol
+ Altgr keycode 51 = VoidSymbol
+ Altgr Control keycode 51 = VoidSymbol
+ Altgr Alt keycode 51 = VoidSymbol
+ Altgr Control Alt keycode 51 = VoidSymbol
+ Shift Altgr keycode 51 = VoidSymbol
+ Shift Altgr Control keycode 51 = VoidSymbol
+ Shift Altgr Alt keycode 51 = VoidSymbol
+ Shift Altgr Control Alt keycode 51 = VoidSymbol
+keycode 52 = +h
+ Control keycode 52 = Control_h
+ Alt keycode 52 = Meta_h
+ Control Alt keycode 52 = VoidSymbol
+ Shift keycode 52 = +H
+ Shift Control keycode 52 = VoidSymbol
+ Shift Alt keycode 52 = Meta_H
+ Shift Control Alt keycode 52 = VoidSymbol
+ Altgr keycode 52 = VoidSymbol
+ Altgr Control keycode 52 = VoidSymbol
+ Altgr Alt keycode 52 = VoidSymbol
+ Altgr Control Alt keycode 52 = VoidSymbol
+ Shift Altgr keycode 52 = VoidSymbol
+ Shift Altgr Control keycode 52 = VoidSymbol
+ Shift Altgr Alt keycode 52 = VoidSymbol
+ Shift Altgr Control Alt keycode 52 = VoidSymbol
+keycode 53 = +f
+ Control keycode 53 = Control_f
+ Alt keycode 53 = Meta_f
+ Control Alt keycode 53 = Meta_Control_f
+ Shift keycode 53 = +F
+ Shift Control keycode 53 = VoidSymbol
+ Shift Alt keycode 53 = Meta_F
+ Shift Control Alt keycode 53 = VoidSymbol
+ Altgr keycode 53 = dead_ogonek
+ Altgr Control keycode 53 = VoidSymbol
+ Altgr Alt keycode 53 = VoidSymbol
+ Altgr Control Alt keycode 53 = VoidSymbol
+ Shift Altgr keycode 53 = ordfeminine
+ Shift Altgr Control keycode 53 = VoidSymbol
+ Shift Altgr Alt keycode 53 = VoidSymbol
+ Shift Altgr Control Alt keycode 53 = VoidSymbol
+keycode 57 = space
+ Control keycode 57 = VoidSymbol
+ Alt keycode 57 = Meta_space
+ Control Alt keycode 57 = VoidSymbol
+ Shift keycode 57 = nobreakspace
+ Shift Control keycode 57 = VoidSymbol
+ Shift Alt keycode 57 = VoidSymbol
+ Shift Control Alt keycode 57 = VoidSymbol
+ Altgr keycode 57 = underscore
+ Altgr Control keycode 57 = VoidSymbol
+ Altgr Alt keycode 57 = Meta_underscore
+ Altgr Control Alt keycode 57 = Meta_Control_underscore
+ Shift Altgr keycode 57 = VoidSymbol
+ Shift Altgr Control keycode 57 = VoidSymbol
+ Shift Altgr Alt keycode 57 = VoidSymbol
+ Shift Altgr Control Alt keycode 57 = VoidSymbol
+
+
+# include "windowkeys"
+################### windowkeys #################################
+# Extra 105 windows keys
+
+keycode 125 = Decr_Console
+keycode 126 = Incr_Console
+keycode 127 = Compose
+################################################################
+
+
+keycode 1 = Escape Escape
+keycode 14 = Delete Delete
+keycode 15 = Tab Tab
+keycode 28 = Return
+keycode 29 = Control
+keycode 42 = Shift
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 58 = Caps_Lock
+keycode 97 = Control
diff --git a/keymaps/i386/dvorak/dvorak-fr.kmap b/keymaps/i386/dvorak/dvorak-fr.kmap
new file mode 100644
index 0000000..ec2141a
--- /dev/null
+++ b/keymaps/i386/dvorak/dvorak-fr.kmap
@@ -0,0 +1,107 @@
+# dvorak-fr keymap file v0.1
+# You can use this file to map you keyboard as a dvorak-fr one under Linux.
+# Copyright (C) 2004 Fabien CELLIER
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+#
+#
+# You can contact me by e-mail : azertyfab@free.fr
+#
+#
+# -----
+#
+#
+# * 1 2 3 4 5 6 7 8 9 0 + %
+# _ = / - è \ ^ ( ` ) " [ ]
+# ? < > ! &
+# Tab : é g . h v c m k z ¨ Retour
+#
+# #
+# Ver o a u e b f s t n d w ~
+#
+# ç | @
+# Maj à ; q , i y x r l p j Maj
+#
+#
+#
+include "linux-with-two-alt-keys"
+keymaps 1,4,5,8,9,12
+#
+# Ligne n°1
+#
+keycode 1 = Escape
+#
+# Ligne n°2
+#
+keycode 41 = underscore asterisk
+keycode 2 = equal one
+keycode 3 = slash two
+keycode 4 = minus three
+keycode 5 = egrave four
+keycode 6 = backslash five
+keycode 7 = dead_circumflex six
+keycode 8 = parenleft seven
+keycode 9 = dead_grave eight
+keycode 10 = parenright nine
+keycode 11 = quotedbl zero
+keycode 12 = bracketleft plus
+keycode 13 = bracketright percent
+keycode 14 = BackSpace BackSpace
+#
+# Ligne n°3
+#
+keycode 15 = Tab Tab
+keycode 16 = colon question
+keycode 17 = apostrophe less
+keycode 18 = eacute greater
+keycode 19 = g
+keycode 20 = period exclam
+keycode 21 = h
+keycode 22 = v
+keycode 23 = c
+keycode 24 = m
+keycode 25 = k
+keycode 26 = z
+keycode 27 = dead_diaeresis ampersand
+#
+# Ligne n°4
+#
+keycode 30 = o
+keycode 31 = a
+keycode 32 = u
+keycode 33 = e
+keycode 34 = b
+keycode 35 = f
+keycode 36 = s
+keycode 37 = t
+keycode 38 = n
+keycode 39 = d
+keycode 40 = w
+keycode 43 = asciitilde numbersign
+#
+# Ligne n°5
+#
+keycode 86 = agrave ccedilla
+keycode 44 = semicolon bar
+keycode 45 = q
+keycode 46 = comma at
+keycode 47 = i
+keycode 48 = y
+keycode 49 = x
+keycode 50 = r
+keycode 51 = l
+keycode 52 = p
+keycode 53 = j
+#
diff --git a/keymaps/i386/dvorak/dvorak-l.kmap b/keymaps/i386/dvorak/dvorak-l.kmap
new file mode 100644
index 0000000..64b5f48
--- /dev/null
+++ b/keymaps/i386/dvorak/dvorak-l.kmap
@@ -0,0 +1,103 @@
+! dvorak-l.map - Left single-handed Dvorak keyboard layout
+! Derived from a file that was
+! Copyright (C) 1996 Dominik Kubla, <dominik@debian.org>
+!
+! This file is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License
+! along with this program; if not, write to the Free Software
+! Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+!
+! Thanks to Eddie Maddox for providing the information.
+!
+ charset "ISO-8859-1"
+ keymaps 0,1,4,8,12
+ include "linux-with-two-alt-keys.inc"
+ strings as usual
+ compose as usual for "iso-8859-1"
+! --------------------------------------------------------------------------
+! Row 1 (Function keys)
+! --------------------------------------------------------------------------
+ keycode 1 = Escape
+! --------------------------------------------------------------------------
+! Row 2
+! --------------------------------------------------------------------------
+ keycode 41 = grave asciitilde
+ keycode 2 = bracketleft braceleft
+ keycode 3 = bracketright braceright
+ keycode 4 = slash question
+ keycode 5 = p
+ keycode 6 = f
+ keycode 7 = m
+ keycode 8 = l
+ keycode 9 = j
+ keycode 10 = four dollar
+ keycode 11 = three numbersign
+ keycode 12 = two at
+ keycode 13 = one exclam
+ keycode 14 = BackSpace Delete
+! --------------------------------------------------------------------------
+! Row 3
+! --------------------------------------------------------------------------
+ keycode 15 = Tab
+ keycode 16 = semicolon colon
+ keycode 17 = q
+ keycode 18 = b
+ keycode 19 = y
+ keycode 20 = u
+ keycode 21 = r
+ keycode 22 = s
+ keycode 23 = o
+ keycode 24 = period greater
+ keycode 25 = six asciicircum
+ keycode 26 = five percent
+ keycode 27 = equal plus
+ keycode 43 = backslash bar
+ keycode 28 = Return
+! --------------------------------------------------------------------------
+! Row 4
+! --------------------------------------------------------------------------
+ keycode 58 = Caps_Lock
+ keycode 30 = minus underscore
+ keycode 31 = k
+ keycode 32 = c
+ keycode 33 = d
+ keycode 34 = t
+ keycode 35 = h
+ keycode 36 = e
+ keycode 37 = a
+ keycode 38 = z
+ keycode 39 = eight asterisk
+ keycode 40 = seven ampersand
+! --------------------------------------------------------------------------
+! Row 5
+! --------------------------------------------------------------------------
+ keycode 42 = Shift
+ keycode 44 = apostrophe quotedbl
+ keycode 45 = x
+ keycode 46 = g
+ keycode 47 = v
+ keycode 48 = w
+ keycode 49 = n
+ keycode 50 = i
+ keycode 51 = comma less
+ control keycode 51 = Compose
+ keycode 52 = zero parenright
+ keycode 53 = nine parenleft
+ keycode 54 = Shift
+! --------------------------------------------------------------------------
+! Row 6
+! --------------------------------------------------------------------------
+ keycode 29 = Control
+ keycode 56 = Alt
+ keycode 57 = space
+# keycode 100 = Alt
+ keycode 97 = Control
diff --git a/keymaps/i386/dvorak/dvorak-lisp.kmap b/keymaps/i386/dvorak/dvorak-lisp.kmap
new file mode 100644
index 0000000..8bb6675
--- /dev/null
+++ b/keymaps/i386/dvorak/dvorak-lisp.kmap
@@ -0,0 +1,386 @@
+# Lisp Machine keyboard (by carleos@uniovi.es 2:341/14.79)
+# Dvorak version
+#
+# US layout (qwerty for symbols, dvorak for letters)
+# exchange Caps Lock <-> Backspace (Rubout)
+# exchange Alt (AltGr) <-> Control
+# exchange parentheses <-> square brackets
+#
+# extra:
+# Win keys -> Alt (Meta)
+# Menu key -> Compose
+# PC105 less-than/greater-than key -> Escape
+#
+keymaps 0-2,4-6,8-9,12
+keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+ shift alt keycode 1 = Meta_Escape
+ control alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+keycode 3 = two at at nul nul
+ alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_at
+ control alt keycode 3 = Meta_nul
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ shift alt keycode 4 = Meta_numbersign
+keycode 5 = four dollar dollar Control_backslash
+ alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+ control alt keycode 5 = Meta_Control_backslash
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_asciicircum
+keycode 8 = seven ampersand braceleft Control_underscore
+ alt keycode 8 = Meta_seven
+ shift alt keycode 8 = Meta_ampersand
+ control alt keycode 8 = Meta_Control_underscore
+keycode 9 = eight asterisk bracketleft Delete
+ alt keycode 9 = Meta_eight
+ shift alt keycode 9 = Meta_asterisk
+ control alt keycode 9 = Meta_Delete
+keycode 10 = nine bracketleft bracketright
+ alt keycode 10 = Meta_nine
+ shift alt keycode 10 = Meta_parenleft
+keycode 11 = zero bracketright braceright
+ alt keycode 11 = Meta_zero
+ shift alt keycode 11 = Meta_parenright
+keycode 12 = minus underscore backslash Control_underscore Control_underscore
+ alt keycode 12 = Meta_minus
+ shift alt keycode 12 = Meta_underscore
+ control alt keycode 12 = Meta_Control_underscore
+keycode 13 = equal plus
+ alt keycode 13 = Meta_equal
+ shift alt keycode 13 = Meta_plus
+keycode 14 = Caps_Lock
+ alt keycode 14 = Meta_Delete
+ shift alt keycode 14 = Meta_Delete
+ control alt keycode 14 = Meta_Delete
+keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+ shift alt keycode 15 = Meta_Tab
+ control alt keycode 15 = Meta_Tab
+keycode 16 = semicolon colon
+ alt keycode 39 = Meta_semicolon
+ shift alt keycode 39 = Meta_colon
+keycode 17 = comma less
+ alt keycode 51 = Meta_comma
+ shift alt keycode 51 = Meta_less
+keycode 18 = period greater
+ alt keycode 52 = Meta_period
+ shift alt keycode 52 = Meta_greater
+keycode 19 = p
+keycode 20 = y
+keycode 21 = f
+keycode 22 = g
+keycode 23 = c
+keycode 24 = r
+keycode 25 = l
+keycode 26 = parenleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ shift alt keycode 26 = Meta_braceleft
+keycode 27 = parenright braceright asciitilde Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ shift alt keycode 27 = Meta_braceright
+ control alt keycode 27 = Meta_Control_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Alt
+keycode 30 = a
+keycode 31 = o
+keycode 32 = e
+keycode 33 = u
+keycode 34 = i
+keycode 35 = d
+keycode 36 = h
+keycode 37 = t
+keycode 38 = n
+keycode 39 = s
+keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+ shift alt keycode 40 = Meta_quotedbl
+keycode 41 = grave asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+ shift alt keycode 41 = Meta_asciitilde
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ shift alt keycode 43 = Meta_bar
+keycode 44 = slash question
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+ shift alt keycode 53 = Meta_question
+keycode 45 = q
+keycode 46 = j
+keycode 47 = k
+keycode 48 = x
+keycode 49 = b
+keycode 50 = m
+keycode 51 = w
+keycode 52 = v
+keycode 53 = z
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+ altgr keycode 55 = Hex_C
+keycode 56 = Control
+keycode 57 = space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ shift alt keycode 57 = Meta_space
+ control alt keycode 57 = Meta_nul
+keycode 58 = Delete
+keycode 59 = F1 F13 Console_13 F25
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F14 Console_14 F26
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F15 Console_15 F27
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F16 Console_16 F28
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F17 Console_17 F29
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F18 Console_18 F30
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F19 Console_19 F31
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F20 Console_20 F32
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F21 Console_21 F33
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F22 Console_22 F34
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+ altgr keycode 69 = Hex_A
+keycode 70 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ altgr keycode 71 = Hex_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ altgr keycode 72 = Hex_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ altgr keycode 73 = Hex_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+ altgr keycode 74 = Hex_D
+keycode 75 = KP_4
+ altgr keycode 75 = Hex_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ altgr keycode 76 = Hex_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ altgr keycode 77 = Hex_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+ altgr keycode 78 = Hex_E
+keycode 79 = KP_1
+ altgr keycode 79 = Hex_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ altgr keycode 80 = Hex_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ altgr keycode 81 = Hex_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = Escape
+ alt keycode 86 = Meta_less
+ shift alt keycode 86 = Meta_greater
+keycode 87 = F11 F23 Console_23 F35
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F24 Console_24 F36
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+ altgr keycode 96 = Hex_F
+keycode 97 = Alt
+keycode 98 = KP_Divide
+ altgr keycode 98 = Hex_B
+keycode 99 = Control_backslash
+ alt keycode 99 = Meta_Control_backslash
+ shift alt keycode 99 = Meta_Control_backslash
+ control alt keycode 99 = Meta_Control_backslash
+keycode 100 = Control
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+ alt keycode 103 = KeyboardSignal
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+ altgr control keycode 112 = VoidSymbol
+ shift alt keycode 112 = VoidSymbol
+keycode 113 = F13
+ altgr control keycode 113 = VoidSymbol
+ shift alt keycode 113 = VoidSymbol
+keycode 114 = F14
+ altgr control keycode 114 = VoidSymbol
+ shift alt keycode 114 = VoidSymbol
+keycode 115 = Help
+ altgr control keycode 115 = VoidSymbol
+ shift alt keycode 115 = VoidSymbol
+keycode 116 = Do
+ altgr control keycode 116 = VoidSymbol
+ shift alt keycode 116 = VoidSymbol
+keycode 117 = F17
+ altgr control keycode 117 = VoidSymbol
+ shift alt keycode 117 = VoidSymbol
+keycode 118 = KP_MinPlus
+ altgr control keycode 118 = VoidSymbol
+ shift alt keycode 118 = VoidSymbol
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 = Alt
+keycode 126 = Alt
+keycode 127 = Compose
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose '"' 'y' to 'ÿ'
+compose 's' 'z' to 'ß'
+compose 'i' 'j' to 'ÿ'
diff --git a/keymaps/i386/dvorak/dvorak-r.kmap b/keymaps/i386/dvorak/dvorak-r.kmap
new file mode 100644
index 0000000..4e5c4fa
--- /dev/null
+++ b/keymaps/i386/dvorak/dvorak-r.kmap
@@ -0,0 +1,103 @@
+! dvorak-r.map - Right single-handed Dvorak keyboard layout
+! Derived from a file that was
+! Copyright (C) 1996 Dominik Kubla, <dominik@debian.org>
+!
+! This file is free software; you can redistribute it and/or modify
+! it under the terms of the GNU General Public License as published by
+! the Free Software Foundation; either version 2 of the License, or
+! (at your option) any later version.
+!
+! This program is distributed in the hope that it will be useful,
+! but WITHOUT ANY WARRANTY; without even the implied warranty of
+! MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+! GNU General Public License for more details.
+!
+! You should have received a copy of the GNU General Public License
+! along with this program; if not, write to the Free Software
+! Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+!
+! Thanks to Eddie Maddox for providing the information.
+!
+ charset "ISO-8859-1"
+ keymaps 0,1,4,8,12
+ include "linux-with-two-alt-keys.inc"
+ strings as usual
+ compose as usual for "iso-8859-1"
+! --------------------------------------------------------------------------
+! Row 1 (Function keys)
+! --------------------------------------------------------------------------
+ keycode 1 = Escape
+! --------------------------------------------------------------------------
+! Row 2
+! --------------------------------------------------------------------------
+ keycode 41 = grave asciitilde
+ keycode 2 = one exclam
+ keycode 3 = two at
+ keycode 4 = three numbersign
+ keycode 5 = four dollar
+ keycode 6 = j
+ keycode 7 = l
+ keycode 8 = m
+ keycode 9 = f
+ keycode 10 = p
+ keycode 11 = slash question
+ keycode 12 = bracketleft braceleft
+ keycode 13 = bracketright braceright
+ keycode 14 = BackSpace Delete
+! --------------------------------------------------------------------------
+! Row 3
+! --------------------------------------------------------------------------
+ keycode 15 = Tab
+ keycode 16 = five percent
+ keycode 17 = six asciicircum
+ keycode 18 = q
+ keycode 19 = period greater
+ keycode 20 = o
+ keycode 21 = r
+ keycode 22 = s
+ keycode 23 = u
+ keycode 24 = y
+ keycode 25 = b
+ keycode 26 = semicolon colon
+ keycode 27 = equal plus
+ keycode 43 = backslash bar
+ keycode 28 = Return
+! --------------------------------------------------------------------------
+! Row 4
+! --------------------------------------------------------------------------
+ keycode 58 = Caps_Lock
+ keycode 30 = seven ampersand
+ keycode 31 = eight asterisk
+ keycode 32 = z
+ keycode 33 = a
+ keycode 34 = e
+ keycode 35 = h
+ keycode 36 = t
+ keycode 37 = d
+ keycode 38 = c
+ keycode 39 = k
+ keycode 40 = minus underscore
+! --------------------------------------------------------------------------
+! Row 5
+! --------------------------------------------------------------------------
+ keycode 42 = Shift
+ keycode 44 = nine parenleft
+ keycode 45 = zero parenright
+ keycode 46 = x
+ keycode 47 = comma less
+ control keycode 47 = Compose
+ keycode 48 = i
+ keycode 49 = n
+ keycode 50 = w
+ keycode 51 = v
+ keycode 52 = g
+ keycode 53 = apostrophe quotedbl
+ keycode 54 = Shift
+! --------------------------------------------------------------------------
+! Row 6
+! --------------------------------------------------------------------------
+ keycode 29 = Control
+ keycode 56 = Alt
+ keycode 57 = space
+# keycode 100 = Alt
+ keycode 97 = Control
diff --git a/keymaps/i386/dvorak/dvorak-ru.kmap b/keymaps/i386/dvorak/dvorak-ru.kmap
new file mode 100644
index 0000000..42fd6c9
--- /dev/null
+++ b/keymaps/i386/dvorak/dvorak-ru.kmap
@@ -0,0 +1,287 @@
+! Dvorak/Russian layout by Daniele Sempione <scrows at oziosi.org>
+! Toggle with right_ctrl and shift with altgr.
+keymaps 0-4,6,8,10,12
+strings as usual
+
+ keycode 1 = Escape Escape Escape Escape
+ alt keycode 1 = Meta_Escape
+ keycode 2 = one exclam one exclam
+ alt keycode 2 = Meta_one
+ keycode 3 = two at two quotedbl
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+ keycode 4 = three numbersign three question
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ keycode 5 = four dollar four semicolon
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ keycode 6 = five percent five colon
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ keycode 7 = six asciicircum six comma
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ keycode 8 = seven ampersand seven period
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+ keycode 9 = eight asterisk eight asterisk
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+ keycode 10 = nine parenleft nine parenleft
+ alt keycode 10 = Meta_nine
+ keycode 11 = zero parenright zero parenright
+ alt keycode 11 = Meta_zero
+ keycode 12 = bracketleft braceleft bracketleft braceleft
+ control keycode 12 = Escape
+altgr control keycode 12 = Escape
+ alt keycode 12 = Meta_bracketleft
+ keycode 13 = bracketright braceright bracketleft bracketright
+ control keycode 13 = Control_bracketright
+altgr control keycode 13 = Control_bracketright
+ alt keycode 13 = Meta_bracketright
+ keycode 14 = BackSpace BackSpace BackSpace BackSpace
+ alt keycode 14 = Meta_Delete
+ keycode 15 = Tab Tab Tab Tab
+ alt keycode 15 = Meta_Tab
+ keycode 16 = apostrophe quotedbl +202 +234
+ control keycode 16 = Control_g
+altgr control keycode 16 = Control_g
+ alt keycode 16 = Meta_apostrophe
+ keycode 17 = comma less +195 +227
+ alt keycode 17 = Meta_comma
+ keycode 18 = period greater +213 +245
+ alt keycode 18 = Meta_period
+ keycode 19 = +p +P +203 +235
+ control keycode 19 = Control_p
+altgr control keycode 19 = Control_p
+ keycode 20 = +y +Y +197 +229
+ control keycode 20 = Control_y
+altgr control keycode 20 = Control_y
+ keycode 21 = +f +F +206 +238
+ control keycode 21 = Control_f
+altgr control keycode 21 = Control_f
+ keycode 22 = +g +G +199 +231
+ control keycode 22 = Control_g
+altgr control keycode 22 = Control_g
+ keycode 23 = +c +C +219 +251
+ control keycode 23 = Control_c
+altgr control keycode 23 = Control_c
+ keycode 24 = +r +R +221 +253
+ control keycode 24 = Control_r
+altgr control keycode 24 = Control_r
+ keycode 25 = +l +L +218 +250
+ control keycode 25 = Control_l
+altgr control keycode 25 = Control_l
+ keycode 26 = slash question +200 +232
+ control keycode 26 = Delete
+ alt keycode 26 = Meta_slash
+ keycode 27 = equal plus equal plus
+ alt keycode 27 = Meta_equal
+ keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+ keycode 29 = Control
+ keycode 30 = +a +A +198 +230
+ control keycode 30 = Control_a
+altgr control keycode 30 = Control_a
+ keycode 31 = +o +O +217 +249
+ control keycode 31 = Control_o
+altgr control keycode 31 = Control_o
+ keycode 32 = +e +E +215 +247
+ control keycode 32 = Control_e
+altgr control keycode 32 = Control_e
+ keycode 33 = +u +U +193 +225
+ control keycode 33 = Control_u
+altgr control keycode 33 = Control_u
+ keycode 34 = +i +I +208 +240
+ control keycode 34 = Tab
+altgr control keycode 34 = Tab
+ keycode 35 = +d +D +210 +242
+ control keycode 35 = Control_d
+altgr control keycode 35 = Control_d
+ keycode 36 = +h +H +207 +239
+ control keycode 36 = BackSpace
+altgr control keycode 36 = BackSpace
+ keycode 37 = +t +T +204 +236
+ control keycode 37 = Control_t
+altgr control keycode 37 = Control_t
+ keycode 38 = +n +N +196 +228
+ control keycode 38 = Control_n
+altgr control keycode 38 = Control_n
+ keycode 39 = +s +S +214 +246
+ control keycode 39 = Control_s
+altgr control keycode 39 = Control_s
+ keycode 40 = minus underscore +220 +252
+ control keycode 40 = Control_underscore
+ alt keycode 40 = Meta_minus
+ keycode 41 = grave asciitilde +223 +255
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+ keycode 42 = Shift
+ keycode 43 = backslash bar backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ keycode 44 = semicolon colon +209 +241
+ alt keycode 44 = Meta_semicolon
+ keycode 45 = +q +Q +222 +254
+ control keycode 45 = Control_q
+altgr control keycode 45 = Control_q
+ keycode 46 = +j +J +211 +243
+ control keycode 46 = Linefeed
+altgr control keycode 46 = Linefeed
+ keycode 47 = +k +K +205 +237
+ control keycode 47 = Control_k
+altgr control keycode 47 = Control_k
+ keycode 48 = +x +X +201 +233
+ control keycode 48 = Control_x
+altgr control keycode 48 = Control_x
+ keycode 49 = +b +B +212 +244
+ control keycode 49 = Control_b
+altgr control keycode 49 = Control_b
+ keycode 50 = +m +M +216 +248
+ control keycode 50 = Control_m
+altgr control keycode 50 = Control_m
+ keycode 51 = +w +W +194 +226
+ control keycode 51 = Control_w
+altgr control keycode 51 = Control_w
+ keycode 52 = +v +V +192 +224
+ control keycode 52 = Control_v
+altgr control keycode 52 = Control_v
+ keycode 53 = +z +Z +163 +179
+ control keycode 53 = Control_z
+altgr control keycode 53 = Control_z
+ keycode 54 = Shift
+ keycode 55 = KP_Multiply
+ keycode 56 = Alt
+ keycode 57 = space space space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ keycode 58 = Caps_Lock
+ keycode 59 = F1 F11 F1 F11
+ control keycode 59 = F1
+ alt keycode 59 = Console_1
+altgr alt keycode 59 = Console_1
+ keycode 60 = F2 F12 F2 F12
+ control keycode 60 = F2
+ alt keycode 60 = Console_2
+altgr alt keycode 60 = Console_2
+ keycode 61 = F3 F13 F3 F13
+ control keycode 61 = F3
+ alt keycode 61 = Console_3
+altgr alt keycode 61 = Console_3
+ keycode 62 = F4 F14 F4 F14
+ control keycode 62 = F4
+ alt keycode 62 = Console_4
+altgr alt keycode 62 = Console_4
+ keycode 63 = F5 F15 F5 F15
+ control keycode 63 = F5
+ alt keycode 63 = Console_5
+altgr alt keycode 63 = Console_5
+ keycode 64 = F6 F16 F6 F16
+ control keycode 64 = F6
+ alt keycode 64 = Console_6
+altgr alt keycode 64 = Console_6
+ keycode 65 = F7 F17 F7 F17
+ control keycode 65 = F7
+ alt keycode 65 = Console_7
+altgr alt keycode 65 = Console_7
+ keycode 66 = F8 F18 F8 F18
+ control keycode 66 = F8
+ alt keycode 66 = Console_8
+altgr alt keycode 66 = Console_8
+ keycode 67 = F9 F19 F9 F19
+ control keycode 67 = F9
+ alt keycode 67 = Console_9
+altgr alt keycode 67 = Console_9
+ keycode 68 = F10 F20 F10 F20
+ control keycode 68 = F10
+ alt keycode 68 = Console_10
+altgr alt keycode 68 = Console_10
+ keycode 69 = Num_Lock
+ keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+ keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+ keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+ keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+ keycode 74 = KP_Subtract
+ keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+ keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+ keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+ keycode 78 = KP_Add
+ keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+ keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+ keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+ keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+ keycode 83 = KP_Period
+altgr control keycode 83 = Boot
+control alt keycode 83 = Boot
+ keycode 84 = Last_Console
+ keycode 85 =
+ keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+ keycode 87 = F11 F11 F11 F11
+ control keycode 87 = F11
+ alt keycode 87 = Console_11
+altgr alt keycode 87 = Console_11
+ keycode 88 = F12 F12 F12 F12
+ control keycode 88 = F12
+ alt keycode 88 = Console_12
+altgr alt keycode 88 = Console_12
+ keycode 89 =
+ keycode 90 =
+ keycode 91 =
+ keycode 92 =
+ keycode 93 =
+ keycode 94 =
+ keycode 95 =
+ keycode 96 = KP_Enter
+ keycode 97 = AltGr_Lock
+ keycode 98 = KP_Divide
+ keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+ keycode 100 = AltGr
+ keycode 101 = Break
+ keycode 102 = Find
+ keycode 103 = Up
+ keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+ keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ keycode 107 = Select
+ keycode 108 = Down
+ keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+ keycode 110 = Insert
+ keycode 111 = Remove
+altgr control keycode 111 = Boot
+control alt keycode 111 = Boot
+ keycode 112 =
+ keycode 113 =
+ keycode 114 =
+ keycode 115 =
+ keycode 116 =
+ keycode 117 =
+ keycode 118 =
+ keycode 119 =
+ keycode 120 =
+ keycode 121 =
+ keycode 122 =
+ keycode 123 =
+ keycode 124 =
+ keycode 125 =
+ keycode 126 =
+ keycode 127 =
diff --git a/keymaps/i386/dvorak/dvorak-uk.kmap b/keymaps/i386/dvorak/dvorak-uk.kmap
new file mode 100644
index 0000000..241c9c8
--- /dev/null
+++ b/keymaps/i386/dvorak/dvorak-uk.kmap
@@ -0,0 +1,80 @@
+# dvorak-uk.kmap
+# From xl269@cam.ac.uk 2008-08-19 06:53:50 UTC
+# standard dvorak UK keyboard plus notsign (shift-`) and euro/currency (AltGr-4)
+# combination of dvorak.map and uk.map
+#
+keymaps 0-2,4-6,8,9,12
+alt_is_meta
+include "linux-with-alt-and-altgr"
+strings as usual
+
+keycode 1 = Escape Escape
+keycode 2 = one exclam
+keycode 3 = two quotedbl at nul
+keycode 4 = three sterling
+ control keycode 4 = Escape
+keycode 5 = four dollar currency Control_backslash
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+keycode 8 = seven ampersand braceleft Control_underscore
+keycode 9 = eight asterisk bracketleft Delete
+keycode 10 = nine parenleft bracketright
+keycode 11 = zero parenright braceright
+keycode 12 = bracketleft braceleft
+ control keycode 12 = Escape
+keycode 13 = bracketright braceright asciitilde Control_bracketright
+keycode 14 = Delete Delete
+keycode 15 = Tab Tab
+keycode 16 = apostrophe at
+ control keycode 16 = Control_g
+ shift control keycode 16 = nul
+keycode 17 = comma less
+keycode 18 = period greater
+keycode 19 = p
+keycode 20 = y
+keycode 21 = f
+keycode 22 = g
+keycode 23 = c
+keycode 24 = r
+keycode 25 = l
+keycode 26 = slash question
+ control keycode 26 = Delete
+keycode 27 = equal plus
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = o
+keycode 32 = e
+keycode 33 = u
+keycode 34 = i
+keycode 35 = d
+keycode 36 = h
+keycode 37 = t
+keycode 38 = n
+keycode 39 = s
+keycode 40 = minus underscore
+ control keycode 40 = Control_underscore
+keycode 41 = grave notsign bar nul
+keycode 42 = Shift
+keycode 43 = numbersign asciitilde
+ control keycode 43 = Control_backslash
+keycode 44 = semicolon colon
+keycode 45 = q
+keycode 46 = j
+keycode 47 = k
+keycode 48 = x
+keycode 49 = b
+keycode 50 = m
+keycode 51 = w
+keycode 52 = v
+keycode 53 = z
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+keycode 58 = Caps_Lock
+keycode 86 = backslash bar bar Control_backslash
+keycode 97 = Control
diff --git a/keymaps/i386/dvorak/dvorak.kmap b/keymaps/i386/dvorak/dvorak.kmap
new file mode 100644
index 0000000..3af4219
--- /dev/null
+++ b/keymaps/i386/dvorak/dvorak.kmap
@@ -0,0 +1,81 @@
+keymaps 0-2,4,6,8,12
+alt_is_meta
+include "linux-with-alt-and-altgr.inc"
+strings as usual
+
+keycode 1 = Escape Escape
+keycode 2 = one exclam
+keycode 3 = two at at
+ control keycode 3 = nul
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+keycode 5 = four dollar dollar
+ control keycode 5 = Control_backslash
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+keycode 8 = seven ampersand braceleft
+ control keycode 8 = Control_underscore
+keycode 9 = eight asterisk bracketleft
+ control keycode 9 = Delete
+keycode 10 = nine parenleft bracketright
+keycode 11 = zero parenright braceright
+keycode 12 = bracketleft braceleft
+ control keycode 12 = Escape
+keycode 13 = bracketright braceright asciitilde
+ control keycode 13 = Control_bracketright
+keycode 14 = Delete Delete
+keycode 15 = Tab Tab
+keycode 16 = apostrophe quotedbl
+ control keycode 16 = Control_g
+keycode 17 = comma less
+keycode 18 = period greater
+keycode 19 = p
+keycode 20 = y
+keycode 21 = f
+keycode 22 = g
+keycode 23 = c
+keycode 24 = r
+keycode 25 = l
+keycode 26 = slash question
+ control keycode 26 = Delete
+keycode 27 = equal plus
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = o
+keycode 32 = e
+keycode 33 = u
+keycode 34 = i
+keycode 35 = d
+keycode 36 = h
+keycode 37 = t
+keycode 38 = n
+keycode 39 = s
+keycode 40 = minus underscore backslash
+ control keycode 40 = Control_underscore
+keycode 41 = grave asciitilde
+ control keycode 41 = nul
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+keycode 44 = semicolon colon
+keycode 45 = q
+keycode 46 = j
+keycode 47 = k
+keycode 48 = x
+keycode 49 = b
+keycode 50 = m
+keycode 51 = w
+keycode 52 = v
+keycode 53 = z
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 97 = Control
diff --git a/keymaps/i386/dvorak/mac-usb-dvorak.kmap b/keymaps/i386/dvorak/mac-usb-dvorak.kmap
new file mode 100644
index 0000000..5e35296
--- /dev/null
+++ b/keymaps/i386/dvorak/mac-usb-dvorak.kmap
@@ -0,0 +1,80 @@
+# Dvorak keymap for Macintosh (mac-dvorak.map)
+#
+# Author: Björn Jacke <bjacke@suse.de>, 2001
+#
+# Changelog:
+# 2001-04-22 Björn Jacke <bjacke@suse.de>
+# - initial version
+#
+
+alt_is_meta
+include "mac-linux-keys-bare.inc"
+compose as usual for "iso-8859-1"
+strings as usual
+
+########### ROW 1 (function keys)
+
+########### ROW 2
+keycode 2 = one exclam
+keycode 3 = two at at nul nul
+keycode 4 = three numbersign
+control keycode 4 = Escape
+keycode 5 = four dollar dollar Control_backslash
+keycode 6 = five percent
+control keycode 6 = Control_bracketright
+keycode 7 = six asciicircum
+control keycode 7 = Control_asciicircum
+keycode 8 = seven ampersand braceleft Control_underscore
+keycode 9 = eight asterisk bracketleft Delete
+keycode 10 = nine parenleft bracketright
+keycode 11 = zero parenright braceright
+keycode 12 = bracketleft braceleft
+control keycode 12 = Escape
+keycode 13 = bracketright braceright asciitilde Control_bracketright
+
+########### ROW 3
+keycode 16 = apostrophe quotedbl
+control keycode 16 = Control_g
+keycode 17 = comma less
+keycode 18 = period greater
+keycode 19 = p
+keycode 20 = y
+keycode 21 = f
+keycode 22 = g
+keycode 23 = c
+keycode 24 = r
+keycode 25 = l
+keycode 26 = slash question
+control keycode 26 = Delete
+keycode 27 = equal plus
+keycode 30 = a
+keycode 31 = o
+keycode 32 = e
+keycode 33 = u
+keycode 34 = i
+keycode 35 = d
+keycode 36 = h
+keycode 37 = t
+keycode 38 = n
+keycode 39 = s
+keycode 40 = minus underscore backslash Control_underscore Control_underscore
+keycode 41 = grave asciitilde
+control keycode 41 = nul
+
+########### ROW 4
+keycode 43 = backslash bar
+control keycode 51 = Control_backslash
+keycode 44 = semicolon colon
+keycode 45 = q
+keycode 46 = j
+keycode 47 = k
+keycode 48 = x
+keycode 49 = b
+keycode 50 = m
+keycode 51 = w
+keycode 52 = v
+keycode 53 = z
+
+########### ROW 5
+
+########### ROW 6
diff --git a/keymaps/i386/dvorak/pc-dvorak-latin1.kmap b/keymaps/i386/dvorak/pc-dvorak-latin1.kmap
new file mode 100644
index 0000000..a3ceaec
--- /dev/null
+++ b/keymaps/i386/dvorak/pc-dvorak-latin1.kmap
@@ -0,0 +1,247 @@
+# (C) 1998, Vincent Renardias <Vincent@waw.com>
+# Keymap to use the French/Spanish accents with a dvorak layout
+# AltGr-`: dead_tilde
+# AltGr-2: é
+# AltGr-7: è
+# AltGr-9: ç
+# AltGr-0: à
+# AltGr--: ù
+# AltGr-[: dead_circumflex
+# AltGr-]: dead_diaeresis
+# AltGr-/: dead_grave
+# AltGr-=: dead_acute
+
+keymaps 0-2,4,6,8,12
+include "linux-with-alt-and-altgr"
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+keycode 3 = two at eacute nul
+ alt keycode 3 = Meta_two
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+keycode 5 = four dollar dollar Control_backslash
+ alt keycode 5 = Meta_four
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = seven ampersand braceleft Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight asterisk egrave Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenleft ccedilla
+ alt keycode 10 = Meta_nine
+keycode 11 = zero parenright agrave
+ alt keycode 11 = Meta_zero
+keycode 12 = bracketleft braceleft dead_circumflex
+ control keycode 12 = Escape
+ alt keycode 12 = Meta_bracketleft
+keycode 13 = bracketright braceright dead_diaeresis Control_bracketright
+ alt keycode 13 = Meta_bracketright
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 16 = apostrophe quotedbl
+ control keycode 16 = Control_g
+ alt keycode 16 = Meta_apostrophe
+keycode 17 = comma less
+ alt keycode 17 = Meta_comma
+keycode 18 = period greater
+ alt keycode 18 = Meta_period
+keycode 19 = p
+keycode 20 = y
+keycode 21 = f
+keycode 22 = g
+keycode 23 = c
+keycode 24 = r
+keycode 25 = l
+keycode 26 = slash question dead_grave
+ control keycode 26 = Delete
+ alt keycode 26 = Meta_slash
+keycode 27 = equal plus dead_acute
+ alt keycode 27 = Meta_equal
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = o
+keycode 32 = e
+keycode 33 = u
+keycode 34 = i
+keycode 35 = d
+keycode 36 = h
+keycode 37 = t
+keycode 38 = n
+keycode 39 = s
+keycode 40 = minus underscore ugrave Control_underscore
+ alt keycode 40 = Meta_minus
+keycode 41 = grave asciitilde dead_tilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 44 = semicolon colon
+ alt keycode 44 = Meta_semicolon
+keycode 45 = q
+keycode 46 = j
+keycode 47 = k
+keycode 48 = x
+keycode 49 = b
+keycode 50 = m
+keycode 51 = w
+keycode 52 = v
+keycode 53 = z
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+ altgr keycode 55 = Hex_C
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 Console_13 F25
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F14 Console_14 F26
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F15 Console_15 F27
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F16 Console_16 F28
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F17 Console_17 F29
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F18 Console_18 F30
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F19 Console_19 F31
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F20 Console_20 F32
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F21 Console_21 F33
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F22 Console_22 F34
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+ altgr keycode 69 = Hex_E
+keycode 70 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ altgr keycode 71 = Hex_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ altgr keycode 72 = Hex_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ altgr keycode 73 = Hex_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+ altgr keycode 75 = Hex_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ altgr keycode 76 = Hex_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ altgr keycode 77 = Hex_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+ altgr keycode 79 = Hex_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ altgr keycode 80 = Hex_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ altgr keycode 81 = Hex_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 87 = F11 F23 Console_23 F35
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F24 Console_24 F36
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+keycode 97 = Control
+keycode 98 = KP_Divide
+ altgr keycode 98 = Hex_B
+keycode 99 = Control_backslash
+ alt keycode 99 = Meta_Control_backslash
+ control alt keycode 99 = Meta_Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+ alt keycode 103 = KeyboardSignal
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+ altgr control keycode 112 = VoidSymbol
+keycode 113 = F13
+ altgr control keycode 113 = VoidSymbol
+keycode 114 = F14
+ altgr control keycode 114 = VoidSymbol
+keycode 115 = Help
+ altgr control keycode 115 = VoidSymbol
+keycode 116 = Do
+ altgr control keycode 116 = VoidSymbol
+keycode 117 = F17
+ altgr control keycode 117 = VoidSymbol
+keycode 118 = KP_MinPlus
+ altgr control keycode 118 = VoidSymbol
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/i386/fgGIod/tr_f-latin5.kmap b/keymaps/i386/fgGIod/tr_f-latin5.kmap
new file mode 100644
index 0000000..8d21c81
--- /dev/null
+++ b/keymaps/i386/fgGIod/tr_f-latin5.kmap
@@ -0,0 +1,249 @@
+# turkish "F" keyboard, copyed from LyX turkish keyboard description
+# right Ctrl key switches to an almost US keyboard (number row is mangled
+# us keyboard mode, this to allow simple access by AltGr while in turkish
+# mode to all needed symbols)
+#
+# Pablo Saratxaga <srtxg@f2219.n293.z2.fidonet.org>
+
+charset "iso-8859-9"
+keymaps 0-6,8-9,12
+strings as usual
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+ alt shift keycode 2 = Meta_exclam
+keycode 3 = two apostrophe at
+ control keycode 3 = nul
+ control shift keycode 3 = nul
+ alt keycode 3 = Meta_two
+ alt shift keycode 3 = Meta_at
+keycode 4 = three dead_circumflex numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ alt shift keycode 4 = Meta_numbersign
+keycode 5 = four plus dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ alt shift keycode 5 = Meta_dollar
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ alt shift keycode 6 = Meta_percent
+keycode 7 = six ampersand asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ alt shift keycode 7 = Meta_asciicircum
+keycode 8 = seven slash braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight parenleft bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenright bracketright
+ alt keycode 10 = Meta_nine
+keycode 11 = zero equal braceright
+ alt keycode 11 = Meta_zero
+keycode 12 = asterisk question backslash
+ control keycode 12 = Control_underscore
+ control shift keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = minus underscore
+ alt keycode 13 = Meta_equal
+keycode 14 = BackSpace Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 16 = +f +F +q +Q
+keycode 17 = +g +G +w +W
+keycode 18 = +gbreve +Gbreve +e +E
+keycode 19 = +dotlessi +I +r +R
+keycode 20 = +o +O +t +T
+keycode 21 = +d +D +y +Y
+keycode 22 = +r +R +u +U
+keycode 23 = +n +N +i +I
+keycode 24 = +h +H +o +O
+keycode 25 = p
+keycode 26 = +q +Q bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ alt shift keycode 26 = Meta_braceleft
+keycode 27 = +w +W bracketright braceright
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ alt shift keycode 27 = Meta_braceright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = +u +U +a +A
+keycode 31 = +i +Idotabove +s +S
+keycode 32 = +e +E +d +D
+keycode 33 = +a +A +f +F
+keycode 34 = g
+keycode 35 = +t +T +h +H
+keycode 36 = +k +K +j +J
+keycode 37 = +m +M +k +K
+keycode 38 = l
+keycode 39 = +y +Y semicolon colon
+ alt keycode 39 = Meta_semicolon
+keycode 40 = +scedilla +Scedilla apostrophe quotedbl
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = backslash quotedbl grave asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = +x +X backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ alt shift keycode 43 = Meta_bar
+keycode 44 = +j +J +z +Z
+keycode 45 = +odiaeresis +Odiaeresis +x +X
+keycode 46 = +v +V +c +C
+keycode 47 = +c +C +v +V
+keycode 48 = +ccedilla +Ccedilla +b +B
+keycode 49 = +z +Z +n +N
+keycode 50 = +s +S +m +M
+keycode 51 = +b +B comma less
+ alt keycode 51 = Meta_comma
+ alt shift keycode 51 = Meta_less
+keycode 52 = period colon period greater
+ alt keycode 52 = Meta_period
+ alt shift keycode 52 = Meta_greater
+keycode 53 = comma semicolon slash question
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F11 Console_13
+ control keycode 59 = F1
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F12 Console_14
+ control keycode 60 = F2
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F13 Console_15
+ control keycode 61 = F3
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F14 Console_16
+ control keycode 62 = F4
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F15 Console_17
+ control keycode 63 = F5
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F16 Console_18
+ control keycode 64 = F6
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F17 Console_19
+ control keycode 65 = F7
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F18 Console_20
+ control keycode 66 = F8
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F19 Console_21
+ control keycode 67 = F9
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F20 Console_22
+ control keycode 68 = F10
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 87 = F11 F11 Console_23
+ control keycode 87 = F11
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F12 Console_24
+ control keycode 88 = F12
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+keycode 97 = AltGr_Lock
+keycode 98 = KP_Divide
+keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+keycode 106 = Right
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 =
+keycode 113 =
+keycode 114 =
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 =
+keycode 119 =
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/i386/fgGIod/trf.kmap b/keymaps/i386/fgGIod/trf.kmap
new file mode 100644
index 0000000..9684ae5
--- /dev/null
+++ b/keymaps/i386/fgGIod/trf.kmap
@@ -0,0 +1,212 @@
+charset "iso-8859-9"
+keymaps 0-6,8-9,12
+include "linux-with-alt-and-altgr"
+strings as usual
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam asciitilde
+ alt keycode 2 = Meta_one
+ alt shift keycode 2 = Meta_exclam
+keycode 3 = two at ampersand
+ control keycode 3 = nul
+ control shift keycode 3 = nul
+ alt keycode 3 = Meta_two
+ alt shift keycode 3 = Meta_at
+keycode 4 = three quotedbl numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ alt shift keycode 4 = Meta_quotedbl
+keycode 5 = four apostrophe dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ alt shift keycode 5 = Meta_apostrophe
+keycode 6 = five parenleft less
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ alt shift keycode 6 = Meta_parenleft
+keycode 7 = six slash greater
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ alt shift keycode 7 = Meta_slash
+keycode 8 = seven parenright braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+ alt shift keycode 8 = Meta_parenright
+keycode 9 = eight underscore braceright
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+ alt shift keycode 9 = Meta_underscore
+keycode 10 = nine percent bracketleft
+ alt keycode 10 = Meta_nine
+ alt shift keycode 10 = Meta_percent
+keycode 11 = zero colon bracketright
+ alt keycode 11 = Meta_zero
+ alt shift keycode 11 = Meta_colon
+keycode 12 = x
+keycode 13 = q
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+keycode 16 = f
+keycode 17 = g
+keycode 18 = +0360 +0320
+keycode 19 = +0375 +I
+ altgr keycode 19 = +0356
+ altgr shift keycode 19 = +0316
+keycode 20 = o
+ altgr keycode 20 = +0364
+ altgr shift keycode 20 = +0324
+keycode 21 = d
+keycode 22 = r
+keycode 23 = n
+keycode 24 = h
+keycode 25 = p
+keycode 26 = semicolon asterisk
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_semicolon
+ alt shift keycode 26 = Meta_asterisk
+keycode 27 = asciicircum grave
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_asciicircum
+ alt shift keycode 27 = Meta_grave
+keycode 28 = Return
+ alt keycode 28 = 0x080d
+keycode 29 = Control
+keycode 30 = u
+ altgr keycode 30 = +0373
+ altgr shift keycode 30 = +0333
+keycode 31 = +i +0335
+keycode 32 = e
+keycode 33 = a
+ altgr keycode 33 = +0342
+ altgr shift keycode 33 = +0302
+keycode 34 = +0374 +0334
+keycode 35 = t
+keycode 36 = k
+keycode 37 = m
+keycode 38 = l
+keycode 39 = y
+keycode 40 = +0376 +0336
+ control keycode 40 = Control_g
+keycode 41 = w
+ control keycode 41 = nul
+keycode 42 = Shift
+keycode 43 = equal plus
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_equal
+ alt shift keycode 43 = Meta_plus
+keycode 44 = j
+keycode 45 = +0366 +0326
+keycode 46 = v
+keycode 47 = c
+keycode 48 = +0347 +0307
+keycode 49 = z
+keycode 50 = s
+keycode 51 = b
+keycode 52 = period question
+ control keycode 52 = Delete
+ alt keycode 52 = Meta_period
+ alt shift keycode 52 = Meta_question
+keycode 53 = comma minus slash
+ alt keycode 53 = Meta_comma
+ alt shift keycode 53 = Meta_minus
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F11 Console_13
+ control keycode 59 = F1
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F12 Console_14
+ control keycode 60 = F2
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F13 Console_15
+ control keycode 61 = F3
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F14 Console_16
+ control keycode 62 = F4
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F15 Console_17
+ control keycode 63 = F5
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F16 Console_18
+ control keycode 64 = F6
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F17 Console_19
+ control keycode 65 = F7
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F18 Console_20
+ control keycode 66 = F8
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F19 Console_21
+ control keycode 67 = F9
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F20 Console_22
+ control keycode 68 = F10
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = backslash bar
+ alt keycode 86 = Meta_backslash
+ alt shift keycode 86 = Meta_bar
+keycode 87 = F11 F11 Console_23
+ control keycode 87 = F11
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F12 Console_24
+ control keycode 88 = F12
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+keycode 97 = Control
diff --git a/keymaps/i386/fgGIod/trfu.kmap b/keymaps/i386/fgGIod/trfu.kmap
new file mode 100644
index 0000000..28f1f1d
--- /dev/null
+++ b/keymaps/i386/fgGIod/trfu.kmap
@@ -0,0 +1,549 @@
+# Turkish UTF-8 F-Keybord Map (105 keys PC)
+# Copyright (C) Nilgün Belma Bugüner
+# Nilgün Belma Bugüner <nilgun@technologist.com>, 2002
+#
+# Permission is granted to freely copy and distrubute
+# this file and modified versions, provided that this
+# header is not removed and modified versions are marked
+# as such.
+#
+# CapsLock Turkce karakterlerde calismazsa sol tarafta ctrl ve Alt tuslari
+# arasindaki win tusunu kullanabilirsiniz. CapsLock tusu ile birlikte
+# kullanmamanizi oneririm, yoksa diger karakterler kucuk cikar.
+#
+# ctrl+alt ile birlikte 8 ve 9 tuslari utf-8 ve iso8859-9 kipler arasinda,
+# ayrica ctrl+alt ile birlikte 0 tusu F ve Q klavyeler arasinda
+# gecis yapmak icin kullanilabilir.
+#
+# * Recai OktaÅŸ <roktas@omu.edu.tr>, 2004
+# - Aksanli karakterleri uretmeye yonelik degisiklikler
+# Aksanli karakterleri (or. Aacute, Eacute) uretmek icin aksan
+# karakterinin goruldugu tusu altgr veya shift-altgr ile birlikte
+# tusladiktan sonra ilgili karakteri tuslayin.
+# - Degisen tus yukleme mekanizmasina uygun degisiklikler
+#
+# TODO: Turkce X klavye eslemiyle esdeger hale getirilecek.
+#
+
+charset "iso-8859-9"
+keymaps 0-15
+strings as usual
+# Kendi +Shift +AltGr +Shift
+# +AltGr
+# Kendi 0 1 2 3
+# +Control 4 5 6 7
+# +Alt 8 9 10 11
+# +Control+Alt 12 13 14 15
+
+keycode 1 = Escape Escape Escape Escape \
+ VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
+ Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+
+keycode 2 = one exclam U+00B9 VoidSymbol \
+ VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
+ Meta_one Meta_exclam Meta_one Meta_exclam \
+ VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+
+keycode 3 = two quotedbl U+00B2 VoidSymbol \
+ nul nul nul nul \
+ Meta_two Meta_at Meta_two Meta_at \
+ nul nul nul nul
+
+keycode 4 = three asciicircum numbersign dead_circumflex \
+ Escape Escape Escape Escape \
+ Meta_three Meta_numbersign Meta_three Meta_numbersign
+
+keycode 5 = four dollar U+00BC VoidSymbol \
+ Control_backslash Control_backslash Control_backslash Control_backslash \
+ Meta_four Meta_dollar Meta_four Meta_dollar
+
+keycode 6 = five percent U+00BD VoidSymbol \
+ Control_bracketright Control_bracketright Control_bracketright Control_bracketright\
+ Meta_five Meta_percent Meta_five Meta_percent
+
+keycode 7 = six ampersand U+00BE VoidSymbol \
+ Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum \
+ Meta_six Meta_asciicircum Meta_six Meta_asciicircum \
+ Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum
+
+keycode 8 = seven apostrophe braceleft VoidSymbol \
+ Control_underscore Control_underscore Control_underscore Control_underscore \
+ Meta_seven Meta_ampersand Meta_seven Meta_ampersand
+
+keycode 9 = eight parenleft bracketleft VoidSymbol \
+ Delete Delete Delete Delete \
+ Meta_eight Meta_asterisk Meta_eight Meta_asterisk \
+ F200 F200 F200 F200
+
+keycode 10 = nine parenright bracketright U+00B1 \
+ VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
+ Meta_nine Meta_parenleft Meta_nine Meta_parenleft \
+ F201 F201 F201 F201
+
+keycode 11 = zero equal braceright U+00B0 \
+ VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
+ Meta_zero Meta_parenright Meta_zero Meta_parenright \
+ F202 F202 F202 F202
+
+keycode 12 = slash question backslash VoidSymbol \
+ Control_underscore VoidSymbol Control_underscore VoidSymbol \
+ Meta_minus VoidSymbol Meta_minus VoidSymbol \
+ Meta_Control_underscore VoidSymbol Meta_Control_underscore VoidSymbol
+
+keycode 13 = minus underscore U+00F7 underscore \
+ VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
+ Meta_equal Meta_plus Meta_equal Meta_plus
+
+keycode 14 = BackSpace BackSpace BackSpace BackSpace \
+ Delete Delete Delete Delete \
+ Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace \
+ Meta_Delete Meta_Delete Meta_Delete Meta_Delete
+
+keycode 15 = Tab F215 Tab F215 \
+ VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
+ Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+
+keycode 16 = +f +F at VoidSymbol \
+ Control_q Control_q Control_q Control_q \
+ Meta_q Meta_Q Meta_q Meta_Q \
+ Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q
+
+keycode 17 = +g +G VoidSymbol VoidSymbol \
+ Control_w Control_w Control_w Control_w \
+ Meta_w Meta_W Meta_w Meta_W \
+ Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w
+
+keycode 18 = U+011F U+011E VoidSymbol VoidSymbol \
+ Control_e Control_e Control_e Control_e \
+ Meta_e Meta_E Meta_e Meta_E \
+ Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e
+
+keycode 19 = U+0131 +I U+00B6 VoidSymbol \
+ Control_r Control_r Control_r Control_r \
+ Meta_r Meta_R Meta_r Meta_R \
+ Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r
+
+keycode 20 = +o +O U+00F4 U+00D4 \
+ Control_t Control_t Control_t Control_t \
+ Meta_t Meta_T Meta_t Meta_T \
+ Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t
+
+keycode 21 = +d +D U+00A5 VoidSymbol \
+ Control_y Control_y Control_y Control_y \
+ Meta_y Meta_Y Meta_y Meta_Y \
+ Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y
+
+keycode 22 = +r +R U+00AE VoidSymbol \
+ Control_u Control_u Control_u Control_u \
+ Meta_u Meta_U Meta_u Meta_U \
+ Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u
+
+keycode 23 = +n +N VoidSymbol VoidSymbol
+keycode 24 = +h +H U+00B0 VoidSymbol \
+ Control_o Control_o Control_o Control_o \
+ Meta_o Meta_O Meta_o Meta_O \
+ Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o
+
+keycode 25 = +p +P U+00A3 VoidSymbol \
+ Control_p Control_p Control_p Control_p \
+ Meta_p Meta_P Meta_p Meta_P \
+ Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p
+
+keycode 26 = +q +Q dead_diaeresis VoidSymbol
+keycode 27 = +w +W asciitilde dead_tilde
+keycode 28 = Return Return Return Return \
+ Return Return Return Return \
+ Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m \
+ AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock
+
+keycode 29 = Control
+keycode 30 = +u +U U+00FB U+00DB \
+ Control_a Control_a Control_a Control_a \
+ Meta_a Meta_A Meta_a Meta_A \
+ Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a
+
+keycode 31 = +i U+0130 U+00EE U+00CE \
+ Control_s Control_s Control_s Control_s \
+ Meta_s Meta_S Meta_s Meta_S \
+ Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s
+
+keycode 32 = +e +E U+00A4 VoidSymbol \
+ Control_d Control_d Control_d Control_d \
+ Meta_d Meta_D Meta_d Meta_D \
+ Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d
+
+keycode 33 = +a +A U+00E2 U+00C2 \
+ Control_f Control_f Control_f Control_f \
+ Meta_f Meta_F Meta_f Meta_F \
+ Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f
+
+keycode 34 = U+00FC U+00DC U+00FB U+00DB \
+ Control_g Control_g Control_g Control_g \
+ Meta_g Meta_G Meta_g Meta_G \
+ Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g
+
+keycode 35 = +t +T VoidSymbol VoidSymbol \
+ BackSpace F1 BackSpace F1 \
+ Meta_h Meta_H Meta_h Meta_H \
+ Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace
+
+keycode 36 = +k +K VoidSymbol VoidSymbol \
+ Linefeed Linefeed Linefeed Linefeed \
+ Meta_j Meta_J Meta_j Meta_J \
+ Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed
+
+keycode 37 = +m +M U+00B5 VoidSymbol \
+ Control_k Control_k Control_k Control_k \
+ Meta_k Meta_K Meta_k Meta_K \
+ Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k
+
+keycode 38 = +l +L VoidSymbol VoidSymbol \
+ Control_l Control_l Control_l Control_l \
+ Meta_l Meta_L Meta_l Meta_L \
+ Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l
+
+keycode 39 = +y +Y dead_acute U+00B4 \
+ VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
+ Meta_semicolon Meta_colon Meta_semicolon Meta_colon
+
+keycode 40 = U+015F U+015E numbersign VoidSymbol \
+ Control_l Control_l Control_l Control_l \
+ Meta_apostrophe Meta_quotedbl Meta_apostrophe Meta_quotedbl
+
+keycode 41 = plus asterisk U+00AC U+00B1 \
+ nul nul nul nul \
+ Meta_grave Meta_asciitilde Meta_grave Meta_asciitilde
+
+keycode 42 = Shift
+keycode 43 = +x +X grave dead_grave \
+ Control_backslash Control_backslash Control_backslash Control_backslash \
+ Meta_backslash Meta_bar Meta_backslash Meta_bar \
+ Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash
+
+keycode 44 = +j +J U+00AB VoidSymbol \
+ Control_z Control_z Control_z Control_z \
+ Meta_z Meta_Z Meta_z Meta_Z \
+ Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z
+
+keycode 45 = U+00F6 U+00D6 U+00BB VoidSymbol \
+ Control_x Control_x Control_x Control_x \
+ Meta_x Meta_X Meta_x Meta_X \
+ Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x
+
+keycode 46 = +v +V U+00A2 VoidSymbol \
+ Control_c Control_c Control_c Control_c \
+ Meta_c Meta_C Meta_c Meta_C \
+ Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c
+
+keycode 47 = +c +C U+00A9 VoidSymbol \
+ Control_v Control_v Control_v Control_v \
+ Meta_v Meta_V Meta_v Meta_V \
+ Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v
+
+keycode 48 = U+00E7 U+00C7 VoidSymbol VoidSymbol \
+ Control_b Control_b Control_b Control_b \
+ Meta_b Meta_B Meta_b Meta_B \
+ Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b
+
+keycode 49 = +z +Z VoidSymbol VoidSymbol \
+ Control_n Control_n Control_n Control_n \
+ Meta_n Meta_N Meta_n Meta_N \
+ Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n
+
+keycode 50 = +s +S VoidSymbol VoidSymbol \
+ Control_m Control_m Control_m Control_m \
+ Meta_m Meta_M Meta_m Meta_M \
+ Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m
+
+keycode 51 = +b +B U+00D7 VoidSymbol \
+ VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
+ Meta_comma Meta_less Meta_comma Meta_less
+
+keycode 52 = period colon U+00F7 VoidSymbol \
+ Compose Compose Compose Compose \
+ Meta_period Meta_greater Meta_period Meta_greater
+
+keycode 53 = comma semicolon VoidSymbol VoidSymbol \
+ Delete Delete Delete Delete \
+ Meta_slash Meta_question Meta_slash Meta_question
+
+keycode 54 = Shift
+keycode 55 = KP_Multiply KP_Multiply Hex_C KP_Multiply \
+ KP_Multiply Hex_C KP_Multiply Hex_C \
+ KP_Multiply Hex_C KP_Multiply Hex_C \
+ KP_Multiply KP_Multiply KP_Multiply KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space U+00A0 U+00A0 \
+ nul VoidSymbol nul VoidSymbol \
+ Meta_space Meta_space Meta_space Meta_space
+
+keycode 58 = Shift_Lock
+keycode 59 = F1 F1 F1 F11 \
+ F21 F31 F21 F31 \
+ Console_1 Console_1 Console_1 Console_13 \
+ Console_1 Console_13 Console_1 Console_13
+
+keycode 60 = F2 F2 F2 F12 \
+ F22 F32 F22 F32 \
+ Console_2 Console_2 Console_2 Console_14 \
+ Console_2 Console_14 Console_2 Console_14
+
+keycode 61 = F3 F3 F3 F13 \
+ F23 F33 F23 F33 \
+ Console_3 Console_3 Console_3 Console_15 \
+ Console_3 Console_15 Console_3 Console_15
+
+keycode 62 = F4 F4 F4 F14 \
+ F24 F34 F24 F34 \
+ Console_4 Console_4 Console_4 Console_16 \
+ Console_4 Console_16 Console_4 Console_16
+
+keycode 63 = F5 F5 F5 F15 \
+ F25 F35 F25 F35 \
+ Console_5 Console_5 Console_5 Console_17 \
+ Console_5 Console_17 Console_5 Console_17
+
+keycode 64 = F6 F6 F6 F16 \
+ F26 F36 F26 F36 \
+ Console_6 Console_6 Console_6 Console_18 \
+ Console_6 Console_18 Console_6 Console_18
+
+keycode 65 = F7 F7 F7 F17 \
+ F27 F37 F27 F37 \
+ Console_7 Console_7 Console_7 Console_19 \
+ Console_7 Console_19 Console_7 Console_19
+
+keycode 66 = F8 F8 F8 F18 \
+ F28 F38 F28 F38 \
+ Console_8 Console_8 Console_8 Console_20 \
+ Console_8 Console_20 Console_8 Console_20
+
+keycode 67 = F9 F9 F9 F19 \
+ F29 F39 F29 F39 \
+ Console_9 Console_9 Console_9 Console_21 \
+ Console_9 Console_21 Console_9 Console_21
+
+keycode 68 = F10 F10 F10 F20 \
+ F30 F40 F30 F40 \
+ Console_10 Console_10 Console_10 Console_22 \
+ Console_10 Console_22 Console_10 Console_22
+
+keycode 69 = Num_Lock Bare_Num_Lock Hex_A Bare_Num_Lock \
+ Num_Lock Hex_A Num_Lock Hex_A \
+ Num_Lock Hex_A Num_Lock Hex_A \
+ Num_Lock Num_Lock Num_Lock Num_Lock
+
+keycode 70 = Scroll_Lock Show_Memory Scroll_Lock Show_Memory \
+ Show_State VoidSymbol Show_State VoidSymbol \
+ Scroll_Lock Show_Registers Scroll_Lock Show_Registers
+
+keycode 71 = KP_7 KP_7 Hex_7 KP_7 \
+ KP_7 Hex_7 KP_7 Hex_7 \
+ Ascii_7 Hex_7 Ascii_7 Hex_7 \
+ KP_7 KP_7 KP_7 KP_7
+
+keycode 72 = KP_8 KP_8 Hex_8 KP_8 \
+ KP_8 Hex_8 KP_8 Hex_8 \
+ Ascii_8 Hex_8 Ascii_8 Hex_8 \
+ KP_8 KP_8 KP_8 KP_8
+
+keycode 73 = KP_9 KP_9 Hex_9 KP_9 \
+ KP_9 Hex_9 KP_9 Hex_9 \
+ Ascii_9 Hex_9 Ascii_9 Hex_9 \
+ KP_9 KP_9 KP_9 KP_9
+
+keycode 74 = KP_Subtract KP_Subtract Hex_D KP_Subtract \
+ KP_Subtract Hex_D KP_Subtract Hex_D \
+ KP_Subtract Hex_D KP_Subtract Hex_D \
+ KP_Subtract KP_Subtract KP_Subtract KP_Subtract
+
+keycode 75 = KP_4 KP_4 Hex_4 KP_4 \
+ KP_4 Hex_4 KP_4 Hex_4 \
+ Ascii_4 Hex_4 Ascii_4 Hex_4 \
+ KP_4 KP_4 KP_4 KP_4
+
+keycode 76 = KP_5 KP_5 Hex_5 KP_5 \
+ KP_5 Hex_5 KP_5 Hex_5 \
+ Ascii_5 Hex_5 Ascii_5 Hex_5 \
+ KP_5 KP_5 KP_5 KP_5
+
+keycode 77 = KP_6 KP_6 Hex_6 KP_6 \
+ KP_6 Hex_6 KP_6 Hex_6 \
+ Ascii_6 Hex_6 Ascii_6 Hex_6 \
+ KP_6 KP_6 KP_6 KP_6
+
+keycode 78 = KP_Add KP_Add Hex_E KP_Add \
+ KP_Add Hex_E KP_Add Hex_E \
+ KP_Add Hex_E KP_Add Hex_E \
+ KP_Add KP_Add KP_Add KP_Add
+
+keycode 79 = KP_1 KP_1 Hex_1 KP_1 \
+ KP_1 Hex_1 KP_1 Hex_1 \
+ Ascii_1 Hex_1 Ascii_1 Hex_1 \
+ KP_1 KP_1 KP_1 KP_1
+
+keycode 80 = KP_2 KP_2 Hex_2 KP_2 \
+ KP_2 Hex_2 KP_2 Hex_2 \
+ Ascii_2 Hex_2 Ascii_2 Hex_2 \
+ KP_2 KP_2 KP_2 KP_2
+
+keycode 81 = KP_3 KP_3 Hex_3 KP_3 \
+ KP_3 Hex_3 KP_3 Hex_3 \
+ Ascii_3 Hex_3 Ascii_3 Hex_3 \
+ KP_3 KP_3 KP_3 KP_3
+
+keycode 82 = KP_0 KP_0 Hex_0 KP_0 \
+ KP_0 Hex_0 KP_0 Hex_0 \
+ Ascii_0 Hex_0 Ascii_0 Hex_0 \
+ KP_0 KP_0 KP_0 KP_0
+
+keycode 83 = KP_Period KP_Period KP_Period KP_Period \
+ KP_Period KP_Period Boot KP_Period \
+ KP_Period KP_Period KP_Period KP_Period \
+ Boot KP_Period Boot KP_Period
+
+keycode 84 = Last_Console
+keycode 85 = VoidSymbol
+keycode 86 = less greater bar U+00A6
+keycode 87 = F11 F11 F11 F21 \
+ F31 F41 F31 F41 \
+ Console_11 Console_11 Console_11 Console_23 \
+ Console_11 Console_23 Console_11 Console_23
+
+keycode 88 = F12 F12 F12 F22 \
+ F32 F42 F32 F42 \
+ Console_12 Console_12 Console_12 Console_24 \
+ Console_12 Console_24 Console_12 Console_24
+
+keycode 89 = VoidSymbol
+keycode 90 = VoidSymbol
+keycode 91 = VoidSymbol
+keycode 92 = VoidSymbol
+keycode 93 = VoidSymbol
+keycode 94 = VoidSymbol
+keycode 95 = VoidSymbol
+keycode 96 = KP_Enter KP_Enter Hex_F KP_Enter \
+ KP_Enter Hex_F KP_Enter Hex_F \
+ Hex_F Hex_F Hex_F Hex_F \
+ AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock
+
+keycode 97 = Control
+
+keycode 98 = KP_Divide KP_Divide Hex_B KP_Divide \
+ KP_Divide Hex_B KP_Divide Hex_B \
+ Hex_B Hex_B Hex_B Hex_B \
+ KP_Divide KP_Divide KP_Divide KP_Divide
+
+keycode 99 = Control_backslash
+keycode 100 = AltGr AltGr AltGr AltGr \
+ AltGr AltGr AltGr AltGr \
+ Compose Compose Compose Compose \
+ AltGr AltGr AltGr AltGr
+keycode 101 = Break
+keycode 102 = Find F102 Find F102
+keycode 103 = Up Up Up F103 \
+ Up F103 Up Up \
+ KeyboardSignal KeyboardSignal KeyboardSignal KeyboardSignal \
+ Up Up Up Up
+
+keycode 104 = Prior Scroll_Backward Prior Scroll_Backward
+
+keycode 105 = Left Left Left F105 \
+ Left F105 Left Left \
+ Decr_Console Decr_Console Decr_Console Decr_Console \
+ Left Left Left Left
+
+keycode 106 = Right Right Right F106 \
+ Right F106 Right F106 \
+ Incr_Console Incr_Console Incr_Console Incr_Console \
+ Right Right Right Right
+
+keycode 107 = Select F108 Select F108
+keycode 108 = Down Down Down F107
+
+keycode 109 = Next Scroll_Forward Next Scroll_Forward
+keycode 110 = Insert F110 Insert F110
+keycode 111 = Remove Remove Remove F111 \
+ Delete Delete Delete Delete \
+ Meta_Delete Meta_Delete Meta_Delete Meta_Delete \
+ Boot Boot Boot Boot
+
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = Pause
+keycode 120 = VoidSymbol
+keycode 121 = VoidSymbol
+keycode 122 = VoidSymbol
+keycode 123 = VoidSymbol
+keycode 124 = VoidSymbol
+keycode 125 = Shift_Lock
+keycode 126 = Caps_On
+keycode 127 = Uncaps_Shift
+
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+string F21 = "\033[35~"
+string F22 = "\033[36~"
+string F23 = "\033[37~"
+string F24 = "\033[38~"
+string F25 = "\033[39~"
+string F26 = "\033[40~"
+string F27 = "\033[41~"
+string F28 = "\033[42~"
+string F29 = "\033[43~"
+string F30 = "\033[44~"
+string F31 = "\033[45~"
+string F32 = "\033[46~"
+string F33 = "\033[47~"
+string F34 = "\033[48~"
+string F35 = "\033[49~"
+string F36 = "\033[50~"
+string F37 = "\033[51~"
+string F38 = "\033[52~"
+string F39 = "\033[53~"
+string F40 = "\033[54~"
+string F41 = "\033[55~"
+string F42 = "\033[56~"
+string F102 = "\033[7$"
+string F103 = "\033[a"
+string F105 = "\033[d"
+string F106 = "\033[c"
+string F107 = "\033[8$"
+string F108 = "\033[b"
+string F110 = "\033[2$"
+string F111 = "\033[3$"
+string F200 = "export LANG=tr_TR.UTF-8; kbd_mode -u; loadkeys trfu; echo -ne '\\033\\045G\\033(K'\015"
+string F201 = "export LANG=tr_TR; kbd_mode -a; loadkeys trf; echo -ne '\\033\\045@\\033(B'\015"
+string F202 = "loadkeys trqu; echo \015"
+string F215 = "\033[Z"
diff --git a/keymaps/i386/include/azerty-layout.inc b/keymaps/i386/include/azerty-layout.inc
new file mode 100644
index 0000000..618f5a4
--- /dev/null
+++ b/keymaps/i386/include/azerty-layout.inc
@@ -0,0 +1,30 @@
+# azerty-layout
+keycode 16 = a
+keycode 17 = z
+keycode 18 = e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = y
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+#
+keycode 30 = q
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+keycode 39 = m
+#
+keycode 44 = w
+keycode 45 = x
+keycode 46 = c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+#
diff --git a/keymaps/i386/include/backspace.inc b/keymaps/i386/include/backspace.inc
new file mode 100644
index 0000000..cf2b2b5
--- /dev/null
+++ b/keymaps/i386/include/backspace.inc
@@ -0,0 +1,2 @@
+keycode 14 = Control_h Control_h
+ alt keycode 14 = Meta_Control_h
diff --git a/keymaps/i386/include/ctrl.inc b/keymaps/i386/include/ctrl.inc
new file mode 100644
index 0000000..3db7259
--- /dev/null
+++ b/keymaps/i386/include/ctrl.inc
@@ -0,0 +1,3 @@
+keycode 29 = Caps_Lock
+keycode 58 = Control
+keycode 97 = Compose
diff --git a/keymaps/i386/include/euro.inc b/keymaps/i386/include/euro.inc
new file mode 100644
index 0000000..d3fe223
--- /dev/null
+++ b/keymaps/i386/include/euro.inc
@@ -0,0 +1,6 @@
+# Euro and cent
+# [Say: "loadkeys euro" to get Euro and cent with Alt on the positions
+# where many keyboards have E and C.
+# To get it displayed, use a latin0 (i.e., latin9) font.]
+altgr keycode 18 = currency
+altgr keycode 46 = cent
diff --git a/keymaps/i386/include/keypad.inc b/keymaps/i386/include/keypad.inc
new file mode 100644
index 0000000..c79f267
--- /dev/null
+++ b/keymaps/i386/include/keypad.inc
@@ -0,0 +1,65 @@
+#
+# Keypad mapping:
+# - use Alt + KP_[0-9] to compose chars using decimal byte (eg. ASCII, latin1, ...) codes.
+# - use AltGr + KP_[0-9] + grey keys to compose with Hex unicodes.
+# (digits A..F are mapped clockwise from NumLock to KP_Enter)
+#
+
+keycode 69 = Num_Lock
+ AltGr keycode 69 = Hex_A
+
+keycode 98 = KP_Divide
+ AltGr keycode 98 = Hex_B
+
+keycode 55 = KP_Multiply
+ AltGr keycode 55 = Hex_C
+
+keycode 74 = KP_Subtract
+ AltGr keycode 74 = Hex_D
+
+keycode 78 = KP_Add
+ AltGr keycode 78 = Hex_E
+
+keycode 96 = KP_Enter
+ AltGr keycode 96 = Hex_F
+
+
+keycode 71 = KP_7
+ AltGr keycode 71 = Hex_7
+ Alt keycode 71 = Ascii_7
+
+keycode 72 = KP_8
+ AltGr keycode 72 = Hex_8
+ Alt keycode 72 = Ascii_8
+
+keycode 73 = KP_9
+ AltGr keycode 73 = Hex_9
+ Alt keycode 73 = Ascii_9
+
+keycode 75 = KP_4
+ AltGr keycode 75 = Hex_4
+ Alt keycode 75 = Ascii_4
+
+keycode 76 = KP_5
+ AltGr keycode 76 = Hex_5
+ Alt keycode 76 = Ascii_5
+
+keycode 77 = KP_6
+ AltGr keycode 77 = Hex_6
+ Alt keycode 77 = Ascii_6
+
+keycode 79 = KP_1
+ AltGr keycode 79 = Hex_1
+ Alt keycode 79 = Ascii_1
+
+keycode 80 = KP_2
+ AltGr keycode 80 = Hex_2
+ Alt keycode 80 = Ascii_2
+
+keycode 81 = KP_3
+ AltGr keycode 81 = Hex_3
+ Alt keycode 81 = Ascii_3
+
+keycode 82 = KP_0
+ AltGr keycode 82 = Hex_0
+ Alt keycode 82 = Ascii_0
diff --git a/keymaps/i386/include/linux-keys-bare.inc b/keymaps/i386/include/linux-keys-bare.inc
new file mode 100644
index 0000000..d91e89f
--- /dev/null
+++ b/keymaps/i386/include/linux-keys-bare.inc
@@ -0,0 +1,162 @@
+# Linux-specific (and language-independent) keys
+#
+# This file describes function keys, console switching keys,
+# keypad, cursor keys, and SysRq, ScrollLock, Pause
+#
+# It does not use the AltGr modifier, so that the user can opt
+# to have both Alt keys produce the same effect.
+# As a consequence, the Hex_* keys are missing, as are
+# control altgr keycode 83 = Boot
+# control altgr keycode 111 = Boot
+#
+# One culture-specific item that will be overridden in many keymaps
+# is the KP_Period: many countries have a KP_Comma instead.
+#
+# One user-preference item will be the function of the Delete key.
+#
+# Old keyboards have 10 function keys, and keymaps have
+# sometimes used shift+F1 = F11, and sometimes shift+F1 = F13.
+# Here we assume an enhanced keyboard (with 12 function keys).
+#
+plain keycode 59 = F1
+plain keycode 60 = F2
+plain keycode 61 = F3
+plain keycode 62 = F4
+plain keycode 63 = F5
+plain keycode 64 = F6
+plain keycode 65 = F7
+plain keycode 66 = F8
+plain keycode 67 = F9
+plain keycode 68 = F10
+plain keycode 87 = F11
+plain keycode 88 = F12
+shift keycode 59 = F13
+shift keycode 60 = F14
+shift keycode 61 = F15
+shift keycode 62 = F16
+shift keycode 63 = F17
+shift keycode 64 = F18
+shift keycode 65 = F19
+shift keycode 66 = F20
+shift keycode 67 = F21
+shift keycode 68 = F22
+shift keycode 87 = F23
+shift keycode 88 = F24
+control keycode 59 = F25
+control keycode 60 = F26
+control keycode 61 = F27
+control keycode 62 = F28
+control keycode 63 = F29
+control keycode 64 = F30
+control keycode 65 = F31
+control keycode 66 = F32
+control keycode 67 = F33
+control keycode 68 = F34
+control keycode 87 = F35
+control keycode 88 = F36
+#
+# The canonical assignment for F37-F48 uses
+# control shift keycode 59 = F37
+# etc. If you want that, load linux-keys-extd.inc
+#
+# Both Alt+Fn and Control+Alt+Fn switch to Console n
+# (in order to please Linux / dosemu / X).
+# Here Consoles 1..12. For 13..24 load linux-keys-extd.inc
+#
+alt keycode 59 = Console_1
+alt keycode 60 = Console_2
+alt keycode 61 = Console_3
+alt keycode 62 = Console_4
+alt keycode 63 = Console_5
+alt keycode 64 = Console_6
+alt keycode 65 = Console_7
+alt keycode 66 = Console_8
+alt keycode 67 = Console_9
+alt keycode 68 = Console_10
+alt keycode 87 = Console_11
+alt keycode 88 = Console_12
+control alt keycode 59 = Console_1
+control alt keycode 60 = Console_2
+control alt keycode 61 = Console_3
+control alt keycode 62 = Console_4
+control alt keycode 63 = Console_5
+control alt keycode 64 = Console_6
+control alt keycode 65 = Console_7
+control alt keycode 66 = Console_8
+control alt keycode 67 = Console_9
+control alt keycode 68 = Console_10
+control alt keycode 87 = Console_11
+control alt keycode 88 = Console_12
+
+#
+# Keypad keys
+#
+keycode 69 = Num_Lock
+keycode 98 = KP_Divide
+keycode 55 = KP_Multiply
+keycode 74 = KP_Subtract
+keycode 78 = KP_Add
+keycode 96 = KP_Enter
+#
+keycode 71 = KP_7
+keycode 72 = KP_8
+keycode 73 = KP_9
+keycode 75 = KP_4
+keycode 76 = KP_5
+keycode 77 = KP_6
+keycode 79 = KP_1
+keycode 80 = KP_2
+keycode 81 = KP_3
+keycode 82 = KP_0
+#
+keycode 83 = KP_Period # or KP_Comma
+control alt keycode 83 = Boot
+#
+alt keycode 71 = Ascii_7
+alt keycode 72 = Ascii_8
+alt keycode 73 = Ascii_9
+alt keycode 75 = Ascii_4
+alt keycode 76 = Ascii_5
+alt keycode 77 = Ascii_6
+alt keycode 79 = Ascii_1
+alt keycode 80 = Ascii_2
+alt keycode 81 = Ascii_3
+alt keycode 82 = Ascii_0
+#
+# The four cursor keys
+#
+keycode 103 = Up
+keycode 105 = Left
+keycode 106 = Right
+keycode 108 = Down
+alt keycode 103 = KeyboardSignal
+alt keycode 105 = Decr_Console
+alt keycode 106 = Incr_Console
+#
+# The six edit keys
+#
+keycode 110 = Insert
+keycode 102 = Home # Find
+keycode 104 = PageUp # Prior
+keycode 111 = Remove
+keycode 107 = End # Select
+keycode 109 = PageDown # Next
+shift keycode 104 = Scroll_Backward
+shift keycode 109 = Scroll_Forward
+control alt keycode 111 = Boot
+#
+# The three system keys
+#
+keycode 84 = Last_Console # Alt+SysRq/PrintScrn
+keycode 99 = VoidSymbol
+alt keycode 99 = Control_backslash
+control keycode 99 = Control_backslash
+
+plain keycode 70 = Scroll_Lock
+shift keycode 70 = Show_Memory
+control keycode 70 = Show_State
+alt keycode 70 = Show_Registers
+
+keycode 101 = Break # Ctrl+Break/Pause
+keycode 119 = Pause # Break/Pause
+
diff --git a/keymaps/i386/include/linux-keys-bare.inc~ b/keymaps/i386/include/linux-keys-bare.inc~
new file mode 100644
index 0000000..a882307
--- /dev/null
+++ b/keymaps/i386/include/linux-keys-bare.inc~
@@ -0,0 +1,166 @@
+# Linux-specific (and language-independent) keys
+#
+# This file describes function keys, console switching keys,
+# keypad, cursor keys, and SysRq, ScrollLock, Pause
+#
+# It does not use the AltGr modifier, so that the user can opt
+# to have both Alt keys produce the same effect.
+# As a consequence, the Hex_* keys are missing, as are
+# control altgr keycode 83 = Boot
+# control altgr keycode 111 = Boot
+#
+# One culture-specific item that will be overridden in many keymaps
+# is the KP_Period: many countries have a KP_Comma instead.
+#
+# One user-preference item will be the function of the Delete key.
+#
+# Old keyboards have 10 function keys, and keymaps have
+# sometimes used shift+F1 = F11, and sometimes shift+F1 = F13.
+# Here we assume an enhanced keyboard (with 12 function keys).
+#
+plain keycode 59 = F1
+plain keycode 60 = F2
+plain keycode 61 = F3
+plain keycode 62 = F4
+plain keycode 63 = F5
+plain keycode 64 = F6
+plain keycode 65 = F7
+plain keycode 66 = F8
+plain keycode 67 = F9
+plain keycode 68 = F10
+plain keycode 87 = F11
+plain keycode 88 = F12
+shift keycode 59 = F13
+shift keycode 60 = F14
+shift keycode 61 = F15
+shift keycode 62 = F16
+shift keycode 63 = F17
+shift keycode 64 = F18
+shift keycode 65 = F19
+shift keycode 66 = F20
+shift keycode 67 = F21
+shift keycode 68 = F22
+shift keycode 87 = F23
+shift keycode 88 = F24
+control keycode 59 = F25
+control keycode 60 = F26
+control keycode 61 = F27
+control keycode 62 = F28
+control keycode 63 = F29
+control keycode 64 = F30
+control keycode 65 = F31
+control keycode 66 = F32
+control keycode 67 = F33
+control keycode 68 = F34
+control keycode 87 = F35
+control keycode 88 = F36
+#
+# The canonical assignment for F37-F48 uses
+# control shift keycode 59 = F37
+# etc. If you want that, load linux-keys-extd.inc
+#
+# Both Alt+Fn and Control+Alt+Fn switch to Console n
+# (in order to please Linux / dosemu / X).
+# Here Consoles 1..12. For 13..24 load linux-keys-extd.inc
+#
+alt keycode 59 = Console_1
+alt keycode 60 = Console_2
+alt keycode 61 = Console_3
+alt keycode 62 = Console_4
+alt keycode 63 = Console_5
+alt keycode 64 = Console_6
+alt keycode 65 = Console_7
+alt keycode 66 = Console_8
+alt keycode 67 = Console_9
+alt keycode 68 = Console_10
+alt keycode 87 = Console_11
+alt keycode 88 = Console_12
+control alt keycode 59 = Console_1
+control alt keycode 60 = Console_2
+control alt keycode 61 = Console_3
+control alt keycode 62 = Console_4
+control alt keycode 63 = Console_5
+control alt keycode 64 = Console_6
+control alt keycode 65 = Console_7
+control alt keycode 66 = Console_8
+control alt keycode 67 = Console_9
+control alt keycode 68 = Console_10
+control alt keycode 87 = Console_11
+control alt keycode 88 = Console_12
+
+#
+# Keypad keys
+#
+keycode 69 = Num_Lock
+keycode 98 = KP_Divide
+keycode 55 = KP_Multiply
+keycode 74 = KP_Subtract
+keycode 78 = KP_Add
+keycode 96 = KP_Enter
+#
+keycode 71 = KP_7
+keycode 72 = KP_8
+keycode 73 = KP_9
+keycode 75 = KP_4
+keycode 76 = KP_5
+keycode 77 = KP_6
+keycode 79 = KP_1
+keycode 80 = KP_2
+keycode 81 = KP_3
+keycode 82 = KP_0
+#
+keycode 83 = KP_Period # or KP_Comma
+control alt keycode 83 = Boot
+#
+alt keycode 71 = Ascii_7
+alt keycode 72 = Ascii_8
+alt keycode 73 = Ascii_9
+alt keycode 75 = Ascii_4
+alt keycode 76 = Ascii_5
+alt keycode 77 = Ascii_6
+alt keycode 79 = Ascii_1
+alt keycode 80 = Ascii_2
+alt keycode 81 = Ascii_3
+alt keycode 82 = Ascii_0
+#
+# The four cursor keys
+#
+keycode 103 = Up
+keycode 105 = Left
+keycode 106 = Right
+keycode 108 = Down
+alt keycode 103 = KeyboardSignal
+alt keycode 105 = Decr_Console
+alt keycode 106 = Incr_Console
+#
+# The six edit keys
+#
+keycode 110 = Insert
+keycode 102 = Home # Find
+keycode 104 = PageUp # Prior
+keycode 111 = Remove
+keycode 107 = End # Select
+keycode 109 = PageDown # Next
+shift keycode 104 = Scroll_Backward
+shift keycode 109 = Scroll_Forward
+control alt keycode 111 = Boot
+#
+# The three system keys
+#
+keycode 84 = Last_Console # Alt+SysRq/PrintScrn
+keycode 99 = VoidSymbol
+alt keycode 99 = Control_backslash
+control keycode 99 = Control_backslash
+control alt keycode 99 = Control_backslash
+altgr alt keycode 99 = Control_backslash
+altgr control keycode 99 = Control_backslash
+altgr control alt keycode 99 = Control_backslash
+
+plain keycode 70 = Scroll_Lock
+shift keycode 70 = Show_Memory
+control keycode 70 = Show_State
+alt keycode 70 = Show_Registers
+
+keycode 101 = Break # Ctrl+Break/Pause
+keycode 119 = Pause # Break/Pause
+
diff --git a/keymaps/i386/include/linux-keys-extd.inc b/keymaps/i386/include/linux-keys-extd.inc
new file mode 100644
index 0000000..401a456
--- /dev/null
+++ b/keymaps/i386/include/linux-keys-extd.inc
@@ -0,0 +1,37 @@
+#
+# More function keys and console assignments
+# These are not in the main map in order to save keymaps
+# Load after the main keymap, or include in the main keymap.
+#
+keymaps 5,9
+
+control shift keycode 59 = F37
+control shift keycode 60 = F38
+control shift keycode 61 = F39
+control shift keycode 62 = F40
+control shift keycode 63 = F41
+control shift keycode 64 = F42
+control shift keycode 65 = F43
+control shift keycode 66 = F44
+control shift keycode 67 = F45
+control shift keycode 68 = F46
+control shift keycode 87 = F47
+control shift keycode 88 = F48
+#
+alt shift keycode 59 = Console_13
+alt shift keycode 60 = Console_14
+alt shift keycode 61 = Console_15
+alt shift keycode 62 = Console_16
+alt shift keycode 63 = Console_17
+alt shift keycode 64 = Console_18
+alt shift keycode 65 = Console_19
+alt shift keycode 66 = Console_20
+alt shift keycode 67 = Console_21
+alt shift keycode 68 = Console_22
+alt shift keycode 87 = Console_23
+alt shift keycode 88 = Console_24
+#
+# It would be reasonable to add lines like
+# control alt shift keycode 59 = Console_13
+# but that would again require an extra key map, and is not worth it.
+#
diff --git a/keymaps/i386/include/linux-with-alt-and-altgr.inc b/keymaps/i386/include/linux-with-alt-and-altgr.inc
new file mode 100644
index 0000000..ba7178a
--- /dev/null
+++ b/keymaps/i386/include/linux-with-alt-and-altgr.inc
@@ -0,0 +1,28 @@
+include "linux-keys-bare"
+
+keycode 100 = AltGr
+
+altgr keycode 70 = Show_Registers
+alt keycode 70 = Scroll_Lock
+
+control altgr keycode 83 = Boot
+control altgr keycode 111 = Boot
+
+# Hex keypad keys (for giving a Unicode value in 4 hex digits)
+# Follow lt.map and assign Hex_A .. Hex_F to keypad border.
+altgr keycode 55 = Hex_C
+altgr keycode 69 = Hex_A
+altgr keycode 71 = Hex_7
+altgr keycode 72 = Hex_8
+altgr keycode 73 = Hex_9
+altgr keycode 74 = Hex_D
+altgr keycode 75 = Hex_4
+altgr keycode 76 = Hex_5
+altgr keycode 77 = Hex_6
+altgr keycode 78 = Hex_E
+altgr keycode 79 = Hex_1
+altgr keycode 80 = Hex_2
+altgr keycode 81 = Hex_3
+altgr keycode 82 = Hex_0
+altgr keycode 96 = Hex_F
+altgr keycode 98 = Hex_B
diff --git a/keymaps/i386/include/linux-with-modeshift-altgr.inc b/keymaps/i386/include/linux-with-modeshift-altgr.inc
new file mode 100644
index 0000000..ec8013a
--- /dev/null
+++ b/keymaps/i386/include/linux-with-modeshift-altgr.inc
@@ -0,0 +1,101 @@
+# For keymaps in which AltGr_Lock is used to switch between two alphabets.
+#
+# A common construction is
+# alt keycode 42 = AltGr_Lock
+# altgr alt keycode 42 = AltGr_Lock
+#
+# All Linux keys have the same meaning with or without AltGr.
+# No convention for Hex_* has been established.
+
+include "linux-keys-bare"
+
+keycode 100 = AltGr
+
+altgr keycode 59 = F1
+altgr keycode 60 = F2
+altgr keycode 61 = F3
+altgr keycode 62 = F4
+altgr keycode 63 = F5
+altgr keycode 64 = F6
+altgr keycode 65 = F7
+altgr keycode 66 = F8
+altgr keycode 67 = F9
+altgr keycode 68 = F10
+altgr keycode 87 = F11
+altgr keycode 88 = F12
+altgr shift keycode 59 = F13
+altgr shift keycode 60 = F14
+altgr shift keycode 61 = F15
+altgr shift keycode 62 = F16
+altgr shift keycode 63 = F17
+altgr shift keycode 64 = F18
+altgr shift keycode 65 = F19
+altgr shift keycode 66 = F20
+altgr shift keycode 67 = F21
+altgr shift keycode 68 = F22
+altgr shift keycode 87 = F23
+altgr shift keycode 88 = F24
+altgr control keycode 59 = F25
+altgr control keycode 60 = F26
+altgr control keycode 61 = F27
+altgr control keycode 62 = F28
+altgr control keycode 63 = F29
+altgr control keycode 64 = F30
+altgr control keycode 65 = F31
+altgr control keycode 66 = F32
+altgr control keycode 67 = F33
+altgr control keycode 68 = F34
+altgr control keycode 87 = F35
+altgr control keycode 88 = F36
+#
+altgr alt keycode 59 = Console_1
+altgr alt keycode 60 = Console_2
+altgr alt keycode 61 = Console_3
+altgr alt keycode 62 = Console_4
+altgr alt keycode 63 = Console_5
+altgr alt keycode 64 = Console_6
+altgr alt keycode 65 = Console_7
+altgr alt keycode 66 = Console_8
+altgr alt keycode 67 = Console_9
+altgr alt keycode 68 = Console_10
+altgr alt keycode 87 = Console_11
+altgr alt keycode 88 = Console_12
+altgr control alt keycode 59 = Console_1
+altgr control alt keycode 60 = Console_2
+altgr control alt keycode 61 = Console_3
+altgr control alt keycode 62 = Console_4
+altgr control alt keycode 63 = Console_5
+altgr control alt keycode 64 = Console_6
+altgr control alt keycode 65 = Console_7
+altgr control alt keycode 66 = Console_8
+altgr control alt keycode 67 = Console_9
+altgr control alt keycode 68 = Console_10
+altgr control alt keycode 87 = Console_11
+altgr control alt keycode 88 = Console_12
+#
+altgr alt keycode 71 = Ascii_7
+altgr alt keycode 72 = Ascii_8
+altgr alt keycode 73 = Ascii_9
+altgr alt keycode 75 = Ascii_4
+altgr alt keycode 76 = Ascii_5
+altgr alt keycode 77 = Ascii_6
+altgr alt keycode 79 = Ascii_1
+altgr alt keycode 80 = Ascii_2
+altgr alt keycode 81 = Ascii_3
+altgr alt keycode 82 = Ascii_0
+#
+altgr alt keycode 103 = KeyboardSignal
+altgr alt keycode 105 = Decr_Console
+altgr alt keycode 106 = Incr_Console
+#
+altgr shift keycode 104 = Scroll_Backward
+altgr shift keycode 109 = Scroll_Forward
+#
+# altgr control keycode 83 = Boot
+altgr control alt keycode 83 = Boot
+# altgr control keycode 111 = Boot
+altgr control alt keycode 111 = Boot
+#
+# an exception - altgr changes the function
+#
+altgr keycode 70 = Show_Registers
diff --git a/keymaps/i386/include/linux-with-two-alt-keys.inc b/keymaps/i386/include/linux-with-two-alt-keys.inc
new file mode 100644
index 0000000..223bea6
--- /dev/null
+++ b/keymaps/i386/include/linux-with-two-alt-keys.inc
@@ -0,0 +1,6 @@
+# For keymaps in which both Alt keys are equivalent
+# No convention for Hex_* has been established.
+
+include "linux-keys-bare"
+
+keycode 100 = Alt
diff --git a/keymaps/i386/include/mac-linux-keys-bare.inc b/keymaps/i386/include/mac-linux-keys-bare.inc
new file mode 100644
index 0000000..41f2b8c
--- /dev/null
+++ b/keymaps/i386/include/mac-linux-keys-bare.inc
@@ -0,0 +1,184 @@
+# Linux-specific (and language-independent) keys
+#
+# This file describes function keys, console switching keys,
+# keypad, cursor keys, and SysRq, ScrollLock, Pause
+#
+# It does not use the AltGr modifier, so that the user can opt
+# to have both Alt keys produce the same effect.
+# As a consequence, the Hex_* keys are missing, as are
+# control altgr keycode 79 = Boot
+# control altgr keycode 88 = Boot
+#
+# One culture-specific item that will be overridden in many keymaps
+# is the KP_Period: many countries have a KP_Comma instead.
+#
+# One user-preference item will be the function of the Delete key.
+#
+# Old keyboards have 10 function keys, and keymaps have
+# sometimes used shift+F1 = F11, and sometimes shift+F1 = F13.
+# Here we assume an enhanced keyboard (with 12 function keys).
+#
+plain keycode 59 = F1
+plain keycode 60 = F2
+plain keycode 61 = F3
+plain keycode 62 = F4
+plain keycode 63 = F5
+plain keycode 64 = F6
+plain keycode 65 = F7
+plain keycode 66 = F8
+plain keycode 67 = F9
+plain keycode 68 = F10
+plain keycode 87 = F11
+plain keycode 88 = F12
+shift keycode 59 = F13
+shift keycode 60 = F14
+shift keycode 61 = F15
+shift keycode 62 = F16
+shift keycode 63 = F17
+shift keycode 64 = F18
+shift keycode 65 = F19
+shift keycode 66 = F20
+shift keycode 67 = F21
+shift keycode 68 = F22
+shift keycode 87 = F23
+shift keycode 88 = F24
+control keycode 59 = F25
+control keycode 60 = F26
+control keycode 61 = F27
+control keycode 62 = F28
+control keycode 63 = F29
+control keycode 64 = F30
+control keycode 65 = F31
+control keycode 66 = F32
+control keycode 67 = F33
+control keycode 68 = F34
+control keycode 87 = F35
+control keycode 88 = F36
+#
+# The canonical assignment for F37-F48 uses
+# control shift keycode 59 = F37
+# etc. If you want that, load linux-keys-extd.inc
+#
+# Both Alt+Fn and Control+Alt+Fn switch to Console n
+# (in order to please Linux / dosemu / X).
+# Here Consoles 1..12. For 13..24 load linux-keys-extd.inc
+#
+alt keycode 59 = Console_1
+alt keycode 60 = Console_2
+alt keycode 61 = Console_3
+alt keycode 62 = Console_4
+alt keycode 63 = Console_5
+alt keycode 64 = Console_6
+alt keycode 65 = Console_7
+alt keycode 66 = Console_8
+alt keycode 67 = Console_9
+alt keycode 68 = Console_10
+alt keycode 87 = Console_11
+alt keycode 88 = Console_12
+control alt keycode 59 = Console_1
+control alt keycode 60 = Console_2
+control alt keycode 61 = Console_3
+control alt keycode 62 = Console_4
+control alt keycode 63 = Console_5
+control alt keycode 64 = Console_6
+control alt keycode 65 = Console_7
+control alt keycode 66 = Console_8
+control alt keycode 67 = Console_9
+control alt keycode 68 = Console_10
+control alt keycode 87 = Console_11
+control alt keycode 88 = Console_12
+
+#
+# Keypad keys
+#
+keycode 69 = Num_Lock
+keycode 98 = KP_Divide
+keycode 55 = KP_Multiply
+keycode 74 = KP_Subtract
+keycode 78 = KP_Add
+keycode 96 = KP_Enter
+keycode 117 = equal
+#
+keycode 71 = KP_7
+keycode 72 = KP_8
+keycode 73 = KP_9
+keycode 75 = KP_4
+keycode 76 = KP_5
+keycode 77 = KP_6
+keycode 79 = KP_1
+keycode 80 = KP_2
+keycode 81 = KP_3
+keycode 82 = KP_0
+#
+keycode 83 = KP_Period # or KP_Comma
+control alt keycode 83 = Boot
+#
+alt keycode 71 = Ascii_7
+alt keycode 72 = Ascii_8
+alt keycode 73 = Ascii_9
+alt keycode 75 = Ascii_4
+alt keycode 76 = Ascii_5
+alt keycode 77 = Ascii_6
+alt keycode 79 = Ascii_1
+alt keycode 80 = Ascii_2
+alt keycode 81 = Ascii_3
+alt keycode 82 = Ascii_0
+#
+# The four cursor keys
+#
+keycode 103 = Up
+keycode 105 = Left
+keycode 106 = Right
+keycode 108 = Down
+alt keycode 103 = KeyboardSignal
+alt keycode 105 = Decr_Console
+alt keycode 106 = Incr_Console
+#
+# The six edit keys
+#
+keycode 110 = Insert
+keycode 102 = Home # Find
+keycode 104 = PageUp # Prior
+keycode 111 = Remove
+keycode 107 = End # Select
+keycode 109 = PageDown # Next
+shift keycode 104 = Scroll_Backward
+shift keycode 109 = Scroll_Forward
+control alt keycode 111 = Boot
+#
+# The three system keys
+#
+# what is that? olh@suse.de
+#keycode 80 = Last_Console # Alt+SysRq/PrintScrn
+#
+# what is that? olh@suse.de
+#keycode 61 = Control_backslash # SysRq/PrintScrn
+
+plain keycode 70 = Scroll_Lock
+shift keycode 70 = Show_Memory
+control keycode 70 = Show_State
+alt keycode 70 = Show_Registers
+
+control keycode 101 = Break # Ctrl+Break/Pause
+keycode 101 = Pause # Break/Pause
+
+# generic keys for all keyboards
+keycode 28 = Return
+alt keycode 28 = Meta_Control_m
+keycode 15 = Tab
+alt keycode 15 = Meta_Tab
+keycode 57 = space space space nul
+keycode 14 = Delete Remove
+alt keycode 14 = Meta_Delete
+shift alt keycode 14 = Meta_Delete
+control keycode 14 = Remove
+keycode 1 = Escape
+alt keycode 1 = Meta_Escape
+shift alt keycode 1 = Meta_Escape
+keycode 29 = Control
+keycode 125 = AltGr # Command/Apple key
+keycode 42 = Shift # left
+keycode 54 = Shift # right
+keycode 58 = Caps_Lock
+keycode 56 = Alt # Alt/Option key left
+keycode 100 = AltGr # Alt/Option key right
diff --git a/keymaps/i386/include/qwerty-layout.inc b/keymaps/i386/include/qwerty-layout.inc
new file mode 100644
index 0000000..0cd573c
--- /dev/null
+++ b/keymaps/i386/include/qwerty-layout.inc
@@ -0,0 +1,30 @@
+# qwerty-layout
+keycode 16 = q
+keycode 17 = w
+keycode 18 = e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = y
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+#
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+#
+keycode 44 = z
+keycode 45 = x
+keycode 46 = c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = m
+#
diff --git a/keymaps/i386/include/qwertz-layout.inc b/keymaps/i386/include/qwertz-layout.inc
new file mode 100644
index 0000000..91ea77d
--- /dev/null
+++ b/keymaps/i386/include/qwertz-layout.inc
@@ -0,0 +1,30 @@
+# qwertz-layout
+keycode 16 = q
+keycode 17 = w
+keycode 18 = e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = z
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+#
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+#
+keycode 44 = y
+keycode 45 = x
+keycode 46 = c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = m
+#
diff --git a/keymaps/i386/include/windowkeys.inc b/keymaps/i386/include/windowkeys.inc
new file mode 100644
index 0000000..bb5517f
--- /dev/null
+++ b/keymaps/i386/include/windowkeys.inc
@@ -0,0 +1,5 @@
+# Extra 105 windows keys
+
+keycode 125 = Decr_Console
+keycode 126 = Incr_Console
+keycode 127 = Last_Console
diff --git a/keymaps/i386/qwerty/ar.kmap b/keymaps/i386/qwerty/ar.kmap
new file mode 100644
index 0000000..4e3ad7b
--- /dev/null
+++ b/keymaps/i386/qwerty/ar.kmap
@@ -0,0 +1,136 @@
+
+alt_is_meta
+keymaps 0-10,12,14
+include "linux-with-modeshift-altgr.inc"
+strings as usual
+
+# Set alt-shift key combination to change between farsi and english layouts
+keycode 42 = Shift
+alt keycode 42 = AltGr_Lock
+altgr alt keycode 42 = AltGr_Lock
+
+# Enable the win key to change between layouts too
+#keycode 125 = AltGr_Lock
+#altgr keycode 125 = AltGr_Lock
+
+keycode 86 = less greater bar
+altgr control alt keycode 111 = Boot
+keycode 1 = Escape
+keycode 14 = Delete Delete Delete Delete BackSpace
+keycode 15 = Tab
+keycode 28 = Return
+alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+control keycode 57 = nul
+keycode 58 = Caps_Lock
+
+altgr keycode 57 = U+0020 # SPACE
+altgr shift keycode 2 = U+0021 # EXCLAMATION MARK
+altgr shift keycode 40 = U+061B # ARABIC SEMICOLON
+altgr shift keycode 4 = U+066B # ARABIC DECIMAL SEPARATOR
+altgr shift keycode 5 = U+FDFC # RIAL SIGN
+altgr shift keycode 6 = U+066A # ARABIC PERCENT SIGN
+altgr shift keycode 8 = U+060C # ARABIC COMMA
+altgr keycode 40 = U+0637 # ARABIC LETTER TAH
+altgr shift keycode 10 = U+0029 # CLOSE PARENTHESIS
+altgr shift keycode 11 = U+0028 # OPEN PARENTHESIS
+altgr shift keycode 9 = U+002A # ASTERISK
+altgr shift keycode 13 = U+002B # PLUS SIGN
+#karouri starts
+altgr keycode 51 = U+0648 # ARABIC LETTER WAW
+altgr keycode 12 = U+002D # HYPHEN-MINUS
+altgr keycode 52 = U+0632 # ARABIC LETTER ZAIN
+altgr keycode 53 = U+0638 # ARABIC LETTER ZAH
+altgr keycode 11 = U+06F0 # EXTENDED ARABIC-INDIC DIGIT ZERO
+altgr keycode 2 = U+06F1 # EXTENDED ARABIC-INDIC DIGIT ONE
+altgr keycode 3 = U+06F2 # EXTENDED ARABIC-INDIC DIGIT TWO
+altgr keycode 4 = U+06F3 # EXTENDED ARABIC-INDIC DIGIT THREE
+altgr keycode 5 = U+06F4 # EXTENDED ARABIC-INDIC DIGIT FOUR
+altgr keycode 6 = U+06F5 # EXTENDED ARABIC-INDIC DIGIT FIVE
+altgr keycode 7 = U+06F6 # EXTENDED ARABIC-INDIC DIGIT SIX
+altgr keycode 8 = U+06F7 # EXTENDED ARABIC-INDIC DIGIT SEVEN
+altgr keycode 9 = U+06F8 # EXTENDED ARABIC-INDIC DIGIT EIGHT
+altgr keycode 10 = U+06F9 # EXTENDED ARABIC-INDIC DIGIT NINE
+altgr shift keycode 39 = U+003A # COLON
+altgr keycode 39 = U+0643 # ARABIC LETTER KAF
+altgr shift keycode 51 = U+003E # GREATER-THAN SIGN
+altgr keycode 13 = U+003D # EQUALS SIGN
+altgr shift keycode 52 = U+003C # LESS-THAN SIGN
+altgr shift keycode 53 = U+061F # ARABIC QUESTION MARK
+altgr shift keycode 3 = U+066C # ARABIC THOUSANDS SEPARATOR
+altgr shift keycode 30 = U+0624 # ARABIC LETTER WAW WITH HAMZA ABOVE
+altgr shift keycode 48 = U+200C # ZERO WIDTH NON-JOINER
+altgr shift keycode 57 = U+200C # ZERO WIDTH NON-JOINER
+altgr shift keycode 46 = U+0698 # ARABIC LETTER JEH
+altgr shift keycode 32 = U+064A # ARABIC LETTER YEH
+altgr shift keycode 18 = U+064D # ARABIC KASRATAN
+altgr shift keycode 33 = U+0625 # ARABIC LETTER ALEF WITH HAMZA BELOW
+altgr shift keycode 34 = U+0623 # ARABIC LETTER ALEF WITH HAMZA ABOVE
+altgr shift keycode 35 = U+0622 # ARABIC LETTER ALEF WITH MADDA ABOVE
+altgr shift keycode 23 = U+0651 # ARABIC SHADDA
+altgr shift keycode 36 = U+0629 # ARABIC LETTER TEH MARBUTA
+altgr shift keycode 37 = U+00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+altgr shift keycode 38 = U+00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+altgr shift keycode 50 = U+0621 # ARABIC LETTER HAMZA
+altgr shift keycode 49 = VoidSymbol # Reserved
+altgr shift keycode 24 = U+00D7 # MULTIPLY
+altgr shift keycode 25 = U+061B # ARABIC SEMICOLON
+altgr shift keycode 16 = U+0652 # ARABIC SUKUN
+altgr shift keycode 19 = U+064B # ARABIC FATHATAN
+altgr shift keycode 31 = U+0626 # ARABIC LETTER YEH WITH HAMZA ABOVE
+altgr shift keycode 20 = U+064F # ARABIC DAMMA
+altgr shift keycode 22 = U+064E # ARABIC FATHA
+altgr shift keycode 47 = U+0670 # ARABIC LETTER SUPERSCRIPT ALEF
+altgr shift keycode 17 = U+064C # ARABIC DAMMATAN
+altgr shift keycode 45 = VoidSymbol # Reserved
+altgr shift keycode 21 = U+0650 # ARABIC KASRA
+altgr shift keycode 44 = U+0643 # ARABIC LETTER KAF
+altgr keycode 26 = U+062C # ARABIC LETTER JEEM
+altgr keycode 43 = U+003E # GREATER THAN SIGN
+altgr keycode 27 = U+062F # ARABIC LETTER DAL
+altgr shift keycode 7 = U+00D7 # MULTIPLICATION SIGN
+altgr shift keycode 12 = U+0640 # ARABIC TATWEEL
+altgr keycode 41 = U+0630 # ARABIC LETTER THAL
+altgr keycode 30 = U+0634 # ARABIC LETTER SHEEN
+altgr keycode 48 = F100 # ARABIC LETTER THAL SHOULD BE LAM-ALEF
+string F100 = "??"
+altgr keycode 46 = U+0624 # ARABIC LETTER WAW WITH HAMZA ABOVE
+altgr keycode 32 = U+064A # ARABIC LETTER YEH
+altgr keycode 18 = U+062B # ARABIC LETTER THEH
+altgr keycode 33 = U+0628 # ARABIC LETTER BEH
+altgr keycode 34 = U+0644 # ARABIC LETTER LAM
+altgr keycode 35 = U+0627 # ARABIC LETTER ALEF
+altgr keycode 23 = U+0647 # ARABIC LETTER HEH
+altgr keycode 36 = U+062A # ARABIC LETTER TEH
+altgr keycode 37 = U+0646 # ARABIC LETTER NOON
+altgr keycode 38 = U+0645 # ARABIC LETTER MEEM
+altgr keycode 50 = U+0629 # ARABIC LETTER TEH MARBUTA
+altgr keycode 49 = U+06CC # ARABIC LETTER FARSI YEH
+altgr keycode 24 = U+062E # ARABIC LETTER KHAH
+altgr keycode 25 = U+062D # ARABIC LETTER HAH
+altgr keycode 16 = U+0636 # ARABIC LETTER DAD
+altgr keycode 19 = U+0642 # ARABIC LETTER QAF
+altgr keycode 31 = U+0633 # ARABIC LETTER SEEN
+altgr keycode 20 = U+0641 # ARABIC LETTER FEH
+altgr keycode 22 = U+0639 # ARABIC LETTER AIN
+altgr keycode 47 = U+0631 # ARABIC LETTER REH
+altgr keycode 17 = U+0635 # ARABIC LETTER SAD
+altgr keycode 45 = U+0621 # ARABIC LETTER HAMZA
+altgr keycode 21 = U+063A # ARABIC LETTER GHAIN
+altgr keycode 44 = U+0626 # ARABIC LETTER YEH WITH HAMZA ABOVE
+altgr shift keycode 26 = U+007D # OPEN CURLY BRACKET
+altgr shift keycode 43 = U+003C # LESS-THAN SIGN
+altgr shift keycode 27 = U+007B # CLOSE CURLY BRACKET
+altgr shift keycode 41 = VoidSymbol # Reserved
+
+# Proposed keys for bidi marks
+altgr alt keycode 51 = U+200E # LEFT-TO-RIGHT MARK # ALT ,
+altgr alt keycode 52 = U+200F # RIGHT-TO-LEFT MARK # ALT .
+altgr alt keycode 26 = U+202A # LEFT-TO-RIGHT EMBEDDING # ALT [
+altgr alt keycode 27 = U+202B # RIGHT-TO-LEFT EMBEDDING # ALT ]
+altgr alt keycode 25 = U+202C # POP DIRECTIONAL FORMATTING # ALT p
+altgr alt keycode 23 = U+202D # LEFT-TO-RIGHT OVERRIDE # ALT i
+altgr alt keycode 24 = U+202E # RIGHT-TO-LEFT OVERRIDE # ALT o
diff --git a/keymaps/i386/qwerty/bg-cp1251.kmap b/keymaps/i386/qwerty/bg-cp1251.kmap
new file mode 100644
index 0000000..9fc4019
--- /dev/null
+++ b/keymaps/i386/qwerty/bg-cp1251.kmap
@@ -0,0 +1,293 @@
+# Bulgarian Phonetic Cyrillic code page 1251 keyboard map.
+# Cyrillic mode is toggled by Right_Ctrl key and shifted by AltGr key.
+# Based on the default linux kernel keyboard map. -- Dimitar Zhekov
+
+keymaps 0-5,8,12
+
+# Change the above line into:
+# keymaps 0-6,8,12
+# in case you want the entries:
+# altgr control keycode 83 = Boot
+# altgr control keycode 111 = Boot
+# below.
+
+strings as usual
+
+keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+keycode 3 = two at at
+ control keycode 3 = nul
+ shift control keycode 3 = nul
+ alt keycode 3 = Meta_two
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+keycode 5 = four dollar dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = seven ampersand braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight asterisk bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenleft bracketright
+ alt keycode 10 = Meta_nine
+keycode 11 = zero parenright braceright
+ alt keycode 11 = Meta_zero
+keycode 12 = minus underscore backslash
+ control keycode 12 = Control_underscore
+ shift control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = equal plus
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete
+ control keycode 14 = BackSpace
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+keycode 16 = q Q +255 +223 Control_q
+ alt keycode 16 = Meta_q
+ control alt keycode 16 = Meta_Control_q
+keycode 17 = w W +226 +194 Control_w
+ alt keycode 17 = Meta_w
+ control alt keycode 17 = Meta_Control_w
+keycode 18 = e E +229 +197 Control_e
+ alt keycode 18 = Meta_e
+ control alt keycode 18 = Meta_Control_e
+keycode 19 = r R +240 +208 Control_r
+ alt keycode 19 = Meta_r
+ control alt keycode 19 = Meta_Control_r
+keycode 20 = t T +242 +210 Control_t
+ alt keycode 20 = Meta_t
+ control alt keycode 20 = Meta_Control_t
+keycode 21 = y Y +250 +218 Control_y
+ alt keycode 21 = Meta_y
+ control alt keycode 21 = Meta_Control_y
+keycode 22 = u U +243 +211 Control_u
+ alt keycode 22 = Meta_u
+ control alt keycode 22 = Meta_Control_u
+keycode 23 = i I +232 +200 Tab
+ alt keycode 23 = Meta_i
+ control alt keycode 23 = Meta_Tab
+keycode 24 = o O +238 +206 Control_o
+ alt keycode 24 = Meta_o
+ control alt keycode 24 = Meta_Control_o
+keycode 25 = p P +239 +207 Control_p
+ alt keycode 25 = Meta_p
+ control alt keycode 25 = Meta_Control_p
+keycode 26 = bracketleft braceleft +248 +216 Escape
+ alt keycode 26 = Meta_bracketleft
+ control alt keycode 26 = Meta_Escape
+keycode 27 = bracketright braceright +249 +217 Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ control alt keycode 27 = Meta_Control_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a A +224 +192 Control_a
+ alt keycode 30 = Meta_a
+ control alt keycode 30 = Meta_Control_a
+keycode 31 = s S +241 +209 Control_s
+ alt keycode 31 = Meta_s
+ control alt keycode 31 = Meta_Control_s
+keycode 32 = d D +228 +196 Control_d
+ alt keycode 32 = Meta_d
+ control alt keycode 32 = Meta_Control_d
+keycode 33 = f F +244 +212 Control_f
+ alt keycode 33 = Meta_f
+ control alt keycode 33 = Meta_Control_f
+keycode 34 = g G +227 +195 Control_g
+ alt keycode 34 = Meta_g
+ control alt keycode 34 = Meta_Control_g
+keycode 35 = h H +245 +213 Control_h
+ alt keycode 35 = Meta_h
+ control alt keycode 35 = Meta_Control_h
+keycode 36 = j J +233 +201 Control_j
+ alt keycode 35 = Meta_j
+ control alt keycode 35 = Meta_Control_j
+keycode 37 = k K +234 +202 Control_k
+ alt keycode 37 = Meta_k
+ control alt keycode 37 = Meta_Control_k
+keycode 38 = l L +235 +203 Control_l
+ alt keycode 38 = Meta_l
+ control alt keycode 38 = Meta_Control_l
+keycode 39 = semicolon colon
+ alt keycode 39 = Meta_semicolon
+keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = grave asciitilde +247 +215 nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = backslash bar +254 +222 Control_backslash
+ alt keycode 43 = Meta_backslash
+ control alt keycode 43 = Meta_Control_backslash
+keycode 44 = z Z +231 +199 Control_z
+ alt keycode 44 = Meta_z
+ control alt keycode 44 = Meta_Control_z
+keycode 45 = x X +252 +220 Control_x
+ alt keycode 45 = Meta_x
+ control alt keycode 45 = Meta_Control_x
+keycode 46 = c C +246 +214 Control_c
+ alt keycode 46 = Meta_c
+ control alt keycode 46 = Meta_Control_c
+keycode 47 = v V +230 +198 Control_v
+ alt keycode 47 = Meta_v
+ control alt keycode 47 = Meta_Control_v
+keycode 48 = b B +225 +193 Control_b
+ alt keycode 48 = Meta_b
+ control alt keycode 48 = Meta_Control_b
+keycode 49 = n N +237 +205 Control_n
+ alt keycode 49 = Meta_n
+ control alt keycode 49 = Meta_Control_n
+keycode 50 = m M +236 +204 Control_m
+ alt keycode 50 = Meta_m
+ control alt keycode 50 = Meta_Control_m
+keycode 51 = comma less
+ alt keycode 51 = Meta_comma
+keycode 52 = period greater
+ control keycode 52 = Compose
+ alt keycode 52 = Meta_period
+keycode 53 = slash question
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F11 Console_13
+ control keycode 59 = F1
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F12 Console_14
+ control keycode 60 = F2
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F13 Console_15
+ control keycode 61 = F3
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F14 Console_16
+ control keycode 62 = F4
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F15 Console_17
+ control keycode 63 = F5
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F16 Console_18
+ control keycode 64 = F6
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F17 Console_19
+ control keycode 65 = F7
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F18 Console_20
+ control keycode 66 = F8
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F19 Console_21
+ control keycode 67 = F9
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F20 Console_22
+ control keycode 68 = F10
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+ shift keycode 69 = Bare_Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+ altgr keycode 71 = Hex_7
+keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+ altgr keycode 72 = Hex_8
+keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+ altgr keycode 73 = Hex_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+ altgr keycode 75 = Hex_4
+keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+ altgr keycode 76 = Hex_5
+keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+ altgr keycode 77 = Hex_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+ altgr keycode 79 = Hex_1
+keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+ altgr keycode 80 = Hex_2
+keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+ altgr keycode 81 = Hex_3
+keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+ altgr keycode 82 = Hex_0
+keycode 83 = KP_Period
+# altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 87 = F11 F11 Console_23
+ control keycode 87 = F11
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F12 Console_24
+ control keycode 88 = F12
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+keycode 96 = KP_Enter
+keycode 97 = AltGr_Lock
+keycode 98 = KP_Divide
+keycode 99 = VoidSymbol
+ control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+# altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = Pause
diff --git a/keymaps/i386/qwerty/bg.kmap b/keymaps/i386/qwerty/bg.kmap
new file mode 100644
index 0000000..abd200d
--- /dev/null
+++ b/keymaps/i386/qwerty/bg.kmap
@@ -0,0 +1,291 @@
+# Bulgarian Cyrillic keyboard.map. "Cyrillic" mode is toggled by
+# Right_Ctrl key and shifted by AltGr key. Eugene Crosser's `ru.map'
+# was used as a template. Note that this is a "phonetic" keyboard,
+# not a `BDS' one! --L.Georgiev
+
+keymaps 0-4,6,8,10,12
+strings as usual
+
+ keycode 1 = Escape Escape Escape Escape
+ alt keycode 1 = Meta_Escape
+ keycode 2 = one exclam one exclam
+ alt keycode 2 = Meta_one
+ keycode 3 = two at two at
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+ keycode 4 = three numbersign three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ keycode 5 = four dollar four dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ keycode 6 = five percent five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ keycode 7 = six asciicircum six asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ keycode 8 = seven ampersand seven ampersand
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+ keycode 9 = eight asterisk eight asterisk
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+ keycode 10 = nine parenleft nine parenleft
+ alt keycode 10 = Meta_nine
+ keycode 11 = zero parenright zero parenright
+ alt keycode 11 = Meta_zero
+ keycode 12 = minus underscore minus underscore
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+ keycode 13 = equal plus +190 +158
+ alt keycode 13 = Meta_equal
+ keycode 14 = Delete Delete Delete Delete
+ control keycode 14 = BackSpace
+ alt keycode 14 = Meta_Delete
+ keycode 15 = Tab Tab Tab Tab
+ alt keycode 15 = Meta_Tab
+ keycode 16 = +q +Q +191 +159
+ control keycode 16 = Control_q
+altgr control keycode 16 = Control_q
+ keycode 17 = +w +W +162 +130
+ control keycode 17 = Control_w
+altgr control keycode 17 = Control_w
+ keycode 18 = +e +E +165 +133
+ control keycode 18 = Control_e
+altgr control keycode 18 = Control_e
+ keycode 19 = +r +R +176 +144
+ control keycode 19 = Control_r
+altgr control keycode 19 = Control_r
+ keycode 20 = +t +T +178 +146
+ control keycode 20 = Control_t
+altgr control keycode 20 = Control_t
+ keycode 21 = +y +Y +186 +154
+ control keycode 21 = Control_y
+altgr control keycode 21 = Control_y
+ keycode 22 = +u +U +179 +147
+ control keycode 22 = Control_u
+altgr control keycode 22 = Control_u
+ keycode 23 = +i +I +168 +136
+ control keycode 23 = Tab
+altgr control keycode 23 = Tab
+ keycode 24 = +o +O +174 +142
+ control keycode 24 = Control_o
+altgr control keycode 24 = Control_o
+ keycode 25 = +p +P +175 +143
+ control keycode 25 = Control_p
+altgr control keycode 25 = Control_p
+ keycode 26 = bracketleft braceleft +184 +152
+ control keycode 26 = Escape
+altgr control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ keycode 27 = bracketright braceright +185 +153
+ control keycode 27 = Control_bracketright
+altgr control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+ keycode 29 = Control
+ keycode 30 = +a +A +160 +128
+ control keycode 30 = Control_a
+altgr control keycode 30 = Control_a
+ keycode 31 = +s +S +177 +145
+ control keycode 31 = Control_s
+altgr control keycode 31 = Control_s
+ keycode 32 = +d +D +164 +132
+ control keycode 32 = Control_d
+altgr control keycode 32 = Control_d
+ keycode 33 = +f +F +180 +148
+ control keycode 33 = Control_f
+altgr control keycode 33 = Control_f
+ keycode 34 = +g +G +163 +131
+ control keycode 34 = Control_g
+altgr control keycode 34 = Control_g
+ keycode 35 = +h +H +181 +149
+ control keycode 35 = BackSpace
+altgr control keycode 35 = BackSpace
+ keycode 36 = +j +J +169 +137
+ control keycode 36 = Linefeed
+altgr control keycode 36 = Linefeed
+ keycode 37 = +k +K +170 +138
+ control keycode 37 = Control_k
+altgr control keycode 37 = Control_k
+ keycode 38 = +l +L +171 +139
+ control keycode 38 = Control_l
+altgr control keycode 38 = Control_l
+ keycode 39 = semicolon colon semicolon colon
+ alt keycode 39 = Meta_semicolon
+ keycode 40 = apostrophe quotedbl apostrophe quotedbl
+ control keycode 40 = Control_g
+altgr control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+ keycode 41 = grave asciitilde +183 +151
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+ keycode 42 = Shift
+ keycode 43 = backslash bar backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ keycode 44 = +z +Z +167 +135
+ control keycode 44 = Control_z
+altgr control keycode 44 = Control_z
+ keycode 45 = +x +X +188 +156
+ control keycode 45 = Control_x
+altgr control keycode 45 = Control_x
+ keycode 46 = +c +C +182 +150
+ control keycode 46 = Control_c
+altgr control keycode 46 = Control_c
+ keycode 47 = +v +V +166 +134
+ control keycode 47 = Control_v
+altgr control keycode 47 = Control_v
+ keycode 48 = +b +B +161 +129
+ control keycode 48 = Control_b
+altgr control keycode 48 = Control_b
+ keycode 49 = +n +N +173 +141
+ control keycode 49 = Control_n
+altgr control keycode 49 = Control_n
+ keycode 50 = +m +M +172 +140
+ control keycode 50 = Control_m
+altgr control keycode 50 = Control_m
+ keycode 51 = comma less comma less
+ alt keycode 51 = Meta_comma
+ keycode 52 = period greater period greater
+ alt keycode 52 = Meta_period
+ keycode 53 = slash question slash question
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+ keycode 54 = Shift
+ keycode 55 = KP_Multiply
+ keycode 56 = Alt
+ keycode 57 = space space space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ keycode 58 = Caps_Lock
+ keycode 59 = F1 F11 F1 F11
+ control keycode 59 = F1
+ alt keycode 59 = Console_1
+altgr alt keycode 59 = Console_1
+ keycode 60 = F2 F12 F2 F12
+ control keycode 60 = F2
+ alt keycode 60 = Console_2
+altgr alt keycode 60 = Console_2
+ keycode 61 = F3 F13 F3 F13
+ control keycode 61 = F3
+ alt keycode 61 = Console_3
+altgr alt keycode 61 = Console_3
+ keycode 62 = F4 F14 F4 F14
+ control keycode 62 = F4
+ alt keycode 62 = Console_4
+altgr alt keycode 62 = Console_4
+ keycode 63 = F5 F15 F5 F15
+ control keycode 63 = F5
+ alt keycode 63 = Console_5
+altgr alt keycode 63 = Console_5
+ keycode 64 = F6 F16 F6 F16
+ control keycode 64 = F6
+ alt keycode 64 = Console_6
+altgr alt keycode 64 = Console_6
+ keycode 65 = F7 F17 F7 F17
+ control keycode 65 = F7
+ alt keycode 65 = Console_7
+altgr alt keycode 65 = Console_7
+ keycode 66 = F8 F18 F8 F18
+ control keycode 66 = F8
+ alt keycode 66 = Console_8
+altgr alt keycode 66 = Console_8
+ keycode 67 = F9 F19 F9 F19
+ control keycode 67 = F9
+ alt keycode 67 = Console_9
+altgr alt keycode 67 = Console_9
+ keycode 68 = F10 F20 F10 F20
+ control keycode 68 = F10
+ alt keycode 68 = Console_10
+altgr alt keycode 68 = Console_10
+ keycode 69 = Num_Lock
+ keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+ keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+ keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+ keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+ keycode 74 = KP_Subtract
+ keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+ keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+ keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+ keycode 78 = KP_Add
+ keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+ keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+ keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+ keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+ keycode 83 = KP_Period
+altgr control keycode 83 = Boot
+control alt keycode 83 = Boot
+ keycode 84 = Last_Console
+ keycode 85 =
+ keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+ keycode 87 = F11 F11 F11 F11
+ control keycode 87 = F11
+ alt keycode 87 = Console_11
+altgr alt keycode 87 = Console_11
+ keycode 88 = F12 F12 F12 F12
+ control keycode 88 = F12
+ alt keycode 88 = Console_12
+altgr alt keycode 88 = Console_12
+ keycode 89 =
+ keycode 90 =
+ keycode 91 =
+ keycode 92 =
+ keycode 93 =
+ keycode 94 =
+ keycode 95 =
+ keycode 96 = KP_Enter
+ keycode 97 = AltGr_Lock
+ keycode 98 = KP_Divide
+ keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+ keycode 100 = AltGr
+ keycode 101 = Break
+ keycode 102 = Find
+ keycode 103 = Up
+ keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+ keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ keycode 107 = Select
+ keycode 108 = Down
+ keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+ keycode 110 = Insert
+ keycode 111 = Remove
+altgr control keycode 111 = Boot
+control alt keycode 111 = Boot
+ keycode 112 =
+ keycode 113 =
+ keycode 114 =
+ keycode 115 =
+ keycode 116 =
+ keycode 117 =
+ keycode 118 =
+ keycode 119 =
+ keycode 120 =
+ keycode 121 =
+ keycode 122 =
+ keycode 123 =
+ keycode 124 =
+ keycode 125 =
+ keycode 126 =
+ keycode 127 =
diff --git a/keymaps/i386/qwerty/br-abnt2.kmap b/keymaps/i386/qwerty/br-abnt2.kmap
new file mode 100644
index 0000000..9d50f83
--- /dev/null
+++ b/keymaps/i386/qwerty/br-abnt2.kmap
@@ -0,0 +1,77 @@
+# br-abnt2.map
+# Mapa para teclados ABNT2
+# Antonio Dias <accdias@sst.com.br>
+# Alterado por Rodolfo S. Antune (rodolfo@iei.org.br)
+# e Rafael B. Pitrovski (rafael@iei.org.br).
+# e Rafael Cunha de Almeida <almeidaraf@gmail.com>
+#
+# (slightly adapted, aeb)
+alt_is_meta
+keymaps 0-2,4-6,8,12
+include "qwerty-layout"
+ altgr keycode 19 = registered
+ altgr keycode 50 = mu
+include "linux-with-alt-and-altgr"
+include "euro"
+strings as usual
+compose as usual for "iso-8859-1"
+keycode 1 = Escape
+keycode 2 = one exclam onesuperior
+keycode 3 = two at twosuperior
+keycode 4 = three numbersign threesuperior
+ control keycode 4 = Escape
+keycode 5 = four dollar sterling Control_backslash
+keycode 6 = five percent cent
+keycode 7 = six dead_diaeresis notsign
+keycode 8 = seven ampersand braceleft Control_underscore
+keycode 9 = eight asterisk bracketleft Delete
+keycode 10 = nine parenleft bracketright
+keycode 11 = zero parenright braceright
+keycode 12 = minus underscore
+ control keycode 12 = Control_underscore
+keycode 13 = equal plus section
+keycode 14 = Delete
+ control keycode 14 = BackSpace
+keycode 15 = Tab
+keycode 26 = dead_acute dead_grave
+ control keycode 26 = Escape
+keycode 27 = bracketleft braceleft ordfeminine
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+
+keycode 39 = +ccedilla +Ccedilla
+keycode 40 = dead_tilde dead_circumflex
+ shift control keycode 40 = Control_asciicircum
+keycode 41 = apostrophe quotedbl
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = bracketright braceright masculine
+ control keycode 43 = Control_bracketright
+ control alt keycode 43 = Meta_Control_bracketright
+
+keycode 51 = comma less
+keycode 52 = period greater
+ control keycode 52 = Compose
+keycode 53 = semicolon colon
+keycode 54 = Shift
+
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+keycode 58 = Caps_Lock
+
+keycode 69 = Num_Lock
+ shift keycode 69 = Bare_Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 70 = Scroll_Lock
+
+keycode 83 = comma
+
+keycode 86 = backslash bar
+ alt keycode 86 = Meta_less
+keycode 89 = slash question degree questiondown
+keycode 97 = slash question degree questiondown
+
+keycode 121 = period
diff --git a/keymaps/i386/qwerty/br-latin1.kmap b/keymaps/i386/qwerty/br-latin1.kmap
new file mode 100644
index 0000000..8348037
--- /dev/null
+++ b/keymaps/i386/qwerty/br-latin1.kmap
@@ -0,0 +1,387 @@
+# us+.map
+# Baseado no us.map com adições de quinlan@spectrum.cs.bucknell.edu
+# (Daniel Quinlan) de 14 Mar 1994
+#
+# Adicionado suporte para acentuação por Carlos A M dos Santos,
+# casantos@cpmet.ufpel.tche.br
+#
+# 25-dez-1997
+# Adicionados comentários e correções.
+#
+# Este arquivo é distribuído sob os termos da GNU GPL versão 2.
+#
+charset "iso-8859-1"
+keymaps 0-15
+keycode 0 =
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam onesuperior exclamdown
+ alt keycode 2 = Meta_one
+ alt shift keycode 2 = Meta_exclam
+keycode 3 = two at twosuperior onehalf
+ control keycode 3 = nul
+ control shift keycode 3 = nul
+ alt keycode 3 = Meta_two
+ alt shift keycode 3 = Meta_at
+keycode 4 = three numbersign threesuperior threequarters
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ alt shift keycode 4 = Meta_numbersign
+keycode 5 = four dollar pound onequarter
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ alt shift keycode 5 = Meta_dollar
+keycode 6 = five percent cent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ alt shift keycode 6 = Meta_percent
+keycode 7 = six dead_circumflex notsign asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ alt shift keycode 7 = Meta_asciicircum
+keycode 8 = seven ampersand braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight asterisk bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenleft bracketright
+ alt keycode 10 = Meta_nine
+keycode 11 = zero parenright braceright
+ alt keycode 11 = Meta_zero
+keycode 12 = minus underscore backslash
+ control keycode 12 = Control_underscore
+ control shift keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = equal plus section
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 16 = q
+keycode 17 = w
+keycode 18 = e
+keycode 19 = r
+ altgr keycode 19 = registered
+keycode 20 = t
+keycode 21 = y
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+keycode 26 = bracketleft braceleft ordfeminine
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ alt shift keycode 26 = Meta_braceleft
+keycode 27 = bracketright braceright masculine
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ alt shift keycode 27 = Meta_braceright
+keycode 28 = Return
+ alt keycode 28 = 0x080d
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+keycode 39 = semicolon colon
+ alt keycode 39 = Meta_semicolon
+keycode 40 = dead_acute dead_diaeresis apostrophe quotedbl
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = dead_grave dead_tilde grave asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ alt shift keycode 43 = Meta_bar
+keycode 44 = z
+keycode 45 = x
+keycode 46 = c
+# Remova os coment
+# As DUAS linhas a seguir são realmente necessárias!
+# altgr keycode 46 = +ccedilla
+# altgr shift keycode 46 = +Ccedilla
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = m
+keycode 51 = comma less
+ alt keycode 51 = Meta_comma
+ alt shift keycode 51 = Meta_less
+keycode 52 = period greater
+ alt keycode 52 = Meta_period
+ alt shift keycode 52 = Meta_greater
+keycode 53 = slash question degree questiondown
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F11 Console_13
+ control keycode 59 = F1
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F12 Console_14
+ control keycode 60 = F2
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F13 Console_15
+ control keycode 61 = F3
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F14 Console_16
+ control keycode 62 = F4
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F15 Console_17
+ control keycode 63 = F5
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F16 Console_18
+ control keycode 64 = F6
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F17 Console_19
+ control keycode 65 = F7
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F18 Console_20
+ control keycode 66 = F8
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F19 Console_21
+ control keycode 67 = F9
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F20 Console_22
+ control keycode 68 = F10
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 87 = F11 F11 Console_23
+ control keycode 87 = F11
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F12 Console_24
+ control keycode 88 = F12
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+keycode 97 = Control
+#
+# Comente a linha anterior e remova o comentário da linha a seguir para
+# atribuir a função Compose à tecla Control direita:
+#keycode 97 = Compose
+keycode 98 = KP_Divide
+keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+#
+# Find é um sinônimo para Home no console, o que não ocorre no X.
+#
+keycode 102 = Find
+keycode 103 = Up
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+#
+# Select é um sinônimo para End no console, o que não ocorre no X.
+#
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 =
+keycode 113 =
+keycode 114 =
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 =
+keycode 119 =
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+#
+# Para os teclados padrão "Windows 95" podemos atribuir a função Compose
+# à tecla "janela direita":
+keycode 126 = Compose
+keycode 127 =
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string F21 = ""
+string F22 = ""
+string F23 = ""
+string F24 = ""
+string F25 = ""
+string F26 = ""
+#
+# Se quisermos o mesmo comportamento do X (ou de um terminal VT-*,
+# para ser mais exato) podemos usar as definições seguintes.
+# Cuidado! Isso pode confundir algumas aplicações.
+#
+# Observe que no console Home é apenas um sinônimo para Find, assim
+# como End é para Select.
+# string Home = "\033[7~"
+# string End = "\033[8~"
+
+# TODAS a definições a seguir são necessárias, pois tendo sido definida
+# uma regra de composição, todas as outras são perdidas!
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose ''' 'C' to 'Ç'
+compose ''' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose '"' 'y' to 'ÿ'
+compose 's' 'z' to 'ß'
+compose 'i' 'j' to 'ÿ'
diff --git a/keymaps/i386/qwerty/by.kmap b/keymaps/i386/qwerty/by.kmap
new file mode 100644
index 0000000..f417022
--- /dev/null
+++ b/keymaps/i386/qwerty/by.kmap
@@ -0,0 +1,587 @@
+# English <- Control+RightShift -> Russion
+# English <- Control+LeftShift -> Bielorussion
+#
+# Svistunovich Oleg Georgievich
+# Minsk, UGAI GUVD Mingorispolkoma
+
+charset "iso-8859-5"
+keymaps 0,1,4,8,9,12,16,17,20,24,25,28,32,33,36,40,41,44
+strings as usual
+
+keycode 1 = Escape Escape Escape \
+ Meta_Escape Meta_Escape Meta_Escape \
+ Escape Escape Escape \
+ Meta_Escape Meta_Escape Meta_Escape \
+ Escape Escape Escape \
+ Meta_Escape Meta_Escape Meta_Escape
+keycode 2 = one exclam VoidSymbol \
+ Meta_one Meta_exclam VoidSymbol \
+ one exclam VoidSymbol \
+ Meta_one Meta_exclam VoidSymbol \
+ one exclam VoidSymbol \
+ Meta_one Meta_exclam VoidSymbol
+keycode 3 = two at nul \
+ Meta_two Meta_at Meta_nul \
+ two quotedbl nul \
+ Meta_two Meta_quotedbl Meta_nul \
+ two quotedbl VoidSymbol \
+ Meta_two Meta_quotedbl VoidSymbol
+keycode 4 = three numbersign Escape \
+ Meta_three Meta_numbersign Meta_Escape \
+ three numbersign Escape \
+ Meta_three Meta_numbersign Meta_Escape \
+ three numbersign Escape \
+ Meta_three Meta_numbersign Meta_Escape
+keycode 5 = four dollar Control_backslash \
+ Meta_four Meta_dollar Meta_Control_backslash \
+ four semicolon Control_backslash \
+ Meta_four Meta_semicolon Meta_Control_backslash \
+ four semicolon Control_backslash \
+ Meta_four Meta_semicolon Meta_Control_backslash
+keycode 6 = five percent Control_bracketright \
+ Meta_five Meta_percent Meta_Control_bracketright \
+ five percent Control_bracketright \
+ Meta_five Meta_percent Meta_Control_bracketright \
+ five percent Control_bracketright \
+ Meta_five Meta_percent Meta_Control_bracketright
+keycode 7 = six asciicircum Control_asciicircum \
+ Meta_six Meta_asciicircum Meta_Control_asciicircum \
+ six colon Control_asciicircum \
+ Meta_six Meta_colon Meta_Control_asciicircum \
+ six colon Control_asciicircum \
+ Meta_six Meta_colon Meta_Control_asciicircum
+keycode 8 = seven ampersand Control_underscore \
+ Meta_seven Meta_ampersand Meta_Control_underscore \
+ seven question Control_underscore \
+ Meta_seven Meta_question Meta_Control_underscore \
+ seven question Control_underscore \
+ Meta_seven Meta_question Meta_Control_underscore
+keycode 9 = eight asterisk Delete \
+ Meta_eight Meta_asterisk Meta_Delete \
+ eight asterisk Delete \
+ Meta_eight Meta_asterisk Meta_Delete \
+ eight asterisk Delete \
+ Meta_eight Meta_asterisk Meta_Delete
+keycode 10 = nine parenleft VoidSymbol \
+ Meta_nine Meta_parenleft VoidSymbol \
+ nine parenleft VoidSymbol \
+ Meta_nine Meta_parenleft VoidSymbol \
+ nine parenleft VoidSymbol \
+ Meta_nine Meta_parenleft VoidSymbol
+keycode 11 = zero parenright VoidSymbol \
+ Meta_zero Meta_parenleft VoidSymbol \
+ zero parenright VoidSymbol \
+ Meta_zero Meta_parenleft VoidSymbol \
+ zero parenright VoidSymbol \
+ Meta_zero Meta_parenleft VoidSymbol
+keycode 12 = minus underscore Control_underscore \
+ Meta_minus Meta_underscore Meta_Control_underscore \
+ minus underscore Control_underscore \
+ Meta_minus Meta_underscore Meta_Control_underscore \
+ minus underscore Control_underscore \
+ Meta_minus Meta_underscore Meta_Control_underscore
+keycode 13 = equal plus VoidSymbol \
+ Meta_equal Meta_plus VoidSymbol \
+ equal plus VoidSymbol \
+ Meta_equal Meta_plus VoidSymbol \
+ equal plus VoidSymbol \
+ Meta_equal Meta_plus VoidSymbol
+keycode 14 = Delete Delete Delete \
+ Meta_Delete Meta_Delete Meta_Delete \
+ Delete Delete Delete \
+ Meta_Delete Meta_Delete Meta_Delete \
+ Delete Delete Delete \
+ Meta_Delete Meta_Delete Meta_Delete
+keycode 15 = Tab Tab Tab \
+ Meta_Tab Meta_Tab Meta_Tab \
+ Tab Tab Tab \
+ Meta_Tab Meta_Tab Meta_Tab \
+ Tab Tab Tab \
+ Meta_Tab Meta_Tab Meta_Tab
+keycode 16 = +q +Q Control_q \
+ Meta_q Meta_Q Meta_Control_q \
+ +0xD9 +0xB9 Control_q \
+ Meta_q Meta_Q Meta_Control_q \
+ +0xD9 +0xB9 Control_q \
+ Meta_q Meta_Q Meta_Control_q
+keycode 17 = +w +W Control_w \
+ Meta_w Meta_W Meta_Control_w \
+ +0xE6 +0xC6 Control_w \
+ Meta_w Meta_W Meta_Control_w \
+ +0xE6 +0xC6 Control_w \
+ Meta_w Meta_W Meta_Control_w
+keycode 18 = +e +E Control_e \
+ Meta_e Meta_E Meta_Control_e \
+ +0xE3 +0xC3 Control_e \
+ Meta_e Meta_E Meta_Control_e \
+ +0xE3 +0xC3 Control_e \
+ Meta_e Meta_E Meta_Control_e
+keycode 19 = +r +R Control_r \
+ Meta_r Meta_R Meta_Control_r \
+ +0xDA +0xBA Control_r \
+ Meta_r Meta_R Meta_Control_r \
+ +0xDA +0xBA Control_r \
+ Meta_r Meta_R Meta_Control_r
+keycode 20 = +t +T Control_t \
+ Meta_t Meta_T Meta_Control_t \
+ +0xD5 +0xB5 Control_t \
+ Meta_t Meta_T Meta_Control_t \
+ +0xD5 +0xB5 Control_t \
+ Meta_t Meta_T Meta_Control_t
+keycode 21 = +y +Y Control_y \
+ Meta_y Meta_Y Meta_Control_y \
+ +0xDD +0xBD Control_y \
+ Meta_y Meta_Y Meta_Control_y \
+ +0xDD +0xBD Control_y \
+ Meta_y Meta_Y Meta_Control_y
+keycode 22 = +u +U Control_u \
+ Meta_u Meta_U Meta_Control_u \
+ +0xD3 +0xB3 Control_u \
+ Meta_u Meta_U Meta_Control_u \
+ +0xD3 +0xB3 Control_u \
+ Meta_u Meta_U Meta_Control_u
+keycode 23 = +i +I Tab \
+ Meta_i Meta_I Meta_Tab \
+ +0xE8 +0xC8 Tab \
+ Meta_i Meta_I Meta_Tab \
+ +0xE8 +0xC8 Tab \
+ Meta_i Meta_I Meta_Tab
+keycode 24 = +o +O Control_o \
+ Meta_o Meta_O Meta_Control_o \
+ +0xF6 +0xA6 Control_o \
+ Meta_o Meta_O Meta_Control_o \
+ +0xE9 +0xC9 Control_o \
+ Meta_o Meta_O Meta_Control_o
+keycode 25 = +p +P Control_p \
+ Meta_p Meta_P Meta_Control_p \
+ +0xD7 +0xB7 Control_p \
+ Meta_p Meta_P Meta_Control_p \
+ +0xD7 +0xB7 Control_p \
+ Meta_p Meta_P Meta_Control_p
+keycode 26 = bracketleft braceleft Escape \
+ Meta_bracketleft Meta_braceleft Meta_Escape \
+ +0xE5 +0xC5 Escape \
+ Meta_bracketleft Meta_braceleft Meta_Escape \
+ +0xE5 +0xC5 Escape \
+ Meta_bracketleft Meta_braceleft Meta_Escape
+keycode 27 = bracketright braceright Control_bracketright \
+ Meta_bracketright Meta_braceright Meta_Control_bracketright \
+ +0xFE +0xAE Control_bracketright \
+ Meta_bracketright Meta_braceright Meta_Control_bracketright \
+ +0xEA +0xCA Control_bracketright \
+ Meta_bracketright Meta_braceright Meta_Control_bracketright
+keycode 28 = Return Return Return \
+ Meta_Control_m Meta_Control_m Return \
+ Return Return Return \
+ Meta_Control_m Meta_Control_m Return \
+ Return Return Return \
+ Meta_Control_m Meta_Control_m Return
+keycode 29 = Control Control Control \
+ Control Control Control \
+ Control Control Control \
+ Control Control Control \
+ Control Control Control \
+ Control Control Control
+keycode 30 = +a +A Control_a \
+ Meta_a Meta_A Meta_Control_a \
+ +0xE4 +0xC4 Control_a \
+ Meta_a Meta_A Meta_Control_a \
+ +0xE4 +0xC4 Control_a \
+ Meta_a Meta_A Meta_Control_a
+keycode 31 = +s +S Control_s \
+ Meta_s Meta_S Meta_Control_s \
+ +0xEB +0xCB Control_s \
+ Meta_s Meta_S Meta_Control_s \
+ +0xEB +0xCB Control_s \
+ Meta_s Meta_S Meta_Control_s
+keycode 32 = +d +D Control_d \
+ Meta_d Meta_D Meta_Control_d \
+ +0xD2 +0xB2 Control_d \
+ Meta_d Meta_D Meta_Control_d \
+ +0xD2 +0xB2 Control_d \
+ Meta_d Meta_D Meta_Control_d
+keycode 33 = +f +F Control_f \
+ Meta_f Meta_F Meta_Control_f \
+ +0xD0 +0xB0 Control_f \
+ Meta_f Meta_F Meta_Control_f \
+ +0xD0 +0xB0 Control_f \
+ Meta_f Meta_F Meta_Control_f
+keycode 34 = +g +G Control_g \
+ Meta_g Meta_G Meta_Control_g \
+ +0xDF +0xBF Control_g \
+ Meta_g Meta_G Meta_Control_g \
+ +0xDF +0xBF Control_g \
+ Meta_g Meta_G Meta_Control_g
+keycode 35 = +h +H BackSpace \
+ Meta_h Meta_H Meta_BackSpace \
+ +0xE0 +0xC0 BackSpace \
+ Meta_h Meta_H Meta_BackSpace \
+ +0xE0 +0xC0 BackSpace \
+ Meta_h Meta_H Meta_BackSpace
+keycode 36 = +j +J Linefeed \
+ Meta_j Meta_J Meta_Linefeed \
+ +0xDE +0xBE Linefeed \
+ Meta_j Meta_J Meta_Linefeed \
+ +0xDE +0xBE Linefeed \
+ Meta_j Meta_J Meta_Linefeed
+keycode 37 = +k +K Control_k \
+ Meta_k Meta_K Meta_Control_k \
+ +0xDB +0xBB Control_k \
+ Meta_k Meta_K Meta_Control_k \
+ +0xDB +0xBB Control_k \
+ Meta_k Meta_K Meta_Control_k
+keycode 38 = +l +L Control_l \
+ Meta_l Meta_L Meta_Control_l \
+ +0xD4 +0xB4 Control_l \
+ Meta_l Meta_L Meta_Control_l \
+ +0xD4 +0xB4 Control_l \
+ Meta_l Meta_L Meta_Control_l
+keycode 39 = semicolon colon VoidSymbol \
+ Meta_semicolon Meta_colon VoidSymbol \
+ +0xD6 +0xB6 VoidSymbol \
+ Meta_semicolon Meta_colon VoidSymbol \
+ +0xD6 +0xB6 VoidSymbol \
+ Meta_semicolon Meta_colon VoidSymbol
+keycode 40 = apostrophe quotedbl Control_g \
+ Meta_apostrophe Meta_quotedbl VoidSymbol \
+ +0xED +0xCD Control_g \
+ Meta_apostrophe Meta_quotedbl VoidSymbol \
+ +0xED +0xCD Control_g \
+ Meta_apostrophe Meta_quotedbl VoidSymbol
+keycode 41 = grave asciitilde nul \
+ Meta_grave Meta_asciitilde VoidSymbol \
+ +0xF1 +0xA1 nul \
+ Meta_grave Meta_asciitilde VoidSymbol \
+ +0xF1 +0xA1 nul \
+ Meta_grave Meta_asciitilde VoidSymbol
+keycode 42 = Shift Shift ShiftL_Lock \
+ Shift Shift Shift \
+ Shift Shift ShiftL_Lock \
+ Shift Shift Shift \
+ Shift Shift Shift \
+ Shift Shift Shift
+keycode 43 = backslash bar Control_backslash \
+ Meta_backslash Meta_bar Control_backslash \
+ backslash bar Control_backslash \
+ Meta_backslash Meta_bar Control_backslash \
+ backslash bar Control_backslash \
+ Meta_backslash Meta_bar Control_backslash
+keycode 44 = +z +Z Control_z \
+ Meta_z Meta_Z Meta_Control_z \
+ +0xEF +0xCF Control_z \
+ Meta_z Meta_Z Meta_Control_z \
+ +0xEF +0xCF Control_z \
+ Meta_z Meta_Z Meta_Control_z
+keycode 45 = +x +X Control_x \
+ Meta_x Meta_X Meta_Control_x \
+ +0xE7 +0xC7 Control_x \
+ Meta_x Meta_X Meta_Control_x \
+ +0xE7 +0xC7 Control_x \
+ Meta_x Meta_X Meta_Control_x
+keycode 46 = +c +C Control_c \
+ Meta_c Meta_C Meta_Control_c \
+ +0xE1 +0xC1 Control_c \
+ Meta_c Meta_C Meta_Control_c \
+ +0xE1 +0xC1 Control_c \
+ Meta_c Meta_C Meta_Control_c
+keycode 47 = +v +V Control_v \
+ Meta_v Meta_V Meta_Control_v \
+ +0xDC +0xBC Control_v \
+ Meta_v Meta_V Meta_Control_v \
+ +0xDC +0xBC Control_v \
+ Meta_v Meta_V Meta_Control_v
+keycode 48 = +b +B Control_b \
+ Meta_b Meta_B Meta_Control_b \
+ +0xD8 +0xB8 Control_b \
+ Meta_b Meta_B Meta_Control_b \
+ +0xD8 +0xB8 Control_b \
+ Meta_b Meta_B Meta_Control_b
+keycode 49 = +n +N Control_n \
+ Meta_n Meta_N Meta_Control_n \
+ +0xE2 +0xC2 Control_t \
+ Meta_n Meta_N Meta_Control_n \
+ +0xE2 +0xC2 Control_t \
+ Meta_n Meta_N Meta_Control_n
+keycode 50 = +m +M Control_m \
+ Meta_m Meta_M Meta_Control_m \
+ +0xEC +0xCC Control_m \
+ Meta_m Meta_M Meta_Control_m \
+ +0xEC +0xCC Control_m \
+ Meta_m Meta_M Meta_Control_m
+keycode 51 = comma less VoidSymbol \
+ Meta_comma Meta_less VoidSymbol \
+ +0xD1 +0xB1 VoidSymbol \
+ Meta_comma Meta_less VoidSymbol \
+ +0xD1 +0xB1 VoidSymbol \
+ Meta_comma Meta_less VoidSymbol
+keycode 52 = period greater VoidSymbol \
+ Meta_period Meta_greater VoidSymbol \
+ +0xEE +0xCE VoidSymbol \
+ Meta_period Meta_greater VoidSymbol \
+ +0xEE +0xCE VoidSymbol \
+ Meta_period Meta_greater VoidSymbol
+keycode 53 = slash question Delete \
+ Meta_slash Meta_question VoidSymbol \
+ period comma Delete \
+ Meta_slash Meta_question VoidSymbol \
+ period comma Delete \
+ Meta_slash Meta_question VoidSymbol
+keycode 54 = Shift Shift ShiftR_Lock \
+ Shift Shift Shift \
+ Shift Shift Shift \
+ Shift Shift Shift \
+ Shift Shift ShiftR_Lock \
+ Shift Shift Shift
+keycode 55 = KP_Multiply KP_Multiply Hex_C \
+ KP_Multiply KP_Multiply KP_Multiply \
+ KP_Multiply KP_Multiply Hex_C \
+ KP_Multiply KP_Multiply KP_Multiply \
+ KP_Multiply KP_Multiply Hex_C \
+ KP_Multiply KP_Multiply KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space nul \
+ Meta_space Meta_space Meta_nul \
+ space space nul \
+ Meta_space Meta_space Meta_nul \
+ space space nul \
+ Meta_space Meta_space Meta_nul
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 F25 \
+ Console_1 Console_13 Console_1 \
+ F1 F13 F25 \
+ Console_1 Console_13 Console_1 \
+ F1 F13 F25 \
+ Console_1 Console_13 Console_1
+keycode 60 = F2 F14 F26 \
+ Console_2 Console_14 Console_2 \
+ F2 F14 F26 \
+ Console_2 Console_14 Console_2 \
+ F2 F14 F26 \
+ Console_2 Console_14 Console_2
+keycode 61 = F3 F15 F27 \
+ Console_3 Console_15 Console_3 \
+ F3 F15 F27 \
+ Console_3 Console_15 Console_3 \
+ F3 F15 F27 \
+ Console_3 Console_15 Console_3
+keycode 62 = F4 F16 F28 \
+ Console_4 Console_16 Console_4 \
+ F4 F16 F28 \
+ Console_4 Console_16 Console_4 \
+ F4 F16 F28 \
+ Console_4 Console_16 Console_4
+keycode 63 = F5 F17 F29 \
+ Console_5 Console_17 Console_5 \
+ F5 F17 F29 \
+ Console_5 Console_17 Console_5 \
+ F5 F17 F29 \
+ Console_5 Console_17 Console_5
+keycode 64 = F6 F18 F30 \
+ Console_6 Console_18 Console_6 \
+ F6 F18 F30 \
+ Console_6 Console_18 Console_6 \
+ F6 F18 F30 \
+ Console_6 Console_18 Console_6
+keycode 65 = F7 F19 F31 \
+ Console_7 Console_19 Console_7 \
+ F7 F19 F31 \
+ Console_7 Console_19 Console_7 \
+ F7 F19 F31 \
+ Console_7 Console_19 Console_7
+keycode 66 = F8 F20 F32 \
+ Console_8 Console_20 Console_8 \
+ F8 F20 F32 \
+ Console_8 Console_20 Console_8 \
+ F8 F20 F32 \
+ Console_8 Console_20 Console_8
+keycode 67 = F9 F21 F33 \
+ Console_9 Console_21 Console_9 \
+ F9 F21 F33 \
+ Console_9 Console_21 Console_9 \
+ F9 F21 F33 \
+ Console_9 Console_21 Console_9
+keycode 68 = F10 F22 F34 \
+ Console_10 Console_22 Console_10 \
+ F10 F22 F34 \
+ Console_10 Console_22 Console_10 \
+ F10 F22 F34 \
+ Console_10 Console_22 Console_10
+keycode 69 = Num_Lock Num_Lock Hex_E \
+ Num_Lock Num_Lock Num_Lock \
+ Num_Lock Num_Lock Hex_E \
+ Num_Lock Num_Lock Num_Lock \
+ Num_Lock Num_Lock Hex_E \
+ Num_Lock Num_Lock Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_State \
+ Show_Registers VoidSymbol Scroll_Lock \
+ Scroll_Lock Show_Memory Show_State \
+ Show_Registers VoidSymbol Scroll_Lock \
+ Scroll_Lock Show_Memory Show_State \
+ Show_Registers VoidSymbol Scroll_Lock
+keycode 71 = KP_7 KP_7 Hex_7 \
+ Ascii_7 KP_7 KP_7 \
+ KP_7 KP_7 Hex_7 \
+ Ascii_7 KP_7 KP_7 \
+ KP_7 KP_7 Hex_7 \
+ Ascii_7 KP_7 KP_7
+keycode 72 = KP_8 KP_8 Hex_8 \
+ Ascii_8 KP_8 KP_8 \
+ KP_8 KP_8 Hex_8 \
+ Ascii_8 KP_8 KP_8 \
+ KP_8 KP_8 Hex_8 \
+ Ascii_8 KP_8 KP_8
+keycode 73 = KP_9 KP_9 Hex_9 \
+ Ascii_9 KP_9 KP_9 \
+ KP_9 KP_9 Hex_9 \
+ Ascii_9 KP_9 KP_9 \
+ KP_9 KP_9 Hex_9 \
+ Ascii_9 KP_9 KP_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4 KP_4 Hex_4 \
+ Ascii_4 KP_4 KP_4 \
+ KP_4 KP_4 Hex_4 \
+ Ascii_4 KP_4 KP_4 \
+ KP_4 KP_4 Hex_4 \
+ Ascii_4 KP_4 KP_4
+keycode 76 = KP_5 KP_5 Hex_5 \
+ Ascii_5 KP_5 KP_5 \
+ KP_5 KP_5 Hex_5 \
+ Ascii_5 KP_5 KP_5 \
+ KP_5 KP_5 Hex_5 \
+ Ascii_5 KP_5 KP_5
+keycode 77 = KP_6 KP_6 Hex_6 \
+ Ascii_6 KP_6 KP_6 \
+ KP_6 KP_6 Hex_6 \
+ Ascii_6 KP_6 KP_6 \
+ KP_6 KP_6 Hex_6 \
+ Ascii_6 KP_6 KP_6
+keycode 78 = KP_Add
+keycode 79 = KP_1 KP_1 Hex_1 \
+ Ascii_1 KP_1 KP_1 \
+ KP_1 KP_1 Hex_1 \
+ Ascii_1 KP_1 KP_1 \
+ KP_1 KP_1 Hex_1 \
+ Ascii_1 KP_1 KP_1
+keycode 80 = KP_2 KP_2 Hex_2 \
+ Ascii_2 KP_2 KP_2 \
+ KP_2 KP_2 Hex_2 \
+ Ascii_2 KP_2 KP_2 \
+ KP_2 KP_2 Hex_2 \
+ Ascii_2 KP_2 KP_2
+keycode 81 = KP_3 KP_3 Hex_3 \
+ Ascii_3 KP_3 KP_3 \
+ KP_3 KP_3 Hex_3 \
+ Ascii_3 KP_3 KP_3 \
+ KP_3 KP_3 Hex_3 \
+ Ascii_3 KP_3 KP_3
+keycode 82 = KP_0 KP_0 Hex_0 \
+ Ascii_0 KP_0 KP_0 \
+ KP_0 KP_0 Hex_0 \
+ Ascii_0 KP_0 KP_0 \
+ KP_0 KP_0 Hex_0 \
+ Ascii_0 KP_0 KP_0
+keycode 83 = KP_Period KP_Period KP_Period \
+ KP_Period KP_Period Boot \
+ KP_Period KP_Period KP_Period \
+ KP_Period KP_Period Boot \
+ KP_Period KP_Period KP_Period \
+ KP_Period KP_Period Boot
+keycode 84 = Last_Console
+keycode 85 = VoidSymbol
+keycode 86 = less greater bar \
+ Meta_less Meta_greater Meta_bar \
+ less greater bar \
+ Meta_less Meta_greater Meta_bar \
+ less greater bar \
+ Meta_less Meta_greater Meta_bar
+keycode 87 = F11 F23 F35 \
+ Console_11 Console_23 Console_11 \
+ F11 F23 F35 \
+ Console_11 Console_23 Console_11 \
+ F11 F23 F35 \
+ Console_11 Console_23 Console_11
+keycode 88 = F12 F24 F36 \
+ Console_12 Console_24 Console_12 \
+ F12 F24 F36 \
+ Console_12 Console_24 Console_12 \
+ F12 F24 F36 \
+ Console_12 Console_24 Console_12
+keycode 89 = VoidSymbol
+keycode 90 = VoidSymbol
+keycode 91 = VoidSymbol
+keycode 92 = VoidSymbol
+keycode 93 = VoidSymbol
+keycode 94 = VoidSymbol
+keycode 95 = VoidSymbol
+keycode 96 = KP_Enter
+keycode 97 = Control
+keycode 98 = KP_Divide KP_Divide Hex_B \
+ KP_Divide KP_Divide KP_Divide \
+ KP_Divide KP_Divide Hex_B \
+ KP_Divide KP_Divide KP_Divide \
+ KP_Divide KP_Divide Hex_B \
+ KP_Divide KP_Divide KP_Divide
+keycode 99 = VoidSymbol Control_backslash Control_backslash \
+ Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash \
+ Control_backslash Control_backslash Control_backslash \
+ Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash \
+ Control_backslash Control_backslash Control_backslash \
+ Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash
+keycode 100 = Alt
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up Up Up \
+ KeyboardSignal Up Up \
+ Up Up Up \
+ KeyboardSignal Up Up \
+ Up Up Up \
+ KeyboardSignal Up Up
+keycode 104 = Prior Scroll_Backward Prior \
+ Prior Prior Prior \
+ Prior Scroll_Backward Prior \
+ Prior Prior Prior \
+ Prior Scroll_Backward Prior \
+ Prior Prior Prior
+keycode 105 = Left Left Left \
+ Decr_Console Left Left \
+ Left Left Left \
+ Decr_Console Left Left \
+ Left Left Left \
+ Decr_Console Left Left
+keycode 106 = Right Right Right \
+ Incr_Console Right Right \
+ Right Right Right \
+ Incr_Console Right Right \
+ Right Right Right \
+ Incr_Console Right Right
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next Scroll_Forward Next \
+ Next Next Next \
+ Next Scroll_Forward Next \
+ Next Next Next \
+ Next Scroll_Forward Next \
+ Next Next Next
+keycode 110 = Insert
+keycode 111 = Remove Remove Remove \
+ Remove Remove Boot \
+ Remove Remove Remove \
+ Remove Remove Boot \
+ Remove Remove Remove \
+ Remove Remove Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = Pause
+keycode 120 = VoidSymbol
+keycode 121 = VoidSymbol
+keycode 122 = VoidSymbol
+keycode 123 = VoidSymbol
+keycode 124 = VoidSymbol
+keycode 125 = VoidSymbol
+keycode 126 = VoidSymbol
+keycode 127 = VoidSymbol
diff --git a/keymaps/i386/qwerty/ca-multi.kmap b/keymaps/i386/qwerty/ca-multi.kmap
new file mode 100644
index 0000000..226d81d
--- /dev/null
+++ b/keymaps/i386/qwerty/ca-multi.kmap
@@ -0,0 +1,119 @@
+# Canadian Multilingual keyboard
+#
+# Built from the Canadian-French keymap
+# Christian Perrier <bubulle@debian.org>
+# 2008
+#
+include "qwerty-layout"
+include "linux-with-alt-and-altgr"
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam onesuperior exclamdown
+ alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+keycode 3 = two at twosuperior
+ control keycode 3 = nul
+ shift control keycode 3 = nul
+ alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_at
+keycode 4 = three numbersign threesuperior pound
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ shift alt keycode 4 = Meta_numbersign
+keycode 5 = four dollar onequarter currency
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+keycode 6 = five percent onehalf
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+keycode 7 = six question threequarters
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_asciicircum
+keycode 8 = seven ampersand
+ control keycode 8 = Control_underscore
+ alt keycode 8 = braceleft
+keycode 9 = eight asterisk
+ control keycode 9 = Delete
+ alt keycode 9 = braceright
+keycode 10 = nine parenleft nul plusminus
+ alt keycode 10 = bracketleft
+keycode 11 = zero parenright
+ alt keycode 11 = bracketright
+keycode 12 = minus underscore nul questiondown
+ control keycode 12 = Control_underscore
+ shift control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = equal plus
+ alt keycode 13 = notsign
+keycode 14 = Delete Delete
+ control keycode 14 = BackSpace
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 19 = +r +R paragraph registered
+ alt keycode 15 = Meta_Tab
+keycode 21 = +y +Y nul yen
+ alt keycode 15 = Meta_Tab
+keycode 24 = +o +O oslash Ooblique
+ alt keycode 15 = Meta_Tab
+keycode 25 = +p +P thorn THORN
+ alt keycode 15 = Meta_Tab
+keycode 26 = dead_circumflex dead_diaeresis nul degree
+ control keycode 26 = Escape
+ alt keycode 26 = dead_grave
+ shift alt keycode 26 = Meta_braceleft
+keycode 27 = ccedilla Ccedilla dead_tilde macron
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = asciitilde
+ shift alt keycode 27 = Meta_braceright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = +a +A +ae +AE
+ alt keycode 15 = Meta_Tab
+keycode 31 = +s +S ssharp section
+ alt keycode 15 = Meta_Tab
+keycode 32 = +d +D eth ETH
+ alt keycode 15 = Meta_Tab
+keycode 33 = +f +F nul masculine
+ alt keycode 15 = Meta_Tab
+keycode 39 = semicolon colon dead_acute
+ alt keycode 39 = degree
+keycode 40 = egrave Egrave
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = slash backslash nul hyphen
+ alt keycode 41 = bar
+keycode 42 = Shift
+keycode 43 = agrave Agrave
+keycode 44 = +z +Z
+ alt keycode 44 = guillemotleft
+keycode 45 = +x +X
+ alt keycode 44 = guillemotright
+keycode 46 = +c +C cent copyright
+keycode 50 = +m +M +mu masculine
+keycode 51 = comma apostrophe nul multiply
+ alt keycode 51 = less
+ shift alt keycode 51 = Meta_less
+keycode 52 = period quotedbl periodcentered division
+ control keycode 52 = Compose
+ alt keycode 52 = greater
+ shift alt keycode 52 = Meta_greater
+keycode 53 = +eacute +Eacute
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space space nobreakspace
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = ugrave Ugrave nul bar
+ alt keycode 86 = Meta_less
+keycode 97 = Control
diff --git a/keymaps/i386/qwerty/cf.kmap b/keymaps/i386/qwerty/cf.kmap
new file mode 100644
index 0000000..71faded
--- /dev/null
+++ b/keymaps/i386/qwerty/cf.kmap
@@ -0,0 +1,105 @@
+# French-Canadian keyboard
+#
+# Original from Simon Kaczor <shogun@step.polymtl.ca>
+# Corrections by Nicolas Pitre <nico@cam.org>
+# April 5, 1997
+#
+keymaps 0-6,8-9,12
+include "qwerty-layout"
+ altgr keycode 24 = section
+ altgr keycode 25 = paragraph
+ altgr keycode 50 = mu
+include "linux-with-alt-and-altgr"
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam plusminus
+ alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+keycode 3 = two quotedbl at
+ control keycode 3 = nul
+ shift control keycode 3 = nul
+ alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_at
+keycode 4 = three slash sterling
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ shift alt keycode 4 = Meta_numbersign
+keycode 5 = four dollar cent
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+keycode 6 = five percent currency
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+keycode 7 = six question notsign
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_asciicircum
+keycode 8 = seven ampersand brokenbar
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight asterisk twosuperior
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenleft threesuperior
+ alt keycode 10 = Meta_nine
+keycode 11 = zero parenright onequarter
+ alt keycode 11 = Meta_zero
+keycode 12 = minus underscore onehalf
+ control keycode 12 = Control_underscore
+ shift control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = equal plus threequarters
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete
+ control keycode 14 = BackSpace
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 26 = dead_circumflex dead_circumflex bracketleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ shift alt keycode 26 = Meta_braceleft
+keycode 27 = dead_cedilla dead_diaeresis bracketright
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ shift alt keycode 27 = Meta_braceright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = semicolon colon asciitilde
+ alt keycode 39 = Meta_semicolon
+keycode 40 = dead_grave dead_grave braceleft
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = numbersign bar backslash
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = less greater braceright
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ shift alt keycode 43 = Meta_bar
+keycode 51 = comma apostrophe underscore
+ alt keycode 51 = Meta_comma
+ shift alt keycode 51 = Meta_less
+keycode 52 = period period
+ control keycode 52 = Compose
+ alt keycode 52 = Meta_period
+ shift alt keycode 52 = Meta_greater
+keycode 53 = +eacute +Eacute dead_acute
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = guillemotleft guillemotright degree
+ alt keycode 86 = Meta_less
+keycode 97 = Control
diff --git a/keymaps/i386/qwerty/cz-lat2-prog.kmap b/keymaps/i386/qwerty/cz-lat2-prog.kmap
new file mode 100644
index 0000000..6c41f4b
--- /dev/null
+++ b/keymaps/i386/qwerty/cz-lat2-prog.kmap
@@ -0,0 +1,261 @@
+# Czech ISO 8859-2 keyboard map for text console
+# Written and (c) copyright by Jan Kasprzak (kas@ics.muni.cz)
+# You can distribute this file under the terms of GNU General
+# Public License (GPL). See the file COPYING.
+# Modified by Jan Kybic, kybic@earn.cvut.cz
+#
+# Ceska klavesnice se zapne a vypne klavesou Pause.
+# Klavesou AltGr (Right Alt) je mozne se prepnout z ceske do US a naopak.
+# Klavesa Pause pak funguje jako AltGr-lock.
+#
+# Klavesnice je programatorska - klavesy prvni rady generuji mala
+# akcentovana pismena, se Shiftem pak cislice. Ostatni pismena s diakritikou
+# je nutne psat pomoci mrtve klavesy, coz je klavesa s kodem 86 - v mem
+# pripade je to klavesa vlevo od Z, puvodne dublujici klavesu s kodem 43,
+# t.j. '\' a '|'. Vyznam ostatnich klaves zustava nezmenen.
+#
+# Contributed by "Pavel JANIK ml." <pjanik@aida.inet.cz>
+# Date: Thu, 6 Mar 1997 20:24:27 +0100 (MET)
+# ftp site: ftp://ftp.inet.cz/pub/People/Pavel.Janik/CzechKeyMaps/
+#
+charset "iso-8859-2"
+keymaps 0-15
+strings as usual
+keycode 1 = Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 2 = one exclam plus one VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_one Meta_one Meta_one
+keycode 3 = two at ecaron two nul nul nul nul Meta_two Meta_two Meta_two Meta_two
+keycode 4 = three numbersign scaron three Escape VoidSymbol Escape VoidSymbol Meta_three Meta_three Meta_three Meta_three Meta_three
+keycode 5 = four dollar ccaron four Control_backslash VoidSymbol Control_backslash VoidSymbol Meta_four Meta_four Meta_four Meta_four
+keycode 6 = five percent rcaron five Control_bracketright VoidSymbol Control_bracketright VoidSymbol Meta_five Meta_five Meta_five Meta_five
+keycode 7 = six asciicircum zcaron six Control_asciicircum VoidSymbol Control_asciicircum VoidSymbol Meta_six Meta_six Meta_six Meta_six
+keycode 8 = seven ampersand yacute seven Control_underscore VoidSymbol Control_underscore VoidSymbol Meta_seven Meta_seven Meta_seven Meta_seven
+keycode 9 = eight asterisk aacute eight Delete VoidSymbol Delete VoidSymbol Meta_eight Meta_eight Meta_eight Meta_eight
+keycode 10 = nine parenleft iacute nine VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_nine Meta_nine Meta_nine
+keycode 11 = zero parenright eacute zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_zero Meta_zero Meta_zero
+keycode 12 = minus underscore minus underscore Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_minus Meta_minus Meta_minus
+keycode 13 = equal plus dead_acute dead_circumflex VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_equal Meta_equal Meta_equal
+keycode 14 = Delete Delete Delete Delete VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Delete Meta_Delete Meta_Delete Meta_Delete
+keycode 15 = Tab Tab Tab Tab VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+keycode 16 = q
+keycode 17 = w
+keycode 18 = e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = y
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+keycode 26 = bracketleft braceleft bracketleft braceleft
+keycode 27 = bracketright braceright bracketright braceright
+keycode 28 = Return
+altgr keycode 28 = Return
+alt keycode 28 = Meta_Control_m
+alt altgr keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+keycode 39 = semicolon colon semicolon colon
+keycode 40 = apostrophe quotedbl apostrophe quotedbl
+keycode 41 = grave asciitilde grave asciitilde
+keycode 42 = Shift
+keycode 43 = backslash bar backslash bar
+keycode 44 = z
+keycode 45 = x
+keycode 46 = c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = m
+keycode 51 = comma less comma less
+alt keycode 51 = Meta_comma
+alt altgr keycode 51 = Meta_comma
+keycode 52 = period greater period greater
+keycode 53 = slash question slash question
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space space space nul nul nul nul Meta_space Meta_space Meta_space Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 F1 F13 F1 VoidSymbol F1 VoidSymbol Console_1 VoidSymbol Console_1
+keycode 60 = F2 F14 F2 F14 F2 VoidSymbol F2 VoidSymbol Console_2 VoidSymbol Console_2
+keycode 61 = F3 F15 F3 F15 F3 VoidSymbol F3 VoidSymbol Console_3 VoidSymbol Console_3
+keycode 62 = F4 F16 F4 F15 F4 VoidSymbol F4 VoidSymbol Console_4 VoidSymbol Console_4
+keycode 63 = F5 F17 F5 F15 F5 VoidSymbol F5 VoidSymbol Console_5 VoidSymbol Console_5
+keycode 64 = F6 F18 F6 F15 F6 VoidSymbol F6 VoidSymbol Console_6 VoidSymbol Console_6
+keycode 65 = F7 F19 F7 F15 F7 VoidSymbol F7 VoidSymbol Console_7 VoidSymbol Console_7
+keycode 66 = F8 F20 F8 F15 F8 VoidSymbol F8 VoidSymbol Console_8 VoidSymbol Console_8
+keycode 67 = F9 F9 F9 F9 F9 VoidSymbol F9 VoidSymbol Console_9 VoidSymbol Console_9
+keycode 68 = F10 F10 F10 F10 F10 VoidSymbol F10 VoidSymbol Console_10 VoidSymbol Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+control keycode 70 = Show_State
+alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = backslash bar dead_acute dead_circumflex
+alt keycode 86 = Meta_less
+keycode 87 = F11 F11 F11 F11 F11 VoidSymbol F11 VoidSymbol Console_11 VoidSymbol Console_11
+keycode 88 = F12 F12 F12 F12 F12 VoidSymbol F12 VoidSymbol Console_12 VoidSymbol Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+keycode 97 = Control
+keycode 98 = KP_Divide
+keycode 99 = Control_backslash
+control keycode 99 = Control_backslash
+alt keycode 99 = Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+keycode 104 = Prior
+shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ alt altgr keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ alt altgr keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+control alt keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+compose ',' 'A' to '¡'
+compose '/' 'L' to '£'
+compose '^' 'L' to '¥'
+compose '\'' 'S' to '¦'
+compose '^' 'S' to '©'
+compose ',' 'S' to 'ª'
+compose '^' 'T' to '«'
+compose '\'' 'Z' to '¬'
+compose '^' 'Z' to '®'
+compose '.' 'Z' to '¯'
+compose ',' 'a' to '±'
+compose '/' 'l' to '³'
+compose '^' 'l' to 'µ'
+compose '\'' 's' to '¶'
+compose '^' 's' to '¹'
+compose ',' 's' to 'º'
+compose '^' 't' to '»'
+compose '\'' 'z' to '¼'
+compose '^' 'z' to '¾'
+compose '.' 'z' to '¿'
+compose '\'' 'R' to 'À'
+compose '\'' 'A' to 'Á'
+compose '^' 'A' to 'Â'
+compose '^' 'A' to 'Ã'
+compose ':' 'A' to 'Ä'
+compose '\'' 'L' to 'Å'
+compose '\'' 'C' to 'Æ'
+compose ',' 'C' to 'Ç'
+compose '^' 'C' to 'È'
+compose '\'' 'E' to 'É'
+compose ',' 'E' to 'Ê'
+compose '"' 'E' to 'Ë'
+compose '^' 'E' to 'Ì'
+compose '\'' 'I' to 'Í'
+compose '^' 'I' to 'Î'
+compose '^' 'D' to 'Ï'
+compose '-' 'D' to 'Ð'
+compose '\'' 'N' to 'Ñ'
+compose '^' 'N' to 'Ò'
+compose '\'' 'O' to 'Ó'
+compose '^' 'O' to 'Ô'
+compose '"' 'O' to 'Õ'
+compose ':' 'O' to 'Ö'
+compose '^' 'R' to 'Ø'
+compose '^' 'U' to 'Ù'
+compose '\'' 'U' to 'Ú'
+compose '"' 'U' to 'Û'
+compose ':' 'U' to 'Ü'
+compose '\'' 'Y' to 'Ý'
+compose ',' 'T' to 'Þ'
+compose 's' 's' to 'ß'
+compose 'S' 'S' to 'ß'
+compose '\'' 'r' to 'à'
+compose '\'' 'a' to 'á'
+compose '^' 'a' to 'â'
+compose '^' 'a' to 'ã'
+compose ':' 'a' to 'ä'
+compose '\'' 'l' to 'å'
+compose '\'' 'c' to 'æ'
+compose ',' 'c' to 'ç'
+compose '^' 'c' to 'è'
+compose '\'' 'e' to 'é'
+compose ',' 'e' to 'ê'
+compose ':' 'e' to 'ë'
+compose '^' 'e' to 'ì'
+compose '\'' 'i' to 'í'
+compose '^' 'e' to 'î'
+compose '^' 'd' to 'ï'
+compose '-' 'd' to 'ð'
+compose '\'' 'n' to 'ñ'
+compose '^' 'n' to 'ò'
+compose '\'' 'o' to 'ó'
+compose '^' 'o' to 'ô'
+compose ':' 'o' to 'õ'
+compose '"' 'o' to 'ö'
+compose '^' 'r' to 'ø'
+compose '^' 'u' to 'ù'
+compose '\'' 'u' to 'ú'
+compose '\'' 'u' to 'ú'
+compose '"' 'u' to 'û'
+compose ':' 'u' to 'ü'
+compose '\'' 'y' to 'ý'
+compose ',' 't' to 'þ'
diff --git a/keymaps/i386/qwerty/cz-lat2.kmap b/keymaps/i386/qwerty/cz-lat2.kmap
new file mode 100644
index 0000000..a7f2e34
--- /dev/null
+++ b/keymaps/i386/qwerty/cz-lat2.kmap
@@ -0,0 +1,257 @@
+# Czech ISO 8859-2 keyboard map for text console
+# Written and (c) copyright by Jan Kasprzak (kas@ics.muni.cz)
+# You can distribute this file under the terms of GNU General
+# Public License (GPL). See the file COPYING.
+#
+# Ceska klavesnice se zapne a vypne klavesou Pause.
+# Klavesou AltGr (Right Alt) je mozne se prepnout z ceske do US a naopak.
+# Klavesa Pause pak funguje jako AltGr-lock.
+#
+# Klavesnice je kompletne ceska, krome jedineho pripadu:
+# Ma rozlozeni klaves qwerty a nikoliv qwertz, jak je tomu
+# na standardnim ceskem psacim stroji.
+#
+# Contributed by "Pavel JANIK ml." <pjanik@aida.inet.cz>
+# Date: Thu, 6 Mar 1997 20:24:27 +0100 (MET)
+# ftp site: ftp://ftp.inet.cz/pub/People/Pavel.Janik/CzechKeyMaps/
+#
+charset "iso-8859-2"
+keymaps 0-15
+strings as usual
+keycode 1 = Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 2 = one exclam plus one VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_one Meta_one Meta_one
+keycode 3 = two at ecaron two nul nul nul nul Meta_two Meta_two Meta_two Meta_two
+keycode 4 = three numbersign scaron three Escape VoidSymbol Escape VoidSymbol Meta_three Meta_three Meta_three Meta_three Meta_three
+keycode 5 = four dollar ccaron four Control_backslash VoidSymbol Control_backslash VoidSymbol Meta_four Meta_four Meta_four Meta_four
+keycode 6 = five percent rcaron five Control_bracketright VoidSymbol Control_bracketright VoidSymbol Meta_five Meta_five Meta_five Meta_five
+keycode 7 = six asciicircum zcaron six Control_asciicircum VoidSymbol Control_asciicircum VoidSymbol Meta_six Meta_six Meta_six Meta_six
+keycode 8 = seven ampersand yacute seven Control_underscore VoidSymbol Control_underscore VoidSymbol Meta_seven Meta_seven Meta_seven Meta_seven
+keycode 9 = eight asterisk aacute eight Delete VoidSymbol Delete VoidSymbol Meta_eight Meta_eight Meta_eight Meta_eight
+keycode 10 = nine parenleft iacute nine VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_nine Meta_nine Meta_nine
+keycode 11 = zero parenright eacute zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_zero Meta_zero Meta_zero
+keycode 12 = minus underscore equal percent Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_minus Meta_minus Meta_minus
+keycode 13 = equal plus dead_acute dead_circumflex VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_equal Meta_equal Meta_equal
+keycode 14 = Delete Delete Delete Delete VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Delete Meta_Delete Meta_Delete Meta_Delete
+keycode 15 = Tab Tab Tab Tab VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+keycode 16 = q
+keycode 17 = w
+keycode 18 = e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = y
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+keycode 26 = bracketleft braceleft uacute slash Escape VoidSymbol Escape VoidSymbol Meta_bracketleft Meta_bracketleft Meta_bracketleft Meta_bracketleft
+keycode 27 = bracketright braceright parenright parenleft Control_bracketright VoidSymbol Control_bracketright VoidSymbol Meta_bracketright Meta_bracketright Meta_bracketright Meta_bracketright
+keycode 28 = Return
+altgr keycode 28 = Return
+alt keycode 28 = Meta_Control_m
+alt altgr keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+keycode 39 = semicolon colon uring quotedbl VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_semicolon Meta_semicolon Meta_semicolon Meta_semicolon
+keycode 40 = apostrophe quotedbl 0xa7 exclam Control_g VoidSymbol Control_g VoidSymbol Meta_apostrophe Meta_apostrophe Meta_apostrophe Meta_apostrophe
+keycode 41 = grave asciitilde grave semicolon nul VoidSymbol nul VoidSymbol Meta_grave VoidSymbol Meta_grave
+keycode 42 = Shift
+keycode 43 = backslash bar backslash bar Control_backslash VoidSymbol Control_backslash VoidSymbol Meta_backslash VoidSymbol Meta_backslash
+keycode 44 = z
+keycode 45 = x
+keycode 46 = c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = m
+keycode 51 = comma less comma question
+alt keycode 51 = Meta_comma
+alt altgr keycode 51 = Meta_comma
+keycode 52 = period greater period colon Compose VoidSymbol Compose VoidSymbol Meta_period VoidSymbol Meta_period
+keycode 53 = slash question minus underscore Delete VoidSymbol Delete VoidSymbol Meta_slash VoidSymbol Meta_slash
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space space space nul nul nul nul Meta_space Meta_space Meta_space Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 F1 F13 F1 VoidSymbol F1 VoidSymbol Console_1 VoidSymbol Console_1
+keycode 60 = F2 F14 F2 F14 F2 VoidSymbol F2 VoidSymbol Console_2 VoidSymbol Console_2
+keycode 61 = F3 F15 F3 F15 F3 VoidSymbol F3 VoidSymbol Console_3 VoidSymbol Console_3
+keycode 62 = F4 F16 F4 F15 F4 VoidSymbol F4 VoidSymbol Console_4 VoidSymbol Console_4
+keycode 63 = F5 F17 F5 F15 F5 VoidSymbol F5 VoidSymbol Console_5 VoidSymbol Console_5
+keycode 64 = F6 F18 F6 F15 F6 VoidSymbol F6 VoidSymbol Console_6 VoidSymbol Console_6
+keycode 65 = F7 F19 F7 F15 F7 VoidSymbol F7 VoidSymbol Console_7 VoidSymbol Console_7
+keycode 66 = F8 F20 F8 F15 F8 VoidSymbol F8 VoidSymbol Console_8 VoidSymbol Console_8
+keycode 67 = F9 F9 F9 F9 F9 VoidSymbol F9 VoidSymbol Console_9 VoidSymbol Console_9
+keycode 68 = F10 F10 F10 F10 F10 VoidSymbol F10 VoidSymbol Console_10 VoidSymbol Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+control keycode 70 = Show_State
+alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+alt keycode 86 = Meta_less
+keycode 87 = F11 F11 F11 F11 F11 VoidSymbol F11 VoidSymbol Console_11 VoidSymbol Console_11
+keycode 88 = F12 F12 F12 F12 F12 VoidSymbol F12 VoidSymbol Console_12 VoidSymbol Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+keycode 97 = Control
+keycode 98 = KP_Divide
+keycode 99 = Control_backslash
+control keycode 99 = Control_backslash
+alt keycode 99 = Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+keycode 104 = Prior
+shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ alt altgr keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ alt altgr keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+control alt keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+compose ',' 'A' to '¡'
+compose '/' 'L' to '£'
+compose '^' 'L' to '¥'
+compose '\'' 'S' to '¦'
+compose '^' 'S' to '©'
+compose ',' 'S' to 'ª'
+compose '^' 'T' to '«'
+compose '\'' 'Z' to '¬'
+compose '^' 'Z' to '®'
+compose '.' 'Z' to '¯'
+compose ',' 'a' to '±'
+compose '/' 'l' to '³'
+compose '^' 'l' to 'µ'
+compose '\'' 's' to '¶'
+compose '^' 's' to '¹'
+compose ',' 's' to 'º'
+compose '^' 't' to '»'
+compose '\'' 'z' to '¼'
+compose '^' 'z' to '¾'
+compose '.' 'z' to '¿'
+compose '\'' 'R' to 'À'
+compose '\'' 'A' to 'Á'
+compose '^' 'A' to 'Â'
+compose '^' 'A' to 'Ã'
+compose ':' 'A' to 'Ä'
+compose '\'' 'L' to 'Å'
+compose '\'' 'C' to 'Æ'
+compose ',' 'C' to 'Ç'
+compose '^' 'C' to 'È'
+compose '\'' 'E' to 'É'
+compose ',' 'E' to 'Ê'
+compose '"' 'E' to 'Ë'
+compose '^' 'E' to 'Ì'
+compose '\'' 'I' to 'Í'
+compose '^' 'I' to 'Î'
+compose '^' 'D' to 'Ï'
+compose '-' 'D' to 'Ð'
+compose '\'' 'N' to 'Ñ'
+compose '^' 'N' to 'Ò'
+compose '\'' 'O' to 'Ó'
+compose '^' 'O' to 'Ô'
+compose '"' 'O' to 'Õ'
+compose ':' 'O' to 'Ö'
+compose '^' 'R' to 'Ø'
+compose '^' 'U' to 'Ù'
+compose '\'' 'U' to 'Ú'
+compose '"' 'U' to 'Û'
+compose ':' 'U' to 'Ü'
+compose '\'' 'Y' to 'Ý'
+compose ',' 'T' to 'Þ'
+compose 's' 's' to 'ß'
+compose 'S' 'S' to 'ß'
+compose '\'' 'r' to 'à'
+compose '\'' 'a' to 'á'
+compose '^' 'a' to 'â'
+compose '^' 'a' to 'ã'
+compose ':' 'a' to 'ä'
+compose '\'' 'l' to 'å'
+compose '\'' 'c' to 'æ'
+compose ',' 'c' to 'ç'
+compose '^' 'c' to 'è'
+compose '\'' 'e' to 'é'
+compose ',' 'e' to 'ê'
+compose ':' 'e' to 'ë'
+compose '^' 'e' to 'ì'
+compose '\'' 'i' to 'í'
+compose '^' 'e' to 'î'
+compose '^' 'd' to 'ï'
+compose '-' 'd' to 'ð'
+compose '\'' 'n' to 'ñ'
+compose '^' 'n' to 'ò'
+compose '\'' 'o' to 'ó'
+compose '^' 'o' to 'ô'
+compose ':' 'o' to 'õ'
+compose '"' 'o' to 'ö'
+compose '^' 'r' to 'ø'
+compose '^' 'u' to 'ù'
+compose '\'' 'u' to 'ú'
+compose '"' 'u' to 'û'
+compose ':' 'u' to 'ü'
+compose '\'' 'y' to 'ý'
+compose ',' 't' to 'þ'
diff --git a/keymaps/i386/qwerty/cz-us-qwerty.kmap b/keymaps/i386/qwerty/cz-us-qwerty.kmap
new file mode 100644
index 0000000..fb44538
--- /dev/null
+++ b/keymaps/i386/qwerty/cz-us-qwerty.kmap
@@ -0,0 +1,256 @@
+# Czech ISO 8859-2 keyboard map for text console
+# Written and (c) copyright by Jan Kasprzak (kas@ics.muni.cz)
+# You can distribute this file under the terms of GNU General
+# Public License (GPL). See the file COPYING.
+#
+# US klavesnice se zapne a vypne klavesou Pause.
+# Klavesou AltGr (Right Alt) je mozne se prepnout ceske do US a naopak.
+# Klavesa Pause pak funguje jako AltGr-lock.
+#
+# Klavesnice je kompletne cesky psacim stroji.
+#
+# Upravil na QWERTZ + CZ-US "©nek" Stanìk Petr snek@www.alla.sk
+# http://linux-cz.upce.cz
+#
+charset "iso-8859-2"
+keymaps 0-15
+strings as usual
+keycode 1 = Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 2 = plus one one exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_one Meta_one Meta_one
+keycode 3 = ecaron two two at nul nul nul nul Meta_two Meta_two Meta_two Meta_two
+keycode 4 = scaron three three numbersign Escape VoidSymbol Escape VoidSymbol Meta_three Meta_three Meta_three Meta_three Meta_three VoidSymbol
+keycode 5 = ccaron four four dollar Control_backslash VoidSymbol Control_backslash VoidSymbol Meta_four Meta_four Meta_four Meta_four
+keycode 6 = rcaron five five percent Control_bracketright VoidSymbol Control_bracketright VoidSymbol Meta_five Meta_five Meta_five Meta_five
+keycode 7 = zcaron six six asciicircum Control_asciicircum VoidSymbol Control_asciicircum VoidSymbol Meta_six Meta_six Meta_six Meta_six
+keycode 8 = yacute seven seven ampersand Control_underscore VoidSymbol Control_underscore VoidSymbol Meta_seven Meta_seven Meta_seven Meta_seven
+keycode 9 = aacute eight eight asterisk Delete VoidSymbol Delete VoidSymbol Meta_eight Meta_eight Meta_eight Meta_eight
+keycode 10 = iacute nine nine parenleft VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_nine Meta_nine Meta_nine
+keycode 11 = eacute zero zero parenright VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_zero Meta_zero Meta_zero
+keycode 12 = equal percent minus underscore Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_minus Meta_minus Meta_minus
+keycode 13 = dead_acute dead_circumflex equal plus VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_equal Meta_equal Meta_equal
+keycode 14 = Delete Delete Delete Delete VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Delete Meta_Delete Meta_Delete Meta_Delete
+keycode 15 = Tab Tab Tab Tab VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+keycode 16 = q
+keycode 17 = w
+keycode 18 = e
+keycode 19 = r
+keycode 20 = t
+# keycode 21 = z
+keycode 21 = y
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+keycode 26 = uacute slash bracketleft braceleft Escape VoidSymbol Escape VoidSymbol Meta_bracketleft Meta_bracketleft Meta_bracketleft Meta_bracketleft
+keycode 27 = parenright parenleft bracketright braceright Control_bracketright VoidSymbol Control_bracketright VoidSymbol Meta_bracketright Meta_bracketright Meta_bracketright Meta_bracketright
+keycode 28 = Return
+altgr keycode 28 = Return
+alt keycode 28 = Meta_Control_m
+alt altgr keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+keycode 39 = uring quotedbl semicolon colon VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_semicolon Meta_semicolon Meta_semicolon Meta_semicolon
+keycode 40 = 0xa7 exclam apostrophe quotedbl Control_g VoidSymbol Control_g VoidSymbol Meta_apostrophe Meta_apostrophe Meta_apostrophe Meta_apostrophe
+keycode 41 = grave semicolon grave asciitilde nul VoidSymbol nul VoidSymbol Meta_grave VoidSymbol Meta_grave VoidSymbol
+keycode 42 = Shift
+keycode 43 = backslash bar backslash bar Control_backslash VoidSymbol Control_backslash VoidSymbol Meta_backslash VoidSymbol Meta_backslash VoidSymbol
+# keycode 44 = y
+keycode 44 = z
+keycode 45 = x
+keycode 46 = c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = m
+keycode 51 = comma question comma less
+alt keycode 51 = Meta_comma
+alt altgr keycode 51 = Meta_comma
+keycode 52 = period colon period greater Compose VoidSymbol Compose VoidSymbol Meta_period VoidSymbol Meta_period VoidSymbol
+keycode 53 = minus underscore slash question Delete VoidSymbol Delete VoidSymbol Meta_slash VoidSymbol Meta_slash VoidSymbol
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space space space nul nul nul nul Meta_space Meta_space Meta_space Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 F1 F13 F1 VoidSymbol F1 VoidSymbol Console_1 VoidSymbol Console_1 VoidSymbol
+keycode 60 = F2 F14 F2 F14 F2 VoidSymbol F2 VoidSymbol Console_2 VoidSymbol Console_2 VoidSymbol
+keycode 61 = F3 F15 F3 F15 F3 VoidSymbol F3 VoidSymbol Console_3 VoidSymbol Console_3 VoidSymbol
+keycode 62 = F4 F15 F4 F16 F4 VoidSymbol F4 VoidSymbol Console_4 VoidSymbol Console_4 VoidSymbol
+keycode 63 = F5 F15 F5 F17 F5 VoidSymbol F5 VoidSymbol Console_5 VoidSymbol Console_5 VoidSymbol
+keycode 64 = F6 F15 F6 F18 F6 VoidSymbol F6 VoidSymbol Console_6 VoidSymbol Console_6 VoidSymbol
+keycode 65 = F7 F15 F7 F19 F7 VoidSymbol F7 VoidSymbol Console_7 VoidSymbol Console_7 VoidSymbol
+keycode 66 = F8 F15 F8 F20 F8 VoidSymbol F8 VoidSymbol Console_8 VoidSymbol Console_8 VoidSymbol
+keycode 67 = F9 F9 F9 F9 F9 VoidSymbol F9 VoidSymbol Console_9 VoidSymbol Console_9 VoidSymbol
+keycode 68 = F10 F10 F10 F10 F10 VoidSymbol F10 VoidSymbol Console_10 VoidSymbol Console_10 VoidSymbol
+keycode 69 = Num_Lock
+keycode 70 = Show_Registers VoidSymbol Scroll_Lock Show_Memory
+control keycode 70 = Show_State
+alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = bar VoidSymbol less greater
+alt keycode 86 = Meta_less
+keycode 87 = F11 F11 F11 F11 F11 VoidSymbol F11 VoidSymbol Console_11 VoidSymbol Console_11 VoidSymbol
+keycode 88 = F12 F12 F12 F12 F12 VoidSymbol F12 VoidSymbol Console_12 VoidSymbol Console_12 VoidSymbol
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+keycode 97 = Control
+keycode 98 = KP_Divide
+keycode 99 = Control_backslash
+control keycode 99 = Control_backslash
+alt keycode 99 = Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+keycode 104 = Prior
+shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ alt altgr keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ alt altgr keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+control alt keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+compose ',' 'A' to '¡'
+compose '/' 'L' to '£'
+compose '^' 'L' to '¥'
+compose '\'' 'S' to '¦'
+compose '^' 'S' to '©'
+compose ',' 'S' to 'ª'
+compose '^' 'T' to '«'
+compose '\'' 'Z' to '¬'
+compose '^' 'Z' to '®'
+compose '.' 'Z' to '¯'
+compose ',' 'a' to '±'
+compose '/' 'l' to '³'
+compose '^' 'l' to 'µ'
+compose '\'' 's' to '¶'
+compose '^' 's' to '¹'
+compose ',' 's' to 'º'
+compose '^' 't' to '»'
+compose '\'' 'z' to '¼'
+compose '^' 'z' to '¾'
+compose '.' 'z' to '¿'
+compose '\'' 'R' to 'À'
+compose '\'' 'A' to 'Á'
+compose '^' 'A' to 'Â'
+compose '^' 'A' to 'Ã'
+compose ':' 'A' to 'Ä'
+compose '\'' 'L' to 'Å'
+compose '\'' 'C' to 'Æ'
+compose ',' 'C' to 'Ç'
+compose '^' 'C' to 'È'
+compose '\'' 'E' to 'É'
+compose ',' 'E' to 'Ê'
+compose '"' 'E' to 'Ë'
+compose '^' 'E' to 'Ì'
+compose '\'' 'I' to 'Í'
+compose '^' 'I' to 'Î'
+compose '^' 'D' to 'Ï'
+compose '-' 'D' to 'Ð'
+compose '\'' 'N' to 'Ñ'
+compose '^' 'N' to 'Ò'
+compose '\'' 'O' to 'Ó'
+compose '^' 'O' to 'Ô'
+compose '"' 'O' to 'Õ'
+compose ':' 'O' to 'Ö'
+compose '^' 'R' to 'Ø'
+compose '^' 'U' to 'Ù'
+compose '\'' 'U' to 'Ú'
+compose '"' 'U' to 'Û'
+compose ':' 'U' to 'Ü'
+compose '\'' 'Y' to 'Ý'
+compose ',' 'T' to 'Þ'
+compose 's' 's' to 'ß'
+compose 'S' 'S' to 'ß'
+compose '\'' 'r' to 'à'
+compose '\'' 'a' to 'á'
+compose '^' 'a' to 'â'
+compose '^' 'a' to 'ã'
+compose ':' 'a' to 'ä'
+compose '\'' 'l' to 'å'
+compose '\'' 'c' to 'æ'
+compose ',' 'c' to 'ç'
+compose '^' 'c' to 'è'
+compose '\'' 'e' to 'é'
+compose ',' 'e' to 'ê'
+compose ':' 'e' to 'ë'
+compose '^' 'e' to 'ì'
+compose '\'' 'i' to 'í'
+compose '^' 'e' to 'î'
+compose '^' 'd' to 'ï'
+compose '-' 'd' to 'ð'
+compose '\'' 'n' to 'ñ'
+compose '^' 'n' to 'ò'
+compose '\'' 'o' to 'ó'
+compose '^' 'o' to 'ô'
+compose ':' 'o' to 'õ'
+compose '"' 'o' to 'ö'
+compose '^' 'r' to 'ø'
+compose '^' 'u' to 'ù'
+compose '\'' 'u' to 'ú'
+compose '"' 'u' to 'û'
+compose ':' 'u' to 'ü'
+compose '\'' 'y' to 'ý'
+compose ',' 't' to 'þ'
diff --git a/keymaps/i386/qwerty/defkeymap.kmap b/keymaps/i386/qwerty/defkeymap.kmap
new file mode 100644
index 0000000..36bfcf9
--- /dev/null
+++ b/keymaps/i386/qwerty/defkeymap.kmap
@@ -0,0 +1,352 @@
+keymaps 0-15
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+keycode 3 = two at at
+ control keycode 3 = nul
+ shift control keycode 3 = nul
+ alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_at
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ shift alt keycode 4 = Meta_numbersign
+keycode 5 = four dollar dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_asciicircum
+keycode 8 = seven ampersand braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight asterisk bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenleft bracketright
+ alt keycode 10 = Meta_nine
+keycode 11 = zero parenright braceright
+ alt keycode 11 = Meta_zero
+keycode 12 = minus underscore backslash
+ control keycode 12 = Control_underscore
+ shift control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = equal plus
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete
+ control keycode 14 = BackSpace
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 16 = q
+keycode 17 = w
+keycode 18 = e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = y
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ shift alt keycode 26 = Meta_braceleft
+keycode 27 = bracketright braceright asciitilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ shift alt keycode 27 = Meta_braceright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+keycode 39 = semicolon colon
+ alt keycode 39 = Meta_semicolon
+keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = grave asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ shift alt keycode 43 = Meta_bar
+keycode 44 = z
+keycode 45 = x
+keycode 46 = c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = m
+keycode 51 = comma less
+ alt keycode 51 = Meta_comma
+ shift alt keycode 51 = Meta_less
+keycode 52 = period greater
+ control keycode 52 = Compose
+ alt keycode 52 = Meta_period
+ shift alt keycode 52 = Meta_greater
+keycode 53 = slash question
+ control keycode 53 = Delete
+ shift control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 Console_13
+ control keycode 59 = F25
+ shift control keycode 59 = F37
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F14 Console_14
+ control keycode 60 = F26
+ shift control keycode 60 = F38
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F15 Console_15
+ control keycode 61 = F27
+ shift control keycode 61 = F39
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F16 Console_16
+ control keycode 62 = F28
+ shift control keycode 62 = F40
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F17 Console_17
+ control keycode 63 = F29
+ shift control keycode 63 = F41
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F18 Console_18
+ control keycode 64 = F30
+ shift control keycode 64 = F42
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F19 Console_19
+ control keycode 65 = F31
+ shift control keycode 65 = F43
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F20 Console_20
+ control keycode 66 = F32
+ shift control keycode 66 = F44
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F21 Console_21
+ control keycode 67 = F33
+ shift control keycode 67 = F45
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F22 Console_22
+ control keycode 68 = F34
+ shift control keycode 68 = F46
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 87 = F11 F23 Console_23
+ control keycode 87 = F35
+ shift control keycode 87 = F47
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F24 Console_24
+ control keycode 88 = F36
+ shift control keycode 88 = F48
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+keycode 97 = Control
+keycode 98 = KP_Divide
+keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose '"' 'y' to 'ÿ'
+compose 's' 'z' to 'ß'
+compose 'i' 'j' to 'ÿ'
diff --git a/keymaps/i386/qwerty/defkeymap_V1.0.kmap b/keymaps/i386/qwerty/defkeymap_V1.0.kmap
new file mode 100644
index 0000000..6c2b500
--- /dev/null
+++ b/keymaps/i386/qwerty/defkeymap_V1.0.kmap
@@ -0,0 +1,315 @@
+keymaps 0-15
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+keycode 3 = two at at
+ control keycode 3 = nul
+ shift control keycode 3 = nul
+ alt keycode 3 = Meta_two
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+keycode 5 = four dollar dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = seven ampersand braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight asterisk bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenleft bracketright
+ alt keycode 10 = Meta_nine
+keycode 11 = zero parenright braceright
+ alt keycode 11 = Meta_zero
+keycode 12 = minus underscore backslash
+ control keycode 12 = Control_underscore
+ shift control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = equal plus
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 16 = q
+keycode 17 = w
+keycode 18 = e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = y
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = bracketright braceright asciitilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+keycode 39 = semicolon colon
+ alt keycode 39 = Meta_semicolon
+keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = grave asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 44 = z
+keycode 45 = x
+keycode 46 = c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = m
+keycode 51 = comma less
+ alt keycode 51 = Meta_comma
+keycode 52 = period greater
+ control keycode 52 = Compose
+ alt keycode 52 = Meta_period
+keycode 53 = slash question
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F11 Console_13
+ control keycode 59 = F1
+ alt keycode 59 = Console_1
+keycode 60 = F2 F12 Console_14
+ control keycode 60 = F2
+ alt keycode 60 = Console_2
+keycode 61 = F3 F13 Console_15
+ control keycode 61 = F3
+ alt keycode 61 = Console_3
+keycode 62 = F4 F14 Console_16
+ control keycode 62 = F4
+ alt keycode 62 = Console_4
+keycode 63 = F5 F15 Console_17
+ control keycode 63 = F5
+ alt keycode 63 = Console_5
+keycode 64 = F6 F16 Console_18
+ control keycode 64 = F6
+ alt keycode 64 = Console_6
+keycode 65 = F7 F17 Console_19
+ control keycode 65 = F7
+ alt keycode 65 = Console_7
+keycode 66 = F8 F18 Console_20
+ control keycode 66 = F8
+ alt keycode 66 = Console_8
+keycode 67 = F9 F19 Console_21
+ control keycode 67 = F9
+ alt keycode 67 = Console_9
+keycode 68 = F10 F20 Console_22
+ control keycode 68 = F10
+ alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 87 = F11 F11 Console_23
+ control keycode 87 = F11
+ alt keycode 87 = Console_11
+keycode 88 = F12 F12 Console_24
+ control keycode 88 = F12
+ alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+keycode 97 = Control
+keycode 98 = KP_Divide
+keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose '"' 'y' to 'ÿ'
+compose 's' 'z' to 'ß'
+compose 'i' 'j' to 'ÿ'
diff --git a/keymaps/i386/qwerty/dk-latin1.kmap b/keymaps/i386/qwerty/dk-latin1.kmap
new file mode 100644
index 0000000..fb8bd22
--- /dev/null
+++ b/keymaps/i386/qwerty/dk-latin1.kmap
@@ -0,0 +1,86 @@
+# danish keymap with dead accents
+# Niels Kristian Bech Jensen <nkbj@kemi.aau.dk>:
+# shift keycode 5 is currency, not dollar
+#
+keymaps 0-2,4-6,8,12
+include "qwerty-layout"
+include "linux-with-alt-and-altgr"
+ plain keycode 83 = KP_Comma
+strings as usual
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+keycode 3 = two quotedbl at
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+keycode 4 = three numbersign sterling
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+# keycode 5 = four dollar dollar
+keycode 5 = four currency dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 7 = six ampersand
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = seven slash braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight parenleft bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenright bracketright
+ alt keycode 10 = Meta_nine
+keycode 11 = zero equal braceright
+ alt keycode 11 = Meta_zero
+keycode 12 = plus question
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = dead_acute dead_grave bar
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 26 = +aring +Aring
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = dead_diaeresis dead_circumflex dead_tilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = +ae +AE
+ alt keycode 39 = Meta_semicolon
+keycode 40 = +oslash +Oslash
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = onehalf section
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = apostrophe asterisk
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 51 = comma semicolon
+ alt keycode 51 = Meta_comma
+keycode 52 = period colon
+ alt keycode 52 = Meta_period
+keycode 53 = minus underscore
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater backslash
+ alt keycode 86 = Meta_less
+keycode 97 = Control
diff --git a/keymaps/i386/qwerty/dk.kmap b/keymaps/i386/qwerty/dk.kmap
new file mode 100644
index 0000000..d84f358
--- /dev/null
+++ b/keymaps/i386/qwerty/dk.kmap
@@ -0,0 +1,86 @@
+# danish keymap
+# Niels Kristian Bech Jensen <nkbj@kemi.aau.dk>:
+# shift keycode 5 is currency, not dollar
+#
+keymaps 0-2,4,6,8,12
+include "qwerty-layout"
+include "linux-with-alt-and-altgr"
+ plain keycode 83 = KP_Comma
+strings as usual
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+keycode 3 = two quotedbl at
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+keycode 4 = three numbersign sterling
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+# keycode 5 = four dollar dollar
+keycode 5 = four currency dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 7 = six ampersand
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = seven slash braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight parenleft bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenright bracketright
+ alt keycode 10 = Meta_nine
+keycode 11 = zero equal braceright
+ alt keycode 11 = Meta_zero
+keycode 12 = plus question
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = acute grave bar
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 26 = +aring +Aring
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = diaeresis asciicircum asciitilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = +ae +AE
+ alt keycode 39 = Meta_semicolon
+keycode 40 = +oslash +Oslash
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = onehalf section
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = apostrophe asterisk
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 51 = comma semicolon
+ alt keycode 51 = Meta_comma
+keycode 52 = period colon
+ alt keycode 52 = Meta_period
+keycode 53 = minus underscore
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater backslash
+ alt keycode 86 = Meta_less
+keycode 97 = Control
diff --git a/keymaps/i386/qwerty/emacs.kmap b/keymaps/i386/qwerty/emacs.kmap
new file mode 100644
index 0000000..240a852
--- /dev/null
+++ b/keymaps/i386/qwerty/emacs.kmap
@@ -0,0 +1,69 @@
+#From stig@netcom.com Mon Feb 21 22:05:14 1994 (now stig@hackvan.com)
+#
+#Below is a keymap that I have customized for use with emacs. Notably, I've
+#enabled the alt-letter, alt-shift-letter, and ctrl-alt-letter keystrokes
+#because they're all usable in emacs. Also, I moved caps-lock to shift numlock
+#and the left half of my keyboard has two control keys...(you can never have
+#enough of them :)
+#
+# Stig
+#
+#Slightly modified - aeb
+#
+keymaps 0-2,4-6,8-9,12
+alt_is_meta
+include "qwerty-layout"
+include "linux-with-alt-and-altgr"
+ keycode 69 = Num_Lock Caps_Lock
+ plain keycode 103 = Control_p
+ plain keycode 105 = Control_b
+ plain keycode 106 = Control_f
+ plain keycode 108 = Control_n
+ string F1 = "\0331c"
+ string Prior = "\033v" # ESC-v
+ string Next = "\026" # Ctrl-v
+compose as usual for "iso-8859-1"
+
+keycode 1 = Escape
+keycode 2 = one exclam
+keycode 3 = two at at nul
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+keycode 5 = four dollar dollar Control_backslash
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+keycode 8 = seven ampersand braceleft Control_underscore
+keycode 9 = eight asterisk bracketleft Delete
+keycode 10 = nine parenleft bracketright
+keycode 11 = zero parenright braceright
+keycode 12 = minus underscore backslash Control_underscore
+keycode 13 = equal plus
+keycode 14 = Delete
+keycode 15 = Tab
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+keycode 27 = bracketright braceright
+ control keycode 27 = Control_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+ shift alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = semicolon colon
+keycode 40 = apostrophe quotedbl
+keycode 41 = grave asciitilde
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+keycode 51 = comma less
+keycode 52 = period greater
+keycode 53 = slash question
+ control keycode 53 = Delete
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+keycode 58 = Control
+keycode 86 = less greater bar
+keycode 97 = Control
diff --git a/keymaps/i386/qwerty/emacs2.kmap b/keymaps/i386/qwerty/emacs2.kmap
new file mode 100644
index 0000000..dd51945
--- /dev/null
+++ b/keymaps/i386/qwerty/emacs2.kmap
@@ -0,0 +1,58 @@
+#Originally From stig@netcom.com Mon Feb 21 22:05:14 1994
+# (now stig@hackvan.com)
+#
+#Modified by rafael@cse.ucsc.edu, Jochen Hein, aeb
+#
+keymaps 0-2,4-6,8-9,12
+alt_is_meta
+include "qwerty-layout"
+include "linux-with-alt-and-altgr"
+ keycode 69 = Num_Lock Caps_Lock
+ control keycode 105 = Meta_b
+ control keycode 106 = Meta_f
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 1 = Escape
+keycode 2 = one exclam
+keycode 3 = two at at nul nul
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+keycode 5 = four dollar dollar Control_backslash
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+keycode 8 = seven ampersand braceleft Control_underscore
+keycode 9 = eight asterisk bracketleft Delete
+keycode 10 = nine parenleft bracketright
+keycode 11 = zero parenright braceright
+keycode 12 = minus underscore backslash Control_underscore Control_underscore
+keycode 13 = equal plus
+keycode 14 = Delete
+keycode 15 = Tab
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+keycode 27 = bracketright braceright
+ control keycode 27 = Control_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+ shift alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = semicolon colon
+keycode 40 = apostrophe quotedbl
+keycode 41 = grave asciitilde
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+keycode 51 = comma less
+keycode 52 = period greater
+keycode 53 = slash question
+ control keycode 53 = Delete
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+keycode 58 = Control
+keycode 86 = less greater bar
+keycode 97 = Control
diff --git a/keymaps/i386/qwerty/es-cp850.kmap b/keymaps/i386/qwerty/es-cp850.kmap
new file mode 100644
index 0000000..1a898a6
--- /dev/null
+++ b/keymaps/i386/qwerty/es-cp850.kmap
@@ -0,0 +1,66 @@
+! Teclado espa¤ol ajustado a la p gina de c¢digos CP-850. Especialmente creado
+! para aplicaciones que sean portadas de UNIX a MS-DOS o viceversa (como el
+! COBOL).
+!
+! Para obtener un mejor resultado recomiendo usar este mapa de caracteres junto
+! con el "setfont cp850-8x16".
+!
+! Para poder visualizar todos los caracteres dentro del editor VI, es posible
+! que deba modificarse la variable "isprint" y ajustarla con unos valores m s
+! anchos. (recomiendo "set isprint=@,128-255").
+!
+! Jordi Sanfeliu <mikaku@arrakis.es>
+!
+keymaps 0-2,4,6,8-9,12
+alt_is_meta
+include "qwerty-layout"
+include "linux-with-alt-and-altgr"
+include "euro.inc"
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 1 = Escape
+keycode 2 = one exclam bar
+keycode 3 = two quotedbl at nul
+keycode 4 = three 0372 numbersign Escape
+keycode 5 = four dollar asciitilde Control_backslash
+keycode 6 = five percent VoidSymbol Control_bracketright
+keycode 7 = six ampersand +0252 Control_asciicircum
+keycode 8 = seven slash braceleft Control_underscore
+keycode 9 = eight parenleft bracketleft Delete
+keycode 10 = nine parenright bracketright
+keycode 11 = zero equal braceright
+keycode 12 = apostrophe question backslash Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = 0255 0250 asciitilde
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete Delete Control_underscore Delete Meta_Delete Delete Delete
+keycode 15 = Tab
+keycode 26 = dead_grave dead_circumflex bracketleft Escape VoidSymbol Meta_bracketleft
+keycode 27 = plus asterisk bracketright Control_bracketright VoidSymbol Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = +0244 +0245
+ alt keycode 39 = Meta_semicolon
+keycode 40 = dead_acute dead_diaeresis braceleft Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = 0247 0246 backslash nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = +0207 +0200 braceright Control_backslash
+ alt keycode 43 = Meta_backslash
+ shift alt keycode 43 = Meta_asciitilde
+keycode 51 = comma semicolon
+ shift alt keycode 51 = Meta_less
+keycode 52 = period colon
+ shift alt keycode 52 = Meta_greater
+keycode 53 = minus underscore VoidSymbol Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+keycode 58 = Caps_Lock
+keycode 86 = less greater
+ shift alt keycode 86 = Meta_bar
diff --git a/keymaps/i386/qwerty/es.kmap b/keymaps/i386/qwerty/es.kmap
new file mode 100644
index 0000000..dc3863b
--- /dev/null
+++ b/keymaps/i386/qwerty/es.kmap
@@ -0,0 +1,96 @@
+! Spanish keymap, note the spanish IBM keyboard lacks an ascitilde (~), I
+! have used ALT-Gr 4 as per IBM/AIX and some sun keyboards. ascitilde is also
+! on ALT-Gr-exclamdown for compatibility with Julio Sanchez' Spanish keymap.
+!
+! Jon Tombs <jon@gtex02.us.es> with corrections from
+! Julio Sanchez <jsanchez@gmv.es> and Urko Lusa <ulusa@arrakis.es>
+!
+! Added keymaps line - aeb
+!
+keymaps 0-2,4,6,8-9,12
+include "qwerty-layout"
+include "linux-with-alt-and-altgr"
+include "euro.inc"
+strings as usual
+
+keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam bar
+ alt keycode 2 = Meta_one
+keycode 3 = two quotedbl at
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+keycode 4 = three periodcentered numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+keycode 5 = four dollar asciitilde
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 7 = six ampersand notsign
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = seven slash braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight parenleft bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenright bracketright
+ alt keycode 10 = Meta_nine
+keycode 11 = zero equal braceright
+ alt keycode 11 = Meta_zero
+keycode 12 = apostrophe question backslash
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = exclamdown questiondown asciitilde
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete
+ control keycode 14 = Control_underscore
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+!keycode 26 = dead_grave asciicircum bracketleft
+keycode 26 = dead_grave dead_circumflex bracketleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = plus asterisk bracketright
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = +ntilde +Ntilde
+ alt keycode 39 = Meta_semicolon
+keycode 40 = dead_acute dead_diaeresis braceleft
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = masculine ordfeminine backslash
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = +ccedilla +Ccedilla braceright
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ shift alt keycode 43 = Meta_asciitilde
+keycode 51 = comma semicolon
+ alt keycode 51 = Meta_comma
+ shift alt keycode 51 = Meta_less
+keycode 52 = period colon
+ alt keycode 52 = Meta_period
+ shift alt keycode 52 = Meta_greater
+keycode 53 = minus underscore
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater
+ alt keycode 86 = Meta_less
+ shift alt keycode 86 = Meta_bar
+keycode 97 = Control
diff --git a/keymaps/i386/qwerty/et-nodeadkeys.kmap b/keymaps/i386/qwerty/et-nodeadkeys.kmap
new file mode 100644
index 0000000..ff4c0e2
--- /dev/null
+++ b/keymaps/i386/qwerty/et-nodeadkeys.kmap
@@ -0,0 +1,7 @@
+# Estonian keymap with no dead keys
+# Ville Hallik <Ville.Hallik@mail.ee>
+
+include "et.kmap"
+
+keycode 13 = apostrophe grave dead_acute dead_grave
+keycode 41 = dead_caron tilde dead_caron dead_tilde
diff --git a/keymaps/i386/qwerty/et.kmap b/keymaps/i386/qwerty/et.kmap
new file mode 100644
index 0000000..c578e6d
--- /dev/null
+++ b/keymaps/i386/qwerty/et.kmap
@@ -0,0 +1,90 @@
+# Estonian keymap
+# Ville Hallik <Ville.Hallik@mail.ee>
+#
+# Please note that there are two characters on estonian keyboard that
+# are'nt available in ISO-8859-15 charset: "currency" and "one_half". These
+# are provided here as hexadecimal codes 0xa4 and 0xbd as a convenience for
+# people who want to use this keymap with ISO-8859-1.
+
+charset "iso-8859-15"
+alt_is_meta
+keymaps 0-15
+strings as usual
+
+include "qwerty-layout"
+include "linux-with-alt-and-altgr"
+include "euro.inc"
+
+keycode 1 = Escape Escape
+keycode 2 = one exclam
+keycode 3 = two quotedbl at at nul nul nul nul
+keycode 4 = three numbersign sterling sterling
+keycode 5 = four 0xa4 dollar dollar
+keycode 6 = five percent
+keycode 7 = six ampersand VoidSymbol VoidSymbol \
+ Control_asciicircum Control_asciicircum \
+ Control_asciicircum Control_asciicircum
+keycode 8 = seven slash braceleft braceleft
+keycode 9 = eight parenleft bracketleft bracketleft \
+ Escape Escape Escape Escape
+keycode 10 = nine parenright bracketright bracketright \
+ Control_bracketright Control_bracketright \
+ Control_bracketright Control_bracketright
+keycode 11 = zero equal braceright braceright
+keycode 12 = plus question backslash backslash \
+ Control_underscore Control_underscore \
+ Control_backslash Control_backslash
+keycode 13 = dead_acute dead_grave dead_acute dead_grave
+keycode 14 = Delete Delete
+ control keycode 14 = BackSpace
+keycode 15 = Tab Tab
+keycode 18 = +e +E euro euro Control_e Control_e
+keycode 26 = +udiaeresis +Udiaeresis +udiaeresis +Udiaeresis Escape
+keycode 27 = +otilde +Otilde section section Control_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 31 = +s +S +scaron +Scaron Control_s Control_s
+keycode 39 = +odiaeresis +Odiaeresis +odiaeresis +Odiaeresis
+keycode 40 = +adiaeresis +Adiaeresis asciicircum asciicircum \
+ Control_asciicircum Control_asciicircum \
+ Control_asciicircum Control_asciicircum
+keycode 41 = dead_caron dead_tilde dead_caron dead_tilde
+ control keycode 41 = dead_diaeresis
+keycode 42 = Shift
+keycode 43 = apostrophe asterisk 0xbd 0xbd \
+ Control_backslash Control_backslash
+keycode 44 = +z +Z +zcaron +Zcaron Control_z Control_z
+keycode 51 = comma semicolon
+keycode 52 = period colon
+ control keycode 52 = Compose
+keycode 53 = minus underscore VoidSymbol VoidSymbol \
+ Control_underscore Control_underscore
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+keycode 58 = Caps_Lock
+keycode 83 = KP_Comma
+keycode 86 = less greater bar bar
+keycode 97 = Control
+
+# These are the three extra keys found on Win95 keyboards:
+keycode 125 =
+keycode 126 =
+keycode 127 = Compose
+
+# Most compose definitions are same as for iso-8859-1
+compose as usual for "iso-8859-1"
+
+# Add some ISO-8859-15 specific compose definitions:
+compose '^' 's' to scaron
+compose '^' 'S' to Scaron
+compose '^' 'z' to zcaron
+compose '^' 'Z' to Zcaron
+compose 'o' 'e' to oe
+compose 'O' 'E' to OE
+compose '"' 'Y' to Ydiaeresis
+compose 'I' 'J' to Ydiaeresis
+compose '=' 'c' to euro
+compose '=' 'C' to euro
diff --git a/keymaps/i386/qwerty/fa.kmap b/keymaps/i386/qwerty/fa.kmap
new file mode 100644
index 0000000..9ea0a7a
--- /dev/null
+++ b/keymaps/i386/qwerty/fa.kmap
@@ -0,0 +1,147 @@
+# From: Behdad Esfahbod <bicon@behdad.org>
+# Date: Jun 13 2002
+#
+# Persian ISIRI-2901 Unicode console keyboard driver.
+#
+# ChangeLog:
+#
+# 2002-06-13 Behdad Esfahbod <bicon@behdad.org>
+# * U+FDFC RIAL SIGN added.
+# 2002-06-11 Behdad Esfahbod <bicon@behdad.org>
+# * Bidi Marks added.
+# 2001-06-19 Behdad Esfahbod <bicon@behdad.org>
+# * First written.
+
+alt_is_meta
+keymaps 0-10,12,14
+include "linux-with-modeshift-altgr.inc"
+strings as usual
+
+# Set alt-shift key combination to change between Persian and English layouts
+keycode 42 = Shift
+alt keycode 42 = AltGr_Lock
+altgr alt keycode 42 = AltGr_Lock
+
+# Enable the win key to change between layouts too
+#keycode 125 = AltGr_Lock
+#altgr keycode 125 = AltGr_Lock
+
+keycode 86 = less greater bar
+altgr control alt keycode 111 = Boot
+keycode 1 = Escape
+keycode 14 = Delete Delete Delete Delete BackSpace
+keycode 15 = Tab
+keycode 28 = Return
+alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+control keycode 57 = nul
+keycode 58 = Caps_Lock
+
+altgr keycode 57 = U+0020 # SPACE
+altgr shift keycode 2 = U+0021 # EXCLAMATION MARK
+altgr shift keycode 40 = U+061B # ARABIC SEMICOLON
+altgr shift keycode 4 = U+066B # ARABIC DECIMAL SEPARATOR
+altgr shift keycode 5 = U+FDFC # RIAL SIGN
+altgr shift keycode 6 = U+066A # ARABIC PERCENT SIGN
+altgr shift keycode 8 = U+060C # ARABIC COMMA
+altgr keycode 40 = U+06AF # ARABIC LETTER GAF
+altgr shift keycode 10 = U+0029 # CLOSE PARENTHESIS
+altgr shift keycode 11 = U+0028 # OPEN PARENTHESIS
+altgr shift keycode 9 = U+002A # ASTERISK
+altgr shift keycode 13 = U+002B # PLUS SIGN
+altgr keycode 51 = U+0648 # ARABIC LETTER WAW
+altgr keycode 12 = U+002D # HYPHEN-MINUS
+altgr keycode 52 = U+002E # FULL STOP
+altgr keycode 53 = U+002F # SOLIDUS
+altgr keycode 11 = U+06F0 # EXTENDED ARABIC-INDIC DIGIT ZERO
+altgr keycode 2 = U+06F1 # EXTENDED ARABIC-INDIC DIGIT ONE
+altgr keycode 3 = U+06F2 # EXTENDED ARABIC-INDIC DIGIT TWO
+altgr keycode 4 = U+06F3 # EXTENDED ARABIC-INDIC DIGIT THREE
+altgr keycode 5 = U+06F4 # EXTENDED ARABIC-INDIC DIGIT FOUR
+altgr keycode 6 = U+06F5 # EXTENDED ARABIC-INDIC DIGIT FIVE
+altgr keycode 7 = U+06F6 # EXTENDED ARABIC-INDIC DIGIT SIX
+altgr keycode 8 = U+06F7 # EXTENDED ARABIC-INDIC DIGIT SEVEN
+altgr keycode 9 = U+06F8 # EXTENDED ARABIC-INDIC DIGIT EIGHT
+altgr keycode 10 = U+06F9 # EXTENDED ARABIC-INDIC DIGIT NINE
+altgr shift keycode 39 = U+003A # COLON
+altgr keycode 39 = U+06A9 # ARABIC LETTER KEHEH
+altgr shift keycode 51 = U+003E # GREATER-THAN SIGN
+altgr keycode 13 = U+003D # EQUALS SIGN
+altgr shift keycode 52 = U+003C # LESS-THAN SIGN
+altgr shift keycode 53 = U+061F # ARABIC QUESTION MARK
+altgr shift keycode 3 = U+066C # ARABIC THOUSANDS SEPARATOR
+altgr shift keycode 30 = U+0624 # ARABIC LETTER WAW WITH HAMZA ABOVE
+altgr shift keycode 48 = U+200C # ZERO WIDTH NON-JOINER
+altgr shift keycode 57 = U+200C # ZERO WIDTH NON-JOINER
+altgr shift keycode 46 = U+0698 # ARABIC LETTER JEH
+altgr shift keycode 32 = U+064A # ARABIC LETTER YEH
+altgr shift keycode 18 = U+064D # ARABIC KASRATAN
+altgr shift keycode 33 = U+0625 # ARABIC LETTER ALEF WITH HAMZA BELOW
+altgr shift keycode 34 = U+0623 # ARABIC LETTER ALEF WITH HAMZA ABOVE
+altgr shift keycode 35 = U+0622 # ARABIC LETTER ALEF WITH MADDA ABOVE
+altgr shift keycode 23 = U+0651 # ARABIC SHADDA
+altgr shift keycode 36 = U+0629 # ARABIC LETTER TEH MARBUTA
+altgr shift keycode 37 = U+00BB # RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+altgr shift keycode 38 = U+00AB # LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+altgr shift keycode 50 = U+0621 # ARABIC LETTER HAMZA
+altgr shift keycode 49 = VoidSymbol # Reserved
+altgr shift keycode 24 = U+005D # RIGHT SQUARE BRACKET
+altgr shift keycode 25 = U+005B # LEFT SQUARE BRACKET
+altgr shift keycode 16 = U+0652 # ARABIC SUKUN
+altgr shift keycode 19 = U+064B # ARABIC FATHATAN
+altgr shift keycode 31 = U+0626 # ARABIC LETTER YEH WITH HAMZA ABOVE
+altgr shift keycode 20 = U+064F # ARABIC DAMMA
+altgr shift keycode 22 = U+064E # ARABIC FATHA
+altgr shift keycode 47 = U+0670 # ARABIC LETTER SUPERSCRIPT ALEF
+altgr shift keycode 17 = U+064C # ARABIC DAMMATAN
+altgr shift keycode 45 = VoidSymbol # Reserved
+altgr shift keycode 21 = U+0650 # ARABIC KASRA
+altgr shift keycode 44 = U+0643 # ARABIC LETTER KAF
+altgr keycode 26 = U+062C # ARABIC LETTER JEEM
+altgr keycode 43 = U+005C # REVERSE SOLIDUS
+altgr keycode 27 = U+0686 # ARABIC LETTER TCHEH
+altgr shift keycode 7 = U+00D7 # MULTIPLICATION SIGN
+altgr shift keycode 12 = U+0640 # ARABIC TATWEEL
+altgr keycode 41 = U+200D # ZERO WIDTH JOINER
+altgr keycode 30 = U+0634 # ARABIC LETTER SHEEN
+altgr keycode 48 = U+0630 # ARABIC LETTER THAL
+altgr keycode 46 = U+0632 # ARABIC LETTER ZAIN
+altgr keycode 32 = U+06CC # ARABIC LETTER FARSI YEH
+altgr keycode 18 = U+062B # ARABIC LETTER THEH
+altgr keycode 33 = U+0628 # ARABIC LETTER BEH
+altgr keycode 34 = U+0644 # ARABIC LETTER LAM
+altgr keycode 35 = U+0627 # ARABIC LETTER ALEF
+altgr keycode 23 = U+0647 # ARABIC LETTER HEH
+altgr keycode 36 = U+062A # ARABIC LETTER TEH
+altgr keycode 37 = U+0646 # ARABIC LETTER NOON
+altgr keycode 38 = U+0645 # ARABIC LETTER MEEM
+altgr keycode 50 = U+067E # ARABIC LETTER PEH
+altgr keycode 49 = U+062F # ARABIC LETTER DAL
+altgr keycode 24 = U+062E # ARABIC LETTER KHAH
+altgr keycode 25 = U+062D # ARABIC LETTER HAH
+altgr keycode 16 = U+0636 # ARABIC LETTER DAD
+altgr keycode 19 = U+0642 # ARABIC LETTER QAF
+altgr keycode 31 = U+0633 # ARABIC LETTER SEEN
+altgr keycode 20 = U+0641 # ARABIC LETTER FEH
+altgr keycode 22 = U+0639 # ARABIC LETTER AIN
+altgr keycode 47 = U+0631 # ARABIC LETTER REH
+altgr keycode 17 = U+0635 # ARABIC LETTER SAD
+altgr keycode 45 = U+0637 # ARABIC LETTER TAH
+altgr keycode 21 = U+063A # ARABIC LETTER GHAIN
+altgr keycode 44 = U+0638 # ARABIC LETTER ZAH
+altgr shift keycode 26 = U+007D # OPEN CURLY BRACKET
+altgr shift keycode 43 = U+007C # VERTICAL LINE
+altgr shift keycode 27 = U+007B # CLOSE CURLY BRACKET
+altgr shift keycode 41 = VoidSymbol # Reserved
+
+# Proposed keys for bidi marks
+altgr alt keycode 51 = U+200E # LEFT-TO-RIGHT MARK # ALT ,
+altgr alt keycode 52 = U+200F # RIGHT-TO-LEFT MARK # ALT .
+altgr alt keycode 26 = U+202A # LEFT-TO-RIGHT EMBEDDING # ALT [
+altgr alt keycode 27 = U+202B # RIGHT-TO-LEFT EMBEDDING # ALT ]
+altgr alt keycode 25 = U+202C # POP DIRECTIONAL FORMATTING # ALT p
+altgr alt keycode 23 = U+202D # LEFT-TO-RIGHT OVERRIDE # ALT i
+altgr alt keycode 24 = U+202E # RIGHT-TO-LEFT OVERRIDE # ALT o
diff --git a/keymaps/i386/qwerty/fi-latin1.kmap b/keymaps/i386/qwerty/fi-latin1.kmap
new file mode 100644
index 0000000..9e07a70
--- /dev/null
+++ b/keymaps/i386/qwerty/fi-latin1.kmap
@@ -0,0 +1,83 @@
+# fi-latin1.map: Finnish keymap
+# Changes by Johan Myréen <jem@iki.fi> 1997-08-19
+
+charset "iso-8859-1"
+keymaps 0-2,4-6,8-10,12-14
+alt_is_meta
+include "qwerty-layout"
+ altgr keycode 18 = Hex_E
+ altgr keycode 30 = Hex_A
+ altgr keycode 32 = Hex_D
+ altgr keycode 33 = Hex_F
+ altgr keycode 46 = Hex_C
+ altgr keycode 48 = Hex_B
+include "linux-with-alt-and-altgr"
+ plain keycode 83 = KP_Comma
+include "euro.inc"
+strings as usual
+
+keycode 1 = Escape
+keycode 2 = one exclam
+keycode 3 = two quotedbl at
+ control keycode 3 = nul
+ control altgr keycode 3 = nul
+keycode 4 = three numbersign sterling
+ control keycode 4 = Escape
+keycode 5 = four dollar dollar
+ control keycode 5 = Control_backslash
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+keycode 7 = six ampersand
+ control keycode 7 = Control_asciicircum
+keycode 8 = seven slash braceleft
+ control keycode 8 = Control_underscore
+keycode 9 = eight parenleft bracketleft
+ control keycode 9 = Delete
+ control altgr keycode 9 = Escape
+keycode 10 = nine parenright bracketright
+ control altgr keycode 10 = Control_bracketright
+keycode 11 = zero equal braceright
+keycode 12 = plus question backslash
+ control keycode 12 = Control_underscore
+ control altgr keycode 12 = Control_backslash
+keycode 13 = dead_acute dead_grave
+ alt keycode 13 = Meta_equal
+ alt shift keycode 13 = Meta_grave
+keycode 14 = Delete
+keycode 15 = Tab
+keycode 26 = +aring +Aring
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = dead_diaeresis dead_circumflex dead_tilde
+ control keycode 27 = Control_bracketright
+ control shift keycode 27 = Control_asciicircum
+ alt keycode 27 = Meta_bracketright
+ alt shift keycode 27 = Meta_asciicircum
+ alt altgr keycode 27 = Meta_asciitilde
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = +odiaeresis +Odiaeresis
+ alt keycode 39 = Meta_semicolon
+keycode 40 = +adiaeresis +Adiaeresis
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = section onehalf
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = apostrophe asterisk
+ control keycode 43 = Control_backslash
+keycode 51 = comma semicolon
+keycode 52 = period colon
+keycode 53 = minus underscore
+ control keycode 53 = Control_underscore
+ control shift keycode 53 = Control_underscore
+ control alt shift keycode 53 = Meta_Control_underscore
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+ alt altgr keycode 86 = Meta_bar
+keycode 97 = Control
diff --git a/keymaps/i386/qwerty/fi.kmap b/keymaps/i386/qwerty/fi.kmap
new file mode 100644
index 0000000..d6536f5
--- /dev/null
+++ b/keymaps/i386/qwerty/fi.kmap
@@ -0,0 +1,90 @@
+keymaps 0-4,6,8,12
+include "qwerty-layout"
+include "linux-with-alt-and-altgr"
+ plain keycode 83 = KP_Comma
+include "euro.inc"
+strings as usual
+
+keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+keycode 3 = two quotedbl at
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+keycode 4 = three numbersign sterling
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+keycode 5 = four dollar dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 7 = six ampersand
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = seven slash braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight parenleft bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenright bracketright
+ alt keycode 10 = Meta_nine
+keycode 11 = zero equal braceright
+ alt keycode 11 = Meta_zero
+keycode 12 = plus question backslash
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = apostrophe grave
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+keycode 26 = braceright bracketright
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ altgr keycode 26 = aring
+ shift altgr keycode 26 = Aring
+keycode 27 =
+ shift keycode 27 = asciicircum
+ altgr keycode 27 = asciitilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = bar backslash
+ alt keycode 39 = Meta_semicolon
+ altgr keycode 39 = odiaeresis
+ shift altgr keycode 39 = Odiaeresis
+keycode 40 = braceleft bracketleft
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+ altgr keycode 40 = adiaeresis
+ shift altgr keycode 40 = Adiaeresis
+keycode 41 =
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = apostrophe asterisk
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 51 = comma semicolon
+ alt keycode 51 = Meta_comma
+keycode 52 = period colon
+ alt keycode 52 = Meta_period
+keycode 53 = minus underscore
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 97 = Control
diff --git a/keymaps/i386/qwerty/gr-pc.kmap b/keymaps/i386/qwerty/gr-pc.kmap
new file mode 100644
index 0000000..38aa211
--- /dev/null
+++ b/keymaps/i386/qwerty/gr-pc.kmap
@@ -0,0 +1,261 @@
+# From gcapnias@acrogate.ath.forthnet.gr Sun Jul 10 1994
+#
+# This is the map file that I use to have the greek Characters in
+# setup. The map was made according the map that exists at the IBM-clones
+# machines (437). The switch from greek to latin is with alt-enter key as
+# used here. You can't switch console when in greek mode (I didn't want to
+# do that for security reasons. If someone feels like, all he has to do is
+# to add, to each line that exists for a switch console key, a second
+# line that includes the 'altgr').
+#
+# +=[ Dr Doom ]===========================+============================+
+# | George Capnias - Athens, HellAs | OOOIII OOO III OOO II II |
+# | | O O I O O I OI I I |
+# | drdoom@ars.ath.forthnet.gr | O OIII O O I OI I I |
+# | drdoom@hol.ath.forthnet.gr | O O I O O I OI I |
+# | gcapnias@acrogate.ath.forthnet.gr | OOOI I OOO III OOO I I |
+# +=======================================+============================+
+#
+#
+# A rather similar keymap was constructed by Angelos Karageorgiou:
+#
+# Greek keyboard setup - compatible with the ELOT 437 standard
+# Angelos Karageorgiou angelos@netaxis.com - July 1994
+# >ª„’“‡ˆŽ <ªœ¨«¬Ÿ ¦§
+# €‘ƒ”‚†‰Š ˜©›­šž¥¡¢
+# …•–—Œ‹ ®¯à™¤£
+#
+# [This is not an iso mapping, and code page 437 does not have the Greek
+# alphabet. I don't have information on DOS code pages for Greek.
+# Use this keymap together with the gr*.psf fonts. - aeb]
+#
+keymaps 0-4,6,8,10,12-13
+include "linux-with-alt-and-altgr"
+ keycode 100 = Alt # but note keycode 28
+strings as usual
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ altgr keycode 2 = one
+ shift altgr keycode 2 = exclam
+ alt keycode 2 = Meta_one
+keycode 3 = two at
+ altgr keycode 3 = two
+ shift altgr keycode 3 = at
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+keycode 4 = three numbersign
+ altgr keycode 4 = three
+ shift altgr keycode 4 = numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+keycode 5 = four dollar
+ altgr keycode 5 = four
+ shift altgr keycode 5 = dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+keycode 6 = five percent
+ altgr keycode 6 = five
+ shift altgr keycode 6 = percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 7 = six asciicircum
+ altgr keycode 7 = six
+ shift altgr keycode 6 = asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = seven ampersand
+ altgr keycode 8 = seven
+ shift altgr keycode 8 = ampersand
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight asterisk
+ altgr keycode 9 = eight
+ shift altgr keycode 9 = asterisk
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenleft
+ altgr keycode 10 = nine
+ shift altgr keycode 10 = parenleft
+ alt keycode 10 = Meta_nine
+keycode 11 = zero parenright
+ altgr keycode 11 = zero
+ shift altgr keycode 11 = parenright
+ alt keycode 11 = Meta_zero
+keycode 12 = minus underscore
+ altgr keycode 12 = minus
+ shift altgr keycode 12 = underscore
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = equal plus
+ altgr keycode 13 = equal
+ shift altgr keycode 13 = plus
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete
+ altgr keycode 14 = Delete
+ shift altgr keycode 14 = Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ altgr keycode 15 = Tab
+ shift altgr keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+keycode 16 = q
+ altgr keycode 16 = semicolon
+ shift altgr keycode 16 = colon
+keycode 17 = w
+ altgr keycode 17 = 0xAA
+ shift altgr keycode 17 = 0x91
+keycode 18 = e
+ altgr keycode 18 = +0x9C
+ shift altgr keycode 18 = +0x84
+keycode 19 = r
+ altgr keycode 19 = +0xA8
+ shift altgr keycode 19 = +0x90
+keycode 20 = t
+ altgr keycode 20 = +0xAB
+ shift altgr keycode 20 = +0x92
+keycode 21 = y
+ altgr keycode 21 = +0xAC
+ shift altgr keycode 21 = +0x93
+keycode 22 = u
+ altgr keycode 22 = +0x9F
+ shift altgr keycode 22 = +0x87
+keycode 23 = i
+ altgr keycode 23 = +0xA0
+ shift altgr keycode 23 = +0x88
+keycode 24 = o
+ altgr keycode 24 = +0xA6
+ shift altgr keycode 24 = +0x8E
+keycode 25 = p
+ altgr keycode 25 = +0xA7
+ shift altgr keycode 25 = +0x8F
+keycode 26 = bracketleft braceleft
+ altgr keycode 26 = bracketleft
+ shift altgr keycode 26 = braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = bracketright braceright
+ altgr keycode 27 = bracketright
+ shift altgr keycode 27 = braceright
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ altgr keycode 28 = Return
+ alt keycode 28 = AltGr_Lock
+ altgr alt keycode 28 = AltGr_Lock
+keycode 29 = Control
+keycode 30 = a
+ altgr keycode 30 = +0x98
+ shift altgr keycode 30 = +0x80
+keycode 31 = s
+ altgr keycode 31 = +0xA9
+ shift altgr keycode 31 = +0x91
+keycode 32 = d
+ altgr keycode 32 = +0x9B
+ shift altgr keycode 32 = +0x83
+keycode 33 = f
+ altgr keycode 33 = +0xAD
+ shift altgr keycode 33 = +0x94
+keycode 34 = g
+ altgr keycode 34 = +0x9A
+ shift altgr keycode 34 = +0x82
+keycode 35 = h
+ altgr keycode 35 = +0x9E
+ shift altgr keycode 35 = +0x86
+keycode 36 = j
+ altgr keycode 36 = +0xA5
+ shift altgr keycode 36 = +0x8D
+keycode 37 = k
+ altgr keycode 37 = +0xA1
+ shift altgr keycode 37 = +0x89
+keycode 38 = l
+ altgr keycode 38 = +0xA2
+ shift altgr keycode 38 = +0x8A
+keycode 39 = semicolon colon
+ altgr keycode 39 = dead_acute
+ shift altgr keycode 39 = dead_diaeresis
+ alt keycode 39 = Meta_semicolon
+keycode 40 = apostrophe quotedbl
+ altgr keycode 40 = apostrophe
+ shift altgr keycode 40 = quotedbl
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = grave asciitilde
+ altgr keycode 41 = grave
+ shift altgr keycode 41 = asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = backslash bar
+ altgr keycode 43 = backslash
+ shift altgr keycode 43 = bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 44 = z
+ altgr keycode 44 = +0x9D
+ shift altgr keycode 44 = +0x85
+keycode 45 = x
+ altgr keycode 45 = +0xAE
+ shift altgr keycode 45 = +0x95
+keycode 46 = c
+ altgr keycode 46 = +0xAF
+ shift altgr keycode 46 = +0x96
+keycode 47 = v
+ altgr keycode 47 = +0xE0
+ shift altgr keycode 47 = +0x97
+keycode 48 = b
+ altgr keycode 48 = +0x99
+ shift altgr keycode 48 = +0x81
+keycode 49 = n
+ altgr keycode 49 = +0xA4
+ shift altgr keycode 49 = +0x8C
+keycode 50 = m
+ altgr keycode 50 = +0xA3
+ shift altgr keycode 50 = +0x8B
+keycode 51 = comma less
+ altgr keycode 51 = comma
+ shift altgr keycode 51 = less
+ alt keycode 51 = Meta_comma
+keycode 52 = period greater
+ altgr keycode 52 = period
+ shift altgr keycode 52 = greater
+ alt keycode 52 = Meta_period
+keycode 53 = slash question
+ altgr keycode 53 = slash
+ shift altgr keycode 53 = question
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater
+ alt keycode 86 = Meta_less
+keycode 97 = Control
+
+compose '\'' '€' to 'ê'
+compose '\'' '„' to 'ë'
+compose '\'' '†' to 'ì'
+compose '\'' 'ˆ' to 'í'
+compose '\'' 'Ž' to 'î'
+compose '\'' '“' to 'ï'
+compose '\'' '—' to 'ð'
+compose '\'' '˜' to 'á'
+compose '\'' 'œ' to 'â'
+compose '\'' 'ž' to 'ã'
+compose '\'' ' ' to 'å'
+compose '\'' '¦' to 'æ'
+compose '\'' '¬' to 'ç'
+compose '\'' 'à' to 'é'
+compose '"' 'ˆ' to 'ˆ'
+compose '"' '“' to '“'
+compose '"' ' ' to 'ä'
+compose '"' '¬' to 'è'
+compose '^' ' ' to '+'
+compose '^' '¬' to '+'
+compose '\'' '\'' to ';'
+compose '"' '"' to ':'
+compose '\'' ' ' to '\''
diff --git a/keymaps/i386/qwerty/gr-utf8.kmap b/keymaps/i386/qwerty/gr-utf8.kmap
new file mode 100644
index 0000000..97538d1
--- /dev/null
+++ b/keymaps/i386/qwerty/gr-utf8.kmap
@@ -0,0 +1,214 @@
+# This is a Greek UTF-8 keymap for console.
+#
+# This keymap was generated for encoding utf-8
+# Switching between Latin and Greek letters is done by Left Alt+ Left Shift
+# combination. Temporary switching is done by Right Alt key.
+# Accents DO NOT WORK for now, due to kernel limitations.
+#
+# This keymap was generated using the macros by Cyril Slobin
+# from the package console-cyrillic, by Konstantinos Margaritis
+# <markos@debian.org> and with extremely valueable help from
+# Anton Zinoniev <zinoviev@debian.org>, in some late hacking
+# during the Oldenburg meeting, 2004. :-)
+
+charset "iso-8859-7"
+
+keycode 1 = Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 2 = one exclam one exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 3 = two at two at nul nul nul nul Meta_two Meta_at Meta_two Meta_at Meta_nul Meta_nul Meta_nul Meta_nul
+keycode 4 = three numbersign three numbersign Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_numbersign Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 5 = four dollar four dollar Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash
+keycode 6 = five percent five percent Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright
+keycode 7 = six asciicircum six asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_asciicircum Meta_six Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum
+keycode 8 = seven ampersand seven ampersand Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_seven Meta_ampersand Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore
+keycode 9 = eight asterisk eight asterisk Delete Delete Delete Delete Meta_eight Meta_asterisk Meta_eight Meta_asterisk Meta_Delete Meta_Delete Meta_Delete Meta_Delete
+keycode 10 = nine parenleft nine parenleft VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_parenleft Meta_nine Meta_parenleft VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 11 = zero parenright zero parenright VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_zero Meta_parenright VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 12 = minus underscore minus underscore Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore
+keycode 13 = equal plus equal plus VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_plus Meta_equal Meta_plus VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 14 = Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace
+keycode 15 = Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+keycode 16 = +q +Q +semicolon +colon Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_Q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q
+keycode 17 = +w +W +U+03C2 +U+03A3 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w
+keycode 18 = +e +E +U+03B5 +U+0395 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e
+keycode 19 = +r +R +U+03C1 +U+03A1 Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r
+keycode 20 = +t +T +U+03C4 +U+03A4 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t
+keycode 21 = +y +Y +U+03C5 +U+03A5 Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y
+keycode 22 = +u +U +U+03B8 +U+0398 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u
+keycode 23 = +i +I +U+03B9 +U+0399 Control_i Control_i Control_i Control_i Meta_i Meta_I Meta_i Meta_I Meta_Control_i Meta_Control_i Meta_Control_i Meta_Control_i
+keycode 24 = +o +O +U+03BF +U+039F Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o
+keycode 25 = +p +P +U+03C0 +U+03A0 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p
+keycode 26 = bracketleft braceleft bracketleft braceleft Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_braceleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 27 = bracketright braceright bracketright braceright Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_bracketright Meta_braceright Meta_bracketright Meta_braceright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright
+keycode 28 = Return Return Return Return Return Return Return Return Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m
+keycode 29 = Control
+keycode 30 = +a +A +U+03B1 +U+0391 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a
+keycode 31 = +s +S +U+03C3 +U+03A3 Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s
+keycode 32 = +d +D +U+03B4 +U+0394 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d
+keycode 33 = +f +F +U+03C6 +U+03A6 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f
+keycode 34 = +g +G +U+03B3 +U+0393 Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g
+keycode 35 = +h +H +U+03B7 +U+0397 Control_h Control_h Control_h Control_h Meta_h Meta_H Meta_h Meta_H Meta_Control_h Meta_Control_h Meta_Control_h Meta_Control_h
+keycode 36 = +j +J +U+03BE +U+039E Control_j Control_j Control_j Control_j Meta_j Meta_J Meta_j Meta_J Meta_Control_j Meta_Control_j Meta_Control_j Meta_Control_j
+keycode 37 = +k +K +U+03BA +U+039A Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_K Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k
+keycode 38 = +l +L +U+03BB +U+039B Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l
+keycode 39 = semicolon colon semicolon colon VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_semicolon Meta_colon Meta_semicolon Meta_colon VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 40 = apostrophe quotedbl apostrophe quotedbl Control_g Control_g Control_g Control_g Meta_apostrophe Meta_quotedbl Meta_apostrophe Meta_quotedbl Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g
+keycode 41 = grave asciitilde grave asciitilde nul nul nul nul Meta_grave Meta_asciitilde Meta_grave Meta_asciitilde Meta_nul Meta_nul Meta_nul Meta_nul
+keycode 42 = Shift
+ alt keycode 42 = AltGr_Lock
+ altgr alt keycode 42 = AltGr_Lock
+keycode 43 = backslash bar backslash bar Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash
+keycode 44 = +z +Z +U+03B6 +U+0396 Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_Z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z
+keycode 45 = +x +X +U+03C7 +U+03A7 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_X Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x
+keycode 46 = +c +C +U+03C8 +U+03A8 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c
+keycode 47 = +v +V +U+03C9 +U+03A9 Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v
+keycode 48 = +b +B +U+03B2 +U+0392 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b
+keycode 49 = +n +N +U+03BD +U+039D Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n
+keycode 50 = +m +M +U+03BC +U+039C Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m
+keycode 51 = comma less comma less VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_less Meta_comma Meta_less VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 52 = period greater period greater VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_period Meta_greater Meta_period Meta_greater VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+ control keycode 52 = Compose
+ control altgr keycode 52 = Compose
+keycode 53 = slash question slash question Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_question Meta_Delete Meta_Delete Meta_Delete Meta_Delete
+keycode 54 = Shift
+# alt keycode 54 = AltGr_Lock
+# altgr alt keycode 54 = AltGr_Lock
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space space space nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul
+keycode 58 = Caps_Lock
+keycode 59 = F1 F11 F1 F11 F1 F11 F1 F11 Console_1 Console_1 Console_1 Console_1 Console_1 Console_1 Console_1 Console_1
+keycode 60 = F2 F12 F2 F12 F2 F12 F2 F12 Console_2 Console_2 Console_2 Console_2 Console_2 Console_2 Console_2 Console_2
+keycode 61 = F3 F13 F3 F13 F3 F13 F3 F13 Console_3 Console_3 Console_3 Console_3 Console_3 Console_3 Console_3 Console_3
+keycode 62 = F4 F14 F4 F14 F4 F14 F4 F14 Console_4 Console_4 Console_4 Console_4 Console_4 Console_4 Console_4 Console_4
+keycode 63 = F5 F15 F5 F15 F5 F15 F5 F15 Console_5 Console_5 Console_5 Console_5 Console_5 Console_5 Console_5 Console_5
+keycode 64 = F6 F16 F6 F16 F6 F16 F6 F16 Console_6 Console_6 Console_6 Console_6 Console_6 Console_6 Console_6 Console_6
+keycode 65 = F7 F17 F7 F17 F7 F17 F7 F17 Console_7 Console_7 Console_7 Console_7 Console_7 Console_7 Console_7 Console_7
+keycode 66 = F8 F18 F8 F18 F8 F18 F8 F18 Console_8 Console_8 Console_8 Console_8 Console_8 Console_8 Console_8 Console_8
+keycode 67 = F9 F19 F9 F19 F9 F19 F9 F19 Console_9 Console_9 Console_9 Console_9 Console_9 Console_9 Console_9 Console_9
+keycode 68 = F10 F20 F10 F20 F10 F20 F10 F20 Console_10 Console_10 Console_10 Console_10 Console_10 Console_10 Console_10 Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock
+ shift keycode 70 = Show_Memory
+ shift altgr keycode 70 = Show_Memory
+ control keycode 70 = Show_State
+ control altgr keycode 70 = Show_State
+ alt keycode 70 = Show_Registers
+ alt altgr keycode 70 = Show_Registers
+keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+ alt altgr keycode 71 = Ascii_7
+keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+ alt altgr keycode 72 = Ascii_8
+keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+ alt altgr keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+ alt altgr keycode 75 = Ascii_4
+keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+ alt altgr keycode 76 = Ascii_5
+keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+ alt altgr keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+ alt altgr keycode 79 = Ascii_1
+keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+ alt altgr keycode 80 = Ascii_2
+keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+ alt altgr keycode 81 = Ascii_3
+keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+ alt altgr keycode 82 = Ascii_0
+keycode 83 = KP_Period
+ control alt keycode 83 = Boot
+ control alt altgr keycode 83 = Boot
+keycode 84 = Last_Console
+Keycode 85 =
+keycode 86 = less greater less greater VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_less Meta_greater VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 87 = F11 F11 F11 F11 F11 F11 F11 F11 Console_11 Console_11 Console_11 Console_11 Console_11 Console_11 Console_11 Console_11
+keycode 88 = F12 F12 F12 F12 F12 F12 F12 F12 Console_12 Console_12 Console_12 Console_12 Console_12 Console_12 Console_12 Console_12
+Keycode 89 =
+Keycode 90 =
+Keycode 91 =
+Keycode 92 =
+Keycode 93 =
+Keycode 94 =
+Keycode 95 =
+keycode 96 = KP_Enter
+keycode 97 = Control
+keycode 98 = KP_Divide
+keycode 99 = Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Home
+keycode 103 = Up
+keycode 104 = PageUp
+ shift keycode 104 = Scroll_Backward
+ shift altgr keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ alt altgr keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ alt altgr keycode 106 = Incr_Console
+keycode 107 = End
+keycode 108 = Down
+keycode 109 = PageDown
+ shift keycode 109 = Scroll_Forward
+ shift altgr keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ control alt keycode 111 = Boot
+ control alt altgr keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = Pause
+Keycode 120 =
+Keycode 121 =
+Keycode 122 =
+Keycode 123 =
+Keycode 124 =
+keycode 125 = AltGr
+keycode 126 = AltGr
+keycode 127 = AltGr_Lock
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
diff --git a/keymaps/i386/qwerty/gr.kmap b/keymaps/i386/qwerty/gr.kmap
new file mode 100644
index 0000000..d1c654e
--- /dev/null
+++ b/keymaps/i386/qwerty/gr.kmap
@@ -0,0 +1,474 @@
+# v0.95 Sat Jun 21 21:49:26 EET 1997. Replaces: v0.90 Tue Apr 5 17:20:51 1994
+# This is the improved greek map, (file gr.map), for linux kbd.
+# The compose combinations are back in, and better mode switch keys.
+#
+# Use:
+# Left-shift-alt is the greek-lock key (the same as in Win95).
+# The new win95 keys (on win95 keyboard) can be used too
+# (until a better use of them is found):
+# Left and Right win95 keys act like shift-to-greek,
+# and Right win95menu key acts like greek-lock.
+#
+# I was unable to define two dead keys in a row, so:
+# For both accent and dialytika use Ctrl and the accent key.
+#
+# For bugs/remarks, send mail to sarantos@ics.forth.gr
+# You can get updated versions from
+# http://www.ics.forth.gr/~sarantos/gr.map
+#
+# This is an iso-8859-7 mapping. Use together with "setfont iso07.*"
+# activated by sending Esc ( K to the console.
+#
+charset "iso-8859-7"
+keymaps 0-2,4-6,8-9,12,64-66,68-70,72-73,76
+include "linux-with-alt-and-altgr"
+include "euro.inc"
+strings as usual
+#
+# The definitions are divided into 6 parts.
+
+#
+# Part one: The full us map (us.map, from 14 Mar 1994),
+# without the (empty) keycodes for 125, 126 and 127.
+# The strings are appended at the end.
+#
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+ alt shift keycode 2 = Meta_exclam
+keycode 3 = two at at
+ control keycode 3 = nul
+ control shift keycode 3 = nul
+ alt keycode 3 = Meta_two
+ alt shift keycode 3 = Meta_at
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ alt shift keycode 4 = Meta_numbersign
+keycode 5 = four dollar dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ alt shift keycode 5 = Meta_dollar
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ alt shift keycode 6 = Meta_percent
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ alt shift keycode 7 = Meta_asciicircum
+keycode 8 = seven ampersand braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight asterisk bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenleft bracketright
+ alt keycode 10 = Meta_nine
+keycode 11 = zero parenright braceright
+ alt keycode 11 = Meta_zero
+keycode 12 = minus underscore backslash
+ control keycode 12 = Control_underscore
+ control shift keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = equal plus
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete
+ control keycode 14 = BackSpace
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 16 = q
+keycode 17 = w
+keycode 18 = e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = y
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ alt shift keycode 26 = Meta_braceleft
+keycode 27 = bracketright braceright asciitilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ alt shift keycode 27 = Meta_braceright
+keycode 28 = Return
+ alt keycode 28 = 0x080d
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+keycode 39 = semicolon colon
+ alt keycode 39 = Meta_semicolon
+keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = grave asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ alt shift keycode 43 = Meta_bar
+keycode 44 = z
+keycode 45 = x
+keycode 46 = c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = m
+keycode 51 = comma less
+ alt keycode 51 = Meta_comma
+ alt shift keycode 51 = Meta_less
+keycode 52 = period greater
+ alt keycode 52 = Meta_period
+ alt shift keycode 52 = Meta_greater
+keycode 53 = slash question
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 97 = Control
+
+#
+# Part two: all these definitions, in CtrlL (greek) mode.
+# Only the redefined keys (letters, accents and quotas)
+# and the keys with one symbol defined for all modes, are excluded.
+#
+CtrlL keycode 1 = Escape
+CtrlL shift keycode 1 = Escape
+CtrlL alt keycode 1 = Meta_Escape
+CtrlL keycode 2 = one
+CtrlL shift keycode 2 = exclam
+CtrlL alt keycode 2 = Meta_one
+CtrlL alt shift keycode 2 = Meta_exclam
+CtrlL keycode 3 = two
+CtrlL shift keycode 3 = at
+CtrlL altgr keycode 3 = at
+CtrlL control keycode 3 = nul
+CtrlL control shift keycode 3 = nul
+CtrlL alt keycode 3 = Meta_two
+CtrlL alt shift keycode 3 = Meta_at
+CtrlL keycode 4 = three
+CtrlL shift keycode 4 = numbersign
+CtrlL control keycode 4 = Escape
+CtrlL alt keycode 4 = Meta_three
+CtrlL alt shift keycode 4 = Meta_numbersign
+CtrlL keycode 5 = four
+CtrlL shift keycode 5 = dollar
+CtrlL altgr keycode 5 = dollar
+CtrlL control keycode 5 = Control_backslash
+CtrlL alt keycode 5 = Meta_four
+CtrlL alt shift keycode 5 = Meta_dollar
+CtrlL keycode 6 = five
+CtrlL shift keycode 6 = percent
+CtrlL control keycode 6 = Control_bracketright
+CtrlL alt keycode 6 = Meta_five
+CtrlL alt shift keycode 6 = Meta_percent
+CtrlL keycode 7 = six
+CtrlL shift keycode 7 = asciicircum
+CtrlL control keycode 7 = Control_asciicircum
+CtrlL alt keycode 7 = Meta_six
+CtrlL alt shift keycode 7 = Meta_asciicircum
+CtrlL keycode 8 = seven
+CtrlL shift keycode 8 = ampersand
+CtrlL altgr keycode 8 = braceleft
+CtrlL control keycode 8 = Control_underscore
+CtrlL alt keycode 8 = Meta_seven
+CtrlL keycode 9 = eight
+CtrlL shift keycode 9 = asterisk
+CtrlL altgr keycode 9 = bracketleft
+CtrlL control keycode 9 = Delete
+CtrlL alt keycode 9 = Meta_eight
+CtrlL keycode 10 = nine
+CtrlL shift keycode 10 = parenleft
+CtrlL altgr keycode 10 = bracketright
+CtrlL alt keycode 10 = Meta_nine
+CtrlL keycode 11 = zero
+CtrlL shift keycode 11 = parenright
+CtrlL altgr keycode 11 = braceright
+CtrlL alt keycode 11 = Meta_zero
+CtrlL keycode 12 = minus
+CtrlL shift keycode 12 = underscore
+CtrlL altgr keycode 12 = backslash
+CtrlL control keycode 12 = Control_underscore
+CtrlL control shift keycode 12 = Control_underscore
+CtrlL alt keycode 12 = Meta_minus
+CtrlL keycode 13 = equal
+CtrlL shift keycode 13 = plus
+CtrlL alt keycode 13 = Meta_equal
+CtrlL keycode 14 = Delete
+CtrlL shift keycode 14 = Delete
+CtrlL control keycode 14 = BackSpace
+CtrlL alt keycode 14 = Meta_Delete
+CtrlL keycode 15 = Tab
+CtrlL shift keycode 15 = Tab
+CtrlL alt keycode 15 = Meta_Tab
+CtrlL keycode 26 = bracketleft
+CtrlL shift keycode 26 = braceleft
+CtrlL control keycode 26 = Escape
+CtrlL alt keycode 26 = Meta_bracketleft
+CtrlL alt shift keycode 26 = Meta_braceleft
+CtrlL keycode 27 = bracketright
+CtrlL shift keycode 27 = braceright
+CtrlL altgr keycode 27 = asciitilde
+CtrlL control keycode 27 = Control_bracketright
+CtrlL alt keycode 27 = Meta_bracketright
+CtrlL alt shift keycode 27 = Meta_braceright
+CtrlL alt keycode 28 = 0x080d
+#CtrlL keycode 39 = semicolon
+#CtrlL shift keycode 39 = colon
+CtrlL alt keycode 39 = Meta_semicolon
+#CtrlL keycode 40 = apostrophe
+#CtrlL shift keycode 40 = quotedbl
+CtrlL control keycode 40 = Control_g
+CtrlL alt keycode 40 = Meta_apostrophe
+CtrlL keycode 41 = grave
+CtrlL shift keycode 41 = asciitilde
+CtrlL control keycode 41 = nul
+CtrlL alt keycode 41 = Meta_grave
+CtrlL keycode 43 = backslash
+CtrlL shift keycode 43 = bar
+CtrlL control keycode 43 = Control_backslash
+CtrlL alt keycode 43 = Meta_backslash
+CtrlL alt shift keycode 43 = Meta_bar
+CtrlL keycode 51 = comma
+CtrlL shift keycode 51 = less
+CtrlL alt keycode 51 = Meta_comma
+CtrlL alt shift keycode 51 = Meta_less
+CtrlL keycode 52 = period
+CtrlL shift keycode 52 = greater
+CtrlL alt keycode 52 = Meta_period
+CtrlL alt shift keycode 52 = Meta_greater
+CtrlL keycode 53 = slash
+CtrlL shift keycode 53 = question
+CtrlL control keycode 53 = Delete
+CtrlL alt keycode 53 = Meta_slash
+CtrlL keycode 57 = space
+CtrlL shift keycode 57 = space
+CtrlL control keycode 57 = nul
+CtrlL alt keycode 57 = Meta_space
+CtrlL keycode 59 = F1
+CtrlL shift keycode 59 = F11
+CtrlL altgr keycode 59 = Console_13
+CtrlL control keycode 59 = F1
+CtrlL alt keycode 59 = Console_1
+CtrlL control alt keycode 59 = Console_1
+CtrlL keycode 60 = F2
+CtrlL shift keycode 60 = F12
+CtrlL altgr keycode 60 = Console_14
+CtrlL control keycode 60 = F2
+CtrlL alt keycode 60 = Console_2
+CtrlL control alt keycode 60 = Console_2
+CtrlL keycode 61 = F3
+CtrlL shift keycode 61 = F13
+CtrlL altgr keycode 61 = Console_15
+CtrlL control keycode 61 = F3
+CtrlL alt keycode 61 = Console_3
+CtrlL control alt keycode 61 = Console_3
+CtrlL keycode 62 = F4
+CtrlL shift keycode 62 = F14
+CtrlL altgr keycode 62 = Console_16
+CtrlL control keycode 62 = F4
+CtrlL alt keycode 62 = Console_4
+CtrlL control alt keycode 62 = Console_4
+CtrlL keycode 63 = F5
+CtrlL shift keycode 63 = F15
+CtrlL altgr keycode 63 = Console_17
+CtrlL control keycode 63 = F5
+CtrlL alt keycode 63 = Console_5
+CtrlL control alt keycode 63 = Console_5
+CtrlL keycode 64 = F6
+CtrlL shift keycode 64 = F16
+CtrlL altgr keycode 64 = Console_18
+CtrlL control keycode 64 = F6
+CtrlL alt keycode 64 = Console_6
+CtrlL control alt keycode 64 = Console_6
+CtrlL keycode 65 = F7
+CtrlL shift keycode 65 = F17
+CtrlL altgr keycode 65 = Console_19
+CtrlL control keycode 65 = F7
+CtrlL alt keycode 65 = Console_7
+CtrlL control alt keycode 65 = Console_7
+CtrlL keycode 66 = F8
+CtrlL shift keycode 66 = F18
+CtrlL altgr keycode 66 = Console_20
+CtrlL control keycode 66 = F8
+CtrlL alt keycode 66 = Console_8
+CtrlL control alt keycode 66 = Console_8
+CtrlL keycode 67 = F9
+CtrlL shift keycode 67 = F19
+CtrlL altgr keycode 67 = Console_21
+CtrlL control keycode 67 = F9
+CtrlL alt keycode 67 = Console_9
+CtrlL control alt keycode 67 = Console_9
+CtrlL keycode 68 = F10
+CtrlL shift keycode 68 = F20
+CtrlL altgr keycode 68 = Console_22
+CtrlL control keycode 68 = F10
+CtrlL alt keycode 68 = Console_10
+CtrlL control alt keycode 68 = Console_10
+CtrlL keycode 70 = Scroll_Lock
+CtrlL shift keycode 70 = Show_Memory
+CtrlL altgr keycode 70 = Show_Registers
+CtrlL control keycode 70 = Show_State
+CtrlL alt keycode 70 = Scroll_Lock
+CtrlL alt keycode 71 = Ascii_7
+CtrlL alt keycode 72 = Ascii_8
+CtrlL alt keycode 73 = Ascii_9
+CtrlL alt keycode 75 = Ascii_4
+CtrlL alt keycode 76 = Ascii_5
+CtrlL alt keycode 77 = Ascii_6
+CtrlL alt keycode 79 = Ascii_1
+CtrlL alt keycode 80 = Ascii_2
+CtrlL alt keycode 81 = Ascii_3
+CtrlL alt keycode 82 = Ascii_0
+CtrlL altgr control keycode 83 = Boot
+CtrlL control alt keycode 83 = Boot
+CtrlL keycode 86 = less
+CtrlL shift keycode 86 = greater
+CtrlL altgr keycode 86 = bar
+CtrlL alt keycode 86 = Meta_less
+CtrlL keycode 87 = F11
+CtrlL shift keycode 87 = F11
+CtrlL altgr keycode 87 = Console_23
+CtrlL control keycode 87 = F11
+CtrlL alt keycode 87 = Console_11
+CtrlL control alt keycode 87 = Console_11
+CtrlL keycode 88 = F12
+CtrlL shift keycode 88 = F12
+CtrlL altgr keycode 88 = Console_24
+CtrlL control keycode 88 = F12
+CtrlL alt keycode 88 = Console_12
+CtrlL control alt keycode 88 = Console_12
+CtrlL control keycode 99 = Control_backslash
+CtrlL alt keycode 99 = Control_backslash
+CtrlL shift keycode 104 = Scroll_Backward
+CtrlL alt keycode 105 = Decr_Console
+CtrlL alt keycode 106 = Incr_Console
+CtrlL shift keycode 109 = Scroll_Forward
+CtrlL altgr control keycode 111 = Boot
+CtrlL control alt keycode 111 = Boot
+
+#
+# Part three: The switching keys to CtrlL (greek) mode
+#
+# alt+shift, shift+alt (left side alt and shift only)
+ alt keycode 42 = CtrlL_Lock
+ shift keycode 56 = CtrlL_Lock
+CtrlL alt keycode 42 = CtrlL_Lock
+CtrlL shift keycode 56 = CtrlL_Lock
+
+# on win95 keyboards, we define extra keys
+
+keycode 125 = CtrlL
+keycode 126 = CtrlL
+keycode 127 = CtrlL_Lock
+
+#
+# Part four: The particular definitions of CtrlL (greek) mode
+#
+CtrlL keycode 16 = semicolon
+CtrlL shift keycode 16 = colon
+CtrlL keycode 17 = terminalsigma
+CtrlL shift keycode 17 = 0267 # anv teleia
+CtrlL keycode 18 = +epsilon
+CtrlL shift keycode 18 = +Epsilon
+CtrlL keycode 19 = +rho
+CtrlL shift keycode 19 = +Rho
+CtrlL keycode 20 = +tau
+CtrlL shift keycode 20 = +Tau
+CtrlL keycode 21 = +upsilon
+CtrlL shift keycode 21 = +Upsilon
+CtrlL keycode 22 = +theta
+CtrlL shift keycode 22 = +Theta
+CtrlL keycode 23 = +iota
+CtrlL shift keycode 23 = +Iota
+CtrlL keycode 24 = +omicron
+CtrlL shift keycode 24 = +Omicron
+CtrlL keycode 25 = +pi
+CtrlL shift keycode 25 = +Pi
+CtrlL keycode 30 = +alpha
+CtrlL shift keycode 30 = +Alpha
+CtrlL keycode 31 = +sigma
+CtrlL shift keycode 31 = +Sigma
+CtrlL keycode 32 = +delta
+CtrlL shift keycode 32 = +Delta
+CtrlL keycode 33 = +phi
+CtrlL shift keycode 33 = +Phi
+CtrlL keycode 34 = +gamma
+CtrlL shift keycode 34 = +Gamma
+CtrlL keycode 35 = +eta
+CtrlL shift keycode 35 = +Eta
+CtrlL keycode 36 = +ksi
+CtrlL shift keycode 36 = +Ksi
+CtrlL keycode 37 = +kappa
+CtrlL shift keycode 37 = +Kappa
+CtrlL keycode 38 = +lambda
+CtrlL shift keycode 38 = +Lambda
+CtrlL keycode 39 = dead_acute
+CtrlL shift keycode 39 = dead_diaeresis
+CtrlL control keycode 39 = dead_circumflex
+CtrlL keycode 40 = semicolon
+CtrlL shift keycode 40 = colon
+CtrlL keycode 44 = +zeta
+CtrlL shift keycode 44 = +Zeta
+CtrlL keycode 45 = +khi
+CtrlL shift keycode 45 = +Khi
+CtrlL keycode 46 = +psi
+CtrlL shift keycode 46 = +Psi
+CtrlL keycode 47 = +omega
+CtrlL shift keycode 47 = +Omega
+CtrlL keycode 48 = +beta
+CtrlL shift keycode 48 = +Beta
+CtrlL keycode 49 = +nu
+CtrlL shift keycode 49 = +Nu
+CtrlL keycode 50 = +mu
+CtrlL shift keycode 50 = +Mu
+
+#
+# Part five: The compose sequences
+#
+compose '\'' 'Á' to '¶' # Alphaaccent
+compose '\'' 'Å' to '¸' # Epsilonaccent
+compose '\'' 'Ç' to '¹' # Etaaccent
+compose '\'' 'É' to 'º' # Iotaaccent
+compose '\'' 'Ï' to '¼' # Omicronaccent
+compose '\'' 'Õ' to '¾' # Upsilonaccent
+compose '\'' 'Ù' to '¿' # Omegaaccent
+compose '\'' 'á' to 'Ü' # alphaaccent
+compose '\'' 'å' to 'Ý' # epsilonaccent
+compose '\'' 'ç' to 'Þ' # etaaccent
+compose '\'' 'é' to 'ß' # iotaaccent
+compose '\'' 'ï' to 'ü' # omicronaccent
+compose '\'' 'õ' to 'ý' # upsilonaccent
+compose '\'' 'ù' to 'þ' # omegaaccent
+compose '"' 'É' to 'Ú' # Iotadiaeresis
+compose '"' 'Õ' to 'Û' # Upsilondiaeresis
+compose '"' 'é' to 'ú' # iotadiaeresis
+compose '"' 'õ' to 'û' # upsilondiaeresis
+compose '^' 'é' to 'À' # iotadiaeresisaccent
+compose '^' 'õ' to 'à' # upsilondiaeresisaccent
+compose '\'' '\'' to ';' # semicolon
+compose '"' '"' to ':' # colon
+compose '\'' ' ' to '\'' # quota/accent
+
diff --git a/keymaps/i386/qwerty/hebrew.kmap b/keymaps/i386/qwerty/hebrew.kmap
new file mode 100644
index 0000000..f3fa8df
--- /dev/null
+++ b/keymaps/i386/qwerty/hebrew.kmap
@@ -0,0 +1,102 @@
+charset "iso-8859-8"
+keymaps 0-6,8,12
+include "linux-with-alt-and-altgr"
+strings as usual
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam one
+ alt keycode 2 = Meta_one
+keycode 3 = two at two VoidSymbol nul nul
+ alt keycode 3 = Meta_two
+keycode 4 = three numbersign three
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+keycode 5 = four dollar four
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+keycode 6 = five percent five
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 7 = six asciicircum six
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = seven ampersand seven
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight asterisk eight multiplication Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenleft nine
+ alt keycode 10 = Meta_nine
+keycode 11 = zero parenright zero
+ alt keycode 11 = Meta_zero
+keycode 12 = minus underscore backslash VoidSymbol Control_underscore Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = equal plus doubleunderscore doubleunderscore
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 16 = +q +Q qof qof Control_q
+keycode 17 = +w +W vav vav Control_w
+keycode 18 = +e +E alef alef Control_e
+keycode 19 = +r +R resh resh Control_r
+keycode 20 = +t +T tav tet Control_t
+keycode 21 = +y +Y ayin ayin Control_y
+keycode 22 = +u +U vav vav Control_u
+keycode 23 = +i +I yod yod Tab
+keycode 24 = +o +O samekh samekh Control_o
+keycode 25 = +p +P pe finalpe Control_p
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = bracketright braceright asciitilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = +a +A alef alef Control_a
+keycode 31 = +s +S shin shin Control_s
+keycode 32 = +d +D dalet dalet Control_d
+keycode 33 = +f +F pe finalpe Control_f
+keycode 34 = +g +G gimel gimel Control_g
+keycode 35 = +h +H he he BackSpace
+keycode 36 = +j +J yod yod Linefeed
+keycode 37 = +k +K kaf finalkaf Control_k
+keycode 38 = +l +L lamed lamed Control_l
+keycode 39 = semicolon colon semicolon colon
+ alt keycode 39 = Meta_semicolon
+keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = grave asciitilde overscore overscore nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 44 = +z +Z zayin zayin Control_z
+keycode 45 = +x +X het het Control_x
+keycode 46 = +c +C tsadi finaltsadi Control_c
+keycode 47 = +v +V vav vav Control_v
+keycode 48 = +b +B bet bet Control_b
+keycode 49 = +n +N nun finalnun Control_n
+keycode 50 = +m +M mem finalmem Control_m
+keycode 51 = comma less comma less
+ alt keycode 51 = Meta_comma
+keycode 52 = period greater period greater Compose
+ alt keycode 52 = Meta_period
+keycode 53 = slash question division division Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space space space space nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 97 = AltGr_Lock
+
+compose 'c' 'h' to 'ç'
diff --git a/keymaps/i386/qwerty/hu101.kmap b/keymaps/i386/qwerty/hu101.kmap
new file mode 100644
index 0000000..501cadd
--- /dev/null
+++ b/keymaps/i386/qwerty/hu101.kmap
@@ -0,0 +1,170 @@
+#
+# Hungarian keymap for 101 key keyboards (iso8859-2)
+#
+# Modified by Soos Peter <sp@osb.hu>, 1997, 1998
+# based on Levardy Zoltan's <h0894118@witch.pmmf.hu> keymap
+#
+# The 1998 change interchanged Backspace and Delete
+#
+charset "iso-8859-2"
+keymaps 0-2,4-6,8,10,12
+alt_is_meta
+include "linux-with-alt-and-altgr"
+ plain keycode 83 = KP_Comma
+strings as usual
+
+ keycode 1 = Escape
+
+ keycode 2 = one apostrophe asciitilde
+
+ keycode 3 = two quotedbl caron
+ control keycode 3 = nul
+
+ keycode 4 = three plus asciicircum
+ control keycode 4 = Escape
+
+ keycode 5 = four exclam breve
+ control keycode 5 = Control_backslash
+
+ keycode 6 = five percent degree
+ control keycode 6 = Control_bracketright
+
+ keycode 7 = six slash ogonek
+ control keycode 7 = Control_asciicircum
+
+ keycode 8 = seven equal grave
+ control keycode 8 = Control_underscore
+
+ keycode 9 = eight parenleft abovedot
+ control keycode 9 = Delete
+
+ keycode 10 = nine parenright acute
+
+ keycode 11 = +odiaeresis +Odiaeresis doubleacute
+ alt keycode 11 = Meta_zero
+
+ keycode 12 = +udiaeresis +Udiaeresis diaeresis
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+altgr control keycode 12 = Control_backslash
+
+ keycode 13 = +oacute +Oacute cedilla
+ alt keycode 13 = Meta_plus
+
+# keycode 14 = BackSpace Delete
+# control keycode 14 = Delete
+ keycode 14 = Delete
+ control keycode 14 = BackSpace
+ alt keycode 14 = Meta_Delete
+
+ keycode 15 = Tab Tab
+
+ keycode 16 = +q +Q backslash
+ control keycode 16 = Control_q
+altgr alt keycode 16 = Meta_backslash
+altgr control keycode 16 = Control_backslash
+
+ keycode 17 = +w +W bar
+ control keycode 17 = Control_w
+
+ keycode 18 = e
+ keycode 19 = r
+ keycode 20 = t
+
+ keycode 21 = +y +Y
+ control keycode 21 = Control_y
+
+ keycode 22 = u
+
+ keycode 23 = +i +I Iacute
+ control keycode 23 = Control_i
+
+ keycode 24 = o
+ keycode 25 = p
+
+ keycode 26 = +odoubleacute +Odoubleacute division
+
+ keycode 27 = +uacute +Uacute multiplication
+
+ keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+
+ keycode 29 = Control
+
+ keycode 30 = a
+
+ keycode 31 = +s +S dstroke
+ control keycode 31 = Control_s
+
+ keycode 32 = +d +D Dstroke
+ control keycode 32 = Control_d
+
+ keycode 33 = +f +F bracketleft
+ control keycode 33 = Control_f
+
+ keycode 34 = +g +G bracketright
+ control keycode 34 = Control_g
+altgr control keycode 34 = Control_bracketright
+
+ keycode 35 = h
+
+ keycode 36 = +j +J iacute
+ control keycode 36 = Control_j
+
+ keycode 37 = +k +K lstroke
+ control keycode 37 = Control_k
+
+ keycode 38 = +l +L Lstroke
+ control keycode 38 = Control_l
+
+ keycode 39 = +eacute +Eacute dollar
+
+ keycode 40 = +aacute +Aacute ssharp
+
+ keycode 41 = +iacute +Iacute zero
+
+ keycode 42 = Shift
+
+ keycode 43 = +udoubleacute +Udoubleacute currency
+
+ keycode 44 = +z +Z greater
+ control keycode 44 = Control_z
+
+ keycode 45 = +x +X numbersign
+ control keycode 45 = Control_x
+
+ keycode 46 = +c +C ampersand
+ control keycode 46 = Control_c
+
+ keycode 47 = +v +V at
+ control keycode 47 = Control_v
+
+ keycode 48 = +b +B braceleft
+ control keycode 48 = Control_b
+
+ keycode 49 = +n +N braceright
+ control keycode 49 = Control_n
+
+ keycode 50 = +m +M less
+ control keycode 50 = Control_m
+
+ keycode 51 = comma question semicolon
+
+ keycode 52 = period colon greater
+
+ keycode 53 = minus underscore asterisk
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+shift control keycode 53 = Control_underscore
+
+ keycode 54 = Shift
+ keycode 56 = Alt
+
+ keycode 57 = space
+ control keycode 57 = nul
+
+ keycode 58 = Caps_Lock
+
+ keycode 86 = +iacute +Iacute less
+
+ keycode 97 = Control
diff --git a/keymaps/i386/qwerty/il-heb.kmap b/keymaps/i386/qwerty/il-heb.kmap
new file mode 100644
index 0000000..3494e87
--- /dev/null
+++ b/keymaps/i386/qwerty/il-heb.kmap
@@ -0,0 +1,102 @@
+# From Oded S. Resnik
+charset "iso-8859-8"
+keymaps 0-6,8,12
+include "linux-with-alt-and-altgr"
+strings as usual
+
+keycode 1 = Escape Escape Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam one exclam
+ alt keycode 2 = Meta_one
+keycode 3 = two at two at nul nul
+ alt keycode 3 = Meta_two
+keycode 4 = three numbersign three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+keycode 5 = four dollar four dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+keycode 6 = five percent five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 7 = six asciicircum six asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = seven ampersand seven ampersand
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight asterisk eight asterisk Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenleft nine parenright
+ alt keycode 10 = Meta_nine
+keycode 11 = zero parenright zero parenleft
+ alt keycode 11 = Meta_zero
+keycode 12 = minus underscore minus underscore Control_underscore Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = equal plus equal plus
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete Delete Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 16 = +q +Q slash slash Control_q Control_q Control_q Control_q
+keycode 17 = +w +W apostrophe apostrophe Control_w Control_w Control_w Control_w
+keycode 18 = +e +E qof qof Control_e Control_e Control_e Control_e
+keycode 19 = +r +R resh resh Control_r Control_r Control_r Control_r
+keycode 20 = +t +T alef alef Control_t Control_t Control_t Control_t
+keycode 21 = +y +Y tet tet Control_y Control_y Control_y Control_y
+keycode 22 = +u +U vav vav Control_u Control_u Control_u Control_u
+keycode 23 = +i +I finalnun finalnun Tab Tab Tab Tab
+keycode 24 = +o +O finalmem finalmem Control_o Control_o Control_o Control_o
+keycode 25 = +p +P pe pe Control_p Control_p Control_p Control_p
+keycode 26 = bracketleft braceleft bracketright braceright
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = bracketright braceright bracketleft braceleft
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = +a +A shin shin Control_a Control_a Control_a Control_a
+keycode 31 = +s +S dalet dalet Control_s Control_s Control_s Control_s
+keycode 32 = +d +D gimel gimel Control_d Control_d Control_d Control_d
+keycode 33 = +f +F kaf kaf Control_f Control_f Control_f Control_f
+keycode 34 = +g +G ayin ayin Control_g Control_g Control_g Control_g
+keycode 35 = +h +H yod yod BackSpace BackSpace BackSpace BackSpace
+keycode 36 = +j +J het yod Linefeed Linefeed Linefeed Linefeed
+keycode 37 = +k +K lamed finalkaf Control_k Control_k Control_k Control_k
+keycode 38 = +l +L finalkaf finalkaf Control_l Control_l Control_l Control_l
+keycode 39 = semicolon colon finalpe colon
+ alt keycode 39 = Meta_semicolon
+keycode 40 = apostrophe quotedbl comma quotedbl
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = grave asciitilde semicolon semicolon nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = backslash bar backslash
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 44 = +z +Z zayin zayin Control_z Control_z Control_z Control_z
+keycode 45 = +x +X samekh samekh Control_x Control_x Control_x Control_x
+keycode 46 = +c +C bet bet Control_c Control_c Control_c Control_c
+keycode 47 = +v +V he he Control_v Control_v Control_v Control_v
+keycode 48 = +b +B nun nun Control_b Control_b Control_b Control_b
+keycode 49 = +n +N mem mem Control_n Control_n Control_n Control_n
+keycode 50 = +m +M tsadi tsadi Control_m Control_m Control_m Control_m
+keycode 51 = comma less tav greater
+ alt keycode 51 = Meta_comma
+keycode 52 = period greater finaltsadi less Compose
+ alt keycode 52 = Meta_period
+keycode 53 = slash question period question Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space space space space nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 97 = AltGr_Lock
+
diff --git a/keymaps/i386/qwerty/il-phonetic.kmap b/keymaps/i386/qwerty/il-phonetic.kmap
new file mode 100644
index 0000000..f3fa8df
--- /dev/null
+++ b/keymaps/i386/qwerty/il-phonetic.kmap
@@ -0,0 +1,102 @@
+charset "iso-8859-8"
+keymaps 0-6,8,12
+include "linux-with-alt-and-altgr"
+strings as usual
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam one
+ alt keycode 2 = Meta_one
+keycode 3 = two at two VoidSymbol nul nul
+ alt keycode 3 = Meta_two
+keycode 4 = three numbersign three
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+keycode 5 = four dollar four
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+keycode 6 = five percent five
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 7 = six asciicircum six
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = seven ampersand seven
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight asterisk eight multiplication Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenleft nine
+ alt keycode 10 = Meta_nine
+keycode 11 = zero parenright zero
+ alt keycode 11 = Meta_zero
+keycode 12 = minus underscore backslash VoidSymbol Control_underscore Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = equal plus doubleunderscore doubleunderscore
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 16 = +q +Q qof qof Control_q
+keycode 17 = +w +W vav vav Control_w
+keycode 18 = +e +E alef alef Control_e
+keycode 19 = +r +R resh resh Control_r
+keycode 20 = +t +T tav tet Control_t
+keycode 21 = +y +Y ayin ayin Control_y
+keycode 22 = +u +U vav vav Control_u
+keycode 23 = +i +I yod yod Tab
+keycode 24 = +o +O samekh samekh Control_o
+keycode 25 = +p +P pe finalpe Control_p
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = bracketright braceright asciitilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = +a +A alef alef Control_a
+keycode 31 = +s +S shin shin Control_s
+keycode 32 = +d +D dalet dalet Control_d
+keycode 33 = +f +F pe finalpe Control_f
+keycode 34 = +g +G gimel gimel Control_g
+keycode 35 = +h +H he he BackSpace
+keycode 36 = +j +J yod yod Linefeed
+keycode 37 = +k +K kaf finalkaf Control_k
+keycode 38 = +l +L lamed lamed Control_l
+keycode 39 = semicolon colon semicolon colon
+ alt keycode 39 = Meta_semicolon
+keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = grave asciitilde overscore overscore nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 44 = +z +Z zayin zayin Control_z
+keycode 45 = +x +X het het Control_x
+keycode 46 = +c +C tsadi finaltsadi Control_c
+keycode 47 = +v +V vav vav Control_v
+keycode 48 = +b +B bet bet Control_b
+keycode 49 = +n +N nun finalnun Control_n
+keycode 50 = +m +M mem finalmem Control_m
+keycode 51 = comma less comma less
+ alt keycode 51 = Meta_comma
+keycode 52 = period greater period greater Compose
+ alt keycode 52 = Meta_period
+keycode 53 = slash question division division Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space space space space nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 97 = AltGr_Lock
+
+compose 'c' 'h' to 'ç'
diff --git a/keymaps/i386/qwerty/il.kmap b/keymaps/i386/qwerty/il.kmap
new file mode 100644
index 0000000..97f5c37
--- /dev/null
+++ b/keymaps/i386/qwerty/il.kmap
@@ -0,0 +1,294 @@
+# From coutal@netvision.net.il Sun Dec 24 11:20:58 2000 - Gil Bahat
+# .il hebrew keymap, non-phonetic one. (does anyone ever use phonetic maps?)
+# Problems? Suggestions? coutal@netvision.net.il . flames? /dev/null.
+# if it breaks, you get to keep one piece. the other goes for recycling.
+# no key does shifting, Right_Ctrl does locking
+
+
+charset "iso-8859-8"
+keymaps 0-4,6,8,10,12
+strings as usual
+
+ keycode 1 = Escape Escape Escape Escape
+ alt keycode 1 = Meta_Escape
+ keycode 2 = one exclam one exclam
+ alt keycode 2 = Meta_one
+ keycode 3 = two at two at
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+ keycode 4 = three numbersign three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ keycode 5 = four dollar four dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ keycode 6 = five percent five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ keycode 7 = six asciicircum six asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ keycode 8 = seven ampersand seven ampersand
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+ keycode 9 = eight asterisk eight asterisk
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+ keycode 10 = nine parenleft nine parenleft
+ alt keycode 10 = Meta_nine
+ keycode 11 = zero parenright zero parenright
+ alt keycode 11 = Meta_zero
+ keycode 12 = minus underscore minus underscore
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+ keycode 13 = equal plus equal plus
+ alt keycode 13 = Meta_equal
+ keycode 14 = Delete Delete Delete Delete
+ control keycode 14 = BackSpace
+ alt keycode 14 = Meta_Delete
+ keycode 15 = Tab Tab Tab Tab
+ alt keycode 15 = Meta_Tab
+ keycode 16 = +q +Q slash +Q
+ control keycode 16 = Control_q
+altgr control keycode 16 = Control_q
+ keycode 17 = +w +W comma +W
+ control keycode 17 = Control_w
+altgr control keycode 17 = Control_w
+ keycode 18 = +e +E qof +E
+ control keycode 18 = Control_e
+altgr control keycode 18 = Control_e
+ keycode 19 = +r +R resh +R
+ control keycode 19 = Control_r
+altgr control keycode 19 = Control_r
+ keycode 20 = +t +T alef +T
+ control keycode 20 = Control_t
+altgr control keycode 20 = Control_t
+ keycode 21 = +y +Y tet +Y
+ control keycode 21 = Control_y
+altgr control keycode 21 = Control_y
+ keycode 22 = +u +U vav +U
+ control keycode 22 = Control_u
+altgr control keycode 22 = Control_u
+ keycode 23 = +i +I finalnun +I
+ control keycode 23 = Tab
+altgr control keycode 23 = Tab
+ keycode 24 = +o +O finalmem +O
+ control keycode 24 = Control_o
+altgr control keycode 24 = Control_o
+ keycode 25 = +p +P pe +P
+ control keycode 25 = Control_p
+altgr control keycode 25 = Control_p
+ keycode 26 = bracketleft braceleft bracketleft braceleft
+ control keycode 26 = Escape
+altgr control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ keycode 27 = bracketright braceright bracketright braceright
+ control keycode 27 = Control_bracketright
+altgr control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+ keycode 29 = Control
+ keycode 30 = +a +A shin +A
+ control keycode 30 = Control_a
+altgr control keycode 30 = Control_a
+ keycode 31 = +s +S dalet +S
+ control keycode 31 = Control_s
+altgr control keycode 31 = Control_s
+ keycode 32 = +d +D gimel +D
+ control keycode 32 = Control_d
+altgr control keycode 32 = Control_d
+ keycode 33 = +f +F kaf +F
+ control keycode 33 = Control_f
+altgr control keycode 33 = Control_f
+ keycode 34 = +g +G ayin +G
+ control keycode 34 = Control_g
+altgr control keycode 34 = Control_g
+ keycode 35 = +h +H yod +H
+ control keycode 35 = BackSpace
+altgr control keycode 35 = BackSpace
+ keycode 36 = +j +J het +J
+ control keycode 36 = Linefeed
+altgr control keycode 36 = Linefeed
+ keycode 37 = +k +K lamed +K
+ control keycode 37 = Control_k
+altgr control keycode 37 = Control_k
+ keycode 38 = +l +L finalkaf +L
+ control keycode 38 = Control_l
+altgr control keycode 38 = Control_l
+ keycode 39 = semicolon colon finalpe colon
+ alt keycode 39 = Meta_semicolon
+ keycode 40 = apostrophe quotedbl comma quotedbl
+ control keycode 40 = Control_g
+altgr control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+ keycode 41 = grave asciitilde semicolon asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+ keycode 42 = Shift
+ keycode 43 = backslash bar backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ keycode 44 = +z +Z zayin +Z
+ control keycode 44 = Control_z
+altgr control keycode 44 = Control_z
+ keycode 45 = +x +X samekh +X
+ control keycode 45 = Control_x
+altgr control keycode 45 = Control_x
+ keycode 46 = +c +C bet +C
+ control keycode 46 = Control_c
+altgr control keycode 46 = Control_c
+ keycode 47 = +v +V he +V
+ control keycode 47 = Control_v
+altgr control keycode 47 = Control_v
+ keycode 48 = +b +B nun +B
+ control keycode 48 = Control_b
+altgr control keycode 48 = Control_b
+ keycode 49 = +n +N mem +N
+ control keycode 49 = Control_n
+altgr control keycode 49 = Control_n
+ keycode 50 = +m +M tsadi +M
+ control keycode 50 = Control_m
+altgr control keycode 50 = Control_m
+ keycode 51 = comma less tav less
+ alt keycode 51 = Meta_comma
+ keycode 52 = period greater finaltsadi greater
+ alt keycode 52 = Meta_period
+ keycode 53 = slash question period question
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+ keycode 54 = Shift
+ keycode 55 = KP_Multiply
+ keycode 56 = Alt
+ keycode 57 = space space space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ keycode 58 = Caps_Lock
+ keycode 59 = F1 F11 F1 F11
+ control keycode 59 = F1
+ alt keycode 59 = Console_1
+altgr alt keycode 59 = Console_1
+ keycode 60 = F2 F12 F2 F12
+ control keycode 60 = F2
+ alt keycode 60 = Console_2
+altgr alt keycode 60 = Console_2
+ keycode 61 = F3 F13 F3 F13
+ control keycode 61 = F3
+ alt keycode 61 = Console_3
+altgr alt keycode 61 = Console_3
+ keycode 62 = F4 F14 F4 F14
+ control keycode 62 = F4
+ alt keycode 62 = Console_4
+altgr alt keycode 62 = Console_4
+ keycode 63 = F5 F15 F5 F15
+ control keycode 63 = F5
+ alt keycode 63 = Console_5
+altgr alt keycode 63 = Console_5
+ keycode 64 = F6 F16 F6 F16
+ control keycode 64 = F6
+ alt keycode 64 = Console_6
+altgr alt keycode 64 = Console_6
+ keycode 65 = F7 F17 F7 F17
+ control keycode 65 = F7
+ alt keycode 65 = Console_7
+altgr alt keycode 65 = Console_7
+ keycode 66 = F8 F18 F8 F18
+ control keycode 66 = F8
+ alt keycode 66 = Console_8
+altgr alt keycode 66 = Console_8
+ keycode 67 = F9 F19 F9 F19
+ control keycode 67 = F9
+ alt keycode 67 = Console_9
+altgr alt keycode 67 = Console_9
+ keycode 68 = F10 F20 F10 F20
+ control keycode 68 = F10
+ alt keycode 68 = Console_10
+altgr alt keycode 68 = Console_10
+ keycode 69 = Num_Lock
+ keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+ keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+ keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+ keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+ keycode 74 = KP_Subtract
+ keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+ keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+ keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+ keycode 78 = KP_Add
+ keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+ keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+ keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+ keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+ keycode 83 = KP_Period
+altgr control keycode 83 = Boot
+control alt keycode 83 = Boot
+ keycode 84 = Last_Console
+ keycode 85 =
+ keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+ keycode 87 = F11 F11 F11 F11
+ control keycode 87 = F11
+ alt keycode 87 = Console_11
+altgr alt keycode 87 = Console_11
+ keycode 88 = F12 F12 F12 F12
+ control keycode 88 = F12
+ alt keycode 88 = Console_12
+altgr alt keycode 88 = Console_12
+ keycode 89 =
+ keycode 90 =
+ keycode 91 =
+ keycode 92 =
+ keycode 93 =
+ keycode 94 =
+ keycode 95 =
+ keycode 96 = KP_Enter
+ keycode 97 = AltGr_Lock
+ keycode 98 = KP_Divide
+ keycode 99 = VoidSymbol
+ control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+ keycode 100 = Alt
+ keycode 101 = Break
+ keycode 102 = Find
+ keycode 103 = Up
+ keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+ keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ keycode 107 = Select
+ keycode 108 = Down
+ keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+ keycode 110 = Insert
+ keycode 111 = Remove
+altgr control keycode 111 = Boot
+control alt keycode 111 = Boot
+ keycode 112 =
+ keycode 113 =
+ keycode 114 =
+ keycode 115 =
+ keycode 116 =
+ keycode 117 =
+ keycode 118 =
+ keycode 119 =
+ keycode 120 =
+ keycode 121 =
+ keycode 122 =
+ keycode 123 =
+ keycode 124 =
+ keycode 125 =
+ keycode 126 =
+ keycode 127 =
diff --git a/keymaps/i386/qwerty/is-latin1-us.kmap b/keymaps/i386/qwerty/is-latin1-us.kmap
new file mode 100644
index 0000000..a15c39c
--- /dev/null
+++ b/keymaps/i386/qwerty/is-latin1-us.kmap
@@ -0,0 +1,169 @@
+# The base of this keymap is the Icelandic keymap distributed
+# as standard issue with most if not all Linux distros. This
+# map is set up primarily for writing text.
+#
+# Now, the differences:
+# 1. Alt+non-alpha. key gives you the US mapping of that key.
+# 2. Shift+dead-acute is now the Compose function.
+# 3. The euro symbol is on AltGr+Shift+5.
+# 4. The sterling symbol is on AltGr+[lL].
+# 5. The yen symbol is on AltGr+[yY].
+# 6. The cent is on AltGr+c and the copyright symbol is on AltGr+C.
+# 7. The registered symbol is AltGr+[rR].
+# 8. The micro (mu) is on AltGr+[uU].
+# 9. The ess-zet is on AltGr+s and the section symbol on AltGr+S.
+# 10. Å (bolle-a, Aring) is on AltGr+[æÆ].
+# 11. Ø (Oslash) is on AltGr+[oO].
+# 12. AltGr+space gives you a no-break-space (#160).
+#
+# Reynir Heiðberg Stefánsson <reynirhs@isl.is>, 2003-04-30
+charset "iso-8859-1"
+keymaps 0-15
+include "linux-with-alt-and-altgr"
+ plain keycode 83 = KP_Comma
+ shift keycode 83 = KP_Comma
+ altgr keycode 83 = KP_Comma
+ alt keycode 83 = KP_Period
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam onesuperior
+ alt keycode 2 = one
+ alt shift keycode 2 = exclam
+keycode 3 = two quotedbl twosuperior
+ control keycode 3 = nul
+ alt keycode 3 = two
+ alt shift keycode 3 = at
+keycode 4 = three numbersign threesuperior
+ control keycode 4 = Escape
+ alt keycode 4 = three
+ alt shift keycode 4 = numbersign
+keycode 5 = four dollar onequarter
+ control keycode 5 = Control_backslash
+ alt keycode 5 = four
+ alt shift keycode 5 = dollar
+keycode 6 = five percent onehalf
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = five
+ alt shift keycode 6 = percent
+ altgr shift keycode 6 = currency
+keycode 7 = six ampersand threequarters
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = six
+ alt shift keycode 7 = asciicircum
+keycode 8 = seven slash braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = seven
+ alt shift keycode 8 = ampersand
+keycode 9 = eight parenleft bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = eight
+ alt shift keycode 9 = asterisk
+keycode 10 = nine parenright bracketright
+ alt keycode 10 = nine
+ alt shift keycode 10 = parenleft
+keycode 11 = zero equal braceright
+ alt keycode 11 = zero
+ alt shift keycode 11 = parenright
+keycode 12 = +odiaeresis +Odiaeresis backslash
+ control keycode 12 = Control_underscore
+ alt keycode 12 = minus
+ alt shift keycode 12 = underscore
+keycode 13 = minus underscore hyphen
+ alt keycode 13 = equal
+ alt shift keycode 13 = plus
+keycode 14 = Delete Delete Meta_Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+keycode 16 = +q +Q at at
+ control keycode 16 = Control_q
+ alt keycode 16 = Meta_q
+keycode 17 = w
+keycode 18 = e
+keycode 19 = +r +R registered registered
+ control keycode 19 = Control_r
+ alt keycode 19 = Meta_r
+keycode 20 = t
+keycode 21 = +y +Y yen yen
+ control keycode 21 = Control_y
+ alt keycode 21 = Meta_y
+keycode 22 = +u +U mu mu
+ control keycode 22 = Control_u
+ alt keycode 22 = Meta_u
+keycode 23 = i
+keycode 24 = +o +O +oslash +Oslash
+ control keycode 24 = Control_o
+ alt keycode 24 = Meta_o
+keycode 25 = p
+keycode 26 = +eth +ETH
+ control keycode 26 = Escape
+ alt keycode 26 = bracketleft
+ alt shift keycode 26 = braceleft
+keycode 27 = apostrophe question asciitilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = bracketright
+ alt shift keycode 27 = braceright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = +s +S ssharp section
+ control keycode 31 = Control_s
+ alt keycode 31 = Meta_s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = +l +L sterling sterling
+ control keycode 38 = Control_l
+ alt keycode 38 = Meta_l
+keycode 39 = +ae +AE +aring +Aring
+ alt keycode 39 = semicolon
+ alt shift keycode 39 = colon
+keycode 40 = dead_acute Compose asciicircum
+ control keycode 40 = Control_g
+ alt keycode 40 = apostrophe
+ alt shift keycode 40 = quotedbl
+keycode 41 = degree dead_diaeresis bar
+ control keycode 41 = nul
+ alt keycode 41 = grave
+ alt shift keycode 41 = tilde
+keycode 42 = Shift
+keycode 43 = plus asterisk grave
+ control keycode 43 = Control_backslash
+ alt keycode 43 = backslash
+ alt shift keycode 43 = bar
+keycode 44 = z
+keycode 45 = x
+keycode 46 = +c +C cent copyright
+ control keycode 46 = Control_c
+ alt keycode 46 = Meta_c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = m
+keycode 51 = comma semicolon guillemotleft
+ alt keycode 51 = comma
+ alt shift keycode 51 = less
+keycode 52 = period colon guillemotright
+ alt keycode 52 = period
+ alt shift keycode 52 = greater
+keycode 53 = +thorn +THORN
+ alt keycode 53 = slash
+ alt shift keycode 53 = question
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ altgr keycode 57 = nobreakspace
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+ alt keycode 86 = backslash
+ alt shift keycode 86 = bar
+keycode 97 = Alt
diff --git a/keymaps/i386/qwerty/is-latin1.kmap b/keymaps/i386/qwerty/is-latin1.kmap
new file mode 100644
index 0000000..820edff
--- /dev/null
+++ b/keymaps/i386/qwerty/is-latin1.kmap
@@ -0,0 +1,151 @@
+# This mainly follows
+# is-latin1.map: Icelandic keyboard for Latin 1 character set
+# Kristjan Jonsson (kj@raunvis.hi.is)
+# but also has some features of "ice-latin1.map' as submitted
+# by Einar Indridason (einari@rhi.hi.is)
+#
+# Where the two maps differed, the version of the latter map
+# is given as comment - the main difference is that the latter
+# map tends to make Alt and Altgr synonyms.
+#
+# Note that this map uses the right control key as Alt
+# People with a keyboard without a key with keycode 86
+# will not be able to produce < and > using this keymap.
+# - aeb, 950825
+#
+# Corrected according to the Icelandic standard for keyboards,
+# IST 125:1995 (some symbols changed to a dead diacritic)
+# Right control key (keycode 97) changed from Alt to Control
+# Added Euro, cent, micro (mu) and nobreakspace
+# Some symbols added according to IST ISO/IEC 9995-3:1994
+#
+charset "iso-8859-1"
+keymaps 0-2,4-6,8,12
+include "linux-with-alt-and-altgr"
+ plain keycode 83 = KP_Comma
+ shift keycode 83 = KP_Comma
+ altgr keycode 83 = KP_Comma
+strings as usual
+
+keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam onesuperior
+ alt keycode 2 = Meta_one
+keycode 3 = two quotedbl twosuperior
+# altgr keycode 3 = at
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+keycode 4 = three numbersign threesuperior
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+keycode 5 = four dollar onequarter
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+keycode 6 = five percent onehalf
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 7 = six ampersand threequarters
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = seven slash braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+# alt keycode 8 = braceleft
+keycode 9 = eight parenleft bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+# alt keycode 9 = bracketleft
+keycode 10 = nine parenright bracketright
+ alt keycode 10 = Meta_nine
+# alt keycode 10 = bracketright
+keycode 11 = zero equal braceright
+ alt keycode 11 = Meta_zero
+# alt keycode 11 = braceright
+keycode 12 = +odiaeresis +Odiaeresis backslash
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+# alt keycode 12 = backslash
+keycode 13 = minus underscore hyphen
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete Meta_Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+keycode 16 = +q +Q at
+ control keycode 16 = Control_q
+ alt keycode 16 = Meta_q
+# alt keycode 16 = at
+keycode 17 = w
+keycode 18 = e
+ altgr keycode 18 = euro
+keycode 19 = r
+keycode 20 = t
+keycode 21 = y
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+keycode 26 = +eth +ETH
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = apostrophe question dead_tilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+# alt keycode 27 = asciitilde
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = s
+ altgr keycode 31 = ssharp
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+keycode 39 = +ae +AE
+ alt keycode 39 = Meta_semicolon
+keycode 40 = dead_acute dead_acute dead_circumflex
+#keycode 40 = dead_acute dead_acute asciicircum
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+# alt keycode 40 = asciicircum
+keycode 41 = degree dead_diaeresis bar
+#keycode 41 = apostrophe asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = plus asterisk dead_grave
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+# alt keycode 43 = grave
+keycode 44 = z
+ altgr keycode 44 = guillemotleft
+keycode 45 = x
+ altgr keycode 45 = guillemotright
+keycode 46 = c
+ altgr keycode 46 = cent
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = m
+ altgr keycode 50 = mu
+keycode 51 = comma semicolon guillemotleft
+ alt keycode 51 = Meta_comma
+keycode 52 = period colon guillemotright
+ alt keycode 52 = Meta_period
+keycode 53 = +thorn +THORN
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space space nobreakspace
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+# alt keycode 86 = bar
+keycode 97 = Alt
diff --git a/keymaps/i386/qwerty/it-ibm.kmap b/keymaps/i386/qwerty/it-ibm.kmap
new file mode 100644
index 0000000..e91af9f
--- /dev/null
+++ b/keymaps/i386/qwerty/it-ibm.kmap
@@ -0,0 +1,108 @@
+# Keyboard map for italian IBM(c) PC keyboards
+# Dec 1994 - Leonardo Valcamonici /CASPUR
+# ----------------------------------------------------------
+# Please report bugs & improvements to valcamonici@caspur.it
+keymaps 0-2,4,6,8-9,12
+include "linux-with-alt-and-altgr"
+strings as usual
+compose as usual for "iso-8859-1"
+include "euro"
+
+ keycode 1 = Escape Escape
+alt keycode 1 = Meta_Escape
+ keycode 2 = one exclam
+alt keycode 2 = Meta_one
+alt shift keycode 2 = Meta_exclam
+ keycode 3 = two quotedbl
+alt keycode 3 = Meta_two
+ keycode 4 = three sterling numbersign
+control keycode 4 = Escape
+alt keycode 4 = Meta_three
+ keycode 5 = four dollar
+control keycode 5 = Control_backslash
+alt keycode 5 = Meta_four
+ keycode 6 = five percent
+control keycode 6 = Control_bracketright
+alt keycode 6 = Meta_five
+ keycode 7 = six ampersand
+alt keycode 7 = Meta_six
+ keycode 8 = seven slash braceleft
+control keycode 8 = Control_underscore
+alt keycode 8 = Meta_seven
+ keycode 9 = eight parenleft bracketleft
+control keycode 9 = Delete
+alt keycode 9 = Meta_eight
+ keycode 10 = nine parenright bracketright
+alt keycode 10 = Meta_nine
+ keycode 11 = zero equal braceright
+alt keycode 11 = Meta_zero
+ keycode 12 = apostrophe question
+alt keycode 12 = Meta_apostrophe
+ keycode 13 = igrave asciicircum
+alt keycode 13 = Meta_equal
+ keycode 14 = Delete Delete
+alt keycode 14 = Meta_Delete
+ keycode 15 = Tab Tab
+alt keycode 15 = Meta_Tab
+ keycode 16 = q Q at
+ keycode 17 = w
+ keycode 18 = e
+ keycode 19 = r
+ keycode 20 = t
+ keycode 21 = y
+ keycode 22 = u
+ keycode 23 = i
+ keycode 24 = o
+ keycode 25 = p
+ keycode 26 = eacute egrave
+control keycode 26 = Escape
+alt keycode 26 = Meta_bracketleft
+ keycode 27 = plus asterisk asciitilde
+control keycode 27 = Control_bracketright
+alt keycode 27 = Meta_bracketright
+ keycode 28 = Return
+alt keycode 28 = Meta_Control_m
+ keycode 29 = Control
+ keycode 30 = a
+ keycode 31 = s
+ keycode 32 = d
+ keycode 33 = f
+ keycode 34 = g
+ keycode 35 = h
+ keycode 36 = j
+ keycode 37 = k
+ keycode 38 = l
+ keycode 39 = ograve colon
+alt keycode 39 = Meta_semicolon
+ keycode 40 = agrave quotedbl
+control keycode 40 = Control_g
+alt keycode 40 = Meta_apostrophe
+ keycode 41 = backslash bar
+control keycode 41 = Control_backslash
+alt keycode 41 = Meta_backslash
+ keycode 42 = Shift
+ keycode 43 = ugrave bar grave
+ keycode 44 = z
+ keycode 45 = x
+ keycode 46 = c
+ keycode 47 = v
+ keycode 48 = b
+ keycode 49 = n
+ keycode 50 = m
+ keycode 51 = comma semicolon
+alt keycode 51 = Meta_comma
+ keycode 52 = period colon
+control keycode 52 = Compose
+alt keycode 52 = Meta_period
+ keycode 53 = minus underscore
+control keycode 53 = Delete
+alt keycode 53 = Meta_minus
+ keycode 54 = Shift
+ keycode 56 = Alt
+ keycode 57 = space
+control keycode 57 = nul
+alt keycode 57 = Meta_space
+ keycode 58 = Caps_Lock
+ keycode 86 = less greater
+alt keycode 86 = Meta_less
+ keycode 97 = Control
diff --git a/keymaps/i386/qwerty/it.kmap b/keymaps/i386/qwerty/it.kmap
new file mode 100644
index 0000000..8ea0bf3
--- /dev/null
+++ b/keymaps/i386/qwerty/it.kmap
@@ -0,0 +1,159 @@
+# Italian keymap with emacs enhancements
+# Beta version Mon May 2 19:57:25 WET DST 1994
+# Available for anon. ftp at cnuce_arch.cnr.it:/pub/Linux-local/kbd/it.map
+#
+# Based on all other keymaps available in Slackware-1.2.0.
+#
+# '@', '#', '[', and ']' are obtained by AltGr with the appropriate key.
+#
+# I have added '{', '}', '~', '`', iacute and uacute.
+# They can be obtained by AltGr-(, AltGr-), AltGr-=, AltGr-', AltGr-igrave
+# and AltGr-ugrave respectively.
+#
+# I have also added most Alt-Shift and Ctrl-Alt codes needed for emacs
+# with the standard keymap of the fundamental mode.
+#
+# Place in your ~/.emacs the following two lines:
+# (standard-display-european t)
+# (set-input-mode nil nil 1)
+#
+# Place in your /usr/lib/X11/Xconfig:
+# LeftAlt Meta
+# RightAlt ModeShift
+#
+# To use high characters with other programs, read the documentation ;-)
+# Please report all bugs and improvement proposals to the address below.
+#
+# Buona fortuna,
+# Dario Besseghini <besseghi@dm.unipi.it>
+#
+# "currency" and "cent" mappings for euro support added by
+# Ferdinando Ferranti <zappagalattica@inwind.it>
+#
+keymaps 0-2,4,6,8-9,12
+include "linux-with-alt-and-altgr"
+strings as usual
+compose as usual for "iso-8859-1"
+include "euro"
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+keycode 3 = two quotedbl
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+ control alt keycode 3 = Meta_nul
+keycode 4 = three sterling
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ control alt keycode 4 = Meta_Escape
+keycode 5 = four dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+ control alt keycode 5 = Meta_Control_backslash
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+keycode 7 = six ampersand
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = seven slash
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+ shift alt keycode 8 = Meta_slash
+keycode 9 = eight parenleft braceleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+ shift alt keycode 9 = Meta_parenleft
+ control alt keycode 9 = Meta_Delete
+keycode 10 = nine parenright braceright
+ alt keycode 10 = Meta_nine
+ shift alt keycode 10 = Meta_parenright
+keycode 11 = zero equal asciitilde
+ alt keycode 11 = Meta_zero
+ shift alt keycode 11 = Meta_equal
+keycode 12 = apostrophe question grave
+ control keycode 12 = Delete
+ alt keycode 12 = Meta_minus
+ control alt keycode 12 = Meta_Delete
+keycode 13 = igrave asciicircum iacute
+ control keycode 13 = Control_asciicircum
+ alt keycode 13 = Meta_equal
+ shift alt keycode 13 = Meta_asciicircum
+keycode 14 = Delete Delete
+ control keycode 14 = Control_underscore
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 16 = q
+keycode 17 = w
+keycode 18 = e
+ altgr keycode 18 = currency
+keycode 19 = r
+keycode 20 = t
+keycode 21 = y
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+keycode 26 = egrave eacute bracketleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = plus asterisk bracketright
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+keycode 39 = ograve ccedilla at
+ control keycode 39 = nul
+ alt keycode 39 = Meta_at
+ control alt keycode 39 = Meta_nul
+keycode 40 = agrave degree numbersign
+ control keycode 40 = Control_g
+keycode 41 = backslash bar
+ control keycode 41 = Control_backslash
+ alt keycode 41 = Meta_backslash
+ shift alt keycode 41 = Meta_bar
+keycode 42 = Shift
+keycode 43 = ugrave section uacute
+keycode 44 = z
+keycode 45 = x
+keycode 46 = c
+ altgr keycode 46 = cent
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = m
+keycode 51 = comma semicolon
+ alt keycode 51 = Meta_comma
+ shift alt keycode 51 = Meta_semicolon
+keycode 52 = period colon
+ alt keycode 52 = Meta_period
+keycode 53 = minus underscore
+ control keycode 53 = Control_underscore
+ alt keycode 53 = Meta_minus
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ control alt keycode 57 = Meta_nul
+keycode 58 = Caps_Lock
+keycode 86 = less greater
+ alt keycode 86 = Meta_less
+ shift alt keycode 86 = Meta_greater
+keycode 97 = Control
diff --git a/keymaps/i386/qwerty/it2.kmap b/keymaps/i386/qwerty/it2.kmap
new file mode 100644
index 0000000..0a94fb4
--- /dev/null
+++ b/keymaps/i386/qwerty/it2.kmap
@@ -0,0 +1,213 @@
+# From nosenzo@inrete.alpcom.it Fri Feb 24 12:29:04 1995
+! Italian keymap
+!
+!
+! Note:
+! Since the Italian keyboard lacks of some basic keys ( like the '{}'
+! parentheses and the '`' grave ) and the most used keys like the
+! unix slash '/' are in the wrong position, I added some new keys
+! binding to the standard Italian keyboard. They are:
+! CHARACTER KEY
+! ` AltGr-<'>
+! / <->
+! - AltGr-<->
+! { AltGr-<8>
+! } AltGr-<9>
+! ~ AltGr-<\>
+!
+! To use the Italian keyboard under X11 you must make the $HOME/.Xmodmap using
+! the mk_modmap command found under /usr/lib/kbd/keymaps,
+! and then insert the following lines in your /usr/lib/X11/Xconfig :
+!
+! LeftAlt Meta
+! RightAlt ModeShift
+!
+! Per utilizzare la tastiera Italiana sotto X11 e' necessario creare il file
+! $HOME/.Xmodmap usando il comando mk_modmap presente nella dir :
+! /usr/lib/kbd/keymaps ed inserire le seguenti linee nel
+! file /usr/lib/X11/Xconfig ( penso vada bene qualunque posizione ) :
+!
+! LeftAlt Meta
+! RightAlt ModeShift
+!
+! Spero che questo mio file possa essere utile a qualcuno, se avete problemi
+! non esitate a scrivermi . :-)
+!
+! If you find some bugs, please mail me.
+!
+!
+! Luca Nosenzo <nosenzo@inrete.alpcom.it>
+!
+
+keymaps 0-4,6,8-9,12
+include "linux-with-alt-and-altgr"
+include "euro"
+strings as usual
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+ alt shift keycode 2 = Meta_exclam
+keycode 3 = two quotedbl
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+keycode 4 = three sterling
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+keycode 5 = four dollar dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ alt shift keycode 5 = Meta_dollar
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ alt shift keycode 6 = Meta_percent
+keycode 7 = six ampersand
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = seven slash bracketleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight parenleft braceleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+ alt shift keycode 9 = Meta_braceleft
+keycode 10 = nine parenright braceright
+ alt keycode 10 = Meta_nine
+ alt shift keycode 10 = Meta_braceright
+keycode 11 = zero equal bracketright
+ alt keycode 11 = Meta_zero
+keycode 12 = apostrophe question grave
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = igrave asciicircum
+ alt keycode 13 = Meta_equal
+ alt shift keycode 13 = Meta_asciicircum
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 16 = q Q
+ control keycode 16 = Control_q
+ alt keycode 16 = Meta_q
+keycode 17 = w W
+ control keycode 17 = Control_w
+ alt keycode 17 = Meta_w
+keycode 18 = e E
+ control keycode 18 = Control_e
+ alt keycode 18 = Meta_e
+keycode 19 = r R
+ control keycode 19 = Control_r
+ alt keycode 19 = Meta_r
+keycode 20 = t T
+ control keycode 20 = Control_t
+ alt keycode 20 = Meta_t
+keycode 21 = y Y
+ control keycode 21 = Control_y
+ alt keycode 21 = Meta_y
+keycode 22 = u U
+ control keycode 22 = Control_u
+ alt keycode 22 = Meta_u
+keycode 23 = i I
+ control keycode 23 = Tab
+ alt keycode 23 = Meta_i
+keycode 24 = o O
+ control keycode 24 = Control_o
+ alt keycode 24 = Meta_o
+keycode 25 = p P
+ control keycode 25 = Control_p
+ alt keycode 25 = Meta_p
+keycode 26 = egrave eacute bracketleft braceleft
+ altgr keycode 26 = bracketleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = plus asterisk bracketright asciitilde
+ altgr keycode 27 = bracketright
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a A
+ control keycode 30 = Control_a
+ alt keycode 30 = Meta_a
+keycode 31 = s S
+ control keycode 31 = Control_s
+ alt keycode 31 = Meta_s
+keycode 32 = d D
+ control keycode 32 = Control_d
+ alt keycode 32 = Meta_d
+keycode 33 = f F
+ control keycode 33 = Control_f
+ alt keycode 33 = Meta_f
+keycode 34 = g G
+ control keycode 34 = Control_g
+ alt keycode 34 = Meta_g
+keycode 35 = h H
+ control keycode 35 = BackSpace
+ alt keycode 35 = Meta_h
+keycode 36 = j J
+ control keycode 36 = Linefeed
+ alt keycode 36 = Meta_j
+keycode 37 = k K
+ control keycode 37 = Control_k
+ alt keycode 37 = Meta_k
+keycode 38 = l L
+ control keycode 38 = Control_l
+ alt keycode 38 = Meta_l
+keycode 39 = ograve cent at
+ alt keycode 39 = Meta_semicolon
+ alt shift keycode 39 = Meta_at
+keycode 40 = agrave grave numbersign
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+ altgr keycode 40 = numbersign
+ alt shift keycode 40 = Meta_numbersign
+keycode 41 = backslash bar asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+ altgr keycode 41 = asciitilde
+ alt shift keycode 41 = Meta_bar
+keycode 42 = Shift
+keycode 43 = ugrave paragraph
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 44 = z Z
+ control keycode 44 = Control_z
+ alt keycode 44 = Meta_z
+keycode 45 = x X
+ control keycode 45 = Control_x
+ alt keycode 45 = Meta_x
+keycode 46 = c C
+ control keycode 46 = Control_c
+ alt keycode 46 = Meta_c
+keycode 47 = v V
+ control keycode 47 = Control_v
+ alt keycode 47 = Meta_v
+keycode 48 = b B
+ control keycode 48 = Control_b
+ alt keycode 48 = Meta_b
+keycode 49 = n N
+ control keycode 49 = Control_n
+ alt keycode 49 = Meta_n
+keycode 50 = m M
+ control keycode 50 = Control_m
+ alt keycode 50 = Meta_m
+keycode 51 = comma semicolon
+ alt keycode 51 = Meta_comma
+keycode 52 = period colon
+ alt keycode 52 = Meta_period
+keycode 53 = slash underscore minus
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+ alt shift keycode 86 = Meta_greater
+keycode 97 = Control
diff --git a/keymaps/i386/qwerty/jp106.kmap b/keymaps/i386/qwerty/jp106.kmap
new file mode 100644
index 0000000..5741da3
--- /dev/null
+++ b/keymaps/i386/qwerty/jp106.kmap
@@ -0,0 +1,66 @@
+# jp106.map : Japanese 106 keyboard keymap
+#
+# Date: Tue, 20 Aug 1996 16:15:31 +0900
+# From: Hideya Hane <wing@aries.bekkoame.or.jp>
+#
+keymaps 0-1,4-5,8-9,12
+alt_is_meta
+include "qwerty-layout"
+include "linux-with-two-alt-keys"
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 1 = Escape
+keycode 2 = one exclam
+keycode 3 = two quotedbl
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+keycode 5 = four dollar
+ control keycode 5 = Control_backslash
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+keycode 7 = six ampersand
+ control keycode 7 = Control_underscore
+keycode 8 = seven apostrophe
+keycode 9 = eight parenleft
+keycode 10 = nine parenright
+keycode 11 = zero asciitilde
+ control keycode 11 = nul
+keycode 12 = minus equal
+keycode 13 = asciicircum asciitilde
+ control keycode 13 = Control_asciicircum
+keycode 14 = Delete
+ control keycode 14 = BackSpace
+keycode 15 = Tab
+keycode 26 = at grave
+ control keycode 26 = nul
+keycode 27 = bracketleft braceleft
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = semicolon plus
+keycode 40 = colon asterisk
+ control keycode 40 = Control_g
+keycode 41 = Escape
+keycode 42 = Shift
+keycode 43 = bracketright braceright
+ control keycode 43 = Control_bracketright
+keycode 51 = comma less
+keycode 52 = period greater
+ control keycode 52 = Compose
+keycode 53 = slash question
+ control keycode 53 = Delete
+ shift control keycode 53 = Delete
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+keycode 58 = Caps_Lock
+keycode 86 = less greater
+keycode 89 = backslash underscore
+ control keycode 89 = Control_backslash
+keycode 92 = space
+keycode 94 = space
+keycode 97 = Control
+keycode 124 = backslash bar
+ control keycode 124 = Control_backslash
diff --git a/keymaps/i386/qwerty/kg.kmap b/keymaps/i386/qwerty/kg.kmap
new file mode 100644
index 0000000..1e432fe
--- /dev/null
+++ b/keymaps/i386/qwerty/kg.kmap
@@ -0,0 +1,481 @@
+# Kirghiz(aka Kyrgyz) UTF-8 Standard Console Keyboard.
+#
+# Based on Russian ru4.map (ru4) and modified
+# to suit standard Kirghiz X keyboard layout.
+#
+# Kirghiz mode is toggled by left Alt+Shift.
+#
+# Author: Ilyas Bakirov <just_ilyas [at] yahoo.com>
+#
+# History:
+# 22.02.2005 Ilyas Bakirov <just_ilyas [at] yahoo.com> Initial version.
+
+ keycode 0 =
+ keycode 1 = Escape Escape Escape Escape
+ alt keycode 1 = Meta_Escape
+altgr alt keycode 1 = Meta_Escape
+ keycode 2 = one exclam one exclam
+ alt keycode 2 = Meta_one
+altgr alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+altgr shift alt keycode 2 = Meta_exclam
+ keycode 3 = two at two quotedbl
+ control keycode 3 = nul
+altgr control keycode 3 = nul
+ alt keycode 3 = Meta_two
+altgr alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_at
+altgr shift alt keycode 3 = Meta_at
+ keycode 4 = three numbersign three numbersign
+ control keycode 4 = Escape
+altgr control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+altgr alt keycode 4 = Meta_three
+ shift alt keycode 4 = Meta_numbersign
+altgr shift alt keycode 4 = Meta_numbersign
+ keycode 5 = four dollar four semicolon
+ control keycode 5 = Control_backslash
+altgr control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+altgr alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+altgr shift alt keycode 5 = Meta_dollar
+ keycode 6 = five percent five percent
+ control keycode 6 = Control_bracketright
+altgr control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+altgr alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+altgr shift alt keycode 6 = Meta_percent
+ keycode 7 = six asciicircum six colon
+ control keycode 7 = Control_asciicircum
+altgr control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+altgr alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_asciicircum
+altgr shift alt keycode 7 = Meta_asciicircum
+ keycode 8 = seven ampersand seven question
+ control keycode 8 = Control_underscore
+altgr control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+altgr alt keycode 8 = Meta_seven
+ shift alt keycode 8 = Meta_ampersand
+altgr shift alt keycode 8 = Meta_ampersand
+ keycode 9 = eight asterisk eight asterisk
+ control keycode 9 = Delete
+altgr control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+altgr alt keycode 9 = Meta_eight
+ shift alt keycode 9 = Meta_asterisk
+altgr shift alt keycode 9 = Meta_asterisk
+ keycode 10 = nine parenleft nine parenleft
+ alt keycode 10 = Meta_nine
+altgr alt keycode 10 = Meta_nine
+ shift alt keycode 10 = Meta_parenleft
+altgr shift alt keycode 10 = Meta_parenleft
+ keycode 11 = zero parenright zero parenright
+ alt keycode 11 = Meta_zero
+altgr alt keycode 11 = Meta_zero
+ shift alt keycode 11 = Meta_parenright
+altgr shift alt keycode 11 = Meta_parenright
+ keycode 12 = minus underscore minus underscore
+ control keycode 12 = Control_underscore
+altgr control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+altgr alt keycode 12 = Meta_minus
+ shift alt keycode 12 = Meta_underscore
+altgr shift alt keycode 12 = Meta_underscore
+altgr keycode 12 = U+04E9
+altgr shift keycode 12 = U+04E8
+ keycode 13 = equal plus equal plus
+ alt keycode 13 = Meta_equal
+altgr alt keycode 13 = Meta_equal
+ shift alt keycode 13 = Meta_plus
+altgr shift alt keycode 13 = Meta_plus
+altgr keycode 13 = U+04A3
+altgr shift keycode 13 = U+04A2
+ keycode 14 = Delete Delete Delete Delete
+ alt keycode 14 = Meta_Delete
+altgr alt keycode 14 = Meta_Delete
+ keycode 15 = Tab Tab Tab Tab
+ alt keycode 15 = Meta_Tab
+altgr alt keycode 15 = Meta_Tab
+ keycode 16 = +q
+altgr keycode 16 = U+0439
+altgr shift keycode 16 = U+0419
+ keycode 17 = +w
+altgr keycode 17 = U+0446
+altgr shift keycode 17 = U+0426
+ keycode 18 = +e
+altgr keycode 18 = U+0443
+altgr shift keycode 18 = U+0423
+ keycode 19 = +r
+altgr keycode 19 = U+043A
+altgr shift keycode 19 = U+041A
+ keycode 20 = +t
+altgr keycode 20 = U+0435
+altgr shift keycode 20 = U+0415
+ keycode 21 = +y
+altgr keycode 21 = U+043D
+altgr shift keycode 21 = U+041D
+ keycode 22 = +u
+altgr keycode 22 = U+0433
+altgr shift keycode 22 = U+0413
+ keycode 23 = +i
+altgr keycode 23 = U+0448
+altgr shift keycode 23 = U+0428
+ keycode 24 = +o
+altgr keycode 24 = U+0449
+altgr shift keycode 24 = U+0429
+ keycode 25 = +p
+altgr keycode 25 = U+0437
+altgr shift keycode 25 = U+0417
+ keycode 26 = bracketleft braceleft
+altgr keycode 26 = U+0445
+altgr shift keycode 26 = U+0425
+ control keycode 26 = Escape
+altgr control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+altgr alt keycode 26 = Meta_bracketleft
+ keycode 27 = bracketright braceright bracketleft bracketright
+
+# The keycode "0xFF" is too dangerous for many programs (including emacs).
+# So let it be bracket instead of Hard Sign.
+altgr keycode 27 = U+044A
+altgr shift keycode 27 = U+042A
+ control keycode 27 = Control_bracketright
+altgr control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+altgr alt keycode 27 = Meta_bracketright
+ keycode 28 = Return
+ alt keycode 28 = 0x080d
+altgr alt keycode 28 = 0x080d
+ control keycode 28 = Linefeed
+altgr control keycode 28 = Linefeed
+ keycode 29 = Control
+ keycode 30 = +a
+altgr keycode 30 = U+0444
+altgr shift keycode 30 = U+0424
+ keycode 31 = +s
+altgr keycode 31 = U+044B
+altgr shift keycode 31 = U+042B
+ keycode 32 = +d
+altgr keycode 32 = U+0432
+altgr shift keycode 32 = U+0412
+ keycode 33 = +f
+altgr keycode 33 = U+0430
+altgr shift keycode 33 = U+0410
+ keycode 34 = +g
+altgr keycode 34 = U+043F
+altgr shift keycode 34 = U+041F
+ keycode 35 = +h
+altgr keycode 35 = U+0440
+altgr shift keycode 35 = U+0420
+ keycode 36 = +j
+altgr keycode 36 = U+043E
+altgr shift keycode 36 = U+041E
+ keycode 37 = +k
+altgr keycode 37 = U+043B
+altgr shift keycode 37 = U+041B
+ keycode 38 = +l
+altgr keycode 38 = U+0434
+altgr shift keycode 38 = U+0414
+ keycode 39 = semicolon colon
+altgr keycode 39 = U+0436
+altgr shift keycode 39 = U+0416
+ alt keycode 39 = Meta_semicolon
+altgr alt keycode 39 = Meta_semicolon
+ keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+altgr control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+altgr alt keycode 40 = Meta_apostrophe
+altgr keycode 40 = U+044D
+altgr shift keycode 40 = U+042D
+ keycode 41 = grave asciitilde U+0451 U+0401
+ control keycode 41 = nul
+altgr control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+altgr alt keycode 41 = Meta_grave
+ keycode 42 = Shift
+ alt keycode 42 = AltGr_Lock
+altgr alt keycode 42 = AltGr_Lock
+ keycode 43 = backslash bar slash bar
+ control keycode 43 = Control_backslash
+altgr control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+altgr alt keycode 43 = Meta_backslash
+ shift alt keycode 43 = Meta_bar
+altgr shift alt keycode 43 = Meta_bar
+altgr keycode 43 = U+04AF
+altgr shift keycode 43 = U+04AE
+ keycode 44 = +z
+altgr keycode 44 = U+044F
+altgr shift keycode 44 = U+042F
+ keycode 45 = +x
+altgr keycode 45 = U+0447
+altgr shift keycode 45 = U+0427
+ keycode 46 = +c
+altgr keycode 46 = U+0441
+altgr shift keycode 46 = U+0421
+ keycode 47 = +v
+altgr keycode 47 = U+043C
+altgr shift keycode 47 = U+041C
+ keycode 48 = +b
+altgr keycode 48 = U+0438
+altgr shift keycode 48 = U+0418
+ keycode 49 = +n
+altgr keycode 49 = U+0442
+altgr shift keycode 49 = U+0422
+ keycode 50 = +m
+altgr keycode 50 = U+044C
+altgr shift keycode 50 = U+042C
+ keycode 51 = comma less
+ alt keycode 51 = Meta_comma
+altgr alt keycode 51 = Meta_comma
+ alt shift keycode 51 = Meta_less
+altgr alt shift keycode 51 = Meta_less
+altgr keycode 51 = U+0431
+altgr shift keycode 51 = U+0411
+ keycode 52 = period greater
+ alt keycode 52 = Meta_period
+altgr alt keycode 52 = Meta_period
+ alt shift keycode 52 = Meta_greater
+altgr alt shift keycode 52 = Meta_greater
+altgr keycode 52 = U+044E
+altgr shift keycode 52 = U+042E
+
+# Can you survive without "yuo" letter? If no put U+0451 and U+0401 for
+# altgr keycode 53.
+ keycode 53 = slash question period comma
+ control keycode 53 = Delete
+altgr control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+altgr alt keycode 53 = Meta_slash
+ shift alt keycode 53 = Meta_question
+altgr shift alt keycode 53 = Meta_question
+ keycode 54 = Shift
+ keycode 55 = KP_Multiply
+ keycode 56 = Alt
+ keycode 57 = space space space space
+ control keycode 57 = nul
+altgr control keycode 57 = nul
+ alt keycode 57 = Meta_space
+altgr alt keycode 57 = Meta_space
+ keycode 58 = Caps_Lock
+ keycode 59 = F1 F11 F1 F11
+ control keycode 59 = F1
+altgr control keycode 59 = F1
+ alt keycode 59 = Console_1
+altgr alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+altgr control alt keycode 59 = Console_1
+ keycode 60 = F2 F12 F2 F12
+ control keycode 60 = F2
+altgr control keycode 60 = F2
+ alt keycode 60 = Console_2
+altgr alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+altgr control alt keycode 60 = Console_2
+ keycode 61 = F3 F13 F3 F13
+ control keycode 61 = F3
+altgr control keycode 61 = F3
+ alt keycode 61 = Console_3
+altgr alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+altgr control alt keycode 61 = Console_3
+ keycode 62 = F4 F14 F4 F14
+ control keycode 62 = F4
+ altgr control keycode 62 = F4
+ alt keycode 62 = Console_4
+altgr alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+altgr control alt keycode 62 = Console_4
+ keycode 63 = F5 F15 F5 F15
+ control keycode 63 = F5
+altgr control keycode 63 = F5
+ alt keycode 63 = Console_5
+altgr alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+altgr control alt keycode 63 = Console_5
+ keycode 64 = F6 F16 F6 F16
+ control keycode 64 = F6
+altgr control keycode 64 = F6
+ alt keycode 64 = Console_6
+altgr alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+altgr control alt keycode 64 = Console_6
+ keycode 65 = F7 F17 F7 F17
+ control keycode 65 = F7
+altgr control keycode 65 = F7
+ alt keycode 65 = Console_7
+altgr alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+altgr control alt keycode 65 = Console_7
+ keycode 66 = F8 F18 F8 F18
+ control keycode 66 = F8
+altgr control keycode 66 = F8
+ alt keycode 66 = Console_8
+altgr alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+altgr control alt keycode 66 = Console_8
+ keycode 67 = F9 F19 F9 F19
+ control keycode 67 = F9
+altgr control keycode 67 = F9
+ alt keycode 67 = Console_9
+altgr alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+altgr control alt keycode 67 = Console_9
+ keycode 68 = F10 F20 F10 F20
+ control keycode 68 = F10
+altgr control keycode 68 = F10
+ alt keycode 68 = Console_10
+altgr alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+altgr control alt keycode 68 = Console_10
+ keycode 69 = Num_Lock
+ keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+altgr control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+altgr alt keycode 70 = Scroll_Lock
+ keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+altgr alt keycode 71 = Ascii_7
+ keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+altgr alt keycode 72 = Ascii_8
+ keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+altgr alt keycode 73 = Ascii_9
+ keycode 74 = KP_Subtract
+ keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+altgr alt keycode 75 = Ascii_4
+ keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+altgr alt keycode 76 = Ascii_5
+ keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+altgr alt keycode 77 = Ascii_6
+ keycode 78 = KP_Add
+ keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+altgr alt keycode 79 = Ascii_1
+ keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+altgr alt keycode 80 = Ascii_2
+ keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+altgr alt keycode 81 = Ascii_3
+ keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+altgr alt keycode 82 = Ascii_0
+ keycode 83 = KP_Period
+altgr control keycode 83 = Boot
+control alt keycode 83 = Boot
+altgr control alt keycode 83 = Boot
+ keycode 84 = Last_Console
+ keycode 85 =
+ keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+altgr alt keycode 86 = Meta_less
+ keycode 87 = F11 F11 F11 F11
+ control keycode 87 = F11
+altgr control keycode 87 = F11
+ alt keycode 87 = Console_11
+altgr alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+altgr control alt keycode 87 = Console_11
+ keycode 88 = F12 F12 F12 F12
+ control keycode 88 = F12
+altgr control keycode 88 = F12
+ alt keycode 88 = Console_12
+altgr alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+altgr control alt keycode 88 = Console_12
+ keycode 89 =
+ keycode 90 =
+ keycode 91 =
+ keycode 92 =
+ keycode 93 =
+ keycode 94 =
+ keycode 95 =
+ keycode 96 = KP_Enter
+keycode 97 = Control
+ keycode 98 = KP_Divide
+ keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+altgr control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+altgr alt keycode 99 = Control_backslash
+ keycode 100 = AltGr
+ keycode 101 = Break
+ keycode 102 = Find
+ keycode 103 = Up
+ keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+altgr shift keycode 104 = Scroll_Backward
+ keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ keycode 107 = Select
+ keycode 108 = Down
+ keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+altgr shift keycode 109 = Scroll_Forward
+ keycode 110 = Insert
+ keycode 111 = Remove
+altgr control keycode 111 = Boot
+control alt keycode 111 = Boot
+altgr control alt keycode 111 = Boot
+ keycode 112 =
+ keycode 113 =
+ keycode 114 =
+ keycode 115 =
+ keycode 116 =
+ keycode 117 =
+ keycode 118 =
+ keycode 119 =
+ keycode 120 =
+ keycode 121 =
+ keycode 122 =
+ keycode 123 =
+ keycode 124 =
+ keycode 125 =
+ keycode 126 =
+ keycode 127 =
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string F21 = ""
+string F22 = ""
+string F23 = ""
+string F24 = ""
+string F25 = ""
+string F26 = ""
+
diff --git a/keymaps/i386/qwerty/kk.kmap b/keymaps/i386/qwerty/kk.kmap
new file mode 100644
index 0000000..5b1b59b
--- /dev/null
+++ b/keymaps/i386/qwerty/kk.kmap
@@ -0,0 +1,209 @@
+! Cleaned-up Cyrillic keyboard - all standard key combinations
+! like Ctrl+Alt+Del work in Cyrillic mode as well as in Latin,
+! 'io' and 'hard sign' letter are on their proper places.
+!
+! Right_Control key is used for Cyrillic toggle, Right_Alt for
+! temporary shift to Cyrillic. On 104-key keyboard, System key
+! is also used for toggle and Window keys for temporary shift.
+!
+! Author: Cyril Slobin <slobin@iname.com>
+!
+! Public Domain
+! Made on Earth
+!
+! This keymap was generated for encoding UTF-8
+keycode 1 = Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 2 = one exclam U+201E exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_exclam Meta_one Meta_exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 3 = two at U+04D9 U+04D8 nul nul nul nul Meta_two Meta_at Meta_two Meta_at Meta_nul Meta_nul Meta_nul Meta_nul
+keycode 4 = three numbersign U+0456 U+0406 Escape Escape Escape Escape Meta_three Meta_numbersign Meta_three Meta_numbersign Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 5 = four dollar U+04A3 U+04A2 Control_backslash Control_backslash Control_backslash Control_backslash Meta_four Meta_dollar Meta_four Meta_dollar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash
+keycode 6 = five percent U+0493 U+0492 Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_five Meta_percent Meta_five Meta_percent Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright
+keycode 7 = six asciicircum comma semicolon Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum Meta_six Meta_asciicircum Meta_six Meta_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum
+keycode 8 = seven ampersand period colon Control_underscore Control_underscore Control_underscore Control_underscore Meta_seven Meta_ampersand Meta_seven Meta_ampersand Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore
+keycode 9 = eight asterisk U+04AF U+04AE Delete Delete Delete Delete Meta_eight Meta_asterisk Meta_eight Meta_asterisk Meta_Delete Meta_Delete Meta_Delete Meta_Delete
+keycode 10 = nine parenleft U+04B1 U+04B0 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_parenleft Meta_nine Meta_parenleft VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 11 = zero parenright U+049B U+049A VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_parenright Meta_zero Meta_parenright VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 12 = minus underscore U+04E9 U+04E8 Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_underscore Meta_minus Meta_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore Meta_Control_underscore
+keycode 13 = equal plus U+04BB U+04BA VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_plus Meta_equal Meta_plus VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 14 = Delete Delete Delete Delete BackSpace BackSpace BackSpace BackSpace Meta_Delete Meta_Delete Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace
+keycode 15 = Tab Tab Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+keycode 16 = +q +Q U+0439 U+0419 Control_q Control_q Control_q Control_q Meta_q Meta_Q Meta_q Meta_Q Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q
+keycode 17 = +w +W U+0446 U+0426 Control_w Control_w Control_w Control_w Meta_w Meta_W Meta_w Meta_W Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w
+keycode 18 = +e +E U+0443 U+0423 Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e
+keycode 19 = +r +R U+043A U+041A Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r
+keycode 20 = +t +T U+0435 U+0415 Control_t Control_t Control_t Control_t Meta_t Meta_T Meta_t Meta_T Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t
+keycode 21 = +y +Y U+043D U+041D Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y
+keycode 22 = +u +U U+0433 U+0413 Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u
+keycode 23 = +i +I U+0448 U+0428 Control_i Control_i Control_i Control_i Meta_i Meta_I Meta_i Meta_I Meta_Control_i Meta_Control_i Meta_Control_i Meta_Control_i
+keycode 24 = +o +O U+0449 U+0429 Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o
+keycode 25 = +p +P U+0437 U+0417 Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p
+keycode 26 = bracketleft braceleft U+0445 U+0425 Escape Escape Escape Escape Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_braceleft Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 27 = bracketright braceright U+044A U+042A Control_bracketright Control_bracketright Control_bracketright Control_bracketright Meta_bracketright Meta_braceright Meta_bracketright Meta_braceright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright Meta_Control_bracketright
+keycode 28 = Return Return Return Return Return Return Return Return Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m
+keycode 29 = Control
+keycode 30 = +a +A U+0444 U+0424 Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a
+keycode 31 = +s +S U+044B U+042B Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s
+keycode 32 = +d +D U+0432 U+0412 Control_d Control_d Control_d Control_d Meta_d Meta_D Meta_d Meta_D Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d
+keycode 33 = +f +F U+0430 U+0410 Control_f Control_f Control_f Control_f Meta_f Meta_F Meta_f Meta_F Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f
+keycode 34 = +g +G U+043F U+041F Control_g Control_g Control_g Control_g Meta_g Meta_G Meta_g Meta_G Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g
+keycode 35 = +h +H U+0440 U+0420 Control_h Control_h Control_h Control_h Meta_h Meta_H Meta_h Meta_H Meta_Control_h Meta_Control_h Meta_Control_h Meta_Control_h
+keycode 36 = +j +J U+043E U+041E Control_j Control_j Control_j Control_j Meta_j Meta_J Meta_j Meta_J Meta_Control_j Meta_Control_j Meta_Control_j Meta_Control_j
+keycode 37 = +k +K U+043B U+041B Control_k Control_k Control_k Control_k Meta_k Meta_K Meta_k Meta_K Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k
+keycode 38 = +l +L U+0434 U+0414 Control_l Control_l Control_l Control_l Meta_l Meta_L Meta_l Meta_L Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l
+keycode 39 = semicolon colon U+0436 U+0416 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_semicolon Meta_colon Meta_semicolon Meta_colon VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 40 = apostrophe quotedbl U+044D U+042D Control_g Control_g Control_g Control_g Meta_apostrophe Meta_quotedbl Meta_apostrophe Meta_quotedbl Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g
+keycode 41 = grave asciitilde +parenleft +parenright nul nul nul nul Meta_grave Meta_asciitilde Meta_grave Meta_asciitilde Meta_nul Meta_nul Meta_nul Meta_nul
+keycode 42 = Shift
+keycode 43 = backslash bar backslash bar Control_backslash Control_backslash Control_backslash Control_backslash Meta_backslash Meta_bar Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash
+keycode 44 = +z +Z U+044F U+042F Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_Z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z
+keycode 45 = +x +X U+0447 U+0427 Control_x Control_x Control_x Control_x Meta_x Meta_X Meta_x Meta_X Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x
+keycode 46 = +c +C U+0441 U+0421 Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c
+keycode 47 = +v +V U+043C U+041C Control_v Control_v Control_v Control_v Meta_v Meta_V Meta_v Meta_V Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v
+keycode 48 = +b +B U+0438 U+0418 Control_b Control_b Control_b Control_b Meta_b Meta_B Meta_b Meta_B Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b
+keycode 49 = +n +N U+0442 U+0422 Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n
+keycode 50 = +m +M U+044C U+042C Control_m Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_M Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m
+keycode 51 = comma less U+0431 U+0411 VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_comma Meta_less Meta_comma Meta_less VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 52 = period greater U+044E U+042E VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_period Meta_greater Meta_period Meta_greater VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+ control keycode 52 = Compose
+ control altgr keycode 52 = Compose
+keycode 53 = slash question U+2116 question Delete Delete Delete Delete Meta_slash Meta_question Meta_slash Meta_question Meta_Delete Meta_Delete Meta_Delete Meta_Delete
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space space space nul nul nul nul Meta_space Meta_space Meta_space Meta_space Meta_nul Meta_nul Meta_nul Meta_nul
+keycode 58 = Caps_Lock
+keycode 59 = F1 F11 F1 F11 F1 F11 F1 F11 Console_1 Console_1 Console_1 Console_1 Console_1 Console_1 Console_1 Console_1
+keycode 60 = F2 F12 F2 F12 F2 F12 F2 F12 Console_2 Console_2 Console_2 Console_2 Console_2 Console_2 Console_2 Console_2
+keycode 61 = F3 F13 F3 F13 F3 F13 F3 F13 Console_3 Console_3 Console_3 Console_3 Console_3 Console_3 Console_3 Console_3
+keycode 62 = F4 F14 F4 F14 F4 F14 F4 F14 Console_4 Console_4 Console_4 Console_4 Console_4 Console_4 Console_4 Console_4
+keycode 63 = F5 F15 F5 F15 F5 F15 F5 F15 Console_5 Console_5 Console_5 Console_5 Console_5 Console_5 Console_5 Console_5
+keycode 64 = F6 F16 F6 F16 F6 F16 F6 F16 Console_6 Console_6 Console_6 Console_6 Console_6 Console_6 Console_6 Console_6
+keycode 65 = F7 F17 F7 F17 F7 F17 F7 F17 Console_7 Console_7 Console_7 Console_7 Console_7 Console_7 Console_7 Console_7
+keycode 66 = F8 F18 F8 F18 F8 F18 F8 F18 Console_8 Console_8 Console_8 Console_8 Console_8 Console_8 Console_8 Console_8
+keycode 67 = F9 F19 F9 F19 F9 F19 F9 F19 Console_9 Console_9 Console_9 Console_9 Console_9 Console_9 Console_9 Console_9
+keycode 68 = F10 F20 F10 F20 F10 F20 F10 F20 Console_10 Console_10 Console_10 Console_10 Console_10 Console_10 Console_10 Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock
+ shift keycode 70 = Show_Memory
+ shift altgr keycode 70 = Show_Memory
+ control keycode 70 = Show_State
+ control altgr keycode 70 = Show_State
+ alt keycode 70 = Show_Registers
+ alt altgr keycode 70 = Show_Registers
+keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+ alt altgr keycode 71 = Ascii_7
+keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+ alt altgr keycode 72 = Ascii_8
+keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+ alt altgr keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+ alt altgr keycode 75 = Ascii_4
+keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+ alt altgr keycode 76 = Ascii_5
+keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+ alt altgr keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+ alt altgr keycode 79 = Ascii_1
+keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+ alt altgr keycode 80 = Ascii_2
+keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+ alt altgr keycode 81 = Ascii_3
+keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+ alt altgr keycode 82 = Ascii_0
+keycode 83 = KP_Period
+ control alt keycode 83 = Boot
+ control alt altgr keycode 83 = Boot
+keycode 84 = Last_Console
+Keycode 85 =
+keycode 86 = less greater less greater VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_less Meta_greater Meta_less Meta_greater VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 87 = F11 F11 F11 F11 F11 F11 F11 F11 Console_11 Console_11 Console_11 Console_11 Console_11 Console_11 Console_11 Console_11
+keycode 88 = F12 F12 F12 F12 F12 F12 F12 F12 Console_12 Console_12 Console_12 Console_12 Console_12 Console_12 Console_12 Console_12
+Keycode 89 =
+Keycode 90 =
+Keycode 91 =
+Keycode 92 =
+Keycode 93 =
+Keycode 94 =
+Keycode 95 =
+keycode 96 = KP_Enter
+keycode 97 = AltGr_Lock
+keycode 98 = KP_Divide
+keycode 99 = Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Home
+keycode 103 = Up
+keycode 104 = PageUp
+ shift keycode 104 = Scroll_Backward
+ shift altgr keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ alt altgr keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ alt altgr keycode 106 = Incr_Console
+keycode 107 = End
+keycode 108 = Down
+keycode 109 = PageDown
+ shift keycode 109 = Scroll_Forward
+ shift altgr keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ control alt keycode 111 = Boot
+ control alt altgr keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = Pause
+Keycode 120 =
+Keycode 121 =
+Keycode 122 =
+Keycode 123 =
+Keycode 124 =
+keycode 125 = AltGr
+keycode 126 = AltGr
+keycode 127 = AltGr_Lock
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
diff --git a/keymaps/i386/qwerty/la-latin1.kmap b/keymaps/i386/qwerty/la-latin1.kmap
new file mode 100644
index 0000000..6fade3c
--- /dev/null
+++ b/keymaps/i386/qwerty/la-latin1.kmap
@@ -0,0 +1,74 @@
+# From jfernand@dc.uba.ar Mon Apr 21 22:00:42 1997
+! Latin American keyboard, loosely based on Jon Tombs' and Julio Sanchez's
+! Spanish keyboard. Read the Spahish and Keyboard HOWTOs for information on
+! how to configure your system to use the extended symbols.
+!
+! shift keycode 41 is mapped to masculine because I wasn't able to
+! figure out the correct keysym for that character. If you do, please
+! contact me.
+!
+! Please do send any comments/suggestions to the following address:
+!
+! Javier Fernandez Ivern <jfernand@dc.uba.ar>
+!
+keymaps 0-2,4-6,8-10,12-14
+alt_is_meta
+include "qwerty-layout"
+ altgr keycode 16 = at
+include "linux-with-alt-and-altgr"
+strings as usual
+
+keycode 1 = Escape
+keycode 2 = one exclam
+keycode 3 = two quotedbl
+keycode 4 = three numbersign
+keycode 5 = four dollar
+keycode 6 = five percent
+keycode 7 = six ampersand
+keycode 8 = seven slash
+keycode 9 = eight parenleft
+keycode 10 = nine parenright
+keycode 11 = zero equal
+keycode 12 = apostrophe question backslash
+ altgr control keycode 12 = Control_backslash
+keycode 13 = questiondown exclamdown
+keycode 14 = Delete
+ control keycode 14 = BackSpace
+ alt keycode 14 = Meta_BackSpace
+keycode 15 = Tab
+keycode 26 = dead_acute dead_diaeresis
+keycode 27 = plus asterisk asciitilde
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = ntilde Ntilde
+keycode 40 = braceleft bracketleft asciicircum
+ altgr control keycode 40 = Control_asciicircum
+keycode 41 = bar masculine notsign
+keycode 42 = Shift
+keycode 43 = braceright bracketright grave
+ shift control keycode 43 = Control_bracketright
+keycode 51 = comma semicolon
+keycode 52 = period colon
+keycode 53 = minus underscore
+ shift control keycode 53 = Control_underscore
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+keycode 58 = Caps_Lock
+keycode 86 = less greater
+keycode 97 = Control
+
+compose '\'' 'a' to 'á'
+compose '\'' 'e' to 'é'
+compose '\'' 'i' to 'í'
+compose '\'' 'o' to 'ó'
+compose '\'' 'u' to 'ú'
+compose '\'' 'A' to 'Á'
+compose '\'' 'E' to 'É'
+compose '\'' 'I' to 'Í'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'U' to 'Ú'
+compose '"' 'u' to 'ü'
+compose '"' 'U' to 'Ü'
diff --git a/keymaps/i386/qwerty/lisp-us.kmap b/keymaps/i386/qwerty/lisp-us.kmap
new file mode 100644
index 0000000..14c64eb
--- /dev/null
+++ b/keymaps/i386/qwerty/lisp-us.kmap
@@ -0,0 +1,385 @@
+# Lisp Machine keyboard (by carleos@uniovi.es)
+#
+# US layout
+# exchange Caps Lock <-> Backspace (Rubout)
+# exchange Alt (AltGr) <-> Control
+# exchange parentheses <-> square brackets
+#
+# extra:
+# Win keys -> Alt (Meta)
+# Menu key -> Compose (ISO-8859-1)
+# PC105 less-than/greater-than key -> Escape
+#
+keymaps 0-2,4-6,8-9,12
+keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+ shift alt keycode 1 = Meta_Escape
+ control alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+keycode 3 = two at at nul nul
+ alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_at
+ control alt keycode 3 = Meta_nul
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ shift alt keycode 4 = Meta_numbersign
+keycode 5 = four dollar dollar Control_backslash
+ alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+ control alt keycode 5 = Meta_Control_backslash
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_asciicircum
+keycode 8 = seven ampersand braceleft Control_underscore
+ alt keycode 8 = Meta_seven
+ shift alt keycode 8 = Meta_ampersand
+ control alt keycode 8 = Meta_Control_underscore
+keycode 9 = eight asterisk bracketleft Delete
+ alt keycode 9 = Meta_eight
+ shift alt keycode 9 = Meta_asterisk
+ control alt keycode 9 = Meta_Delete
+keycode 10 = nine bracketleft bracketright
+ alt keycode 10 = Meta_nine
+ shift alt keycode 10 = Meta_parenleft
+keycode 11 = zero bracketright braceright
+ alt keycode 11 = Meta_zero
+ shift alt keycode 11 = Meta_parenright
+keycode 12 = minus underscore backslash Control_underscore Control_underscore
+ alt keycode 12 = Meta_minus
+ shift alt keycode 12 = Meta_underscore
+ control alt keycode 12 = Meta_Control_underscore
+keycode 13 = equal plus
+ alt keycode 13 = Meta_equal
+ shift alt keycode 13 = Meta_plus
+keycode 14 = Caps_Lock
+ alt keycode 14 = Meta_Delete
+ shift alt keycode 14 = Meta_Delete
+ control alt keycode 14 = Meta_Delete
+keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+ shift alt keycode 15 = Meta_Tab
+ control alt keycode 15 = Meta_Tab
+keycode 16 = q
+keycode 17 = w
+keycode 18 = e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = y
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+keycode 26 = parenleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ shift alt keycode 26 = Meta_braceleft
+keycode 27 = parenright braceright asciitilde Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ shift alt keycode 27 = Meta_braceright
+ control alt keycode 27 = Meta_Control_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Alt
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+keycode 39 = semicolon colon
+ alt keycode 39 = Meta_semicolon
+ shift alt keycode 39 = Meta_colon
+keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+ shift alt keycode 40 = Meta_quotedbl
+keycode 41 = grave asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+ shift alt keycode 41 = Meta_asciitilde
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ shift alt keycode 43 = Meta_bar
+keycode 44 = z
+keycode 45 = x
+keycode 46 = c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = m
+keycode 51 = comma less
+ alt keycode 51 = Meta_comma
+ shift alt keycode 51 = Meta_less
+keycode 52 = period greater
+ alt keycode 52 = Meta_period
+ shift alt keycode 52 = Meta_greater
+keycode 53 = slash question
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+ shift alt keycode 53 = Meta_question
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+ altgr keycode 55 = Hex_C
+keycode 56 = Control
+keycode 57 = space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ shift alt keycode 57 = Meta_space
+ control alt keycode 57 = Meta_nul
+keycode 58 = Delete
+keycode 59 = F1 F13 Console_13 F25
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F14 Console_14 F26
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F15 Console_15 F27
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F16 Console_16 F28
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F17 Console_17 F29
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F18 Console_18 F30
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F19 Console_19 F31
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F20 Console_20 F32
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F21 Console_21 F33
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F22 Console_22 F34
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+ altgr keycode 69 = Hex_A
+keycode 70 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ altgr keycode 71 = Hex_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ altgr keycode 72 = Hex_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ altgr keycode 73 = Hex_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+ altgr keycode 74 = Hex_D
+keycode 75 = KP_4
+ altgr keycode 75 = Hex_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ altgr keycode 76 = Hex_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ altgr keycode 77 = Hex_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+ altgr keycode 78 = Hex_E
+keycode 79 = KP_1
+ altgr keycode 79 = Hex_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ altgr keycode 80 = Hex_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ altgr keycode 81 = Hex_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = Escape
+ alt keycode 86 = Meta_less
+ shift alt keycode 86 = Meta_greater
+keycode 87 = F11 F23 Console_23 F35
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F24 Console_24 F36
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+ altgr keycode 96 = Hex_F
+keycode 97 = Alt
+keycode 98 = KP_Divide
+ altgr keycode 98 = Hex_B
+keycode 99 = Control_backslash
+ alt keycode 99 = Meta_Control_backslash
+ shift alt keycode 99 = Meta_Control_backslash
+ control alt keycode 99 = Meta_Control_backslash
+keycode 100 = Control
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+ alt keycode 103 = KeyboardSignal
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+ altgr control keycode 112 = VoidSymbol
+ shift alt keycode 112 = VoidSymbol
+keycode 113 = F13
+ altgr control keycode 113 = VoidSymbol
+ shift alt keycode 113 = VoidSymbol
+keycode 114 = F14
+ altgr control keycode 114 = VoidSymbol
+ shift alt keycode 114 = VoidSymbol
+keycode 115 = Help
+ altgr control keycode 115 = VoidSymbol
+ shift alt keycode 115 = VoidSymbol
+keycode 116 = Do
+ altgr control keycode 116 = VoidSymbol
+ shift alt keycode 116 = VoidSymbol
+keycode 117 = F17
+ altgr control keycode 117 = VoidSymbol
+ shift alt keycode 117 = VoidSymbol
+keycode 118 = KP_MinPlus
+ altgr control keycode 118 = VoidSymbol
+ shift alt keycode 118 = VoidSymbol
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 = Alt
+keycode 126 = Alt
+keycode 127 = Compose
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose '"' 'y' to 'ÿ'
+compose 's' 'z' to 'ß'
+compose 'i' 'j' to 'ÿ'
diff --git a/keymaps/i386/qwerty/lk201-us.kmap b/keymaps/i386/qwerty/lk201-us.kmap
new file mode 100644
index 0000000..2c636b4
--- /dev/null
+++ b/keymaps/i386/qwerty/lk201-us.kmap
@@ -0,0 +1,356 @@
+# Default kernel keymap. This uses 7 modifier combinations.
+keymaps 0-2,4-5,8,12
+# Change the above line into
+# keymaps 0-2,4-6,8,12
+# in case you want the entries
+# altgr control keycode 83 = Boot
+# altgr control keycode 111 = Boot
+# below.
+#
+# In fact AltGr is used very little, and one more keymap can
+# be saved by mapping AltGr to Alt (and adapting a few entries):
+# keycode 100 = Alt
+#
+keycode 0x15 = grave tilde
+ alt keycode 0x15 = Escape
+ control keycode 0x15 = Meta_Escape
+keycode 0x16 = one exclam
+ alt keycode 0x16 = Meta_one
+keycode 0x17 = two at at
+ control keycode 0x17 = nul
+ shift control keycode 0x17 = nul
+ alt keycode 0x17 = Meta_two
+keycode 0x18 = three numbersign
+ control keycode 0x18 = Escape
+ alt keycode 0x18 = Meta_three
+keycode 0x19 = four dollar dollar
+ control keycode 0x19 = Control_backslash
+ alt keycode 0x19 = Meta_four
+keycode 0x1a = five percent
+ control keycode 0x1a = Control_bracketright
+ alt keycode 0x1a = Meta_five
+keycode 0x1b = six asciicircum
+ control keycode 0x1b = Control_asciicircum
+ alt keycode 0x1b = Meta_six
+keycode 0x1c = seven ampersand braceleft
+ control keycode 0x1c = Control_underscore
+ alt keycode 0x1c = Meta_seven
+keycode 0x1d = eight asterisk bracketleft
+ control keycode 0x1d = Delete
+ alt keycode 0x1d = Meta_eight
+keycode 0x1e = nine parenleft bracketright
+ alt keycode 0x1e = Meta_nine
+keycode 0x1f = zero parenright braceright
+ alt keycode 0x1f = Meta_zero
+keycode 0x20 = minus underscore backslash
+ control keycode 0x20 = Control_underscore
+ shift control keycode 0x20 = Control_underscore
+ alt keycode 0x20 = Meta_minus
+keycode 0x21 = equal plus
+ alt keycode 0x21 = Meta_equal
+keycode 0x22 = Delete Delete
+ control keycode 0x22 = BackSpace
+ alt keycode 0x22 = Meta_Delete
+keycode 0x2a = Tab Tab
+ alt keycode 0x2a = Meta_Tab
+keycode 0x2b = q
+keycode 0x2c = w
+keycode 0x2d = e
+ altgr keycode 0x2d = Hex_E
+keycode 0x2e = r
+keycode 0x2f = t
+keycode 0x30 = y
+keycode 0x31 = u
+keycode 0x32 = i
+keycode 0x33 = o
+keycode 0x34 = p
+keycode 0x35 = bracketleft braceleft
+ control keycode 0x35 = Escape
+ alt keycode 0x35 = Meta_bracketleft
+keycode 0x36 = bracketright braceright asciitilde
+ control keycode 0x36 = Control_bracketright
+ alt keycode 0x36 = Meta_bracketright
+keycode 0x37 = Return
+ alt keycode 0x37 = Meta_Control_m
+keycode 0x3f = Control
+keycode 0x41 = a
+ altgr keycode 0x41 = Hex_A
+keycode 0x42 = s
+keycode 0x43 = d
+ altgr keycode 0x43 = Hex_D
+keycode 0x44 = f
+ altgr keycode 0x44 = Hex_F
+keycode 0x45 = g
+keycode 0x46 = h
+keycode 0x47 = j
+keycode 0x48 = k
+keycode 0x49 = l
+keycode 0x4a = semicolon colon
+ alt keycode 0x4a = Meta_semicolon
+keycode 0x4b = apostrophe quotedbl
+ control keycode 0x4b = Control_g
+ alt keycode 0x4b = Meta_apostrophe
+# keycode 41 = grave asciitilde
+# control keycode 41 = nul
+# alt keycode 41 = Meta_grave
+keycode 0x52 = Shift
+keycode 0x4c = backslash bar
+ control keycode 0x4c = Control_backslash
+ alt keycode 0x4c = Meta_backslash
+keycode 0x53 = greater less
+keycode 0x54 = z
+keycode 0x55 = x
+keycode 0x56 = c
+ altgr keycode 0x56 = Hex_C
+keycode 0x57 = v
+keycode 0x58 = b
+ altgr keycode 0x58 = Hex_B
+keycode 0x59 = n
+keycode 0x5a = m
+keycode 0x5b = comma less
+ alt keycode 0x5b = Meta_comma
+keycode 0x5c = period greater
+ control keycode 0x5c = Compose
+ alt keycode 0x5c = Meta_period
+keycode 0x5d = slash question
+ control keycode 0x5d = Delete
+ alt keycode 0x5d = Meta_slash
+
+keycode 0x67 = Alt
+keycode 0x68 = space space
+ control keycode 0x68 = nul
+ alt keycode 0x68 = Meta_space
+keycode 0x40 = Caps_Lock
+keycode 0x01 = F1
+ control keycode 0x01 = F1
+ alt keycode 0x01 = Console_1
+ control alt keycode 0x01 = Console_1
+keycode 0x02 = F2
+ control keycode 0x02 = F2
+ alt keycode 0x02 = Console_2
+ control alt keycode 0x02 = Console_2
+keycode 0x03 = F3
+ control keycode 0x03 = F3
+ alt keycode 0x03 = Console_3
+ control alt keycode 0x03 = Console_3
+keycode 0x04 = F4
+ control keycode 0x04 = F4
+ alt keycode 0x04 = Console_4
+ control alt keycode 0x04 = Console_4
+keycode 0x05 = F5
+ control keycode 0x05 = F5
+ alt keycode 0x05 = Console_5
+ control alt keycode 0x05 = Console_5
+keycode 0x06 = F6
+ control keycode 0x06 = F6
+ alt keycode 0x06 = Console_6
+ control alt keycode 0x06 = Console_6
+keycode 0x07 = F7
+ control keycode 0x07 = F7
+ alt keycode 0x07 = Console_7
+ control alt keycode 0x07 = Console_7
+keycode 0x08 = F8
+ control keycode 0x08 = F8
+ alt keycode 0x08 = Console_8
+ control alt keycode 0x08 = Console_8
+keycode 0x09 = F9
+ control keycode 0x09 = F9
+ alt keycode 0x09 = Console_9
+ control alt keycode 0x09 = Console_9
+keycode 0x0a = F10
+ control keycode 0x0a = F10
+ alt keycode 0x0a = Console_10
+ control alt keycode 0x0a = Console_10
+keycode 0x0b = F11
+ control keycode 0x0b = F11
+ alt keycode 0x0b = Console_11
+ control alt keycode 0x0b = Console_11
+keycode 0x0c = F12
+ control keycode 0x0c = F12
+ alt keycode 0x0c = Console_12
+ control alt keycode 0x0c = Console_12
+keycode 0x0d = F13
+ control keycode 0x0d = F13
+ alt keycode 0x0d = Console_13
+ control alt keycode 0x0d = Console_13
+keycode 0x0e = F14
+ control keycode 0x0e = F14
+ alt keycode 0x0e = Console_14
+ control alt keycode 0x0e = Console_14
+
+keycode 0x11 = F17
+ control keycode 0x11 = F17
+ alt keycode 0x11 = Console_17
+ control alt keycode 0x11 = Console_17
+keycode 0x12 = F18
+ control keycode 0x12 = F18
+ alt keycode 0x12 = Console_18
+ control alt keycode 0x12 = Console_18
+keycode 0x13 = F19
+ control keycode 0x13 = F19
+ alt keycode 0x13 = Console_19
+ control alt keycode 0x13 = Console_19
+keycode 0x14 = F20
+ control keycode 0x14 = F20
+ alt keycode 0x14 = Console_20
+ control alt keycode 0x14 = Console_20
+
+
+keycode 0x3b = KP_7
+ alt keycode 0x3b = Ascii_7
+ altgr keycode 0x3b = Hex_7
+keycode 0x3c = KP_8
+ alt keycode 0x3c = Ascii_8
+ altgr keycode 0x3c = Hex_8
+keycode 0x3d = KP_9
+ alt keycode 0x3d = Ascii_9
+ altgr keycode 0x3d = Hex_9
+keycode 0x3e = KP_Subtract
+keycode 0x4e = KP_4
+ alt keycode 0x4e = Ascii_4
+ altgr keycode 0x4e = Hex_4
+keycode 0x4f = KP_5
+ alt keycode 0x4f = Ascii_5
+ altgr keycode 0x4f = Hex_5
+keycode 0x50 = KP_6
+ alt keycode 0x50 = Ascii_6
+ altgr keycode 0x50 = Hex_6
+keycode 0x62 = KP_1
+ alt keycode 0x62 = Ascii_1
+ altgr keycode 0x62 = Hex_1
+keycode 0x63 = KP_2
+ alt keycode 0x63 = Ascii_2
+ altgr keycode 0x63 = Hex_2
+keycode 0x64 = KP_3
+ alt keycode 0x64 = Ascii_3
+ altgr keycode 0x64 = Hex_3
+keycode 0x6b = KP_0
+ alt keycode 0x6b = Ascii_0
+ altgr keycode 0x6b = Hex_0
+keycode 0x6c = KP_Period
+# altgr control keycode 0x6c = Boot
+ control alt keycode 0x6c = Boot
+keycode 0x65 = KP_Enter
+
+keycode 0x3f = Control
+
+# keycode 100 = AltGr
+
+keycode 0x23 = Find
+keycode 0x4d = Up
+keycode 0x39 = Prior
+ shift keycode 0x39 = Scroll_Backward
+keycode 0x5f = Left
+ alt keycode 0x5f = Decr_Console
+keycode 0x61 = Right
+ alt keycode 0x61 = Incr_Console
+keycode 0x38 = Select
+keycode 0x60 = Down
+keycode 0x3a = Next
+ shift keycode 0x3a = Scroll_Forward
+keycode 0x24 = Insert
+keycode 0x25 = Remove
+# altgr control keycode 0x25 = Boot
+ control alt keycode 0x25 = Boot
+
+keycode 0x0f = Help Show_Memory Show_Registers
+ control keycode 0x0f = Show_State
+
+keycode 0x10 = Do
+
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose '"' 'y' to 'ÿ'
+compose 's' 'z' to 'ß'
+compose 'i' 'j' to 'ÿ'
diff --git a/keymaps/i386/qwerty/lt.kmap b/keymaps/i386/qwerty/lt.kmap
new file mode 100644
index 0000000..ddc88b5
--- /dev/null
+++ b/keymaps/i386/qwerty/lt.kmap
@@ -0,0 +1,576 @@
+#charset "iso-10646"
+#charset "iso-8859-4"
+#encoding: UTF-8
+# Use echo -ne '\033%G' on current console to see all characters properly.
+#
+# Lithuanian key-map for PC 101/102 keyboard in Unicode mode. V1.03.
+# Comments & bug reports to: RiÄardas ÄŒepas <rch@pub.osf.lt>
+# Usage:
+# kbd_mode -u; loadkeys lt.map; setfont LatArCyrHeb* -m vga2iso
+# `vga2iso' map is for non-Unicode mode to get proper ISO 8859-4 font maping.
+#
+# BUGS: Caps-Lock doesn't work properly for Unicode characters. Use
+# Shift-Lock (Control+Caps-Lock) instead if you really need that.
+# Differences between this and default Linux 2.0.29 key-map:
+# AltGr is used for Lithuanian mode and AltGr+key combinations are
+# changed to Alt+Shift+key. Hex codes can be entered using keypad while
+# Control+Shift or Alt+Shift is pressed. Keypad layout for hex digits:
+# A B C D
+# 7 8 9 E
+# 4 5 6 E
+# 1 2 3 F
+# 00 F
+# Latin <-> Lithuanian modes are toggled by Alt+Enter or
+# Alt+Control+Enter or Alt+Caps-Lock. AltGr (right Alt) can be used to
+# shift the mode. Key between left Control and Alt on German keyboard is
+# another AltGr.
+# Keyboard layout (upper row of number keys) :
+# 1!Ä„ 2@ÄŒ 3#Ę 4$Ä– 5 %Ä® 6^Å  7&Ų 8*Ū 9(„ 0)“ -_ +=Ž–
+# Aogonek Ccaron Eogonek Edot Iogonek Scaron Uogonek Umacron ,, " -_ Zcaron
+# All other keys are the same in both modes.
+# Control+Alt+u or Control+Alt+8 generates command line for
+# switching *current* (only) virtual console to Unicode mode.
+# Control+Alt+1 - default ISO 8859-1 charset mapping and non-Unicode
+# mode.
+# Control+Alt+4 - ISO 8859-4 charset mapping if you have loaded
+# LatArCyrHeb* (or lat4u-*) font with `vga2iso' screen map. Or lat4-*
+# font with `trivial' screen map.
+#
+# Backspace key (above Return/Enter) generates BackSpace (^H, octal
+# 010) and should delete a character before cursor. Delete key generates
+# Delete (^?, octal 177) and should delete a character above cursor. If
+# that doesn't happen you should:
+# 1) Add to ~/.bashrc and /etc/profile commands:
+# reset # should set stty erase character to ^H
+# kbd_mode -u
+# 2) [You don't need 2) if you use only linux+utf8 terminal.]
+# Fix terminfo entry: infocmp -L linux >/tmp/linux
+# Edit file /tmp/linux It should have key_backspace and key_dc entries:
+# key_backspace=^H, key_btab=\E[Z, key_dc=\177,
+# key_sdc=\E[3$, key_send=\E[8$, key_shome=\E[7$, key_sic=\E[2$,
+# key_sleft=\E[d, key_sright=\E[c,
+# Compile entry (as root): tic /tmp/linux
+# 3) For bash and other programs using libreadline library create
+# ~/.inputrc or global file pointed by INPUTRC variable:
+# set meta-flag On
+# set convert-meta Off
+# set output-meta On
+# "\C-h": backward-delete-char
+# "\e\C-h": backward-kill-word
+# "\e[1~": beginning-of-line
+# "\e[H": beginning-of-line
+# "\e[7~": beginning-of-line
+# "\eOH": beginning-of-line
+# "\e[d": backward-word
+# "\C-?": delete-char
+# "\e[3~": delete-char
+# "\e[4~": end-of-line
+# "\e[F": end-of-line
+# "\e[8~": end-of-line
+# "\eOF": end-of-line
+# "\e[c": forward-word
+# "\e\C-?": kill-word
+# 4) Add to /etc/init.d/boot ( this startup file may be other for you system):
+# kbd_mode -u; loadkeys lt.map
+# loadkeys affects all virtual consoles.
+#
+# Control+BackSpace is Delete and Control+Delete is Remove
+# (VT100 key). Most Meta_ and Control_Meta_ combinations are
+# enabled.
+# Control+Space gives nul, Shift+Control+Space - non-break space.
+# Shift+Control+minus gives discretionary (soft) hyphen,
+# Shift+Alt+minus - quotation dash (long) and Shift+Control+Alt+minus -
+# non-breaking hyphen.
+# Control+Alt+double_quote gives double turned comma quotation
+# mark, Shift+Control+Alt+double_quote gives double comma quotation
+# mark.
+# Shift+Function gives functions F11..22, Control+F. - F21..32,
+# Shift+Control+F. - F31..42. Shift+[Control+]Alt+F. - virtual consoles
+# 13..24.
+# Added Back_Tab as Shift+Tab, shifted arrows, Insert, Delete,
+# Home, End as in rxvt terminal.
+# Added F1 as Shift+Control+H (Emacs "feature").
+#
+# See kbd.FAQ for more info on Linux key-map.
+
+
+keymaps 0-15
+# Plain +Shift +Shift
+# +AltGr +AltGr
+# Plain 0 1 2 3
+# +Control 4 5 6 7
+# +Alt 8 9 10 11
+# +Control+Alt 12 13 14 15
+
+# AltGr = right Alt
+
+keycode 1 = Escape Escape Escape Escape \
+ VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
+ Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+
+# +aogonek €Ä… +Aogonek Ä„
+keycode 2 = one exclam U+0105 U+0104 \
+ VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
+ Meta_one Meta_exclam Meta_one Meta_exclam \
+ F202 F202 F202 F202
+# ISO 8859-1 - default Linux map
+string F202 = "kbd_mode -a; echo -ne '\\033\\045@\\033(B'\015"
+
+# +ccaron Ä +Ccaron ÄŒ
+keycode 3 = two at U+010d U+010c \
+ nul nul nul nul \
+ Meta_two Meta_at Meta_two Meta_at \
+ nul nul nul nul
+
+# +eogonek ę +Eogonek Ę
+keycode 4 = three numbersign U+0119 U+0118 \
+ Escape Escape Escape Escape \
+ Meta_three Meta_numbersign Meta_three Meta_numbersign
+
+# +eabovedot Ä— +Eabovedot Ä–
+keycode 5 = four dollar U+0117 U+0116 \
+ Control_backslash Control_backslash Control_backslash Control_backslash \
+ Meta_four Meta_dollar Meta_four Meta_dollar \
+ F201 F201 F201 F201
+# ISO 8859-4 or other user map
+string F201 = "kbd_mode -a; echo -ne '\\033\\045@\\033(K'\015"
+
+# +iogonek į +Iogonek Į
+keycode 6 = five percent U+012f U+012e \
+ Control_bracketright Control_bracketright Control_bracketright \
+ Control_bracketright \
+ Meta_five Meta_percent Meta_five Meta_percent
+
+# +scaron Å¡ +Scaron Å 
+keycode 7 = six asciicircum U+0161 U+0160 \
+ Control_asciicircum Control_asciicircum Control_asciicircum \
+ Control_asciicircum \
+ Meta_six Meta_asciicircum Meta_six Meta_asciicircum \
+ Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum \
+ Meta_Control_asciicircum
+
+# +uogonek ų +Uogonek Ų
+keycode 8 = seven ampersand U+0173 U+0172 \
+ Control_underscore Control_underscore Control_underscore \
+ Control_underscore \
+ Meta_seven Meta_ampersand Meta_seven Meta_ampersand
+
+# +umacron ū +Umacron Ū
+keycode 9 = eight asterisk U+016b U+016a \
+ Delete Delete Delete Delete \
+ Meta_eight Meta_asterisk Meta_eight Meta_asterisk \
+ F200 F200 F200 F200
+# UTF-8
+string F200 = "kbd_mode -u; echo -ne '\\033\\045G\\033(K'\015"
+
+
+# U+201C not available in ISO 8859-4 low_double_comma_quotation_mark „
+keycode 10 = nine parenleft U+201e parenleft \
+ VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
+ Meta_nine Meta_parenleft Meta_nine Meta_parenleft
+
+# U+201C not available in ISO 8859-4 double_turned_comma_quotation_mark “
+keycode 11 = zero parenright U+201c parenright \
+ VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
+ Meta_zero Meta_parenright Meta_zero Meta_parenright
+
+# U+00AD soft hyphen = discretionary hyphen
+# U+2015 horizontal bar = quotation dash * long dash introducing quoted text
+# U+2011 non-breaking hyphen
+keycode 12 = minus underscore minus underscore \
+ Control_underscore U+00ad Control_underscore U+00ad \
+ Meta_minus U+2015 Meta_minus U+2015 \
+ Meta_Control_underscore U+2011 Meta_Control_underscore U+2011
+
+# +zcaron ž +Zcaron Ž
+keycode 13 = equal plus U+017e U+017d \
+ VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
+ Meta_equal Meta_plus Meta_equal Meta_plus
+
+# edit this if you want the key above <Enter> to delete symbols above
+# cursor, not before.
+keycode 14 = \
+ BackSpace BackSpace BackSpace BackSpace \
+ Delete Delete Delete Delete \
+ Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace \
+ Meta_Delete Meta_Delete Meta_Delete Meta_Delete
+
+string F215 = "\033[Z"
+keycode 15 = Tab F215 Tab F215 \
+ VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
+ Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+
+# Single characters are defined by default.
+keycode 16 = +q
+keycode 17 = +w
+keycode 18 = +e
+keycode 19 = +r
+keycode 20 = +t
+keycode 21 = +y
+keycode 22 = +u
+ control alt keycode 22 = F200
+ shift control alt keycode 22 = F200
+ altgr control alt keycode 22 = F200
+ shift altgr control alt keycode 22 = F200
+# UTF-8
+#string F200 = "kbd_mode -u; echo -ne '\\033\\045G\\033(K'\015"
+
+keycode 23 = +i
+keycode 24 = +o
+keycode 25 = +p
+keycode 26 = bracketleft braceleft bracketleft braceleft \
+ Escape Escape Escape Escape \
+ Meta_bracketleft Meta_braceleft Meta_bracketleft Meta_braceleft
+
+keycode 27 = bracketright braceright bracketright braceright \
+ Control_bracketright Control_bracketright \
+ Control_bracketright Control_bracketright \
+ Meta_bracketright Meta_braceright Meta_bracketright Meta_braceright \
+ Meta_Control_bracketright Meta_Control_bracketright \
+ Meta_Control_bracketright Meta_Control_bracketright
+
+keycode 28 = Return Return Return Return \
+ Return Return Return Return \
+ AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock \
+ AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock
+
+keycode 29 = Control
+keycode 30 = +a
+keycode 31 = +s
+keycode 32 = +d
+keycode 33 = +f
+keycode 34 = +g
+keycode 35 = +h
+ shift control keycode 35 = F1
+ shift AltGr control keycode 35 = F1
+
+keycode 36 = +j
+keycode 37 = +k
+keycode 38 = +l
+keycode 39 = semicolon colon semicolon colon \
+ VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
+ Meta_semicolon Meta_colon Meta_semicolon Meta_colon
+
+# U+201C left double quotation mark = double turned comma quotation mark “
+# U+201D right double quotation mark = double comma quotation mark â€
+keycode 40 = apostrophe quotedbl apostrophe quotedbl \
+ Control_g Control_g Control_g Control_g \
+ Meta_apostrophe Meta_quotedbl Meta_apostrophe Meta_quotedbl \
+ U+201C U+201D U+201C U+201D
+
+keycode 41 = grave asciitilde grave asciitilde \
+ nul nul nul nul \
+ Meta_grave Meta_asciitilde Meta_grave Meta_asciitilde
+
+keycode 42 = Shift
+
+keycode 43 = backslash bar backslash bar \
+ Control_backslash Control_backslash Control_backslash Control_backslash \
+ Meta_backslash Meta_bar Meta_backslash Meta_bar \
+ Meta_Control_backslash Meta_Control_backslash \
+ Meta_Control_backslash Meta_Control_backslash
+keycode 44 = +z
+keycode 45 = +x
+keycode 46 = +c
+keycode 47 = +v
+keycode 48 = +b
+keycode 49 = +n
+keycode 50 = +m
+keycode 51 = comma less comma less \
+ VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
+ Meta_comma Meta_less Meta_comma Meta_less
+
+keycode 52 = period greater period greater \
+ Compose Compose Compose Compose \
+ Meta_period Meta_greater Meta_period Meta_greater
+
+keycode 53 = slash question slash question \
+ Delete Delete Delete Delete \
+ Meta_slash Meta_question Meta_slash Meta_question
+
+keycode 54 = Shift
+
+keycode 55 = KP_Multiply KP_Multiply KP_Multiply KP_Multiply \
+ KP_Multiply Hex_C KP_Multiply Hex_C \
+ KP_Multiply Hex_C KP_Multiply Hex_C \
+ KP_Multiply KP_Multiply KP_Multiply KP_Multiply
+
+keycode 56 = Alt
+
+# 0xA0 no-break space
+keycode 57 = space space space space \
+ nul U+00a0 nul U+00a0 \
+ Meta_space Meta_space Meta_space Meta_space \
+ VoidSymbol U+00a0 VoidSymbol U+00a0
+
+keycode 58 = Caps_Lock Caps_Lock Caps_Lock Caps_Lock \
+ Shift_Lock Shift_Lock Shift_Lock Shift_Lock \
+ AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock \
+ Caps_Lock Caps_Lock Caps_Lock Caps_Lock
+
+keycode 59 = F1 F11 F1 F11 \
+ F21 F31 F21 F31 \
+ Console_1 Console_13 Console_1 Console_13 \
+ Console_1 Console_13 Console_1 Console_13
+keycode 60 = F2 F12 F2 F12 \
+ F22 F32 F22 F32 \
+ Console_2 Console_14 Console_2 Console_14 \
+ Console_2 Console_14 Console_2 Console_14
+keycode 61 = F3 F13 F3 F13 \
+ F23 F33 F23 F33 \
+ Console_3 Console_15 Console_3 Console_15 \
+ Console_3 Console_15 Console_3 Console_15
+keycode 62 = F4 F14 F4 F14 \
+ F24 F34 F24 F34 \
+ Console_4 Console_16 Console_4 Console_16 \
+ Console_4 Console_16 Console_4 Console_16
+keycode 63 = F5 F15 F5 F15 \
+ F25 F35 F25 F35 \
+ Console_5 Console_17 Console_5 Console_17 \
+ Console_5 Console_17 Console_5 Console_17
+keycode 64 = F6 F16 F6 F16 \
+ F26 F36 F26 F36 \
+ Console_6 Console_18 Console_6 Console_18 \
+ Console_6 Console_18 Console_6 Console_18
+keycode 65 = F7 F17 F7 F17 \
+ F27 F37 F27 F37 \
+ Console_7 Console_19 Console_7 Console_19 \
+ Console_7 Console_19 Console_7 Console_19
+keycode 66 = F8 F18 F8 F18 \
+ F28 F38 F28 F38 \
+ Console_8 Console_20 Console_8 Console_20 \
+ Console_8 Console_20 Console_8 Console_20
+keycode 67 = F9 F19 F9 F19 \
+ F29 F39 F29 F39 \
+ Console_9 Console_21 Console_9 Console_21 \
+ Console_9 Console_21 Console_9 Console_21
+keycode 68 = F10 F20 F10 F20 \
+ F30 F40 F30 F40 \
+ Console_10 Console_22 Console_10 Console_22 \
+ Console_10 Console_22 Console_10 Console_22
+keycode 69 = Num_Lock Bare_Num_Lock Num_Lock Bare_Num_Lock \
+ Num_Lock Hex_A Num_Lock Hex_A \
+ Num_Lock Hex_A Num_Lock Hex_A \
+ Num_Lock Num_Lock Num_Lock Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Scroll_Lock Show_Memory \
+ Show_State VoidSymbol Show_State VoidSymbol \
+ Scroll_Lock Show_Registers Scroll_Lock Show_Registers
+keycode 71 = KP_7 KP_7 KP_7 KP_7 \
+ KP_7 Hex_7 KP_7 Hex_7 \
+ Ascii_7 Hex_7 Ascii_7 Hex_7 \
+ KP_7 KP_7 KP_7 KP_7
+keycode 72 = KP_8 KP_8 KP_8 KP_8 \
+ KP_8 Hex_8 KP_8 Hex_8 \
+ Ascii_8 Hex_8 Ascii_8 Hex_8 \
+ KP_8 KP_8 KP_8 KP_8
+keycode 73 = KP_9 KP_9 KP_9 KP_9 \
+ KP_9 Hex_9 KP_9 Hex_9 \
+ Ascii_9 Hex_9 Ascii_9 Hex_9 \
+ KP_9 KP_9 KP_9 KP_9
+keycode 74 = KP_Subtract KP_Subtract KP_Subtract KP_Subtract \
+ KP_Subtract Hex_D KP_Subtract Hex_D \
+ KP_Subtract Hex_D KP_Subtract Hex_D \
+ KP_Subtract KP_Subtract KP_Subtract KP_Subtract
+keycode 75 = KP_4 KP_4 KP_4 KP_4 \
+ KP_4 Hex_4 KP_4 Hex_4 \
+ Ascii_4 Hex_4 Ascii_4 Hex_4 \
+ KP_4 KP_4 KP_4 KP_4
+keycode 76 = KP_5 KP_5 KP_5 KP_5 \
+ KP_5 Hex_5 KP_5 Hex_5 \
+ Ascii_5 Hex_5 Ascii_5 Hex_5 \
+ KP_5 KP_5 KP_5 KP_5
+keycode 77 = KP_6 KP_6 KP_6 KP_6 \
+ KP_6 Hex_6 KP_6 Hex_6 \
+ Ascii_6 Hex_6 Ascii_6 Hex_6 \
+ KP_6 KP_6 KP_6 KP_6
+keycode 78 = KP_Add KP_Add KP_Add KP_Add \
+ KP_Add Hex_E KP_Add Hex_E \
+ KP_Add Hex_E KP_Add Hex_E \
+ KP_Add KP_Add KP_Add KP_Add
+keycode 79 = KP_1 KP_1 KP_1 KP_1 \
+ KP_1 Hex_1 KP_1 Hex_1 \
+ Ascii_1 Hex_1 Ascii_1 Hex_1 \
+ KP_1 KP_1 KP_1 KP_1
+keycode 80 = KP_2 KP_2 KP_2 KP_2 \
+ KP_2 Hex_2 KP_2 Hex_2 \
+ Ascii_2 Hex_2 Ascii_2 Hex_2 \
+ KP_2 KP_2 KP_2 KP_2
+keycode 81 = KP_3 KP_3 KP_3 KP_3 \
+ KP_3 Hex_3 KP_3 Hex_3 \
+ Ascii_3 Hex_3 Ascii_3 Hex_3 \
+ KP_3 KP_3 KP_3 KP_3
+keycode 82 = KP_0 KP_0 KP_0 KP_0 \
+ KP_0 Hex_0 KP_0 Hex_0 \
+ Ascii_0 Hex_0 Ascii_0 Hex_0 \
+ KP_0 KP_0 KP_0 KP_0
+keycode 83 = KP_Period
+ control alt keycode 83 = Boot
+ altgr control alt keycode 83 = Boot
+
+# Alt + print-screen
+keycode 84 = Last_Console
+keycode 85 =
+#keycode 86 = less greater bar
+# alt keycode 86 = Meta_less
+
+# On German keyboards it is between left control and left alt keys:
+keycode 86 = AltGr
+
+keycode 87 = F11 F21 F11 F21 \
+ F31 F41 F31 F41 \
+ Console_11 Console_23 Console_11 Console_23 \
+ Console_11 Console_23 Console_11 Console_23
+keycode 88 = F12 F22 F12 F22 \
+ F32 F42 F32 F42 \
+ Console_12 Console_24 Console_12 Console_24 \
+ Console_12 Console_24 Console_12 Console_24
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter KP_Enter KP_Enter KP_Enter \
+ KP_Enter Hex_F KP_Enter Hex_F \
+ AltGr_Lock Hex_F AltGr_Lock Hex_F \
+ AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock
+
+keycode 97 = Control
+
+keycode 98 = KP_Divide KP_Divide KP_Divide KP_Divide \
+ KP_Divide Hex_B KP_Divide Hex_B \
+ KP_Divide Hex_B KP_Divide Hex_B \
+ KP_Divide KP_Divide KP_Divide KP_Divide
+
+keycode 99 = Control_backslash # 99=Print-Screen
+keycode 100 = AltGr
+keycode 101 = Break # 101=Control-Pause
+string F102 = "\033[7$"
+keycode 102 = Find # =Home
+ shift keycode 102 = F102
+ shift AltGr keycode 102 = F102
+string F103 = "\033[a"
+keycode 103 = Up
+ shift keycode 103 = F103
+ shift AltGr keycode 103 = F103
+ alt keycode 103 = Spawn_Console
+ AltGr alt keycode 103 = Spawn_Console
+ shift alt keycode 103 = Spawn_Console
+ shift AltGr alt keycode 103 = Spawn_Console
+keycode 104 = Prior # =PageUp
+ shift keycode 104 = Scroll_Backward
+ AltGr shift keycode 104 = Scroll_Backward
+string F105 = "\033[d"
+keycode 105 = Left
+ shift keycode 105 = F105
+ shift AltGr keycode 105 = F105
+ alt keycode 105 = Decr_Console
+ AltGr alt keycode 105 = Decr_Console
+ shift alt keycode 105 = Decr_Console
+ shift AltGr alt keycode 105 = Decr_Console
+string F106 = "\033[c"
+keycode 106 = Right
+ shift keycode 106 = F106
+ shift AltGr keycode 106 = F106
+ alt keycode 106 = Incr_Console
+ AltGr alt keycode 106 = Incr_Console
+ shift alt keycode 106 = Incr_Console
+ shift AltGr alt keycode 106 = Incr_Console
+string F107 = "\033[8$"
+keycode 107 = Select # =End
+ shift keycode 107 = F107
+ shift AltGr keycode 107 = F107
+string F108 = "\033[b"
+keycode 108 = Down
+ shift keycode 108 = F108
+ shift AltGr keycode 108 = F108
+keycode 109 = Next # =PageDown
+ shift keycode 109 = Scroll_Forward
+ AltGr shift keycode 109 = Scroll_Forward
+string F110 = "\033[2$"
+keycode 110 = Insert
+ shift keycode 110 = F110
+ shift AltGr keycode 110 = F110
+
+# Edit this if you want strict VT100 emulation.
+string F111 = "\033[3$"
+keycode 111 = Delete F111 Delete F111 \
+ Remove Remove Remove Remove \
+ Meta_Delete Meta_Delete Meta_Delete Meta_Delete \
+ Boot Boot Boot Boot
+
+# My PC 102 keyboard seems don't have 112-118.
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string F21 = "\033[35~"
+string F22 = "\033[36~"
+string F23 = "\033[37~"
+string F24 = "\033[38~"
+string F25 = "\033[39~"
+string F26 = "\033[40~"
+string F27 = "\033[41~"
+string F28 = "\033[42~"
+string F29 = "\033[43~"
+string F30 = "\033[44~"
+string F31 = "\033[45~"
+string F32 = "\033[46~"
+string F33 = "\033[47~"
+string F34 = "\033[48~"
+string F35 = "\033[49~"
+string F36 = "\033[50~"
+string F37 = "\033[51~"
+string F38 = "\033[52~"
+string F39 = "\033[53~"
+string F40 = "\033[54~"
+string F41 = "\033[55~"
+string F42 = "\033[56~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+
+# ISO-8859-1 characters - don't work in Unicode mode as of
+# loadkeys V.89 and Linux 2.0.29. Use Control+Alt+1 to see them.
+compose as usual for "iso-8859-1"
+
+
diff --git a/keymaps/i386/qwerty/lt.l4.kmap b/keymaps/i386/qwerty/lt.l4.kmap
new file mode 100644
index 0000000..077eead
--- /dev/null
+++ b/keymaps/i386/qwerty/lt.l4.kmap
@@ -0,0 +1,66 @@
+#encoding: UTF-8
+# Lithuanian key-map for PC 101/102 keyboard in ISO 8859-4 mode. V1.0.
+# Comments & bug reports to: RiÄardas ÄŒepas <rch@pub.osf.lt>
+# Load after loading lt.map. See lt.map for more info.
+# Usage: kbd_mode -a; loadkeys lt.map lt.l4.map; setfont lat4u* -m vga2iso
+
+charset "iso-8859-4"
+
+# U+0105 U+0104
+AltGr keycode 2 = +aogonek
+Shift AltGr keycode 2 = +Aogonek
+
+# U+010d U+010c
+AltGr keycode 3 = +ccaron
+Shift AltGr keycode 3 = +Ccaron
+
+# U+0119 U+0118
+AltGr keycode 4 = +eogonek
+Shift AltGr keycode 4 = +Eogonek
+
+# U+0117 U+0116
+AltGr keycode 5 = +eabovedot
+Shift AltGr keycode 5 = +Eabovedot
+
+# U+012f U+012e
+AltGr keycode 6 = +iogonek
+Shift AltGr keycode 6 = +Iogonek
+
+# U+0161 U+0160
+AltGr keycode 7 = +scaron
+Shift AltGr keycode 7 = +Scaron
+
+# U+0173 U+0172
+AltGr keycode 8 = +uogonek
+Shift AltGr keycode 8 = +Uogonek
+
+# U+016b U+016a
+AltGr keycode 9 = +umacron
+Shift AltGr keycode 9 = +Umacron
+
+# not available in ISO 8859-4 low_double_comma_quotation_mark „ U+201e
+AltGr keycode 10 = 0x90
+
+# not available in ISO 8859-4 double_turned_comma_quotation_mark “ U+201c
+AltGr keycode 11 = 0x91
+
+Shift Control keycode 12 = hyphen
+Shift AltGr Control keycode 12 = hyphen
+Shift Alt keycode 12 = minus
+Shift AltGr Alt keycode 12 = minus
+Shift Control Alt keycode 12 = hyphen
+Shift AltGr Control Alt keycode 12 = hyphen
+
+# U+017e U+017d
+AltGr keycode 13 = +zcaron
+Shift AltGr keycode 13 = +Zcaron
+
+ Control Alt keycode 40 = quotedbl
+ AltGr Control Alt keycode 40 = quotedbl
+Shift Control Alt keycode 40 = quotedbl
+Shift AltGr Control Alt keycode 40 = quotedbl
+
+Shift Control keycode 57 = nobreakspace
+Shift AltGr Control keycode 57 = nobreakspace
+Shift Control Alt keycode 57 = nobreakspace
+Shift AltGr Control Alt keycode 57 = nobreakspace
diff --git a/keymaps/i386/qwerty/lv-latin4.kmap b/keymaps/i386/qwerty/lv-latin4.kmap
new file mode 100644
index 0000000..d6b76af
--- /dev/null
+++ b/keymaps/i386/qwerty/lv-latin4.kmap
@@ -0,0 +1,252 @@
+# $Id: lv-latin4.kmap,v 1.2 1999/07/07 18:03:57 ilya Exp $
+#
+# Latvian ISO-8859-4 keyboard.map. Latvian accented characters are entered
+# using AltGr and pressing their unaccented counterpart, i.e., AltGr-A is "A
+# MACRON", AltGr-K is "K CEDILLA", AltGr-Z is "Z CARON", and so on.
+#
+# [Rr] with cedillas are added to support diaspora Latvian, [Oo] with macrons
+# retained to support Latgalian.
+#
+# Lithuanian and Estonian characters are provided as compose sequences:
+# <compose>-","-"U" gets you "U OGONEK", <compose>-"."-"E" is "E WITH DOT
+# ABOVE" etc.
+#
+# Usage: loadkeys lv-latin4.map
+#
+# Contributed by Ilya Ketris <ilya@gde.to>
+#
+
+charset "iso-8859-4"
+keymaps 0-4,6,8-10,12,16
+strings as usual
+
+ keycode 14 = BackSpace BackSpace BackSpace BackSpace
+ alt keycode 14 = Meta_Delete
+# º ª
+ keycode 18 = +e +E +emacron +Emacron
+ control keycode 18 = Control_e
+altgr control keycode 18 = Control_e
+# ³ £
+ keycode 19 = +r +R +rcedilla +Rcedilla
+ control keycode 19 = Control_r
+altgr control keycode 19 = Control_r
+# þ Þ
+ keycode 22 = +u +U +umacron +Umacron
+ control keycode 22 = Control_u
+altgr control keycode 22 = Control_u
+# ï Ï
+ keycode 23 = +i +I +imacron +Imacron
+control keycode 23 = Tab
+altgr control keycode 23 = Tab
+# ò Ò
+ keycode 24 = +o +O +omacron +Omacron
+ control keycode 24 = Control_o
+altgr control keycode 24 = Control_o
+ keycode 26 = bracketleft braceleft +200 +232
+ control keycode 26 = Escape
+altgr control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ keycode 27 = bracketright braceright bracketleft bracketright
+ control keycode 27 = Control_bracketright
+altgr control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+ keycode 29 = Control
+# à À
+ keycode 30 = +a +A +amacron +Amacron
+ control keycode 30 = Control_a
+altgr control keycode 30 = Control_a
+# ¹ ©
+ keycode 31 = +s +S +scaron +Scaron
+ control keycode 31 = Control_s
+altgr control keycode 31 = Control_s
+# » «
+ keycode 34 = +g +G +gcedilla +Gcedilla
+ control keycode 34 = Control_g
+altgr control keycode 34 = Control_g
+# ó Ó
+ keycode 37 = +k +K +kcedilla +Kcedilla
+ control keycode 37 = Control_k
+altgr control keycode 37 = Control_k
+# ¶ ¦
+ keycode 38 = +l +L +lcedilla +Lcedilla
+ control keycode 38 = Control_l
+altgr control keycode 38 = Control_l
+# ¾ ®
+ keycode 44 = +z +Z +zcaron +Zcaron
+ control keycode 44 = Control_z
+altgr control keycode 44 = Control_z
+# è È
+ keycode 46 = +c +C +ccaron +Ccaron
+ control keycode 46 = Control_c
+altgr control keycode 46 = Control_c
+# ñ Ñ
+ keycode 49 = +n +N +ncedilla +Ncedilla
+ control keycode 49 = Control_n
+altgr control keycode 49 = Control_n
+ keycode 52 = period greater
+ control keycode 52 = Compose
+ alt keycode 52 = Meta_period
+ shift alt keycode 52 = Meta_greater
+
+ keycode 54 = Shift
+ keycode 55 = KP_Multiply
+ keycode 56 = Alt
+ keycode 57 = space space space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ keycode 58 = Caps_Lock
+ keycode 59 = F1 F11 F1 F11
+ control keycode 59 = F1
+ alt keycode 59 = Console_1
+altgr alt keycode 59 = Console_1
+ keycode 60 = F2 F12 F2 F12
+ control keycode 60 = F2
+ alt keycode 60 = Console_2
+altgr alt keycode 60 = Console_2
+ keycode 61 = F3 F13 F3 F13
+ control keycode 61 = F3
+ alt keycode 61 = Console_3
+altgr alt keycode 61 = Console_3
+ keycode 62 = F4 F14 F4 F14
+ control keycode 62 = F4
+ alt keycode 62 = Console_4
+altgr alt keycode 62 = Console_4
+ keycode 63 = F5 F15 F5 F15
+ control keycode 63 = F5
+ alt keycode 63 = Console_5
+altgr alt keycode 63 = Console_5
+ keycode 64 = F6 F16 F6 F16
+ control keycode 64 = F6
+ alt keycode 64 = Console_6
+altgr alt keycode 64 = Console_6
+ keycode 65 = F7 F17 F7 F17
+ control keycode 65 = F7
+ alt keycode 65 = Console_7
+altgr alt keycode 65 = Console_7
+ keycode 66 = F8 F18 F8 F18
+ control keycode 66 = F8
+ alt keycode 66 = Console_8
+altgr alt keycode 66 = Console_8
+ keycode 67 = F9 F19 F9 F19
+ control keycode 67 = F9
+ alt keycode 67 = Console_9
+altgr alt keycode 67 = Console_9
+ keycode 68 = F10 F20 F10 F20
+ control keycode 68 = F10
+ alt keycode 68 = Console_10
+altgr alt keycode 68 = Console_10
+ keycode 69 = Num_Lock
+ keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+ keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+ keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+ keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+ keycode 74 = KP_Subtract
+ keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+ keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+ keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+ keycode 78 = KP_Add
+ keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+ keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+ keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+ keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+ keycode 83 = KP_Period
+altgr control keycode 83 = Boot
+control alt keycode 83 = Boot
+ keycode 84 = Last_Console
+ keycode 85 =
+ keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+ keycode 87 = F11 F11 F11 F11
+ control keycode 87 = F11
+ alt keycode 87 = Console_11
+altgr alt keycode 87 = Console_11
+ keycode 88 = F12 F12 F12 F12
+ control keycode 88 = F12
+ alt keycode 88 = Console_12
+altgr alt keycode 88 = Console_12
+ keycode 89 =
+ keycode 90 =
+ keycode 91 =
+ keycode 92 =
+ keycode 93 =
+ keycode 94 =
+ keycode 95 =
+ keycode 96 = KP_Enter
+ keycode 97 = AltGr_Lock
+ keycode 98 = KP_Divide
+ keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+ keycode 100 = AltGr
+ keycode 101 = Break
+ keycode 102 = Find
+ keycode 103 = Up
+ keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+ keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ keycode 107 = Select
+ keycode 108 = Down
+ keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+ keycode 110 = Insert
+ keycode 111 = Remove
+altgr control keycode 111 = Boot
+control alt keycode 111 = Boot
+ keycode 112 =
+ keycode 113 =
+ keycode 114 =
+ keycode 115 =
+ keycode 116 =
+ keycode 117 =
+ keycode 118 =
+ keycode 119 =
+ keycode 120 =
+ keycode 121 =
+ keycode 122 =
+ keycode 123 =
+ keycode 124 =
+ keycode 125 = ShiftL_Lock
+ keycode 126 =
+ keycode 127 =
+
+
+# Compose sequences for Lithuanian and Estonian characters. I don't want
+# to load complete keyboard definitions for them, but I use them occasionally,
+# as they share the same codepage with Latvian. No need for Greenlandic and
+# Lappish so far, feel free to contribute.
+
+compose ',' 'A' to 0xa1 # Aogonek
+compose ',' 'a' to 0xb1 # aogonek
+compose ',' 'I' to 0xc7 # Iogonek
+compose ',' 'i' to 0xe7 # iogonek
+compose ',' 'E' to 0xca # Eogonek
+compose ',' 'e' to 0xea # eogonek
+compose ',' 'U' to 0xd9 # Uogonek
+compose ',' 'u' to 0xf9 # uogonek
+compose '.' 'E' to 0xcc # Edot
+compose '.' 'e' to 0xec # edot
+
+compose ';' 'A' to 0xc4 # Adiaeresis
+compose ';' 'a' to 0xe4 # adiaeresis
+compose ';' 'O' to 0xd6 # Odiaeresis
+compose ';' 'o' to 0xf6 # odiaeresis
+compose '\'' 'O' to 0xd5 # Otilde
+compose '\'' 'o' to 0xf5 # otilde
+
diff --git a/keymaps/i386/qwerty/lv-latin7.kmap b/keymaps/i386/qwerty/lv-latin7.kmap
new file mode 100644
index 0000000..e0a347c
--- /dev/null
+++ b/keymaps/i386/qwerty/lv-latin7.kmap
@@ -0,0 +1,258 @@
+# $Id: lv-latin9.kmap,v 1.2 1999/07/07 18:03:43 ilya Exp ilya $
+#
+# Latvian ISO-8859-13 keyboard.map.
+#
+# Following encoding standards are roughly equivalent for Latvian characters:
+#
+# ISO-8859-13 (aka latin7) by International Standards Organization
+# LVS-8/92 by Latvijas Valsts standartu komiteja
+# CP-1257 (aka BaltRim) by Microsoft Corp.
+#
+# Latvian accented characters are entered
+# using AltGr and pressing their unaccented counterpart, i.e., AltGr-A is "A
+# MACRON", AltGr-K is "K CEDILLA", AltGr-Z is "Z CARON", and so on.
+#
+# [Rr] with cedillas are added to support diaspora Latvian, [Oo] with macrons
+# retained to support Latgalian.
+#
+# Lithuanian and Estonian characters are provided as compose sequences:
+# <compose>-","-"U" gets you "U OGONEK", <compose>-"."-"E" is "E WITH DOT
+# ABOVE" etc.
+#
+# Usage: loadkeys lv-latin9.map
+#
+# Contributed by Ilya Ketris <ilya@gde.to>
+#
+
+keymaps 0-4,6,8,10,12,16
+strings as usual
+
+#
+ keycode 18 = +e +E +0xe7 +0xc7
+ control keycode 18 = Control_e
+altgr control keycode 18 = Control_e
+#
+ keycode 19 = +r +R +0xb3 +0xa3
+ control keycode 19 = Control_r
+altgr control keycode 19 = Control_r
+#
+ keycode 22 = +u +U +0xfb +0xdb
+ control keycode 22 = Control_u
+altgr control keycode 22 = Control_u
+#
+ keycode 23 = +i +I +0xee +0xce
+ control keycode 23 = Tab
+altgr control keycode 23 = Tab
+#
+ keycode 24 = +o +O +0xf4 +0xd4
+ control keycode 24 = Control_o
+altgr control keycode 24 = Control_o
+ keycode 26 = bracketleft braceleft 0xa9 0xae
+ control keycode 26 = Escape
+altgr control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ keycode 27 = bracketright braceright 0xae 0xa9
+ control keycode 27 = Control_bracketright
+altgr control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+ keycode 29 = Control
+#
+ keycode 30 = +a +A +0xe2 +0xc2
+ control keycode 30 = Control_a
+altgr control keycode 30 = Control_a
+#
+ keycode 31 = +s +S +0xf0 +0xd0
+ control keycode 31 = Control_s
+altgr control keycode 31 = Control_s
+#
+ keycode 34 = +g +G +0xec +0xcc
+ control keycode 34 = Control_g
+altgr control keycode 34 = Control_g
+#
+ keycode 37 = +k +K +0xed +0xcd
+ control keycode 37 = Control_k
+altgr control keycode 37 = Control_k
+#
+ keycode 38 = +l +L +0xef +0xcf
+ control keycode 38 = Control_l
+altgr control keycode 38 = Control_l
+#
+ keycode 44 = +z +Z +0xfe +0xde
+ control keycode 44 = Control_z
+altgr control keycode 44 = Control_z
+#
+ keycode 46 = +c +C +0xe8 +0xc8
+ control keycode 46 = Control_c
+altgr control keycode 46 = Control_c
+#
+ keycode 49 = +n +N +0xf2 +0xd2
+ control keycode 49 = Control_n
+altgr control keycode 49 = Control_n
+
+ keycode 52 = period greater
+ control keycode 52 = Compose
+ alt keycode 52 = Meta_period
+# shift alt keycode 52 = Meta_greater
+
+ keycode 54 = Shift
+ keycode 55 = KP_Multiply
+ keycode 56 = Alt
+ keycode 57 = space space space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ keycode 58 = Caps_Lock
+ keycode 59 = F1 F11 F1 F11
+ control keycode 59 = F1
+ alt keycode 59 = Console_1
+altgr alt keycode 59 = Console_1
+ keycode 60 = F2 F12 F2 F12
+ control keycode 60 = F2
+ alt keycode 60 = Console_2
+altgr alt keycode 60 = Console_2
+ keycode 61 = F3 F13 F3 F13
+ control keycode 61 = F3
+ alt keycode 61 = Console_3
+altgr alt keycode 61 = Console_3
+ keycode 62 = F4 F14 F4 F14
+ control keycode 62 = F4
+ alt keycode 62 = Console_4
+altgr alt keycode 62 = Console_4
+ keycode 63 = F5 F15 F5 F15
+ control keycode 63 = F5
+ alt keycode 63 = Console_5
+altgr alt keycode 63 = Console_5
+ keycode 64 = F6 F16 F6 F16
+ control keycode 64 = F6
+ alt keycode 64 = Console_6
+altgr alt keycode 64 = Console_6
+ keycode 65 = F7 F17 F7 F17
+ control keycode 65 = F7
+ alt keycode 65 = Console_7
+altgr alt keycode 65 = Console_7
+ keycode 66 = F8 F18 F8 F18
+ control keycode 66 = F8
+ alt keycode 66 = Console_8
+altgr alt keycode 66 = Console_8
+ keycode 67 = F9 F19 F9 F19
+ control keycode 67 = F9
+ alt keycode 67 = Console_9
+altgr alt keycode 67 = Console_9
+ keycode 68 = F10 F20 F10 F20
+ control keycode 68 = F10
+ alt keycode 68 = Console_10
+altgr alt keycode 68 = Console_10
+ keycode 69 = Num_Lock
+ keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+ keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+ keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+ keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+ keycode 74 = KP_Subtract
+ keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+ keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+ keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+ keycode 78 = KP_Add
+ keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+ keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+ keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+ keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+ keycode 83 = KP_Period
+altgr control keycode 83 = Boot
+control alt keycode 83 = Boot
+ keycode 84 = Last_Console
+ keycode 85 =
+ keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+ keycode 87 = F11 F11 F11 F11
+ control keycode 87 = F11
+ alt keycode 87 = Console_11
+altgr alt keycode 87 = Console_11
+ keycode 88 = F12 F12 F12 F12
+ control keycode 88 = F12
+ alt keycode 88 = Console_12
+altgr alt keycode 88 = Console_12
+ keycode 89 =
+ keycode 90 =
+ keycode 91 =
+ keycode 92 =
+ keycode 93 =
+ keycode 94 =
+ keycode 95 =
+ keycode 96 = KP_Enter
+ keycode 97 = AltGr_Lock
+ keycode 98 = KP_Divide
+ keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+ keycode 100 = AltGr
+ keycode 101 = Break
+ keycode 102 = Find
+ keycode 103 = Up
+ keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+ keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ keycode 107 = Select
+ keycode 108 = Down
+ keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+ keycode 110 = Insert
+ keycode 111 = Remove
+altgr control keycode 111 = Boot
+control alt keycode 111 = Boot
+ keycode 112 =
+ keycode 113 =
+ keycode 114 =
+ keycode 115 =
+ keycode 116 =
+ keycode 117 =
+ keycode 118 =
+ keycode 119 =
+ keycode 120 =
+ keycode 121 =
+ keycode 122 =
+ keycode 123 =
+ keycode 124 =
+ keycode 125 = ShiftL_Lock
+ keycode 126 =
+ keycode 127 =
+
+# Compose sequences for Lithuanian and Estonian characters. I don't want
+# to load complete keyboard definitions for them, but I use them occasionally,
+# as they share the same codepage with Latvian. No need for Greenlandic and
+# Lappish so far, feel free to contribute.
+
+compose ',' 'A' to 0xc0 # Aogonek
+compose ',' 'a' to 0xe0 # aogonek
+compose ',' 'I' to 0xc1 # Iogonek
+compose ',' 'i' to 0xe1 # iogonek
+compose ',' 'E' to 0xc7 # Eogonek
+compose ',' 'e' to 0xe7 # eogonek
+compose ',' 'U' to 0xd8 # Uogonek
+compose ',' 'u' to 0xf8 # uogonek
+compose '.' 'E' to 0xcb # Edot
+compose '.' 'e' to 0xeb # edot
+
+compose ';' 'A' to 0xc4 # Adiaeresis
+compose ';' 'a' to 0xe4 # adiaeresis
+compose ';' 'O' to 0xd6 # Odiaeresis
+compose ';' 'o' to 0xf6 # odiaeresis
+compose '\'' 'O' to 0xd5 # Otilde
+compose '\'' 'o' to 0xf5 # otilde
+
+
diff --git a/keymaps/i386/qwerty/mac-usb-dk-latin1.kmap b/keymaps/i386/qwerty/mac-usb-dk-latin1.kmap
new file mode 100644
index 0000000..a91f683
--- /dev/null
+++ b/keymaps/i386/qwerty/mac-usb-dk-latin1.kmap
@@ -0,0 +1,46 @@
+# mac-dk-latin1.map olh@suse.de
+
+alt_is_meta
+include "qwerty-layout"
+altgr keycode 16 = at
+altgr keycode 50 = mu
+#include "linux-with-alt-and-altgr"
+include "mac-linux-keys-bare.inc"
+plain keycode 83 = KP_Comma
+include "euro.inc"
+compose as usual for "iso-8859-1"
+strings as usual
+
+keycode 41 = dollar section
+keycode 2 = one exclam
+keycode 3 = two quotedbl
+keycode 4 = three numbersign
+keycode 5 = four currency
+keycode 6 = five percent
+keycode 7 = six ampersand
+keycode 8 = seven slash nul backslash
+keycode 9 = eight parenleft bracketleft
+keycode 10 = nine parenright bracketright
+keycode 11 = zero equal
+keycode 12 = plus question
+keycode 13 = acute grave
+keycode 26 = aring Aring
+keycode 27 = diaeresis circumflex asciitilde
+keycode 39 = ae AE adiaeresis Adiaeresis
+keycode 40 = oslash Oslash odiaeresis Odiaeresis
+keycode 43 = apostrophe asterisk
+keycode 51 = comma semicolon
+keycode 52 = period colon
+keycode 53 = minus underscore Meta_minus
+shift control keycode 53 = Control_underscore
+keycode 57 = space space Meta_space nul
+keycode 86 = less greater bar
+
+
+alt keycode 16 = at
+alt keycode 41 = bar
+alt keycode 27 = dead_tilde
+alt keycode 49 = dead_tilde
+keycode 83 = KP_Comma
+ control alt keycode 83 = Boot
+
diff --git a/keymaps/i386/qwerty/mac-usb-es.kmap b/keymaps/i386/qwerty/mac-usb-es.kmap
new file mode 100644
index 0000000..dc7f433
--- /dev/null
+++ b/keymaps/i386/qwerty/mac-usb-es.kmap
@@ -0,0 +1,36 @@
+# mac-es.map olh@suse.de
+
+include "qwerty-layout.inc"
+include "mac-linux-keys-bare.inc"
+include "euro.inc"
+strings as usual
+compose as usual for "iso-8859-1"
+
+
+
+keycode 41 = bracketleft bracketright braceleft braceright
+keycode 2 = one exclamdown
+keycode 3 = two exclam
+keycode 4 = three numbersign sterling
+keycode 5 = four dollar dollar Control_backslash
+keycode 6 = five percent
+keycode 7 = six slash
+keycode 8 = seven ampersand bar
+keycode 9 = eight asterisk degree
+keycode 10 = nine parenleft sterling
+keycode 11 = zero parenright
+keycode 12 = minus underscore
+keycode 13 = equal plus
+
+keycode 27 = apostrophe degree
+keycode 26 = grave diaeresis bar
+keycode 39 = ntilde Ntilde asciitilde
+keycode 40 = semicolon colon
+keycode 43 = apostrophe quotedbl
+keycode 86 = less greater bracketleft braceleft
+keycode 51 = comma questiondown
+keycode 52 = period question
+keycode 53 = ccedilla Ccedilla
+keycode 83 = KP_Comma
+ control alt keycode 83 = Boot
+
diff --git a/keymaps/i386/qwerty/mac-usb-euro.kmap b/keymaps/i386/qwerty/mac-usb-euro.kmap
new file mode 100644
index 0000000..630cd94
--- /dev/null
+++ b/keymaps/i386/qwerty/mac-usb-euro.kmap
@@ -0,0 +1,6 @@
+# Euro and cent
+# [Say: "loadkeys euro" to get Euro and cent with Alt on the positions
+# where many keyboards have E and C.
+# To get it displayed, use a latin0 (i.e., latin9) font.]
+alt keycode 18 = currency
+alt keycode 46 = cent
diff --git a/keymaps/i386/qwerty/mac-usb-fi-latin1.kmap b/keymaps/i386/qwerty/mac-usb-fi-latin1.kmap
new file mode 100644
index 0000000..8467cef
--- /dev/null
+++ b/keymaps/i386/qwerty/mac-usb-fi-latin1.kmap
@@ -0,0 +1,70 @@
+# mac-fi-latin1.kmap
+# converted from mac-us-ext by bronx 070600
+# tested on MacAlly ext USB kbd
+# euro sign on number 4, keycode 21
+#
+# keycode 0 is the 'a', for some reason keycode 90 is
+# also defined as an 'a', I'm not sure why.
+#
+alt_is_meta
+include "qwerty-layout"
+include "mac-linux-keys-bare.inc"
+include "euro.inc"
+compose as usual for "iso-8859-1"
+strings as usual
+
+keycode 2 = one exclam
+alt keycode 2 = Meta_one
+keycode 3 = two quotedbl quotedbl nul nul
+alt keycode 3 = Meta_two
+keycode 4 = three numbersign
+control keycode 4 = Escape
+alt keycode 4 = Meta_three
+keycode 5 = four dollar currency Control_backslash
+alt keycode 5 = Meta_four
+keycode 7 = six ampersand
+control keycode 7 = Control_asciicircum
+alt keycode 7 = Meta_six
+keycode 6 = five percent
+control keycode 6 = Control_bracketright
+alt keycode 6 = Meta_five
+keycode 13 = acute grave
+alt keycode 13 = Meta_equal
+keycode 10 = nine parenright bracketright braceright
+alt keycode 10 = braceright
+keycode 8 = seven slash bar
+alt keycode 8 = backslash
+keycode 12 = plus question backslash Control_underscore Control_underscore Meta_minus
+keycode 9 = eight parenleft bracketleft
+alt keycode 9 = braceleft
+keycode 11 = zero equal braceright
+alt keycode 11 = Meta_zero
+keycode 27 = diaeresis asciicircum asciitilde Control_bracketright
+alt keycode 27 = Meta_bracketright
+keycode 26 = aring Aring
+control keycode 26 = Escape
+alt keycode 26 = Meta_bracketleft
+keycode 40 = adiaeresis Adiaeresis
+control keycode 40 = Control_g
+alt keycode 40 = Meta_apostrophe
+keycode 39 = odiaeresis Odiaeresis
+alt keycode 39 = Meta_semicolon
+keycode 43 = apostrophe asterisk at
+control keycode 43 = Control_backslash
+alt keycode 43 = Meta_backslash
+keycode 51 = comma semicolon
+alt keycode 51 = Meta_comma
+keycode 53 = minus underscore
+control keycode 53 = Delete
+alt keycode 53 = Meta_minus
+keycode 52 = period colon
+control keycode 52 = Compose
+alt keycode 52 = Meta_period
+keycode 86 = less greater
+control keycode 86 = nul
+alt keycode 86 = Meta_grave
+keycode 14 = Delete Remove
+alt keycode 14 = Meta_Delete
+keycode 83 = KP_Comma
+ control alt keycode 83 = Boot
+
diff --git a/keymaps/i386/qwerty/mac-usb-se.kmap b/keymaps/i386/qwerty/mac-usb-se.kmap
new file mode 100644
index 0000000..f3e3c13
--- /dev/null
+++ b/keymaps/i386/qwerty/mac-usb-se.kmap
@@ -0,0 +1,34 @@
+# mac-se.map olh@suse.de
+
+include "qwerty-layout.inc"
+include "mac-linux-keys-bare.inc"
+strings as usual
+compose as usual for "iso-8859-1"
+
+
+
+keycode 41 = section degree
+keycode 2 = one exclam copyright
+keycode 3 = two quotedbl
+keycode 4 = three numbersign sterling
+keycode 5 = four dollar dollar Control_backslash
+keycode 6 = five percent
+keycode 7 = six ampersand
+keycode 8 = seven slash bar backslash
+keycode 9 = eight parenleft bracketleft
+keycode 10 = nine parenright bracketright
+keycode 11 = zero equal
+keycode 12 = minus question
+keycode 13 = plus grave
+keycode 27 = aring Aring
+keycode 26 = dead_diaeresis asciicircum asciitilde
+keycode 39 = odiaeresis Odiaeresis
+keycode 40 = adiaeresis Adiaeresis ae AE
+keycode 43 = apostrophe asterisk
+keycode 86 = less greater
+keycode 51 = comma semicolon
+keycode 53 = minus underscore
+keycode 52 = period colon
+keycode 83 = KP_Period
+ control alt keycode 83 = Boot
+
diff --git a/keymaps/i386/qwerty/mac-usb-uk.kmap b/keymaps/i386/qwerty/mac-usb-uk.kmap
new file mode 100644
index 0000000..5d8971b
--- /dev/null
+++ b/keymaps/i386/qwerty/mac-usb-uk.kmap
@@ -0,0 +1,59 @@
+# mac-uk.map olh@suse.de
+include "qwerty-layout.inc"
+include "mac-linux-keys-bare.inc"
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 2 = one exclam exclamdown
+ alt keycode 2 = Meta_one
+keycode 3 = two at
+keycode 4 = three sterling numbersign
+ control keycode 4 = Escape
+keycode 5 = four dollar dollar Control_backslash
+ alt keycode 5 = Meta_four
+keycode 7 = six asciicircum section
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 6 = five percent macron
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 13 = equal plus
+ alt keycode 13 = Meta_equal
+keycode 10 = nine parenleft bracketright
+ alt keycode 10 = Meta_nine
+keycode 8 = seven ampersand braceleft Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 12 = minus underscore backslash Control_underscore Control_underscore Meta_minus
+keycode 9 = eight asterisk bracketleft Delete
+ alt keycode 9 = Meta_eight
+keycode 11 = zero parenright braceright
+ alt keycode 11 = Meta_zero
+keycode 27 = bracketright braceright asciitilde Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 39 = semicolon colon
+ alt keycode 39 = Meta_semicolon
+keycode 41 = section plusminus
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 51 = comma less
+ alt keycode 51 = Meta_comma
+keycode 53 = slash question
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 52 = period greater
+ control keycode 52 = Compose
+ alt keycode 52 = Meta_period
+keycode 83 = KP_Period
+ control alt keycode 83 = Boot
+keycode 86 = grave asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 70 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 70 = Scroll_Lock
diff --git a/keymaps/i386/qwerty/mac-usb-us.kmap b/keymaps/i386/qwerty/mac-usb-us.kmap
new file mode 100644
index 0000000..33f7950
--- /dev/null
+++ b/keymaps/i386/qwerty/mac-usb-us.kmap
@@ -0,0 +1,74 @@
+# Macintosh us.map
+# From Frank Murphy <fjm_maillists@yahoo.com>
+#
+keymaps 0-6,8-9,12
+alt_is_meta
+include "qwerty-layout"
+include "linux-with-alt-and-altgr"
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 1 = Escape
+keycode 2 = one exclam exclamdown
+keycode 3 = two at at
+ control keycode 3 = nul
+ shift control keycode 3 = nul
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+keycode 5 = four dollar dollar
+ control keycode 5 = Control_backslash
+ shift control keycode 5 = Control_backslash
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+keycode 8 = seven ampersand braceleft
+ control keycode 8 = Control_underscore
+keycode 9 = eight asterisk bracketleft
+ control keycode 9 = Delete
+keycode 10 = nine parenleft bracketright
+keycode 11 = zero parenright braceright
+keycode 12 = minus underscore backslash
+ control keycode 12 = Control_underscore
+ shift control keycode 12 = Control_underscore
+keycode 13 = equal plus
+keycode 14 = Delete Remove
+ control keycode 14 = Remove
+ shift alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+keycode 27 = bracketright braceright asciitilde
+ control keycode 27 = Control_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = semicolon colon
+keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+keycode 41 = grave asciitilde
+ control keycode 41 = nul
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+keycode 51 = comma less guillemotleft
+keycode 52 = period greater guillemotright
+ control keycode 52 = Compose
+keycode 53 = slash question questiondown
+ control keycode 53 = Delete
+ shift control keycode 53 = Delete
+keycode 54 = Shift
+keycode 56 = Alt # Alt/Option key left
+keycode 57 = space space nobreakspace
+ control keycode 57 = nul
+keycode 58 = Caps_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+keycode 83 = KP_Period
+ control alt keycode 83 = Boot
+
+keycode 101 = Pause # Break/Pause
+ control keycode 101 = Break # Ctrl+Break/Pause
+
+# Apple keypad has equal
+keycode 117 = equal
diff --git a/keymaps/i386/qwerty/mk.kmap b/keymaps/i386/qwerty/mk.kmap
new file mode 100644
index 0000000..4ff529b
--- /dev/null
+++ b/keymaps/i386/qwerty/mk.kmap
@@ -0,0 +1,108 @@
+# From: Danko Ilik <danko@mindless.com>
+# Date: Sun Feb 7 19:58:47 CET 1999
+#
+# Macedonian Cyrilic Unicode keyboard mapping
+###############################################
+#
+# Vkluchuvanje/iskluchuvanje na kirilichen mod se pravi so left_alt+left_shift
+#
+# kaj mene, so slednata niza naredbi se vkluchuva terminalskata podrshka
+# za nashiot jazik:
+# setfont iso05.f14
+# loadunimap iso05.uni
+# kbd_mode -u
+# loadkeys mk.map
+# so
+# echo -e '\033%G'
+# se ovozmozhuva prikaz na kirilichni simboli na terminalot, shto nekogash
+# znae da go razneubavi displayot (kaj programi shto koristat ncurses,
+# na primer) pa e zgodno da se iskluchi ispisot na kirilicata:
+# echo -e '\033%@'
+#
+# Mnogu od programite se zbunuvaat koga kje im se prati tolku mokjen :)
+# karakter kako kirilichniot, pa treba da se iskluchat soodvetnite
+# blokadi na 8-bitovi.
+#
+# Verojatno, tekst so komentari za nashite raboti mozhe da najdete na
+# http://eon.pmf.ukim.edu.mk/~danko/linux.mk/
+#
+# Pratete komentar so sugestii.
+#
+# korisna e dokumentacijata za kbd paketot (/usr/doc/kbd*)
+###############################################
+# (adapted a bit, aeb)
+#
+charset "iso-8859-5"
+alt_is_meta
+keymaps 0-10,12,14
+include "linux-with-modeshift-altgr.inc"
+strings as usual
+
+keycode 1 = Escape
+keycode 2 = one exclam one exclam
+keycode 3 = two at two at nul nul
+keycode 4 = three numbersign three numbersign Escape
+keycode 5 = four dollar four dollar Control_backslash
+keycode 6 = five percent five percent Control_bracketright
+keycode 7 = six asciicircum six asciicircum Control_asciicircum
+keycode 8 = seven ampersand seven ampersand Control_underscore
+keycode 9 = eight asterisk eight asterisk Delete
+keycode 10 = nine parenleft nine parenleft
+keycode 11 = zero parenright zero parenright
+keycode 12 = minus underscore minus underscore Control_underscore Control_underscore
+keycode 13 = equal plus equal plus
+keycode 14 = Delete Delete Delete Delete BackSpace
+keycode 15 = Tab
+keycode 16 = +q +Q U+0459 U+0409 Control_q Control_q Control_q Control_q
+keycode 17 = +w +W U+045a U+040a Control_w Control_w Control_w Control_w
+keycode 18 = +e +E U+0435 U+0415 Control_e Control_e Control_e Control_e
+keycode 19 = +r +R U+0440 U+0420 Control_r Control_r Control_r Control_r
+keycode 20 = +t +T U+0442 U+0422 Control_t Control_t Control_t Control_t
+keycode 21 = +y +Y U+0455 U+0405 Control_y Control_y Control_y Control_y
+keycode 22 = +u +U U+0443 U+0423 Control_u Control_u Control_u Control_u
+keycode 23 = +i +I U+0438 U+0418 Tab Tab Tab Tab
+keycode 24 = +o +O U+043e U+041e Control_o Control_o Control_o Control_o
+keycode 25 = +p +P U+043f U+041f Control_p Control_p Control_p Control_p
+keycode 26 = bracketleft braceleft U+0448 U+0428 Escape
+keycode 27 = bracketright braceright U+0453 U+0403 Control_bracketright
+keycode 28 = Return
+alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = +a +A U+0430 U+0410 Control_a Control_a Control_a Control_a
+keycode 31 = +s +S U+0441 U+0421 Control_s Control_s Control_s Control_s
+keycode 32 = +d +D U+0434 U+0414 Control_d Control_d Control_d Control_d
+keycode 33 = +f +F U+0444 U+0424 Control_f Control_f Control_f Control_f
+keycode 34 = +g +G U+0433 U+0413 Control_g Control_g Control_g Control_g
+keycode 35 = +h +H U+0445 U+0425 BackSpace BackSpace BackSpace BackSpace
+keycode 36 = +j +J U+0458 U+0408 Linefeed Linefeed Linefeed Linefeed
+keycode 37 = +k +K U+043a U+041a Control_k Control_k Control_k Control_k
+keycode 38 = +l +L U+043b U+041b Control_l Control_l Control_l Control_l
+keycode 39 = semicolon colon U+0447 U+0427
+keycode 40 = apostrophe quotedbl U+045c U+040c Control_g
+keycode 41 = grave asciitilde apostrophe quotedbl nul
+
+keycode 42 = Shift
+alt keycode 42 = AltGr_Lock
+altgr alt keycode 42 = AltGr_Lock
+
+keycode 43 = backslash bar U+0436 U+0416 Control_backslash
+keycode 44 = +z +Z U+0437 U+0417 Control_z Control_z Control_z Control_z
+keycode 45 = +x +X U+045f U+040f Control_x Control_x Control_x Control_x
+keycode 46 = +c +C U+0446 U+0426 Control_c Control_c Control_c Control_c
+keycode 47 = +v +V U+0432 U+0412 Control_v Control_v Control_v Control_v
+keycode 48 = +b +B U+0431 U+0411 Control_b Control_b Control_b Control_b
+keycode 49 = +n +N U+043d U+041d Control_n Control_n Control_n Control_n
+keycode 50 = +m +M U+043c U+041c Control_m Control_m Control_m Control_m
+keycode 51 = comma less comma semicolon
+keycode 52 = period greater period colon
+keycode 53 = slash question slash question Delete Delete
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space
+control keycode 57 = nul
+keycode 58 = Caps_Lock
+
+keycode 86 = less greater bar
+
+altgr control alt keycode 111 = Boot
diff --git a/keymaps/i386/qwerty/nl.kmap b/keymaps/i386/qwerty/nl.kmap
new file mode 100644
index 0000000..e2e32e8
--- /dev/null
+++ b/keymaps/i386/qwerty/nl.kmap
@@ -0,0 +1,70 @@
+# NL Keyboard Mapping version 1.0.0.0
+#
+# Date: 19-12-2004 (Frans Pop <aragorn@tiscali.nl>)
+# Revised, based on a Dell keyboard with Dutch layout
+#
+# Decided to define the tilde key as a normal key (asciitilde) because of
+# it's role in Linux and to put dead_tilde under Shift-AltGr.
+# All other accents are defined as dead keys.
+# I set the keycode 13 to 'degree', although 'masculine' could be intended.
+# The character to use for AltGr-41 was unclear. On the Dell keyboard it
+# looks like a 'macron', but that's unused in Dutch. In the end I decided on
+# 'notsign' as I remember having seen that on other Dutch keyboards and
+# was able to find on two examples of Dutch keyboards on the web.
+#
+charset "iso-8859-1"
+keymaps 0-6,8-9,12
+alt_is_meta
+include "qwerty-layout"
+include "linux-with-alt-and-altgr"
+strings as usual
+compose as usual for "iso-8859-1"
+include "euro"
+
+keycode 1 = Escape
+keycode 2 = one exclam onesuperior
+keycode 3 = two quotedbl twosuperior
+keycode 4 = three numbersign threesuperior
+ control keycode 4 = Escape
+keycode 5 = four dollar onequarter
+keycode 6 = five percent onehalf
+keycode 7 = six ampersand threequarters
+keycode 8 = seven underscore sterling
+ control keycode 8 = Control_underscore
+keycode 9 = eight parenleft braceleft
+ control keycode 9 = Delete
+keycode 10 = nine parenright braceright
+keycode 11 = zero apostrophe nul
+keycode 12 = slash question backslash
+ control keycode 12 = Control_backslash
+keycode 13 = degree asciitilde dead_cedilla dead_tilde
+keycode 14 = Delete
+keycode 15 = Tab
+altgr keycode 19 = paragraph
+keycode 26 = dead_diaeresis dead_circumflex
+ control keycode 26 = Control_asciicircum
+keycode 27 = asterisk bar
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+altgr keycode 31 = ssharp
+keycode 39 = plus plusminus
+keycode 40 = dead_acute dead_grave
+keycode 41 = at section notsign
+keycode 42 = Shift
+keycode 43 = less greater
+altgr keycode 44 = guillemotleft
+altgr keycode 45 = guillemotright
+altgr keycode 50 = mu
+keycode 51 = comma semicolon
+keycode 52 = period colon periodcentered
+keycode 53 = minus equal
+ control keycode 53 = Delete
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+keycode 58 = Caps_Lock
+keycode 86 = bracketright bracketleft brokenbar
+ control keycode 86 = Control_bracketright
+keycode 97 = Control
diff --git a/keymaps/i386/qwerty/no-latin1.kmap b/keymaps/i386/qwerty/no-latin1.kmap
new file mode 100644
index 0000000..54b23a2
--- /dev/null
+++ b/keymaps/i386/qwerty/no-latin1.kmap
@@ -0,0 +1,192 @@
+# /usr/lib/kbd/keymaps/i386/qwerty/no-latin1.map
+#
+# Send comments to Kjetil T. Homme <kjetilho@ifi.uio.no>
+include "linux-with-alt-and-altgr"
+ plain keycode 83 = KP_Comma
+ plain keycode 111 = Delete # "Remove" originally, weird...
+strings as usual
+
+ keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+
+ keycode 2 = one exclam exclamdown onesuperior
+ alt keycode 2 = Meta_one
+
+ keycode 3 = two quotedbl at twosuperior
+control keycode 3 = nul
+ alt keycode 3 = Meta_two
+
+ keycode 4 = three numbersign sterling threesuperior
+control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+
+ keycode 5 = four dollar currency onequarter
+control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+
+ keycode 6 = five percent onehalf onehalf
+control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+
+ keycode 7 = six ampersand threequarters threequarters
+control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+
+ keycode 8 = seven slash braceleft division
+control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+
+ keycode 9 = eight parenleft bracketleft
+control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+
+ keycode 10 = nine parenright bracketright
+ alt keycode 10 = Meta_nine
+
+ keycode 11 = zero equal braceright
+ alt keycode 11 = Meta_zero
+
+ keycode 12 = plus question plusminus questiondown
+ alt keycode 12 = Meta_plus
+
+ keycode 13 = backslash grave dead_acute dead_grave
+control keycode 13 = Control_backslash
+ alt keycode 13 = Meta_backslash
+
+ keycode 14 = Delete
+control keycode 14 = Control_underscore # For Emacs' UNDO :-)
+ alt keycode 14 = Meta_Delete
+
+ keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+
+ keycode 16 = +q
+ keycode 17 = +w
+
+ keycode 18 = +e +E +eacute +Eacute
+control keycode 18 = Control_e
+ alt keycode 18 = Meta_e
+
+ keycode 19 = +r +R registered
+control keycode 19 = Control_r
+ alt keycode 19 = Meta_r
+
+ keycode 20 = +t +T +thorn +THORN
+control keycode 20 = Control_t
+ alt keycode 20 = Meta_t
+
+ keycode 21 = +y +Y ydiaeresis yen
+control keycode 21 = Control_y
+ alt keycode 21 = Meta_y
+
+ keycode 22 = +u +U +udiaeresis +Udiaeresis
+control keycode 22 = Control_u
+ alt keycode 22 = Meta_u
+
+ keycode 23 = +i +I +idiaeresis +Idiaeresis
+control keycode 23 = Tab
+ alt keycode 23 = Meta_i
+
+ keycode 24 = +o +O +ograve +Ograve
+control keycode 24 = Control_o
+ alt keycode 24 = Meta_o
+
+ keycode 25 = +p +P paragraph
+control keycode 25 = Control_p
+ alt keycode 25 = Meta_p
+
+ keycode 26 = +aring +Aring braceright bracketright
+control keycode 26 = Control_bracketright
+ alt keycode 26 = Meta_bracketright
+
+ keycode 27 = asciitilde asciicircum dead_diaeresis dead_tilde
+control keycode 27 = Control_asciicircum
+ alt keycode 27 = Meta_asciicircum
+
+ keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+
+ keycode 29 = Control
+
+ keycode 30 = +a +A +aacute +Aacute
+control keycode 30 = Control_a
+ alt keycode 30 = Meta_a
+
+ keycode 31 = +s +S ssharp
+control keycode 31 = Control_s
+
+ keycode 32 = +d +D +eth +ETH
+control keycode 32 = Control_d
+ alt keycode 32 = Meta_d
+
+ keycode 33 = +f +F ordfeminine ordfeminine
+control keycode 33 = Control_f
+ alt keycode 33 = Meta_f
+
+ keycode 34 = +g
+ keycode 35 = +h
+ keycode 36 = +j
+ keycode 37 = +k
+ keycode 38 = +l
+
+ keycode 39 = +oslash +Ooblique bar backslash
+control keycode 39 = Control_backslash
+ alt keycode 39 = Meta_backslash
+
+ keycode 40 = +ae +AE braceleft bracketleft
+control keycode 40 = Escape
+ alt keycode 40 = Meta_bracketleft
+
+ keycode 41 = bar section brokenbar paragraph
+control keycode 41 = Control_backslash
+ alt keycode 41 = Meta_bar
+
+ keycode 42 = Shift
+
+ keycode 43 = apostrophe asterisk dead_circumflex multiply
+ alt keycode 43 = Meta_apostrophe
+
+ keycode 44 = +z
+
+ keycode 45 = +x +X multiply
+control keycode 45 = Control_x
+ alt keycode 45 = Meta_x
+
+ keycode 46 = +c +C ccedilla copyright
+control keycode 46 = Control_c
+ alt keycode 46 = Meta_c
+
+ keycode 47 = +v
+ keycode 48 = +b
+
+ keycode 49 = +n +N +ntilde +Ntilde
+control keycode 49 = Control_n
+ alt keycode 49 = Meta_n
+
+ keycode 50 = +m +M mu masculine
+control keycode 50 = Control_m
+ alt keycode 50 = Meta_m
+
+ keycode 51 = comma semicolon cedilla guillemotleft
+ alt keycode 51 = Meta_comma
+
+ keycode 52 = period colon periodcentered guillemotright
+ alt keycode 52 = Meta_period
+
+ keycode 53 = minus underscore hyphen
+control keycode 53 = Control_underscore
+ alt keycode 53 = Meta_minus
+
+ keycode 54 = Shift
+ keycode 56 = Alt
+
+ keycode 57 = space space nobreakspace nobreakspace
+control keycode 57 = nul
+ alt keycode 57 = Meta_space
+
+ keycode 58 = Caps_Lock
+
+ keycode 86 = less greater guillemotleft guillemotright
+ alt keycode 86 = Meta_less
+
+ keycode 97 = Control
diff --git a/keymaps/i386/qwerty/no-standard.kmap b/keymaps/i386/qwerty/no-standard.kmap
new file mode 100644
index 0000000..7dc5120
--- /dev/null
+++ b/keymaps/i386/qwerty/no-standard.kmap
@@ -0,0 +1,223 @@
+# /usr/lib/kbd/keymaps/i386/qwerty/no-standard.kmap
+#
+# More standard- (read: keyboard-)conforming layout for Norwegian. Most
+# notably, $ on altgr-4 instead of shift-4, dead keys for ^ ~ ´ `, etc.
+# Though still containing alot of extras (even added some), everything
+# now works as you would expect (that is, as they do in Windows, etc.)
+# --Stian Sletner <stian@sletner.com>
+#
+# Based on no-latin1 by Kjetil T. Homme <kjetilho@ifi.uio.no>
+
+include "linux-with-alt-and-altgr"
+ plain keycode 83 = KP_Comma
+ plain keycode 111 = Remove
+strings as usual
+compose as usual for "iso-8859-1"
+
+ keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+
+ keycode 2 = one exclam exclamdown onesuperior
+ keycode 3 = two quotedbl at twosuperior
+ keycode 4 = three numbersign sterling threesuperior
+control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ keycode 5 = four currency dollar onequarter
+ keycode 6 = five percent onehalf onehalf
+ keycode 7 = six ampersand threequarters threequarters
+ keycode 8 = seven slash braceleft division
+ keycode 9 = eight parenleft bracketleft guillemotleft
+ keycode 10 = nine parenright bracketright guillemotright
+ keycode 11 = zero equal braceright degree
+ keycode 12 = plus question plusminus questiondown
+
+ keycode 13 = backslash dead_grave 0x0db4 notsign
+
+ keycode 14 = Delete
+control keycode 14 = Control_underscore # For Emacs' UNDO :-)
+ alt keycode 14 = Meta_Delete
+
+ keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+
+ keycode 16 = +q +Q braceleft bracketleft
+ keycode 17 = +w +W braceright bracketright
+
+ keycode 18 = +e +E +eacute +Eacute
+control keycode 18 = Control_e
+ alt keycode 18 = Meta_e
+
+ keycode 19 = +r +R registered copyright
+control keycode 19 = Control_r
+ alt keycode 19 = Meta_r
+
+ keycode 20 = +t +T +thorn +THORN
+
+ keycode 21 = +y +Y ydiaeresis yen
+control keycode 21 = Control_y
+ alt keycode 21 = Meta_y
+
+ keycode 22 = +u +U +udiaeresis +Udiaeresis
+control keycode 22 = Control_u
+ alt keycode 22 = Meta_u
+
+ keycode 23 = +i +I +idiaeresis +Idiaeresis
+control keycode 23 = Tab
+ alt keycode 23 = Meta_i
+
+ keycode 24 = +o +O +ograve +Ograve
+control keycode 24 = Control_o
+ alt keycode 24 = Meta_o
+
+ keycode 25 = +p +P paragraph
+control keycode 25 = Control_p
+ alt keycode 25 = Meta_p
+
+ keycode 26 = +aring +Aring braceright bracketright
+control keycode 26 = Control_bracketright
+ alt keycode 26 = Meta_bracketright
+
+ keycode 27 = 0x0da8 dead_circumflex dead_tilde
+control keycode 27 = Control_asciicircum
+ alt keycode 27 = Meta_asciicircum
+
+ keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+
+ keycode 29 = Control
+
+ keycode 30 = +a +A +aacute +Aacute
+control keycode 30 = Control_a
+ alt keycode 30 = Meta_a
+
+ keycode 31 = +s +S ssharp
+control keycode 31 = Control_s
+
+ keycode 32 = +d +D +eth +ETH
+control keycode 32 = Control_d
+ alt keycode 32 = Meta_d
+
+ keycode 33 = +f +F ordfeminine ordfeminine
+control keycode 33 = Control_f
+ alt keycode 33 = Meta_f
+
+ keycode 34 = +g
+ keycode 35 = +h
+ keycode 36 = +j
+ keycode 37 = +k
+ keycode 38 = +l
+
+ keycode 39 = +oslash +Ooblique bar backslash
+control keycode 39 = Control_backslash
+ alt keycode 39 = Meta_backslash
+
+ keycode 40 = +ae +AE braceleft bracketleft
+control keycode 40 = Escape
+ alt keycode 40 = Meta_bracketleft
+
+ keycode 41 = bar section brokenbar paragraph
+control keycode 41 = Control_backslash
+ alt keycode 41 = Meta_bar
+
+ keycode 42 = Shift
+
+ keycode 43 = apostrophe asterisk dead_circumflex multiply
+ alt keycode 43 = Meta_apostrophe
+
+ keycode 44 = +z
+
+ keycode 45 = +x +X multiply
+control keycode 45 = Control_x
+ alt keycode 45 = Meta_x
+
+ keycode 46 = +c +C ccedilla Ccedilla
+control keycode 46 = Control_c
+ alt keycode 46 = Meta_c
+
+ keycode 47 = +v
+ keycode 48 = +b
+
+ keycode 49 = +n +N +ntilde +Ntilde
+control keycode 49 = Control_n
+ alt keycode 49 = Meta_n
+
+ keycode 50 = +m +M mu masculine
+control keycode 50 = Control_m
+ alt keycode 50 = Meta_m
+
+ keycode 51 = comma semicolon 0x0db8 guillemotleft
+ alt keycode 51 = Meta_comma
+
+ keycode 52 = period colon periodcentered guillemotright
+ alt keycode 52 = Meta_period
+
+ keycode 53 = minus underscore hyphen macron
+control keycode 53 = Control_underscore
+ alt keycode 53 = Meta_minus
+
+ keycode 54 = Shift
+ keycode 56 = Alt
+
+ keycode 57 = space space nobreakspace nobreakspace
+control keycode 57 = nul
+ alt keycode 57 = Meta_space
+
+ keycode 58 = Caps_Lock
+
+ keycode 86 = less greater guillemotleft guillemotright
+ alt keycode 86 = Meta_less
+
+ keycode 97 = Control
+
+ keycode 125 = braceleft
+
+ keycode 126 = braceright
+
+# I added these for corrected dead keys
+
+compose '´' 'A' to 'Á'
+compose '´' 'a' to 'á'
+compose '¨' 'A' to 'Ä'
+compose '¨' 'a' to 'ä'
+compose '¸' 'C' to 'Ç'
+compose '¸' 'c' to 'ç'
+compose '´' 'E' to 'É'
+compose '´' 'e' to 'é'
+compose '¨' 'E' to 'Ë'
+compose '¨' 'e' to 'ë'
+compose '´' 'I' to 'Í'
+compose '´' 'i' to 'í'
+compose '¨' 'I' to 'Ï'
+compose '¨' 'i' to 'ï'
+compose '´' 'O' to 'Ó'
+compose '´' 'o' to 'ó'
+compose '¨' 'O' to 'Ö'
+compose '¨' 'o' to 'ö'
+compose '´' 'U' to 'Ú'
+compose '´' 'u' to 'ú'
+compose '¨' 'U' to 'Ü'
+compose '¨' 'u' to 'ü'
+compose '´' 'Y' to 'Ý'
+compose '´' 'y' to 'ý'
+compose '¨' 'y' to 'ÿ'
+
+# And some new inventions
+
+compose '=' 'y' to '¥'
+compose '=' 'Y' to '¥'
+compose '|' 's' to '$'
+compose '|' 'S' to '$'
+compose '|' 'c' to '¢'
+compose '|' 'C' to '¢'
+compose '1' '4' to '¼'
+compose '1' '2' to '½'
+compose '3' '4' to '¾'
+compose 'o' 'r' to '®'
+compose 'o' 'c' to '©'
+compose '-' 'o' to 'º'
+compose '-' 'a' to 'ª'
+compose 'o' 'e' to 'ø'
+compose 'O' 'e' to 'Ø'
+compose 'O' 'E' to 'Ø'
+compose ':' '-' to '÷'
+compose '-' ':' to '÷'
diff --git a/keymaps/i386/qwerty/no.kmap b/keymaps/i386/qwerty/no.kmap
new file mode 100644
index 0000000..b3a9a10
--- /dev/null
+++ b/keymaps/i386/qwerty/no.kmap
@@ -0,0 +1,81 @@
+keymaps 0-2,4,6,8,12
+include "qwerty-layout"
+include "linux-with-alt-and-altgr"
+ plain keycode 83 = KP_Comma
+strings as usual
+
+keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+keycode 3 = two quotedbl at
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+keycode 5 = four dollar dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 7 = six ampersand
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = seven slash braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight parenleft bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenright bracketright
+ alt keycode 10 = Meta_nine
+keycode 11 = zero equal braceright
+ alt keycode 11 = Meta_zero
+keycode 12 = plus question
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = backslash grave apostrophe
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+keycode 26 = braceright bracketright
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = asciitilde asciicircum asciitilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = bar backslash
+ alt keycode 39 = Meta_semicolon
+keycode 40 = braceleft bracketleft
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = bar
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = apostrophe asterisk
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 51 = comma semicolon
+ alt keycode 51 = Meta_comma
+keycode 52 = period colon
+ alt keycode 52 = Meta_period
+keycode 53 = minus underscore
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater
+ alt keycode 86 = Meta_less
+keycode 97 = Control
diff --git a/keymaps/i386/qwerty/pc110.kmap b/keymaps/i386/qwerty/pc110.kmap
new file mode 100644
index 0000000..1625eca
--- /dev/null
+++ b/keymaps/i386/qwerty/pc110.kmap
@@ -0,0 +1,18 @@
+# pc110.map
+# Japanese/English keyboard on IBM PC110 Palm Top
+# The strange japanese key next to '1' is mapped to ESC
+# Those on either side of the space bar are mapped to SPACE
+# The one next to the right ALT key doesn't register!
+# The yen symbol is mapped to backslash (for no good reason)
+# 4 Apr 1997 robin@acm.org
+
+include "jp106.kmap"
+
+keycode 13 = circumflex underscore
+ control keycode 13 = Control_underscore
+ control shift keycode 13 = Control_underscore
+ alt keycode 13 = Meta_asciitilde
+
+# Are these keyboards really different?
+# What scancode do these extra keys produce?
+# Info is welcome - aeb@cwi.nl
diff --git a/keymaps/i386/qwerty/pl.kmap b/keymaps/i386/qwerty/pl.kmap
new file mode 100644
index 0000000..f2bef46
--- /dev/null
+++ b/keymaps/i386/qwerty/pl.kmap
@@ -0,0 +1,150 @@
+# From: Rafal Maszkowski <rzm@dain.oso.chalmers.se>
+# Date: Mon, 7 Feb 1994 12:00:39 +0100 (MET)
+#
+# Polish "programmers' keyboard" + paragraph sign AltGr-4, v. 0.92
+# Rafal Maszkowski <rzm@oso.chalmers.se>, <rzm@mat.uni.torun.pl>, 94.02.16
+#
+# Added keymaps line - aeb
+
+charset "iso-8859-2"
+keymaps 0-4,6,8,9,12
+include "linux-with-alt-and-altgr"
+strings as usual
+
+keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+keycode 3 = two at at
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+keycode 5 = four dollar section
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = seven ampersand braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight asterisk bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenleft bracketright
+ alt keycode 10 = Meta_nine
+keycode 11 = zero parenright braceright
+ alt keycode 11 = Meta_zero
+keycode 12 = minus underscore backslash
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = equal plus
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+keycode 16 = q
+keycode 17 = w
+keycode 18 = e
+ Alt keycode 18 = +eogonek
+ AltGr keycode 18 = +eogonek
+ Alt Shift keycode 18 = +Eogonek
+ AltGr Shift keycode 18 = +Eogonek
+keycode 19 = r
+keycode 20 = t
+keycode 21 = y
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+ Alt keycode 24 = +oacute
+ AltGr keycode 24 = +oacute
+ Alt Shift keycode 24 = +Oacute
+ AltGr Shift keycode 24 = +Oacute
+keycode 25 = p
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = bracketright braceright asciitilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+ Alt keycode 30 = +aogonek
+ AltGr keycode 30 = +aogonek
+ Alt Shift keycode 30 = +Aogonek
+ AltGr Shift keycode 30 = +Aogonek
+keycode 31 = s
+ Alt keycode 31 = +sacute
+ AltGr keycode 31 = +sacute
+ Alt Shift keycode 31 = +Sacute
+ AltGr Shift keycode 31 = +Sacute
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+ Alt keycode 38 = +lstroke
+ AltGr keycode 38 = +lstroke
+ Alt Shift keycode 38 = +Lstroke
+ AltGr Shift keycode 38 = +Lstroke
+keycode 39 = semicolon colon
+ alt keycode 39 = Meta_semicolon
+keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = grave asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 44 = z
+ Alt keycode 44 = +zabovedot
+ AltGr keycode 44 = +zabovedot
+ Alt Shift keycode 44 = +Zabovedot
+ AltGr Shift keycode 44 = +Zabovedot
+keycode 45 = x
+ Alt keycode 45 = +zacute
+ AltGr keycode 45 = +zacute
+ Alt Shift keycode 45 = +Zacute
+ AltGr Shift keycode 45 = +Zacute
+keycode 46 = c
+ Alt keycode 46 = +cacute
+ AltGr keycode 46 = +cacute
+ Alt Shift keycode 46 = +Cacute
+ AltGr Shift keycode 46 = +Cacute
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+ Alt keycode 49 = +nacute
+ AltGr keycode 49 = +nacute
+ Alt Shift keycode 49 = +Nacute
+ AltGr Shift keycode 49 = +Nacute
+keycode 50 = m
+keycode 51 = comma less
+ alt keycode 51 = Meta_comma
+keycode 52 = period greater
+ alt keycode 52 = Meta_period
+keycode 53 = slash question
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 97 = Control
diff --git a/keymaps/i386/qwerty/pl1.kmap b/keymaps/i386/qwerty/pl1.kmap
new file mode 100644
index 0000000..c6449d5
--- /dev/null
+++ b/keymaps/i386/qwerty/pl1.kmap
@@ -0,0 +1,132 @@
+# From: Rafal Maszkowski <rzm@dain.oso.chalmers.se>
+# Date: Mon, 7 Feb 1994 12:00:39 +0100 (MET)
+#
+# Polish "programmers' keyboard" + paragraph sign AltGr-4, v. 0.92
+# Rafal Maszkowski <rzm@oso.chalmers.se>, <rzm@mat.uni.torun.pl>, 94.02.16
+#
+# Added keymaps line - aeb
+
+charset "iso-8859-2"
+keymaps 0-4,6,8,9,12
+include "linux-with-alt-and-altgr"
+strings as usual
+
+keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+keycode 3 = two at at
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+keycode 5 = four dollar section
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = seven ampersand braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight asterisk bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenleft bracketright
+ alt keycode 10 = Meta_nine
+keycode 11 = zero parenright braceright
+ alt keycode 11 = Meta_zero
+keycode 12 = minus underscore backslash
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = equal plus
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+keycode 16 = q
+keycode 17 = w
+keycode 18 = e
+ AltGr keycode 18 = +eogonek
+ AltGr Shift keycode 18 = +Eogonek
+keycode 19 = r
+keycode 20 = t
+keycode 21 = y
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+ AltGr keycode 24 = +oacute
+ AltGr Shift keycode 24 = +Oacute
+keycode 25 = p
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = bracketright braceright asciitilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+ AltGr keycode 30 = +aogonek
+ AltGr Shift keycode 30 = +Aogonek
+keycode 31 = s
+ AltGr keycode 31 = +sacute
+ AltGr Shift keycode 31 = +Sacute
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+ AltGr keycode 38 = +lstroke
+ AltGr Shift keycode 38 = +Lstroke
+keycode 39 = semicolon colon
+ alt keycode 39 = Meta_semicolon
+keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = grave asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 44 = z
+ AltGr keycode 44 = +zabovedot
+ AltGr Shift keycode 44 = +Zabovedot
+keycode 45 = x
+ AltGr keycode 45 = +zacute
+ AltGr Shift keycode 45 = +Zacute
+keycode 46 = c
+ AltGr keycode 46 = +cacute
+ AltGr Shift keycode 46 = +Cacute
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+ AltGr keycode 49 = +nacute
+ AltGr Shift keycode 49 = +Nacute
+keycode 50 = m
+keycode 51 = comma less
+ alt keycode 51 = Meta_comma
+keycode 52 = period greater
+ alt keycode 52 = Meta_period
+keycode 53 = slash question
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 97 = Control
diff --git a/keymaps/i386/qwerty/pt-latin1.kmap b/keymaps/i386/qwerty/pt-latin1.kmap
new file mode 100644
index 0000000..9a92e42
--- /dev/null
+++ b/keymaps/i386/qwerty/pt-latin1.kmap
@@ -0,0 +1,74 @@
+# Derived from pt.map by lacyp@unicorn.it.wsu.edu
+# This is good for my `Tatung' keyboard - aeb, 970222.
+#
+# With fixes for keycode 43 from pmmm@camoes.rnl.ist.utl.pt, 980626.
+# With fixes for keycodes 27 and 43 from Francisco Miguel Pedroso Honório Colaço
+# (fcolaco@wolf.fis.uc.pt).
+#
+charset "iso-8859-1"
+keymaps 0-2,4,6,8,12
+alt_is_meta
+include "qwerty-layout"
+include "linux-with-alt-and-altgr"
+include "euro"
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 1 = Escape
+keycode 2 = one exclam
+keycode 3 = two quotedbl at
+ control keycode 3 = nul
+keycode 4 = three numbersign sterling
+ control keycode 4 = Escape
+keycode 5 = four dollar section
+ control keycode 5 = Control_backslash
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+keycode 7 = six ampersand
+ control keycode 7 = Control_asciicircum
+keycode 8 = seven slash braceleft
+ control keycode 8 = Control_underscore
+keycode 9 = eight parenleft bracketleft
+ control keycode 9 = Delete
+keycode 10 = nine parenright bracketright
+keycode 11 = zero equal braceright
+keycode 12 = apostrophe question backslash
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = guillemotleft guillemotright
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete
+keycode 15 = Tab
+keycode 26 = plus asterisk dead_diaeresis
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = dead_acute dead_grave apostrophe grave
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = ccedilla Ccedilla
+ alt keycode 39 = Meta_semicolon
+keycode 40 = masculine ordfeminine
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = backslash bar
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = dead_tilde dead_circumflex asciitilde asciicircum
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 51 = comma semicolon
+keycode 52 = period colon
+keycode 53 = minus underscore
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+keycode 97 = Control
diff --git a/keymaps/i386/qwerty/pt-old.kmap b/keymaps/i386/qwerty/pt-old.kmap
new file mode 100644
index 0000000..9e8bcab
--- /dev/null
+++ b/keymaps/i386/qwerty/pt-old.kmap
@@ -0,0 +1,70 @@
+# From lacyp@unicorn.it.wsu.edu Tue Jun 18 16:58:05 1996
+# (Taken from Mini-Linux distribution.)
+#
+# Fixed somewhat, aeb
+#
+keymaps 0-2,4,6,8,12
+alt_is_meta
+include "qwerty-layout"
+include "linux-with-alt-and-altgr"
+include "euro"
+strings as usual
+
+keycode 1 = Escape
+keycode 2 = one exclam
+keycode 3 = two quotedbl at
+ control keycode 3 = nul
+keycode 4 = three numbersign sterling
+ control keycode 4 = Escape
+keycode 5 = four dollar section
+ control keycode 5 = Control_backslash
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+keycode 7 = six ampersand
+ control keycode 7 = Control_asciicircum
+keycode 8 = seven slash braceleft
+ control keycode 8 = Control_underscore
+keycode 9 = eight parenleft bracketleft
+ control keycode 9 = Delete
+keycode 10 = nine parenright bracketright
+keycode 11 = zero equal braceright
+keycode 12 = apostrophe question backslash
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = braceleft braceright
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete
+keycode 15 = Tab
+keycode 26 = plus asterisk
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = apostrophe grave
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = bracketleft bracketright
+ alt keycode 39 = Meta_semicolon
+keycode 40 = slash at
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = backslash bar
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = asciitilde asciicircum
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 51 = comma semicolon
+keycode 52 = period colon
+keycode 53 = minus underscore
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+keycode 97 = Control
diff --git a/keymaps/i386/qwerty/ro-academic.kmap b/keymaps/i386/qwerty/ro-academic.kmap
new file mode 100644
index 0000000..b9cdd55
--- /dev/null
+++ b/keymaps/i386/qwerty/ro-academic.kmap
@@ -0,0 +1,107 @@
+keymaps 0-4,6,8,10,12,14
+keycode 1 = Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 2 = U+0031 U+0021 dead_tilde dead_tilde VoidSymbol VoidSymbol Meta_one Meta_one VoidSymbol VoidSymbol
+keycode 3 = U+0032 U+0040 dead_caron dead_caron nul nul Meta_two Meta_two Meta_nul Meta_nul
+keycode 4 = U+0033 U+0023 dead_circumflex dead_circumflex Escape Escape Meta_three Meta_three Meta_Escape Meta_Escape
+keycode 5 = U+0034 U+0024 dead_breve dead_breve Control_backslash Control_backslash Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash
+keycode 6 = U+0035 U+0025 U+002a U+002a Control_bracketright Control_bracketright Meta_five Meta_asterisk Meta_Control_bracketright Meta_Control_bracketright
+keycode 7 = U+0036 U+005e dead_ogonek dead_ogonek Control_asciicircum Control_asciicircum Meta_six Meta_six Meta_Control_asciicircum Meta_Control_asciicircum
+keycode 8 = U+0037 U+0026 dead_grave dead_grave Control_underscore Control_underscore Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore
+keycode 9 = U+0038 U+002a U+002e U+002e Delete Compose Meta_eight Meta_period Meta_Delete Compose
+keycode 10 = U+0039 U+0028 dead_acute dead_acute VoidSymbol VoidSymbol Meta_nine Meta_nine VoidSymbol VoidSymbol
+keycode 11 = U+0030 U+0029 dead_doubleacute dead_doubleacute VoidSymbol VoidSymbol Meta_zero Meta_zero VoidSymbol VoidSymbol
+keycode 12 = U+002d U+005f dead_diaeresis U+2013 Control_underscore Control_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore
+keycode 13 = U+003d U+002b dead_cedilla U+00b1 VoidSymbol VoidSymbol Meta_equal Meta_equal VoidSymbol VoidSymbol
+keycode 14 = Delete Delete Delete Delete BackSpace BackSpace Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace
+keycode 15 = Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+keycode 16 = +U+0071 +U+0051 +U+0071 +U+0071 Control_q Control_q Meta_q Meta_q Meta_Control_q Meta_Control_q
+keycode 17 = +U+0077 +U+0057 +U+0077 +U+0077 Control_w Control_w Meta_w Meta_w Meta_Control_w Meta_Control_w
+keycode 18 = +U+0065 +U+0045 U+20ac U+20ac Control_e Control_e Meta_e Meta_e Meta_Control_e Meta_Control_e
+keycode 19 = +U+0072 +U+0052 +U+0072 +U+0072 Control_r Control_r Meta_r Meta_r Meta_Control_r Meta_Control_r
+keycode 20 = +U+0074 +U+0054 +U+0074 +U+0074 Control_t Control_t Meta_t Meta_t Meta_Control_t Meta_Control_t
+keycode 21 = +U+0079 +U+0059 +U+0079 +U+0079 Control_y Control_y Meta_y Meta_y Meta_Control_y Meta_Control_y
+keycode 22 = +U+0075 +U+0055 +U+0075 +U+0075 Control_u Control_u Meta_u Meta_u Meta_Control_u Meta_Control_u
+keycode 23 = +U+0069 +U+0049 +U+0069 +U+0069 Tab Tab Meta_i Meta_i Meta_Tab Meta_Tab
+keycode 24 = +U+006f +U+004f +U+006f +U+006f Control_o Control_o Meta_o Meta_o Meta_Control_o Meta_Control_o
+keycode 25 = +U+0070 +U+0050 U+00a7 U+00a7 Control_p Control_p Meta_p Meta_p Meta_Control_p Meta_Control_p
+keycode 26 = +U+0103 +U+0102 U+005b U+007b Escape Escape Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape
+keycode 27 = +U+00ee +U+00ce U+005d U+007d Control_bracketright Control_bracketright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright
+keycode 28 = Return Return Return Return Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m
+keycode 29 = Control Control Control Control Control Control Control Control Control Control
+keycode 30 = +U+0061 +U+0041 +U+0061 +U+0061 Control_a Control_a Meta_a Meta_a Meta_Control_a Meta_Control_a
+keycode 31 = +U+0073 +U+0053 +U+00df +U+00df Control_s Control_s Meta_s Meta_s Meta_Control_s Meta_Control_s
+keycode 32 = +U+0064 +U+0044 +U+0111 +U+0110 Control_d Control_d Meta_d Meta_d Meta_Control_d Meta_Control_d
+keycode 33 = +U+0066 +U+0046 +U+0066 +U+0066 Control_f Control_f Meta_f Meta_f Meta_Control_f Meta_Control_f
+keycode 34 = +U+0067 +U+0047 +U+0067 +U+0067 Control_g Control_g Meta_g Meta_g Meta_Control_g Meta_Control_g
+keycode 35 = +U+0068 +U+0048 +U+0068 +U+0068 BackSpace BackSpace Meta_h Meta_h Meta_BackSpace Meta_BackSpace
+keycode 36 = +U+006a +U+004a +U+006a +U+006a Linefeed Linefeed Meta_j Meta_j Meta_Linefeed Meta_Linefeed
+keycode 37 = +U+006b +U+004b +U+006b +U+006b Control_k Control_k Meta_k Meta_k Meta_Control_k Meta_Control_k
+keycode 38 = +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Meta_l Meta_l Meta_Control_l Meta_Control_l
+keycode 39 = +U+0219 +U+0218 U+003b U+003a VoidSymbol VoidSymbol Meta_semicolon Meta_semicolon VoidSymbol VoidSymbol
+keycode 40 = +U+021b +U+021a U+0027 U+0022 Control_g Control_g Meta_apostrophe Meta_apostrophe Meta_Control_g Meta_Control_g
+keycode 41 = U+201e U+201d U+0060 U+007e nul nul Meta_grave Meta_grave Meta_nul Meta_nul
+keycode 42 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift
+keycode 43 = +U+00e2 +U+00c2 U+005c U+007c Control_backslash Control_backslash Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash
+keycode 44 = +U+007a +U+005a +U+007a +U+007a Control_z Control_z Meta_z Meta_z Meta_Control_z Meta_Control_z
+keycode 45 = +U+0078 +U+0058 +U+0078 +U+0078 Control_x Control_x Meta_x Meta_x Meta_Control_x Meta_Control_x
+keycode 46 = +U+0063 +U+0043 U+00a9 U+00a9 Control_c Control_c Meta_c Meta_c Meta_Control_c Meta_Control_c
+keycode 47 = +U+0076 +U+0056 +U+0076 +U+0076 Control_v Control_v Meta_v Meta_v Meta_Control_v Meta_Control_v
+keycode 48 = +U+0062 +U+0042 +U+0062 +U+0062 Control_b Control_b Meta_b Meta_b Meta_Control_b Meta_Control_b
+keycode 49 = +U+006e +U+004e +U+006e +U+006e Control_n Control_n Meta_n Meta_n Meta_Control_n Meta_Control_n
+keycode 50 = +U+006d +U+004d +U+006d +U+006d Control_m Control_m Meta_m Meta_m Meta_Control_m Meta_Control_m
+keycode 51 = U+002c U+003b U+003c U+00ab VoidSymbol VoidSymbol Meta_comma Meta_less VoidSymbol VoidSymbol
+keycode 52 = U+002e U+003a U+003e U+00bb Compose Compose Meta_period Meta_greater Compose Compose
+keycode 53 = U+002f U+003f U+002f U+002f Delete Delete Meta_slash Meta_slash Meta_Delete Meta_Delete
+keycode 54 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift
+keycode 55 = KP_Multiply KP_Multiply U+00a7 U+00a7 KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply
+keycode 56 = Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt
+keycode 57 = U+0020 U+0020 U+0020 U+0020 nul nul Meta_space Meta_space Meta_nul Meta_nul
+keycode 58 = Shift_Lock Shift_Lock Shift_Lock Shift_Lock Shift_Lock Shift_Lock Shift_Lock Shift_Lock Shift_Lock Shift_Lock
+keycode 59 = F1 F11 F41 F51 F21 F61 Console_1 VoidSymbol Console_1 VoidSymbol
+keycode 60 = F2 F12 F42 F52 F22 F62 Console_2 VoidSymbol Console_2 VoidSymbol
+keycode 61 = F3 F13 F43 F53 F23 F63 Console_3 VoidSymbol Console_3 VoidSymbol
+keycode 62 = F4 F14 F44 F54 F24 F64 Console_4 VoidSymbol Console_4 VoidSymbol
+keycode 63 = F5 F15 F45 F55 F25 F65 Console_5 VoidSymbol Console_5 VoidSymbol
+keycode 64 = F6 F16 F46 F56 F26 F66 Console_6 VoidSymbol Console_6 VoidSymbol
+keycode 65 = F7 F17 F47 F57 F27 F67 Console_7 VoidSymbol Console_7 VoidSymbol
+keycode 66 = F8 F18 F48 F58 F28 F68 Console_8 VoidSymbol Console_8 VoidSymbol
+keycode 67 = F9 F19 F49 F59 F29 F69 Console_9 VoidSymbol Console_9 VoidSymbol
+keycode 68 = F10 F20 F50 F60 F30 F70 Console_10 VoidSymbol Console_10 VoidSymbol
+keycode 69 = Num_Lock VoidSymbol Hex_A Num_Lock VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 70 = Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State VoidSymbol Scroll_Lock VoidSymbol VoidSymbol VoidSymbol
+keycode 71 = KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 Ascii_7 KP_7 KP_7 KP_7
+keycode 72 = KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 Ascii_8 KP_8 KP_8 KP_8
+keycode 73 = KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 Ascii_9 KP_9 KP_9 KP_9
+keycode 74 = KP_Subtract KP_Subtract U+003b U+003a KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract
+keycode 75 = KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 Ascii_4 KP_4 KP_4 KP_4
+keycode 76 = KP_5 KP_5 Hex_5 KP_5 KP_5 KP_5 Ascii_5 KP_5 KP_5 KP_5
+keycode 77 = KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 Ascii_6 KP_6 KP_6 KP_6
+keycode 78 = KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add
+keycode 79 = KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 Ascii_1 KP_1 KP_1 KP_1
+keycode 80 = KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 Ascii_2 KP_2 KP_2 KP_2
+keycode 81 = KP_3 KP_3 +U+0142 +U+0141 KP_3 KP_3 Ascii_3 KP_3 KP_3 KP_3
+keycode 82 = KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 Ascii_0 KP_0 KP_0 KP_0
+keycode 83 = KP_Comma KP_Comma U+003e U+00bb KP_Comma Boot KP_Comma KP_Comma Boot Boot
+keycode 86 = U+005c U+007c U+007c U+00a6 Control_backslash Control_backslash Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash
+keycode 87 = F11 F21 F51 F61 F31 F71 Console_11 VoidSymbol Console_11 VoidSymbol
+keycode 88 = F12 F22 F52 F62 F32 F72 Console_12 VoidSymbol Console_12 VoidSymbol
+keycode 102 = Home Home Home Home VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 103 = Up Up Up Up VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 104 = Prior Scroll_Backward Prior Prior VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 105 = Left Left Left Left VoidSymbol VoidSymbol Decr_Console VoidSymbol VoidSymbol VoidSymbol
+keycode 106 = Right Right Right Right VoidSymbol VoidSymbol Incr_Console VoidSymbol VoidSymbol VoidSymbol
+keycode 107 = End End End End VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 108 = Down Down Down Down VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 109 = Next Scroll_Forward Next Next VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 110 = Insert Insert Insert Insert VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 111 = Remove Remove Remove Remove VoidSymbol Boot VoidSymbol VoidSymbol Boot Boot
+keycode 96 = KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter
+keycode 97 = Control Control Control Control Control Control Control Control Control Control
+keycode 119 = Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause
+keycode 99 = Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash
+keycode 98 = KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide
+keycode 100 = AltGr Alt AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr
+keycode 125 = Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt
+keycode 126 = Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt
+keycode 127 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+strings as usual
diff --git a/keymaps/i386/qwerty/ro-comma.kmap b/keymaps/i386/qwerty/ro-comma.kmap
new file mode 100644
index 0000000..3710305
--- /dev/null
+++ b/keymaps/i386/qwerty/ro-comma.kmap
@@ -0,0 +1,108 @@
+charset "iso-8859-16"
+keymaps 0-4,6,8,10,12,14
+keycode 1 = Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 2 = U+0031 U+0021 dead_tilde dead_tilde VoidSymbol VoidSymbol Meta_one Meta_one VoidSymbol VoidSymbol
+keycode 3 = U+0032 U+0040 dead_caron dead_caron nul nul Meta_two Meta_two Meta_nul Meta_nul
+keycode 4 = U+0033 U+0023 dead_circumflex dead_circumflex Escape Escape Meta_three Meta_three Meta_Escape Meta_Escape
+keycode 5 = U+0034 U+0024 dead_breve dead_breve Control_backslash Control_backslash Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash
+keycode 6 = U+0035 U+0025 U+002a U+002a Control_bracketright Control_bracketright Meta_five Meta_asterisk Meta_Control_bracketright Meta_Control_bracketright
+keycode 7 = U+0036 U+005e dead_ogonek dead_ogonek Control_asciicircum Control_asciicircum Meta_six Meta_six Meta_Control_asciicircum Meta_Control_asciicircum
+keycode 8 = U+0037 U+0026 dead_grave dead_grave Control_underscore Control_underscore Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore
+keycode 9 = U+0038 U+002a U+002e U+002e Delete Compose Meta_eight Meta_period Meta_Delete Compose
+keycode 10 = U+0039 U+0028 dead_acute dead_acute VoidSymbol VoidSymbol Meta_nine Meta_nine VoidSymbol VoidSymbol
+keycode 11 = U+0030 U+0029 dead_doubleacute dead_doubleacute VoidSymbol VoidSymbol Meta_zero Meta_zero VoidSymbol VoidSymbol
+keycode 12 = U+002d U+005f dead_diaeresis U+2013 Control_underscore Control_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore
+keycode 13 = U+003d U+002b dead_cedilla U+00b1 VoidSymbol VoidSymbol Meta_equal Meta_equal VoidSymbol VoidSymbol
+keycode 14 = Delete Delete Delete Delete BackSpace BackSpace Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace
+keycode 15 = Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+keycode 16 = +U+0071 +U+0051 +U+00e2 +U+00c2 Control_q Control_q Meta_q Meta_q Meta_Control_q Meta_Control_q
+keycode 17 = +U+0077 +U+0057 +U+00df +U+00df Control_w Control_w Meta_w Meta_w Meta_Control_w Meta_Control_w
+keycode 18 = +U+0065 +U+0045 U+20ac U+20ac Control_e Control_e Meta_e Meta_e Meta_Control_e Meta_Control_e
+keycode 19 = +U+0072 +U+0052 +U+0072 +U+0072 Control_r Control_r Meta_r Meta_r Meta_Control_r Meta_Control_r
+keycode 20 = +U+0074 +U+0054 +U+021b +U+021a Control_t Control_t Meta_t Meta_t Meta_Control_t Meta_Control_t
+keycode 21 = +U+0079 +U+0059 +U+0079 +U+0079 Control_y Control_y Meta_y Meta_y Meta_Control_y Meta_Control_y
+keycode 22 = +U+0075 +U+0055 +U+0075 +U+0075 Control_u Control_u Meta_u Meta_u Meta_Control_u Meta_Control_u
+keycode 23 = +U+0069 +U+0049 +U+00ee +U+00ce Tab Tab Meta_i Meta_i Meta_Tab Meta_Tab
+keycode 24 = +U+006f +U+004f +U+006f +U+006f Control_o Control_o Meta_o Meta_o Meta_Control_o Meta_Control_o
+keycode 25 = +U+0070 +U+0050 U+00a7 U+00a7 Control_p Control_p Meta_p Meta_p Meta_Control_p Meta_Control_p
+keycode 26 = U+005b U+007b U+201e U+201e Escape Escape Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape
+keycode 27 = U+005d U+007d U+201d U+201d Control_bracketright Control_bracketright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright
+keycode 28 = Return Return Return Return Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m
+keycode 29 = Control Control Control Control Control Control Control Control Control Control
+keycode 30 = +U+0061 +U+0041 +U+0103 +U+0102 Control_a Control_a Meta_a Meta_a Meta_Control_a Meta_Control_a
+keycode 31 = +U+0073 +U+0053 +U+0219 +U+0218 Control_s Control_s Meta_s Meta_s Meta_Control_s Meta_Control_s
+keycode 32 = +U+0064 +U+0044 +U+0111 +U+0110 Control_d Control_d Meta_d Meta_d Meta_Control_d Meta_Control_d
+keycode 33 = +U+0066 +U+0046 +U+0066 +U+0066 Control_f Control_f Meta_f Meta_f Meta_Control_f Meta_Control_f
+keycode 34 = +U+0067 +U+0047 +U+0067 +U+0067 Control_g Control_g Meta_g Meta_g Meta_Control_g Meta_Control_g
+keycode 35 = +U+0068 +U+0048 +U+0068 +U+0068 BackSpace BackSpace Meta_h Meta_h Meta_BackSpace Meta_BackSpace
+keycode 36 = +U+006a +U+004a +U+006a +U+006a Linefeed Linefeed Meta_j Meta_j Meta_Linefeed Meta_Linefeed
+keycode 37 = +U+006b +U+004b +U+006b +U+006b Control_k Control_k Meta_k Meta_k Meta_Control_k Meta_Control_k
+keycode 38 = +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Meta_l Meta_l Meta_Control_l Meta_Control_l
+keycode 39 = U+003b U+003a U+003b U+003b VoidSymbol VoidSymbol Meta_semicolon Meta_semicolon VoidSymbol VoidSymbol
+keycode 40 = U+0027 U+0022 U+0027 U+0027 Control_g Control_g Meta_apostrophe Meta_apostrophe Meta_Control_g Meta_Control_g
+keycode 41 = U+0060 U+007e U+0060 U+0060 nul nul Meta_grave Meta_grave Meta_nul Meta_nul
+keycode 42 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift
+keycode 43 = U+005c U+007c U+005c U+005c Control_backslash Control_backslash Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash
+keycode 44 = +U+007a +U+005a +U+007a +U+007a Control_z Control_z Meta_z Meta_z Meta_Control_z Meta_Control_z
+keycode 45 = +U+0078 +U+0058 +U+0078 +U+0078 Control_x Control_x Meta_x Meta_x Meta_Control_x Meta_Control_x
+keycode 46 = +U+0063 +U+0043 U+00a9 U+00a9 Control_c Control_c Meta_c Meta_c Meta_Control_c Meta_Control_c
+keycode 47 = +U+0076 +U+0056 +U+0076 +U+0076 Control_v Control_v Meta_v Meta_v Meta_Control_v Meta_Control_v
+keycode 48 = +U+0062 +U+0042 +U+0062 +U+0062 Control_b Control_b Meta_b Meta_b Meta_Control_b Meta_Control_b
+keycode 49 = +U+006e +U+004e +U+006e +U+006e Control_n Control_n Meta_n Meta_n Meta_Control_n Meta_Control_n
+keycode 50 = +U+006d +U+004d +U+006d +U+006d Control_m Control_m Meta_m Meta_m Meta_Control_m Meta_Control_m
+keycode 51 = U+002c U+003c U+00ab U+00ab VoidSymbol VoidSymbol Meta_comma Meta_comma VoidSymbol VoidSymbol
+keycode 52 = U+002e U+003e U+00bb U+00bb Compose Compose Meta_period Meta_period Compose Compose
+keycode 53 = U+002f U+003f U+002f U+002f Delete Delete Meta_slash Meta_slash Meta_Delete Meta_Delete
+keycode 54 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift
+keycode 55 = KP_Multiply KP_Multiply U+00a7 U+00a7 KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply
+keycode 56 = Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt
+keycode 57 = U+0020 U+0020 U+0020 U+0020 nul nul Meta_space Meta_space Meta_nul Meta_nul
+keycode 58 = Shift_Lock Shift_Lock Shift_Lock Shift_Lock Shift_Lock Shift_Lock Shift_Lock Shift_Lock Shift_Lock Shift_Lock
+keycode 59 = F1 F11 F41 F51 F21 F61 Console_1 VoidSymbol Console_1 VoidSymbol
+keycode 60 = F2 F12 F42 F52 F22 F62 Console_2 VoidSymbol Console_2 VoidSymbol
+keycode 61 = F3 F13 F43 F53 F23 F63 Console_3 VoidSymbol Console_3 VoidSymbol
+keycode 62 = F4 F14 F44 F54 F24 F64 Console_4 VoidSymbol Console_4 VoidSymbol
+keycode 63 = F5 F15 F45 F55 F25 F65 Console_5 VoidSymbol Console_5 VoidSymbol
+keycode 64 = F6 F16 F46 F56 F26 F66 Console_6 VoidSymbol Console_6 VoidSymbol
+keycode 65 = F7 F17 F47 F57 F27 F67 Console_7 VoidSymbol Console_7 VoidSymbol
+keycode 66 = F8 F18 F48 F58 F28 F68 Console_8 VoidSymbol Console_8 VoidSymbol
+keycode 67 = F9 F19 F49 F59 F29 F69 Console_9 VoidSymbol Console_9 VoidSymbol
+keycode 68 = F10 F20 F50 F60 F30 F70 Console_10 VoidSymbol Console_10 VoidSymbol
+keycode 69 = Num_Lock VoidSymbol Hex_A Num_Lock VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 70 = Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State VoidSymbol Scroll_Lock VoidSymbol VoidSymbol VoidSymbol
+keycode 71 = KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 Ascii_7 KP_7 KP_7 KP_7
+keycode 72 = KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 Ascii_8 KP_8 KP_8 KP_8
+keycode 73 = KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 Ascii_9 KP_9 KP_9 KP_9
+keycode 74 = KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract
+keycode 75 = KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 Ascii_4 KP_4 KP_4 KP_4
+keycode 76 = KP_5 KP_5 +U+00ee +U+00ce KP_5 KP_5 Ascii_5 KP_5 KP_5 KP_5
+keycode 77 = KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 Ascii_6 KP_6 KP_6 KP_6
+keycode 78 = KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add
+keycode 79 = KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 Ascii_1 KP_1 KP_1 KP_1
+keycode 80 = KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 Ascii_2 KP_2 KP_2 KP_2
+keycode 81 = KP_3 KP_3 +U+0142 +U+0141 KP_3 KP_3 Ascii_3 KP_3 KP_3 KP_3
+keycode 82 = KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 Ascii_0 KP_0 KP_0 KP_0
+keycode 83 = KP_Period KP_Period +U+00bb +U+00bb KP_Period Boot KP_Period KP_Period Boot Boot
+keycode 86 = U+005c U+007c U+007c U+00a6 Control_backslash Control_backslash Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash
+keycode 87 = F11 F21 F51 F61 F31 F71 Console_11 VoidSymbol Console_11 VoidSymbol
+keycode 88 = F12 F22 F52 F62 F32 F72 Console_12 VoidSymbol Console_12 VoidSymbol
+keycode 102 = Home Home Home Home VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 103 = Up Up Up Up VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 104 = Prior Scroll_Backward Prior Prior VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 105 = Left Left Left Left VoidSymbol VoidSymbol Decr_Console VoidSymbol VoidSymbol VoidSymbol
+keycode 106 = Right Right Right Right VoidSymbol VoidSymbol Incr_Console VoidSymbol VoidSymbol VoidSymbol
+keycode 107 = End End End End VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 108 = Down Down Down Down VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 109 = Next Scroll_Forward Next Next VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 110 = Insert Insert Insert Insert VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 111 = Remove Remove Remove Remove VoidSymbol Boot VoidSymbol VoidSymbol Boot Boot
+keycode 96 = KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter
+keycode 97 = Control Control Control Control Control Control Control Control Control Control
+keycode 119 = Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause
+keycode 99 = Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash
+keycode 98 = KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide
+keycode 100 = AltGr Alt AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr
+keycode 125 = Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt
+keycode 126 = Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt
+keycode 127 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+strings as usual
diff --git a/keymaps/i386/qwerty/ro.kmap b/keymaps/i386/qwerty/ro.kmap
new file mode 100644
index 0000000..7d9bc10
--- /dev/null
+++ b/keymaps/i386/qwerty/ro.kmap
@@ -0,0 +1,109 @@
+
+charset "iso-8859-2"
+keymaps 0-4,6,8,10,12,14
+keycode 1 = Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 2 = U+0031 U+0021 dead_tilde dead_tilde VoidSymbol VoidSymbol Meta_one Meta_one VoidSymbol VoidSymbol
+keycode 3 = U+0032 U+0040 dead_caron dead_caron nul nul Meta_two Meta_two Meta_nul Meta_nul
+keycode 4 = U+0033 U+0023 dead_circumflex dead_circumflex Escape Escape Meta_three Meta_three Meta_Escape Meta_Escape
+keycode 5 = U+0034 U+0024 dead_breve dead_breve Control_backslash Control_backslash Meta_four Meta_four Meta_Control_backslash Meta_Control_backslash
+keycode 6 = U+0035 U+0025 U+002a U+002a Control_bracketright Control_bracketright Meta_five Meta_asterisk Meta_Control_bracketright Meta_Control_bracketright
+keycode 7 = U+0036 U+005e dead_ogonek dead_ogonek Control_asciicircum Control_asciicircum Meta_six Meta_six Meta_Control_asciicircum Meta_Control_asciicircum
+keycode 8 = U+0037 U+0026 dead_grave dead_grave Control_underscore Control_underscore Meta_seven Meta_seven Meta_Control_underscore Meta_Control_underscore
+keycode 9 = U+0038 U+002a U+002e U+002e Delete Compose Meta_eight Meta_period Meta_Delete Compose
+keycode 10 = U+0039 U+0028 dead_acute dead_acute VoidSymbol VoidSymbol Meta_nine Meta_nine VoidSymbol VoidSymbol
+keycode 11 = U+0030 U+0029 dead_doubleacute dead_doubleacute VoidSymbol VoidSymbol Meta_zero Meta_zero VoidSymbol VoidSymbol
+keycode 12 = U+002d U+005f dead_diaeresis U+2013 Control_underscore Control_underscore Meta_minus Meta_minus Meta_Control_underscore Meta_Control_underscore
+keycode 13 = U+003d U+002b dead_cedilla U+00b1 VoidSymbol VoidSymbol Meta_equal Meta_equal VoidSymbol VoidSymbol
+keycode 14 = Delete Delete Delete Delete BackSpace BackSpace Meta_Delete Meta_Delete Meta_BackSpace Meta_BackSpace
+keycode 15 = Tab Tab Tab Tab Tab Tab Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+keycode 16 = +U+0071 +U+0051 +U+00e2 +U+00c2 Control_q Control_q Meta_q Meta_q Meta_Control_q Meta_Control_q
+keycode 17 = +U+0077 +U+0057 +U+00df +U+00df Control_w Control_w Meta_w Meta_w Meta_Control_w Meta_Control_w
+keycode 18 = +U+0065 +U+0045 U+20ac U+20ac Control_e Control_e Meta_e Meta_e Meta_Control_e Meta_Control_e
+keycode 19 = +U+0072 +U+0052 +U+0072 +U+0072 Control_r Control_r Meta_r Meta_r Meta_Control_r Meta_Control_r
+keycode 20 = +U+0074 +U+0054 +U+0163 +U+0162 Control_t Control_t Meta_t Meta_t Meta_Control_t Meta_Control_t
+keycode 21 = +U+0079 +U+0059 +U+0079 +U+0079 Control_y Control_y Meta_y Meta_y Meta_Control_y Meta_Control_y
+keycode 22 = +U+0075 +U+0055 +U+0075 +U+0075 Control_u Control_u Meta_u Meta_u Meta_Control_u Meta_Control_u
+keycode 23 = +U+0069 +U+0049 +U+00ee +U+00ce Tab Tab Meta_i Meta_i Meta_Tab Meta_Tab
+keycode 24 = +U+006f +U+004f +U+006f +U+006f Control_o Control_o Meta_o Meta_o Meta_Control_o Meta_Control_o
+keycode 25 = +U+0070 +U+0050 U+00a7 U+00a7 Control_p Control_p Meta_p Meta_p Meta_Control_p Meta_Control_p
+keycode 26 = U+005b U+007b U+201e U+201e Escape Escape Meta_bracketleft Meta_bracketleft Meta_Escape Meta_Escape
+keycode 27 = U+005d U+007d U+201d U+201d Control_bracketright Control_bracketright Meta_bracketright Meta_bracketright Meta_Control_bracketright Meta_Control_bracketright
+keycode 28 = Return Return Return Return Control_m Control_m Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m
+keycode 29 = Control Control Control Control Control Control Control Control Control Control
+keycode 30 = +U+0061 +U+0041 +U+0103 +U+0102 Control_a Control_a Meta_a Meta_a Meta_Control_a Meta_Control_a
+keycode 31 = +U+0073 +U+0053 +U+015f +U+015e Control_s Control_s Meta_s Meta_s Meta_Control_s Meta_Control_s
+keycode 32 = +U+0064 +U+0044 +U+0111 +U+0110 Control_d Control_d Meta_d Meta_d Meta_Control_d Meta_Control_d
+keycode 33 = +U+0066 +U+0046 +U+0066 +U+0066 Control_f Control_f Meta_f Meta_f Meta_Control_f Meta_Control_f
+keycode 34 = +U+0067 +U+0047 +U+0067 +U+0067 Control_g Control_g Meta_g Meta_g Meta_Control_g Meta_Control_g
+keycode 35 = +U+0068 +U+0048 +U+0068 +U+0068 BackSpace BackSpace Meta_h Meta_h Meta_BackSpace Meta_BackSpace
+keycode 36 = +U+006a +U+004a +U+006a +U+006a Linefeed Linefeed Meta_j Meta_j Meta_Linefeed Meta_Linefeed
+keycode 37 = +U+006b +U+004b +U+006b +U+006b Control_k Control_k Meta_k Meta_k Meta_Control_k Meta_Control_k
+keycode 38 = +U+006c +U+004c +U+0142 +U+0141 Control_l Control_l Meta_l Meta_l Meta_Control_l Meta_Control_l
+keycode 39 = U+003b U+003a U+003b U+003b VoidSymbol VoidSymbol Meta_semicolon Meta_semicolon VoidSymbol VoidSymbol
+keycode 40 = U+0027 U+0022 U+0027 U+0027 Control_g Control_g Meta_apostrophe Meta_apostrophe Meta_Control_g Meta_Control_g
+keycode 41 = U+0060 U+007e U+0060 U+0060 nul nul Meta_grave Meta_grave Meta_nul Meta_nul
+keycode 42 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift
+keycode 43 = U+005c U+007c U+005c U+005c Control_backslash Control_backslash Meta_backslash Meta_backslash Meta_Control_backslash Meta_Control_backslash
+keycode 44 = +U+007a +U+005a +U+007a +U+007a Control_z Control_z Meta_z Meta_z Meta_Control_z Meta_Control_z
+keycode 45 = +U+0078 +U+0058 +U+0078 +U+0078 Control_x Control_x Meta_x Meta_x Meta_Control_x Meta_Control_x
+keycode 46 = +U+0063 +U+0043 U+00a9 U+00a9 Control_c Control_c Meta_c Meta_c Meta_Control_c Meta_Control_c
+keycode 47 = +U+0076 +U+0056 +U+0076 +U+0076 Control_v Control_v Meta_v Meta_v Meta_Control_v Meta_Control_v
+keycode 48 = +U+0062 +U+0042 +U+0062 +U+0062 Control_b Control_b Meta_b Meta_b Meta_Control_b Meta_Control_b
+keycode 49 = +U+006e +U+004e +U+006e +U+006e Control_n Control_n Meta_n Meta_n Meta_Control_n Meta_Control_n
+keycode 50 = +U+006d +U+004d +U+006d +U+006d Control_m Control_m Meta_m Meta_m Meta_Control_m Meta_Control_m
+keycode 51 = U+002c U+003c U+00ab U+00ab VoidSymbol VoidSymbol Meta_comma Meta_comma VoidSymbol VoidSymbol
+keycode 52 = U+002e U+003e U+00bb U+00bb Compose Compose Meta_period Meta_period Compose Compose
+keycode 53 = U+002f U+003f U+002f U+002f Delete Delete Meta_slash Meta_slash Meta_Delete Meta_Delete
+keycode 54 = Shift Shift Shift Shift Shift Shift Shift Shift Shift Shift
+keycode 55 = KP_Multiply KP_Multiply U+00a7 U+00a7 KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply KP_Multiply
+keycode 56 = Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt
+keycode 57 = U+0020 U+0020 U+0020 U+0020 nul nul Meta_space Meta_space Meta_nul Meta_nul
+keycode 58 = Shift_Lock Shift_Lock Shift_Lock Shift_Lock Shift_Lock Shift_Lock Shift_Lock Shift_Lock Shift_Lock Shift_Lock
+keycode 59 = F1 F11 F41 F51 F21 F61 Console_1 VoidSymbol Console_1 VoidSymbol
+keycode 60 = F2 F12 F42 F52 F22 F62 Console_2 VoidSymbol Console_2 VoidSymbol
+keycode 61 = F3 F13 F43 F53 F23 F63 Console_3 VoidSymbol Console_3 VoidSymbol
+keycode 62 = F4 F14 F44 F54 F24 F64 Console_4 VoidSymbol Console_4 VoidSymbol
+keycode 63 = F5 F15 F45 F55 F25 F65 Console_5 VoidSymbol Console_5 VoidSymbol
+keycode 64 = F6 F16 F46 F56 F26 F66 Console_6 VoidSymbol Console_6 VoidSymbol
+keycode 65 = F7 F17 F47 F57 F27 F67 Console_7 VoidSymbol Console_7 VoidSymbol
+keycode 66 = F8 F18 F48 F58 F28 F68 Console_8 VoidSymbol Console_8 VoidSymbol
+keycode 67 = F9 F19 F49 F59 F29 F69 Console_9 VoidSymbol Console_9 VoidSymbol
+keycode 68 = F10 F20 F50 F60 F30 F70 Console_10 VoidSymbol Console_10 VoidSymbol
+keycode 69 = Num_Lock VoidSymbol Hex_A Num_Lock VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 70 = Scroll_Lock Show_Memory Show_Registers Scroll_Lock Show_State VoidSymbol Scroll_Lock VoidSymbol VoidSymbol VoidSymbol
+keycode 71 = KP_7 KP_7 Hex_7 KP_7 KP_7 KP_7 Ascii_7 KP_7 KP_7 KP_7
+keycode 72 = KP_8 KP_8 Hex_8 KP_8 KP_8 KP_8 Ascii_8 KP_8 KP_8 KP_8
+keycode 73 = KP_9 KP_9 Hex_9 KP_9 KP_9 KP_9 Ascii_9 KP_9 KP_9 KP_9
+keycode 74 = KP_Subtract KP_Subtract Hex_D KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract KP_Subtract
+keycode 75 = KP_4 KP_4 Hex_4 KP_4 KP_4 KP_4 Ascii_4 KP_4 KP_4 KP_4
+keycode 76 = KP_5 KP_5 +U+00ee +U+00ce KP_5 KP_5 Ascii_5 KP_5 KP_5 KP_5
+keycode 77 = KP_6 KP_6 Hex_6 KP_6 KP_6 KP_6 Ascii_6 KP_6 KP_6 KP_6
+keycode 78 = KP_Add KP_Add Hex_E KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add KP_Add
+keycode 79 = KP_1 KP_1 Hex_1 KP_1 KP_1 KP_1 Ascii_1 KP_1 KP_1 KP_1
+keycode 80 = KP_2 KP_2 Hex_2 KP_2 KP_2 KP_2 Ascii_2 KP_2 KP_2 KP_2
+keycode 81 = KP_3 KP_3 +U+0142 +U+0141 KP_3 KP_3 Ascii_3 KP_3 KP_3 KP_3
+keycode 82 = KP_0 KP_0 Hex_0 KP_0 KP_0 KP_0 Ascii_0 KP_0 KP_0 KP_0
+keycode 83 = KP_Period KP_Period +U+00bb +U+00bb KP_Period Boot KP_Period KP_Period Boot Boot
+keycode 86 = U+005c U+007c U+007c U+00a6 Control_backslash Control_backslash Meta_backslash Meta_bar Meta_Control_backslash Meta_Control_backslash
+keycode 87 = F11 F21 F51 F61 F31 F71 Console_11 VoidSymbol Console_11 VoidSymbol
+keycode 88 = F12 F22 F52 F62 F32 F72 Console_12 VoidSymbol Console_12 VoidSymbol
+keycode 102 = Home Home Home Home VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 103 = Up Up Up Up VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 104 = Prior Scroll_Backward Prior Prior VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 105 = Left Left Left Left VoidSymbol VoidSymbol Decr_Console VoidSymbol VoidSymbol VoidSymbol
+keycode 106 = Right Right Right Right VoidSymbol VoidSymbol Incr_Console VoidSymbol VoidSymbol VoidSymbol
+keycode 107 = End End End End VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 108 = Down Down Down Down VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 109 = Next Scroll_Forward Next Next VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 110 = Insert Insert Insert Insert VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+keycode 111 = Remove Remove Remove Remove VoidSymbol Boot VoidSymbol VoidSymbol Boot Boot
+keycode 96 = KP_Enter KP_Enter Hex_F KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter KP_Enter
+keycode 97 = Control Control Control Control Control Control Control Control Control Control
+keycode 119 = Pause Pause Pause Pause Pause Pause Pause Pause Pause Pause
+keycode 99 = Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash Control_backslash
+keycode 98 = KP_Divide KP_Divide Hex_B KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide KP_Divide
+keycode 100 = AltGr Alt AltGr AltGr AltGr AltGr AltGr AltGr AltGr AltGr
+keycode 125 = Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt
+keycode 126 = Alt Alt Alt Alt Alt Alt Alt Alt Alt Alt
+keycode 127 = VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+strings as usual
diff --git a/keymaps/i386/qwerty/ru-cp1251.kmap b/keymaps/i386/qwerty/ru-cp1251.kmap
new file mode 100644
index 0000000..cbbc8de
--- /dev/null
+++ b/keymaps/i386/qwerty/ru-cp1251.kmap
@@ -0,0 +1,289 @@
+! Russian CP1251 Cyrillic keyboard.map. "Cyrillic" mode is toggled by
+! Right_Ctrl key and shifted by AltGr key.
+! 4-Mar-98 Andrew Aksyonov andraks@geocities.com
+keymaps 0-4,6,8,10,12
+include "linux-with-alt-and-altgr"
+strings as usual
+
+ keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+ keycode 2 = one exclam one exclam
+ alt keycode 2 = Meta_one
+ keycode 3 = two at two quotedbl
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+ keycode 4 = three numbersign three slash
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ keycode 5 = four dollar four semicolon
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ keycode 6 = five percent five colon
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ keycode 7 = six asciicircum six comma
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ keycode 8 = seven ampersand seven period
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+ keycode 9 = eight asterisk eight semicolon
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+ keycode 10 = nine parenleft nine question
+ alt keycode 10 = Meta_nine
+ keycode 11 = zero parenright zero percent
+ alt keycode 11 = Meta_zero
+ keycode 12 = minus underscore minus underscore
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+ keycode 13 = equal plus equal plus
+ alt keycode 13 = Meta_equal
+ keycode 14 = BackSpace
+ alt keycode 14 = Meta_Delete
+ keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+ keycode 16 = +q +Q +233 +201
+ control keycode 16 = Control_q
+altgr control keycode 16 = Control_q
+ keycode 17 = +w +W +246 +214
+ control keycode 17 = Control_w
+altgr control keycode 17 = Control_w
+ keycode 18 = +e +E +243 +211
+ control keycode 18 = Control_e
+altgr control keycode 18 = Control_e
+ keycode 19 = +r +R +234 +202
+ control keycode 19 = Control_r
+altgr control keycode 19 = Control_r
+ keycode 20 = +t +T +229 +197
+ control keycode 20 = Control_t
+altgr control keycode 20 = Control_t
+ keycode 21 = +y +Y +237 +205
+ control keycode 21 = Control_y
+altgr control keycode 21 = Control_y
+ keycode 22 = +u +U +227 +195
+ control keycode 22 = Control_u
+altgr control keycode 22 = Control_u
+ keycode 23 = +i +I +248 +216
+ control keycode 23 = Tab
+altgr control keycode 23 = Tab
+ keycode 24 = +o +O +249 +217
+ control keycode 24 = Control_o
+altgr control keycode 24 = Control_o
+ keycode 25 = +p +P +231 +199
+ control keycode 25 = Control_p
+altgr control keycode 25 = Control_p
+ keycode 26 = bracketleft braceleft +245 +213
+ control keycode 26 = Escape
+altgr control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ keycode 27 = bracketright braceright +250 +218
+ control keycode 27 = Control_bracketright
+altgr control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+ keycode 29 = Control
+ keycode 30 = +a +A +244 +212
+ control keycode 30 = Control_a
+altgr control keycode 30 = Control_a
+ keycode 31 = +s +S +251 +219
+ control keycode 31 = Control_s
+altgr control keycode 31 = Control_s
+ keycode 32 = +d +D +226 +194
+ control keycode 32 = Control_d
+altgr control keycode 32 = Control_d
+ keycode 33 = +f +F +224 +192
+ control keycode 33 = Control_f
+altgr control keycode 33 = Control_f
+ keycode 34 = +g +G +239 +207
+ control keycode 34 = Control_g
+altgr control keycode 34 = Control_g
+ keycode 35 = +h +H +240 +208
+ control keycode 35 = BackSpace
+altgr control keycode 35 = BackSpace
+ keycode 36 = +j +J +238 +206
+ control keycode 36 = Linefeed
+altgr control keycode 36 = Linefeed
+ keycode 37 = +k +K +235 +203
+ control keycode 37 = Control_k
+altgr control keycode 37 = Control_k
+ keycode 38 = +l +L +228 +196
+ control keycode 38 = Control_l
+altgr control keycode 38 = Control_l
+ keycode 39 = semicolon colon +230 +198
+ alt keycode 39 = Meta_semicolon
+ keycode 40 = apostrophe quotedbl +253 +221
+ control keycode 40 = Control_g
+altgr control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+ keycode 41 = grave asciitilde parenright parenleft
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+ keycode 42 = Shift
+ keycode 43 = backslash bar backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ keycode 44 = +z +Z +255 +223
+ control keycode 44 = Control_z
+altgr control keycode 44 = Control_z
+ keycode 45 = +x +X +247 +215
+ control keycode 45 = Control_x
+altgr control keycode 45 = Control_x
+ keycode 46 = +c +C +241 +209
+ control keycode 46 = Control_c
+altgr control keycode 46 = Control_c
+ keycode 47 = +v +V +236 +204
+ control keycode 47 = Control_v
+altgr control keycode 47 = Control_v
+ keycode 48 = +b +B +232 +200
+ control keycode 48 = Control_b
+altgr control keycode 48 = Control_b
+ keycode 49 = +n +N +242 +210
+ control keycode 49 = Control_n
+altgr control keycode 49 = Control_n
+ keycode 50 = +m +M +252 +220
+ control keycode 50 = Control_m
+altgr control keycode 50 = Control_m
+ keycode 51 = comma less +225 +193
+ alt keycode 51 = Meta_comma
+ keycode 52 = period greater +254 +222
+ alt keycode 52 = Meta_period
+ keycode 53 = slash question +191 +161
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+ keycode 54 = Shift
+ keycode 55 = KP_Multiply
+ keycode 56 = Alt
+ keycode 57 = space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ keycode 58 = Caps_Lock
+ keycode 59 = F1 F11 F1 F11
+ control keycode 59 = F1
+ alt keycode 59 = Console_1
+altgr alt keycode 59 = Console_1
+ keycode 60 = F2 F12 F2 F12
+ control keycode 60 = F2
+ alt keycode 60 = Console_2
+altgr alt keycode 60 = Console_2
+ keycode 61 = F3 F13 F3 F13
+ control keycode 61 = F3
+ alt keycode 61 = Console_3
+altgr alt keycode 61 = Console_3
+ keycode 62 = F4 F14 F4 F14
+ control keycode 62 = F4
+ alt keycode 62 = Console_4
+altgr alt keycode 62 = Console_4
+ keycode 63 = F5 F15 F5 F15
+ control keycode 63 = F5
+ alt keycode 63 = Console_5
+altgr alt keycode 63 = Console_5
+ keycode 64 = F6 F16 F6 F16
+ control keycode 64 = F6
+ alt keycode 64 = Console_6
+altgr alt keycode 64 = Console_6
+ keycode 65 = F7 F17 F7 F17
+ control keycode 65 = F7
+ alt keycode 65 = Console_7
+altgr alt keycode 65 = Console_7
+ keycode 66 = F8 F18 F8 F18
+ control keycode 66 = F8
+ alt keycode 66 = Console_8
+altgr alt keycode 66 = Console_8
+ keycode 67 = F9 F19 F9 F19
+ control keycode 67 = F9
+ alt keycode 67 = Console_9
+altgr alt keycode 67 = Console_9
+ keycode 68 = F10 F20 F10 F20
+ control keycode 68 = F10
+ alt keycode 68 = Console_10
+altgr alt keycode 68 = Console_10
+ keycode 69 = Num_Lock
+ keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+ keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+ keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+ keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+ keycode 74 = KP_Subtract
+ keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+ keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+ keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+ keycode 78 = KP_Add
+ keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+ keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+ keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+ keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+ keycode 83 = KP_Period
+altgr control keycode 83 = Boot
+control alt keycode 83 = Boot
+ keycode 84 = Last_Console
+ keycode 85 =
+ keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+ keycode 87 = F11 F11 F11 F11
+ control keycode 87 = F11
+ alt keycode 87 = Console_11
+altgr alt keycode 87 = Console_11
+ keycode 88 = F12 F12 F12 F12
+ control keycode 88 = F12
+ alt keycode 88 = Console_12
+altgr alt keycode 88 = Console_12
+ keycode 89 =
+ keycode 90 =
+ keycode 91 =
+ keycode 92 =
+ keycode 93 =
+ keycode 94 =
+ keycode 95 =
+ keycode 96 = KP_Enter
+ keycode 97 = AltGr_Lock
+ keycode 98 = KP_Divide
+ keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+ keycode 100 = AltGr
+ keycode 101 = Break
+ keycode 102 = Find
+ keycode 103 = Up
+ keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+ keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ keycode 107 = Select
+ keycode 108 = Down
+ keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+ keycode 110 = Insert
+ keycode 111 = Remove
+altgr control keycode 111 = Boot
+control alt keycode 111 = Boot
+ keycode 112 =
+ keycode 113 =
+ keycode 114 =
+ keycode 115 =
+ keycode 116 =
+ keycode 117 =
+ keycode 118 =
+ keycode 119 =
+ keycode 120 =
+ keycode 121 =
+ keycode 122 =
+ keycode 123 =
+ keycode 124 =
+ keycode 125 =
+ keycode 126 =
+ keycode 127 =
diff --git a/keymaps/i386/qwerty/ru-ms.kmap b/keymaps/i386/qwerty/ru-ms.kmap
new file mode 100644
index 0000000..17bdb6d
--- /dev/null
+++ b/keymaps/i386/qwerty/ru-ms.kmap
@@ -0,0 +1,417 @@
+# This cyrillic keymap of Dmitry M. Klimoff <dmk@kosnet.ru> based
+# on keymap of Alexey Vovenko <vovenko@ixwin.ihep.su>.
+# Differences between my keymap and keymap of Vovenko:
+#
+# 1. My keymap use Microsoft Cyrillic keyboard layout (exclude russian
+# symbol No., who not present in KOI8-r codetable);
+# 2. Change layout between US and Cyrillic proceed by pressing
+# RightCtrl key
+
+strings as usual
+
+ keycode 0 =
+ keycode 1 = Escape Escape Escape Escape
+ alt keycode 1 = Meta_Escape
+altgr alt keycode 1 = Meta_Escape
+ keycode 2 = one exclam one exclam
+ alt keycode 2 = Meta_one
+altgr alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+altgr shift alt keycode 2 = Meta_exclam
+ keycode 3 = two at two quotedbl
+ control keycode 3 = nul
+altgr control keycode 3 = nul
+ alt keycode 3 = Meta_two
+altgr alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_at
+altgr shift alt keycode 3 = Meta_at
+ keycode 4 = three numbersign three numbersign
+ control keycode 4 = Escape
+altgr control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+altgr alt keycode 4 = Meta_three
+ shift alt keycode 4 = Meta_numbersign
+altgr shift alt keycode 4 = Meta_numbersign
+ keycode 5 = four dollar four semicolon
+ control keycode 5 = Control_backslash
+altgr control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+altgr alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+altgr shift alt keycode 5 = Meta_dollar
+ keycode 6 = five percent five percent
+ control keycode 6 = Control_bracketright
+altgr control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+altgr alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+altgr shift alt keycode 6 = Meta_percent
+ keycode 7 = six asciicircum six colon
+ control keycode 7 = Control_asciicircum
+altgr control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+altgr alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_asciicircum
+altgr shift alt keycode 7 = Meta_asciicircum
+ keycode 8 = seven ampersand seven question
+ control keycode 8 = Control_underscore
+altgr control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+altgr alt keycode 8 = Meta_seven
+ shift alt keycode 8 = Meta_ampersand
+altgr shift alt keycode 8 = Meta_ampersand
+ keycode 9 = eight asterisk eight asterisk
+ control keycode 9 = Delete
+altgr control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+altgr alt keycode 9 = Meta_eight
+ shift alt keycode 9 = Meta_asterisk
+altgr shift alt keycode 9 = Meta_asterisk
+ keycode 10 = nine parenleft nine parenleft
+ alt keycode 10 = Meta_nine
+altgr alt keycode 10 = Meta_nine
+ shift alt keycode 10 = Meta_parenleft
+altgr shift alt keycode 10 = Meta_parenleft
+ keycode 11 = zero parenright zero parenright
+ alt keycode 11 = Meta_zero
+altgr alt keycode 11 = Meta_zero
+ shift alt keycode 11 = Meta_parenright
+altgr shift alt keycode 11 = Meta_parenright
+ keycode 12 = minus underscore minus underscore
+ control keycode 12 = Control_underscore
+altgr control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+altgr alt keycode 12 = Meta_minus
+ shift alt keycode 12 = Meta_underscore
+altgr shift alt keycode 12 = Meta_underscore
+ keycode 13 = equal plus equal plus
+ alt keycode 13 = Meta_equal
+altgr alt keycode 13 = Meta_equal
+ shift alt keycode 13 = Meta_plus
+altgr shift alt keycode 13 = Meta_plus
+ keycode 14 = BackSpace BackSpace BackSpace BackSpace
+# keycode 14 = Delete Delete Delete Delete
+ alt keycode 14 = Meta_Delete
+altgr alt keycode 14 = Meta_Delete
+ keycode 15 = Tab Tab Tab Tab
+ alt keycode 15 = Meta_Tab
+altgr alt keycode 15 = Meta_Tab
+ keycode 16 = +q
+altgr keycode 16 = +0xCA
+altgr shift keycode 16 = +0xEA
+ keycode 17 = +w
+altgr keycode 17 = +0xC3
+altgr shift keycode 17 = +0xE3
+ keycode 18 = +e
+altgr keycode 18 = +0xD5
+altgr shift keycode 18 = +0xF5
+ keycode 19 = +r
+altgr keycode 19 = +0xCB
+altgr shift keycode 19 = +0xEB
+ keycode 20 = +t
+altgr keycode 20 = +0xC5
+altgr shift keycode 20 = +0xE5
+ keycode 21 = +y
+altgr keycode 21 = +0xCE
+altgr shift keycode 21 = +0xEE
+ keycode 22 = +u
+altgr keycode 22 = +0xC7
+altgr shift keycode 22 = +0xE7
+ keycode 23 = +i
+altgr keycode 23 = +0xDB
+altgr shift keycode 23 = +0xFB
+ keycode 24 = +o
+altgr keycode 24 = +0xDD
+altgr shift keycode 24 = +0xFD
+ keycode 25 = +p
+altgr keycode 25 = +0xDA
+altgr shift keycode 25 = +0xFA
+ keycode 26 = bracketleft braceleft
+altgr keycode 26 = +0xC8
+altgr shift keycode 26 = +0xE8
+ control keycode 26 = Escape
+altgr control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+altgr alt keycode 26 = Meta_bracketleft
+ keycode 27 = bracketright braceright +223 +255
+ control keycode 27 = Control_bracketright
+altgr control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+altgr alt keycode 27 = Meta_bracketright
+ keycode 28 = Return
+ alt keycode 28 = 0x080d
+altgr alt keycode 28 = 0x080d
+ control keycode 28 = Linefeed
+altgr control keycode 28 = Linefeed
+ keycode 29 = Control
+ keycode 30 = +a
+altgr keycode 30 = +0xC6
+altgr shift keycode 30 = +0xE6
+ keycode 31 = +s
+altgr keycode 31 = +0xD9
+altgr shift keycode 31 = +0xF9
+ keycode 32 = +d
+altgr keycode 32 = +0xD7
+altgr shift keycode 32 = +0xF7
+ keycode 33 = +f
+altgr keycode 33 = +0xC1
+altgr shift keycode 33 = +0xE1
+ keycode 34 = +g
+altgr keycode 34 = +0xD0
+altgr shift keycode 34 = +0xF0
+ keycode 35 = +h
+altgr keycode 35 = +0xD2
+altgr shift keycode 35 = +0xF2
+ keycode 36 = +j
+altgr keycode 36 = +0xCF
+altgr shift keycode 36 = +0xEF
+ keycode 37 = +k
+altgr keycode 37 = +0xCC
+altgr shift keycode 37 = +0xEC
+ keycode 38 = +l
+altgr keycode 38 = +0xC4
+altgr shift keycode 38 = +0xE4
+ keycode 39 = semicolon colon
+altgr keycode 39 = +0xD6
+altgr shift keycode 39 = +0xF6
+ alt keycode 39 = Meta_semicolon
+altgr alt keycode 39 = Meta_semicolon
+ keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+altgr control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+altgr alt keycode 40 = Meta_apostrophe
+altgr keycode 40 = +0xDC
+altgr shift keycode 40 = +0xFC
+ keycode 41 = grave asciitilde +163 +179
+ control keycode 41 = nul
+altgr control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+altgr alt keycode 41 = Meta_grave
+ keycode 42 = Shift
+ keycode 43 = backslash bar backslash slash
+ control keycode 43 = Control_backslash
+altgr control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+altgr alt keycode 43 = Meta_backslash
+ shift alt keycode 43 = Meta_bar
+altgr shift alt keycode 43 = Meta_bar
+ keycode 44 = +z
+altgr keycode 44 = +0xD1
+altgr shift keycode 44 = +0xF1
+ keycode 45 = +x
+altgr keycode 45 = +0xDE
+altgr shift keycode 45 = +0xFE
+ keycode 46 = +c
+altgr keycode 46 = +0xD3
+altgr shift keycode 46 = +0xF3
+ keycode 47 = +v
+altgr keycode 47 = +0xCD
+altgr shift keycode 47 = +0xED
+ keycode 48 = +b
+altgr keycode 48 = +0xC9
+altgr shift keycode 48 = +0xE9
+ keycode 49 = +n
+altgr keycode 49 = +0xD4
+altgr shift keycode 49 = +0xF4
+ keycode 50 = +m
+altgr keycode 50 = +0xD8
+altgr shift keycode 50 = +0xF8
+ keycode 51 = comma less
+ alt keycode 51 = Meta_comma
+altgr alt keycode 51 = Meta_comma
+ alt shift keycode 51 = Meta_less
+altgr alt shift keycode 51 = Meta_less
+altgr keycode 51 = +0xC2
+altgr shift keycode 51 = +0xE2
+ keycode 52 = period greater
+ alt keycode 52 = Meta_period
+altgr alt keycode 52 = Meta_period
+ alt shift keycode 52 = Meta_greater
+altgr alt shift keycode 52 = Meta_greater
+altgr keycode 52 = +0xC0
+altgr shift keycode 52 = +0xE0
+
+ keycode 53 = slash question period comma
+# +163 +179
+# keycode 53 = slash question +0xA3 +0xB7
+ control keycode 53 = Delete
+altgr control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+altgr alt keycode 53 = Meta_slash
+ shift alt keycode 53 = Meta_question
+altgr shift alt keycode 53 = Meta_question
+ keycode 54 = Shift
+ keycode 55 = KP_Multiply
+ keycode 56 = Alt
+ keycode 57 = space space space space
+ control keycode 57 = nul
+altgr control keycode 57 = nul
+ alt keycode 57 = Meta_space
+altgr alt keycode 57 = Meta_space
+ keycode 58 = Caps_Lock
+ keycode 59 = F1 F11 F1 F11
+ control keycode 59 = F1
+altgr control keycode 59 = F1
+ alt keycode 59 = Console_1
+altgr alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+altgr control alt keycode 59 = Console_1
+ keycode 60 = F2 F12 F2 F12
+ control keycode 60 = F2
+altgr control keycode 60 = F2
+ alt keycode 60 = Console_2
+altgr alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+altgr control alt keycode 60 = Console_2
+ keycode 61 = F3 F13 F3 F13
+ control keycode 61 = F3
+altgr control keycode 61 = F3
+ alt keycode 61 = Console_3
+altgr alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+altgr control alt keycode 61 = Console_3
+ keycode 62 = F4 F14 F4 F14
+ control keycode 62 = F4
+ altgr control keycode 62 = F4
+ alt keycode 62 = Console_4
+altgr alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+altgr control alt keycode 62 = Console_4
+ keycode 63 = F5 F15 F5 F15
+ control keycode 63 = F5
+altgr control keycode 63 = F5
+ alt keycode 63 = Console_5
+altgr alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+altgr control alt keycode 63 = Console_5
+ keycode 64 = F6 F16 F6 F16
+ control keycode 64 = F6
+altgr control keycode 64 = F6
+ alt keycode 64 = Console_6
+altgr alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+altgr control alt keycode 64 = Console_6
+ keycode 65 = F7 F17 F7 F17
+ control keycode 65 = F7
+altgr control keycode 65 = F7
+ alt keycode 65 = Console_7
+altgr alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+altgr control alt keycode 65 = Console_7
+ keycode 66 = F8 F18 F8 F18
+ control keycode 66 = F8
+altgr control keycode 66 = F8
+ alt keycode 66 = Console_8
+altgr alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+altgr control alt keycode 66 = Console_8
+ keycode 67 = F9 F19 F9 F19
+ control keycode 67 = F9
+altgr control keycode 67 = F9
+ alt keycode 67 = Console_9
+altgr alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+altgr control alt keycode 67 = Console_9
+ keycode 68 = F10 F20 F10 F20
+ control keycode 68 = F10
+altgr control keycode 68 = F10
+ alt keycode 68 = Console_10
+altgr alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+altgr control alt keycode 68 = Console_10
+ keycode 69 = Num_Lock
+ keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+altgr control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+altgr alt keycode 70 = Scroll_Lock
+ keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+altgr alt keycode 71 = Ascii_7
+ keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+altgr alt keycode 72 = Ascii_8
+ keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+altgr alt keycode 73 = Ascii_9
+ keycode 74 = KP_Subtract
+ keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+altgr alt keycode 75 = Ascii_4
+ keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+altgr alt keycode 76 = Ascii_5
+ keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+altgr alt keycode 77 = Ascii_6
+ keycode 78 = KP_Add
+ keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+altgr alt keycode 79 = Ascii_1
+ keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+altgr alt keycode 80 = Ascii_2
+ keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+altgr alt keycode 81 = Ascii_3
+ keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+altgr alt keycode 82 = Ascii_0
+ keycode 83 = KP_Period
+altgr control keycode 83 = Boot
+control alt keycode 83 = Boot
+altgr control alt keycode 83 = Boot
+ keycode 84 = Last_Console
+ keycode 85 =
+ keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+altgr alt keycode 86 = Meta_less
+ keycode 87 = F11 F11 F11 F11
+ control keycode 87 = F11
+altgr control keycode 87 = F11
+ alt keycode 87 = Console_11
+altgr alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+altgr control alt keycode 87 = Console_11
+ keycode 88 = F12 F12 F12 F12
+ control keycode 88 = F12
+altgr control keycode 88 = F12
+ alt keycode 88 = Console_12
+altgr alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+altgr control alt keycode 88 = Console_12
+ keycode 89 =
+ keycode 90 =
+ keycode 91 =
+ keycode 92 =
+ keycode 93 =
+ keycode 94 =
+ keycode 95 =
+ keycode 96 = KP_Enter
+ keycode 97 = AltGr_Lock
+ keycode 98 = KP_Divide
+ keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+altgr control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+altgr alt keycode 99 = Control_backslash
+keycode 100 = AltGr
+ keycode 101 = Break
+ keycode 102 = Find
+ keycode 103 = Up
+ keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+altgr shift keycode 104 = Scroll_Backward
+ keycode 105 = Left
+ keycode 106 = Right
+ keycode 107 = Select
+ keycode 108 = Down
+ keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+altgr shift keycode 109 = Scroll_Forward
+ keycode 110 = Insert
+ keycode 111 = Remove
+altgr control keycode 111 = Boot
+control alt keycode 111 = Boot
+altgr control alt keycode 111 = Boot
diff --git a/keymaps/i386/qwerty/ru-yawerty.kmap b/keymaps/i386/qwerty/ru-yawerty.kmap
new file mode 100644
index 0000000..f40ec4e
--- /dev/null
+++ b/keymaps/i386/qwerty/ru-yawerty.kmap
@@ -0,0 +1,414 @@
+#
+# Cyrillic Yawerty map
+#
+# This map is designed to be as close to QWERTY as possible. In particular,
+# important punctuation characters such as .,;:?'" occupy the same keys as
+# in QWERTY. The correspondence between latin and cyrillic characters is
+# as in KOI (q=ya, x=soft sign etc.). `Yu' is on the tilde key, `che' is
+# plus/equal, hard sign is mapped to underscore. There is no capital hard
+# sign just because it would be much more useless than any of the keys it
+# would have taken.
+#
+# Mode is switched by the right alt key.
+#
+# This map is derived from Alexey Vovenko's ru1.map.
+#
+
+strings as usual
+
+ keycode 0 =
+ keycode 1 = Escape Escape Escape Escape
+ alt keycode 1 = Meta_Escape
+altgr alt keycode 1 = Meta_Escape
+ keycode 2 = one exclam one exclam
+ alt keycode 2 = Meta_one
+altgr alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+altgr shift alt keycode 2 = Meta_exclam
+ keycode 3 = two at two at
+ control keycode 3 = nul
+altgr control keycode 3 = nul
+ alt keycode 3 = Meta_two
+altgr alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_at
+altgr shift alt keycode 3 = Meta_at
+ keycode 4 = three numbersign three 0243
+ control keycode 4 = Escape
+altgr control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+altgr alt keycode 4 = Meta_three
+ shift alt keycode 4 = Meta_numbersign
+altgr shift alt keycode 4 = Meta_numbersign
+ keycode 5 = four dollar four 0263
+ control keycode 5 = Control_backslash
+altgr control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+altgr alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+altgr shift alt keycode 5 = Meta_dollar
+ keycode 6 = five percent five percent
+ control keycode 6 = Control_bracketright
+altgr control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+altgr alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+altgr shift alt keycode 6 = Meta_percent
+ keycode 7 = six asciicircum six asciicircum
+ control keycode 7 = Control_asciicircum
+altgr control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+altgr alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_asciicircum
+altgr shift alt keycode 7 = Meta_asciicircum
+ keycode 8 = seven ampersand seven ampersand
+ control keycode 8 = Control_underscore
+altgr control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+altgr alt keycode 8 = Meta_seven
+ shift alt keycode 8 = Meta_ampersand
+altgr shift alt keycode 8 = Meta_ampersand
+ keycode 9 = eight asterisk eight asterisk
+ control keycode 9 = Delete
+altgr control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+altgr alt keycode 9 = Meta_eight
+ shift alt keycode 9 = Meta_asterisk
+altgr shift alt keycode 9 = Meta_asterisk
+ keycode 10 = nine parenleft nine parenleft
+ alt keycode 10 = Meta_nine
+altgr alt keycode 10 = Meta_nine
+ shift alt keycode 10 = Meta_parenleft
+altgr shift alt keycode 10 = Meta_parenleft
+ keycode 11 = zero parenright zero parenright
+ alt keycode 11 = Meta_zero
+altgr alt keycode 11 = Meta_zero
+ shift alt keycode 11 = Meta_parenright
+altgr shift alt keycode 11 = Meta_parenright
+ keycode 12 = minus underscore minus +0337
+ control keycode 12 = Control_underscore
+altgr control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+altgr alt keycode 12 = Meta_minus
+ shift alt keycode 12 = Meta_underscore
+altgr shift alt keycode 12 = Meta_underscore
+ keycode 13 = equal plus +0336 +0376
+ alt keycode 13 = Meta_equal
+altgr alt keycode 13 = Meta_equal
+ shift alt keycode 13 = Meta_plus
+altgr shift alt keycode 13 = Meta_plus
+ keycode 14 = Delete Delete Delete Delete
+ alt keycode 14 = Meta_Delete
+altgr alt keycode 14 = Meta_Delete
+ keycode 15 = Tab Tab Tab Tab
+ alt keycode 15 = Meta_Tab
+altgr alt keycode 15 = Meta_Tab
+ keycode 16 = +q
+altgr keycode 16 = +0321
+altgr shift keycode 16 = +0361
+ keycode 17 = +w
+altgr keycode 17 = +0327
+altgr shift keycode 17 = +0367
+ keycode 18 = +e
+altgr keycode 18 = +0305
+altgr shift keycode 18 = +0345
+ keycode 19 = +r
+altgr keycode 19 = +0322
+altgr shift keycode 19 = +0362
+ keycode 20 = +t
+altgr keycode 20 = +0324
+altgr shift keycode 20 = +0364
+ keycode 21 = +y
+altgr keycode 21 = +0331
+altgr shift keycode 21 = +0371
+ keycode 22 = +u
+altgr keycode 22 = +0325
+altgr shift keycode 22 = +0365
+ keycode 23 = +i
+altgr keycode 23 = +0311
+altgr shift keycode 23 = +0351
+ keycode 24 = +o
+altgr keycode 24 = +0317
+altgr shift keycode 24 = +0357
+ keycode 25 = +p
+altgr keycode 25 = +0320
+altgr shift keycode 25 = +0360
+ keycode 26 = bracketleft braceleft
+altgr keycode 26 = +0333
+altgr shift keycode 26 = +0373
+ control keycode 26 = Escape
+altgr control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+altgr alt keycode 26 = Meta_bracketleft
+ keycode 27 = bracketright braceright
+altgr keycode 27 = +0335
+altgr shift keycode 27 = +0375
+ control keycode 27 = Control_bracketright
+altgr control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+altgr alt keycode 27 = Meta_bracketright
+ keycode 28 = Return
+ alt keycode 28 = 0x080d
+altgr alt keycode 28 = 0x080d
+ control keycode 28 = Linefeed
+altgr control keycode 28 = Linefeed
+ keycode 29 = Control
+ keycode 30 = +a
+altgr keycode 30 = +0301
+altgr shift keycode 30 = +0341
+ keycode 31 = +s
+altgr keycode 31 = +0323
+altgr shift keycode 31 = +0363
+ keycode 32 = +d
+altgr keycode 32 = +0304
+altgr shift keycode 32 = +0344
+ keycode 33 = +f
+altgr keycode 33 = +0306
+altgr shift keycode 33 = +0346
+ keycode 34 = +g
+altgr keycode 34 = +0307
+altgr shift keycode 34 = +0347
+ keycode 35 = +h
+altgr keycode 35 = +0310
+altgr shift keycode 35 = +0350
+ keycode 36 = +j
+altgr keycode 36 = +0312
+altgr shift keycode 36 = +0352
+ keycode 37 = +k
+altgr keycode 37 = +0313
+altgr shift keycode 37 = +0353
+ keycode 38 = +l
+altgr keycode 38 = +0314
+altgr shift keycode 38 = +0354
+ keycode 39 = semicolon colon semicolon colon
+ alt keycode 39 = Meta_semicolon
+altgr alt keycode 39 = Meta_semicolon
+ keycode 40 = apostrophe quotedbl apostrophe quotedbl
+ control keycode 40 = Control_g
+altgr control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+altgr alt keycode 40 = Meta_apostrophe
+ keycode 41 = grave asciitilde +0300 +0340
+ control keycode 41 = nul
+altgr control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+altgr alt keycode 41 = Meta_grave
+ keycode 42 = Shift
+ keycode 43 = backslash bar +0334 +0374
+ control keycode 43 = Control_backslash
+altgr control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+altgr alt keycode 43 = Meta_backslash
+ shift alt keycode 43 = Meta_bar
+altgr shift alt keycode 43 = Meta_bar
+ keycode 44 = +z
+altgr keycode 44 = +0332
+altgr shift keycode 44 = +0372
+ keycode 45 = +x
+altgr keycode 45 = +0330
+altgr shift keycode 45 = +0370
+ keycode 46 = +c
+altgr keycode 46 = +0303
+altgr shift keycode 46 = +0343
+ keycode 47 = +v
+altgr keycode 47 = +0326
+altgr shift keycode 47 = +0366
+ keycode 48 = +b
+altgr keycode 48 = +0302
+altgr shift keycode 48 = +0342
+ keycode 49 = +n
+altgr keycode 49 = +0316
+altgr shift keycode 49 = +0356
+ keycode 50 = +m
+altgr keycode 50 = +0315
+altgr shift keycode 50 = +0355
+ keycode 51 = comma less comma less
+ alt keycode 51 = Meta_comma
+altgr alt keycode 51 = Meta_comma
+ alt shift keycode 51 = Meta_less
+altgr alt shift keycode 51 = Meta_less
+ keycode 52 = period greater period greater
+ alt keycode 52 = Meta_period
+altgr alt keycode 52 = Meta_period
+ alt shift keycode 52 = Meta_greater
+altgr alt shift keycode 52 = Meta_greater
+ keycode 53 = slash question slash question
+ control keycode 53 = Delete
+altgr control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+altgr alt keycode 53 = Meta_slash
+ shift alt keycode 53 = Meta_question
+altgr shift alt keycode 53 = Meta_question
+ keycode 54 = Shift
+ keycode 55 = KP_Multiply
+ keycode 56 = Alt
+ keycode 57 = space space space space
+ control keycode 57 = nul
+altgr control keycode 57 = nul
+ alt keycode 57 = Meta_space
+altgr alt keycode 57 = Meta_space
+ keycode 58 = Caps_Lock
+ keycode 59 = F1 F11 F1 F11
+ control keycode 59 = F1
+altgr control keycode 59 = F1
+ alt keycode 59 = Console_1
+altgr alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+altgr control alt keycode 59 = Console_1
+ keycode 60 = F2 F12 F2 F12
+ control keycode 60 = F2
+altgr control keycode 60 = F2
+ alt keycode 60 = Console_2
+altgr alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+altgr control alt keycode 60 = Console_2
+ keycode 61 = F3 F13 F3 F13
+ control keycode 61 = F3
+altgr control keycode 61 = F3
+ alt keycode 61 = Console_3
+altgr alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+altgr control alt keycode 61 = Console_3
+ keycode 62 = F4 F14 F4 F14
+ control keycode 62 = F4
+ altgr control keycode 62 = F4
+ alt keycode 62 = Console_4
+altgr alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+altgr control alt keycode 62 = Console_4
+ keycode 63 = F5 F15 F5 F15
+ control keycode 63 = F5
+altgr control keycode 63 = F5
+ alt keycode 63 = Console_5
+altgr alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+altgr control alt keycode 63 = Console_5
+ keycode 64 = F6 F16 F6 F16
+ control keycode 64 = F6
+altgr control keycode 64 = F6
+ alt keycode 64 = Console_6
+altgr alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+altgr control alt keycode 64 = Console_6
+ keycode 65 = F7 F17 F7 F17
+ control keycode 65 = F7
+altgr control keycode 65 = F7
+ alt keycode 65 = Console_7
+altgr alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+altgr control alt keycode 65 = Console_7
+ keycode 66 = F8 F18 F8 F18
+ control keycode 66 = F8
+altgr control keycode 66 = F8
+ alt keycode 66 = Console_8
+altgr alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+altgr control alt keycode 66 = Console_8
+ keycode 67 = F9 F19 F9 F19
+ control keycode 67 = F9
+altgr control keycode 67 = F9
+ alt keycode 67 = Console_9
+altgr alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+altgr control alt keycode 67 = Console_9
+ keycode 68 = F10 F20 F10 F20
+ control keycode 68 = F10
+altgr control keycode 68 = F10
+ alt keycode 68 = Console_10
+altgr alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+altgr control alt keycode 68 = Console_10
+ keycode 69 = Num_Lock
+ keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+altgr control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+altgr alt keycode 70 = Scroll_Lock
+ keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+altgr alt keycode 71 = Ascii_7
+ keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+altgr alt keycode 72 = Ascii_8
+ keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+altgr alt keycode 73 = Ascii_9
+ keycode 74 = KP_Subtract
+ keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+altgr alt keycode 75 = Ascii_4
+ keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+altgr alt keycode 76 = Ascii_5
+ keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+altgr alt keycode 77 = Ascii_6
+ keycode 78 = KP_Add
+ keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+altgr alt keycode 79 = Ascii_1
+ keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+altgr alt keycode 80 = Ascii_2
+ keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+altgr alt keycode 81 = Ascii_3
+ keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+altgr alt keycode 82 = Ascii_0
+ keycode 83 = KP_Period
+altgr control keycode 83 = Boot
+control alt keycode 83 = Boot
+altgr control alt keycode 83 = Boot
+ keycode 84 = Last_Console
+ keycode 85 =
+ keycode 86 = Shift
+ keycode 87 = F11 F11 F11 F11
+ control keycode 87 = F11
+altgr control keycode 87 = F11
+ alt keycode 87 = Console_11
+altgr alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+altgr control alt keycode 87 = Console_11
+ keycode 88 = F12 F12 F12 F12
+ control keycode 88 = F12
+altgr control keycode 88 = F12
+ alt keycode 88 = Console_12
+altgr alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+altgr control alt keycode 88 = Console_12
+ keycode 89 =
+ keycode 90 =
+ keycode 91 =
+ keycode 92 =
+ keycode 93 =
+ keycode 94 =
+ keycode 95 =
+ keycode 96 = KP_Enter
+keycode 97 = Control
+ keycode 98 = KP_Divide
+ keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+altgr control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+altgr alt keycode 99 = Control_backslash
+keycode 100 = AltGr_Lock
+ keycode 101 = Break
+ keycode 102 = Find
+ keycode 103 = Up
+ keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+altgr shift keycode 104 = Scroll_Backward
+ keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ keycode 107 = Select
+ keycode 108 = Down
+ keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+altgr shift keycode 109 = Scroll_Forward
+ keycode 110 = Insert
+ keycode 111 = Remove
+altgr control keycode 111 = Boot
+control alt keycode 111 = Boot
+altgr control alt keycode 111 = Boot
diff --git a/keymaps/i386/qwerty/ru.kmap b/keymaps/i386/qwerty/ru.kmap
new file mode 100644
index 0000000..80e4290
--- /dev/null
+++ b/keymaps/i386/qwerty/ru.kmap
@@ -0,0 +1,287 @@
+! Russian Cyrillic keyboard.map. "Cyrillic" mode is toggled by
+! Right_Ctrl key and shifted by AltGr key.
+keymaps 0-4,6,8,10,12
+strings as usual
+
+ keycode 1 = Escape Escape Escape Escape
+ alt keycode 1 = Meta_Escape
+ keycode 2 = one exclam one exclam
+ alt keycode 2 = Meta_one
+ keycode 3 = two at two quotedbl
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+ keycode 4 = three numbersign three question
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ keycode 5 = four dollar four semicolon
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ keycode 6 = five percent five colon
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ keycode 7 = six asciicircum six comma
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ keycode 8 = seven ampersand seven period
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+ keycode 9 = eight asterisk eight asterisk
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+ keycode 10 = nine parenleft nine parenleft
+ alt keycode 10 = Meta_nine
+ keycode 11 = zero parenright zero parenright
+ alt keycode 11 = Meta_zero
+ keycode 12 = minus underscore minus underscore
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+ keycode 13 = equal plus equal plus
+ alt keycode 13 = Meta_equal
+ keycode 14 = BackSpace BackSpace BackSpace BackSpace
+ alt keycode 14 = Meta_Delete
+ keycode 15 = Tab Tab Tab Tab
+ alt keycode 15 = Meta_Tab
+ keycode 16 = +q +Q +202 +234
+ control keycode 16 = Control_q
+altgr control keycode 16 = Control_q
+ keycode 17 = +w +W +195 +227
+ control keycode 17 = Control_w
+altgr control keycode 17 = Control_w
+ keycode 18 = +e +E +213 +245
+ control keycode 18 = Control_e
+altgr control keycode 18 = Control_e
+ keycode 19 = +r +R +203 +235
+ control keycode 19 = Control_r
+altgr control keycode 19 = Control_r
+ keycode 20 = +t +T +197 +229
+ control keycode 20 = Control_t
+altgr control keycode 20 = Control_t
+ keycode 21 = +y +Y +206 +238
+ control keycode 21 = Control_y
+altgr control keycode 21 = Control_y
+ keycode 22 = +u +U +199 +231
+ control keycode 22 = Control_u
+altgr control keycode 22 = Control_u
+ keycode 23 = +i +I +219 +251
+ control keycode 23 = Tab
+altgr control keycode 23 = Tab
+ keycode 24 = +o +O +221 +253
+ control keycode 24 = Control_o
+altgr control keycode 24 = Control_o
+ keycode 25 = +p +P +218 +250
+ control keycode 25 = Control_p
+altgr control keycode 25 = Control_p
+ keycode 26 = bracketleft braceleft +200 +232
+ control keycode 26 = Escape
+altgr control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ keycode 27 = bracketright braceright bracketleft bracketright
+ control keycode 27 = Control_bracketright
+altgr control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+ keycode 29 = Control
+ keycode 30 = +a +A +198 +230
+ control keycode 30 = Control_a
+altgr control keycode 30 = Control_a
+ keycode 31 = +s +S +217 +249
+ control keycode 31 = Control_s
+altgr control keycode 31 = Control_s
+ keycode 32 = +d +D +215 +247
+ control keycode 32 = Control_d
+altgr control keycode 32 = Control_d
+ keycode 33 = +f +F +193 +225
+ control keycode 33 = Control_f
+altgr control keycode 33 = Control_f
+ keycode 34 = +g +G +208 +240
+ control keycode 34 = Control_g
+altgr control keycode 34 = Control_g
+ keycode 35 = +h +H +210 +242
+ control keycode 35 = BackSpace
+altgr control keycode 35 = BackSpace
+ keycode 36 = +j +J +207 +239
+ control keycode 36 = Linefeed
+altgr control keycode 36 = Linefeed
+ keycode 37 = +k +K +204 +236
+ control keycode 37 = Control_k
+altgr control keycode 37 = Control_k
+ keycode 38 = +l +L +196 +228
+ control keycode 38 = Control_l
+altgr control keycode 38 = Control_l
+ keycode 39 = semicolon colon +214 +246
+ alt keycode 39 = Meta_semicolon
+ keycode 40 = apostrophe quotedbl +220 +252
+ control keycode 40 = Control_g
+altgr control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+ keycode 41 = grave asciitilde +223 +255
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+ keycode 42 = Shift
+ keycode 43 = backslash bar backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ keycode 44 = +z +Z +209 +241
+ control keycode 44 = Control_z
+altgr control keycode 44 = Control_z
+ keycode 45 = +x +X +222 +254
+ control keycode 45 = Control_x
+altgr control keycode 45 = Control_x
+ keycode 46 = +c +C +211 +243
+ control keycode 46 = Control_c
+altgr control keycode 46 = Control_c
+ keycode 47 = +v +V +205 +237
+ control keycode 47 = Control_v
+altgr control keycode 47 = Control_v
+ keycode 48 = +b +B +201 +233
+ control keycode 48 = Control_b
+altgr control keycode 48 = Control_b
+ keycode 49 = +n +N +212 +244
+ control keycode 49 = Control_n
+altgr control keycode 49 = Control_n
+ keycode 50 = +m +M +216 +248
+ control keycode 50 = Control_m
+altgr control keycode 50 = Control_m
+ keycode 51 = comma less +194 +226
+ alt keycode 51 = Meta_comma
+ keycode 52 = period greater +192 +224
+ alt keycode 52 = Meta_period
+ keycode 53 = slash question +163 +179
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+ keycode 54 = Shift
+ keycode 55 = KP_Multiply
+ keycode 56 = Alt
+ keycode 57 = space space space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ keycode 58 = Caps_Lock
+ keycode 59 = F1 F11 F1 F11
+ control keycode 59 = F1
+ alt keycode 59 = Console_1
+altgr alt keycode 59 = Console_1
+ keycode 60 = F2 F12 F2 F12
+ control keycode 60 = F2
+ alt keycode 60 = Console_2
+altgr alt keycode 60 = Console_2
+ keycode 61 = F3 F13 F3 F13
+ control keycode 61 = F3
+ alt keycode 61 = Console_3
+altgr alt keycode 61 = Console_3
+ keycode 62 = F4 F14 F4 F14
+ control keycode 62 = F4
+ alt keycode 62 = Console_4
+altgr alt keycode 62 = Console_4
+ keycode 63 = F5 F15 F5 F15
+ control keycode 63 = F5
+ alt keycode 63 = Console_5
+altgr alt keycode 63 = Console_5
+ keycode 64 = F6 F16 F6 F16
+ control keycode 64 = F6
+ alt keycode 64 = Console_6
+altgr alt keycode 64 = Console_6
+ keycode 65 = F7 F17 F7 F17
+ control keycode 65 = F7
+ alt keycode 65 = Console_7
+altgr alt keycode 65 = Console_7
+ keycode 66 = F8 F18 F8 F18
+ control keycode 66 = F8
+ alt keycode 66 = Console_8
+altgr alt keycode 66 = Console_8
+ keycode 67 = F9 F19 F9 F19
+ control keycode 67 = F9
+ alt keycode 67 = Console_9
+altgr alt keycode 67 = Console_9
+ keycode 68 = F10 F20 F10 F20
+ control keycode 68 = F10
+ alt keycode 68 = Console_10
+altgr alt keycode 68 = Console_10
+ keycode 69 = Num_Lock
+ keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+ keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+ keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+ keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+ keycode 74 = KP_Subtract
+ keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+ keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+ keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+ keycode 78 = KP_Add
+ keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+ keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+ keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+ keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+ keycode 83 = KP_Period
+altgr control keycode 83 = Boot
+control alt keycode 83 = Boot
+ keycode 84 = Last_Console
+ keycode 85 =
+ keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+ keycode 87 = F11 F11 F11 F11
+ control keycode 87 = F11
+ alt keycode 87 = Console_11
+altgr alt keycode 87 = Console_11
+ keycode 88 = F12 F12 F12 F12
+ control keycode 88 = F12
+ alt keycode 88 = Console_12
+altgr alt keycode 88 = Console_12
+ keycode 89 =
+ keycode 90 =
+ keycode 91 =
+ keycode 92 =
+ keycode 93 =
+ keycode 94 =
+ keycode 95 =
+ keycode 96 = KP_Enter
+ keycode 97 = AltGr_Lock
+ keycode 98 = KP_Divide
+ keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+ keycode 100 = AltGr
+ keycode 101 = Break
+ keycode 102 = Find
+ keycode 103 = Up
+ keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+ keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ keycode 107 = Select
+ keycode 108 = Down
+ keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+ keycode 110 = Insert
+ keycode 111 = Remove
+altgr control keycode 111 = Boot
+control alt keycode 111 = Boot
+ keycode 112 =
+ keycode 113 =
+ keycode 114 =
+ keycode 115 =
+ keycode 116 =
+ keycode 117 =
+ keycode 118 =
+ keycode 119 =
+ keycode 120 =
+ keycode 121 =
+ keycode 122 =
+ keycode 123 =
+ keycode 124 =
+ keycode 125 =
+ keycode 126 =
+ keycode 127 =
diff --git a/keymaps/i386/qwerty/ru1.kmap b/keymaps/i386/qwerty/ru1.kmap
new file mode 100644
index 0000000..4aa69fe
--- /dev/null
+++ b/keymaps/i386/qwerty/ru1.kmap
@@ -0,0 +1,446 @@
+# Here is the more or less complete list of differences between my keymap
+# (ru1.map) and Eugene Crosser's (ru.map):
+#
+# 1. The Backspace key sends \127 code in my version and ^H in Crosser's.
+# 2. Control-Enter sends ^J code vs. ^M
+# 3. Cyrillic Lock is Right-Alt vs Right-Ctrl.
+# 4. There is no letters "yo" (e with dots, \163 and \179)
+# as they do not always survive in translations from KOI to ALT codings
+# and are never used in book publishing anyway.
+# 5. Shift-3 is still # in this map, not that crazy ?.
+# 6. ` and ~ are on their usual place in cyrillic mode. There is no hard
+# signs in my map. BTW, big hard sign has a code \255 and causes
+# a lot of trouble. It crashes a lot of editors.
+# 7. This keymap has more key definitions for key combinations useful in
+# emacs Alt-Shift-something, for example.
+#
+# Alexey Vovenko <vovenko@ixwin.ihep.su>.
+strings as usual
+
+ keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+altgr alt keycode 1 = Meta_Escape
+ keycode 2 = one exclam one exclam
+ alt keycode 2 = Meta_one
+altgr alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+altgr shift alt keycode 2 = Meta_exclam
+ keycode 3 = two at two quotedbl
+ control keycode 3 = nul
+altgr control keycode 3 = nul
+ alt keycode 3 = Meta_two
+altgr alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_at
+altgr shift alt keycode 3 = Meta_at
+ keycode 4 = three numbersign three numbersign
+ control keycode 4 = Escape
+altgr control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+altgr alt keycode 4 = Meta_three
+ shift alt keycode 4 = Meta_numbersign
+altgr shift alt keycode 4 = Meta_numbersign
+ keycode 5 = four dollar four semicolon
+ control keycode 5 = Control_backslash
+altgr control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+altgr alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+altgr shift alt keycode 5 = Meta_dollar
+ keycode 6 = five percent five colon
+ control keycode 6 = Control_bracketright
+altgr control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+altgr alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+altgr shift alt keycode 6 = Meta_percent
+ keycode 7 = six asciicircum six comma
+ control keycode 7 = Control_asciicircum
+altgr control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+altgr alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_asciicircum
+altgr shift alt keycode 7 = Meta_asciicircum
+ keycode 8 = seven ampersand seven period
+ control keycode 8 = Control_underscore
+altgr control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+altgr alt keycode 8 = Meta_seven
+ shift alt keycode 8 = Meta_ampersand
+altgr shift alt keycode 8 = Meta_ampersand
+ keycode 9 = eight asterisk eight asterisk
+ control keycode 9 = Delete
+altgr control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+altgr alt keycode 9 = Meta_eight
+ shift alt keycode 9 = Meta_asterisk
+altgr shift alt keycode 9 = Meta_asterisk
+ keycode 10 = nine parenleft nine parenleft
+ alt keycode 10 = Meta_nine
+altgr alt keycode 10 = Meta_nine
+ shift alt keycode 10 = Meta_parenleft
+altgr shift alt keycode 10 = Meta_parenleft
+ keycode 11 = zero parenright zero parenright
+ alt keycode 11 = Meta_zero
+altgr alt keycode 11 = Meta_zero
+ shift alt keycode 11 = Meta_parenright
+altgr shift alt keycode 11 = Meta_parenright
+ keycode 12 = minus underscore minus underscore
+ control keycode 12 = Control_underscore
+altgr control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+altgr alt keycode 12 = Meta_minus
+ shift alt keycode 12 = Meta_underscore
+altgr shift alt keycode 12 = Meta_underscore
+ keycode 13 = equal plus equal plus
+ alt keycode 13 = Meta_equal
+altgr alt keycode 13 = Meta_equal
+ shift alt keycode 13 = Meta_plus
+altgr shift alt keycode 13 = Meta_plus
+ keycode 14 = Delete Delete Delete Delete
+ alt keycode 14 = Meta_Delete
+altgr alt keycode 14 = Meta_Delete
+ keycode 15 = Tab Tab Tab Tab
+ alt keycode 15 = Meta_Tab
+altgr alt keycode 15 = Meta_Tab
+ keycode 16 = +q
+altgr keycode 16 = +0xCA
+altgr shift keycode 16 = +0xEA
+ keycode 17 = +w
+altgr keycode 17 = +0xC3
+altgr shift keycode 17 = +0xE3
+ keycode 18 = +e
+altgr keycode 18 = +0xD5
+altgr shift keycode 18 = +0xF5
+ keycode 19 = +r
+altgr keycode 19 = +0xCB
+altgr shift keycode 19 = +0xEB
+ keycode 20 = +t
+altgr keycode 20 = +0xC5
+altgr shift keycode 20 = +0xE5
+ keycode 21 = +y
+altgr keycode 21 = +0xCE
+altgr shift keycode 21 = +0xEE
+ keycode 22 = +u
+altgr keycode 22 = +0xC7
+altgr shift keycode 22 = +0xE7
+ keycode 23 = +i
+altgr keycode 23 = +0xDB
+altgr shift keycode 23 = +0xFB
+ keycode 24 = +o
+altgr keycode 24 = +0xDD
+altgr shift keycode 24 = +0xFD
+ keycode 25 = +p
+altgr keycode 25 = +0xDA
+altgr shift keycode 25 = +0xFA
+ keycode 26 = bracketleft braceleft
+altgr keycode 26 = +0xC8
+altgr shift keycode 26 = +0xE8
+ control keycode 26 = Escape
+altgr control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+altgr alt keycode 26 = Meta_bracketleft
+ keycode 27 = bracketright braceright bracketleft bracketright
+
+# The keycode "0xFF" is too dangerous for many programs (including emacs).
+# So let it be bracket instead of Hard Sign.
+# altgr keycode 27 = +0xDF
+# altgr shift keycode 27 = +0xFF
+ control keycode 27 = Control_bracketright
+altgr control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+altgr alt keycode 27 = Meta_bracketright
+ keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+altgr alt keycode 28 = Meta_Control_m
+ control keycode 28 = Linefeed
+altgr control keycode 28 = Linefeed
+ keycode 29 = Control
+ keycode 30 = +a
+altgr keycode 30 = +0xC6
+altgr shift keycode 30 = +0xE6
+ keycode 31 = +s
+altgr keycode 31 = +0xD9
+altgr shift keycode 31 = +0xF9
+ keycode 32 = +d
+altgr keycode 32 = +0xD7
+altgr shift keycode 32 = +0xF7
+ keycode 33 = +f
+altgr keycode 33 = +0xC1
+altgr shift keycode 33 = +0xE1
+ keycode 34 = +g
+altgr keycode 34 = +0xD0
+altgr shift keycode 34 = +0xF0
+ keycode 35 = +h
+altgr keycode 35 = +0xD2
+altgr shift keycode 35 = +0xF2
+ keycode 36 = +j
+altgr keycode 36 = +0xCF
+altgr shift keycode 36 = +0xEF
+ keycode 37 = +k
+altgr keycode 37 = +0xCC
+altgr shift keycode 37 = +0xEC
+ keycode 38 = +l
+altgr keycode 38 = +0xC4
+altgr shift keycode 38 = +0xE4
+ keycode 39 = semicolon colon
+altgr keycode 39 = +0xD6
+altgr shift keycode 39 = +0xF6
+ alt keycode 39 = Meta_semicolon
+altgr alt keycode 39 = Meta_semicolon
+ keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+altgr control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+altgr alt keycode 40 = Meta_apostrophe
+altgr keycode 40 = +0xDC
+altgr shift keycode 40 = +0xFC
+ keycode 41 = grave asciitilde grave asciitilde
+ control keycode 41 = nul
+altgr control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+altgr alt keycode 41 = Meta_grave
+ keycode 42 = Shift
+ keycode 43 = backslash bar backslash bar
+ control keycode 43 = Control_backslash
+altgr control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+altgr alt keycode 43 = Meta_backslash
+ shift alt keycode 43 = Meta_bar
+altgr shift alt keycode 43 = Meta_bar
+ keycode 44 = +z
+altgr keycode 44 = +0xD1
+altgr shift keycode 44 = +0xF1
+ keycode 45 = +x
+altgr keycode 45 = +0xDE
+altgr shift keycode 45 = +0xFE
+ keycode 46 = +c
+altgr keycode 46 = +0xD3
+altgr shift keycode 46 = +0xF3
+ keycode 47 = +v
+altgr keycode 47 = +0xCD
+altgr shift keycode 47 = +0xED
+ keycode 48 = +b
+altgr keycode 48 = +0xC9
+altgr shift keycode 48 = +0xE9
+ keycode 49 = +n
+altgr keycode 49 = +0xD4
+altgr shift keycode 49 = +0xF4
+ keycode 50 = +m
+altgr keycode 50 = +0xD8
+altgr shift keycode 50 = +0xF8
+ keycode 51 = comma less
+ alt keycode 51 = Meta_comma
+altgr alt keycode 51 = Meta_comma
+ alt shift keycode 51 = Meta_less
+altgr alt shift keycode 51 = Meta_less
+altgr keycode 51 = +0xC2
+altgr shift keycode 51 = +0xE2
+ keycode 52 = period greater
+ alt keycode 52 = Meta_period
+altgr alt keycode 52 = Meta_period
+ alt shift keycode 52 = Meta_greater
+altgr alt shift keycode 52 = Meta_greater
+altgr keycode 52 = +0xC0
+altgr shift keycode 52 = +0xE0
+
+# Can you survive without "yuo" letter? If no put +163 and +179 for
+# altgr keycode 53.
+ keycode 53 = slash question slash question
+ control keycode 53 = Delete
+altgr control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+altgr alt keycode 53 = Meta_slash
+ shift alt keycode 53 = Meta_question
+altgr shift alt keycode 53 = Meta_question
+ keycode 54 = Shift
+ keycode 55 = KP_Multiply
+ keycode 56 = Alt
+ keycode 57 = space
+ control keycode 57 = nul
+altgr control keycode 57 = nul
+ alt keycode 57 = Meta_space
+altgr alt keycode 57 = Meta_space
+ keycode 58 = Caps_Lock
+ keycode 59 = F1 F11 F1 F11
+ control keycode 59 = F1
+altgr control keycode 59 = F1
+ alt keycode 59 = Console_1
+altgr alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+altgr control alt keycode 59 = Console_1
+ keycode 60 = F2 F12 F2 F12
+ control keycode 60 = F2
+altgr control keycode 60 = F2
+ alt keycode 60 = Console_2
+altgr alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+altgr control alt keycode 60 = Console_2
+ keycode 61 = F3 F13 F3 F13
+ control keycode 61 = F3
+altgr control keycode 61 = F3
+ alt keycode 61 = Console_3
+altgr alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+altgr control alt keycode 61 = Console_3
+ keycode 62 = F4 F14 F4 F14
+ control keycode 62 = F4
+ altgr control keycode 62 = F4
+ alt keycode 62 = Console_4
+altgr alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+altgr control alt keycode 62 = Console_4
+ keycode 63 = F5 F15 F5 F15
+ control keycode 63 = F5
+altgr control keycode 63 = F5
+ alt keycode 63 = Console_5
+altgr alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+altgr control alt keycode 63 = Console_5
+ keycode 64 = F6 F16 F6 F16
+ control keycode 64 = F6
+altgr control keycode 64 = F6
+ alt keycode 64 = Console_6
+altgr alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+altgr control alt keycode 64 = Console_6
+ keycode 65 = F7 F17 F7 F17
+ control keycode 65 = F7
+altgr control keycode 65 = F7
+ alt keycode 65 = Console_7
+altgr alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+altgr control alt keycode 65 = Console_7
+ keycode 66 = F8 F18 F8 F18
+ control keycode 66 = F8
+altgr control keycode 66 = F8
+ alt keycode 66 = Console_8
+altgr alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+altgr control alt keycode 66 = Console_8
+ keycode 67 = F9 F19 F9 F19
+ control keycode 67 = F9
+altgr control keycode 67 = F9
+ alt keycode 67 = Console_9
+altgr alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+altgr control alt keycode 67 = Console_9
+ keycode 68 = F10 F20 F10 F20
+ control keycode 68 = F10
+altgr control keycode 68 = F10
+ alt keycode 68 = Console_10
+altgr alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+altgr control alt keycode 68 = Console_10
+ keycode 69 = Num_Lock
+ keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+altgr control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+altgr alt keycode 70 = Scroll_Lock
+ keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+altgr alt keycode 71 = Ascii_7
+ keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+altgr alt keycode 72 = Ascii_8
+ keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+altgr alt keycode 73 = Ascii_9
+ keycode 74 = KP_Subtract
+ keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+altgr alt keycode 75 = Ascii_4
+ keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+altgr alt keycode 76 = Ascii_5
+ keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+altgr alt keycode 77 = Ascii_6
+ keycode 78 = KP_Add
+ keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+altgr alt keycode 79 = Ascii_1
+ keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+altgr alt keycode 80 = Ascii_2
+ keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+altgr alt keycode 81 = Ascii_3
+ keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+altgr alt keycode 82 = Ascii_0
+ keycode 83 = KP_Period
+altgr control keycode 83 = Boot
+control alt keycode 83 = Boot
+altgr control alt keycode 83 = Boot
+ keycode 84 = Last_Console
+ keycode 85 =
+ keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+altgr alt keycode 86 = Meta_less
+ keycode 87 = F11 F11 F11 F11
+ control keycode 87 = F11
+altgr control keycode 87 = F11
+ alt keycode 87 = Console_11
+altgr alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+altgr control alt keycode 87 = Console_11
+ keycode 88 = F12 F12 F12 F12
+ control keycode 88 = F12
+altgr control keycode 88 = F12
+ alt keycode 88 = Console_12
+altgr alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+altgr control alt keycode 88 = Console_12
+ keycode 89 =
+ keycode 90 =
+ keycode 91 =
+ keycode 92 =
+ keycode 93 =
+ keycode 94 =
+ keycode 95 =
+ keycode 96 = KP_Enter
+keycode 97 = Control
+ keycode 98 = KP_Divide
+ keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+altgr control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+altgr alt keycode 99 = Control_backslash
+keycode 100 = AltGr_Lock
+ keycode 101 = Break
+ keycode 102 = Find
+ keycode 103 = Up
+ keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+altgr shift keycode 104 = Scroll_Backward
+ keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ keycode 107 = Select
+ keycode 108 = Down
+ keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+altgr shift keycode 109 = Scroll_Forward
+ keycode 110 = Insert
+ keycode 111 = Remove
+altgr control keycode 111 = Boot
+control alt keycode 111 = Boot
+altgr control alt keycode 111 = Boot
+ keycode 112 =
+ keycode 113 =
+ keycode 114 =
+ keycode 115 =
+ keycode 116 =
+ keycode 117 =
+ keycode 118 =
+ keycode 119 =
+ keycode 120 =
+ keycode 121 =
+ keycode 122 =
+ keycode 123 =
+ keycode 124 =
+ keycode 125 =
+ keycode 126 =
+ keycode 127 =
diff --git a/keymaps/i386/qwerty/ru2.kmap b/keymaps/i386/qwerty/ru2.kmap
new file mode 100644
index 0000000..45b04f2
--- /dev/null
+++ b/keymaps/i386/qwerty/ru2.kmap
@@ -0,0 +1,296 @@
+! Date: Tue, 7 Jun 1994 10:06:20 +1000 (EST)
+! From: Alexandre Krioutchkov <A.Kriouctchkov@st.nepean.uws.edu.au>
+!
+! ru.map and ru1.map are keyboard maps for KOI-8 (sometimes called
+! main coding). Most of the people, who used Russian in MS-DOS,
+! work with an alternative coding. I'm not sure, but it seems to me
+! in WordPerfect 5.1 Russian, Ukrainian, Byelorussian language extension
+! it's code page 899. (Note: there is also another coding for MS-Windows).
+! Fonts for Russian alternative coding you can find in Cyr_a8x{8,14,16}.
+!
+! Russian Alternative Cyrillic keyboard.map. "Cyrillic" mode is toggled by
+! Right Alt key. 18-Apr-94 Alexandre Krioutchkov alexk@st.nepean.uws.edu.au
+strings as usual
+
+ keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+ keycode 2 = one exclam one exclam
+ alt keycode 2 = Meta_one
+ keycode 3 = two at two quotedbl
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+ keycode 4 = three numbersign three question
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ keycode 5 = four dollar four semicolon
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ keycode 6 = five percent five colon
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ keycode 7 = six asciicircum six comma
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ keycode 8 = seven ampersand seven period
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+ keycode 9 = eight asterisk eight asterisk
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+ keycode 10 = nine parenleft nine parenleft
+ alt keycode 10 = Meta_nine
+ keycode 11 = zero parenright zero parenright
+ alt keycode 11 = Meta_zero
+ keycode 12 = minus underscore minus underscore
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+ keycode 13 = equal plus equal plus
+ alt keycode 13 = Meta_equal
+ keycode 14 = BackSpace BackSpace BackSpace BackSpace
+ alt keycode 14 = Meta_Delete
+ keycode 15 = Tab Tab Tab Tab
+ alt keycode 15 = Meta_Tab
+ keycode 16 = +q +Q +169 +137
+ control keycode 16 = Control_q
+altgr control keycode 16 = Control_q
+ keycode 17 = +w +W +230 +150
+ control keycode 17 = Control_w
+altgr control keycode 17 = Control_w
+ keycode 18 = +e +E +227 +147
+ control keycode 18 = Control_e
+altgr control keycode 18 = Control_e
+ keycode 19 = +r +R +170 +138
+ control keycode 19 = Control_r
+altgr control keycode 19 = Control_r
+ keycode 20 = +t +T +165 +133
+ control keycode 20 = Control_t
+altgr control keycode 20 = Control_t
+ keycode 21 = +y +Y +173 +141
+ control keycode 21 = Control_y
+altgr control keycode 21 = Control_y
+ keycode 22 = +u +U +163 +131
+ control keycode 22 = Control_u
+altgr control keycode 22 = Control_u
+ keycode 23 = +i +I +232 +152
+ control keycode 23 = Tab
+altgr control keycode 23 = Tab
+ keycode 24 = +o +O +233 +153
+ control keycode 24 = Control_o
+altgr control keycode 24 = Control_o
+ keycode 25 = +p +P +167 +135
+ control keycode 25 = Control_p
+altgr control keycode 25 = Control_p
+ keycode 26 = bracketleft braceleft +229 +149
+ control keycode 26 = Escape
+altgr control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ keycode 27 = bracketright braceright bracketleft bracketright
+ control keycode 27 = Control_bracketright
+altgr control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+ keycode 29 = Control
+ keycode 30 = +a +A +228 +148
+ control keycode 30 = Control_a
+altgr control keycode 30 = Control_a
+ keycode 31 = +s +S +235 +155
+ control keycode 31 = Control_s
+altgr control keycode 31 = Control_s
+ keycode 32 = +d +D +162 +130
+ control keycode 32 = Control_d
+altgr control keycode 32 = Control_d
+ keycode 33 = +f +F +160 +128
+ control keycode 33 = Control_f
+altgr control keycode 33 = Control_f
+ keycode 34 = +g +G +175 +143
+ control keycode 34 = Control_g
+altgr control keycode 34 = Control_g
+ keycode 35 = +h +H +224 +144
+ control keycode 35 = BackSpace
+altgr control keycode 35 = BackSpace
+ keycode 36 = +j +J +174 +142
+ control keycode 36 = Linefeed
+altgr control keycode 36 = Linefeed
+ keycode 37 = +k +K +171 +139
+ control keycode 37 = Control_k
+altgr control keycode 37 = Control_k
+ keycode 38 = +l +L +164 +132
+ control keycode 38 = Control_l
+altgr control keycode 38 = Control_l
+ keycode 39 = semicolon colon +166 +134
+ alt keycode 39 = Meta_semicolon
+ keycode 40 = apostrophe quotedbl +237 +157
+ control keycode 40 = Control_g
+altgr control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+ keycode 41 = grave asciitilde +234 +154
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+ keycode 42 = Shift
+ keycode 43 = backslash bar backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ keycode 44 = +z +Z +239 +159
+ control keycode 44 = Control_z
+altgr control keycode 44 = Control_z
+ keycode 45 = +x +X +231 +151
+ control keycode 45 = Control_x
+altgr control keycode 45 = Control_x
+ keycode 46 = +c +C +225 +145
+ control keycode 46 = Control_c
+altgr control keycode 46 = Control_c
+ keycode 47 = +v +V +172 +140
+ control keycode 47 = Control_v
+altgr control keycode 47 = Control_v
+ keycode 48 = +b +B +168 +136
+ control keycode 48 = Control_b
+altgr control keycode 48 = Control_b
+ keycode 49 = +n +N +226 +146
+ control keycode 49 = Control_n
+altgr control keycode 49 = Control_n
+ keycode 50 = +m +M +236 +156
+ control keycode 50 = Control_m
+altgr control keycode 50 = Control_m
+ keycode 51 = comma less +161 +129
+ alt keycode 51 = Meta_comma
+ keycode 52 = period greater +238 +158
+ alt keycode 52 = Meta_period
+ keycode 53 = slash question slash question !+163 +179
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+ keycode 54 = Shift
+ keycode 55 = KP_Multiply
+ keycode 56 = Alt
+ keycode 57 = space space space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ keycode 58 = Caps_Lock
+ keycode 59 = F1 F11 F1 F11
+ control keycode 59 = F1
+ alt keycode 59 = Console_1
+altgr alt keycode 59 = Console_1
+ keycode 60 = F2 F12 F2 F12
+ control keycode 60 = F2
+ alt keycode 60 = Console_2
+altgr alt keycode 60 = Console_2
+ keycode 61 = F3 F13 F3 F13
+ control keycode 61 = F3
+ alt keycode 61 = Console_3
+altgr alt keycode 61 = Console_3
+ keycode 62 = F4 F14 F4 F14
+ control keycode 62 = F4
+ alt keycode 62 = Console_4
+altgr alt keycode 62 = Console_4
+ keycode 63 = F5 F15 F5 F15
+ control keycode 63 = F5
+ alt keycode 63 = Console_5
+altgr alt keycode 63 = Console_5
+ keycode 64 = F6 F16 F6 F16
+ control keycode 64 = F6
+ alt keycode 64 = Console_6
+altgr alt keycode 64 = Console_6
+ keycode 65 = F7 F17 F7 F17
+ control keycode 65 = F7
+ alt keycode 65 = Console_7
+altgr alt keycode 65 = Console_7
+ keycode 66 = F8 F18 F8 F18
+ control keycode 66 = F8
+ alt keycode 66 = Console_8
+altgr alt keycode 66 = Console_8
+ keycode 67 = F9 F19 F9 F19
+ control keycode 67 = F9
+ alt keycode 67 = Console_9
+altgr alt keycode 67 = Console_9
+ keycode 68 = F10 F20 F10 F20
+ control keycode 68 = F10
+ alt keycode 68 = Console_10
+altgr alt keycode 68 = Console_10
+ keycode 69 = Num_Lock
+ keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+ keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+ keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+ keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+ keycode 74 = KP_Subtract
+ keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+ keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+ keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+ keycode 78 = KP_Add
+ keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+ keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+ keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+ keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+ keycode 83 = KP_Period
+altgr control keycode 83 = Boot
+control alt keycode 83 = Boot
+ keycode 84 = Last_Console
+ keycode 85 =
+ keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+ keycode 87 = F11 F11 F11 F11
+ control keycode 87 = F11
+ alt keycode 87 = Console_11
+altgr alt keycode 87 = Console_11
+ keycode 88 = F12 F12 F12 F12
+ control keycode 88 = F12
+ alt keycode 88 = Console_12
+altgr alt keycode 88 = Console_12
+ keycode 89 =
+ keycode 90 =
+ keycode 91 =
+ keycode 92 =
+ keycode 93 =
+ keycode 94 =
+ keycode 95 =
+ keycode 96 = KP_Enter
+ keycode 97 = Control
+ keycode 98 = KP_Divide
+ keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+ keycode 100 = AltGr_Lock
+ keycode 101 = Break
+ keycode 102 = Find
+ keycode 103 = Up
+ keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+ keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ keycode 107 = Select
+ keycode 108 = Down
+ keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+ keycode 110 = Insert
+ keycode 111 = Remove
+altgr control keycode 111 = Boot
+control alt keycode 111 = Boot
+ keycode 112 =
+ keycode 113 =
+ keycode 114 =
+ keycode 115 =
+ keycode 116 =
+ keycode 117 =
+ keycode 118 =
+ keycode 119 =
+ keycode 120 =
+ keycode 121 =
+ keycode 122 =
+ keycode 123 =
+ keycode 124 =
+ keycode 125 =
+ keycode 126 =
+ keycode 127 =
diff --git a/keymaps/i386/qwerty/ru3.kmap b/keymaps/i386/qwerty/ru3.kmap
new file mode 100644
index 0000000..263936b
--- /dev/null
+++ b/keymaps/i386/qwerty/ru3.kmap
@@ -0,0 +1,473 @@
+# ru3.map is a Russian keymap for a 102 key keyboard, prepared by
+# IPLabs Linux Team (www.iplabs.ru/Linux and www.logic.ru)
+# from (ru1.map) by Eugene Crosser's (ru.map):
+# by Alexey Vovenko <vovenko@ixwin.ihep.su>.
+#
+# CapsLock is used to change rus/lat, while Shift+CapsLock is used to
+# lock capitals.
+
+ keycode 0 =
+ keycode 1 = Escape Escape Escape Escape
+ alt keycode 1 = Meta_Escape
+altgr alt keycode 1 = Meta_Escape
+ keycode 2 = one exclam one exclam
+ alt keycode 2 = Meta_one
+altgr alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+altgr shift alt keycode 2 = Meta_exclam
+ keycode 3 = two at two quotedbl
+ control keycode 3 = nul
+altgr control keycode 3 = nul
+ alt keycode 3 = Meta_two
+altgr alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_at
+altgr shift alt keycode 3 = Meta_at
+ keycode 4 = three numbersign three numbersign
+ control keycode 4 = Escape
+altgr control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+altgr alt keycode 4 = Meta_three
+ shift alt keycode 4 = Meta_numbersign
+altgr shift alt keycode 4 = Meta_numbersign
+ keycode 5 = four dollar four semicolon
+ control keycode 5 = Control_backslash
+altgr control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+altgr alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+altgr shift alt keycode 5 = Meta_dollar
+ keycode 6 = five percent five colon
+ control keycode 6 = Control_bracketright
+altgr control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+altgr alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+altgr shift alt keycode 6 = Meta_percent
+ keycode 7 = six asciicircum six comma
+ control keycode 7 = Control_asciicircum
+altgr control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+altgr alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_asciicircum
+altgr shift alt keycode 7 = Meta_asciicircum
+ keycode 8 = seven ampersand seven period
+ control keycode 8 = Control_underscore
+altgr control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+altgr alt keycode 8 = Meta_seven
+ shift alt keycode 8 = Meta_ampersand
+altgr shift alt keycode 8 = Meta_ampersand
+ keycode 9 = eight asterisk eight asterisk
+ control keycode 9 = Delete
+altgr control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+altgr alt keycode 9 = Meta_eight
+ shift alt keycode 9 = Meta_asterisk
+altgr shift alt keycode 9 = Meta_asterisk
+ keycode 10 = nine parenleft nine parenleft
+ alt keycode 10 = Meta_nine
+altgr alt keycode 10 = Meta_nine
+ shift alt keycode 10 = Meta_parenleft
+altgr shift alt keycode 10 = Meta_parenleft
+ keycode 11 = zero parenright zero parenright
+ alt keycode 11 = Meta_zero
+altgr alt keycode 11 = Meta_zero
+ shift alt keycode 11 = Meta_parenright
+altgr shift alt keycode 11 = Meta_parenright
+ keycode 12 = minus underscore minus underscore
+ control keycode 12 = Control_underscore
+altgr control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+altgr alt keycode 12 = Meta_minus
+ shift alt keycode 12 = Meta_underscore
+altgr shift alt keycode 12 = Meta_underscore
+ keycode 13 = equal plus equal plus
+ alt keycode 13 = Meta_equal
+altgr alt keycode 13 = Meta_equal
+ shift alt keycode 13 = Meta_plus
+altgr shift alt keycode 13 = Meta_plus
+ keycode 14 = Delete Delete Delete Delete
+ alt keycode 14 = Meta_Delete
+altgr alt keycode 14 = Meta_Delete
+ keycode 15 = Tab Tab Tab Tab
+ alt keycode 15 = Meta_Tab
+altgr alt keycode 15 = Meta_Tab
+ keycode 16 = +q
+altgr keycode 16 = +0xCA
+altgr shift keycode 16 = +0xEA
+ keycode 17 = +w
+altgr keycode 17 = +0xC3
+altgr shift keycode 17 = +0xE3
+ keycode 18 = +e
+altgr keycode 18 = +0xD5
+altgr shift keycode 18 = +0xF5
+ keycode 19 = +r
+altgr keycode 19 = +0xCB
+altgr shift keycode 19 = +0xEB
+ keycode 20 = +t
+altgr keycode 20 = +0xC5
+altgr shift keycode 20 = +0xE5
+ keycode 21 = +y
+altgr keycode 21 = +0xCE
+altgr shift keycode 21 = +0xEE
+ keycode 22 = +u
+altgr keycode 22 = +0xC7
+altgr shift keycode 22 = +0xE7
+ keycode 23 = +i
+altgr keycode 23 = +0xDB
+altgr shift keycode 23 = +0xFB
+ keycode 24 = +o
+altgr keycode 24 = +0xDD
+altgr shift keycode 24 = +0xFD
+ keycode 25 = +p
+altgr keycode 25 = +0xDA
+altgr shift keycode 25 = +0xFA
+ keycode 26 = bracketleft braceleft
+altgr keycode 26 = +0xC8
+altgr shift keycode 26 = +0xE8
+ control keycode 26 = Escape
+altgr control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+altgr alt keycode 26 = Meta_bracketleft
+ keycode 27 = bracketright braceright bracketleft bracketright
+
+# The keycode "0xFF" is too dangerous for many programs (including emacs).
+# So let it be bracket instead of Hard Sign.
+altgr keycode 27 = +0xDF
+altgr shift keycode 27 = +0xFF
+ control keycode 27 = Control_bracketright
+altgr control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+altgr alt keycode 27 = Meta_bracketright
+ keycode 28 = Return
+ alt keycode 28 = 0x080d
+altgr alt keycode 28 = 0x080d
+ control keycode 28 = Linefeed
+altgr control keycode 28 = Linefeed
+ keycode 29 = Control
+ keycode 30 = +a
+altgr keycode 30 = +0xC6
+altgr shift keycode 30 = +0xE6
+ keycode 31 = +s
+altgr keycode 31 = +0xD9
+altgr shift keycode 31 = +0xF9
+ keycode 32 = +d
+altgr keycode 32 = +0xD7
+altgr shift keycode 32 = +0xF7
+ keycode 33 = +f
+altgr keycode 33 = +0xC1
+altgr shift keycode 33 = +0xE1
+ keycode 34 = +g
+altgr keycode 34 = +0xD0
+altgr shift keycode 34 = +0xF0
+ keycode 35 = +h
+altgr keycode 35 = +0xD2
+altgr shift keycode 35 = +0xF2
+ keycode 36 = +j
+altgr keycode 36 = +0xCF
+altgr shift keycode 36 = +0xEF
+ keycode 37 = +k
+altgr keycode 37 = +0xCC
+altgr shift keycode 37 = +0xEC
+ keycode 38 = +l
+altgr keycode 38 = +0xC4
+altgr shift keycode 38 = +0xE4
+ keycode 39 = semicolon colon
+altgr keycode 39 = +0xD6
+altgr shift keycode 39 = +0xF6
+ alt keycode 39 = Meta_semicolon
+altgr alt keycode 39 = Meta_semicolon
+ keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+altgr control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+altgr alt keycode 40 = Meta_apostrophe
+altgr keycode 40 = +0xDC
+altgr shift keycode 40 = +0xFC
+ keycode 41 = grave asciitilde grave asciitilde
+ control keycode 41 = nul
+altgr control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+altgr alt keycode 41 = Meta_grave
+ keycode 42 = Shift
+ keycode 43 = backslash bar backslash bar
+ control keycode 43 = Control_backslash
+altgr control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+altgr alt keycode 43 = Meta_backslash
+ shift alt keycode 43 = Meta_bar
+altgr shift alt keycode 43 = Meta_bar
+ keycode 44 = +z
+altgr keycode 44 = +0xD1
+altgr shift keycode 44 = +0xF1
+ keycode 45 = +x
+altgr keycode 45 = +0xDE
+altgr shift keycode 45 = +0xFE
+ keycode 46 = +c
+altgr keycode 46 = +0xD3
+altgr shift keycode 46 = +0xF3
+ keycode 47 = +v
+altgr keycode 47 = +0xCD
+altgr shift keycode 47 = +0xED
+ keycode 48 = +b
+altgr keycode 48 = +0xC9
+altgr shift keycode 48 = +0xE9
+ keycode 49 = +n
+altgr keycode 49 = +0xD4
+altgr shift keycode 49 = +0xF4
+ keycode 50 = +m
+altgr keycode 50 = +0xD8
+altgr shift keycode 50 = +0xF8
+ keycode 51 = comma less
+ alt keycode 51 = Meta_comma
+altgr alt keycode 51 = Meta_comma
+ alt shift keycode 51 = Meta_less
+altgr alt shift keycode 51 = Meta_less
+altgr keycode 51 = +0xC2
+altgr shift keycode 51 = +0xE2
+ keycode 52 = period greater
+ alt keycode 52 = Meta_period
+altgr alt keycode 52 = Meta_period
+ alt shift keycode 52 = Meta_greater
+altgr alt shift keycode 52 = Meta_greater
+altgr keycode 52 = +0xC0
+altgr shift keycode 52 = +0xE0
+
+# Can you survive without "yuo" letter? If no put +163 and +179 for
+# altgr keycode 53.
+ keycode 53 = slash question slash question
+altgr keycode 53 = +163
+altgr shift keycode 53 = +179
+ control keycode 53 = Delete
+altgr control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+altgr alt keycode 53 = Meta_slash
+ shift alt keycode 53 = Meta_question
+altgr shift alt keycode 53 = Meta_question
+ keycode 54 = Shift
+ keycode 55 = KP_Multiply
+ keycode 56 = Alt
+ keycode 57 = space space space space
+ control keycode 57 = nul
+altgr control keycode 57 = nul
+ alt keycode 57 = Meta_space
+altgr alt keycode 57 = Meta_space
+keycode 58 =AltGr_Lock
+ shift keycode 58 = Caps_Lock
+altgr shift keycode 58 = Caps_Lock
+ keycode 59 = F1 F11 F1 F11
+ control keycode 59 = F1
+altgr control keycode 59 = F1
+ alt keycode 59 = Console_1
+altgr alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+altgr control alt keycode 59 = Console_1
+ keycode 60 = F2 F12 F2 F12
+ control keycode 60 = F2
+altgr control keycode 60 = F2
+ alt keycode 60 = Console_2
+altgr alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+altgr control alt keycode 60 = Console_2
+ keycode 61 = F3 F13 F3 F13
+ control keycode 61 = F3
+altgr control keycode 61 = F3
+ alt keycode 61 = Console_3
+altgr alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+altgr control alt keycode 61 = Console_3
+ keycode 62 = F4 F14 F4 F14
+ control keycode 62 = F4
+ altgr control keycode 62 = F4
+ alt keycode 62 = Console_4
+altgr alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+altgr control alt keycode 62 = Console_4
+ keycode 63 = F5 F15 F5 F15
+ control keycode 63 = F5
+altgr control keycode 63 = F5
+ alt keycode 63 = Console_5
+altgr alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+altgr control alt keycode 63 = Console_5
+ keycode 64 = F6 F16 F6 F16
+ control keycode 64 = F6
+altgr control keycode 64 = F6
+ alt keycode 64 = Console_6
+altgr alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+altgr control alt keycode 64 = Console_6
+ keycode 65 = F7 F17 F7 F17
+ control keycode 65 = F7
+altgr control keycode 65 = F7
+ alt keycode 65 = Console_7
+altgr alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+altgr control alt keycode 65 = Console_7
+ keycode 66 = F8 F18 F8 F18
+ control keycode 66 = F8
+altgr control keycode 66 = F8
+ alt keycode 66 = Console_8
+altgr alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+altgr control alt keycode 66 = Console_8
+ keycode 67 = F9 F19 F9 F19
+ control keycode 67 = F9
+altgr control keycode 67 = F9
+ alt keycode 67 = Console_9
+altgr alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+altgr control alt keycode 67 = Console_9
+ keycode 68 = F10 F20 F10 F20
+ control keycode 68 = F10
+altgr control keycode 68 = F10
+ alt keycode 68 = Console_10
+altgr alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+altgr control alt keycode 68 = Console_10
+ keycode 69 = Num_Lock
+ keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+altgr control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+altgr alt keycode 70 = Scroll_Lock
+ keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+altgr alt keycode 71 = Ascii_7
+ keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+altgr alt keycode 72 = Ascii_8
+ keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+altgr alt keycode 73 = Ascii_9
+ keycode 74 = KP_Subtract
+ keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+altgr alt keycode 75 = Ascii_4
+ keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+altgr alt keycode 76 = Ascii_5
+ keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+altgr alt keycode 77 = Ascii_6
+ keycode 78 = KP_Add
+ keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+altgr alt keycode 79 = Ascii_1
+ keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+altgr alt keycode 80 = Ascii_2
+ keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+altgr alt keycode 81 = Ascii_3
+ keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+altgr alt keycode 82 = Ascii_0
+ keycode 83 = KP_Period
+altgr control keycode 83 = Boot
+control alt keycode 83 = Boot
+altgr control alt keycode 83 = Boot
+ keycode 84 = Last_Console
+ keycode 85 =
+ keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+altgr alt keycode 86 = Meta_less
+ keycode 87 = F11 F11 F11 F11
+ control keycode 87 = F11
+altgr control keycode 87 = F11
+ alt keycode 87 = Console_11
+altgr alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+altgr control alt keycode 87 = Console_11
+ keycode 88 = F12 F12 F12 F12
+ control keycode 88 = F12
+altgr control keycode 88 = F12
+ alt keycode 88 = Console_12
+altgr alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+altgr control alt keycode 88 = Console_12
+ keycode 89 =
+ keycode 90 =
+ keycode 91 =
+ keycode 92 =
+ keycode 93 =
+ keycode 94 =
+ keycode 95 =
+ keycode 96 = KP_Enter
+keycode 97 = Control
+ keycode 98 = KP_Divide
+ keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+altgr control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+altgr alt keycode 99 = Control_backslash
+ keycode 100 = AltGr
+ keycode 101 = Break
+ keycode 102 = Find
+ keycode 103 = Up
+ keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+altgr shift keycode 104 = Scroll_Backward
+ keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ keycode 107 = Select
+ keycode 108 = Down
+ keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+altgr shift keycode 109 = Scroll_Forward
+ keycode 110 = Insert
+ keycode 111 = Remove
+altgr control keycode 111 = Boot
+control alt keycode 111 = Boot
+altgr control alt keycode 111 = Boot
+ keycode 112 =
+ keycode 113 =
+ keycode 114 =
+ keycode 115 =
+ keycode 116 =
+ keycode 117 =
+ keycode 118 =
+ keycode 119 =
+ keycode 120 =
+ keycode 121 =
+ keycode 122 =
+ keycode 123 =
+ keycode 124 =
+ keycode 125 =
+ keycode 126 =
+ keycode 127 =
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string F21 = ""
+string F22 = ""
+string F23 = ""
+string F24 = ""
+string F25 = ""
+string F26 = ""
+
diff --git a/keymaps/i386/qwerty/ru4.kmap b/keymaps/i386/qwerty/ru4.kmap
new file mode 100644
index 0000000..948c3cf
--- /dev/null
+++ b/keymaps/i386/qwerty/ru4.kmap
@@ -0,0 +1,471 @@
+# ru4.map is a Russian keymap for a ms(105 keys) keyboard, prepared by
+# IPLabs Linux Team (www.iplabs.ru/Linux and www.logic.ru)
+# from (ru1.map) by Eugene Crosser's (ru.map):
+# by Alexey Vovenko <vovenko@ixwin.ihep.su>.
+#
+# CapsLock is used to change rus/lat, while Shift+CapsLock is used to
+# lock capitals.
+
+ keycode 0 =
+ keycode 1 = Escape Escape Escape Escape
+ alt keycode 1 = Meta_Escape
+altgr alt keycode 1 = Meta_Escape
+ keycode 2 = one exclam one exclam
+ alt keycode 2 = Meta_one
+altgr alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+altgr shift alt keycode 2 = Meta_exclam
+ keycode 3 = two at two quotedbl
+ control keycode 3 = nul
+altgr control keycode 3 = nul
+ alt keycode 3 = Meta_two
+altgr alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_at
+altgr shift alt keycode 3 = Meta_at
+ keycode 4 = three numbersign three numbersign
+ control keycode 4 = Escape
+altgr control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+altgr alt keycode 4 = Meta_three
+ shift alt keycode 4 = Meta_numbersign
+altgr shift alt keycode 4 = Meta_numbersign
+ keycode 5 = four dollar four semicolon
+ control keycode 5 = Control_backslash
+altgr control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+altgr alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+altgr shift alt keycode 5 = Meta_dollar
+ keycode 6 = five percent five percent
+ control keycode 6 = Control_bracketright
+altgr control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+altgr alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+altgr shift alt keycode 6 = Meta_percent
+ keycode 7 = six asciicircum six colon
+ control keycode 7 = Control_asciicircum
+altgr control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+altgr alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_asciicircum
+altgr shift alt keycode 7 = Meta_asciicircum
+ keycode 8 = seven ampersand seven question
+ control keycode 8 = Control_underscore
+altgr control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+altgr alt keycode 8 = Meta_seven
+ shift alt keycode 8 = Meta_ampersand
+altgr shift alt keycode 8 = Meta_ampersand
+ keycode 9 = eight asterisk eight asterisk
+ control keycode 9 = Delete
+altgr control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+altgr alt keycode 9 = Meta_eight
+ shift alt keycode 9 = Meta_asterisk
+altgr shift alt keycode 9 = Meta_asterisk
+ keycode 10 = nine parenleft nine parenleft
+ alt keycode 10 = Meta_nine
+altgr alt keycode 10 = Meta_nine
+ shift alt keycode 10 = Meta_parenleft
+altgr shift alt keycode 10 = Meta_parenleft
+ keycode 11 = zero parenright zero parenright
+ alt keycode 11 = Meta_zero
+altgr alt keycode 11 = Meta_zero
+ shift alt keycode 11 = Meta_parenright
+altgr shift alt keycode 11 = Meta_parenright
+ keycode 12 = minus underscore minus underscore
+ control keycode 12 = Control_underscore
+altgr control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+altgr alt keycode 12 = Meta_minus
+ shift alt keycode 12 = Meta_underscore
+altgr shift alt keycode 12 = Meta_underscore
+ keycode 13 = equal plus equal plus
+ alt keycode 13 = Meta_equal
+altgr alt keycode 13 = Meta_equal
+ shift alt keycode 13 = Meta_plus
+altgr shift alt keycode 13 = Meta_plus
+ keycode 14 = Delete Delete Delete Delete
+ alt keycode 14 = Meta_Delete
+altgr alt keycode 14 = Meta_Delete
+ keycode 15 = Tab Tab Tab Tab
+ alt keycode 15 = Meta_Tab
+altgr alt keycode 15 = Meta_Tab
+ keycode 16 = +q
+altgr keycode 16 = +0xCA
+altgr shift keycode 16 = +0xEA
+ keycode 17 = +w
+altgr keycode 17 = +0xC3
+altgr shift keycode 17 = +0xE3
+ keycode 18 = +e
+altgr keycode 18 = +0xD5
+altgr shift keycode 18 = +0xF5
+ keycode 19 = +r
+altgr keycode 19 = +0xCB
+altgr shift keycode 19 = +0xEB
+ keycode 20 = +t
+altgr keycode 20 = +0xC5
+altgr shift keycode 20 = +0xE5
+ keycode 21 = +y
+altgr keycode 21 = +0xCE
+altgr shift keycode 21 = +0xEE
+ keycode 22 = +u
+altgr keycode 22 = +0xC7
+altgr shift keycode 22 = +0xE7
+ keycode 23 = +i
+altgr keycode 23 = +0xDB
+altgr shift keycode 23 = +0xFB
+ keycode 24 = +o
+altgr keycode 24 = +0xDD
+altgr shift keycode 24 = +0xFD
+ keycode 25 = +p
+altgr keycode 25 = +0xDA
+altgr shift keycode 25 = +0xFA
+ keycode 26 = bracketleft braceleft
+altgr keycode 26 = +0xC8
+altgr shift keycode 26 = +0xE8
+ control keycode 26 = Escape
+altgr control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+altgr alt keycode 26 = Meta_bracketleft
+ keycode 27 = bracketright braceright bracketleft bracketright
+
+# The keycode "0xFF" is too dangerous for many programs (including emacs).
+# So let it be bracket instead of Hard Sign.
+altgr keycode 27 = +0xDF
+altgr shift keycode 27 = +0xFF
+ control keycode 27 = Control_bracketright
+altgr control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+altgr alt keycode 27 = Meta_bracketright
+ keycode 28 = Return
+ alt keycode 28 = 0x080d
+altgr alt keycode 28 = 0x080d
+ control keycode 28 = Linefeed
+altgr control keycode 28 = Linefeed
+ keycode 29 = Control
+ keycode 30 = +a
+altgr keycode 30 = +0xC6
+altgr shift keycode 30 = +0xE6
+ keycode 31 = +s
+altgr keycode 31 = +0xD9
+altgr shift keycode 31 = +0xF9
+ keycode 32 = +d
+altgr keycode 32 = +0xD7
+altgr shift keycode 32 = +0xF7
+ keycode 33 = +f
+altgr keycode 33 = +0xC1
+altgr shift keycode 33 = +0xE1
+ keycode 34 = +g
+altgr keycode 34 = +0xD0
+altgr shift keycode 34 = +0xF0
+ keycode 35 = +h
+altgr keycode 35 = +0xD2
+altgr shift keycode 35 = +0xF2
+ keycode 36 = +j
+altgr keycode 36 = +0xCF
+altgr shift keycode 36 = +0xEF
+ keycode 37 = +k
+altgr keycode 37 = +0xCC
+altgr shift keycode 37 = +0xEC
+ keycode 38 = +l
+altgr keycode 38 = +0xC4
+altgr shift keycode 38 = +0xE4
+ keycode 39 = semicolon colon
+altgr keycode 39 = +0xD6
+altgr shift keycode 39 = +0xF6
+ alt keycode 39 = Meta_semicolon
+altgr alt keycode 39 = Meta_semicolon
+ keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+altgr control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+altgr alt keycode 40 = Meta_apostrophe
+altgr keycode 40 = +0xDC
+altgr shift keycode 40 = +0xFC
+ keycode 41 = grave asciitilde +163 +179
+ control keycode 41 = nul
+altgr control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+altgr alt keycode 41 = Meta_grave
+ keycode 42 = Shift
+ keycode 43 = backslash bar slash bar
+ control keycode 43 = Control_backslash
+altgr control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+altgr alt keycode 43 = Meta_backslash
+ shift alt keycode 43 = Meta_bar
+altgr shift alt keycode 43 = Meta_bar
+ keycode 44 = +z
+altgr keycode 44 = +0xD1
+altgr shift keycode 44 = +0xF1
+ keycode 45 = +x
+altgr keycode 45 = +0xDE
+altgr shift keycode 45 = +0xFE
+ keycode 46 = +c
+altgr keycode 46 = +0xD3
+altgr shift keycode 46 = +0xF3
+ keycode 47 = +v
+altgr keycode 47 = +0xCD
+altgr shift keycode 47 = +0xED
+ keycode 48 = +b
+altgr keycode 48 = +0xC9
+altgr shift keycode 48 = +0xE9
+ keycode 49 = +n
+altgr keycode 49 = +0xD4
+altgr shift keycode 49 = +0xF4
+ keycode 50 = +m
+altgr keycode 50 = +0xD8
+altgr shift keycode 50 = +0xF8
+ keycode 51 = comma less
+ alt keycode 51 = Meta_comma
+altgr alt keycode 51 = Meta_comma
+ alt shift keycode 51 = Meta_less
+altgr alt shift keycode 51 = Meta_less
+altgr keycode 51 = +0xC2
+altgr shift keycode 51 = +0xE2
+ keycode 52 = period greater
+ alt keycode 52 = Meta_period
+altgr alt keycode 52 = Meta_period
+ alt shift keycode 52 = Meta_greater
+altgr alt shift keycode 52 = Meta_greater
+altgr keycode 52 = +0xC0
+altgr shift keycode 52 = +0xE0
+
+# Can you survive without "yuo" letter? If no put +163 and +179 for
+# altgr keycode 53.
+ keycode 53 = slash question period comma
+ control keycode 53 = Delete
+altgr control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+altgr alt keycode 53 = Meta_slash
+ shift alt keycode 53 = Meta_question
+altgr shift alt keycode 53 = Meta_question
+ keycode 54 = Shift
+ keycode 55 = KP_Multiply
+ keycode 56 = Alt
+ keycode 57 = space space space space
+ control keycode 57 = nul
+altgr control keycode 57 = nul
+ alt keycode 57 = Meta_space
+altgr alt keycode 57 = Meta_space
+keycode 58 =AltGr_Lock
+ shift keycode 58 = Caps_Lock
+altgr shift keycode 58 = Caps_Lock
+ keycode 59 = F1 F11 F1 F11
+ control keycode 59 = F1
+altgr control keycode 59 = F1
+ alt keycode 59 = Console_1
+altgr alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+altgr control alt keycode 59 = Console_1
+ keycode 60 = F2 F12 F2 F12
+ control keycode 60 = F2
+altgr control keycode 60 = F2
+ alt keycode 60 = Console_2
+altgr alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+altgr control alt keycode 60 = Console_2
+ keycode 61 = F3 F13 F3 F13
+ control keycode 61 = F3
+altgr control keycode 61 = F3
+ alt keycode 61 = Console_3
+altgr alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+altgr control alt keycode 61 = Console_3
+ keycode 62 = F4 F14 F4 F14
+ control keycode 62 = F4
+ altgr control keycode 62 = F4
+ alt keycode 62 = Console_4
+altgr alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+altgr control alt keycode 62 = Console_4
+ keycode 63 = F5 F15 F5 F15
+ control keycode 63 = F5
+altgr control keycode 63 = F5
+ alt keycode 63 = Console_5
+altgr alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+altgr control alt keycode 63 = Console_5
+ keycode 64 = F6 F16 F6 F16
+ control keycode 64 = F6
+altgr control keycode 64 = F6
+ alt keycode 64 = Console_6
+altgr alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+altgr control alt keycode 64 = Console_6
+ keycode 65 = F7 F17 F7 F17
+ control keycode 65 = F7
+altgr control keycode 65 = F7
+ alt keycode 65 = Console_7
+altgr alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+altgr control alt keycode 65 = Console_7
+ keycode 66 = F8 F18 F8 F18
+ control keycode 66 = F8
+altgr control keycode 66 = F8
+ alt keycode 66 = Console_8
+altgr alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+altgr control alt keycode 66 = Console_8
+ keycode 67 = F9 F19 F9 F19
+ control keycode 67 = F9
+altgr control keycode 67 = F9
+ alt keycode 67 = Console_9
+altgr alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+altgr control alt keycode 67 = Console_9
+ keycode 68 = F10 F20 F10 F20
+ control keycode 68 = F10
+altgr control keycode 68 = F10
+ alt keycode 68 = Console_10
+altgr alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+altgr control alt keycode 68 = Console_10
+ keycode 69 = Num_Lock
+ keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+altgr control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+altgr alt keycode 70 = Scroll_Lock
+ keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+altgr alt keycode 71 = Ascii_7
+ keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+altgr alt keycode 72 = Ascii_8
+ keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+altgr alt keycode 73 = Ascii_9
+ keycode 74 = KP_Subtract
+ keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+altgr alt keycode 75 = Ascii_4
+ keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+altgr alt keycode 76 = Ascii_5
+ keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+altgr alt keycode 77 = Ascii_6
+ keycode 78 = KP_Add
+ keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+altgr alt keycode 79 = Ascii_1
+ keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+altgr alt keycode 80 = Ascii_2
+ keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+altgr alt keycode 81 = Ascii_3
+ keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+altgr alt keycode 82 = Ascii_0
+ keycode 83 = KP_Period
+altgr control keycode 83 = Boot
+control alt keycode 83 = Boot
+altgr control alt keycode 83 = Boot
+ keycode 84 = Last_Console
+ keycode 85 =
+ keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+altgr alt keycode 86 = Meta_less
+ keycode 87 = F11 F11 F11 F11
+ control keycode 87 = F11
+altgr control keycode 87 = F11
+ alt keycode 87 = Console_11
+altgr alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+altgr control alt keycode 87 = Console_11
+ keycode 88 = F12 F12 F12 F12
+ control keycode 88 = F12
+altgr control keycode 88 = F12
+ alt keycode 88 = Console_12
+altgr alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+altgr control alt keycode 88 = Console_12
+ keycode 89 =
+ keycode 90 =
+ keycode 91 =
+ keycode 92 =
+ keycode 93 =
+ keycode 94 =
+ keycode 95 =
+ keycode 96 = KP_Enter
+keycode 97 = Control
+ keycode 98 = KP_Divide
+ keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+altgr control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+altgr alt keycode 99 = Control_backslash
+ keycode 100 = AltGr
+ keycode 101 = Break
+ keycode 102 = Find
+ keycode 103 = Up
+ keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+altgr shift keycode 104 = Scroll_Backward
+ keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ keycode 107 = Select
+ keycode 108 = Down
+ keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+altgr shift keycode 109 = Scroll_Forward
+ keycode 110 = Insert
+ keycode 111 = Remove
+altgr control keycode 111 = Boot
+control alt keycode 111 = Boot
+altgr control alt keycode 111 = Boot
+ keycode 112 =
+ keycode 113 =
+ keycode 114 =
+ keycode 115 =
+ keycode 116 =
+ keycode 117 =
+ keycode 118 =
+ keycode 119 =
+ keycode 120 =
+ keycode 121 =
+ keycode 122 =
+ keycode 123 =
+ keycode 124 =
+ keycode 125 =
+ keycode 126 =
+ keycode 127 =
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string F21 = ""
+string F22 = ""
+string F23 = ""
+string F24 = ""
+string F25 = ""
+string F26 = ""
+
diff --git a/keymaps/i386/qwerty/ru_win.kmap b/keymaps/i386/qwerty/ru_win.kmap
new file mode 100644
index 0000000..d4122ce
--- /dev/null
+++ b/keymaps/i386/qwerty/ru_win.kmap
@@ -0,0 +1,327 @@
+! $Header: /home/abel/cvs/src/misc/cyr/ru_win.map,v 1.1 1998/03/05 23:05:32 abel Exp $
+!
+! Russian cp1251 (Windows Cyrillic) keyboard.map.
+!
+! Adapted from ru.map by Alexander L. Belikoff (abel@bfr.co.il)
+!
+! "Cyrillic" mode is toggled by Right_Ctrl key and shifted by AltGr key.
+
+
+ keycode 0 =
+ keycode 1 = Escape Escape Escape Escape
+ alt keycode 1 = Meta_Escape
+ keycode 2 = one exclam one exclam
+ alt keycode 2 = Meta_one
+ keycode 3 = two at two at
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+ keycode 4 = three numbersign three question
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ keycode 5 = four dollar four quotedbl
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ keycode 6 = five percent five colon
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ keycode 7 = six asciicircum six comma
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ keycode 8 = seven ampersand seven period
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+ keycode 9 = eight asterisk eight asterisk
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+ keycode 10 = nine parenleft nine parenleft
+ alt keycode 10 = Meta_nine
+ keycode 11 = zero parenright zero parenright
+ alt keycode 11 = Meta_zero
+ keycode 12 = minus underscore minus underscore
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+ keycode 13 = equal plus equal plus
+ alt keycode 13 = Meta_equal
+ keycode 14 = BackSpace BackSpace BackSpace BackSpace
+ alt keycode 14 = Meta_Delete
+ keycode 15 = Tab Tab Tab Tab
+ alt keycode 15 = Meta_Tab
+ keycode 16 = +q +Q +0xE9 +0xC9
+ control keycode 16 = Control_q
+altgr control keycode 16 = Control_q
+ keycode 17 = +w +W +0xF6 +0xD6
+ control keycode 17 = Control_w
+altgr control keycode 17 = Control_w
+ keycode 18 = +e +E +0xF3 +0xD3
+ control keycode 18 = Control_e
+altgr control keycode 18 = Control_e
+ keycode 19 = +r +R +0xEA +0xCA
+ control keycode 19 = Control_r
+altgr control keycode 19 = Control_r
+ keycode 20 = +t +T +0xE5 +0xC5
+ control keycode 20 = Control_t
+altgr control keycode 20 = Control_t
+ keycode 21 = +y +Y +0xED +0xCD
+ control keycode 21 = Control_y
+altgr control keycode 21 = Control_y
+ keycode 22 = +u +U +0xE3 +0xC3
+ control keycode 22 = Control_u
+altgr control keycode 22 = Control_u
+ keycode 23 = +i +I +0xF8 +0xD8
+ control keycode 23 = Tab
+altgr control keycode 23 = Tab
+ keycode 24 = +o +O +0xF9 +0xD9
+ control keycode 24 = Control_o
+altgr control keycode 24 = Control_o
+ keycode 25 = +p +P +0xE7 +0xC7
+ control keycode 25 = Control_p
+altgr control keycode 25 = Control_p
+ keycode 26 = bracketleft braceleft +0xF5 +0xD5
+ control keycode 26 = Escape
+altgr control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ keycode 27 = bracketright braceright +0xFA +0xDA
+ control keycode 27 = Control_bracketright
+altgr control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ keycode 28 = Return
+ alt keycode 28 = 0x080d
+ keycode 29 = Control
+ keycode 30 = +a +A +0xF4 +0xD4
+ control keycode 30 = Control_a
+altgr control keycode 30 = Control_a
+ keycode 31 = +s +S +0xFB +0xDB
+ control keycode 31 = Control_s
+altgr control keycode 31 = Control_s
+ keycode 32 = +d +D +0xE2 +0xC2
+ control keycode 32 = Control_d
+altgr control keycode 32 = Control_d
+ keycode 33 = +f +F +0xE0 +0xC0
+ control keycode 33 = Control_f
+altgr control keycode 33 = Control_f
+ keycode 34 = +g +G +0xEF +0xCF
+ control keycode 34 = Control_g
+altgr control keycode 34 = Control_g
+ keycode 35 = +h +H +0xF0 +0xD0
+ control keycode 35 = BackSpace
+altgr control keycode 35 = BackSpace
+ keycode 36 = +j +J +0xEE +0xCE
+ control keycode 36 = Linefeed
+altgr control keycode 36 = Linefeed
+ keycode 37 = +k +K +0xEB +0xCB
+ control keycode 37 = Control_k
+altgr control keycode 37 = Control_k
+ keycode 38 = +l +L +0xE4 +0xC4
+ control keycode 38 = Control_l
+altgr control keycode 38 = Control_l
+ keycode 39 = semicolon colon +0xE6 +0xC6
+ alt keycode 39 = Meta_semicolon
+ keycode 40 = apostrophe quotedbl +0xFD +0xDD
+ control keycode 40 = Control_g
+altgr control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+ keycode 41 = grave asciitilde +0xB8 +0xA8
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+ keycode 42 = Shift
+ keycode 43 = backslash bar backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ keycode 44 = +z +Z +0xFF +0xDF
+ control keycode 44 = Control_z
+altgr control keycode 44 = Control_z
+ keycode 45 = +x +X +0xF7 +0xD7
+ control keycode 45 = Control_x
+altgr control keycode 45 = Control_x
+ keycode 46 = +c +C +0xF1 +0xD1
+ control keycode 46 = Control_c
+altgr control keycode 46 = Control_c
+ keycode 47 = +v +V +0xEC +0xCC
+ control keycode 47 = Control_v
+altgr control keycode 47 = Control_v
+ keycode 48 = +b +B +0xE8 +0xC8
+ control keycode 48 = Control_b
+altgr control keycode 48 = Control_b
+ keycode 49 = +n +N +0xF2 +0xD2
+ control keycode 49 = Control_n
+altgr control keycode 49 = Control_n
+ keycode 50 = +m +M +0xFC +0xDC
+ control keycode 50 = Control_m
+altgr control keycode 50 = Control_m
+ keycode 51 = comma less +0xE1 +0xC1
+ alt keycode 51 = Meta_comma
+ keycode 52 = period greater +0xFE +0xDE
+ alt keycode 52 = Meta_period
+ keycode 53 = slash question slash question
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+ keycode 54 = Shift
+ keycode 55 = KP_Multiply
+ keycode 56 = Alt
+ keycode 57 = space space space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ keycode 58 = Caps_Lock
+ keycode 59 = F1 F11 F1 F11
+ control keycode 59 = F1
+ alt keycode 59 = Console_1
+altgr alt keycode 59 = Console_1
+ keycode 60 = F2 F12 F2 F12
+ control keycode 60 = F2
+ alt keycode 60 = Console_2
+altgr alt keycode 60 = Console_2
+ keycode 61 = F3 F13 F3 F13
+ control keycode 61 = F3
+ alt keycode 61 = Console_3
+altgr alt keycode 61 = Console_3
+ keycode 62 = F4 F14 F4 F14
+ control keycode 62 = F4
+ alt keycode 62 = Console_4
+altgr alt keycode 62 = Console_4
+ keycode 63 = F5 F15 F5 F15
+ control keycode 63 = F5
+ alt keycode 63 = Console_5
+altgr alt keycode 63 = Console_5
+ keycode 64 = F6 F16 F6 F16
+ control keycode 64 = F6
+ alt keycode 64 = Console_6
+altgr alt keycode 64 = Console_6
+ keycode 65 = F7 F17 F7 F17
+ control keycode 65 = F7
+ alt keycode 65 = Console_7
+altgr alt keycode 65 = Console_7
+ keycode 66 = F8 F18 F8 F18
+ control keycode 66 = F8
+ alt keycode 66 = Console_8
+altgr alt keycode 66 = Console_8
+ keycode 67 = F9 F19 F9 F19
+ control keycode 67 = F9
+ alt keycode 67 = Console_9
+altgr alt keycode 67 = Console_9
+ keycode 68 = F10 F20 F10 F20
+ control keycode 68 = F10
+ alt keycode 68 = Console_10
+altgr alt keycode 68 = Console_10
+ keycode 69 = Num_Lock
+ keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+ keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+ keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+ keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+ keycode 74 = KP_Subtract
+ keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+ keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+ keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+ keycode 78 = KP_Add
+ keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+ keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+ keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+ keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+ keycode 83 = KP_Period
+altgr control keycode 83 = Boot
+control alt keycode 83 = Boot
+ keycode 84 = Last_Console
+ keycode 85 =
+ keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+ keycode 87 = F11 F11 F11 F11
+ control keycode 87 = F11
+ alt keycode 87 = Console_11
+altgr alt keycode 87 = Console_11
+ keycode 88 = F12 F12 F12 F12
+ control keycode 88 = F12
+ alt keycode 88 = Console_12
+altgr alt keycode 88 = Console_12
+ keycode 89 =
+ keycode 90 =
+ keycode 91 =
+ keycode 92 =
+ keycode 93 =
+ keycode 94 =
+ keycode 95 =
+ keycode 96 = KP_Enter
+ keycode 97 = AltGr_Lock
+ keycode 98 = KP_Divide
+ keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+ keycode 100 = AltGr
+ keycode 101 = Break
+ keycode 102 = Find
+ keycode 103 = Up
+ keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+ keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ keycode 107 = Select
+ keycode 108 = Down
+ keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+ keycode 110 = Insert
+ keycode 111 = Remove
+altgr control keycode 111 = Boot
+control alt keycode 111 = Boot
+ keycode 112 =
+ keycode 113 =
+ keycode 114 =
+ keycode 115 =
+ keycode 116 =
+ keycode 117 =
+ keycode 118 =
+ keycode 119 =
+ keycode 120 =
+ keycode 121 =
+ keycode 122 =
+ keycode 123 =
+ keycode 124 =
+ keycode 125 =
+ keycode 126 =
+ keycode 127 =
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string F21 = ""
+string F22 = ""
+string F23 = ""
+string F24 = ""
+string F25 = ""
+string F26 = ""
+
+
+! end of $Source: /home/abel/cvs/src/misc/cyr/ru_win.map,v $
diff --git a/keymaps/i386/qwerty/se-fi-ir209.kmap b/keymaps/i386/qwerty/se-fi-ir209.kmap
new file mode 100644
index 0000000..42cee0f
--- /dev/null
+++ b/keymaps/i386/qwerty/se-fi-ir209.kmap
@@ -0,0 +1,10 @@
+# se-fi-ir209.kmap
+# Also used for ir197.
+# by <Regnor.Jernsletten@sami.uit.no>
+#
+include "euro"
+# Depends on/Alters se-ir209.map:
+ keycode 39 = +odiaeresis +Odiaeresis +oslash +Ooblique
+ keycode 40 = +adiaeresis +Adiaeresis +ae +AE
+
+# End.
diff --git a/keymaps/i386/qwerty/se-fi-lat6.kmap b/keymaps/i386/qwerty/se-fi-lat6.kmap
new file mode 100644
index 0000000..84b8dc4
--- /dev/null
+++ b/keymaps/i386/qwerty/se-fi-lat6.kmap
@@ -0,0 +1,9 @@
+# se-fi-lat6.kmap
+# Covers ISO 8859-10, 1993
+# Modifies se-lat6.map for use in Finland and Sweden
+# by <Regnor.Jernsletten@sami.uit.no>
+
+include "euro"
+
+keycode 39 = +odiaeresis +Odiaeresis +oslash +Ooblique
+keycode 40 = +adiaeresis +Adiaeresis +ae +AE
diff --git a/keymaps/i386/qwerty/se-ir209.kmap b/keymaps/i386/qwerty/se-ir209.kmap
new file mode 100644
index 0000000..d622259
--- /dev/null
+++ b/keymaps/i386/qwerty/se-ir209.kmap
@@ -0,0 +1,351 @@
+# This is se-ir209.map.
+# It also serves as a keymap for the character set ir197
+# se-fi-ir209.kmap alters this keymap for use in Finland and Sweden.
+#
+# by <Regnor.Jernsletten@sami.uit.no>
+#
+keymaps 0-4,6,8,12
+strings as usual
+
+ keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+
+ keycode 2 = one exclam copyright
+ alt keycode 2 = Meta_one
+
+ keycode 3 = two quotedbl at
+control keycode 3 = nul
+ alt keycode 3 = Meta_two
+
+ keycode 4 = three numbersign VoidSymbol degree
+control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+
+ keycode 5 = four dollar
+control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+
+ keycode 6 = five percent
+control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+
+ keycode 7 = six ampersand
+control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+
+ keycode 8 = seven slash braceleft division
+control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+
+ keycode 9 = eight parenleft bracketleft
+control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+
+ keycode 10 = nine parenright bracketright
+ alt keycode 10 = Meta_nine
+
+ keycode 11 = zero equal braceright braceright
+ alt keycode 11 = Meta_zero
+
+ keycode 12 = plus question VoidSymbol VoidSymbol
+ alt keycode 12 = Meta_plus
+
+ keycode 13 = backslash grave dead_acute dead_grave
+control keycode 13 = Control_backslash
+ alt keycode 13 = Meta_backslash
+
+ keycode 14 = Delete Delete
+control keycode 14 = Control_underscore # For Emacs' UNDO :-)
+ alt keycode 14 = Meta_Delete
+
+ keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+
+ keycode 16 = +q +Q +agrave +Agrave
+ keycode 17 = +w
+
+ keycode 18 = +e +E +eacute +Eacute
+control keycode 18 = Control_e
+ alt keycode 18 = Meta_e
+
+ keycode 19 = +r +R +egrave +Egrave
+control keycode 19 = Control_r
+ alt keycode 19 = Meta_r
+
+ keycode 20 = +t +T +cedilla +mu
+control keycode 20 = Control_t
+ alt keycode 20 = Meta_t
+
+ keycode 21 = +y +Y ydiaeresis VoidSymbol
+control keycode 21 = Control_y
+ alt keycode 21 = Meta_y
+
+ keycode 22 = +u +U +udiaeresis +Udiaeresis
+control keycode 22 = Control_u
+ alt keycode 22 = Meta_u
+
+ keycode 23 = +i +I +oacute +Oacute
+control keycode 23 = Tab
+ alt keycode 23 = Meta_i
+
+ keycode 24 = +o +O +ocircumflex +Ocircumflex
+control keycode 24 = Control_o
+ alt keycode 24 = Meta_o
+
+ keycode 25 = +p +P +ograve +Ograve
+control keycode 25 = Control_p
+ alt keycode 25 = Meta_p
+
+ keycode 26 = +aring +Aring +acircumflex +Acircumflex
+control keycode 26 = Control_bracketright
+ alt keycode 26 = Meta_bracketright
+
+ keycode 27 = asciitilde asciicircum dead_diaeresis dead_tilde
+control keycode 27 = Control_asciicircum
+ alt keycode 27 = Meta_asciicircum
+
+ keycode 28 = Return
+ alt keycode 28 = 0x080d
+
+ keycode 29 = Control
+
+ keycode 30 = +a +A +aacute +Aacute
+control keycode 30 = Control_a
+ alt keycode 30 = Meta_a
+
+ keycode 31 = +s +S +threesuperior +twosuperior
+control keycode 31 = Control_s
+
+# d, small and capital letter d with stroke
+# Check!
+ keycode 32 = +d +D +0x0a4 +0xa3
+control keycode 32 = Control_d
+ alt keycode 32 = Meta_d
+
+ keycode 33 = +f +F +eth +ETH
+control keycode 33 = Control_f
+ alt keycode 33 = Meta_f
+
+# g, small and capital letter g with stroke
+ keycode 34 = +g +G +0xa6 +0xa5
+
+# Alternatives: ISO-IR-197 ISO-IR-209
+## Either:
+# ISO-IR-209: h, small and capital letter h with caron
+## Or:
+# ISO-IR-197: h, small and guillemot right and left
+##
+ keycode 35 = +h +H +0xab +0xbb
+ keycode 36 = +j
+# k, small and capital letter k with caron
+ keycode 37 = +k +K +0xae +0xac
+ keycode 38 = +l
+
+ keycode 39 = +oslash +Ooblique +odiaeresis +Odiaeresis
+control keycode 39 = Control_backslash
+ alt keycode 39 = Meta_backslash
+
+ keycode 40 = +ae +AE +adiaeresis +Adiaeresis
+control keycode 40 = Escape
+ alt keycode 40 = Meta_bracketleft
+
+# Chcck!
+ keycode 41 = bar section brokenbar paragraph
+control keycode 41 = Control_backslash
+ alt keycode 41 = Meta_bar
+
+ keycode 42 = Shift
+
+ keycode 43 = apostrophe asterisk dead_circumflex multiply
+ alt keycode 43 = Meta_apostrophe
+
+ keycode 44 = +z +Z +masculine +onesuperior
+
+ keycode 45 = +x +X +ccedilla +Ccedilla
+control keycode 45 = Control_x
+ alt keycode 45 = Meta_x
+
+ keycode 46 = +c +C cent exclamdown
+control keycode 46 = Control_c
+ alt keycode 46 = Meta_c
+
+ keycode 47 = +v
+ keycode 48 = +b +B +ntilde +Ntilde
+
+# Check!
+# m, eng
+ keycode 49 = +n +N +0x0b1 +0xaf
+control keycode 49 = Control_n
+ alt keycode 49 = Meta_n
+
+ keycode 50 = +m
+control keycode 50 = Control_m
+ alt keycode 50 = Meta_m
+
+ keycode 51 = comma semicolon cedilla guillemotleft
+ alt keycode 51 = Meta_comma
+
+ keycode 52 = period colon periodcentered guillemotright
+ alt keycode 52 = Meta_period
+
+ keycode 53 = minus underscore hyphen
+control keycode 53 = Control_underscore
+ alt keycode 53 = Meta_minus
+
+ keycode 54 = Shift
+ keycode 55 = KP_Multiply
+ keycode 56 = Alt
+
+ keycode 57 = space space nobreakspace nobreakspace
+control keycode 57 = nul
+ alt keycode 57 = Meta_space
+
+ keycode 58 = Caps_Lock
+
+ keycode 59 = F1 F11 Console_13
+control keycode 59 = F1
+ alt keycode 59 = Console_1
+control alt keycode 59 = Console_1
+
+ keycode 60 = F2 F12 Console_14
+control keycode 60 = F2
+ alt keycode 60 = Console_2
+control alt keycode 60 = Console_2
+
+ keycode 61 = F3 F13 Console_15
+control keycode 61 = F3
+ alt keycode 61 = Console_3
+control alt keycode 61 = Console_3
+
+ keycode 62 = F4 F14 Console_16
+control keycode 62 = F4
+ alt keycode 62 = Console_4
+control alt keycode 62 = Console_4
+
+ keycode 63 = F5 F15 Console_17
+control keycode 63 = F5
+ alt keycode 63 = Console_5
+control alt keycode 63 = Console_5
+
+ keycode 64 = F6 F16 Console_18
+control keycode 64 = F6
+ alt keycode 64 = Console_6
+control alt keycode 64 = Console_6
+
+ keycode 65 = F7 F17 Console_19
+control keycode 65 = F7
+ alt keycode 65 = Console_7
+control alt keycode 65 = Console_7
+
+ keycode 66 = F8 F18 Console_20
+control keycode 66 = F8
+ alt keycode 66 = Console_8
+control alt keycode 66 = Console_8
+
+ keycode 67 = F9 F19 Console_21
+control keycode 67 = F9
+ alt keycode 67 = Console_9
+control alt keycode 67 = Console_9
+
+ keycode 68 = F10 F20 Console_22
+control keycode 68 = F10
+ alt keycode 68 = Console_10
+control alt keycode 68 = Console_10
+
+ keycode 69 = Num_Lock
+
+ keycode 70 = Scroll_Lock Show_Memory Show_Registers
+control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+
+ keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+
+ keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+
+ keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+
+ keycode 74 = KP_Subtract
+
+ keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+
+ keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+
+ keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+
+ keycode 78 = KP_Add
+
+ keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+
+ keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+
+ keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+
+ keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+
+ keycode 83 = KP_Comma
+control altgr keycode 83 = Boot
+control alt keycode 83 = Boot
+
+ keycode 84 = Last_Console
+ keycode 85 =
+
+# Alternatives: ISO-IR-197 ISO-IR-209
+
+## Either ISO-IR-197:
+# keycode 86 = less greater guillemotleft guillemotright
+## Or ISO-IR-209: less, greater, h caron, H caron
+ keycode 86 = less greater +0xab +0xbb
+ alt keycode 86 = Meta_less
+
+ keycode 87 = F11 F11 Console_23
+control keycode 87 = F11
+ alt keycode 87 = Console_11
+control alt keycode 87 = Console_11
+
+ keycode 88 = F12 F12 Console_24
+control keycode 88 = F12
+ alt keycode 88 = Console_12
+control alt keycode 88 = Console_12
+
+ keycode 96 = KP_Enter
+ keycode 97 = Control
+ keycode 98 = KP_Divide
+
+ keycode 99 = VoidSymbol
+control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+
+ keycode 100 = AltGr
+ keycode 101 = Break
+ keycode 102 = Find
+
+ keycode 103 = Up
+control keycode 103 = Scroll_Backward
+
+ keycode 104 = Prior Scroll_Backward
+ keycode 105 = Left
+alt keycode 105 = Decr_Console
+ keycode 106 = Right
+alt keycode 106 = Incr_Console
+ keycode 107 = Select
+
+ keycode 108 = Down
+control keycode 108 = Scroll_Forward
+
+ keycode 109 = Next Scroll_Forward
+ keycode 110 = Insert
+
+ keycode 111 = Delete # "Remove" originally, weird...
+control alt keycode 111 = Boot
+control altgr keycode 111 = Boot
+
diff --git a/keymaps/i386/qwerty/se-lat6.kmap b/keymaps/i386/qwerty/se-lat6.kmap
new file mode 100644
index 0000000..77b140f
--- /dev/null
+++ b/keymaps/i386/qwerty/se-lat6.kmap
@@ -0,0 +1,379 @@
+# se-lat6.kmap
+# Covers ISO 8859-10, 1993
+# se-fi-lat6.map modifies this keymap for use in Finland and Sweden.
+# by <Regnor.Jernsletten@sami.uit.no>
+# Documented. Accents in <> are dead keys.
+# Order: key, Shift+key, AltGr-key, AltGr+Shift+key
+#
+keymaps 0-4,6,8,12
+strings as usual
+
+ keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+
+# 1 !
+ keycode 2 = one exclam one exclam
+ alt keycode 2 = Meta_one
+
+# 2 " @ "
+ keycode 3 = two quotedbl at quotedbl
+control keycode 3 = nul
+ alt keycode 3 = Meta_two
+
+# 3 #
+ keycode 4 = three numbersign three numbersign
+control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+
+# 4 $ < >
+ keycode 5 = four dollar less greater
+control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+
+# 5 %
+ keycode 6 = five percent five five percent
+control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+
+# 6 &
+ keycode 7 = six ampersand six ampersand
+control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+
+# 7 / { |
+ keycode 8 = seven slash braceleft 0x7c
+control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+
+# 8 ( [ {
+ keycode 9 = eight parenleft bracketleft braceleft
+control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+
+# 9 ) ] }
+ keycode 10 = nine parenright bracketright braceright
+ alt keycode 10 = Meta_nine
+
+# 0 = } =
+ keycode 11 = zero equal braceright equal
+ alt keycode 11 = Meta_zero
+
+# + ? + ?
+ keycode 12 = plus question plus question
+ alt keycode 12 = Meta_plus
+
+# \ ` <'> <`>
+ keycode 13 = backslash grave dead_acute dead_grave
+control keycode 13 = Control_backslash
+ alt keycode 13 = Meta_backslash
+
+ keycode 14 = Delete Delete
+control keycode 14 = Control_underscore # For Emacs' UNDO :-)
+ alt keycode 14 = Meta_Delete
+
+ keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+
+# q Q ä Ä
+ keycode 16 = +q +Q +adiaeresis +Adiaeresis
+ keycode 17 = +w
+
+# e E é É
+ keycode 18 = +e +E +eacute +Eacute
+control keycode 18 = Control_e
+ alt keycode 18 = Meta_e
+
+# r R
+ keycode 19 = +r +R
+control keycode 19 = Control_r
+ alt keycode 19 = Meta_r
+
+# t stroke on AltGr!
+# t T » «
+ keycode 20 = +t +T +0xbb +0xab
+control keycode 20 = Control_t
+ alt keycode 20 = Meta_t
+
+
+# y Y ý Ý
+ keycode 21 = +y +Y +yacute +Yacute
+control keycode 21 = Control_y
+ alt keycode 21 = Meta_y
+
+# u U ü Ü
+ keycode 22 = +u +U +udiaeresis +Udiaeresis
+control keycode 22 = Control_u
+ alt keycode 22 = Meta_u
+
+# i I ï Ï
+ keycode 23 = +i +I +idiaeresis +Idiaeresis
+control keycode 23 = Tab
+ alt keycode 23 = Meta_i
+
+# o O ö Ö
+ keycode 24 = +o +O +odiaeresis +Odiaeresis
+control keycode 24 = Control_o
+ alt keycode 24 = Meta_o
+
+# p P þ þ
+ keycode 25 = +p +P 0xfe 0xde
+control keycode 25 = Control_p
+ alt keycode 25 = Meta_p
+
+# å Å â Â
+ keycode 26 = +aring +Aring +acircumflex +Acircumflex
+control keycode 26 = Control_bracketright
+ alt keycode 26 = Meta_bracketright
+
+# <"> <~> ~ ^
+ keycode 27 = dead_diaeresis dead_tilde asciitilde asciicircum
+control keycode 27 = Control_asciicircum
+ alt keycode 27 = Meta_asciicircum
+
+ keycode 28 = Return
+ alt keycode 28 = 0x080d
+
+ keycode 29 = Control
+
+# a A á Á
+ keycode 30 = +a +A +aacute +Aacute
+control keycode 30 = Control_a
+ alt keycode 30 = Meta_a
+
+# s S º ª
+ keycode 31 = +s +S +0xba +0xaa
+control keycode 31 = Control_s
+
+# d D ð Ð
+ keycode 32 = +d +D +eth +ETH
+control keycode 32 = Control_d
+ alt keycode 32 = Meta_d
+
+# f F f F
+ keycode 33 = +f
+control keycode 33 = Control_f
+ alt keycode 33 = Meta_f
+
+ keycode 34 = +g
+ keycode 35 = +h
+ keycode 36 = +j
+ keycode 37 = +k
+ keycode 38 = +l
+
+# ø Ø ö Ö
+ keycode 39 = +oslash +Ooblique +odiaeresis +Odiaeresis
+control keycode 39 = Control_backslash
+ alt keycode 39 = Meta_backslash
+
+# æ Æ ä Ä
+ keycode 40 = +ae +AE +adiaeresis +Adiaeresis
+control keycode 40 = Escape
+ alt keycode 40 = Meta_bracketleft
+
+# | § | §
+ keycode 41 = bar 0xa7 bar 0xa7
+control keycode 41 = Control_backslash
+ alt keycode 41 = Meta_bar
+
+ keycode 42 = Shift
+
+# ' * <^> ×
+ keycode 43 = apostrophe asterisk dead_circumflex multiply
+ alt keycode 43 = Meta_apostrophe
+
+# z Z ¼ ¬
+ keycode 44 = +z +Z +0xbc +0xac
+
+# x X
+ keycode 45 = +x
+control keycode 45 = Control_x
+ alt keycode 45 = Meta_x
+
+# c C è È
+ keycode 46 = +c +C +0xe8 +0xc8
+control keycode 46 = Control_c
+ alt keycode 46 = Meta_c
+
+ keycode 47 = +v
+ keycode 48 = +b
+
+# n N ¿ ¯
+ keycode 49 = +n +N +0xbf +0xaf
+control keycode 49 = Control_n
+ alt keycode 49 = Meta_n
+
+ keycode 50 = +m
+control keycode 50 = Control_m
+ alt keycode 50 = Meta_m
+
+# , ;
+ keycode 51 = comma semicolon comma semicolon
+ alt keycode 51 = Meta_comma
+
+# . :
+ keycode 52 = period colon period colon
+ alt keycode 52 = Meta_period
+
+# - _ ­
+ keycode 53 = minus underscore hyphen
+control keycode 53 = Control_underscore
+ alt keycode 53 = Meta_minus
+
+ keycode 54 = Shift
+ keycode 55 = KP_Multiply
+ keycode 56 = Alt
+
+ keycode 57 = space space nobreakspace nobreakspace
+control keycode 57 = nul
+ alt keycode 57 = Meta_space
+
+ keycode 58 = Caps_Lock
+
+ keycode 59 = F1 F11 Console_13
+control keycode 59 = F1
+ alt keycode 59 = Console_1
+control alt keycode 59 = Console_1
+
+ keycode 60 = F2 F12 Console_14
+control keycode 60 = F2
+ alt keycode 60 = Console_2
+control alt keycode 60 = Console_2
+
+ keycode 61 = F3 F13 Console_15
+control keycode 61 = F3
+ alt keycode 61 = Console_3
+control alt keycode 61 = Console_3
+
+ keycode 62 = F4 F14 Console_16
+control keycode 62 = F4
+ alt keycode 62 = Console_4
+control alt keycode 62 = Console_4
+
+ keycode 63 = F5 F15 Console_17
+control keycode 63 = F5
+ alt keycode 63 = Console_5
+control alt keycode 63 = Console_5
+
+ keycode 64 = F6 F16 Console_18
+control keycode 64 = F6
+ alt keycode 64 = Console_6
+control alt keycode 64 = Console_6
+
+ keycode 65 = F7 F17 Console_19
+control keycode 65 = F7
+ alt keycode 65 = Console_7
+control alt keycode 65 = Console_7
+
+ keycode 66 = F8 F18 Console_20
+control keycode 66 = F8
+ alt keycode 66 = Console_8
+control alt keycode 66 = Console_8
+
+ keycode 67 = F9 F19 Console_21
+control keycode 67 = F9
+ alt keycode 67 = Console_9
+control alt keycode 67 = Console_9
+
+ keycode 68 = F10 F20 Console_22
+control keycode 68 = F10
+ alt keycode 68 = Console_10
+control alt keycode 68 = Console_10
+
+ keycode 69 = Num_Lock
+
+ keycode 70 = Scroll_Lock Show_Memory Show_Registers
+control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+
+ keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+
+ keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+
+ keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+
+ keycode 74 = KP_Subtract
+
+ keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+
+ keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+
+ keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+
+ keycode 78 = KP_Add
+
+ keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+
+ keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+
+ keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+
+ keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+
+ keycode 83 = KP_Comma
+control altgr keycode 83 = Boot
+control alt keycode 83 = Boot
+
+ keycode 84 = Last_Console
+ keycode 85 =
+
+ keycode 86 = less greater guillemotleft guillemotright
+ alt keycode 86 = Meta_less
+
+ keycode 87 = F11 F11 Console_23
+control keycode 87 = F11
+ alt keycode 87 = Console_11
+control alt keycode 87 = Console_11
+
+ keycode 88 = F12 F12 Console_24
+control keycode 88 = F12
+ alt keycode 88 = Console_12
+control alt keycode 88 = Console_12
+
+ keycode 89 =
+ keycode 90 =
+ keycode 91 =
+ keycode 92 =
+ keycode 93 =
+ keycode 94 =
+ keycode 95 =
+ keycode 96 = KP_Enter
+ keycode 97 = Control
+ keycode 98 = KP_Divide
+
+ keycode 99 = VoidSymbol
+control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+
+ keycode 100 = AltGr
+ keycode 101 = Break
+ keycode 102 = Find
+
+ keycode 103 = Up
+control keycode 103 = Scroll_Backward
+
+ keycode 104 = Prior Scroll_Backward
+ keycode 105 = Left
+alt keycode 105 = Decr_Console
+ keycode 106 = Right
+alt keycode 106 = Incr_Console
+ keycode 107 = Select
+
+ keycode 108 = Down
+control keycode 108 = Scroll_Forward
+
+ keycode 109 = Next Scroll_Forward
+ keycode 110 = Insert
+
+ keycode 111 = Delete # "Remove" originally, weird...
+control alt keycode 111 = Boot
+control altgr keycode 111 = Boot
diff --git a/keymaps/i386/qwerty/se-latin1.kmap b/keymaps/i386/qwerty/se-latin1.kmap
new file mode 100644
index 0000000..4d65f25
--- /dev/null
+++ b/keymaps/i386/qwerty/se-latin1.kmap
@@ -0,0 +1,89 @@
+# The Swedish and Finnish keyboards are the same (or so they tell me)
+# and the Finnish map should do for Sweden as well. Below a Swedish map
+# contributed by Andreas Almroth (andreas@traci.almroth.pp.se) on 950507
+# where no AltGr is used to get the three national characters.
+
+charset "iso-8859-1"
+keymaps 0-2,4-6,8,12
+include "qwerty-layout"
+include "linux-with-alt-and-altgr"
+ plain keycode 83 = KP_Comma
+strings as usual
+
+keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+keycode 3 = two quotedbl at
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+keycode 4 = three numbersign sterling
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+keycode 5 = four ccedilla
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ altgr keycode 5 = dollar
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 7 = six ampersand notsign
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = seven slash braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight parenleft bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenright bracketright
+ alt keycode 10 = Meta_nine
+keycode 11 = zero equal braceright
+ alt keycode 11 = Meta_zero
+keycode 12 = plus question backslash
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = dead_acute dead_grave
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+keycode 26 = +aring +Aring
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = dead_diaeresis asciicircum asciitilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = +odiaeresis +Odiaeresis
+ alt keycode 39 = Meta_semicolon
+keycode 40 = +adiaeresis +Adiaeresis
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = section degree
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = apostrophe asterisk
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 51 = comma semicolon
+ alt keycode 51 = Meta_comma
+keycode 52 = period colon
+ alt keycode 52 = Meta_period
+keycode 53 = minus underscore
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+ shift control keycode 53 = Control_underscore
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 97 = Control
diff --git a/keymaps/i386/qwerty/sk-prog-qwerty.kmap b/keymaps/i386/qwerty/sk-prog-qwerty.kmap
new file mode 100644
index 0000000..95c13f5
--- /dev/null
+++ b/keymaps/i386/qwerty/sk-prog-qwerty.kmap
@@ -0,0 +1,238 @@
+# Slovak ISO 8859-2 keyboard map for text console (ver. 2)
+# Layout: qwerty-prog
+# Written and (c) copyright by Jan Ondrej (ondrejj@salstar.shadow.sk)
+# You can distribute this file under the terms of GNU General
+# Public License (GPL). See the file COPYING.
+#
+# Slovenska klavesnica sa zapne a vypne klavesou Pause.
+# Klavesou AltGr (Right Alt) je mozne sa prepnut zo slovenskej do US a naopak.
+# Klavesa Pause potom funguje ako AltGr-lock.
+#
+# Chybaju tu klavesy vokan a dvojbodka nad pismenom, ale znaky
+# "ô" a "ä" mozete dostat tak, ze pred danym pismenom stlacite
+# klaves makcena.
+#
+# Dalej som pridal prepinanie konzoli pomocou CTRL+ALT+F1 az F12
+# podla klasickej klavesovej mapy. Pridal som aj zopar includov,
+# ale neviem, ci nieco upravia.
+#
+# Tento subor bol vytvoreny zo suboru cz-lat2.map, ktory
+# napisal Jan Kasprzak (kas@ics.muni.cz).
+#
+charset "iso-8859-2"
+keymaps 0-15
+include "linux-keys-bare.inc"
+include "linux-keys-extd.inc"
+include "qwerty-layout.inc"
+strings as usual
+
+keycode 1 = Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 2 = one exclam plus one VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_one Meta_one Meta_one
+keycode 3 = two at lcaron two nul nul nul nul Meta_two Meta_two Meta_two Meta_two
+keycode 4 = three numbersign scaron three Escape VoidSymbol Escape VoidSymbol Meta_three Meta_three Meta_three Meta_three Meta_three
+keycode 5 = four dollar ccaron four Control_backslash VoidSymbol Control_backslash VoidSymbol Meta_four Meta_four Meta_four Meta_four
+keycode 6 = five percent tcaron five Control_bracketright VoidSymbol Control_bracketright VoidSymbol Meta_five Meta_five Meta_five Meta_five
+keycode 7 = six asciicircum zcaron six Control_asciicircum VoidSymbol Control_asciicircum VoidSymbol Meta_six Meta_six Meta_six Meta_six
+keycode 8 = seven ampersand yacute seven Control_underscore VoidSymbol Control_underscore VoidSymbol Meta_seven Meta_seven Meta_seven Meta_seven
+keycode 9 = eight asterisk aacute eight Delete VoidSymbol Delete VoidSymbol Meta_eight Meta_eight Meta_eight Meta_eight
+keycode 10 = nine parenleft iacute nine VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_nine Meta_nine Meta_nine
+keycode 11 = zero parenright eacute zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_zero Meta_zero Meta_zero
+keycode 12 = minus underscore minus underscore Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_minus Meta_minus Meta_minus
+keycode 13 = equal plus dead_acute dead_circumflex VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_equal Meta_equal Meta_equal
+keycode 14 = Delete Delete Delete Delete VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Delete Meta_Delete Meta_Delete Meta_Delete
+keycode 15 = Tab Tab Tab Tab VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+keycode 26 = bracketleft braceleft bracketleft braceleft Escape VoidSymbol Escape VoidSymbol Meta_bracketleft Meta_bracketleft Meta_bracketleft Meta_bracketleft
+keycode 27 = bracketright braceright bracketright braceright Control_bracketright VoidSymbol Control_bracketright VoidSymbol Meta_bracketright Meta_bracketright Meta_bracketright Meta_bracketright
+keycode 28 = Return
+altgr keycode 28 = Return
+alt keycode 28 = Meta_Control_m
+alt altgr keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = semicolon colon semicolon colon VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_semicolon Meta_semicolon Meta_semicolon Meta_semicolon
+keycode 40 = apostrophe quotedbl apostrophe quotedbl Control_g VoidSymbol Control_g VoidSymbol Meta_apostrophe Meta_apostrophe Meta_apostrophe Meta_apostrophe
+keycode 41 = grave asciitilde grave asciitilde nul VoidSymbol nul VoidSymbol Meta_grave VoidSymbol Meta_grave
+keycode 42 = Shift
+keycode 43 = backslash bar backslash bar Control_backslash VoidSymbol Control_backslash VoidSymbol Meta_backslash VoidSymbol Meta_backslash
+keycode 51 = comma less comma less
+alt keycode 51 = Meta_comma
+alt altgr keycode 51 = Meta_comma
+keycode 52 = period greater period greater Compose VoidSymbol Compose VoidSymbol Meta_period VoidSymbol Meta_period
+keycode 53 = slash question slash question Delete VoidSymbol Delete VoidSymbol Meta_slash VoidSymbol Meta_slash
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space space space nul nul nul nul Meta_space Meta_space Meta_space Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 F1 F13 F1 VoidSymbol F1 VoidSymbol Console_1 VoidSymbol Console_1 VoidSymbol Console_1
+keycode 60 = F2 F14 F2 F14 F2 VoidSymbol F2 VoidSymbol Console_2 VoidSymbol Console_2 VoidSymbol Console_2
+keycode 61 = F3 F15 F3 F15 F3 VoidSymbol F3 VoidSymbol Console_3 VoidSymbol Console_3 VoidSymbol Console_3
+keycode 62 = F4 F16 F4 F15 F4 VoidSymbol F4 VoidSymbol Console_4 VoidSymbol Console_4 VoidSymbol Console_4
+keycode 63 = F5 F17 F5 F15 F5 VoidSymbol F5 VoidSymbol Console_5 VoidSymbol Console_5 VoidSymbol Console_5
+keycode 64 = F6 F18 F6 F15 F6 VoidSymbol F6 VoidSymbol Console_6 VoidSymbol Console_6 VoidSymbol Console_6
+keycode 65 = F7 F19 F7 F15 F7 VoidSymbol F7 VoidSymbol Console_7 VoidSymbol Console_7 VoidSymbol Console_7
+keycode 66 = F8 F20 F8 F15 F8 VoidSymbol F8 VoidSymbol Console_8 VoidSymbol Console_8 VoidSymbol Console_8
+keycode 67 = F9 F9 F9 F9 F9 VoidSymbol F9 VoidSymbol Console_9 VoidSymbol Console_9 VoidSymbol Console_9
+keycode 68 = F10 F10 F10 F10 F10 VoidSymbol F10 VoidSymbol Console_10 VoidSymbol Console_10 VoidSymbol Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+control keycode 70 = Show_State
+alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+alt keycode 86 = Meta_less
+keycode 87 = F11 F11 F11 F11 F11 VoidSymbol F11 VoidSymbol Console_11 VoidSymbol Console_11 VoidSymbol Console_11
+keycode 88 = F12 F12 F12 F12 F12 VoidSymbol F12 VoidSymbol Console_12 VoidSymbol Console_12 VoidSymbol Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+keycode 97 = Control
+keycode 98 = KP_Divide
+keycode 99 = Control_backslash
+control keycode 99 = Control_backslash
+alt keycode 99 = Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+keycode 104 = Prior
+shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ alt altgr keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ alt altgr keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+control alt keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+
+compose ',' 'A' to '¡'
+compose '/' 'L' to '£'
+compose '^' 'L' to '¥'
+compose '\'' 'S' to '¦'
+compose '^' 'S' to '©'
+compose ',' 'S' to 'ª'
+compose '^' 'T' to '«'
+compose '\'' 'Z' to '¬'
+compose '^' 'Z' to '®'
+compose '.' 'Z' to '¯'
+compose ',' 'a' to '±'
+compose '/' 'l' to '³'
+compose '^' 'l' to 'µ'
+compose '\'' 's' to '¶'
+compose '^' 's' to '¹'
+compose ',' 's' to 'º'
+compose '^' 't' to '»'
+compose '\'' 'z' to '¼'
+compose '^' 'z' to '¾'
+compose '.' 'z' to '¿'
+compose '\'' 'R' to 'À'
+compose '\'' 'A' to 'Á'
+compose '^' 'A' to 'Ä'
+compose ':' 'A' to 'Ä'
+compose '\'' 'L' to 'Å'
+compose '\'' 'C' to 'Æ'
+compose ',' 'C' to 'Ç'
+compose '^' 'C' to 'È'
+compose '\'' 'E' to 'É'
+compose ',' 'E' to 'Ê'
+compose '"' 'E' to 'Ë'
+compose '^' 'E' to 'Ì'
+compose '\'' 'I' to 'Í'
+compose '^' 'I' to 'Î'
+compose '^' 'D' to 'Ï'
+compose '-' 'D' to 'Ð'
+compose '\'' 'N' to 'Ñ'
+compose '^' 'N' to 'Ò'
+compose '\'' 'O' to 'Ó'
+compose '^' 'O' to 'Ô'
+compose '"' 'O' to 'Õ'
+compose ':' 'O' to 'Ö'
+compose '^' 'R' to 'Ø'
+compose '^' 'U' to 'Ù'
+compose '\'' 'U' to 'Ú'
+compose '"' 'U' to 'Û'
+compose ':' 'U' to 'Ü'
+compose '\'' 'Y' to 'Ý'
+compose ',' 'T' to 'Þ'
+compose 's' 's' to 'ß'
+compose 'S' 'S' to 'ß'
+compose '\'' 'r' to 'à'
+compose '\'' 'a' to 'á'
+compose '^' 'a' to 'ä'
+compose ':' 'a' to 'ä'
+compose '\'' 'l' to 'å'
+compose '\'' 'c' to 'æ'
+compose ',' 'c' to 'ç'
+compose '^' 'c' to 'è'
+compose '\'' 'e' to 'é'
+compose ',' 'e' to 'ê'
+compose ':' 'e' to 'ë'
+compose '^' 'e' to 'ì'
+compose '\'' 'i' to 'í'
+compose '^' 'e' to 'î'
+compose '^' 'd' to 'ï'
+compose '-' 'd' to 'ð'
+compose '\'' 'n' to 'ñ'
+compose '^' 'n' to 'ò'
+compose '\'' 'o' to 'ó'
+compose '^' 'o' to 'ô'
+compose ':' 'o' to 'õ'
+compose '"' 'o' to 'ö'
+compose '^' 'r' to 'ø'
+compose '^' 'u' to 'ù'
+compose '\'' 'u' to 'ú'
+compose '"' 'u' to 'û'
+compose ':' 'u' to 'ü'
+compose '\'' 'y' to 'ý'
+compose ',' 't' to 'þ'
diff --git a/keymaps/i386/qwerty/sk-prog.kmap b/keymaps/i386/qwerty/sk-prog.kmap
new file mode 100644
index 0000000..f34c7a8
--- /dev/null
+++ b/keymaps/i386/qwerty/sk-prog.kmap
@@ -0,0 +1,254 @@
+# Slovak ISO 8859-2 keyboard map for text console (for programmers)
+# Written and (c) copyright by Jan Ondrej (ondrejj@salstar.award.sk)
+# You can distribute this file under the terms of GNU General
+# Public License (GPL). See the file COPYING.
+#
+# Slovenska klavesnica sa zapne a vypne klavesou Pause.
+# Klavesou AltGr (Right Alt) je mozne sa prepnut zo slovenskej do US a naopak.
+# Klavesa Pause potom funguje ako AltGr-lock.
+#
+# Chybaju tu klavesy vokan a dvojbodka nad pismenom, ale znaky
+# "ô" a "ä" mozete dostat tak, ze pred danym pismenom stlacite
+# klaves makcena.
+#
+# Tento subor bol vytvoreny zo suboru cz-lat2.map, ktory
+# napisal Jan Kasprzak (kas@ics.muni.cz).
+#
+charset "iso-8859-2"
+keymaps 0-15
+strings as usual
+keycode 1 = Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 2 = one exclam plus one VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_one Meta_one Meta_one
+keycode 3 = two at lcaron two nul nul nul nul Meta_two Meta_two Meta_two Meta_two
+keycode 4 = three numbersign scaron three Escape VoidSymbol Escape VoidSymbol Meta_three Meta_three Meta_three Meta_three Meta_three
+keycode 5 = four dollar ccaron four Control_backslash VoidSymbol Control_backslash VoidSymbol Meta_four Meta_four Meta_four Meta_four
+keycode 6 = five percent tcaron five Control_bracketright VoidSymbol Control_bracketright VoidSymbol Meta_five Meta_five Meta_five Meta_five
+keycode 7 = six asciicircum zcaron six Control_asciicircum VoidSymbol Control_asciicircum VoidSymbol Meta_six Meta_six Meta_six Meta_six
+keycode 8 = seven ampersand yacute seven Control_underscore VoidSymbol Control_underscore VoidSymbol Meta_seven Meta_seven Meta_seven Meta_seven
+keycode 9 = eight asterisk aacute eight Delete VoidSymbol Delete VoidSymbol Meta_eight Meta_eight Meta_eight Meta_eight
+keycode 10 = nine parenleft iacute nine VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_nine Meta_nine Meta_nine
+keycode 11 = zero parenright eacute zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_zero Meta_zero Meta_zero
+keycode 12 = minus underscore minus underscore Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_minus Meta_minus Meta_minus
+keycode 13 = equal plus dead_acute dead_circumflex VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_equal Meta_equal Meta_equal
+keycode 14 = Delete Delete Delete Delete VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Delete Meta_Delete Meta_Delete Meta_Delete
+keycode 15 = Tab Tab Tab Tab VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+keycode 16 = q
+keycode 17 = w
+keycode 18 = e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = y
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+keycode 26 = bracketleft braceleft bracketleft braceleft Escape VoidSymbol Escape VoidSymbol Meta_bracketleft Meta_bracketleft Meta_bracketleft Meta_bracketleft
+keycode 27 = bracketright braceright bracketright braceright Control_bracketright VoidSymbol Control_bracketright VoidSymbol Meta_bracketright Meta_bracketright Meta_bracketright Meta_bracketright
+keycode 28 = Return
+altgr keycode 28 = Return
+alt keycode 28 = Meta_Control_m
+alt altgr keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+keycode 39 = semicolon colon semicolon colon VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_semicolon Meta_semicolon Meta_semicolon Meta_semicolon
+keycode 40 = apostrophe quotedbl apostrophe quotedbl Control_g VoidSymbol Control_g VoidSymbol Meta_apostrophe Meta_apostrophe Meta_apostrophe Meta_apostrophe
+keycode 41 = grave asciitilde grave asciitilde nul VoidSymbol nul VoidSymbol Meta_grave VoidSymbol Meta_grave
+keycode 42 = Shift
+keycode 43 = backslash bar backslash bar Control_backslash VoidSymbol Control_backslash VoidSymbol Meta_backslash VoidSymbol Meta_backslash
+keycode 44 = z
+keycode 45 = x
+keycode 46 = c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = m
+keycode 51 = comma less comma less
+alt keycode 51 = Meta_comma
+alt altgr keycode 51 = Meta_comma
+keycode 52 = period greater period greater Compose VoidSymbol Compose VoidSymbol Meta_period VoidSymbol Meta_period
+keycode 53 = slash question slash question Delete VoidSymbol Delete VoidSymbol Meta_slash VoidSymbol Meta_slash
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space space space nul nul nul nul Meta_space Meta_space Meta_space Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 F1 F13 F1 VoidSymbol F1 VoidSymbol Console_1 VoidSymbol Console_1
+keycode 60 = F2 F14 F2 F14 F2 VoidSymbol F2 VoidSymbol Console_2 VoidSymbol Console_2
+keycode 61 = F3 F15 F3 F15 F3 VoidSymbol F3 VoidSymbol Console_3 VoidSymbol Console_3
+keycode 62 = F4 F16 F4 F15 F4 VoidSymbol F4 VoidSymbol Console_4 VoidSymbol Console_4
+keycode 63 = F5 F17 F5 F15 F5 VoidSymbol F5 VoidSymbol Console_5 VoidSymbol Console_5
+keycode 64 = F6 F18 F6 F15 F6 VoidSymbol F6 VoidSymbol Console_6 VoidSymbol Console_6
+keycode 65 = F7 F19 F7 F15 F7 VoidSymbol F7 VoidSymbol Console_7 VoidSymbol Console_7
+keycode 66 = F8 F20 F8 F15 F8 VoidSymbol F8 VoidSymbol Console_8 VoidSymbol Console_8
+keycode 67 = F9 F9 F9 F9 F9 VoidSymbol F9 VoidSymbol Console_9 VoidSymbol Console_9
+keycode 68 = F10 F10 F10 F10 F10 VoidSymbol F10 VoidSymbol Console_10 VoidSymbol Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+control keycode 70 = Show_State
+alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+alt keycode 86 = Meta_less
+keycode 87 = F11 F11 F11 F11 F11 VoidSymbol F11 VoidSymbol Console_11 VoidSymbol Console_11
+keycode 88 = F12 F12 F12 F12 F12 VoidSymbol F12 VoidSymbol Console_12 VoidSymbol Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+keycode 97 = Control
+keycode 98 = KP_Divide
+keycode 99 = Control_backslash
+control keycode 99 = Control_backslash
+alt keycode 99 = Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+keycode 104 = Prior
+shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ alt altgr keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ alt altgr keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+control alt keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+compose ',' 'A' to '¡'
+compose '/' 'L' to '£'
+compose '^' 'L' to '¥'
+compose '\'' 'S' to '¦'
+compose '^' 'S' to '©'
+compose ',' 'S' to 'ª'
+compose '^' 'T' to '«'
+compose '\'' 'Z' to '¬'
+compose '^' 'Z' to '®'
+compose '.' 'Z' to '¯'
+compose ',' 'a' to '±'
+compose '/' 'l' to '³'
+compose '^' 'l' to 'µ'
+compose '\'' 's' to '¶'
+compose '^' 's' to '¹'
+compose ',' 's' to 'º'
+compose '^' 't' to '»'
+compose '\'' 'z' to '¼'
+compose '^' 'z' to '¾'
+compose '.' 'z' to '¿'
+compose '\'' 'R' to 'À'
+compose '\'' 'A' to 'Á'
+compose '^' 'A' to 'Ä'
+compose ':' 'A' to 'Ä'
+compose '\'' 'L' to 'Å'
+compose '\'' 'C' to 'Æ'
+compose ',' 'C' to 'Ç'
+compose '^' 'C' to 'È'
+compose '\'' 'E' to 'É'
+compose ',' 'E' to 'Ê'
+compose '"' 'E' to 'Ë'
+compose '^' 'E' to 'Ì'
+compose '\'' 'I' to 'Í'
+compose '^' 'I' to 'Î'
+compose '^' 'D' to 'Ï'
+compose '-' 'D' to 'Ð'
+compose '\'' 'N' to 'Ñ'
+compose '^' 'N' to 'Ò'
+compose '\'' 'O' to 'Ó'
+compose '^' 'O' to 'Ô'
+compose '"' 'O' to 'Õ'
+compose ':' 'O' to 'Ö'
+compose '^' 'R' to 'Ø'
+compose '^' 'U' to 'Ù'
+compose '\'' 'U' to 'Ú'
+compose '"' 'U' to 'Û'
+compose ':' 'U' to 'Ü'
+compose '\'' 'Y' to 'Ý'
+compose ',' 'T' to 'Þ'
+compose 's' 's' to 'ß'
+compose 'S' 'S' to 'ß'
+compose '\'' 'r' to 'à'
+compose '\'' 'a' to 'á'
+compose '^' 'a' to 'ä'
+compose ':' 'a' to 'ä'
+compose '\'' 'l' to 'å'
+compose '\'' 'c' to 'æ'
+compose ',' 'c' to 'ç'
+compose '^' 'c' to 'è'
+compose '\'' 'e' to 'é'
+compose ',' 'e' to 'ê'
+compose ':' 'e' to 'ë'
+compose '^' 'e' to 'ì'
+compose '\'' 'i' to 'í'
+compose '^' 'e' to 'î'
+compose '^' 'd' to 'ï'
+compose '-' 'd' to 'ð'
+compose '\'' 'n' to 'ñ'
+compose '^' 'n' to 'ò'
+compose '\'' 'o' to 'ó'
+compose '^' 'o' to 'ô'
+compose ':' 'o' to 'õ'
+compose '"' 'o' to 'ö'
+compose '^' 'r' to 'ø'
+compose '^' 'u' to 'ù'
+compose '\'' 'u' to 'ú'
+compose '"' 'u' to 'û'
+compose ':' 'u' to 'ü'
+compose '\'' 'y' to 'ý'
+compose ',' 't' to 'þ'
diff --git a/keymaps/i386/qwerty/sk-qwerty.kmap b/keymaps/i386/qwerty/sk-qwerty.kmap
new file mode 100644
index 0000000..0b419a8
--- /dev/null
+++ b/keymaps/i386/qwerty/sk-qwerty.kmap
@@ -0,0 +1,243 @@
+# Slovak ISO 8859-2 keyboard map for text console (ver. 2)
+# Layout: qwerty
+# Written and (c) copyright by Jan Ondrej (ondrejj@salstar.shadow.sk)
+# You can distribute this file under the terms of GNU General
+# Public License (GPL). See the file COPYING.
+#
+# Slovenska klavesnica sa zapne a vypne klavesou Pause.
+# Klavesou AltGr (Right Alt) je mozne sa prepnut zo slovenskej do US a naopak.
+# Klavesa Pause potom funguje ako AltGr-lock.
+# Znak o s vokanom mozete dostat stlacenim klavesu makcen a "o".
+#
+# Zdalo sa mi, ze diaeresis nefunguje celkom spravne, pretoze
+# pri kombinacii s pismenom a daval vysledok dva znaky "a .
+# Upravil som to pridanim compose.
+#
+# Dalej som pridal prepinanie konzoli pomocou CTRL+ALT+F1 az F12
+# podla klasickej klavesovej mapy. Pridal som aj zopar includov,
+# ale neviem, ci nieco upravia.
+#
+# Tento subor bol vytvoreny zo suboru cz-lat2.map, ktory
+# napisal Jan Kasprzak (kas@ics.muni.cz).
+#
+charset "iso-8859-2"
+keymaps 0-15
+include "linux-keys-bare.inc"
+include "linux-keys-extd.inc"
+include "qwerty-layout.inc"
+strings as usual
+
+keycode 1 = Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 2 = one exclam plus one VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_one Meta_one Meta_one
+keycode 3 = two at lcaron two nul nul nul nul Meta_two Meta_two Meta_two Meta_two
+keycode 4 = three numbersign scaron three Escape VoidSymbol Escape VoidSymbol Meta_three Meta_three Meta_three Meta_three Meta_three
+keycode 5 = four dollar ccaron four Control_backslash VoidSymbol Control_backslash VoidSymbol Meta_four Meta_four Meta_four Meta_four
+keycode 6 = five percent tcaron five Control_bracketright VoidSymbol Control_bracketright VoidSymbol Meta_five Meta_five Meta_five Meta_five
+keycode 7 = six asciicircum zcaron six Control_asciicircum VoidSymbol Control_asciicircum VoidSymbol Meta_six Meta_six Meta_six Meta_six
+keycode 8 = seven ampersand yacute seven Control_underscore VoidSymbol Control_underscore VoidSymbol Meta_seven Meta_seven Meta_seven Meta_seven
+keycode 9 = eight asterisk aacute eight Delete VoidSymbol Delete VoidSymbol Meta_eight Meta_eight Meta_eight Meta_eight
+keycode 10 = nine parenleft iacute nine VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_nine Meta_nine Meta_nine
+keycode 11 = zero parenright eacute zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_zero Meta_zero Meta_zero
+keycode 12 = minus underscore equal percent Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_minus Meta_minus Meta_minus
+keycode 13 = equal plus dead_acute dead_circumflex VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_equal Meta_equal Meta_equal
+keycode 14 = Delete Delete Delete Delete VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Delete Meta_Delete Meta_Delete Meta_Delete
+keycode 15 = Tab Tab Tab Tab VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+keycode 26 = bracketleft braceleft uacute slash Escape VoidSymbol Escape VoidSymbol Meta_bracketleft Meta_bracketleft Meta_bracketleft Meta_bracketleft
+keycode 27 = bracketright braceright adiaeresis parenleft Control_bracketright VoidSymbol Control_bracketright VoidSymbol Meta_bracketright Meta_bracketright Meta_bracketright Meta_bracketright
+keycode 28 = Return
+altgr keycode 28 = Return
+alt keycode 28 = Meta_Control_m
+alt altgr keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = semicolon colon ocircumflex quotedbl VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_semicolon Meta_semicolon Meta_semicolon Meta_semicolon
+keycode 40 = apostrophe quotedbl 0xa7 exclam Control_g VoidSymbol Control_g VoidSymbol Meta_apostrophe Meta_apostrophe Meta_apostrophe Meta_apostrophe
+keycode 41 = grave asciitilde dead_diaeresis dead_circumflex nul VoidSymbol nul VoidSymbol Meta_grave VoidSymbol Meta_grave
+keycode 42 = Shift
+keycode 43 = backslash bar ncaron parenright Control_backslash VoidSymbol Control_backslash VoidSymbol Meta_backslash VoidSymbol Meta_backslash
+keycode 51 = comma less comma question
+alt keycode 51 = Meta_comma
+alt altgr keycode 51 = Meta_comma
+keycode 52 = period greater period colon Compose VoidSymbol Compose VoidSymbol Meta_period VoidSymbol Meta_period
+keycode 53 = slash question minus underscore Delete VoidSymbol Delete VoidSymbol Meta_slash VoidSymbol Meta_slash
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space space space nul nul nul nul Meta_space Meta_space Meta_space Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 F1 F13 F1 VoidSymbol F1 VoidSymbol Console_1 VoidSymbol Console_1 VoidSymbol Console_1
+keycode 60 = F2 F14 F2 F14 F2 VoidSymbol F2 VoidSymbol Console_2 VoidSymbol Console_2 VoidSymbol Console_2
+keycode 61 = F3 F15 F3 F15 F3 VoidSymbol F3 VoidSymbol Console_3 VoidSymbol Console_3 VoidSymbol Console_3
+keycode 62 = F4 F16 F4 F15 F4 VoidSymbol F4 VoidSymbol Console_4 VoidSymbol Console_4 VoidSymbol Console_4
+keycode 63 = F5 F17 F5 F15 F5 VoidSymbol F5 VoidSymbol Console_5 VoidSymbol Console_5 VoidSymbol Console_5
+keycode 64 = F6 F18 F6 F15 F6 VoidSymbol F6 VoidSymbol Console_6 VoidSymbol Console_6 VoidSymbol Console_6
+keycode 65 = F7 F19 F7 F15 F7 VoidSymbol F7 VoidSymbol Console_7 VoidSymbol Console_7 VoidSymbol Console_7
+keycode 66 = F8 F20 F8 F15 F8 VoidSymbol F8 VoidSymbol Console_8 VoidSymbol Console_8 VoidSymbol Console_8
+keycode 67 = F9 F9 F9 F9 F9 VoidSymbol F9 VoidSymbol Console_9 VoidSymbol Console_9 VoidSymbol Console_9
+keycode 68 = F10 F10 F10 F10 F10 VoidSymbol F10 VoidSymbol Console_10 VoidSymbol Console_10 VoidSymbol Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+control keycode 70 = Show_State
+alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+alt keycode 86 = Meta_less
+keycode 87 = F11 F11 F11 F11 F11 VoidSymbol F11 VoidSymbol Console_11 VoidSymbol Console_11 VoidSymbol Console_11
+keycode 88 = F12 F12 F12 F12 F12 VoidSymbol F12 VoidSymbol Console_12 VoidSymbol Console_12 VoidSymbol Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+keycode 97 = Control
+keycode 98 = KP_Divide
+keycode 99 = Control_backslash
+control keycode 99 = Control_backslash
+alt keycode 99 = Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+keycode 104 = Prior
+shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ alt altgr keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ alt altgr keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+control alt keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+
+compose ',' 'A' to '¡'
+compose '/' 'L' to '£'
+compose '^' 'L' to '¥'
+compose '\'' 'S' to '¦'
+compose '^' 'S' to '©'
+compose ',' 'S' to 'ª'
+compose '^' 'T' to '«'
+compose '\'' 'Z' to '¬'
+compose '^' 'Z' to '®'
+compose '.' 'Z' to '¯'
+compose ',' 'a' to '±'
+compose '/' 'l' to '³'
+compose '^' 'l' to 'µ'
+compose '\'' 's' to '¶'
+compose '^' 's' to '¹'
+compose ',' 's' to 'º'
+compose '^' 't' to '»'
+compose '\'' 'z' to '¼'
+compose '^' 'z' to '¾'
+compose '.' 'z' to '¿'
+compose '\'' 'R' to 'À'
+compose '\'' 'A' to 'Á'
+compose '^' 'A' to 'Â'
+compose '^' 'A' to 'Ã'
+compose ':' 'A' to 'Ä'
+compose '"' 'A' to 'Ä'
+compose '\'' 'L' to 'Å'
+compose '\'' 'C' to 'Æ'
+compose ',' 'C' to 'Ç'
+compose '^' 'C' to 'È'
+compose '\'' 'E' to 'É'
+compose ',' 'E' to 'Ê'
+compose '"' 'E' to 'Ë'
+compose '^' 'E' to 'Ì'
+compose '\'' 'I' to 'Í'
+compose '^' 'I' to 'Î'
+compose '^' 'D' to 'Ï'
+compose '-' 'D' to 'Ð'
+compose '\'' 'N' to 'Ñ'
+compose '^' 'N' to 'Ò'
+compose '\'' 'O' to 'Ó'
+compose '^' 'O' to 'Ô'
+compose '"' 'O' to 'Õ'
+compose ':' 'O' to 'Ö'
+compose '^' 'R' to 'Ø'
+compose '^' 'U' to 'Ù'
+compose '\'' 'U' to 'Ú'
+compose '"' 'U' to 'Û'
+compose ':' 'U' to 'Ü'
+compose '\'' 'Y' to 'Ý'
+compose ',' 'T' to 'Þ'
+compose 's' 's' to 'ß'
+compose 'S' 'S' to 'ß'
+compose '\'' 'r' to 'à'
+compose '\'' 'a' to 'á'
+compose '^' 'a' to 'â'
+compose '^' 'a' to 'ã'
+compose ':' 'a' to 'ä'
+compose '"' 'a' to 'ä'
+compose '\'' 'l' to 'å'
+compose '\'' 'c' to 'æ'
+compose ',' 'c' to 'ç'
+compose '^' 'c' to 'è'
+compose '\'' 'e' to 'é'
+compose ',' 'e' to 'ê'
+compose ':' 'e' to 'ë'
+compose '^' 'e' to 'ì'
+compose '\'' 'i' to 'í'
+compose '^' 'e' to 'î'
+compose '^' 'd' to 'ï'
+compose '-' 'd' to 'ð'
+compose '\'' 'n' to 'ñ'
+compose '^' 'n' to 'ò'
+compose '\'' 'o' to 'ó'
+compose '^' 'o' to 'ô'
+compose ':' 'o' to 'õ'
+compose '"' 'o' to 'ö'
+compose '^' 'r' to 'ø'
+compose '^' 'u' to 'ù'
+compose '\'' 'u' to 'ú'
+compose '"' 'u' to 'û'
+compose ':' 'u' to 'ü'
+compose '\'' 'y' to 'ý'
+compose ',' 't' to 'þ'
diff --git a/keymaps/i386/qwerty/sr-cy.kmap b/keymaps/i386/qwerty/sr-cy.kmap
new file mode 100644
index 0000000..0d5f65d
--- /dev/null
+++ b/keymaps/i386/qwerty/sr-cy.kmap
@@ -0,0 +1,321 @@
+! Serbian Cyrillic keyboard.map. You have to use some of ISO-8859-05 console
+! fonts (type 'setfont iso05.f16'...). I used ru.map to make this one. Read
+! the comment for the Russian Cyrillic keyboard.map. Serbian Latin
+! keyboard.map is named sr.map (I think it should be named sr-la.map.).
+!
+! In Serbian: Ovo je zahvalna tastatura, a moracu da napravim slicnu za
+! ISO-8859-2 (nasu latinicu). Pomocu desnog kontrol tastera menjate ASCII,
+! odnosno ISO-8859-5 cirilicu. Naravno, morate koristiti odgovarajuci font
+! (kao sto sam naveo gore na engleskom -- kucajte: 'setfont iso05.f16' za
+! dobijanje fonta). Uostalom, sveo sto pocinje sa 'iso05' odgovara. Vodite
+! racuna o sledecem: (1) Ne moze se koristiti nasa cirilica i nasa latinica
+! zajedno. Zato moze engleski alfabet i nasa cirilica, kao i sve ostale
+! slovenske cirilice. (2) Ima malih izmena u odnosu na Mikrosoftovu
+! cirilicnu tastaturu na koju ste navikli: a) taster za 'zh/zx' i taster za
+! minus i donju crtu su zamenjeni; na ANSI tastaturama to znaci da na mestu
+! gde su znakovi '/' i '?' se nalazi 'zh/zx', a na mestu gde je '\' i '|'
+! stoji '-' i '_'; b) po preporuci Mitra Pesikana i Miljka Kovacevica (vidi
+! knjigu Mitra Pesikana Nasa azbuka i njene norme) taster za 'dj/dy' se
+! nalazi na mestu gde se obicno nalazi makedonsko 'dz', odnosno na ANSI
+! tastaturi pise 'z'; to mi je omogucilo da taster koji obicno sluzi za
+! 'dj/dy' iskoristim za otvorenu i zatvorenu srednju zagradu. Nisam
+! iskoristio dodatni taster koji ide uz nase tastature, ali ima vremena...
+! Ako bas ne znate engleski, da navedem jos da funkciju 'siftovanja', tj.
+! trenutnog prebacivanja (znaci, ono sto radi taster 'shift' kad su u
+! pitanju mala i velika slova) sa jednog pisma na drugo radi AltGr taster,
+! tj. desni Alt taster. Napomena: Moguce je da ova tastatura ima nekih
+! gresaka, posto sam je 'na slepo' pravio.
+!
+! 27. 1. 2000.
+!
+! Milos Rancic (millosh@isgf.grf.bg.ac.yu).
+!
+! > Russian Cyrillic keyboard.map. "Cyrillic" mode is toggled by
+! > Right_Ctrl key and shifted by AltGr key.
+!
+
+keymaps 0-4,6,8,10,12
+strings as usual
+
+ keycode 1 = Escape Escape Escape Escape
+ alt keycode 1 = Meta_Escape
+ keycode 2 = one exclam one exclam
+ alt keycode 2 = Meta_one
+ keycode 3 = two at two quotedbl
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+ keycode 4 = three numbersign three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ keycode 5 = four dollar four dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ keycode 6 = five percent five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ keycode 7 = six asciicircum six ampersand
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ keycode 8 = seven ampersand seven slash
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+ keycode 9 = eight asterisk eight parenleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+ keycode 10 = nine parenleft nine parenright
+ alt keycode 10 = Meta_nine
+ keycode 11 = zero parenright zero equal
+ alt keycode 11 = Meta_zero
+ keycode 12 = minus underscore apostrophe question
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+ keycode 13 = equal plus plus asterisk
+ alt keycode 13 = Meta_equal
+ keycode 14 = BackSpace BackSpace BackSpace BackSpace
+ alt keycode 14 = Meta_Delete
+ keycode 15 = Tab Tab Tab Tab
+ alt keycode 15 = Meta_Tab
+ keycode 16 = +q +Q +249 +169
+ control keycode 16 = Control_q
+altgr control keycode 16 = Control_q
+ keycode 17 = +w +W +250 +170
+ control keycode 17 = Control_w
+altgr control keycode 17 = Control_w
+ keycode 18 = +e +E +213 +181
+ control keycode 18 = Control_e
+altgr control keycode 18 = Control_e
+ keycode 19 = +r +R +224 +192
+ control keycode 19 = Control_r
+altgr control keycode 19 = Control_r
+ keycode 20 = +t +T +226 +194
+ control keycode 20 = Control_t
+altgr control keycode 20 = Control_t
+ keycode 21 = +y +Y +215 +183
+ control keycode 21 = Control_y
+altgr control keycode 21 = Control_y
+ keycode 22 = +u +U +227 +195
+ control keycode 22 = Control_u
+altgr control keycode 22 = Control_u
+ keycode 23 = +i +I +216 +184
+ control keycode 23 = Tab
+altgr control keycode 23 = Tab
+ keycode 24 = +o +O +222 +190
+ control keycode 24 = Control_o
+altgr control keycode 24 = Control_o
+ keycode 25 = +p +P +223 +191
+ control keycode 25 = Control_p
+altgr control keycode 25 = Control_p
+ keycode 26 = bracketleft braceleft +232 +200
+ control keycode 26 = Escape
+altgr control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ keycode 27 = bracketright braceright bracketleft bracketright
+ control keycode 27 = Control_bracketright
+altgr control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+ keycode 29 = Control
+ keycode 30 = +a +A +208 +176
+ control keycode 30 = Control_a
+altgr control keycode 30 = Control_a
+ keycode 31 = +s +S +225 +193
+ control keycode 31 = Control_s
+altgr control keycode 31 = Control_s
+ keycode 32 = +d +D +212 +180
+ control keycode 32 = Control_d
+altgr control keycode 32 = Control_d
+ keycode 33 = +f +F +228 +196
+ control keycode 33 = Control_f
+altgr control keycode 33 = Control_f
+ keycode 34 = +g +G +211 +179
+ control keycode 34 = Control_g
+altgr control keycode 34 = Control_g
+ keycode 35 = +h +H +229 +197
+ control keycode 35 = BackSpace
+altgr control keycode 35 = BackSpace
+ keycode 36 = +j +J +248 +168
+ control keycode 36 = Linefeed
+altgr control keycode 36 = Linefeed
+ keycode 37 = +k +K +218 +186
+ control keycode 37 = Control_k
+altgr control keycode 37 = Control_k
+ keycode 38 = +l +L +219 +187
+ control keycode 38 = Control_l
+altgr control keycode 38 = Control_l
+ keycode 39 = semicolon colon +231 +199
+ alt keycode 39 = Meta_semicolon
+ keycode 40 = apostrophe quotedbl +251 +171
+ control keycode 40 = Control_g
+altgr control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+ keycode 41 = grave asciitilde grave asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+ keycode 42 = Shift
+ keycode 43 = backslash bar minus underscore
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ keycode 44 = +z +Z +242 +162
+ control keycode 44 = Control_z
+altgr control keycode 44 = Control_z
+ keycode 45 = +x +X +255 +175
+ control keycode 45 = Control_x
+altgr control keycode 45 = Control_x
+ keycode 46 = +c +C +230 +198
+ control keycode 46 = Control_c
+altgr control keycode 46 = Control_c
+ keycode 47 = +v +V +210 +178
+ control keycode 47 = Control_v
+altgr control keycode 47 = Control_v
+ keycode 48 = +b +B +209 +177
+ control keycode 48 = Control_b
+altgr control keycode 48 = Control_b
+ keycode 49 = +n +N +221 +189
+ control keycode 49 = Control_n
+altgr control keycode 49 = Control_n
+ keycode 50 = +m +M +220 +188
+ control keycode 50 = Control_m
+altgr control keycode 50 = Control_m
+ keycode 51 = comma less comma semicolon
+ alt keycode 51 = Meta_comma
+ keycode 52 = period greater period colon
+ alt keycode 52 = Meta_period
+ keycode 53 = slash question +214 +182
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+ keycode 54 = Shift
+ keycode 55 = KP_Multiply
+ keycode 56 = Alt
+ keycode 57 = space space space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ keycode 58 = Caps_Lock
+ keycode 59 = F1 F11 F1 F11
+ control keycode 59 = F1
+ alt keycode 59 = Console_1
+altgr alt keycode 59 = Console_1
+ keycode 60 = F2 F12 F2 F12
+ control keycode 60 = F2
+ alt keycode 60 = Console_2
+altgr alt keycode 60 = Console_2
+ keycode 61 = F3 F13 F3 F13
+ control keycode 61 = F3
+ alt keycode 61 = Console_3
+altgr alt keycode 61 = Console_3
+ keycode 62 = F4 F14 F4 F14
+ control keycode 62 = F4
+ alt keycode 62 = Console_4
+altgr alt keycode 62 = Console_4
+ keycode 63 = F5 F15 F5 F15
+ control keycode 63 = F5
+ alt keycode 63 = Console_5
+altgr alt keycode 63 = Console_5
+ keycode 64 = F6 F16 F6 F16
+ control keycode 64 = F6
+ alt keycode 64 = Console_6
+altgr alt keycode 64 = Console_6
+ keycode 65 = F7 F17 F7 F17
+ control keycode 65 = F7
+ alt keycode 65 = Console_7
+altgr alt keycode 65 = Console_7
+ keycode 66 = F8 F18 F8 F18
+ control keycode 66 = F8
+ alt keycode 66 = Console_8
+altgr alt keycode 66 = Console_8
+ keycode 67 = F9 F19 F9 F19
+ control keycode 67 = F9
+ alt keycode 67 = Console_9
+altgr alt keycode 67 = Console_9
+ keycode 68 = F10 F20 F10 F20
+ control keycode 68 = F10
+ alt keycode 68 = Console_10
+altgr alt keycode 68 = Console_10
+ keycode 69 = Num_Lock
+ keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+ keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+ keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+ keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+ keycode 74 = KP_Subtract
+ keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+ keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+ keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+ keycode 78 = KP_Add
+ keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+ keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+ keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+ keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+ keycode 83 = KP_Period
+altgr control keycode 83 = Boot
+control alt keycode 83 = Boot
+ keycode 84 = Last_Console
+ keycode 85 =
+ keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+ keycode 87 = F11 F11 F11 F11
+ control keycode 87 = F11
+ alt keycode 87 = Console_11
+altgr alt keycode 87 = Console_11
+ keycode 88 = F12 F12 F12 F12
+ control keycode 88 = F12
+ alt keycode 88 = Console_12
+altgr alt keycode 88 = Console_12
+ keycode 89 =
+ keycode 90 =
+ keycode 91 =
+ keycode 92 =
+ keycode 93 =
+ keycode 94 =
+ keycode 95 =
+ keycode 96 = KP_Enter
+ keycode 97 = AltGr_Lock
+ keycode 98 = KP_Divide
+ keycode 99 = VoidSymbol
+ control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+ keycode 100 = AltGr
+ keycode 101 = Break
+ keycode 102 = Find
+ keycode 103 = Up
+ keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+ keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ keycode 107 = Select
+ keycode 108 = Down
+ keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+ keycode 110 = Insert
+ keycode 111 = Remove
+altgr control keycode 111 = Boot
+control alt keycode 111 = Boot
+ keycode 112 =
+ keycode 113 =
+ keycode 114 =
+ keycode 115 =
+ keycode 116 =
+ keycode 117 =
+ keycode 118 =
+ keycode 119 =
+ keycode 120 =
+ keycode 121 =
+ keycode 122 =
+ keycode 123 =
+ keycode 124 =
+ keycode 125 =
+ keycode 126 =
+ keycode 127 =
diff --git a/keymaps/i386/qwerty/th-tis.kmap b/keymaps/i386/qwerty/th-tis.kmap
new file mode 100644
index 0000000..2c10705
--- /dev/null
+++ b/keymaps/i386/qwerty/th-tis.kmap
@@ -0,0 +1,558 @@
+# th-tis.kmap
+# Thai TIS 820-2538 keyboard map for *** TIS-620 Charset ***.
+#
+# Standard 101/102 Keys US Keyboard Layout (Thai Kedmanee)
+#
+# Theppitak Karoonboonyanan <thep@linux.thai.net>
+# Phattanon Duangdara <sf_alpha@shin-host.com>
+#
+# Thai/Eng mode toggle by Left-Alt+Shift
+# Single Thai Character can be type by Hole Right-Alt (Shift) + Character
+# Notes: Uses AltGr_Lock Instance
+#
+# [use: loadkeys th-tis.kmap]
+charset "tis-620"
+keymaps 0-4,6,8-12,14
+strings as usual
+
+keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+ altgr alt keycode 1 = Meta_Escape
+
+keycode 2 = one exclam +thai_baht thai_lakkhangyao
+ alt keycode 2 = Meta_one
+ altgr alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+ altgr shift alt keycode 2 = Meta_exclam
+
+keycode 3 = two at +slash thai_leknung
+ control keycode 3 = nul
+ altgr control keycode 3 = nul
+ alt keycode 3 = Meta_two
+ altgr alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_at
+ altgr shift alt keycode 3 = Meta_at
+
+keycode 4 = three numbersign +minus thai_leksong
+ control keycode 4 = Escape
+ altgr control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ altgr alt keycode 4 = Meta_three
+ shift alt keycode 4 = Meta_numbersign
+ altgr shift alt keycode 4 = Meta_numbersign
+
+keycode 5 = four dollar +thai_phosamphao thai_leksam
+ control keycode 5 = Control_backslash
+ altgr control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ altgr alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+ altgr shift alt keycode 5 = Meta_dollar
+
+keycode 6 = five percent +thai_thothung thai_leksi
+ control keycode 6 = Control_bracketright
+ altgr control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ altgr alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+ altgr shift alt keycode 6 = Meta_percent
+
+keycode 7 = six asciicircum +thai_sarau thai_sarauu
+ control keycode 7 = Control_asciicircum
+ altgr control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ altgr alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_asciicircum
+ altgr shift alt keycode 7 = Meta_asciicircum
+
+keycode 8 = seven ampersand +thai_saraue thai_yamakkan
+ control keycode 8 = Control_underscore
+ altgr control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+ altgr alt keycode 8 = Meta_seven
+ shift alt keycode 8 = Meta_ampersand
+ altgr shift alt keycode 8 = Meta_ampersand
+
+keycode 9 = eight asterisk +thai_khokhwai thai_lekha
+ control keycode 9 = Delete
+ altgr control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+ altgr alt keycode 9 = Meta_eight
+ shift alt keycode 9 = Meta_asterisk
+ altgr shift alt keycode 9 = Meta_asterisk
+
+keycode 10 = nine parenleft +thai_totao thai_lekhok
+ alt keycode 10 = Meta_nine
+ altgr alt keycode 10 = Meta_nine
+ shift alt keycode 10 = Meta_parenleft
+ altgr shift alt keycode 10 = Meta_parenleft
+
+keycode 11 = zero parenright +thai_chochan thai_lekchet
+ alt keycode 11 = Meta_zero
+ altgr alt keycode 11 = Meta_zero
+ shift alt keycode 11 = Meta_parenright
+ altgr shift alt keycode 11 = Meta_parenright
+
+keycode 12 = minus underscore +thai_khokhai thai_lekpaet
+ control keycode 12 = Control_underscore
+ altgr control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+ altgr alt keycode 12 = Meta_minus
+ shift alt keycode 12 = Meta_underscore
+ altgr shift alt keycode 12 = Meta_underscore
+
+keycode 13 = equal plus +thai_chochang thai_lekkao
+ alt keycode 13 = Meta_equal
+ altgr alt keycode 13 = Meta_equal
+ shift alt keycode 13 = Meta_plus
+ altgr shift alt keycode 13 = Meta_plus
+
+keycode 14 = Delete
+ alt keycode 14 = Meta_Delete
+ altgr alt keycode 14 = Meta_Delete
+
+keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+ altgr alt keycode 15 = Meta_Tab
+
+keycode 16 = +q Q +thai_maiyamok thai_leksun
+ control keycode 16 = Control_q
+ altgr control keycode 16 = Control_q
+
+keycode 17 = +w W +thai_saraaimaimalai quotedbl
+ control keycode 17 = Control_w
+ altgr control keycode 17 = Control_w
+
+keycode 18 = +e E +thai_saraam thai_dochada
+ control keycode 18 = Control_e
+ altgr control keycode 18 = Control_e
+
+keycode 19 = +r R +thai_phophan thai_thonangmontho
+ control keycode 19 = Control_r
+ altgr control keycode 19 = Control_r
+
+keycode 20 = +t T +thai_saraa thai_thothong
+ control keycode 20 = Control_t
+ altgr control keycode 20 = Control_t
+
+keycode 21 = +y Y +thai_maihanakat thai_nikhahit
+ control keycode 21 = Control_y
+ altgr control keycode 21 = Control_y
+
+keycode 22 = +u U +thai_saraii thai_maitri
+ control keycode 22 = Control_u
+ altgr control keycode 22 = Control_u
+
+keycode 23 = +i I +thai_rorua thai_nonen
+ control keycode 23 = Tab
+ altgr control keycode 23 = Tab
+
+keycode 24 = +o O +thai_nonu thai_paiyannoi
+ control keycode 24 = Control_o
+ altgr control keycode 24 = Control_o
+
+keycode 25 = +p P +thai_yoyak thai_yoying
+ control keycode 25 = Control_p
+ altgr control keycode 25 = Control_p
+
+keycode 26 = +bracketleft braceleft +thai_bobaimai thai_thothan
+ control keycode 26 = Escape
+ altgr control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ altgr alt keycode 26 = Meta_bracketleft
+ shift alt keycode 26 = Meta_braceleft
+ altgr shift alt keycode 26 = Meta_braceleft
+
+keycode 27 = bracketright braceright +thai_loling comma
+ control keycode 27 = Control_bracketright
+ altgr control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ altgr alt keycode 27 = Meta_bracketright
+ shift alt keycode 27 = Meta_braceright
+ altgr shift alt keycode 27 = Meta_braceright
+
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+ altgr alt keycode 28 = Meta_Control_m
+ control keycode 28 = Linefeed
+ altgr control keycode 28 = Linefeed
+
+keycode 29 = Control
+
+keycode 30 = +a A +thai_fofan thai_ru
+ control keycode 30 = Control_a
+ altgr control keycode 30 = Control_a
+
+keycode 31 = +s S +thai_hohip thai_khorakhang
+ control keycode 31 = Control_s
+ altgr control keycode 31 = Control_s
+
+keycode 32 = +d D +thai_kokai thai_topatak
+ control keycode 32 = Control_d
+ altgr control keycode 32 = Control_d
+
+keycode 33 = +f F +thai_dodek thai_sarao
+ control keycode 33 = Control_f
+ altgr control keycode 33 = Control_f
+
+keycode 34 = +g G +thai_sarae thai_chochoe
+ control keycode 34 = Control_g
+ altgr control keycode 34 = Control_g
+
+keycode 35 = +h H +thai_maitho thai_maitaikhu
+ control keycode 35 = BackSpace
+ altgr control keycode 35 = BackSpace
+
+keycode 36 = +j J +thai_maiek thai_maichattawa
+ control keycode 36 = Linefeed
+ altgr control keycode 36 = Linefeed
+
+keycode 37 = +k K +thai_saraaa thai_sorusi
+ control keycode 37 = Control_k
+ altgr control keycode 37 = Control_k
+
+keycode 38 = +l L +thai_sosua thai_sosala
+ control keycode 38 = Control_l
+ altgr control keycode 38 = Control_l
+
+keycode 39 = semicolon colon +thai_wowaen thai_soso
+ alt keycode 39 = Meta_semicolon
+ altgr alt keycode 39 = Meta_semicolon
+
+keycode 40 = apostrophe quotedbl +thai_ngongu period
+ control keycode 40 = Control_g
+ altgr control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+ altgr alt keycode 40 = Meta_apostrophe
+
+keycode 41 = grave asciitilde +thai_fongman thai_khomut
+ control keycode 41 = nul
+ altgr control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+ altgr alt keycode 41 = Meta_grave
+
+keycode 42 = Shift
+ alt keycode 42 = AltGr_Lock
+ altgr alt keycode 42 = AltGr_Lock
+
+keycode 43 = backslash bar +thai_khokhon thai_khokhuat
+ control keycode 43 = Control_backslash
+ altgr control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ altgr alt keycode 43 = Meta_backslash
+ shift alt keycode 43 = Meta_bar
+ altgr shift alt keycode 43 = Meta_bar
+
+keycode 44 = +z Z +thai_phophung parenleft
+ control keycode 44 = Control_z
+ altgr control keycode 44 = Control_z
+
+keycode 45 = +x X +thai_popla parenright
+ control keycode 45 = Control_x
+ altgr control keycode 45 = Control_x
+
+keycode 46 = +c C +thai_saraae thai_choching
+ control keycode 46 = Control_c
+ altgr control keycode 46 = Control_c
+
+keycode 47 = +v V +thai_oang thai_honokhuk
+ control keycode 47 = Control_v
+ altgr control keycode 47 = Control_v
+
+keycode 48 = +b B +thai_sarai thai_phinthu
+ control keycode 48 = Control_b
+ altgr control keycode 48 = Control_b
+
+keycode 49 = +n N +thai_sarauee thai_thanthakhat
+ control keycode 49 = Control_n
+ altgr control keycode 49 = Control_n
+
+keycode 50 = +m M +thai_thothahan question
+ control keycode 50 = Control_m
+ altgr control keycode 50 = Control_m
+
+keycode 51 = +comma less +thai_moma thai_thophuthao
+ alt keycode 51 = Meta_comma
+ altgr alt keycode 51 = Meta_comma
+ alt shift keycode 51 = Meta_less
+ altgr alt shift keycode 51 = Meta_less
+
+keycode 52 = +period greater +thai_saraaimaimuan thai_lochula
+ alt keycode 52 = Meta_period
+ altgr alt keycode 52 = Meta_period
+ alt shift keycode 52 = Meta_greater
+ altgr alt shift keycode 52 = Meta_greater
+
+keycode 53 = slash question +thai_fofa thai_lu
+ control keycode 53 = Delete
+ altgr control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+ altgr alt keycode 53 = Meta_slash
+ shift alt keycode 53 = Meta_question
+ altgr shift alt keycode 53 = Meta_question
+
+keycode 54 = Shift
+
+keycode 55 = KP_Multiply
+
+keycode 56 = Alt
+
+keycode 57 = space
+ control keycode 57 = nul
+ altgr control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ altgr alt keycode 57 = Meta_space
+
+keycode 58 = Caps_Lock
+
+keycode 59 = F1 F11 F1 F11
+ control keycode 59 = F1
+ altgr control keycode 59 = F1
+ alt keycode 59 = Console_1
+ altgr alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+ altgr control alt keycode 59 = Console_1
+
+keycode 60 = F2 F12 F2 F12
+ control keycode 60 = F2
+ altgr control keycode 60 = F2
+ alt keycode 60 = Console_2
+ altgr alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+ altgr control alt keycode 60 = Console_2
+
+keycode 61 = F3 F13 F3 F13
+ control keycode 61 = F3
+ altgr control keycode 61 = F3
+ alt keycode 61 = Console_3
+ altgr alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+ altgr control alt keycode 61 = Console_3
+
+keycode 62 = F4 F14 F4 F14
+ control keycode 62 = F4
+ altgr control keycode 62 = F4
+ alt keycode 62 = Console_4
+ altgr alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+ altgr control alt keycode 62 = Console_4
+
+keycode 63 = F5 F15 F5 F15
+ control keycode 63 = F5
+ altgr control keycode 63 = F5
+ alt keycode 63 = Console_5
+ altgr alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+ altgr control alt keycode 63 = Console_5
+
+keycode 64 = F6 F16 F6 F16
+ control keycode 64 = F6
+ altgr control keycode 64 = F6
+ alt keycode 64 = Console_6
+ altgr alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+ altgr control alt keycode 64 = Console_6
+
+keycode 65 = F7 F17 F7 F17
+ control keycode 65 = F7
+ altgr control keycode 65 = F7
+ alt keycode 65 = Console_7
+ altgr alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+ altgr control alt keycode 65 = Console_7
+
+keycode 66 = F8 F18 F8 F18
+ control keycode 66 = F8
+ altgr control keycode 66 = F8
+ alt keycode 66 = Console_8
+ altgr alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+ altgr control alt keycode 66 = Console_8
+
+keycode 67 = F9 F19 F9 F19
+ control keycode 67 = F9
+ altgr control keycode 67 = F9
+ alt keycode 67 = Console_9
+ altgr alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+ altgr control alt keycode 67 = Console_9
+
+keycode 68 = F10 F20 F10 F20
+ control keycode 68 = F10
+ altgr control keycode 68 = F10
+ alt keycode 68 = Console_10
+ altgr alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+ altgr control alt keycode 68 = Console_10
+
+keycode 69 = Num_Lock
+
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ altgr control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+ altgr alt keycode 70 = Scroll_Lock
+
+keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+ altgr alt keycode 71 = Ascii_7
+
+keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+ altgr alt keycode 72 = Ascii_8
+
+keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+ altgr alt keycode 73 = Ascii_9
+
+keycode 74 = KP_Subtract
+
+keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+ altgr alt keycode 75 = Ascii_4
+
+keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+ altgr alt keycode 76 = Ascii_5
+
+keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+ altgr alt keycode 77 = Ascii_6
+
+keycode 78 = KP_Add
+
+keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+ altgr alt keycode 79 = Ascii_1
+
+keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+ altgr alt keycode 80 = Ascii_2
+
+keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+ altgr alt keycode 81 = Ascii_3
+
+keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+ altgr alt keycode 82 = Ascii_0
+
+keycode 83 = KP_Period
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+ altgr control alt keycode 83 = Boot
+
+keycode 84 = Last_Console
+
+keycode 85 =
+
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+ altgr alt keycode 86 = Meta_less
+
+keycode 87 = F11 F11 F11 F11
+ control keycode 87 = F11
+ altgr control keycode 87 = F11
+ alt keycode 87 = Console_11
+ altgr alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+ altgr control alt keycode 87 = Console_11
+
+keycode 88 = F12 F12 F12 F12
+ control keycode 88 = F12
+ altgr control keycode 88 = F12
+ alt keycode 88 = Console_12
+ altgr alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+ altgr control alt keycode 88 = Console_12
+
+keycode 89 =
+
+keycode 90 =
+
+keycode 91 =
+
+keycode 92 =
+
+keycode 93 =
+
+keycode 94 =
+
+keycode 95 =
+
+keycode 96 = KP_Enter
+
+keycode 97 = Control
+
+keycode 98 = KP_Divide
+
+keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+ altgr control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+ altgr alt keycode 99 = Control_backslash
+
+keycode 100 = AltGr
+
+keycode 101 = Break
+
+keycode 102 = Find
+
+keycode 103 = Up
+
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+ altgr shift keycode 104 = Scroll_Backward
+
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+
+keycode 107 = Select
+
+keycode 108 = Down
+
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+ altgr shift keycode 109 = Scroll_Forward
+
+keycode 110 = Insert
+
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+ altgr control alt keycode 111 = Boot
+
+keycode 112 =
+
+keycode 113 =
+
+keycode 114 =
+
+keycode 115 =
+
+keycode 116 =
+
+keycode 117 =
+
+keycode 118 =
+
+keycode 119 =
+
+keycode 120 =
+
+keycode 121 =
+
+keycode 122 =
+
+keycode 123 =
+
+keycode 124 =
+
+keycode 125 =
+
+keycode 126 =
+
+keycode 127 =
diff --git a/keymaps/i386/qwerty/tr_q-latin5.kmap b/keymaps/i386/qwerty/tr_q-latin5.kmap
new file mode 100644
index 0000000..59cdac2
--- /dev/null
+++ b/keymaps/i386/qwerty/tr_q-latin5.kmap
@@ -0,0 +1,123 @@
+# turkish "Q" keyboard, copyed from LyX turkish keyboard description
+#
+# Pablo Saratxaga <srtxg@f2219.n293.z2.fidonet.org>
+
+charset "iso-8859-9"
+keymaps 0-2,4-6,8-9,12
+include "linux-with-alt-and-altgr"
+strings as usual
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+ alt shift keycode 2 = Meta_exclam
+keycode 3 = two apostrophe at
+ control keycode 3 = nul
+ control shift keycode 3 = nul
+ alt keycode 3 = Meta_two
+ alt shift keycode 3 = Meta_at
+keycode 4 = three dead_circumflex numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ alt shift keycode 4 = Meta_numbersign
+keycode 5 = four plus dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ alt shift keycode 5 = Meta_dollar
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ alt shift keycode 6 = Meta_percent
+keycode 7 = six ampersand asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ alt shift keycode 7 = Meta_asciicircum
+keycode 8 = seven slash braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight parenleft bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenright bracketright
+ alt keycode 10 = Meta_nine
+keycode 11 = zero equal braceright
+ alt keycode 11 = Meta_zero
+keycode 12 = asterisk question backslash
+ control keycode 12 = Control_underscore
+ control shift keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = minus underscore
+ alt keycode 13 = Meta_equal
+keycode 14 = BackSpace Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 16 = q
+keycode 17 = w
+keycode 18 = e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = y
+keycode 22 = u
+keycode 23 = +dotlessi +I
+keycode 24 = o
+keycode 25 = p
+keycode 26 = +gbreve +Gbreve
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ alt shift keycode 26 = Meta_braceleft
+keycode 27 = udiaeresis Udiaeresis asciitilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ alt shift keycode 27 = Meta_braceright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+keycode 39 = +scedilla +Scedilla
+ alt keycode 39 = Meta_semicolon
+keycode 40 = +i +Idotabove
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = backslash quotedbl asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = comma semicolon bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ alt shift keycode 43 = Meta_bar
+keycode 44 = z
+keycode 45 = x
+keycode 46 = c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = m
+keycode 51 = +odiaeresis +Odiaeresis less
+ alt keycode 51 = Meta_comma
+ alt shift keycode 51 = Meta_less
+keycode 52 = +ccedilla +Ccedilla greater
+ alt keycode 52 = Meta_period
+ alt shift keycode 52 = Meta_greater
+keycode 53 = period colon
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 97 = Control
diff --git a/keymaps/i386/qwerty/tralt.kmap b/keymaps/i386/qwerty/tralt.kmap
new file mode 100644
index 0000000..2b7e703
--- /dev/null
+++ b/keymaps/i386/qwerty/tralt.kmap
@@ -0,0 +1,144 @@
+# tr.map
+# -cagri@tubitak.gov.tr
+charset "iso-8859-9"
+include "linux-with-alt-and-altgr"
+strings as usual
+
+keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+ alt shift keycode 2 = Meta_exclam
+keycode 3 = two at at
+ control keycode 3 = nul
+ control shift keycode 3 = nul
+ alt keycode 3 = Meta_two
+ alt shift keycode 3 = Meta_at
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ alt shift keycode 4 = Meta_numbersign
+keycode 5 = four dollar dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ alt shift keycode 5 = Meta_dollar
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ alt shift keycode 6 = Meta_percent
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ alt shift keycode 7 = Meta_asciicircum
+keycode 8 = seven ampersand braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight asterisk bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenleft bracketright
+ alt keycode 10 = Meta_nine
+keycode 11 = zero parenright braceright
+ alt keycode 11 = Meta_zero
+keycode 12 = minus underscore backslash
+ control keycode 12 = Control_underscore
+ control shift keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = equal plus
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+keycode 16 = q
+keycode 17 = w
+keycode 18 = e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = y
+keycode 22 = u
+ altgr keycode 22 = +0374
+ altgr shift keycode 22 = +0334
+ alt keycode 22 = +0374
+ alt shift keycode 22 = +0334
+keycode 23 = i
+ altgr keycode 23 = +0375
+ altgr shift keycode 23 = 0335
+ alt keycode 23 = +0375
+ alt shift keycode 23 = 0335
+keycode 24 = o
+ altgr keycode 24 = +0366
+ altgr shift keycode 24 = 0326
+ alt keycode 24 = +0366
+ alt shift keycode 24 = 0326
+keycode 25 = p
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ alt shift keycode 26 = Meta_braceleft
+keycode 27 = bracketright braceright asciitilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ alt shift keycode 27 = Meta_braceright
+keycode 28 = Return
+ alt keycode 28 = 0x080d
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = s
+ altgr keycode 31 = +0376
+ altgr shift keycode 31 = 0336
+ alt keycode 31 = +0376
+ alt shift keycode 31 = 0336
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+ altgr keycode 34 = +0360
+ altgr shift keycode 34 = 0320
+ alt keycode 34 = +0360
+ alt shift keycode 34 = 0320
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+keycode 39 = semicolon colon
+ alt keycode 39 = Meta_semicolon
+keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = grave asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ alt shift keycode 43 = Meta_bar
+keycode 44 = z
+keycode 45 = x
+keycode 46 = c
+ altgr keycode 46 = +0347
+ altgr shift keycode 46 = 0307
+ alt keycode 46 = +0347
+ alt shift keycode 46 = 0307
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = m
+keycode 51 = comma less
+ alt keycode 51 = Meta_comma
+ alt shift keycode 51 = Meta_less
+keycode 52 = period greater
+ alt keycode 52 = Meta_period
+ alt shift keycode 52 = Meta_greater
+keycode 53 = slash question
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 97 = Control
diff --git a/keymaps/i386/qwerty/trq.kmap b/keymaps/i386/qwerty/trq.kmap
new file mode 100644
index 0000000..cc1e701
--- /dev/null
+++ b/keymaps/i386/qwerty/trq.kmap
@@ -0,0 +1,126 @@
+charset "iso-8859-9"
+keymaps 0-6,8-9,12
+include "linux-with-alt-and-altgr"
+strings as usual
+
+keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+ alt shift keycode 2 = Meta_exclam
+keycode 3 = two apostrophe
+ control keycode 3 = nul
+ control shift keycode 3 = nul
+ alt keycode 3 = Meta_two
+ alt shift keycode 3 = Meta_apostrophe
+keycode 4 = three asciicircum numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ alt shift keycode 4 = Meta_asciicircum
+keycode 5 = four plus dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ alt shift keycode 5 = Meta_plus
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ alt shift keycode 6 = Meta_percent
+keycode 7 = six ampersand
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ alt shift keycode 7 = Meta_ampersand
+keycode 8 = seven slash braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+ alt shift keycode 8 = Meta_slash
+keycode 9 = eight parenleft bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+ alt shift keycode 9 = Meta_parenleft
+keycode 10 = nine parenright bracketright
+ alt keycode 10 = Meta_nine
+ alt shift keycode 10 = Meta_parenright
+keycode 11 = zero equal braceright
+ alt keycode 11 = Meta_zero
+ alt shift keycode 11 = Meta_equal
+keycode 12 = asterisk question backslash
+ control keycode 12 = Control_underscore
+ control shift keycode 12 = Control_underscore
+ alt keycode 12 = Meta_asterisk
+ alt shift keycode 12 = Meta_question
+keycode 13 = minus underscore
+ alt keycode 13 = Meta_minus
+ alt shift keycode 13 = Meta_underscore
+keycode 14 = Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+keycode 16 = q
+ altgr keycode 16 = at
+keycode 17 = w
+keycode 18 = e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = y
+keycode 22 = u
+ altgr keycode 22 = +0373
+ altgr shift keycode 22 = +0333
+keycode 23 = +0375 +I
+ altgr keycode 23 = +0356
+ altgr shift keycode 23 = +0316
+keycode 24 = o
+ altgr keycode 24 = +0364
+ altgr shift keycode 24 = +0324
+keycode 25 = p
+keycode 26 = +0360 +0320
+ control keycode 26 = Escape
+keycode 27 = +0374 +0334 asciitilde
+ control keycode 27 = Control_bracketright
+keycode 28 = Return
+ alt keycode 28 = 0x080d
+keycode 29 = Control
+keycode 30 = a
+ altgr keycode 30 = +0342
+ altgr shift keycode 30 = +0302
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+keycode 39 = +0376 +0336
+keycode 40 = +i +0335
+ control keycode 40 = Control_g
+keycode 41 = quotedbl eacute
+ control keycode 41 = nul
+ alt keycode 41 = Meta_quotedbl
+keycode 42 = Shift
+keycode 43 = comma semicolon grave
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_comma
+ alt shift keycode 43 = Meta_semicolon
+keycode 44 = z
+keycode 45 = x
+keycode 46 = c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = m
+keycode 51 = +0366 +0326
+keycode 52 = +0347 +0307
+keycode 53 = period colon slash
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_period
+ alt shift keycode 53 = Meta_colon
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+ alt shift keycode 86 = Meta_greater
+keycode 97 = Control
diff --git a/keymaps/i386/qwerty/trqu.kmap b/keymaps/i386/qwerty/trqu.kmap
new file mode 100644
index 0000000..2ff3c77
--- /dev/null
+++ b/keymaps/i386/qwerty/trqu.kmap
@@ -0,0 +1,548 @@
+# Turkish UTF-8 Q-Keybord Map (105 keys PC)
+# Copyright (C) Nilgün Belma Bugüner
+# Nilgün Belma Bugüner <nilgun@superonline.com>, 2002
+#
+# Permission is granted to freely copy and distrubute
+# this file and modified versions, provided that this
+# header is not removed and modified versions are marked
+# as such.
+#
+# CapsLock Turkce karakterlerde calismazsa sol tarafta ctrl ve Alt tuslari
+# arasindaki win tusunu kullanabilirsiniz. CapsLock tusu ile birlikte
+# kullanmamanizi oneririm, yoksa diger karakterler kucuk cikar.
+#
+# ctrl+alt ile birlikte 8 ve 9 tuslari utf-8 ve iso8859-9 kipler arasinda,
+# ayrica ctrl+alt ile birlikte 0 tusu F ve Q klavyeler arasinda
+# gecis yapmak icin kullanilabilir.
+#
+# * Recai OktaÅŸ <roktas@omu.edu.tr>, 2004
+# - Aksanli karakterleri uretmeye yonelik degisiklikler
+# Aksanli karakterleri (or. Aacute, Eacute) uretmek icin aksan
+# karakterinin goruldugu tusu altgr veya shift-altgr ile birlikte
+# tusladiktan sonra ilgili karakteri tuslayin.
+# - Degisen tus yukleme mekanizmasina uygun degisiklikler
+#
+# TODO: Turkce X klavye eslemiyle esdeger hale getirilecek.
+#
+
+charset "iso-8859-9"
+keymaps 0-15
+strings as usual
+# Kendi +Shift +AltGr +Shift
+# +AltGr
+# Kendi 0 1 2 3
+# +Control 4 5 6 7
+# +Alt 8 9 10 11
+# +Control+Alt 12 13 14 15
+
+keycode 1 = Escape Escape Escape Escape \
+ VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
+ Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+
+keycode 2 = one exclam VoidSymbol VoidSymbol \
+ VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
+ Meta_one Meta_exclam Meta_one Meta_exclam \
+ VoidSymbol VoidSymbol VoidSymbol VoidSymbol
+
+keycode 3 = two apostrophe U+00A3 VoidSymbol \
+ nul nul nul nul \
+ Meta_two Meta_at Meta_two Meta_at \
+ nul nul nul nul
+
+keycode 4 = three asciicircum numbersign dead_circumflex \
+ Escape Escape Control_bracketright Escape \
+ Meta_three Meta_numbersign Meta_three Meta_numbersign
+
+keycode 5 = four plus dollar VoidSymbol \
+ Control_backslash Control_backslash Control_backslash Control_backslash \
+ Meta_four Meta_dollar Meta_four Meta_dollar
+
+keycode 6 = five percent U+00BD VoidSymbol \
+ Control_bracketright Control_bracketright Control_bracketright Control_bracketright\
+ Meta_five Meta_percent Meta_five Meta_percent
+
+keycode 7 = six ampersand VoidSymbol VoidSymbol \
+ Control_asciicircum Control_asciicircum Control_asciicircum Control_asciicircum \
+ Meta_six Meta_asciicircum Meta_six Meta_asciicircum \
+ Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum Meta_Control_asciicircum
+
+keycode 8 = seven slash braceleft VoidSymbol \
+ Control_underscore Control_underscore Control_underscore Control_underscore \
+ Meta_seven Meta_ampersand Meta_seven Meta_ampersand
+
+keycode 9 = eight parenleft bracketleft VoidSymbol \
+ Delete Delete Delete Delete \
+ Meta_eight Meta_asterisk Meta_eight Meta_asterisk \
+ F200 F200 F200 F200
+
+keycode 10 = nine parenright bracketright VoidSymbol \
+ VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
+ Meta_nine Meta_parenleft Meta_nine Meta_parenleft \
+ F201 F201 F201 F201
+
+keycode 11 = zero equal braceright VoidSymbol \
+ VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
+ Meta_zero Meta_parenright Meta_zero Meta_parenright \
+ F202 F202 F202 F202
+
+keycode 12 = asterisk question backslash VoidSymbol \
+ Control_underscore VoidSymbol Control_underscore VoidSymbol \
+ Meta_minus VoidSymbol Meta_minus VoidSymbol \
+ Meta_Control_underscore VoidSymbol Meta_Control_underscore VoidSymbol
+
+keycode 13 = minus underscore minus underscore \
+ VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
+ Meta_equal Meta_plus Meta_equal Meta_plus
+
+keycode 14 = BackSpace BackSpace BackSpace BackSpace \
+ Delete Delete Delete Delete \
+ Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace \
+ Meta_Delete Meta_Delete Meta_Delete Meta_Delete
+
+keycode 15 = Tab F215 Tab F215 \
+ VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
+ Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+
+keycode 16 = +q +Q at VoidSymbol \
+ Control_q Control_q Control_q Control_q \
+ Meta_q Meta_Q Meta_q Meta_Q \
+ Meta_Control_q Meta_Control_q Meta_Control_q Meta_Control_q
+
+keycode 17 = +w +W VoidSymbol VoidSymbol \
+ Control_w Control_w Control_w Control_w \
+ Meta_w Meta_W Meta_w Meta_W \
+ Meta_Control_w Meta_Control_w Meta_Control_w Meta_Control_w
+
+keycode 18 = +e +E U+20AC VoidSymbol \
+ Control_e Control_e Control_e Control_e \
+ Meta_e Meta_E Meta_e Meta_E \
+ Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e
+
+keycode 19 = +r +R U+00B6 U+00AE \
+ Control_r Control_r Control_r Control_r \
+ Meta_r Meta_R Meta_r Meta_R \
+ Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r
+
+keycode 20 = +t +T VoidSymbol VoidSymbol \
+ Control_t Control_t Control_t Control_t \
+ Meta_t Meta_T Meta_t Meta_T \
+ Meta_Control_t Meta_Control_t Meta_Control_t Meta_Control_t
+
+keycode 21 = +y +Y U+00A5 U+00A5 \
+ Control_y Control_y Control_y Control_y \
+ Meta_y Meta_Y Meta_y Meta_Y \
+ Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y
+
+keycode 22 = +u +U U+00FB U+00DB \
+ Control_u Control_u Control_u Control_u \
+ Meta_u Meta_U Meta_u Meta_U \
+ Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u
+
+keycode 23 = U+0131 +I U+00EE U+00CE
+keycode 24 = +o +O U+00F4 U+00D4 \
+ Control_o Control_o Control_o Control_o \
+ Meta_o Meta_O Meta_o Meta_O \
+ Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o
+
+keycode 25 = +p +P VoidSymbol VoidSymbol \
+ Control_p Control_p Control_p Control_p \
+ Meta_p Meta_P Meta_p Meta_P \
+ Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p
+
+keycode 26 = U+011F U+011E dead_diaeresis VoidSymbol
+keycode 27 = U+00FC U+00DC asciitilde dead_tilde
+keycode 28 = Return Return Return Return \
+ Return Return Return Return \
+ Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m \
+ AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock
+
+keycode 29 = Control
+keycode 30 = +a +A U+00E2 U+00C2 \
+ Control_a Control_a Control_a Control_a \
+ Meta_a Meta_A Meta_a Meta_A \
+ Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a
+
+keycode 31 = +s +S VoidSymbol VoidSymbol \
+ Control_s Control_s Control_s Control_s \
+ Meta_s Meta_S Meta_s Meta_S \
+ Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s
+
+keycode 32 = +d +D VoidSymbol VoidSymbol \
+ Control_d Control_d Control_d Control_d \
+ Meta_d Meta_D Meta_d Meta_D \
+ Meta_Control_d Meta_Control_d Meta_Control_d Meta_Control_d
+
+keycode 33 = +f +F VoidSymbol VoidSymbol \
+ Control_f Control_f Control_f Control_f \
+ Meta_f Meta_F Meta_f Meta_F \
+ Meta_Control_f Meta_Control_f Meta_Control_f Meta_Control_f
+
+keycode 34 = +g +G VoidSymbol VoidSymbol \
+ Control_g Control_g Control_g Control_g \
+ Meta_g Meta_G Meta_g Meta_G \
+ Meta_Control_g Meta_Control_g Meta_Control_g Meta_Control_g
+
+keycode 35 = +h +H VoidSymbol VoidSymbol \
+ BackSpace F1 BackSpace F1 \
+ Meta_h Meta_H Meta_h Meta_H \
+ Meta_BackSpace Meta_BackSpace Meta_BackSpace Meta_BackSpace
+
+keycode 36 = +j +J VoidSymbol VoidSymbol \
+ Linefeed Linefeed Linefeed Linefeed \
+ Meta_j Meta_J Meta_j Meta_J \
+ Meta_Linefeed Meta_Linefeed Meta_Linefeed Meta_Linefeed
+
+keycode 37 = +k +K VoidSymbol VoidSymbol \
+ Control_k Control_k Control_k Control_k \
+ Meta_k Meta_K Meta_k Meta_K \
+ Meta_Control_k Meta_Control_k Meta_Control_k Meta_Control_k
+
+keycode 38 = +l +L VoidSymbol VoidSymbol \
+ Control_l Control_l Control_l Control_l \
+ Meta_l Meta_L Meta_l Meta_L \
+ Meta_Control_l Meta_Control_l Meta_Control_l Meta_Control_l
+
+keycode 39 = U+015F U+015E U+00B4 dead_acute \
+ VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
+ Meta_semicolon Meta_colon Meta_semicolon Meta_colon
+
+keycode 40 = +i U+0130 apostrophe VoidSymbol \
+ Control_l Control_l Control_l Control_l \
+ Meta_apostrophe Meta_quotedbl Meta_apostrophe Meta_quotedbl
+
+keycode 41 = quotedbl backslash U+00B1 U+00B0 \
+ nul nul nul nul \
+ Meta_grave Meta_asciitilde Meta_grave Meta_asciitilde
+
+keycode 42 = Shift
+keycode 43 = comma semicolon grave dead_grave \
+ Control_backslash Control_backslash Control_backslash Control_backslash \
+ Meta_backslash Meta_bar Meta_backslash Meta_bar \
+ Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash Meta_Control_backslash
+
+keycode 44 = +z +Z U+00AB VoidSymbol \
+ Control_z Control_z Control_z Control_z \
+ Meta_z Meta_Z Meta_z Meta_Z \
+ Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z
+
+keycode 45 = +x +X U+00BB VoidSymbol \
+ Control_x Control_x Control_x Control_x \
+ Meta_x Meta_X Meta_x Meta_X \
+ Meta_Control_x Meta_Control_x Meta_Control_x Meta_Control_x
+
+keycode 46 = +c +C U+00A2 U+00A9 \
+ Control_c Control_c Control_c Control_c \
+ Meta_c Meta_C Meta_c Meta_C \
+ Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c
+
+keycode 47 = +v +V VoidSymbol VoidSymbol \
+ Control_v Control_v Control_v Control_v \
+ Meta_v Meta_V Meta_v Meta_V \
+ Meta_Control_v Meta_Control_v Meta_Control_v Meta_Control_v
+
+keycode 48 = +b +B U+00A0 VoidSymbol \
+ Control_b Control_b Control_b Control_b \
+ Meta_b Meta_B Meta_b Meta_B \
+ Meta_Control_b Meta_Control_b Meta_Control_b Meta_Control_b
+
+keycode 49 = +n +N VoidSymbol VoidSymbol \
+ Control_n Control_n Control_n Control_n \
+ Meta_n Meta_N Meta_n Meta_N \
+ Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n
+
+keycode 50 = +m +M U+00B5 VoidSymbol \
+ Control_m Control_m Control_m Control_m \
+ Meta_m Meta_M Meta_m Meta_M \
+ Meta_Control_m Meta_Control_m Meta_Control_m Meta_Control_m
+
+keycode 51 = U+00F6 U+00D6 VoidSymbol VoidSymbol \
+ VoidSymbol VoidSymbol VoidSymbol VoidSymbol \
+ Meta_comma Meta_less Meta_comma Meta_less
+
+keycode 52 = U+00E7 U+00C7 VoidSymbol VoidSymbol \
+ Compose Compose Compose Compose \
+ Meta_period Meta_greater Meta_period Meta_greater
+
+keycode 53 = period colon VoidSymbol VoidSymbol \
+ Delete Delete Delete Delete \
+ Meta_slash Meta_question Meta_slash Meta_question
+keycode 54 = Shift
+keycode 55 = KP_Multiply KP_Multiply Hex_C KP_Multiply \
+ KP_Multiply Hex_C KP_Multiply Hex_C \
+ KP_Multiply Hex_C KP_Multiply Hex_C \
+ KP_Multiply KP_Multiply KP_Multiply KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space U+00A0 U+00A0 \
+ nul VoidSymbol nul VoidSymbol \
+ Meta_space Meta_space Meta_space Meta_space
+
+keycode 58 = Shift_Lock
+keycode 59 = F1 F1 F1 F11 \
+ F21 F31 F21 F31 \
+ Console_1 Console_1 Console_1 Console_13 \
+ Console_1 Console_13 Console_1 Console_13
+
+keycode 60 = F2 F2 F2 F12 \
+ F22 F32 F22 F32 \
+ Console_2 Console_2 Console_2 Console_14 \
+ Console_2 Console_14 Console_2 Console_14
+
+keycode 61 = F3 F3 F3 F13 \
+ F23 F33 F23 F33 \
+ Console_3 Console_3 Console_3 Console_15 \
+ Console_3 Console_15 Console_3 Console_15
+
+keycode 62 = F4 F4 F4 F14 \
+ F24 F34 F24 F34 \
+ Console_4 Console_4 Console_4 Console_16 \
+ Console_4 Console_16 Console_4 Console_16
+
+keycode 63 = F5 F5 F5 F15 \
+ F25 F35 F25 F35 \
+ Console_5 Console_5 Console_5 Console_17 \
+ Console_5 Console_17 Console_5 Console_17
+
+keycode 64 = F6 F6 F6 F16 \
+ F26 F36 F26 F36 \
+ Console_6 Console_6 Console_6 Console_18 \
+ Console_6 Console_18 Console_6 Console_18
+
+keycode 65 = F7 F7 F7 F17 \
+ F27 F37 F27 F37 \
+ Console_7 Console_7 Console_7 Console_19 \
+ Console_7 Console_19 Console_7 Console_19
+
+keycode 66 = F8 F8 F8 F18 \
+ F28 F38 F28 F38 \
+ Console_8 Console_8 Console_8 Console_20 \
+ Console_8 Console_20 Console_8 Console_20
+
+keycode 67 = F9 F9 F9 F19 \
+ F29 F39 F29 F39 \
+ Console_9 Console_9 Console_9 Console_21 \
+ Console_9 Console_21 Console_9 Console_21
+
+keycode 68 = F10 F10 F10 F20 \
+ F30 F40 F30 F40 \
+ Console_10 Console_10 Console_10 Console_22 \
+ Console_10 Console_22 Console_10 Console_22
+
+keycode 69 = Num_Lock Bare_Num_Lock Hex_A Bare_Num_Lock \
+ Num_Lock Hex_A Num_Lock Hex_A \
+ Num_Lock Hex_A Num_Lock Hex_A \
+ Num_Lock Num_Lock Num_Lock Num_Lock
+
+keycode 70 = Scroll_Lock Show_Memory Scroll_Lock Show_Memory \
+ Show_State VoidSymbol Show_State VoidSymbol \
+ Scroll_Lock Show_Registers Scroll_Lock Show_Registers
+
+keycode 71 = KP_7 KP_7 Hex_7 KP_7 \
+ KP_7 Hex_7 KP_7 Hex_7 \
+ Ascii_7 Hex_7 Ascii_7 Hex_7 \
+ KP_7 KP_7 KP_7 KP_7
+
+keycode 72 = KP_8 KP_8 Hex_8 KP_8 \
+ KP_8 Hex_8 KP_8 Hex_8 \
+ Ascii_8 Hex_8 Ascii_8 Hex_8 \
+ KP_8 KP_8 KP_8 KP_8
+
+keycode 73 = KP_9 KP_9 Hex_9 KP_9 \
+ KP_9 Hex_9 KP_9 Hex_9 \
+ Ascii_9 Hex_9 Ascii_9 Hex_9 \
+ KP_9 KP_9 KP_9 KP_9
+
+keycode 74 = KP_Subtract KP_Subtract Hex_D KP_Subtract \
+ KP_Subtract Hex_D KP_Subtract Hex_D \
+ KP_Subtract Hex_D KP_Subtract Hex_D \
+ KP_Subtract KP_Subtract KP_Subtract KP_Subtract
+
+keycode 75 = KP_4 KP_4 Hex_4 KP_4 \
+ KP_4 Hex_4 KP_4 Hex_4 \
+ Ascii_4 Hex_4 Ascii_4 Hex_4 \
+ KP_4 KP_4 KP_4 KP_4
+
+keycode 76 = KP_5 KP_5 Hex_5 KP_5 \
+ KP_5 Hex_5 KP_5 Hex_5 \
+ Ascii_5 Hex_5 Ascii_5 Hex_5 \
+ KP_5 KP_5 KP_5 KP_5
+
+keycode 77 = KP_6 KP_6 Hex_6 KP_6 \
+ KP_6 Hex_6 KP_6 Hex_6 \
+ Ascii_6 Hex_6 Ascii_6 Hex_6 \
+ KP_6 KP_6 KP_6 KP_6
+
+keycode 78 = KP_Add KP_Add Hex_E KP_Add \
+ KP_Add Hex_E KP_Add Hex_E \
+ KP_Add Hex_E KP_Add Hex_E \
+ KP_Add KP_Add KP_Add KP_Add
+
+keycode 79 = KP_1 KP_1 Hex_1 KP_1 \
+ KP_1 Hex_1 KP_1 Hex_1 \
+ Ascii_1 Hex_1 Ascii_1 Hex_1 \
+ KP_1 KP_1 KP_1 KP_1
+
+keycode 80 = KP_2 KP_2 Hex_2 KP_2 \
+ KP_2 Hex_2 KP_2 Hex_2 \
+ Ascii_2 Hex_2 Ascii_2 Hex_2 \
+ KP_2 KP_2 KP_2 KP_2
+
+keycode 81 = KP_3 KP_3 Hex_3 KP_3 \
+ KP_3 Hex_3 KP_3 Hex_3 \
+ Ascii_3 Hex_3 Ascii_3 Hex_3 \
+ KP_3 KP_3 KP_3 KP_3
+
+keycode 82 = KP_0 KP_0 Hex_0 KP_0 \
+ KP_0 Hex_0 KP_0 Hex_0 \
+ Ascii_0 Hex_0 Ascii_0 Hex_0 \
+ KP_0 KP_0 KP_0 KP_0
+
+keycode 83 = KP_Period KP_Period KP_Period KP_Period \
+ KP_Period KP_Period Boot KP_Period \
+ KP_Period KP_Period KP_Period KP_Period \
+ Boot KP_Period Boot KP_Period
+
+keycode 84 = Last_Console
+keycode 85 = VoidSymbol
+keycode 86 = less greater bar U+00A6
+keycode 87 = F11 F11 F11 F21 \
+ F31 F41 F31 F41 \
+ Console_11 Console_11 Console_11 Console_23 \
+ Console_11 Console_23 Console_11 Console_23
+
+keycode 88 = F12 F12 F12 F22 \
+ F32 F42 F32 F42 \
+ Console_12 Console_12 Console_12 Console_24 \
+ Console_12 Console_24 Console_12 Console_24
+
+keycode 89 = VoidSymbol
+keycode 90 = VoidSymbol
+keycode 91 = VoidSymbol
+keycode 92 = VoidSymbol
+keycode 93 = VoidSymbol
+keycode 94 = VoidSymbol
+keycode 95 = VoidSymbol
+keycode 96 = KP_Enter KP_Enter Hex_F KP_Enter \
+ KP_Enter Hex_F KP_Enter Hex_F \
+ Hex_F Hex_F Hex_F Hex_F \
+ AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock
+
+keycode 97 = Control
+
+keycode 98 = KP_Divide KP_Divide Hex_B KP_Divide \
+ KP_Divide Hex_B KP_Divide Hex_B \
+ Hex_B Hex_B Hex_B Hex_B \
+ KP_Divide KP_Divide KP_Divide KP_Divide
+
+keycode 99 = Control_backslash
+keycode 100 = AltGr AltGr AltGr AltGr \
+ AltGr AltGr AltGr AltGr \
+ Compose Compose Compose Compose \
+ AltGr AltGr AltGr AltGr
+keycode 101 = Break
+keycode 102 = Find F102 Find F102
+keycode 103 = Up Up Up F103 \
+ Up F103 Up Up \
+ KeyboardSignal KeyboardSignal KeyboardSignal KeyboardSignal \
+ Up Up Up Up
+
+keycode 104 = Prior Scroll_Backward Prior Scroll_Backward
+
+keycode 105 = Left Left Left F105 \
+ Left F105 Left Left \
+ Decr_Console Decr_Console Decr_Console Decr_Console \
+ Left Left Left Left
+
+keycode 106 = Right Right Right F106 \
+ Right F106 Right F106 \
+ Incr_Console Incr_Console Incr_Console Incr_Console \
+ Right Right Right Right
+
+keycode 107 = Select F108 Select F108
+keycode 108 = Down Down Down F107
+
+keycode 109 = Next Scroll_Forward Next Scroll_Forward
+keycode 110 = Insert F110 Insert F110
+keycode 111 = Remove Remove Remove F111 \
+ Delete Delete Delete Delete \
+ Meta_Delete Meta_Delete Meta_Delete Meta_Delete \
+ Boot Boot Boot Boot
+
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = Pause
+keycode 120 = VoidSymbol
+keycode 121 = VoidSymbol
+keycode 122 = VoidSymbol
+keycode 123 = VoidSymbol
+keycode 124 = VoidSymbol
+keycode 125 = Shift_Lock
+keycode 126 = Caps_On
+keycode 127 = Uncaps_Shift
+
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+string F21 = "\033[35~"
+string F22 = "\033[36~"
+string F23 = "\033[37~"
+string F24 = "\033[38~"
+string F25 = "\033[39~"
+string F26 = "\033[40~"
+string F27 = "\033[41~"
+string F28 = "\033[42~"
+string F29 = "\033[43~"
+string F30 = "\033[44~"
+string F31 = "\033[45~"
+string F32 = "\033[46~"
+string F33 = "\033[47~"
+string F34 = "\033[48~"
+string F35 = "\033[49~"
+string F36 = "\033[50~"
+string F37 = "\033[51~"
+string F38 = "\033[52~"
+string F39 = "\033[53~"
+string F40 = "\033[54~"
+string F41 = "\033[55~"
+string F42 = "\033[56~"
+string F102 = "\033[7$"
+string F103 = "\033[a"
+string F105 = "\033[d"
+string F106 = "\033[c"
+string F107 = "\033[8$"
+string F108 = "\033[b"
+string F110 = "\033[2$"
+string F111 = "\033[3$"
+string F200 = "export LANG=tr_TR.UTF-8; kbd_mode -u; loadkeys trqu; echo -ne '\\033\\045G\\033(K'\015"
+string F201 = "export LANG=tr_TR; kbd_mode -a; loadkeys trq; echo -ne '\\033\\045@\\033(B'\015"
+string F202 = "loadkeys trfu; echo \015"
+string F215 = "\033[Z"
diff --git a/keymaps/i386/qwerty/ua-utf-ws.kmap b/keymaps/i386/qwerty/ua-utf-ws.kmap
new file mode 100644
index 0000000..4b16161
--- /dev/null
+++ b/keymaps/i386/qwerty/ua-utf-ws.kmap
@@ -0,0 +1,1559 @@
+keymaps 0-2,4-6,8-9,12-13,64-66,68-69,72-73,76-77,128-130,132-133,136-137,140-141,192-194,196-197,200-201,204-205
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+ ctrlr keycode 1 = Escape
+ shift ctrlr keycode 1 = Escape
+ alt ctrlr keycode 1 = Meta_Escape
+ ctrll keycode 1 = Escape
+ shift ctrll keycode 1 = Escape
+ alt ctrll keycode 1 = Meta_Escape
+ ctrll ctrlr keycode 1 = Escape
+ shift ctrll ctrlr keycode 1 = Escape
+ alt ctrll ctrlr keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+ ctrlr keycode 2 = one
+ shift ctrlr keycode 2 = exclam
+ alt ctrlr keycode 2 = Meta_one
+ shift alt ctrlr keycode 2 = Meta_exclam
+ ctrll keycode 2 = one
+ shift ctrll keycode 2 = exclam
+ alt ctrll keycode 2 = Meta_one
+ shift alt ctrll keycode 2 = Meta_exclam
+ ctrll ctrlr keycode 2 = one
+ shift ctrll ctrlr keycode 2 = exclam
+ alt ctrll ctrlr keycode 2 = Meta_one
+ shift alt ctrll ctrlr keycode 2 = Meta_exclam
+ altgr keycode 2 = U+221a
+keycode 3 = two at at
+ control keycode 3 = nul
+ shift control keycode 3 = nul
+ alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_at
+ ctrlr keycode 3 = two
+ shift ctrlr keycode 3 = quotedbl
+ control ctrlr keycode 3 = nul
+ shift control ctrlr keycode 3 = nul
+ alt ctrlr keycode 3 = Meta_two
+ shift alt ctrlr keycode 3 = Meta_at
+ ctrll keycode 3 = two
+ shift ctrll keycode 3 = quotedbl
+ control ctrll keycode 3 = nul
+ shift control ctrll keycode 3 = nul
+ alt ctrll keycode 3 = Meta_two
+ shift alt ctrll keycode 3 = Meta_at
+ ctrll ctrlr keycode 3 = two
+ shift ctrll ctrlr keycode 3 = quotedbl
+ control ctrll ctrlr keycode 3 = nul
+ shift control ctrll ctrlr keycode 3 = nul
+ alt ctrll ctrlr keycode 3 = Meta_two
+ shift alt ctrll ctrlr keycode 3 = Meta_at
+ altgr keycode 3 = U+00b2
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ shift alt keycode 4 = Meta_numbersign
+ ctrlr keycode 4 = three
+ shift ctrlr keycode 4 = numbersign
+ control ctrlr keycode 4 = Escape
+ shift control ctrlr keycode 4 = Escape
+ alt ctrlr keycode 4 = Meta_three
+ shift alt ctrlr keycode 4 = Meta_numbersign
+ ctrll keycode 4 = three
+ shift ctrll keycode 4 = numbersign
+ control ctrll keycode 4 = Escape
+ shift control ctrll keycode 4 = Escape
+ alt ctrll keycode 4 = Meta_three
+ shift alt ctrll keycode 4 = Meta_numbersign
+ ctrll ctrlr keycode 4 = three
+ shift ctrll ctrlr keycode 4 = numbersign
+ control ctrll ctrlr keycode 4 = Escape
+ shift control ctrll ctrlr keycode 4 = Escape
+ alt ctrll ctrlr keycode 4 = Meta_three
+ shift alt ctrll ctrlr keycode 4 = Meta_numbersign
+ altgr keycode 4 = U+2264
+keycode 5 = four dollar dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+ ctrlr keycode 5 = four
+ shift ctrlr keycode 5 = semicolon
+ control ctrlr keycode 5 = Control_backslash
+ shift control ctrlr keycode 5 = Control_backslash
+ alt ctrlr keycode 5 = Meta_four
+ shift alt ctrlr keycode 5 = Meta_dollar
+ ctrll keycode 5 = four
+ shift ctrll keycode 5 = semicolon
+ control ctrll keycode 5 = Control_backslash
+ shift control ctrll keycode 5 = Control_backslash
+ alt ctrll keycode 5 = Meta_four
+ shift alt ctrll keycode 5 = Meta_dollar
+ ctrll ctrlr keycode 5 = four
+ shift ctrll ctrlr keycode 5 = semicolon
+ control ctrll ctrlr keycode 5 = Control_backslash
+ shift control ctrll ctrlr keycode 5 = Control_backslash
+ alt ctrll ctrlr keycode 5 = Meta_four
+ shift alt ctrll ctrlr keycode 5 = Meta_dollar
+ altgr keycode 5 = U+2265
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+ ctrlr keycode 6 = five
+ shift ctrlr keycode 6 = colon
+ control ctrlr keycode 6 = Control_bracketright
+ shift control ctrlr keycode 6 = Control_bracketright
+ alt ctrlr keycode 6 = Meta_five
+ shift alt ctrlr keycode 6 = Meta_percent
+ ctrll keycode 6 = five
+ shift ctrll keycode 6 = colon
+ control ctrll keycode 6 = Control_bracketright
+ shift control ctrll keycode 6 = Control_bracketright
+ alt ctrll keycode 6 = Meta_five
+ shift alt ctrll keycode 6 = Meta_percent
+ ctrll ctrlr keycode 6 = five
+ shift ctrll ctrlr keycode 6 = colon
+ control ctrll ctrlr keycode 6 = Control_bracketright
+ shift control ctrll ctrlr keycode 6 = Control_bracketright
+ alt ctrll ctrlr keycode 6 = Meta_five
+ shift alt ctrll ctrlr keycode 6 = Meta_percent
+ altgr keycode 6 = U+00b0
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_asciicircum
+ ctrlr keycode 7 = six
+ shift ctrlr keycode 7 = comma
+ control ctrlr keycode 7 = Control_asciicircum
+ shift control ctrlr keycode 7 = Control_asciicircum
+ alt ctrlr keycode 7 = Meta_six
+ shift alt ctrlr keycode 7 = Meta_asciicircum
+ ctrll keycode 7 = six
+ shift ctrll keycode 7 = comma
+ control ctrll keycode 7 = Control_asciicircum
+ shift control ctrll keycode 7 = Control_asciicircum
+ alt ctrll keycode 7 = Meta_six
+ shift alt ctrll keycode 7 = Meta_asciicircum
+ ctrll ctrlr keycode 7 = six
+ shift ctrll ctrlr keycode 7 = comma
+ control ctrll ctrlr keycode 7 = Control_asciicircum
+ shift control ctrll ctrlr keycode 7 = Control_asciicircum
+ alt ctrll ctrlr keycode 7 = Meta_six
+ shift alt ctrll ctrlr keycode 7 = Meta_asciicircum
+ altgr keycode 7 = U+2248
+keycode 8 = seven ampersand braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+ shift alt keycode 8 = Meta_ampersand
+ ctrlr keycode 8 = seven
+ shift ctrlr keycode 8 = period
+ control ctrlr keycode 8 = Control_underscore
+ shift control ctrlr keycode 8 = Control_underscore
+ alt ctrlr keycode 8 = Meta_seven
+ shift alt ctrlr keycode 8 = Meta_ampersand
+ ctrll keycode 8 = seven
+ shift ctrll keycode 8 = period
+ control ctrll keycode 8 = Control_underscore
+ shift control ctrll keycode 8 = Control_underscore
+ alt ctrll keycode 8 = Meta_seven
+ shift alt ctrll keycode 8 = Meta_ampersand
+ ctrll ctrlr keycode 8 = seven
+ shift ctrll ctrlr keycode 8 = period
+ control ctrll ctrlr keycode 8 = Control_underscore
+ shift control ctrll ctrlr keycode 8 = Control_underscore
+ alt ctrll ctrlr keycode 8 = Meta_seven
+ shift alt ctrll ctrlr keycode 8 = Meta_ampersand
+ altgr keycode 8 = U+00b7
+keycode 9 = eight asterisk bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+ shift alt keycode 9 = Meta_asterisk
+ ctrlr keycode 9 = eight
+ shift ctrlr keycode 9 = asterisk
+ control ctrlr keycode 9 = Delete
+ shift control ctrlr keycode 9 = Delete
+ alt ctrlr keycode 9 = Meta_eight
+ shift alt ctrlr keycode 9 = Meta_asterisk
+ ctrll keycode 9 = eight
+ shift ctrll keycode 9 = asterisk
+ control ctrll keycode 9 = Delete
+ shift control ctrll keycode 9 = Delete
+ alt ctrll keycode 9 = Meta_eight
+ shift alt ctrll keycode 9 = Meta_asterisk
+ ctrll ctrlr keycode 9 = eight
+ shift ctrll ctrlr keycode 9 = asterisk
+ control ctrll ctrlr keycode 9 = Delete
+ shift control ctrll ctrlr keycode 9 = Delete
+ alt ctrll ctrlr keycode 9 = Meta_eight
+ shift alt ctrll ctrlr keycode 9 = Meta_asterisk
+ altgr keycode 9 = U+00f7
+keycode 10 = nine parenleft bracketright
+ alt keycode 10 = Meta_nine
+ shift alt keycode 10 = Meta_parenleft
+ ctrlr keycode 10 = nine
+ shift ctrlr keycode 10 = parenleft
+ alt ctrlr keycode 10 = Meta_nine
+ shift alt ctrlr keycode 10 = Meta_parenleft
+ ctrll keycode 10 = nine
+ shift ctrll keycode 10 = parenleft
+ alt ctrll keycode 10 = Meta_nine
+ shift alt ctrll keycode 10 = Meta_parenleft
+ ctrll ctrlr keycode 10 = nine
+ shift ctrll ctrlr keycode 10 = parenleft
+ alt ctrll ctrlr keycode 10 = Meta_nine
+ shift alt ctrll ctrlr keycode 10 = Meta_parenleft
+ altgr keycode 10 = U+2320
+keycode 11 = zero parenright braceright
+ alt keycode 11 = Meta_zero
+ alt keycode 11 = Meta_parenright
+ ctrlr keycode 11 = zero
+ shift ctrlr keycode 11 = parenright
+ alt ctrlr keycode 11 = Meta_zero
+ shift alt ctrlr keycode 11 = Meta_parenright
+ ctrll keycode 11 = zero
+ shift ctrll keycode 11 = parenright
+ alt ctrll keycode 11 = Meta_zero
+ shift alt ctrll keycode 11 = Meta_parenright
+ ctrll ctrlr keycode 11 = zero
+ shift ctrll ctrlr keycode 11 = parenright
+ alt ctrll ctrlr keycode 11 = Meta_zero
+ shift alt ctrll ctrlr keycode 11 = Meta_parenright
+ altgr keycode 11 = U+2321
+keycode 12 = minus underscore backslash
+ control keycode 12 = Control_underscore
+ shift control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+ shift alt keycode 12 = Meta_underscore
+ ctrlr keycode 12 = minus
+ shift ctrlr keycode 12 = underscore
+ control ctrlr keycode 12 = Control_underscore
+ shift control ctrlr keycode 12 = Control_underscore
+ alt ctrlr keycode 12 = Meta_minus
+ shift alt ctrlr keycode 12 = Meta_underscore
+ ctrll keycode 12 = minus
+ shift ctrll keycode 12 = underscore
+ control ctrll keycode 12 = Control_underscore
+ shift control ctrll keycode 12 = Control_underscore
+ alt ctrll keycode 12 = Meta_minus
+ shift alt ctrll keycode 12 = Meta_underscore
+ ctrll ctrlr keycode 12 = minus
+ shift ctrll ctrlr keycode 12 = underscore
+ control ctrll ctrlr keycode 12 = Control_underscore
+ shift control ctrll ctrlr keycode 12 = Control_underscore
+ alt ctrll ctrlr keycode 12 = Meta_minus
+ shift alt ctrll ctrlr keycode 12 = Meta_underscore
+ altgr keycode 12 = U+2219
+keycode 13 = equal plus
+ alt keycode 13 = Meta_equal
+ shift alt keycode 13 = Meta_plus
+ ctrlr keycode 13 = equal
+ shift ctrlr keycode 13 = plus
+ alt ctrlr keycode 13 = Meta_equal
+ shift alt ctrlr keycode 13 = Meta_plus
+ ctrll keycode 13 = equal
+ shift ctrll keycode 13 = plus
+ alt ctrll keycode 13 = Meta_equal
+ shift alt ctrll keycode 13 = Meta_plus
+ ctrll ctrlr keycode 13 = equal
+ shift ctrll ctrlr keycode 13 = plus
+ alt ctrll ctrlr keycode 13 = Meta_equal
+ shift alt ctrll ctrlr keycode 13 = Meta_plus
+keycode 14 = BackSpace Delete
+ control keycode 14 = BackSpace
+ alt keycode 14 = Meta_Delete
+ ctrlr keycode 14 = BackSpace
+ shift ctrlr keycode 14 = BackSpace
+ control ctrlr keycode 14 = BackSpace
+ shift control ctrlr keycode 14 = BackSpace
+ alt ctrlr keycode 14 = Meta_Delete
+ shift alt ctrlr keycode 14 = Meta_Delete
+ ctrll keycode 14 = BackSpace
+ shift ctrll keycode 14 = BackSpace
+ control ctrll keycode 14 = BackSpace
+ shift control ctrll keycode 14 = BackSpace
+ alt ctrll keycode 14 = Meta_Delete
+ shift alt ctrll keycode 14 = Meta_Delete
+ ctrll ctrlr keycode 14 = BackSpace
+ shift ctrll ctrlr keycode 14 = BackSpace
+ control ctrll ctrlr keycode 14 = BackSpace
+ shift control ctrll ctrlr keycode 14 = BackSpace
+ alt ctrll ctrlr keycode 14 = Meta_Delete
+ shift alt ctrll ctrlr keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+ ctrlr keycode 15 = Tab
+ shift ctrlr keycode 15 = Tab
+ alt ctrlr keycode 15 = Meta_Tab
+ shift alt ctrlr keycode 15 = Meta_Tab
+ ctrll keycode 15 = Tab
+ shift ctrll keycode 15 = Tab
+ alt ctrll keycode 15 = Meta_Tab
+ shift alt ctrll keycode 15 = Meta_Tab
+ ctrll ctrlr keycode 15 = Tab
+ shift ctrll ctrlr keycode 15 = Tab
+ alt ctrll ctrlr keycode 15 = Meta_Tab
+ shift alt ctrll ctrlr keycode 15 = Meta_Tab
+keycode 16 = q
+ ctrlr keycode 16 = U+0439
+ shift ctrlr keycode 16 = U+0419
+ control ctrlr keycode 16 = Control_q
+ shift control ctrlr keycode 16 = Control_q
+ alt ctrlr keycode 16 = Meta_q
+ shift alt ctrlr keycode 16 = Meta_Q
+ control alt ctrlr keycode 16 = Meta_Control_q
+ shift control alt ctrlr keycode 16 = Meta_Control_q
+ ctrll keycode 16 = U+0439
+ shift ctrll keycode 16 = U+0419
+ control ctrll keycode 16 = Control_q
+ shift control ctrll keycode 16 = Control_q
+ alt ctrll keycode 16 = Meta_q
+ shift alt ctrll keycode 16 = Meta_Q
+ control alt ctrll keycode 16 = Meta_Control_q
+ shift control alt ctrll keycode 16 = Meta_Control_q
+ ctrll ctrlr keycode 16 = U+0439
+ shift ctrll ctrlr keycode 16 = U+0419
+ control ctrll ctrlr keycode 16 = Control_q
+ shift control ctrll ctrlr keycode 16 = Control_q
+ alt ctrll ctrlr keycode 16 = Meta_q
+ shift alt ctrll ctrlr keycode 16 = Meta_Q
+ control alt ctrll ctrlr keycode 16 = Meta_Control_q
+ shift control alt ctrll ctrlr keycode 16 = Meta_Control_q
+keycode 17 = w
+ ctrlr keycode 17 = U+0446
+ shift ctrlr keycode 17 = U+0426
+ control ctrlr keycode 17 = Control_w
+ shift control ctrlr keycode 17 = Control_w
+ alt ctrlr keycode 17 = Meta_w
+ shift alt ctrlr keycode 17 = Meta_W
+ control alt ctrlr keycode 17 = Meta_Control_w
+ shift control alt ctrlr keycode 17 = Meta_Control_w
+ ctrll keycode 17 = U+0446
+ shift ctrll keycode 17 = U+0426
+ control ctrll keycode 17 = Control_w
+ shift control ctrll keycode 17 = Control_w
+ alt ctrll keycode 17 = Meta_w
+ shift alt ctrll keycode 17 = Meta_W
+ control alt ctrll keycode 17 = Meta_Control_w
+ shift control alt ctrll keycode 17 = Meta_Control_w
+ ctrll ctrlr keycode 17 = U+0446
+ shift ctrll ctrlr keycode 17 = U+0426
+ control ctrll ctrlr keycode 17 = Control_w
+ shift control ctrll ctrlr keycode 17 = Control_w
+ alt ctrll ctrlr keycode 17 = Meta_w
+ shift alt ctrll ctrlr keycode 17 = Meta_W
+ control alt ctrll ctrlr keycode 17 = Meta_Control_w
+ shift control alt ctrll ctrlr keycode 17 = Meta_Control_w
+keycode 18 = e
+ ctrlr keycode 18 = U+0443
+ shift ctrlr keycode 18 = U+0423
+ control ctrlr keycode 18 = Control_e
+ shift control ctrlr keycode 18 = Control_e
+ alt ctrlr keycode 18 = Meta_e
+ shift alt ctrlr keycode 18 = Meta_E
+ control alt ctrlr keycode 18 = Meta_Control_e
+ shift control alt ctrlr keycode 18 = Meta_Control_e
+ ctrll keycode 18 = U+0443
+ shift ctrll keycode 18 = U+0423
+ control ctrll keycode 18 = Control_e
+ shift control ctrll keycode 18 = Control_e
+ alt ctrll keycode 18 = Meta_e
+ shift alt ctrll keycode 18 = Meta_E
+ control alt ctrll keycode 18 = Meta_Control_e
+ shift control alt ctrll keycode 18 = Meta_Control_e
+ ctrll ctrlr keycode 18 = U+0443
+ shift ctrll ctrlr keycode 18 = U+0423
+ control ctrll ctrlr keycode 18 = Control_e
+ shift control ctrll ctrlr keycode 18 = Control_e
+ alt ctrll ctrlr keycode 18 = Meta_e
+ shift alt ctrll ctrlr keycode 18 = Meta_E
+ control alt ctrll ctrlr keycode 18 = Meta_Control_e
+ shift control alt ctrll ctrlr keycode 18 = Meta_Control_e
+keycode 19 = r
+ ctrlr keycode 19 = U+043a
+ shift ctrlr keycode 19 = U+041a
+ control ctrlr keycode 19 = Control_r
+ shift control ctrlr keycode 19 = Control_r
+ alt ctrlr keycode 19 = Meta_r
+ shift alt ctrlr keycode 19 = Meta_R
+ control alt ctrlr keycode 19 = Meta_Control_r
+ shift control alt ctrlr keycode 19 = Meta_Control_r
+ ctrll keycode 19 = U+043a
+ shift ctrll keycode 19 = U+041a
+ control ctrll keycode 19 = Control_r
+ shift control ctrll keycode 19 = Control_r
+ alt ctrll keycode 19 = Meta_r
+ shift alt ctrll keycode 19 = Meta_R
+ control alt ctrll keycode 19 = Meta_Control_r
+ shift control alt ctrll keycode 19 = Meta_Control_r
+ ctrll ctrlr keycode 19 = U+043a
+ shift ctrll ctrlr keycode 19 = U+041a
+ control ctrll ctrlr keycode 19 = Control_r
+ shift control ctrll ctrlr keycode 19 = Control_r
+ alt ctrll ctrlr keycode 19 = Meta_r
+ shift alt ctrll ctrlr keycode 19 = Meta_R
+ control alt ctrll ctrlr keycode 19 = Meta_Control_r
+ shift control alt ctrll ctrlr keycode 19 = Meta_Control_r
+keycode 20 = t
+ ctrlr keycode 20 = U+0435
+ shift ctrlr keycode 20 = U+0415
+ control ctrlr keycode 20 = Control_t
+ shift control ctrlr keycode 20 = Control_t
+ alt ctrlr keycode 20 = Meta_t
+ shift alt ctrlr keycode 20 = Meta_T
+ control alt ctrlr keycode 20 = Meta_Control_t
+ shift control alt ctrlr keycode 20 = Meta_Control_t
+ ctrll keycode 20 = U+0435
+ shift ctrll keycode 20 = U+0415
+ control ctrll keycode 20 = Control_t
+ shift control ctrll keycode 20 = Control_t
+ alt ctrll keycode 20 = Meta_t
+ shift alt ctrll keycode 20 = Meta_T
+ control alt ctrll keycode 20 = Meta_Control_t
+ shift control alt ctrll keycode 20 = Meta_Control_t
+ ctrll ctrlr keycode 20 = U+0435
+ shift ctrll ctrlr keycode 20 = U+0415
+ control ctrll ctrlr keycode 20 = Control_t
+ shift control ctrll ctrlr keycode 20 = Control_t
+ alt ctrll ctrlr keycode 20 = Meta_t
+ shift alt ctrll ctrlr keycode 20 = Meta_T
+ control alt ctrll ctrlr keycode 20 = Meta_Control_t
+ shift control alt ctrll ctrlr keycode 20 = Meta_Control_t
+keycode 21 = y
+ ctrlr keycode 21 = U+043d
+ shift ctrlr keycode 21 = U+041d
+ control ctrlr keycode 21 = Control_y
+ shift control ctrlr keycode 21 = Control_y
+ alt ctrlr keycode 21 = Meta_y
+ shift alt ctrlr keycode 21 = Meta_Y
+ control alt ctrlr keycode 21 = Meta_Control_y
+ shift control alt ctrlr keycode 21 = Meta_Control_y
+ ctrll keycode 21 = U+043d
+ shift ctrll keycode 21 = U+041d
+ control ctrll keycode 21 = Control_y
+ shift control ctrll keycode 21 = Control_y
+ alt ctrll keycode 21 = Meta_y
+ shift alt ctrll keycode 21 = Meta_Y
+ control alt ctrll keycode 21 = Meta_Control_y
+ shift control alt ctrll keycode 21 = Meta_Control_y
+ ctrll ctrlr keycode 21 = U+043d
+ shift ctrll ctrlr keycode 21 = U+041d
+ control ctrll ctrlr keycode 21 = Control_y
+ shift control ctrll ctrlr keycode 21 = Control_y
+ alt ctrll ctrlr keycode 21 = Meta_y
+ shift alt ctrll ctrlr keycode 21 = Meta_Y
+ control alt ctrll ctrlr keycode 21 = Meta_Control_y
+ shift control alt ctrll ctrlr keycode 21 = Meta_Control_y
+keycode 22 = u
+ ctrlr keycode 22 = U+0433
+ shift ctrlr keycode 22 = U+0413
+ control ctrlr keycode 22 = Control_u
+ shift control ctrlr keycode 22 = Control_u
+ alt ctrlr keycode 22 = Meta_u
+ shift alt ctrlr keycode 22 = Meta_U
+ control alt ctrlr keycode 22 = Meta_Control_u
+ shift control alt ctrlr keycode 22 = Meta_Control_u
+ ctrll keycode 22 = U+0433
+ shift ctrll keycode 22 = U+0413
+ control ctrll keycode 22 = Control_u
+ shift control ctrll keycode 22 = Control_u
+ alt ctrll keycode 22 = Meta_u
+ shift alt ctrll keycode 22 = Meta_U
+ control alt ctrll keycode 22 = Meta_Control_u
+ shift control alt ctrll keycode 22 = Meta_Control_u
+ ctrll ctrlr keycode 22 = U+0433
+ shift ctrll ctrlr keycode 22 = U+0413
+ control ctrll ctrlr keycode 22 = Control_u
+ shift control ctrll ctrlr keycode 22 = Control_u
+ alt ctrll ctrlr keycode 22 = Meta_u
+ shift alt ctrll ctrlr keycode 22 = Meta_U
+ control alt ctrll ctrlr keycode 22 = Meta_Control_u
+ shift control alt ctrll ctrlr keycode 22 = Meta_Control_u
+keycode 23 = i
+ ctrlr keycode 23 = U+0448
+ shift ctrlr keycode 23 = U+0428
+ control ctrlr keycode 23 = Control_i
+ shift control ctrlr keycode 23 = Control_i
+ alt ctrlr keycode 23 = Meta_i
+ shift alt ctrlr keycode 23 = Meta_I
+ control alt ctrlr keycode 23 = Meta_Control_i
+ shift control alt ctrlr keycode 23 = Meta_Control_i
+ ctrll keycode 23 = U+0448
+ shift ctrll keycode 23 = U+0428
+ control ctrll keycode 23 = Control_i
+ shift control ctrll keycode 23 = Control_i
+ alt ctrll keycode 23 = Meta_i
+ shift alt ctrll keycode 23 = Meta_I
+ control alt ctrll keycode 23 = Meta_Control_i
+ shift control alt ctrll keycode 23 = Meta_Control_i
+ ctrll ctrlr keycode 23 = U+0448
+ shift ctrll ctrlr keycode 23 = U+0428
+ control ctrll ctrlr keycode 23 = Control_i
+ shift control ctrll ctrlr keycode 23 = Control_i
+ alt ctrll ctrlr keycode 23 = Meta_i
+ shift alt ctrll ctrlr keycode 23 = Meta_I
+ control alt ctrll ctrlr keycode 23 = Meta_Control_i
+ shift control alt ctrll ctrlr keycode 23 = Meta_Control_i
+keycode 24 = o
+ ctrlr keycode 24 = U+0449
+ shift ctrlr keycode 24 = U+0429
+ control ctrlr keycode 24 = Control_o
+ shift control ctrlr keycode 24 = Control_o
+ alt ctrlr keycode 24 = Meta_o
+ shift alt ctrlr keycode 24 = Meta_O
+ control alt ctrlr keycode 24 = Meta_Control_o
+ shift control alt ctrlr keycode 24 = Meta_Control_o
+ ctrll keycode 24 = U+0449
+ shift ctrll keycode 24 = U+0429
+ control ctrll keycode 24 = Control_o
+ shift control ctrll keycode 24 = Control_o
+ alt ctrll keycode 24 = Meta_o
+ shift alt ctrll keycode 24 = Meta_O
+ control alt ctrll keycode 24 = Meta_Control_o
+ shift control alt ctrll keycode 24 = Meta_Control_o
+ ctrll ctrlr keycode 24 = U+0449
+ shift ctrll ctrlr keycode 24 = U+0429
+ control ctrll ctrlr keycode 24 = Control_o
+ shift control ctrll ctrlr keycode 24 = Control_o
+ alt ctrll ctrlr keycode 24 = Meta_o
+ shift alt ctrll ctrlr keycode 24 = Meta_O
+ control alt ctrll ctrlr keycode 24 = Meta_Control_o
+ shift control alt ctrll ctrlr keycode 24 = Meta_Control_o
+keycode 25 = p
+ ctrlr keycode 25 = U+0437
+ shift ctrlr keycode 25 = U+0417
+ control ctrlr keycode 25 = Control_p
+ shift control ctrlr keycode 25 = Control_p
+ alt ctrlr keycode 25 = Meta_p
+ shift alt ctrlr keycode 25 = Meta_P
+ control alt ctrlr keycode 25 = Meta_Control_p
+ shift control alt ctrlr keycode 25 = Meta_Control_p
+ ctrll keycode 25 = U+0437
+ shift ctrll keycode 25 = U+0417
+ control ctrll keycode 25 = Control_p
+ shift control ctrll keycode 25 = Control_p
+ alt ctrll keycode 25 = Meta_p
+ shift alt ctrll keycode 25 = Meta_P
+ control alt ctrll keycode 25 = Meta_Control_p
+ shift control alt ctrll keycode 25 = Meta_Control_p
+ ctrll ctrlr keycode 25 = U+0437
+ shift ctrll ctrlr keycode 25 = U+0417
+ control ctrll ctrlr keycode 25 = Control_p
+ shift control ctrll ctrlr keycode 25 = Control_p
+ alt ctrll ctrlr keycode 25 = Meta_p
+ shift alt ctrll ctrlr keycode 25 = Meta_P
+ control alt ctrll ctrlr keycode 25 = Meta_Control_p
+ shift control alt ctrll ctrlr keycode 25 = Meta_Control_p
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ shift alt keycode 26 = Meta_braceleft
+ ctrlr keycode 26 = U+0445
+ shift ctrlr keycode 26 = U+0425
+ control ctrlr keycode 26 = Escape
+ shift control ctrlr keycode 26 = Escape
+ alt ctrlr keycode 26 = Meta_bracketleft
+ shift alt ctrlr keycode 26 = Meta_braceleft
+ ctrll keycode 26 = U+0445
+ shift ctrll keycode 26 = U+0425
+ control ctrll keycode 26 = Escape
+ shift control ctrll keycode 26 = Escape
+ alt ctrll keycode 26 = Meta_bracketleft
+ shift alt ctrll keycode 26 = Meta_braceleft
+ ctrll ctrlr keycode 26 = U+0445
+ shift ctrll ctrlr keycode 26 = U+0425
+ control ctrll ctrlr keycode 26 = Escape
+ shift control ctrll ctrlr keycode 26 = Escape
+ alt ctrll ctrlr keycode 26 = Meta_bracketleft
+ shift alt ctrll ctrlr keycode 26 = Meta_braceleft
+keycode 27 = bracketright braceright asciitilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ shift alt keycode 27 = Meta_braceright
+ ctrlr keycode 27 = U+044a
+ shift ctrlr keycode 27 = U+042a
+ control ctrlr keycode 27 = Control_bracketright
+ shift control ctrlr keycode 27 = Control_bracketright
+ alt ctrlr keycode 27 = Meta_bracketright
+ shift alt ctrlr keycode 27 = Meta_braceright
+ control alt ctrlr keycode 27 = Meta_Control_bracketright
+ shift control alt ctrlr keycode 27 = Meta_Control_bracketright
+ ctrll keycode 27 = U+0457
+ shift ctrll keycode 27 = U+0407
+ control ctrll keycode 27 = Control_bracketright
+ shift control ctrll keycode 27 = Control_bracketright
+ alt ctrll keycode 27 = Meta_bracketright
+ shift alt ctrll keycode 27 = Meta_braceright
+ control alt ctrll keycode 27 = Meta_Control_bracketright
+ shift control alt ctrll keycode 27 = Meta_Control_bracketright
+ ctrll ctrlr keycode 27 = U+0457
+ shift ctrll ctrlr keycode 27 = U+0407
+ control ctrll ctrlr keycode 27 = Control_bracketright
+ shift control ctrll ctrlr keycode 27 = Control_bracketright
+ alt ctrll ctrlr keycode 27 = Meta_bracketright
+ shift alt ctrll ctrlr keycode 27 = Meta_braceright
+ control alt ctrll ctrlr keycode 27 = Meta_Control_bracketright
+ shift control alt ctrll ctrlr keycode 27 = Meta_Control_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+ ctrlr keycode 30 = U+0444
+ shift ctrlr keycode 30 = U+0424
+ control ctrlr keycode 30 = Control_a
+ shift control ctrlr keycode 30 = Control_a
+ alt ctrlr keycode 30 = Meta_a
+ shift alt ctrlr keycode 30 = Meta_A
+ control alt ctrlr keycode 30 = Meta_Control_a
+ shift control alt ctrlr keycode 30 = Meta_Control_a
+ ctrll keycode 30 = U+0444
+ shift ctrll keycode 30 = U+0424
+ control ctrll keycode 30 = Control_a
+ shift control ctrll keycode 30 = Control_a
+ alt ctrll keycode 30 = Meta_a
+ shift alt ctrll keycode 30 = Meta_A
+ control alt ctrll keycode 30 = Meta_Control_a
+ shift control alt ctrll keycode 30 = Meta_Control_a
+ ctrll ctrlr keycode 30 = U+0444
+ shift ctrll ctrlr keycode 30 = U+0424
+ control ctrll ctrlr keycode 30 = Control_a
+ shift control ctrll ctrlr keycode 30 = Control_a
+ alt ctrll ctrlr keycode 30 = Meta_a
+ shift alt ctrll ctrlr keycode 30 = Meta_A
+ control alt ctrll ctrlr keycode 30 = Meta_Control_a
+ shift control alt ctrll ctrlr keycode 30 = Meta_Control_a
+keycode 31 = s
+ ctrlr keycode 31 = U+044b
+ shift ctrlr keycode 31 = U+042b
+ control ctrlr keycode 31 = Control_s
+ shift control ctrlr keycode 31 = Control_s
+ alt ctrlr keycode 31 = Meta_s
+ shift alt ctrlr keycode 31 = Meta_S
+ control alt ctrlr keycode 31 = Meta_Control_s
+ shift control alt ctrlr keycode 31 = Meta_Control_s
+ ctrll keycode 31 = U+0456
+ shift ctrll keycode 31 = U+0406
+ control ctrll keycode 31 = Control_s
+ shift control ctrll keycode 31 = Control_s
+ alt ctrll keycode 31 = Meta_s
+ shift alt ctrll keycode 31 = Meta_S
+ control alt ctrll keycode 31 = Meta_Control_s
+ shift control alt ctrll keycode 31 = Meta_Control_s
+ ctrll ctrlr keycode 31 = U+0456
+ shift ctrll ctrlr keycode 31 = U+0406
+ control ctrll ctrlr keycode 31 = Control_s
+ shift control ctrll ctrlr keycode 31 = Control_s
+ alt ctrll ctrlr keycode 31 = Meta_s
+ shift alt ctrll ctrlr keycode 31 = Meta_S
+ control alt ctrll ctrlr keycode 31 = Meta_Control_s
+ shift control alt ctrll ctrlr keycode 31 = Meta_Control_s
+keycode 32 = d
+ ctrlr keycode 32 = U+0432
+ shift ctrlr keycode 32 = U+0432
+ control ctrlr keycode 32 = Control_d
+ shift control ctrlr keycode 32 = Control_d
+ alt ctrlr keycode 32 = Meta_d
+ shift alt ctrlr keycode 32 = Meta_D
+ control alt ctrlr keycode 32 = Meta_Control_d
+ shift control alt ctrlr keycode 32 = Meta_Control_d
+ ctrll keycode 32 = U+0432
+ shift ctrll keycode 32 = U+0432
+ control ctrll keycode 32 = Control_d
+ shift control ctrll keycode 32 = Control_d
+ alt ctrll keycode 32 = Meta_d
+ shift alt ctrll keycode 32 = Meta_D
+ control alt ctrll keycode 32 = Meta_Control_d
+ shift control alt ctrll keycode 32 = Meta_Control_d
+ ctrll ctrlr keycode 32 = U+0432
+ shift ctrll ctrlr keycode 32 = U+0432
+ control ctrll ctrlr keycode 32 = Control_d
+ shift control ctrll ctrlr keycode 32 = Control_d
+ alt ctrll ctrlr keycode 32 = Meta_d
+ shift alt ctrll ctrlr keycode 32 = Meta_D
+ control alt ctrll ctrlr keycode 32 = Meta_Control_d
+ shift control alt ctrll ctrlr keycode 32 = Meta_Control_d
+keycode 33 = f
+ ctrlr keycode 33 = U+0430
+ shift ctrlr keycode 33 = U+0410
+ control ctrlr keycode 33 = Control_f
+ shift control ctrlr keycode 33 = Control_f
+ alt ctrlr keycode 33 = Meta_f
+ shift alt ctrlr keycode 33 = Meta_F
+ control alt ctrlr keycode 33 = Meta_Control_f
+ shift control alt ctrlr keycode 33 = Meta_Control_f
+ ctrll keycode 33 = U+0430
+ shift ctrll keycode 33 = U+0410
+ control ctrll keycode 33 = Control_f
+ shift control ctrll keycode 33 = Control_f
+ alt ctrll keycode 33 = Meta_f
+ shift alt ctrll keycode 33 = Meta_F
+ control alt ctrll keycode 33 = Meta_Control_f
+ shift control alt ctrll keycode 33 = Meta_Control_f
+ ctrll ctrlr keycode 33 = U+0430
+ shift ctrll ctrlr keycode 33 = U+0410
+ control ctrll ctrlr keycode 33 = Control_f
+ shift control ctrll ctrlr keycode 33 = Control_f
+ alt ctrll ctrlr keycode 33 = Meta_f
+ shift alt ctrll ctrlr keycode 33 = Meta_F
+ control alt ctrll ctrlr keycode 33 = Meta_Control_f
+ shift control alt ctrll ctrlr keycode 33 = Meta_Control_f
+keycode 34 = g
+ ctrlr keycode 34 = U+043f
+ shift ctrlr keycode 34 = U+041f
+ control ctrlr keycode 34 = Control_g
+ shift control ctrlr keycode 34 = Control_g
+ alt ctrlr keycode 34 = Meta_g
+ shift alt ctrlr keycode 34 = Meta_G
+ control alt ctrlr keycode 34 = Meta_Control_g
+ shift control alt ctrlr keycode 34 = Meta_Control_g
+ ctrll keycode 34 = U+043f
+ shift ctrll keycode 34 = U+041f
+ control ctrll keycode 34 = Control_g
+ shift control ctrll keycode 34 = Control_g
+ alt ctrll keycode 34 = Meta_g
+ shift alt ctrll keycode 34 = Meta_G
+ control alt ctrll keycode 34 = Meta_Control_g
+ shift control alt ctrll keycode 34 = Meta_Control_g
+ ctrll ctrlr keycode 34 = U+043f
+ shift ctrll ctrlr keycode 34 = U+041f
+ control ctrll ctrlr keycode 34 = Control_g
+ shift control ctrll ctrlr keycode 34 = Control_g
+ alt ctrll ctrlr keycode 34 = Meta_g
+ shift alt ctrll ctrlr keycode 34 = Meta_G
+ control alt ctrll ctrlr keycode 34 = Meta_Control_g
+ shift control alt ctrll ctrlr keycode 34 = Meta_Control_g
+keycode 35 = h
+ ctrlr keycode 35 = U+0440
+ shift ctrlr keycode 35 = U+0420
+ control ctrlr keycode 35 = Control_h
+ shift control ctrlr keycode 35 = Control_h
+ alt ctrlr keycode 35 = Meta_h
+ shift alt ctrlr keycode 35 = Meta_H
+ control alt ctrlr keycode 35 = Meta_Control_h
+ shift control alt ctrlr keycode 35 = Meta_Control_h
+ ctrll keycode 35 = U+0440
+ shift ctrll keycode 35 = U+0420
+ control ctrll keycode 35 = Control_h
+ shift control ctrll keycode 35 = Control_h
+ alt ctrll keycode 35 = Meta_h
+ shift alt ctrll keycode 35 = Meta_H
+ control alt ctrll keycode 35 = Meta_Control_h
+ shift control alt ctrll keycode 35 = Meta_Control_h
+ ctrll ctrlr keycode 35 = U+0440
+ shift ctrll ctrlr keycode 35 = U+0420
+ control ctrll ctrlr keycode 35 = Control_h
+ shift control ctrll ctrlr keycode 35 = Control_h
+ alt ctrll ctrlr keycode 35 = Meta_h
+ shift alt ctrll ctrlr keycode 35 = Meta_H
+ control alt ctrll ctrlr keycode 35 = Meta_Control_h
+ shift control alt ctrll ctrlr keycode 35 = Meta_Control_h
+keycode 36 = j
+ ctrlr keycode 36 = U+043e
+ shift ctrlr keycode 36 = U+041e
+ control ctrlr keycode 36 = Control_j
+ shift control ctrlr keycode 36 = Control_j
+ alt ctrlr keycode 36 = Meta_j
+ shift alt ctrlr keycode 36 = Meta_J
+ control alt ctrlr keycode 36 = Meta_Control_j
+ shift control alt ctrlr keycode 36 = Meta_Control_j
+ ctrll keycode 36 = U+043e
+ shift ctrll keycode 36 = U+041e
+ control ctrll keycode 36 = Control_j
+ shift control ctrll keycode 36 = Control_j
+ alt ctrll keycode 36 = Meta_j
+ shift alt ctrll keycode 36 = Meta_J
+ control alt ctrll keycode 36 = Meta_Control_j
+ shift control alt ctrll keycode 36 = Meta_Control_j
+ ctrll ctrlr keycode 36 = U+043e
+ shift ctrll ctrlr keycode 36 = U+041e
+ control ctrll ctrlr keycode 36 = Control_j
+ shift control ctrll ctrlr keycode 36 = Control_j
+ alt ctrll ctrlr keycode 36 = Meta_j
+ shift alt ctrll ctrlr keycode 36 = Meta_J
+ control alt ctrll ctrlr keycode 36 = Meta_Control_j
+ shift control alt ctrll ctrlr keycode 36 = Meta_Control_j
+keycode 37 = k
+ ctrlr keycode 37 = U+043b
+ shift ctrlr keycode 37 = U+041b
+ control ctrlr keycode 37 = Control_k
+ shift control ctrlr keycode 37 = Control_k
+ alt ctrlr keycode 37 = Meta_k
+ shift alt ctrlr keycode 37 = Meta_K
+ control alt ctrlr keycode 37 = Meta_Control_k
+ shift control alt ctrlr keycode 37 = Meta_Control_k
+ ctrll keycode 37 = U+043b
+ shift ctrll keycode 37 = U+041b
+ control ctrll keycode 37 = Control_k
+ shift control ctrll keycode 37 = Control_k
+ alt ctrll keycode 37 = Meta_k
+ shift alt ctrll keycode 37 = Meta_K
+ control alt ctrll keycode 37 = Meta_Control_k
+ shift control alt ctrll keycode 37 = Meta_Control_k
+ ctrll ctrlr keycode 37 = U+043b
+ shift ctrll ctrlr keycode 37 = U+041b
+ control ctrll ctrlr keycode 37 = Control_k
+ shift control ctrll ctrlr keycode 37 = Control_k
+ alt ctrll ctrlr keycode 37 = Meta_k
+ shift alt ctrll ctrlr keycode 37 = Meta_K
+ control alt ctrll ctrlr keycode 37 = Meta_Control_k
+ shift control alt ctrll ctrlr keycode 37 = Meta_Control_k
+keycode 38 = l
+ ctrlr keycode 38 = U+0434
+ shift ctrlr keycode 38 = U+0414
+ control ctrlr keycode 38 = Control_l
+ shift control ctrlr keycode 38 = Control_l
+ alt ctrlr keycode 38 = Meta_l
+ shift alt ctrlr keycode 38 = Meta_L
+ control alt ctrlr keycode 38 = Meta_Control_l
+ shift control alt ctrlr keycode 38 = Meta_Control_l
+ ctrll keycode 38 = U+0434
+ shift ctrll keycode 38 = U+0414
+ control ctrll keycode 38 = Control_l
+ shift control ctrll keycode 38 = Control_l
+ alt ctrll keycode 38 = Meta_l
+ shift alt ctrll keycode 38 = Meta_L
+ control alt ctrll keycode 38 = Meta_Control_l
+ shift control alt ctrll keycode 38 = Meta_Control_l
+ ctrll ctrlr keycode 38 = U+0434
+ shift ctrll ctrlr keycode 38 = U+0414
+ control ctrll ctrlr keycode 38 = Control_l
+ shift control ctrll ctrlr keycode 38 = Control_l
+ alt ctrll ctrlr keycode 38 = Meta_l
+ shift alt ctrll ctrlr keycode 38 = Meta_L
+ control alt ctrll ctrlr keycode 38 = Meta_Control_l
+ shift control alt ctrll ctrlr keycode 38 = Meta_Control_l
+keycode 39 = semicolon colon
+ alt keycode 39 = Meta_semicolon
+ shift alt keycode 39 = Meta_colon
+ ctrlr keycode 39 = U+0436
+ shift ctrlr keycode 39 = U+0416
+ alt ctrlr keycode 39 = Meta_semicolon
+ shift alt ctrlr keycode 39 = Meta_colon
+ ctrll keycode 39 = U+0436
+ shift ctrll keycode 39 = U+0416
+ alt ctrll keycode 39 = Meta_semicolon
+ shift alt ctrll keycode 39 = Meta_colon
+ ctrll ctrlr keycode 39 = U+0436
+ shift ctrll ctrlr keycode 39 = U+0416
+ alt ctrll ctrlr keycode 39 = Meta_semicolon
+ shift alt ctrll ctrlr keycode 39 = Meta_colon
+keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+ shift alt keycode 40 = Meta_quotedbl
+ ctrlr keycode 40 = U+044d
+ shift ctrlr keycode 40 = U+042d
+ control ctrlr keycode 40 = Control_g
+ shift control ctrlr keycode 40 = Control_g
+ alt ctrlr keycode 40 = Meta_apostrophe
+ shift alt ctrlr keycode 40 = Meta_quotedbl
+ ctrll keycode 40 = U+0454
+ shift ctrll keycode 40 = U+0404
+ control ctrll keycode 40 = Control_g
+ shift control ctrll keycode 40 = Control_g
+ alt ctrll keycode 40 = Meta_apostrophe
+ shift alt ctrll keycode 40 = Meta_quotedbl
+ ctrll ctrlr keycode 40 = U+0454
+ shift ctrll ctrlr keycode 40 = U+0404
+ control ctrll ctrlr keycode 40 = Control_g
+ shift control ctrll ctrlr keycode 40 = Control_g
+ alt ctrll ctrlr keycode 40 = Meta_apostrophe
+ shift alt ctrll ctrlr keycode 40 = Meta_quotedbl
+keycode 41 = grave asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+ shift alt keycode 41 = Meta_asciitilde
+ ctrlr keycode 41 = apostrophe
+ shift ctrlr keycode 41 = question
+ control ctrlr keycode 41 = nul
+ shift control ctrlr keycode 41 = nul
+ alt ctrlr keycode 41 = Meta_grave
+ shift alt ctrlr keycode 41 = Meta_asciitilde
+ ctrll keycode 41 = apostrophe
+ shift ctrll keycode 41 = question
+ control ctrll keycode 41 = nul
+ shift control ctrll keycode 41 = nul
+ alt ctrll keycode 41 = Meta_grave
+ shift alt ctrll keycode 41 = Meta_asciitilde
+ ctrll ctrlr keycode 41 = apostrophe
+ shift ctrll ctrlr keycode 41 = question
+ control ctrll ctrlr keycode 41 = nul
+ shift control ctrll ctrlr keycode 41 = nul
+ alt ctrll ctrlr keycode 41 = Meta_grave
+ shift alt ctrll ctrlr keycode 41 = Meta_asciitilde
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ shift alt keycode 43 = Meta_bar
+ control alt keycode 43 = Meta_Control_backslash
+ shift control alt keycode 43 = Meta_Control_backslash
+ ctrlr keycode 43 = backslash
+ shift ctrlr keycode 43 = bar
+ control ctrlr keycode 43 = Control_backslash
+ shift control ctrlr keycode 43 = Control_backslash
+ alt ctrlr keycode 43 = Meta_backslash
+ shift alt ctrlr keycode 43 = Meta_bar
+ control alt ctrlr keycode 43 = Meta_Control_backslash
+ shift control alt ctrlr keycode 43 = Meta_Control_backslash
+ ctrll keycode 43 = backslash
+ shift ctrll keycode 43 = bar
+ control ctrll keycode 43 = Control_backslash
+ shift control ctrll keycode 43 = Control_backslash
+ alt ctrll keycode 43 = Meta_backslash
+ shift alt ctrll keycode 43 = Meta_bar
+ control alt ctrll keycode 43 = Meta_Control_backslash
+ shift control alt ctrll keycode 43 = Meta_Control_backslash
+ ctrll ctrlr keycode 43 = backslash
+ shift ctrll ctrlr keycode 43 = bar
+ control ctrll ctrlr keycode 43 = Control_backslash
+ shift control ctrll ctrlr keycode 43 = Control_backslash
+ alt ctrll ctrlr keycode 43 = Meta_backslash
+ shift alt ctrll ctrlr keycode 43 = Meta_bar
+ control alt ctrll ctrlr keycode 43 = Meta_Control_backslash
+ shift control alt ctrll ctrlr keycode 43 = Meta_Control_backslash
+keycode 44 = z
+ ctrlr keycode 44 = U+044f
+ shift ctrlr keycode 44 = U+042f
+ control ctrlr keycode 44 = Control_z
+ shift control ctrlr keycode 44 = Control_z
+ alt ctrlr keycode 44 = Meta_z
+ shift alt ctrlr keycode 44 = Meta_Z
+ control alt ctrlr keycode 44 = Meta_Control_z
+ shift control alt ctrlr keycode 44 = Meta_Control_z
+ ctrll keycode 44 = U+044f
+ shift ctrll keycode 44 = U+042f
+ control ctrll keycode 44 = Control_z
+ shift control ctrll keycode 44 = Control_z
+ alt ctrll keycode 44 = Meta_z
+ shift alt ctrll keycode 44 = Meta_Z
+ control alt ctrll keycode 44 = Meta_Control_z
+ shift control alt ctrll keycode 44 = Meta_Control_z
+ ctrll ctrlr keycode 44 = U+044f
+ shift ctrll ctrlr keycode 44 = U+042f
+ control ctrll ctrlr keycode 44 = Control_z
+ shift control ctrll ctrlr keycode 44 = Control_z
+ alt ctrll ctrlr keycode 44 = Meta_z
+ shift alt ctrll ctrlr keycode 44 = Meta_Z
+ control alt ctrll ctrlr keycode 44 = Meta_Control_z
+ shift control alt ctrll ctrlr keycode 44 = Meta_Control_z
+keycode 45 = x
+ ctrlr keycode 45 = U+0447
+ shift ctrlr keycode 45 = U+0427
+ control ctrlr keycode 45 = Control_x
+ shift control ctrlr keycode 45 = Control_x
+ alt ctrlr keycode 45 = Meta_x
+ shift alt ctrlr keycode 45 = Meta_X
+ control alt ctrlr keycode 45 = Meta_Control_x
+ shift control alt ctrlr keycode 45 = Meta_Control_x
+ ctrll keycode 45 = U+0447
+ shift ctrll keycode 45 = U+0427
+ control ctrll keycode 45 = Control_x
+ shift control ctrll keycode 45 = Control_x
+ alt ctrll keycode 45 = Meta_x
+ shift alt ctrll keycode 45 = Meta_X
+ control alt ctrll keycode 45 = Meta_Control_x
+ shift control alt ctrll keycode 45 = Meta_Control_x
+ ctrll ctrlr keycode 45 = U+0447
+ shift ctrll ctrlr keycode 45 = U+0427
+ control ctrll ctrlr keycode 45 = Control_x
+ shift control ctrll ctrlr keycode 45 = Control_x
+ alt ctrll ctrlr keycode 45 = Meta_x
+ shift alt ctrll ctrlr keycode 45 = Meta_X
+ control alt ctrll ctrlr keycode 45 = Meta_Control_x
+ shift control alt ctrll ctrlr keycode 45 = Meta_Control_x
+keycode 46 = c
+ ctrlr keycode 46 = U+0441
+ shift ctrlr keycode 46 = U+0421
+ control ctrlr keycode 46 = Control_c
+ shift control ctrlr keycode 46 = Control_c
+ alt ctrlr keycode 46 = Meta_c
+ shift alt ctrlr keycode 46 = Meta_C
+ control alt ctrlr keycode 46 = Meta_Control_c
+ shift control alt ctrlr keycode 46 = Meta_Control_c
+ ctrll keycode 46 = U+0441
+ shift ctrll keycode 46 = U+0421
+ control ctrll keycode 46 = Control_c
+ shift control ctrll keycode 46 = Control_c
+ alt ctrll keycode 46 = Meta_c
+ shift alt ctrll keycode 46 = Meta_C
+ control alt ctrll keycode 46 = Meta_Control_c
+ shift control alt ctrll keycode 46 = Meta_Control_c
+ ctrll ctrlr keycode 46 = U+0441
+ shift ctrll ctrlr keycode 46 = U+0421
+ control ctrll ctrlr keycode 46 = Control_c
+ shift control ctrll ctrlr keycode 46 = Control_c
+ alt ctrll ctrlr keycode 46 = Meta_c
+ shift alt ctrll ctrlr keycode 46 = Meta_C
+ control alt ctrll ctrlr keycode 46 = Meta_Control_c
+ shift control alt ctrll ctrlr keycode 46 = Meta_Control_c
+keycode 47 = v
+ ctrlr keycode 47 = U+043c
+ shift ctrlr keycode 47 = U+041c
+ control ctrlr keycode 47 = Control_v
+ shift control ctrlr keycode 47 = Control_v
+ alt ctrlr keycode 47 = Meta_v
+ shift alt ctrlr keycode 47 = Meta_V
+ control alt ctrlr keycode 47 = Meta_Control_v
+ shift control alt ctrlr keycode 47 = Meta_Control_v
+ ctrll keycode 47 = U+043c
+ shift ctrll keycode 47 = U+041c
+ control ctrll keycode 47 = Control_v
+ shift control ctrll keycode 47 = Control_v
+ alt ctrll keycode 47 = Meta_v
+ shift alt ctrll keycode 47 = Meta_V
+ control alt ctrll keycode 47 = Meta_Control_v
+ shift control alt ctrll keycode 47 = Meta_Control_v
+ ctrll ctrlr keycode 47 = U+043c
+ shift ctrll ctrlr keycode 47 = U+041c
+ control ctrll ctrlr keycode 47 = Control_v
+ shift control ctrll ctrlr keycode 47 = Control_v
+ alt ctrll ctrlr keycode 47 = Meta_v
+ shift alt ctrll ctrlr keycode 47 = Meta_V
+ control alt ctrll ctrlr keycode 47 = Meta_Control_v
+ shift control alt ctrll ctrlr keycode 47 = Meta_Control_v
+keycode 48 = b
+ ctrlr keycode 48 = U+0438
+ shift ctrlr keycode 48 = U+0418
+ control ctrlr keycode 48 = Control_b
+ shift control ctrlr keycode 48 = Control_b
+ alt ctrlr keycode 48 = Meta_b
+ shift alt ctrlr keycode 48 = Meta_B
+ control alt ctrlr keycode 48 = Meta_Control_b
+ shift control alt ctrlr keycode 48 = Meta_Control_b
+ ctrll keycode 48 = U+0438
+ shift ctrll keycode 48 = U+0418
+ control ctrll keycode 48 = Control_b
+ shift control ctrll keycode 48 = Control_b
+ alt ctrll keycode 48 = Meta_b
+ shift alt ctrll keycode 48 = Meta_B
+ control alt ctrll keycode 48 = Meta_Control_b
+ shift control alt ctrll keycode 48 = Meta_Control_b
+ ctrll ctrlr keycode 48 = U+0438
+ shift ctrll ctrlr keycode 48 = U+0418
+ control ctrll ctrlr keycode 48 = Control_b
+ shift control ctrll ctrlr keycode 48 = Control_b
+ alt ctrll ctrlr keycode 48 = Meta_b
+ shift alt ctrll ctrlr keycode 48 = Meta_B
+ control alt ctrll ctrlr keycode 48 = Meta_Control_b
+ shift control alt ctrll ctrlr keycode 48 = Meta_Control_b
+keycode 49 = n
+ ctrlr keycode 49 = U+0442
+ shift ctrlr keycode 49 = U+0422
+ control ctrlr keycode 49 = Control_n
+ shift control ctrlr keycode 49 = Control_n
+ alt ctrlr keycode 49 = Meta_n
+ shift alt ctrlr keycode 49 = Meta_N
+ control alt ctrlr keycode 49 = Meta_Control_n
+ shift control alt ctrlr keycode 49 = Meta_Control_n
+ ctrll keycode 49 = U+0442
+ shift ctrll keycode 49 = U+0422
+ control ctrll keycode 49 = Control_n
+ shift control ctrll keycode 49 = Control_n
+ alt ctrll keycode 49 = Meta_n
+ shift alt ctrll keycode 49 = Meta_N
+ control alt ctrll keycode 49 = Meta_Control_n
+ shift control alt ctrll keycode 49 = Meta_Control_n
+ ctrll ctrlr keycode 49 = U+0442
+ shift ctrll ctrlr keycode 49 = U+0422
+ control ctrll ctrlr keycode 49 = Control_n
+ shift control ctrll ctrlr keycode 49 = Control_n
+ alt ctrll ctrlr keycode 49 = Meta_n
+ shift alt ctrll ctrlr keycode 49 = Meta_N
+ control alt ctrll ctrlr keycode 49 = Meta_Control_n
+ shift control alt ctrll ctrlr keycode 49 = Meta_Control_n
+keycode 50 = m
+ ctrlr keycode 50 = U+044c
+ shift ctrlr keycode 50 = U+042c
+ control ctrlr keycode 50 = Control_m
+ shift control ctrlr keycode 50 = Control_m
+ alt ctrlr keycode 50 = Meta_m
+ shift alt ctrlr keycode 50 = Meta_M
+ control alt ctrlr keycode 50 = Meta_Control_m
+ shift control alt ctrlr keycode 50 = Meta_Control_m
+ ctrll keycode 50 = U+044c
+ shift ctrll keycode 50 = U+042c
+ control ctrll keycode 50 = Control_m
+ shift control ctrll keycode 50 = Control_m
+ alt ctrll keycode 50 = Meta_m
+ shift alt ctrll keycode 50 = Meta_M
+ control alt ctrll keycode 50 = Meta_Control_m
+ shift control alt ctrll keycode 50 = Meta_Control_m
+ ctrll ctrlr keycode 50 = U+044c
+ shift ctrll ctrlr keycode 50 = U+042c
+ control ctrll ctrlr keycode 50 = Control_m
+ shift control ctrll ctrlr keycode 50 = Control_m
+ alt ctrll ctrlr keycode 50 = Meta_m
+ shift alt ctrll ctrlr keycode 50 = Meta_M
+ control alt ctrll ctrlr keycode 50 = Meta_Control_m
+ shift control alt ctrll ctrlr keycode 50 = Meta_Control_m
+keycode 51 = comma less
+ alt keycode 51 = Meta_comma
+ shift alt keycode 51 = Meta_less
+ ctrlr keycode 51 = U+0431
+ shift ctrlr keycode 51 = U+0411
+ alt ctrlr keycode 51 = Meta_comma
+ shift alt ctrlr keycode 51 = Meta_less
+ ctrll keycode 51 = U+0431
+ shift ctrll keycode 51 = U+0411
+ alt ctrll keycode 51 = Meta_comma
+ shift alt ctrll keycode 51 = Meta_less
+ ctrll ctrlr keycode 51 = U+0431
+ shift ctrll ctrlr keycode 51 = U+0411
+ alt ctrll ctrlr keycode 51 = Meta_comma
+ shift alt ctrll ctrlr keycode 51 = Meta_less
+keycode 52 = period greater
+ control keycode 52 = Compose
+ alt keycode 52 = Meta_period
+ shift alt keycode 52 = Meta_greater
+ ctrlr keycode 52 = U+044e
+ shift ctrlr keycode 52 = U+042e
+ alt ctrlr keycode 52 = Meta_period
+ shift alt ctrlr keycode 52 = Meta_greater
+ ctrll keycode 52 = U+044e
+ shift ctrll keycode 52 = U+042e
+ alt ctrll keycode 52 = Meta_period
+ shift alt ctrll keycode 52 = Meta_greater
+ ctrll ctrlr keycode 52 = U+044e
+ shift ctrll ctrlr keycode 52 = U+042e
+ alt ctrll ctrlr keycode 52 = Meta_period
+ shift alt ctrll ctrlr keycode 52 = Meta_greater
+keycode 53 = slash question
+ control keycode 53 = Delete
+ shift control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+ ctrlr keycode 53 = U+0451
+ shift ctrlr keycode 53 = U+0401
+ alt ctrlr keycode 53 = Meta_slash
+ shift alt ctrlr keycode 53 = Meta_question
+ ctrll keycode 53 = U+0491
+ shift ctrll keycode 53 = U+0490
+ alt ctrll keycode 53 = Meta_slash
+ shift alt ctrll keycode 53 = Meta_question
+ ctrll ctrlr keycode 53 = U+0491
+ shift ctrll ctrlr keycode 53 = U+0490
+ alt ctrll ctrlr keycode 53 = Meta_slash
+ shift alt ctrll ctrlr keycode 53 = Meta_question
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ ctrlr keycode 57 = space
+ shift ctrlr keycode 57 = space
+ control ctrlr keycode 57 = nul
+ shift control ctrlr keycode 57 = nul
+ alt ctrlr keycode 57 = Meta_space
+ shift alt ctrlr keycode 57 = Meta_space
+ ctrll keycode 57 = space
+ shift ctrll keycode 57 = space
+ control ctrll keycode 57 = nul
+ shift control ctrll keycode 57 = nul
+ alt ctrll keycode 57 = Meta_space
+ shift alt ctrll keycode 57 = Meta_space
+ ctrll ctrlr keycode 57 = space
+ shift ctrll ctrlr keycode 57 = space
+ control ctrll ctrlr keycode 57 = nul
+ shift control ctrll ctrlr keycode 57 = nul
+ alt ctrll ctrlr keycode 57 = Meta_space
+ shift alt ctrll ctrlr keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 Console_13
+ control keycode 59 = F25
+ shift control keycode 59 = F37
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+ ctrlr keycode 59 = F1
+ ctrlr shift keycode 59 = F13
+ ctrlr altgr keycode 59 = Console_13
+ ctrlr control keycode 59 = F25
+ ctrlr shift control keycode 59 = F37
+ ctrlr alt keycode 59 = Console_1
+ ctrlr control alt keycode 59 = Console_1
+ ctrll keycode 59 = F1
+ ctrll shift keycode 59 = F13
+ ctrll altgr keycode 59 = Console_13
+ ctrll control keycode 59 = F25
+ ctrll shift control keycode 59 = F37
+ ctrll alt keycode 59 = Console_1
+ ctrll control alt keycode 59 = Console_1
+ ctrlr ctrll keycode 59 = F1
+ ctrlr ctrll shift keycode 59 = F13
+ ctrlr ctrll altgr keycode 59 = Console_13
+ ctrlr ctrll control keycode 59 = F25
+ ctrlr ctrll shift control keycode 59 = F37
+ ctrlr ctrll alt keycode 59 = Console_1
+ ctrlr ctrll control alt keycode 59 = Console_1
+keycode 60 = F2 F14 Console_14
+ control keycode 60 = F26
+ shift control keycode 60 = F38
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+ ctrlr keycode 60 = F2
+ ctrlr shift keycode 60 = F14
+ ctrlr altgr keycode 60 = Console_14
+ ctrlr control keycode 60 = F26
+ ctrlr shift control keycode 60 = F38
+ ctrlr alt keycode 60 = Console_2
+ ctrlr control alt keycode 60 = Console_2
+ ctrll keycode 60 = F2
+ ctrll shift keycode 60 = F14
+ ctrll altgr keycode 60 = Console_14
+ ctrll control keycode 60 = F26
+ ctrll shift control keycode 60 = F38
+ ctrll alt keycode 60 = Console_2
+ ctrll control alt keycode 60 = Console_2
+ ctrlr ctrll keycode 60 = F2
+ ctrlr ctrll shift keycode 60 = F14
+ ctrlr ctrll altgr keycode 60 = Console_14
+ ctrlr ctrll control keycode 60 = F26
+ ctrlr ctrll shift control keycode 60 = F38
+ ctrlr ctrll alt keycode 60 = Console_2
+ ctrlr ctrll control alt keycode 60 = Console_2
+keycode 61 = F3 F15 Console_15
+ control keycode 61 = F27
+ shift control keycode 61 = F39
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+ ctrlr keycode 61 = F3
+ ctrlr shift keycode 61 = F15
+ ctrlr altgr keycode 61 = Console_15
+ ctrlr control keycode 61 = F27
+ ctrlr shift control keycode 61 = F39
+ ctrlr alt keycode 61 = Console_3
+ ctrlr control alt keycode 61 = Console_3
+ ctrll keycode 61 = F3
+ ctrll shift keycode 61 = F15
+ ctrll altgr keycode 61 = Console_15
+ ctrll control keycode 61 = F27
+ ctrll shift control keycode 61 = F39
+ ctrll alt keycode 61 = Console_3
+ ctrll control alt keycode 61 = Console_3
+ ctrlr ctrll keycode 61 = F3
+ ctrlr ctrll shift keycode 61 = F15
+ ctrlr ctrll altgr keycode 61 = Console_15
+ ctrlr ctrll control keycode 61 = F27
+ ctrlr ctrll shift control keycode 61 = F39
+ ctrlr ctrll alt keycode 61 = Console_3
+ ctrlr ctrll control alt keycode 61 = Console_3
+keycode 62 = F4 F16 Console_16
+ control keycode 62 = F28
+ shift control keycode 62 = F40
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+ ctrlr keycode 62 = F4
+ ctrlr shift keycode 62 = F16
+ ctrlr altgr keycode 62 = Console_16
+ ctrlr control keycode 62 = F28
+ ctrlr shift control keycode 62 = F40
+ ctrlr alt keycode 62 = Console_4
+ ctrlr control alt keycode 62 = Console_4
+ ctrll keycode 62 = F4
+ ctrll shift keycode 62 = F16
+ ctrll altgr keycode 62 = Console_16
+ ctrll control keycode 62 = F28
+ ctrll shift control keycode 62 = F40
+ ctrll alt keycode 62 = Console_4
+ ctrll control alt keycode 62 = Console_4
+ ctrlr ctrll keycode 62 = F4
+ ctrlr ctrll shift keycode 62 = F16
+ ctrlr ctrll altgr keycode 62 = Console_16
+ ctrlr ctrll control keycode 62 = F28
+ ctrlr ctrll shift control keycode 62 = F40
+ ctrlr ctrll alt keycode 62 = Console_4
+ ctrlr ctrll control alt keycode 62 = Console_4
+keycode 63 = F5 F17 Console_17
+ control keycode 63 = F29
+ shift control keycode 63 = F41
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+ ctrlr keycode 63 = F5
+ ctrlr shift keycode 63 = F17
+ ctrlr altgr keycode 63 = Console_17
+ ctrlr control keycode 63 = F29
+ ctrlr shift control keycode 63 = F41
+ ctrlr alt keycode 63 = Console_5
+ ctrlr control alt keycode 63 = Console_5
+ ctrll keycode 63 = F5
+ ctrll shift keycode 63 = F17
+ ctrll altgr keycode 63 = Console_17
+ ctrll control keycode 63 = F29
+ ctrll shift control keycode 63 = F41
+ ctrll alt keycode 63 = Console_5
+ ctrll control alt keycode 63 = Console_5
+ ctrlr ctrll keycode 63 = F5
+ ctrlr ctrll shift keycode 63 = F17
+ ctrlr ctrll altgr keycode 63 = Console_17
+ ctrlr ctrll control keycode 63 = F29
+ ctrlr ctrll shift control keycode 63 = F41
+ ctrlr ctrll alt keycode 63 = Console_5
+ ctrlr ctrll control alt keycode 63 = Console_5
+keycode 64 = F6 F18 Console_18
+ control keycode 64 = F30
+ shift control keycode 64 = F42
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+ ctrlr keycode 64 = F6
+ ctrlr shift keycode 64 = F18
+ ctrlr altgr keycode 64 = Console_18
+ ctrlr control keycode 64 = F30
+ ctrlr shift control keycode 64 = F42
+ ctrlr alt keycode 64 = Console_6
+ ctrlr control alt keycode 64 = Console_6
+ ctrll keycode 64 = F6
+ ctrll shift keycode 64 = F18
+ ctrll altgr keycode 64 = Console_18
+ ctrll control keycode 64 = F30
+ ctrll shift control keycode 64 = F42
+ ctrll alt keycode 64 = Console_6
+ ctrll control alt keycode 64 = Console_6
+ ctrlr ctrll keycode 64 = F6
+ ctrlr ctrll shift keycode 64 = F18
+ ctrlr ctrll altgr keycode 64 = Console_18
+ ctrlr ctrll control keycode 64 = F30
+ ctrlr ctrll shift control keycode 64 = F42
+ ctrlr ctrll alt keycode 64 = Console_6
+ ctrlr ctrll control alt keycode 64 = Console_6
+keycode 65 = F7 F19 Console_19
+ control keycode 65 = F31
+ shift control keycode 65 = F43
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+ ctrlr keycode 65 = F7
+ ctrlr shift keycode 65 = F19
+ ctrlr altgr keycode 65 = Console_19
+ ctrlr control keycode 65 = F31
+ ctrlr shift control keycode 65 = F43
+ ctrlr alt keycode 65 = Console_7
+ ctrlr control alt keycode 65 = Console_7
+ ctrll keycode 65 = F7
+ ctrll shift keycode 65 = F19
+ ctrll altgr keycode 65 = Console_19
+ ctrll control keycode 65 = F31
+ ctrll shift control keycode 65 = F43
+ ctrll alt keycode 65 = Console_7
+ ctrll control alt keycode 65 = Console_7
+ ctrlr ctrll keycode 65 = F7
+ ctrlr ctrll shift keycode 65 = F19
+ ctrlr ctrll altgr keycode 65 = Console_19
+ ctrlr ctrll control keycode 65 = F31
+ ctrlr ctrll shift control keycode 65 = F43
+ ctrlr ctrll alt keycode 65 = Console_7
+ ctrlr ctrll control alt keycode 65 = Console_7
+keycode 66 = F8 F20 Console_20
+ control keycode 66 = F32
+ shift control keycode 66 = F44
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+ ctrlr keycode 66 = F8
+ ctrlr shift keycode 66 = F20
+ ctrlr altgr keycode 66 = Console_20
+ ctrlr control keycode 66 = F32
+ ctrlr shift control keycode 66 = F44
+ ctrlr alt keycode 66 = Console_8
+ ctrlr control alt keycode 66 = Console_8
+ ctrll keycode 66 = F8
+ ctrll shift keycode 66 = F20
+ ctrll altgr keycode 66 = Console_20
+ ctrll control keycode 66 = F32
+ ctrll shift control keycode 66 = F44
+ ctrll alt keycode 66 = Console_8
+ ctrll control alt keycode 66 = Console_8
+ ctrlr ctrll keycode 66 = F8
+ ctrlr ctrll shift keycode 66 = F20
+ ctrlr ctrll altgr keycode 66 = Console_20
+ ctrlr ctrll control keycode 66 = F32
+ ctrlr ctrll shift control keycode 66 = F44
+ ctrlr ctrll alt keycode 66 = Console_8
+ ctrlr ctrll control alt keycode 66 = Console_8
+keycode 67 = F9 F21 Console_21
+ control keycode 67 = F33
+ shift control keycode 67 = F45
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+ ctrlr keycode 67 = F9
+ ctrlr shift keycode 67 = F21
+ ctrlr altgr keycode 67 = Console_21
+ ctrlr control keycode 67 = F33
+ ctrlr shift control keycode 67 = F45
+ ctrlr alt keycode 67 = Console_9
+ ctrlr control alt keycode 67 = Console_9
+ ctrll keycode 67 = F9
+ ctrll shift keycode 67 = F21
+ ctrll altgr keycode 67 = Console_21
+ ctrll control keycode 67 = F33
+ ctrll shift control keycode 67 = F45
+ ctrll alt keycode 67 = Console_9
+ ctrll control alt keycode 67 = Console_9
+ ctrlr ctrll keycode 67 = F9
+ ctrlr ctrll shift keycode 67 = F21
+ ctrlr ctrll altgr keycode 67 = Console_21
+ ctrlr ctrll control keycode 67 = F33
+ ctrlr ctrll shift control keycode 67 = F45
+ ctrlr ctrll alt keycode 67 = Console_9
+ ctrlr ctrll control alt keycode 67 = Console_9
+keycode 68 = F10 F22 Console_22
+ control keycode 68 = F34
+ shift control keycode 68 = F46
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+ ctrlr keycode 68 = F10
+ ctrlr shift keycode 68 = F22
+ ctrlr altgr keycode 68 = Console_22
+ ctrlr control keycode 68 = F34
+ ctrlr shift control keycode 68 = F46
+ ctrlr alt keycode 68 = Console_10
+ ctrlr control alt keycode 68 = Console_10
+ ctrll keycode 68 = F10
+ ctrll shift keycode 68 = F22
+ ctrll altgr keycode 68 = Console_22
+ ctrll control keycode 68 = F34
+ ctrll shift control keycode 68 = F46
+ ctrll alt keycode 68 = Console_10
+ ctrll control alt keycode 68 = Console_10
+ ctrlr ctrll keycode 68 = F10
+ ctrlr ctrll shift keycode 68 = F22
+ ctrlr ctrll altgr keycode 68 = Console_22
+ ctrlr ctrll control keycode 68 = F34
+ ctrlr ctrll shift control keycode 68 = F46
+ ctrlr ctrll alt keycode 68 = Console_10
+ ctrlr ctrll control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 87 = F11 F23 Console_23
+ control keycode 87 = F35
+ shift control keycode 87 = F47
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+ ctrlr keycode 87 = F11
+ ctrlr shift keycode 87 = F23
+ ctrlr altgr keycode 87 = Console_23
+ ctrlr control keycode 87 = F35
+ ctrlr shift control keycode 87 = F47
+ ctrlr alt keycode 87 = Console_11
+ ctrlr control alt keycode 87 = Console_11
+ ctrll keycode 87 = F11
+ ctrll shift keycode 87 = F23
+ ctrll altgr keycode 87 = Console_23
+ ctrll control keycode 87 = F35
+ ctrll shift control keycode 87 = F47
+ ctrll alt keycode 87 = Console_11
+ ctrll control alt keycode 87 = Console_11
+ ctrlr ctrll keycode 87 = F11
+ ctrlr ctrll shift keycode 87 = F23
+ ctrlr ctrll altgr keycode 87 = Console_23
+ ctrlr ctrll control keycode 87 = F35
+ ctrlr ctrll shift control keycode 87 = F47
+ ctrlr ctrll alt keycode 87 = Console_11
+ ctrlr ctrll control alt keycode 87 = Console_11
+keycode 88 = F12 F24 Console_24
+ control keycode 88 = F36
+ shift control keycode 88 = F48
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+ ctrlr keycode 88 = F12
+ ctrlr shift keycode 88 = F24
+ ctrlr altgr keycode 88 = Console_24
+ ctrlr control keycode 88 = F36
+ ctrlr shift control keycode 88 = F48
+ ctrlr alt keycode 88 = Console_12
+ ctrlr control alt keycode 88 = Console_12
+ ctrll keycode 88 = F12
+ ctrll shift keycode 88 = F24
+ ctrll altgr keycode 88 = Console_24
+ ctrll control keycode 88 = F36
+ ctrll shift control keycode 88 = F48
+ ctrll alt keycode 88 = Console_12
+ ctrll control alt keycode 88 = Console_12
+ ctrlr ctrll keycode 88 = F12
+ ctrlr ctrll shift keycode 88 = F24
+ ctrlr ctrll altgr keycode 88 = Console_24
+ ctrlr ctrll control keycode 88 = F36
+ ctrlr ctrll shift control keycode 88 = F48
+ ctrlr ctrll alt keycode 88 = Console_12
+ ctrlr ctrll control alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+keycode 97 = Control
+ctrlr keycode 97 = CtrlL_Lock
+ctrll keycode 97 = CtrlL_Lock
+ctrll ctrlr keycode 97 = CtrlL_Lock
+keycode 98 = KP_Divide
+keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+keycode 100 = Alt
+ctrll keycode 100 = CtrlR_Lock
+ctrlr keycode 100 = CtrlR_Lock
+ctrll ctrlr keycode 100 = CtrlR_Lock
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 = AltGr
+keycode 126 = CtrlR_Lock
+keycode 127 = CtrlL_Lock
diff --git a/keymaps/i386/qwerty/ua-utf.kmap b/keymaps/i386/qwerty/ua-utf.kmap
new file mode 100644
index 0000000..9c1edef
--- /dev/null
+++ b/keymaps/i386/qwerty/ua-utf.kmap
@@ -0,0 +1,1549 @@
+keymaps 0-2,4-6,8-9,12-13,64-66,68-69,72-73,76-77,128-130,132-133,136-137,140-141,192-194,196-197,200-201,204-205
+strings as usual
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+ ctrlr keycode 1 = Escape
+ shift ctrlr keycode 1 = Escape
+ alt ctrlr keycode 1 = Meta_Escape
+ ctrll keycode 1 = Escape
+ shift ctrll keycode 1 = Escape
+ alt ctrll keycode 1 = Meta_Escape
+ ctrll ctrlr keycode 1 = Escape
+ shift ctrll ctrlr keycode 1 = Escape
+ alt ctrll ctrlr keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+ ctrlr keycode 2 = one
+ shift ctrlr keycode 2 = exclam
+ alt ctrlr keycode 2 = Meta_one
+ shift alt ctrlr keycode 2 = Meta_exclam
+ ctrll keycode 2 = one
+ shift ctrll keycode 2 = exclam
+ alt ctrll keycode 2 = Meta_one
+ shift alt ctrll keycode 2 = Meta_exclam
+ ctrll ctrlr keycode 2 = one
+ shift ctrll ctrlr keycode 2 = exclam
+ alt ctrll ctrlr keycode 2 = Meta_one
+ shift alt ctrll ctrlr keycode 2 = Meta_exclam
+keycode 3 = two at at
+ control keycode 3 = nul
+ shift control keycode 3 = nul
+ alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_at
+ ctrlr keycode 3 = two
+ shift ctrlr keycode 3 = quotedbl
+ control ctrlr keycode 3 = nul
+ shift control ctrlr keycode 3 = nul
+ alt ctrlr keycode 3 = Meta_two
+ shift alt ctrlr keycode 3 = Meta_at
+ ctrll keycode 3 = two
+ shift ctrll keycode 3 = quotedbl
+ control ctrll keycode 3 = nul
+ shift control ctrll keycode 3 = nul
+ alt ctrll keycode 3 = Meta_two
+ shift alt ctrll keycode 3 = Meta_at
+ ctrll ctrlr keycode 3 = two
+ shift ctrll ctrlr keycode 3 = quotedbl
+ control ctrll ctrlr keycode 3 = nul
+ shift control ctrll ctrlr keycode 3 = nul
+ alt ctrll ctrlr keycode 3 = Meta_two
+ shift alt ctrll ctrlr keycode 3 = Meta_at
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ shift alt keycode 4 = Meta_numbersign
+ ctrlr keycode 4 = three
+ shift ctrlr keycode 4 = numbersign
+ control ctrlr keycode 4 = Escape
+ shift control ctrlr keycode 4 = Escape
+ alt ctrlr keycode 4 = Meta_three
+ shift alt ctrlr keycode 4 = Meta_numbersign
+ ctrll keycode 4 = three
+ shift ctrll keycode 4 = numbersign
+ control ctrll keycode 4 = Escape
+ shift control ctrll keycode 4 = Escape
+ alt ctrll keycode 4 = Meta_three
+ shift alt ctrll keycode 4 = Meta_numbersign
+ ctrll ctrlr keycode 4 = three
+ shift ctrll ctrlr keycode 4 = numbersign
+ control ctrll ctrlr keycode 4 = Escape
+ shift control ctrll ctrlr keycode 4 = Escape
+ alt ctrll ctrlr keycode 4 = Meta_three
+ shift alt ctrll ctrlr keycode 4 = Meta_numbersign
+keycode 5 = four dollar dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+ ctrlr keycode 5 = four
+ shift ctrlr keycode 5 = semicolon
+ control ctrlr keycode 5 = Control_backslash
+ shift control ctrlr keycode 5 = Control_backslash
+ alt ctrlr keycode 5 = Meta_four
+ shift alt ctrlr keycode 5 = Meta_dollar
+ ctrll keycode 5 = four
+ shift ctrll keycode 5 = semicolon
+ control ctrll keycode 5 = Control_backslash
+ shift control ctrll keycode 5 = Control_backslash
+ alt ctrll keycode 5 = Meta_four
+ shift alt ctrll keycode 5 = Meta_dollar
+ ctrll ctrlr keycode 5 = four
+ shift ctrll ctrlr keycode 5 = semicolon
+ control ctrll ctrlr keycode 5 = Control_backslash
+ shift control ctrll ctrlr keycode 5 = Control_backslash
+ alt ctrll ctrlr keycode 5 = Meta_four
+ shift alt ctrll ctrlr keycode 5 = Meta_dollar
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+ ctrlr keycode 6 = five
+ shift ctrlr keycode 6 = colon
+ control ctrlr keycode 6 = Control_bracketright
+ shift control ctrlr keycode 6 = Control_bracketright
+ alt ctrlr keycode 6 = Meta_five
+ shift alt ctrlr keycode 6 = Meta_percent
+ ctrll keycode 6 = five
+ shift ctrll keycode 6 = colon
+ control ctrll keycode 6 = Control_bracketright
+ shift control ctrll keycode 6 = Control_bracketright
+ alt ctrll keycode 6 = Meta_five
+ shift alt ctrll keycode 6 = Meta_percent
+ ctrll ctrlr keycode 6 = five
+ shift ctrll ctrlr keycode 6 = colon
+ control ctrll ctrlr keycode 6 = Control_bracketright
+ shift control ctrll ctrlr keycode 6 = Control_bracketright
+ alt ctrll ctrlr keycode 6 = Meta_five
+ shift alt ctrll ctrlr keycode 6 = Meta_percent
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_asciicircum
+ ctrlr keycode 7 = six
+ shift ctrlr keycode 7 = comma
+ control ctrlr keycode 7 = Control_asciicircum
+ shift control ctrlr keycode 7 = Control_asciicircum
+ alt ctrlr keycode 7 = Meta_six
+ shift alt ctrlr keycode 7 = Meta_asciicircum
+ ctrll keycode 7 = six
+ shift ctrll keycode 7 = comma
+ control ctrll keycode 7 = Control_asciicircum
+ shift control ctrll keycode 7 = Control_asciicircum
+ alt ctrll keycode 7 = Meta_six
+ shift alt ctrll keycode 7 = Meta_asciicircum
+ ctrll ctrlr keycode 7 = six
+ shift ctrll ctrlr keycode 7 = comma
+ control ctrll ctrlr keycode 7 = Control_asciicircum
+ shift control ctrll ctrlr keycode 7 = Control_asciicircum
+ alt ctrll ctrlr keycode 7 = Meta_six
+ shift alt ctrll ctrlr keycode 7 = Meta_asciicircum
+keycode 8 = seven ampersand braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+ shift alt keycode 8 = Meta_ampersand
+ ctrlr keycode 8 = seven
+ shift ctrlr keycode 8 = period
+ control ctrlr keycode 8 = Control_underscore
+ shift control ctrlr keycode 8 = Control_underscore
+ alt ctrlr keycode 8 = Meta_seven
+ shift alt ctrlr keycode 8 = Meta_ampersand
+ ctrll keycode 8 = seven
+ shift ctrll keycode 8 = period
+ control ctrll keycode 8 = Control_underscore
+ shift control ctrll keycode 8 = Control_underscore
+ alt ctrll keycode 8 = Meta_seven
+ shift alt ctrll keycode 8 = Meta_ampersand
+ ctrll ctrlr keycode 8 = seven
+ shift ctrll ctrlr keycode 8 = period
+ control ctrll ctrlr keycode 8 = Control_underscore
+ shift control ctrll ctrlr keycode 8 = Control_underscore
+ alt ctrll ctrlr keycode 8 = Meta_seven
+ shift alt ctrll ctrlr keycode 8 = Meta_ampersand
+keycode 9 = eight asterisk bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+ shift alt keycode 9 = Meta_asterisk
+ ctrlr keycode 9 = eight
+ shift ctrlr keycode 9 = asterisk
+ control ctrlr keycode 9 = Delete
+ shift control ctrlr keycode 9 = Delete
+ alt ctrlr keycode 9 = Meta_eight
+ shift alt ctrlr keycode 9 = Meta_asterisk
+ ctrll keycode 9 = eight
+ shift ctrll keycode 9 = asterisk
+ control ctrll keycode 9 = Delete
+ shift control ctrll keycode 9 = Delete
+ alt ctrll keycode 9 = Meta_eight
+ shift alt ctrll keycode 9 = Meta_asterisk
+ ctrll ctrlr keycode 9 = eight
+ shift ctrll ctrlr keycode 9 = asterisk
+ control ctrll ctrlr keycode 9 = Delete
+ shift control ctrll ctrlr keycode 9 = Delete
+ alt ctrll ctrlr keycode 9 = Meta_eight
+ shift alt ctrll ctrlr keycode 9 = Meta_asterisk
+keycode 10 = nine parenleft bracketright
+ alt keycode 10 = Meta_nine
+ shift alt keycode 10 = Meta_parenleft
+ ctrlr keycode 10 = nine
+ shift ctrlr keycode 10 = parenleft
+ alt ctrlr keycode 10 = Meta_nine
+ shift alt ctrlr keycode 10 = Meta_parenleft
+ ctrll keycode 10 = nine
+ shift ctrll keycode 10 = parenleft
+ alt ctrll keycode 10 = Meta_nine
+ shift alt ctrll keycode 10 = Meta_parenleft
+ ctrll ctrlr keycode 10 = nine
+ shift ctrll ctrlr keycode 10 = parenleft
+ alt ctrll ctrlr keycode 10 = Meta_nine
+ shift alt ctrll ctrlr keycode 10 = Meta_parenleft
+keycode 11 = zero parenright braceright
+ alt keycode 11 = Meta_zero
+ alt keycode 11 = Meta_parenright
+ ctrlr keycode 11 = zero
+ shift ctrlr keycode 11 = parenright
+ alt ctrlr keycode 11 = Meta_zero
+ shift alt ctrlr keycode 11 = Meta_parenright
+ ctrll keycode 11 = zero
+ shift ctrll keycode 11 = parenright
+ alt ctrll keycode 11 = Meta_zero
+ shift alt ctrll keycode 11 = Meta_parenright
+ ctrll ctrlr keycode 11 = zero
+ shift ctrll ctrlr keycode 11 = parenright
+ alt ctrll ctrlr keycode 11 = Meta_zero
+ shift alt ctrll ctrlr keycode 11 = Meta_parenright
+keycode 12 = minus underscore backslash
+ control keycode 12 = Control_underscore
+ shift control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+ shift alt keycode 12 = Meta_underscore
+ ctrlr keycode 12 = minus
+ shift ctrlr keycode 12 = underscore
+ control ctrlr keycode 12 = Control_underscore
+ shift control ctrlr keycode 12 = Control_underscore
+ alt ctrlr keycode 12 = Meta_minus
+ shift alt ctrlr keycode 12 = Meta_underscore
+ ctrll keycode 12 = minus
+ shift ctrll keycode 12 = underscore
+ control ctrll keycode 12 = Control_underscore
+ shift control ctrll keycode 12 = Control_underscore
+ alt ctrll keycode 12 = Meta_minus
+ shift alt ctrll keycode 12 = Meta_underscore
+ ctrll ctrlr keycode 12 = minus
+ shift ctrll ctrlr keycode 12 = underscore
+ control ctrll ctrlr keycode 12 = Control_underscore
+ shift control ctrll ctrlr keycode 12 = Control_underscore
+ alt ctrll ctrlr keycode 12 = Meta_minus
+ shift alt ctrll ctrlr keycode 12 = Meta_underscore
+keycode 13 = equal plus
+ alt keycode 13 = Meta_equal
+ shift alt keycode 13 = Meta_plus
+ ctrlr keycode 13 = equal
+ shift ctrlr keycode 13 = plus
+ alt ctrlr keycode 13 = Meta_equal
+ shift alt ctrlr keycode 13 = Meta_plus
+ ctrll keycode 13 = equal
+ shift ctrll keycode 13 = plus
+ alt ctrll keycode 13 = Meta_equal
+ shift alt ctrll keycode 13 = Meta_plus
+ ctrll ctrlr keycode 13 = equal
+ shift ctrll ctrlr keycode 13 = plus
+ alt ctrll ctrlr keycode 13 = Meta_equal
+ shift alt ctrll ctrlr keycode 13 = Meta_plus
+keycode 14 = BackSpace Delete
+ control keycode 14 = BackSpace
+ alt keycode 14 = Meta_Delete
+ ctrlr keycode 14 = BackSpace
+ shift ctrlr keycode 14 = BackSpace
+ control ctrlr keycode 14 = BackSpace
+ shift control ctrlr keycode 14 = BackSpace
+ alt ctrlr keycode 14 = Meta_Delete
+ shift alt ctrlr keycode 14 = Meta_Delete
+ ctrll keycode 14 = BackSpace
+ shift ctrll keycode 14 = BackSpace
+ control ctrll keycode 14 = BackSpace
+ shift control ctrll keycode 14 = BackSpace
+ alt ctrll keycode 14 = Meta_Delete
+ shift alt ctrll keycode 14 = Meta_Delete
+ ctrll ctrlr keycode 14 = BackSpace
+ shift ctrll ctrlr keycode 14 = BackSpace
+ control ctrll ctrlr keycode 14 = BackSpace
+ shift control ctrll ctrlr keycode 14 = BackSpace
+ alt ctrll ctrlr keycode 14 = Meta_Delete
+ shift alt ctrll ctrlr keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+ ctrlr keycode 15 = Tab
+ shift ctrlr keycode 15 = Tab
+ alt ctrlr keycode 15 = Meta_Tab
+ shift alt ctrlr keycode 15 = Meta_Tab
+ ctrll keycode 15 = Tab
+ shift ctrll keycode 15 = Tab
+ alt ctrll keycode 15 = Meta_Tab
+ shift alt ctrll keycode 15 = Meta_Tab
+ ctrll ctrlr keycode 15 = Tab
+ shift ctrll ctrlr keycode 15 = Tab
+ alt ctrll ctrlr keycode 15 = Meta_Tab
+ shift alt ctrll ctrlr keycode 15 = Meta_Tab
+keycode 16 = q
+ ctrlr keycode 16 = U+0439
+ shift ctrlr keycode 16 = U+0419
+ control ctrlr keycode 16 = Control_q
+ shift control ctrlr keycode 16 = Control_q
+ alt ctrlr keycode 16 = Meta_q
+ shift alt ctrlr keycode 16 = Meta_Q
+ control alt ctrlr keycode 16 = Meta_Control_q
+ shift control alt ctrlr keycode 16 = Meta_Control_q
+ ctrll keycode 16 = U+0439
+ shift ctrll keycode 16 = U+0419
+ control ctrll keycode 16 = Control_q
+ shift control ctrll keycode 16 = Control_q
+ alt ctrll keycode 16 = Meta_q
+ shift alt ctrll keycode 16 = Meta_Q
+ control alt ctrll keycode 16 = Meta_Control_q
+ shift control alt ctrll keycode 16 = Meta_Control_q
+ ctrll ctrlr keycode 16 = U+0439
+ shift ctrll ctrlr keycode 16 = U+0419
+ control ctrll ctrlr keycode 16 = Control_q
+ shift control ctrll ctrlr keycode 16 = Control_q
+ alt ctrll ctrlr keycode 16 = Meta_q
+ shift alt ctrll ctrlr keycode 16 = Meta_Q
+ control alt ctrll ctrlr keycode 16 = Meta_Control_q
+ shift control alt ctrll ctrlr keycode 16 = Meta_Control_q
+keycode 17 = w
+ ctrlr keycode 17 = U+0446
+ shift ctrlr keycode 17 = U+0426
+ control ctrlr keycode 17 = Control_w
+ shift control ctrlr keycode 17 = Control_w
+ alt ctrlr keycode 17 = Meta_w
+ shift alt ctrlr keycode 17 = Meta_W
+ control alt ctrlr keycode 17 = Meta_Control_w
+ shift control alt ctrlr keycode 17 = Meta_Control_w
+ ctrll keycode 17 = U+0446
+ shift ctrll keycode 17 = U+0426
+ control ctrll keycode 17 = Control_w
+ shift control ctrll keycode 17 = Control_w
+ alt ctrll keycode 17 = Meta_w
+ shift alt ctrll keycode 17 = Meta_W
+ control alt ctrll keycode 17 = Meta_Control_w
+ shift control alt ctrll keycode 17 = Meta_Control_w
+ ctrll ctrlr keycode 17 = U+0446
+ shift ctrll ctrlr keycode 17 = U+0426
+ control ctrll ctrlr keycode 17 = Control_w
+ shift control ctrll ctrlr keycode 17 = Control_w
+ alt ctrll ctrlr keycode 17 = Meta_w
+ shift alt ctrll ctrlr keycode 17 = Meta_W
+ control alt ctrll ctrlr keycode 17 = Meta_Control_w
+ shift control alt ctrll ctrlr keycode 17 = Meta_Control_w
+keycode 18 = e
+ ctrlr keycode 18 = U+0443
+ shift ctrlr keycode 18 = U+0423
+ control ctrlr keycode 18 = Control_e
+ shift control ctrlr keycode 18 = Control_e
+ alt ctrlr keycode 18 = Meta_e
+ shift alt ctrlr keycode 18 = Meta_E
+ control alt ctrlr keycode 18 = Meta_Control_e
+ shift control alt ctrlr keycode 18 = Meta_Control_e
+ ctrll keycode 18 = U+0443
+ shift ctrll keycode 18 = U+0423
+ control ctrll keycode 18 = Control_e
+ shift control ctrll keycode 18 = Control_e
+ alt ctrll keycode 18 = Meta_e
+ shift alt ctrll keycode 18 = Meta_E
+ control alt ctrll keycode 18 = Meta_Control_e
+ shift control alt ctrll keycode 18 = Meta_Control_e
+ ctrll ctrlr keycode 18 = U+0443
+ shift ctrll ctrlr keycode 18 = U+0423
+ control ctrll ctrlr keycode 18 = Control_e
+ shift control ctrll ctrlr keycode 18 = Control_e
+ alt ctrll ctrlr keycode 18 = Meta_e
+ shift alt ctrll ctrlr keycode 18 = Meta_E
+ control alt ctrll ctrlr keycode 18 = Meta_Control_e
+ shift control alt ctrll ctrlr keycode 18 = Meta_Control_e
+keycode 19 = r
+ ctrlr keycode 19 = U+043a
+ shift ctrlr keycode 19 = U+041a
+ control ctrlr keycode 19 = Control_r
+ shift control ctrlr keycode 19 = Control_r
+ alt ctrlr keycode 19 = Meta_r
+ shift alt ctrlr keycode 19 = Meta_R
+ control alt ctrlr keycode 19 = Meta_Control_r
+ shift control alt ctrlr keycode 19 = Meta_Control_r
+ ctrll keycode 19 = U+043a
+ shift ctrll keycode 19 = U+041a
+ control ctrll keycode 19 = Control_r
+ shift control ctrll keycode 19 = Control_r
+ alt ctrll keycode 19 = Meta_r
+ shift alt ctrll keycode 19 = Meta_R
+ control alt ctrll keycode 19 = Meta_Control_r
+ shift control alt ctrll keycode 19 = Meta_Control_r
+ ctrll ctrlr keycode 19 = U+043a
+ shift ctrll ctrlr keycode 19 = U+041a
+ control ctrll ctrlr keycode 19 = Control_r
+ shift control ctrll ctrlr keycode 19 = Control_r
+ alt ctrll ctrlr keycode 19 = Meta_r
+ shift alt ctrll ctrlr keycode 19 = Meta_R
+ control alt ctrll ctrlr keycode 19 = Meta_Control_r
+ shift control alt ctrll ctrlr keycode 19 = Meta_Control_r
+keycode 20 = t
+ ctrlr keycode 20 = U+0435
+ shift ctrlr keycode 20 = U+0415
+ control ctrlr keycode 20 = Control_t
+ shift control ctrlr keycode 20 = Control_t
+ alt ctrlr keycode 20 = Meta_t
+ shift alt ctrlr keycode 20 = Meta_T
+ control alt ctrlr keycode 20 = Meta_Control_t
+ shift control alt ctrlr keycode 20 = Meta_Control_t
+ ctrll keycode 20 = U+0435
+ shift ctrll keycode 20 = U+0415
+ control ctrll keycode 20 = Control_t
+ shift control ctrll keycode 20 = Control_t
+ alt ctrll keycode 20 = Meta_t
+ shift alt ctrll keycode 20 = Meta_T
+ control alt ctrll keycode 20 = Meta_Control_t
+ shift control alt ctrll keycode 20 = Meta_Control_t
+ ctrll ctrlr keycode 20 = U+0435
+ shift ctrll ctrlr keycode 20 = U+0415
+ control ctrll ctrlr keycode 20 = Control_t
+ shift control ctrll ctrlr keycode 20 = Control_t
+ alt ctrll ctrlr keycode 20 = Meta_t
+ shift alt ctrll ctrlr keycode 20 = Meta_T
+ control alt ctrll ctrlr keycode 20 = Meta_Control_t
+ shift control alt ctrll ctrlr keycode 20 = Meta_Control_t
+keycode 21 = y
+ ctrlr keycode 21 = U+043d
+ shift ctrlr keycode 21 = U+041d
+ control ctrlr keycode 21 = Control_y
+ shift control ctrlr keycode 21 = Control_y
+ alt ctrlr keycode 21 = Meta_y
+ shift alt ctrlr keycode 21 = Meta_Y
+ control alt ctrlr keycode 21 = Meta_Control_y
+ shift control alt ctrlr keycode 21 = Meta_Control_y
+ ctrll keycode 21 = U+043d
+ shift ctrll keycode 21 = U+041d
+ control ctrll keycode 21 = Control_y
+ shift control ctrll keycode 21 = Control_y
+ alt ctrll keycode 21 = Meta_y
+ shift alt ctrll keycode 21 = Meta_Y
+ control alt ctrll keycode 21 = Meta_Control_y
+ shift control alt ctrll keycode 21 = Meta_Control_y
+ ctrll ctrlr keycode 21 = U+043d
+ shift ctrll ctrlr keycode 21 = U+041d
+ control ctrll ctrlr keycode 21 = Control_y
+ shift control ctrll ctrlr keycode 21 = Control_y
+ alt ctrll ctrlr keycode 21 = Meta_y
+ shift alt ctrll ctrlr keycode 21 = Meta_Y
+ control alt ctrll ctrlr keycode 21 = Meta_Control_y
+ shift control alt ctrll ctrlr keycode 21 = Meta_Control_y
+keycode 22 = u
+ ctrlr keycode 22 = U+0433
+ shift ctrlr keycode 22 = U+0413
+ control ctrlr keycode 22 = Control_u
+ shift control ctrlr keycode 22 = Control_u
+ alt ctrlr keycode 22 = Meta_u
+ shift alt ctrlr keycode 22 = Meta_U
+ control alt ctrlr keycode 22 = Meta_Control_u
+ shift control alt ctrlr keycode 22 = Meta_Control_u
+ ctrll keycode 22 = U+0433
+ shift ctrll keycode 22 = U+0413
+ control ctrll keycode 22 = Control_u
+ shift control ctrll keycode 22 = Control_u
+ alt ctrll keycode 22 = Meta_u
+ shift alt ctrll keycode 22 = Meta_U
+ control alt ctrll keycode 22 = Meta_Control_u
+ shift control alt ctrll keycode 22 = Meta_Control_u
+ ctrll ctrlr keycode 22 = U+0433
+ shift ctrll ctrlr keycode 22 = U+0413
+ control ctrll ctrlr keycode 22 = Control_u
+ shift control ctrll ctrlr keycode 22 = Control_u
+ alt ctrll ctrlr keycode 22 = Meta_u
+ shift alt ctrll ctrlr keycode 22 = Meta_U
+ control alt ctrll ctrlr keycode 22 = Meta_Control_u
+ shift control alt ctrll ctrlr keycode 22 = Meta_Control_u
+keycode 23 = i
+ ctrlr keycode 23 = U+0448
+ shift ctrlr keycode 23 = U+0428
+ control ctrlr keycode 23 = Control_i
+ shift control ctrlr keycode 23 = Control_i
+ alt ctrlr keycode 23 = Meta_i
+ shift alt ctrlr keycode 23 = Meta_I
+ control alt ctrlr keycode 23 = Meta_Control_i
+ shift control alt ctrlr keycode 23 = Meta_Control_i
+ ctrll keycode 23 = U+0448
+ shift ctrll keycode 23 = U+0428
+ control ctrll keycode 23 = Control_i
+ shift control ctrll keycode 23 = Control_i
+ alt ctrll keycode 23 = Meta_i
+ shift alt ctrll keycode 23 = Meta_I
+ control alt ctrll keycode 23 = Meta_Control_i
+ shift control alt ctrll keycode 23 = Meta_Control_i
+ ctrll ctrlr keycode 23 = U+0448
+ shift ctrll ctrlr keycode 23 = U+0428
+ control ctrll ctrlr keycode 23 = Control_i
+ shift control ctrll ctrlr keycode 23 = Control_i
+ alt ctrll ctrlr keycode 23 = Meta_i
+ shift alt ctrll ctrlr keycode 23 = Meta_I
+ control alt ctrll ctrlr keycode 23 = Meta_Control_i
+ shift control alt ctrll ctrlr keycode 23 = Meta_Control_i
+keycode 24 = o
+ ctrlr keycode 24 = U+0449
+ shift ctrlr keycode 24 = U+0429
+ control ctrlr keycode 24 = Control_o
+ shift control ctrlr keycode 24 = Control_o
+ alt ctrlr keycode 24 = Meta_o
+ shift alt ctrlr keycode 24 = Meta_O
+ control alt ctrlr keycode 24 = Meta_Control_o
+ shift control alt ctrlr keycode 24 = Meta_Control_o
+ ctrll keycode 24 = U+0449
+ shift ctrll keycode 24 = U+0429
+ control ctrll keycode 24 = Control_o
+ shift control ctrll keycode 24 = Control_o
+ alt ctrll keycode 24 = Meta_o
+ shift alt ctrll keycode 24 = Meta_O
+ control alt ctrll keycode 24 = Meta_Control_o
+ shift control alt ctrll keycode 24 = Meta_Control_o
+ ctrll ctrlr keycode 24 = U+0449
+ shift ctrll ctrlr keycode 24 = U+0429
+ control ctrll ctrlr keycode 24 = Control_o
+ shift control ctrll ctrlr keycode 24 = Control_o
+ alt ctrll ctrlr keycode 24 = Meta_o
+ shift alt ctrll ctrlr keycode 24 = Meta_O
+ control alt ctrll ctrlr keycode 24 = Meta_Control_o
+ shift control alt ctrll ctrlr keycode 24 = Meta_Control_o
+keycode 25 = p
+ ctrlr keycode 25 = U+0437
+ shift ctrlr keycode 25 = U+0417
+ control ctrlr keycode 25 = Control_p
+ shift control ctrlr keycode 25 = Control_p
+ alt ctrlr keycode 25 = Meta_p
+ shift alt ctrlr keycode 25 = Meta_P
+ control alt ctrlr keycode 25 = Meta_Control_p
+ shift control alt ctrlr keycode 25 = Meta_Control_p
+ ctrll keycode 25 = U+0437
+ shift ctrll keycode 25 = U+0417
+ control ctrll keycode 25 = Control_p
+ shift control ctrll keycode 25 = Control_p
+ alt ctrll keycode 25 = Meta_p
+ shift alt ctrll keycode 25 = Meta_P
+ control alt ctrll keycode 25 = Meta_Control_p
+ shift control alt ctrll keycode 25 = Meta_Control_p
+ ctrll ctrlr keycode 25 = U+0437
+ shift ctrll ctrlr keycode 25 = U+0417
+ control ctrll ctrlr keycode 25 = Control_p
+ shift control ctrll ctrlr keycode 25 = Control_p
+ alt ctrll ctrlr keycode 25 = Meta_p
+ shift alt ctrll ctrlr keycode 25 = Meta_P
+ control alt ctrll ctrlr keycode 25 = Meta_Control_p
+ shift control alt ctrll ctrlr keycode 25 = Meta_Control_p
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ shift alt keycode 26 = Meta_braceleft
+ ctrlr keycode 26 = U+0445
+ shift ctrlr keycode 26 = U+0425
+ control ctrlr keycode 26 = Escape
+ shift control ctrlr keycode 26 = Escape
+ alt ctrlr keycode 26 = Meta_bracketleft
+ shift alt ctrlr keycode 26 = Meta_braceleft
+ ctrll keycode 26 = U+0445
+ shift ctrll keycode 26 = U+0425
+ control ctrll keycode 26 = Escape
+ shift control ctrll keycode 26 = Escape
+ alt ctrll keycode 26 = Meta_bracketleft
+ shift alt ctrll keycode 26 = Meta_braceleft
+ ctrll ctrlr keycode 26 = U+0445
+ shift ctrll ctrlr keycode 26 = U+0425
+ control ctrll ctrlr keycode 26 = Escape
+ shift control ctrll ctrlr keycode 26 = Escape
+ alt ctrll ctrlr keycode 26 = Meta_bracketleft
+ shift alt ctrll ctrlr keycode 26 = Meta_braceleft
+keycode 27 = bracketright braceright asciitilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ shift alt keycode 27 = Meta_braceright
+ ctrlr keycode 27 = U+044a
+ shift ctrlr keycode 27 = U+042a
+ control ctrlr keycode 27 = Control_bracketright
+ shift control ctrlr keycode 27 = Control_bracketright
+ alt ctrlr keycode 27 = Meta_bracketright
+ shift alt ctrlr keycode 27 = Meta_braceright
+ control alt ctrlr keycode 27 = Meta_Control_bracketright
+ shift control alt ctrlr keycode 27 = Meta_Control_bracketright
+ ctrll keycode 27 = U+0457
+ shift ctrll keycode 27 = U+0407
+ control ctrll keycode 27 = Control_bracketright
+ shift control ctrll keycode 27 = Control_bracketright
+ alt ctrll keycode 27 = Meta_bracketright
+ shift alt ctrll keycode 27 = Meta_braceright
+ control alt ctrll keycode 27 = Meta_Control_bracketright
+ shift control alt ctrll keycode 27 = Meta_Control_bracketright
+ ctrll ctrlr keycode 27 = U+0457
+ shift ctrll ctrlr keycode 27 = U+0407
+ control ctrll ctrlr keycode 27 = Control_bracketright
+ shift control ctrll ctrlr keycode 27 = Control_bracketright
+ alt ctrll ctrlr keycode 27 = Meta_bracketright
+ shift alt ctrll ctrlr keycode 27 = Meta_braceright
+ control alt ctrll ctrlr keycode 27 = Meta_Control_bracketright
+ shift control alt ctrll ctrlr keycode 27 = Meta_Control_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+ ctrlr keycode 30 = U+0444
+ shift ctrlr keycode 30 = U+0424
+ control ctrlr keycode 30 = Control_a
+ shift control ctrlr keycode 30 = Control_a
+ alt ctrlr keycode 30 = Meta_a
+ shift alt ctrlr keycode 30 = Meta_A
+ control alt ctrlr keycode 30 = Meta_Control_a
+ shift control alt ctrlr keycode 30 = Meta_Control_a
+ ctrll keycode 30 = U+0444
+ shift ctrll keycode 30 = U+0424
+ control ctrll keycode 30 = Control_a
+ shift control ctrll keycode 30 = Control_a
+ alt ctrll keycode 30 = Meta_a
+ shift alt ctrll keycode 30 = Meta_A
+ control alt ctrll keycode 30 = Meta_Control_a
+ shift control alt ctrll keycode 30 = Meta_Control_a
+ ctrll ctrlr keycode 30 = U+0444
+ shift ctrll ctrlr keycode 30 = U+0424
+ control ctrll ctrlr keycode 30 = Control_a
+ shift control ctrll ctrlr keycode 30 = Control_a
+ alt ctrll ctrlr keycode 30 = Meta_a
+ shift alt ctrll ctrlr keycode 30 = Meta_A
+ control alt ctrll ctrlr keycode 30 = Meta_Control_a
+ shift control alt ctrll ctrlr keycode 30 = Meta_Control_a
+keycode 31 = s
+ ctrlr keycode 31 = U+044b
+ shift ctrlr keycode 31 = U+042b
+ control ctrlr keycode 31 = Control_s
+ shift control ctrlr keycode 31 = Control_s
+ alt ctrlr keycode 31 = Meta_s
+ shift alt ctrlr keycode 31 = Meta_S
+ control alt ctrlr keycode 31 = Meta_Control_s
+ shift control alt ctrlr keycode 31 = Meta_Control_s
+ ctrll keycode 31 = U+0456
+ shift ctrll keycode 31 = U+0406
+ control ctrll keycode 31 = Control_s
+ shift control ctrll keycode 31 = Control_s
+ alt ctrll keycode 31 = Meta_s
+ shift alt ctrll keycode 31 = Meta_S
+ control alt ctrll keycode 31 = Meta_Control_s
+ shift control alt ctrll keycode 31 = Meta_Control_s
+ ctrll ctrlr keycode 31 = U+0456
+ shift ctrll ctrlr keycode 31 = U+0406
+ control ctrll ctrlr keycode 31 = Control_s
+ shift control ctrll ctrlr keycode 31 = Control_s
+ alt ctrll ctrlr keycode 31 = Meta_s
+ shift alt ctrll ctrlr keycode 31 = Meta_S
+ control alt ctrll ctrlr keycode 31 = Meta_Control_s
+ shift control alt ctrll ctrlr keycode 31 = Meta_Control_s
+keycode 32 = d
+ ctrlr keycode 32 = U+0432
+ shift ctrlr keycode 32 = U+0412
+ control ctrlr keycode 32 = Control_d
+ shift control ctrlr keycode 32 = Control_d
+ alt ctrlr keycode 32 = Meta_d
+ shift alt ctrlr keycode 32 = Meta_D
+ control alt ctrlr keycode 32 = Meta_Control_d
+ shift control alt ctrlr keycode 32 = Meta_Control_d
+ ctrll keycode 32 = U+0432
+ shift ctrll keycode 32 = U+0412
+ control ctrll keycode 32 = Control_d
+ shift control ctrll keycode 32 = Control_d
+ alt ctrll keycode 32 = Meta_d
+ shift alt ctrll keycode 32 = Meta_D
+ control alt ctrll keycode 32 = Meta_Control_d
+ shift control alt ctrll keycode 32 = Meta_Control_d
+ ctrll ctrlr keycode 32 = U+0432
+ shift ctrll ctrlr keycode 32 = U+0412
+ control ctrll ctrlr keycode 32 = Control_d
+ shift control ctrll ctrlr keycode 32 = Control_d
+ alt ctrll ctrlr keycode 32 = Meta_d
+ shift alt ctrll ctrlr keycode 32 = Meta_D
+ control alt ctrll ctrlr keycode 32 = Meta_Control_d
+ shift control alt ctrll ctrlr keycode 32 = Meta_Control_d
+keycode 33 = f
+ ctrlr keycode 33 = U+0430
+ shift ctrlr keycode 33 = U+0410
+ control ctrlr keycode 33 = Control_f
+ shift control ctrlr keycode 33 = Control_f
+ alt ctrlr keycode 33 = Meta_f
+ shift alt ctrlr keycode 33 = Meta_F
+ control alt ctrlr keycode 33 = Meta_Control_f
+ shift control alt ctrlr keycode 33 = Meta_Control_f
+ ctrll keycode 33 = U+0430
+ shift ctrll keycode 33 = U+0410
+ control ctrll keycode 33 = Control_f
+ shift control ctrll keycode 33 = Control_f
+ alt ctrll keycode 33 = Meta_f
+ shift alt ctrll keycode 33 = Meta_F
+ control alt ctrll keycode 33 = Meta_Control_f
+ shift control alt ctrll keycode 33 = Meta_Control_f
+ ctrll ctrlr keycode 33 = U+0430
+ shift ctrll ctrlr keycode 33 = U+0410
+ control ctrll ctrlr keycode 33 = Control_f
+ shift control ctrll ctrlr keycode 33 = Control_f
+ alt ctrll ctrlr keycode 33 = Meta_f
+ shift alt ctrll ctrlr keycode 33 = Meta_F
+ control alt ctrll ctrlr keycode 33 = Meta_Control_f
+ shift control alt ctrll ctrlr keycode 33 = Meta_Control_f
+keycode 34 = g
+ ctrlr keycode 34 = U+043f
+ shift ctrlr keycode 34 = U+041f
+ control ctrlr keycode 34 = Control_g
+ shift control ctrlr keycode 34 = Control_g
+ alt ctrlr keycode 34 = Meta_g
+ shift alt ctrlr keycode 34 = Meta_G
+ control alt ctrlr keycode 34 = Meta_Control_g
+ shift control alt ctrlr keycode 34 = Meta_Control_g
+ ctrll keycode 34 = U+043f
+ shift ctrll keycode 34 = U+041f
+ control ctrll keycode 34 = Control_g
+ shift control ctrll keycode 34 = Control_g
+ alt ctrll keycode 34 = Meta_g
+ shift alt ctrll keycode 34 = Meta_G
+ control alt ctrll keycode 34 = Meta_Control_g
+ shift control alt ctrll keycode 34 = Meta_Control_g
+ ctrll ctrlr keycode 34 = U+043f
+ shift ctrll ctrlr keycode 34 = U+041f
+ control ctrll ctrlr keycode 34 = Control_g
+ shift control ctrll ctrlr keycode 34 = Control_g
+ alt ctrll ctrlr keycode 34 = Meta_g
+ shift alt ctrll ctrlr keycode 34 = Meta_G
+ control alt ctrll ctrlr keycode 34 = Meta_Control_g
+ shift control alt ctrll ctrlr keycode 34 = Meta_Control_g
+keycode 35 = h
+ ctrlr keycode 35 = U+0440
+ shift ctrlr keycode 35 = U+0420
+ control ctrlr keycode 35 = Control_h
+ shift control ctrlr keycode 35 = Control_h
+ alt ctrlr keycode 35 = Meta_h
+ shift alt ctrlr keycode 35 = Meta_H
+ control alt ctrlr keycode 35 = Meta_Control_h
+ shift control alt ctrlr keycode 35 = Meta_Control_h
+ ctrll keycode 35 = U+0440
+ shift ctrll keycode 35 = U+0420
+ control ctrll keycode 35 = Control_h
+ shift control ctrll keycode 35 = Control_h
+ alt ctrll keycode 35 = Meta_h
+ shift alt ctrll keycode 35 = Meta_H
+ control alt ctrll keycode 35 = Meta_Control_h
+ shift control alt ctrll keycode 35 = Meta_Control_h
+ ctrll ctrlr keycode 35 = U+0440
+ shift ctrll ctrlr keycode 35 = U+0420
+ control ctrll ctrlr keycode 35 = Control_h
+ shift control ctrll ctrlr keycode 35 = Control_h
+ alt ctrll ctrlr keycode 35 = Meta_h
+ shift alt ctrll ctrlr keycode 35 = Meta_H
+ control alt ctrll ctrlr keycode 35 = Meta_Control_h
+ shift control alt ctrll ctrlr keycode 35 = Meta_Control_h
+keycode 36 = j
+ ctrlr keycode 36 = U+043e
+ shift ctrlr keycode 36 = U+041e
+ control ctrlr keycode 36 = Control_j
+ shift control ctrlr keycode 36 = Control_j
+ alt ctrlr keycode 36 = Meta_j
+ shift alt ctrlr keycode 36 = Meta_J
+ control alt ctrlr keycode 36 = Meta_Control_j
+ shift control alt ctrlr keycode 36 = Meta_Control_j
+ ctrll keycode 36 = U+043e
+ shift ctrll keycode 36 = U+041e
+ control ctrll keycode 36 = Control_j
+ shift control ctrll keycode 36 = Control_j
+ alt ctrll keycode 36 = Meta_j
+ shift alt ctrll keycode 36 = Meta_J
+ control alt ctrll keycode 36 = Meta_Control_j
+ shift control alt ctrll keycode 36 = Meta_Control_j
+ ctrll ctrlr keycode 36 = U+043e
+ shift ctrll ctrlr keycode 36 = U+041e
+ control ctrll ctrlr keycode 36 = Control_j
+ shift control ctrll ctrlr keycode 36 = Control_j
+ alt ctrll ctrlr keycode 36 = Meta_j
+ shift alt ctrll ctrlr keycode 36 = Meta_J
+ control alt ctrll ctrlr keycode 36 = Meta_Control_j
+ shift control alt ctrll ctrlr keycode 36 = Meta_Control_j
+keycode 37 = k
+ ctrlr keycode 37 = U+043b
+ shift ctrlr keycode 37 = U+041b
+ control ctrlr keycode 37 = Control_k
+ shift control ctrlr keycode 37 = Control_k
+ alt ctrlr keycode 37 = Meta_k
+ shift alt ctrlr keycode 37 = Meta_K
+ control alt ctrlr keycode 37 = Meta_Control_k
+ shift control alt ctrlr keycode 37 = Meta_Control_k
+ ctrll keycode 37 = U+043b
+ shift ctrll keycode 37 = U+041b
+ control ctrll keycode 37 = Control_k
+ shift control ctrll keycode 37 = Control_k
+ alt ctrll keycode 37 = Meta_k
+ shift alt ctrll keycode 37 = Meta_K
+ control alt ctrll keycode 37 = Meta_Control_k
+ shift control alt ctrll keycode 37 = Meta_Control_k
+ ctrll ctrlr keycode 37 = U+043b
+ shift ctrll ctrlr keycode 37 = U+041b
+ control ctrll ctrlr keycode 37 = Control_k
+ shift control ctrll ctrlr keycode 37 = Control_k
+ alt ctrll ctrlr keycode 37 = Meta_k
+ shift alt ctrll ctrlr keycode 37 = Meta_K
+ control alt ctrll ctrlr keycode 37 = Meta_Control_k
+ shift control alt ctrll ctrlr keycode 37 = Meta_Control_k
+keycode 38 = l
+ ctrlr keycode 38 = U+0434
+ shift ctrlr keycode 38 = U+0414
+ control ctrlr keycode 38 = Control_l
+ shift control ctrlr keycode 38 = Control_l
+ alt ctrlr keycode 38 = Meta_l
+ shift alt ctrlr keycode 38 = Meta_L
+ control alt ctrlr keycode 38 = Meta_Control_l
+ shift control alt ctrlr keycode 38 = Meta_Control_l
+ ctrll keycode 38 = U+0434
+ shift ctrll keycode 38 = U+0414
+ control ctrll keycode 38 = Control_l
+ shift control ctrll keycode 38 = Control_l
+ alt ctrll keycode 38 = Meta_l
+ shift alt ctrll keycode 38 = Meta_L
+ control alt ctrll keycode 38 = Meta_Control_l
+ shift control alt ctrll keycode 38 = Meta_Control_l
+ ctrll ctrlr keycode 38 = U+0434
+ shift ctrll ctrlr keycode 38 = U+0414
+ control ctrll ctrlr keycode 38 = Control_l
+ shift control ctrll ctrlr keycode 38 = Control_l
+ alt ctrll ctrlr keycode 38 = Meta_l
+ shift alt ctrll ctrlr keycode 38 = Meta_L
+ control alt ctrll ctrlr keycode 38 = Meta_Control_l
+ shift control alt ctrll ctrlr keycode 38 = Meta_Control_l
+keycode 39 = semicolon colon
+ alt keycode 39 = Meta_semicolon
+ shift alt keycode 39 = Meta_colon
+ ctrlr keycode 39 = U+0436
+ shift ctrlr keycode 39 = U+0416
+ alt ctrlr keycode 39 = Meta_semicolon
+ shift alt ctrlr keycode 39 = Meta_colon
+ ctrll keycode 39 = U+0436
+ shift ctrll keycode 39 = U+0416
+ alt ctrll keycode 39 = Meta_semicolon
+ shift alt ctrll keycode 39 = Meta_colon
+ ctrll ctrlr keycode 39 = U+0436
+ shift ctrll ctrlr keycode 39 = U+0416
+ alt ctrll ctrlr keycode 39 = Meta_semicolon
+ shift alt ctrll ctrlr keycode 39 = Meta_colon
+keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+ shift alt keycode 40 = Meta_quotedbl
+ ctrlr keycode 40 = U+044d
+ shift ctrlr keycode 40 = U+042d
+ control ctrlr keycode 40 = Control_g
+ shift control ctrlr keycode 40 = Control_g
+ alt ctrlr keycode 40 = Meta_apostrophe
+ shift alt ctrlr keycode 40 = Meta_quotedbl
+ ctrll keycode 40 = U+0454
+ shift ctrll keycode 40 = U+0404
+ control ctrll keycode 40 = Control_g
+ shift control ctrll keycode 40 = Control_g
+ alt ctrll keycode 40 = Meta_apostrophe
+ shift alt ctrll keycode 40 = Meta_quotedbl
+ ctrll ctrlr keycode 40 = U+0454
+ shift ctrll ctrlr keycode 40 = U+0404
+ control ctrll ctrlr keycode 40 = Control_g
+ shift control ctrll ctrlr keycode 40 = Control_g
+ alt ctrll ctrlr keycode 40 = Meta_apostrophe
+ shift alt ctrll ctrlr keycode 40 = Meta_quotedbl
+keycode 41 = grave asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+ shift alt keycode 41 = Meta_asciitilde
+ ctrlr keycode 41 = apostrophe
+ shift ctrlr keycode 41 = question
+ control ctrlr keycode 41 = nul
+ shift control ctrlr keycode 41 = nul
+ alt ctrlr keycode 41 = Meta_grave
+ shift alt ctrlr keycode 41 = Meta_asciitilde
+ ctrll keycode 41 = apostrophe
+ shift ctrll keycode 41 = question
+ control ctrll keycode 41 = nul
+ shift control ctrll keycode 41 = nul
+ alt ctrll keycode 41 = Meta_grave
+ shift alt ctrll keycode 41 = Meta_asciitilde
+ ctrll ctrlr keycode 41 = apostrophe
+ shift ctrll ctrlr keycode 41 = question
+ control ctrll ctrlr keycode 41 = nul
+ shift control ctrll ctrlr keycode 41 = nul
+ alt ctrll ctrlr keycode 41 = Meta_grave
+ shift alt ctrll ctrlr keycode 41 = Meta_asciitilde
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ shift alt keycode 43 = Meta_bar
+ control alt keycode 43 = Meta_Control_backslash
+ shift control alt keycode 43 = Meta_Control_backslash
+ ctrlr keycode 43 = backslash
+ shift ctrlr keycode 43 = bar
+ control ctrlr keycode 43 = Control_backslash
+ shift control ctrlr keycode 43 = Control_backslash
+ alt ctrlr keycode 43 = Meta_backslash
+ shift alt ctrlr keycode 43 = Meta_bar
+ control alt ctrlr keycode 43 = Meta_Control_backslash
+ shift control alt ctrlr keycode 43 = Meta_Control_backslash
+ ctrll keycode 43 = backslash
+ shift ctrll keycode 43 = bar
+ control ctrll keycode 43 = Control_backslash
+ shift control ctrll keycode 43 = Control_backslash
+ alt ctrll keycode 43 = Meta_backslash
+ shift alt ctrll keycode 43 = Meta_bar
+ control alt ctrll keycode 43 = Meta_Control_backslash
+ shift control alt ctrll keycode 43 = Meta_Control_backslash
+ ctrll ctrlr keycode 43 = backslash
+ shift ctrll ctrlr keycode 43 = bar
+ control ctrll ctrlr keycode 43 = Control_backslash
+ shift control ctrll ctrlr keycode 43 = Control_backslash
+ alt ctrll ctrlr keycode 43 = Meta_backslash
+ shift alt ctrll ctrlr keycode 43 = Meta_bar
+ control alt ctrll ctrlr keycode 43 = Meta_Control_backslash
+ shift control alt ctrll ctrlr keycode 43 = Meta_Control_backslash
+keycode 44 = z
+ ctrlr keycode 44 = U+044f
+ shift ctrlr keycode 44 = U+042f
+ control ctrlr keycode 44 = Control_z
+ shift control ctrlr keycode 44 = Control_z
+ alt ctrlr keycode 44 = Meta_z
+ shift alt ctrlr keycode 44 = Meta_Z
+ control alt ctrlr keycode 44 = Meta_Control_z
+ shift control alt ctrlr keycode 44 = Meta_Control_z
+ ctrll keycode 44 = U+044f
+ shift ctrll keycode 44 = U+042f
+ control ctrll keycode 44 = Control_z
+ shift control ctrll keycode 44 = Control_z
+ alt ctrll keycode 44 = Meta_z
+ shift alt ctrll keycode 44 = Meta_Z
+ control alt ctrll keycode 44 = Meta_Control_z
+ shift control alt ctrll keycode 44 = Meta_Control_z
+ ctrll ctrlr keycode 44 = U+044f
+ shift ctrll ctrlr keycode 44 = U+042f
+ control ctrll ctrlr keycode 44 = Control_z
+ shift control ctrll ctrlr keycode 44 = Control_z
+ alt ctrll ctrlr keycode 44 = Meta_z
+ shift alt ctrll ctrlr keycode 44 = Meta_Z
+ control alt ctrll ctrlr keycode 44 = Meta_Control_z
+ shift control alt ctrll ctrlr keycode 44 = Meta_Control_z
+keycode 45 = x
+ ctrlr keycode 45 = U+0447
+ shift ctrlr keycode 45 = U+0427
+ control ctrlr keycode 45 = Control_x
+ shift control ctrlr keycode 45 = Control_x
+ alt ctrlr keycode 45 = Meta_x
+ shift alt ctrlr keycode 45 = Meta_X
+ control alt ctrlr keycode 45 = Meta_Control_x
+ shift control alt ctrlr keycode 45 = Meta_Control_x
+ ctrll keycode 45 = U+0447
+ shift ctrll keycode 45 = U+0427
+ control ctrll keycode 45 = Control_x
+ shift control ctrll keycode 45 = Control_x
+ alt ctrll keycode 45 = Meta_x
+ shift alt ctrll keycode 45 = Meta_X
+ control alt ctrll keycode 45 = Meta_Control_x
+ shift control alt ctrll keycode 45 = Meta_Control_x
+ ctrll ctrlr keycode 45 = U+0447
+ shift ctrll ctrlr keycode 45 = U+0427
+ control ctrll ctrlr keycode 45 = Control_x
+ shift control ctrll ctrlr keycode 45 = Control_x
+ alt ctrll ctrlr keycode 45 = Meta_x
+ shift alt ctrll ctrlr keycode 45 = Meta_X
+ control alt ctrll ctrlr keycode 45 = Meta_Control_x
+ shift control alt ctrll ctrlr keycode 45 = Meta_Control_x
+keycode 46 = c
+ ctrlr keycode 46 = U+0441
+ shift ctrlr keycode 46 = U+0421
+ control ctrlr keycode 46 = Control_c
+ shift control ctrlr keycode 46 = Control_c
+ alt ctrlr keycode 46 = Meta_c
+ shift alt ctrlr keycode 46 = Meta_C
+ control alt ctrlr keycode 46 = Meta_Control_c
+ shift control alt ctrlr keycode 46 = Meta_Control_c
+ ctrll keycode 46 = U+0441
+ shift ctrll keycode 46 = U+0421
+ control ctrll keycode 46 = Control_c
+ shift control ctrll keycode 46 = Control_c
+ alt ctrll keycode 46 = Meta_c
+ shift alt ctrll keycode 46 = Meta_C
+ control alt ctrll keycode 46 = Meta_Control_c
+ shift control alt ctrll keycode 46 = Meta_Control_c
+ ctrll ctrlr keycode 46 = U+0441
+ shift ctrll ctrlr keycode 46 = U+0421
+ control ctrll ctrlr keycode 46 = Control_c
+ shift control ctrll ctrlr keycode 46 = Control_c
+ alt ctrll ctrlr keycode 46 = Meta_c
+ shift alt ctrll ctrlr keycode 46 = Meta_C
+ control alt ctrll ctrlr keycode 46 = Meta_Control_c
+ shift control alt ctrll ctrlr keycode 46 = Meta_Control_c
+keycode 47 = v
+ ctrlr keycode 47 = U+043c
+ shift ctrlr keycode 47 = U+041c
+ control ctrlr keycode 47 = Control_v
+ shift control ctrlr keycode 47 = Control_v
+ alt ctrlr keycode 47 = Meta_v
+ shift alt ctrlr keycode 47 = Meta_V
+ control alt ctrlr keycode 47 = Meta_Control_v
+ shift control alt ctrlr keycode 47 = Meta_Control_v
+ ctrll keycode 47 = U+043c
+ shift ctrll keycode 47 = U+041c
+ control ctrll keycode 47 = Control_v
+ shift control ctrll keycode 47 = Control_v
+ alt ctrll keycode 47 = Meta_v
+ shift alt ctrll keycode 47 = Meta_V
+ control alt ctrll keycode 47 = Meta_Control_v
+ shift control alt ctrll keycode 47 = Meta_Control_v
+ ctrll ctrlr keycode 47 = U+043c
+ shift ctrll ctrlr keycode 47 = U+041c
+ control ctrll ctrlr keycode 47 = Control_v
+ shift control ctrll ctrlr keycode 47 = Control_v
+ alt ctrll ctrlr keycode 47 = Meta_v
+ shift alt ctrll ctrlr keycode 47 = Meta_V
+ control alt ctrll ctrlr keycode 47 = Meta_Control_v
+ shift control alt ctrll ctrlr keycode 47 = Meta_Control_v
+keycode 48 = b
+ ctrlr keycode 48 = U+0438
+ shift ctrlr keycode 48 = U+0418
+ control ctrlr keycode 48 = Control_b
+ shift control ctrlr keycode 48 = Control_b
+ alt ctrlr keycode 48 = Meta_b
+ shift alt ctrlr keycode 48 = Meta_B
+ control alt ctrlr keycode 48 = Meta_Control_b
+ shift control alt ctrlr keycode 48 = Meta_Control_b
+ ctrll keycode 48 = U+0438
+ shift ctrll keycode 48 = U+0418
+ control ctrll keycode 48 = Control_b
+ shift control ctrll keycode 48 = Control_b
+ alt ctrll keycode 48 = Meta_b
+ shift alt ctrll keycode 48 = Meta_B
+ control alt ctrll keycode 48 = Meta_Control_b
+ shift control alt ctrll keycode 48 = Meta_Control_b
+ ctrll ctrlr keycode 48 = U+0438
+ shift ctrll ctrlr keycode 48 = U+0418
+ control ctrll ctrlr keycode 48 = Control_b
+ shift control ctrll ctrlr keycode 48 = Control_b
+ alt ctrll ctrlr keycode 48 = Meta_b
+ shift alt ctrll ctrlr keycode 48 = Meta_B
+ control alt ctrll ctrlr keycode 48 = Meta_Control_b
+ shift control alt ctrll ctrlr keycode 48 = Meta_Control_b
+keycode 49 = n
+ ctrlr keycode 49 = U+0442
+ shift ctrlr keycode 49 = U+0422
+ control ctrlr keycode 49 = Control_n
+ shift control ctrlr keycode 49 = Control_n
+ alt ctrlr keycode 49 = Meta_n
+ shift alt ctrlr keycode 49 = Meta_N
+ control alt ctrlr keycode 49 = Meta_Control_n
+ shift control alt ctrlr keycode 49 = Meta_Control_n
+ ctrll keycode 49 = U+0442
+ shift ctrll keycode 49 = U+0422
+ control ctrll keycode 49 = Control_n
+ shift control ctrll keycode 49 = Control_n
+ alt ctrll keycode 49 = Meta_n
+ shift alt ctrll keycode 49 = Meta_N
+ control alt ctrll keycode 49 = Meta_Control_n
+ shift control alt ctrll keycode 49 = Meta_Control_n
+ ctrll ctrlr keycode 49 = U+0442
+ shift ctrll ctrlr keycode 49 = U+0422
+ control ctrll ctrlr keycode 49 = Control_n
+ shift control ctrll ctrlr keycode 49 = Control_n
+ alt ctrll ctrlr keycode 49 = Meta_n
+ shift alt ctrll ctrlr keycode 49 = Meta_N
+ control alt ctrll ctrlr keycode 49 = Meta_Control_n
+ shift control alt ctrll ctrlr keycode 49 = Meta_Control_n
+keycode 50 = m
+ ctrlr keycode 50 = U+044c
+ shift ctrlr keycode 50 = U+042c
+ control ctrlr keycode 50 = Control_m
+ shift control ctrlr keycode 50 = Control_m
+ alt ctrlr keycode 50 = Meta_m
+ shift alt ctrlr keycode 50 = Meta_M
+ control alt ctrlr keycode 50 = Meta_Control_m
+ shift control alt ctrlr keycode 50 = Meta_Control_m
+ ctrll keycode 50 = U+044c
+ shift ctrll keycode 50 = U+042c
+ control ctrll keycode 50 = Control_m
+ shift control ctrll keycode 50 = Control_m
+ alt ctrll keycode 50 = Meta_m
+ shift alt ctrll keycode 50 = Meta_M
+ control alt ctrll keycode 50 = Meta_Control_m
+ shift control alt ctrll keycode 50 = Meta_Control_m
+ ctrll ctrlr keycode 50 = U+044c
+ shift ctrll ctrlr keycode 50 = U+042c
+ control ctrll ctrlr keycode 50 = Control_m
+ shift control ctrll ctrlr keycode 50 = Control_m
+ alt ctrll ctrlr keycode 50 = Meta_m
+ shift alt ctrll ctrlr keycode 50 = Meta_M
+ control alt ctrll ctrlr keycode 50 = Meta_Control_m
+ shift control alt ctrll ctrlr keycode 50 = Meta_Control_m
+keycode 51 = comma less
+ alt keycode 51 = Meta_comma
+ shift alt keycode 51 = Meta_less
+ ctrlr keycode 51 = U+0431
+ shift ctrlr keycode 51 = U+0411
+ alt ctrlr keycode 51 = Meta_comma
+ shift alt ctrlr keycode 51 = Meta_less
+ ctrll keycode 51 = U+0431
+ shift ctrll keycode 51 = U+0411
+ alt ctrll keycode 51 = Meta_comma
+ shift alt ctrll keycode 51 = Meta_less
+ ctrll ctrlr keycode 51 = U+0431
+ shift ctrll ctrlr keycode 51 = U+0411
+ alt ctrll ctrlr keycode 51 = Meta_comma
+ shift alt ctrll ctrlr keycode 51 = Meta_less
+keycode 52 = period greater
+ control keycode 52 = Compose
+ alt keycode 52 = Meta_period
+ shift alt keycode 52 = Meta_greater
+ ctrlr keycode 52 = U+044e
+ shift ctrlr keycode 52 = U+042e
+ alt ctrlr keycode 52 = Meta_period
+ shift alt ctrlr keycode 52 = Meta_greater
+ ctrll keycode 52 = U+044e
+ shift ctrll keycode 52 = U+042e
+ alt ctrll keycode 52 = Meta_period
+ shift alt ctrll keycode 52 = Meta_greater
+ ctrll ctrlr keycode 52 = U+044e
+ shift ctrll ctrlr keycode 52 = U+042e
+ alt ctrll ctrlr keycode 52 = Meta_period
+ shift alt ctrll ctrlr keycode 52 = Meta_greater
+keycode 53 = slash question
+ control keycode 53 = Delete
+ shift control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+ ctrlr keycode 53 = U+0451
+ shift ctrlr keycode 53 = U+0401
+ alt ctrlr keycode 53 = Meta_slash
+ shift alt ctrlr keycode 53 = Meta_question
+ ctrll keycode 53 = U+0491
+ shift ctrll keycode 53 = U+0490
+ alt ctrll keycode 53 = Meta_slash
+ shift alt ctrll keycode 53 = Meta_question
+ ctrll ctrlr keycode 53 = U+0491
+ shift ctrll ctrlr keycode 53 = U+0490
+ alt ctrll ctrlr keycode 53 = Meta_slash
+ shift alt ctrll ctrlr keycode 53 = Meta_question
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ ctrlr keycode 57 = space
+ shift ctrlr keycode 57 = space
+ control ctrlr keycode 57 = nul
+ shift control ctrlr keycode 57 = nul
+ alt ctrlr keycode 57 = Meta_space
+ shift alt ctrlr keycode 57 = Meta_space
+ ctrll keycode 57 = space
+ shift ctrll keycode 57 = space
+ control ctrll keycode 57 = nul
+ shift control ctrll keycode 57 = nul
+ alt ctrll keycode 57 = Meta_space
+ shift alt ctrll keycode 57 = Meta_space
+ ctrll ctrlr keycode 57 = space
+ shift ctrll ctrlr keycode 57 = space
+ control ctrll ctrlr keycode 57 = nul
+ shift control ctrll ctrlr keycode 57 = nul
+ alt ctrll ctrlr keycode 57 = Meta_space
+ shift alt ctrll ctrlr keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 Console_13
+ control keycode 59 = F25
+ shift control keycode 59 = F37
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+ ctrlr keycode 59 = F1
+ ctrlr shift keycode 59 = F13
+ ctrlr altgr keycode 59 = Console_13
+ ctrlr control keycode 59 = F25
+ ctrlr shift control keycode 59 = F37
+ ctrlr alt keycode 59 = Console_1
+ ctrlr control alt keycode 59 = Console_1
+ ctrll keycode 59 = F1
+ ctrll shift keycode 59 = F13
+ ctrll altgr keycode 59 = Console_13
+ ctrll control keycode 59 = F25
+ ctrll shift control keycode 59 = F37
+ ctrll alt keycode 59 = Console_1
+ ctrll control alt keycode 59 = Console_1
+ ctrlr ctrll keycode 59 = F1
+ ctrlr ctrll shift keycode 59 = F13
+ ctrlr ctrll altgr keycode 59 = Console_13
+ ctrlr ctrll control keycode 59 = F25
+ ctrlr ctrll shift control keycode 59 = F37
+ ctrlr ctrll alt keycode 59 = Console_1
+ ctrlr ctrll control alt keycode 59 = Console_1
+keycode 60 = F2 F14 Console_14
+ control keycode 60 = F26
+ shift control keycode 60 = F38
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+ ctrlr keycode 60 = F2
+ ctrlr shift keycode 60 = F14
+ ctrlr altgr keycode 60 = Console_14
+ ctrlr control keycode 60 = F26
+ ctrlr shift control keycode 60 = F38
+ ctrlr alt keycode 60 = Console_2
+ ctrlr control alt keycode 60 = Console_2
+ ctrll keycode 60 = F2
+ ctrll shift keycode 60 = F14
+ ctrll altgr keycode 60 = Console_14
+ ctrll control keycode 60 = F26
+ ctrll shift control keycode 60 = F38
+ ctrll alt keycode 60 = Console_2
+ ctrll control alt keycode 60 = Console_2
+ ctrlr ctrll keycode 60 = F2
+ ctrlr ctrll shift keycode 60 = F14
+ ctrlr ctrll altgr keycode 60 = Console_14
+ ctrlr ctrll control keycode 60 = F26
+ ctrlr ctrll shift control keycode 60 = F38
+ ctrlr ctrll alt keycode 60 = Console_2
+ ctrlr ctrll control alt keycode 60 = Console_2
+keycode 61 = F3 F15 Console_15
+ control keycode 61 = F27
+ shift control keycode 61 = F39
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+ ctrlr keycode 61 = F3
+ ctrlr shift keycode 61 = F15
+ ctrlr altgr keycode 61 = Console_15
+ ctrlr control keycode 61 = F27
+ ctrlr shift control keycode 61 = F39
+ ctrlr alt keycode 61 = Console_3
+ ctrlr control alt keycode 61 = Console_3
+ ctrll keycode 61 = F3
+ ctrll shift keycode 61 = F15
+ ctrll altgr keycode 61 = Console_15
+ ctrll control keycode 61 = F27
+ ctrll shift control keycode 61 = F39
+ ctrll alt keycode 61 = Console_3
+ ctrll control alt keycode 61 = Console_3
+ ctrlr ctrll keycode 61 = F3
+ ctrlr ctrll shift keycode 61 = F15
+ ctrlr ctrll altgr keycode 61 = Console_15
+ ctrlr ctrll control keycode 61 = F27
+ ctrlr ctrll shift control keycode 61 = F39
+ ctrlr ctrll alt keycode 61 = Console_3
+ ctrlr ctrll control alt keycode 61 = Console_3
+keycode 62 = F4 F16 Console_16
+ control keycode 62 = F28
+ shift control keycode 62 = F40
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+ ctrlr keycode 62 = F4
+ ctrlr shift keycode 62 = F16
+ ctrlr altgr keycode 62 = Console_16
+ ctrlr control keycode 62 = F28
+ ctrlr shift control keycode 62 = F40
+ ctrlr alt keycode 62 = Console_4
+ ctrlr control alt keycode 62 = Console_4
+ ctrll keycode 62 = F4
+ ctrll shift keycode 62 = F16
+ ctrll altgr keycode 62 = Console_16
+ ctrll control keycode 62 = F28
+ ctrll shift control keycode 62 = F40
+ ctrll alt keycode 62 = Console_4
+ ctrll control alt keycode 62 = Console_4
+ ctrlr ctrll keycode 62 = F4
+ ctrlr ctrll shift keycode 62 = F16
+ ctrlr ctrll altgr keycode 62 = Console_16
+ ctrlr ctrll control keycode 62 = F28
+ ctrlr ctrll shift control keycode 62 = F40
+ ctrlr ctrll alt keycode 62 = Console_4
+ ctrlr ctrll control alt keycode 62 = Console_4
+keycode 63 = F5 F17 Console_17
+ control keycode 63 = F29
+ shift control keycode 63 = F41
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+ ctrlr keycode 63 = F5
+ ctrlr shift keycode 63 = F17
+ ctrlr altgr keycode 63 = Console_17
+ ctrlr control keycode 63 = F29
+ ctrlr shift control keycode 63 = F41
+ ctrlr alt keycode 63 = Console_5
+ ctrlr control alt keycode 63 = Console_5
+ ctrll keycode 63 = F5
+ ctrll shift keycode 63 = F17
+ ctrll altgr keycode 63 = Console_17
+ ctrll control keycode 63 = F29
+ ctrll shift control keycode 63 = F41
+ ctrll alt keycode 63 = Console_5
+ ctrll control alt keycode 63 = Console_5
+ ctrlr ctrll keycode 63 = F5
+ ctrlr ctrll shift keycode 63 = F17
+ ctrlr ctrll altgr keycode 63 = Console_17
+ ctrlr ctrll control keycode 63 = F29
+ ctrlr ctrll shift control keycode 63 = F41
+ ctrlr ctrll alt keycode 63 = Console_5
+ ctrlr ctrll control alt keycode 63 = Console_5
+keycode 64 = F6 F18 Console_18
+ control keycode 64 = F30
+ shift control keycode 64 = F42
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+ ctrlr keycode 64 = F6
+ ctrlr shift keycode 64 = F18
+ ctrlr altgr keycode 64 = Console_18
+ ctrlr control keycode 64 = F30
+ ctrlr shift control keycode 64 = F42
+ ctrlr alt keycode 64 = Console_6
+ ctrlr control alt keycode 64 = Console_6
+ ctrll keycode 64 = F6
+ ctrll shift keycode 64 = F18
+ ctrll altgr keycode 64 = Console_18
+ ctrll control keycode 64 = F30
+ ctrll shift control keycode 64 = F42
+ ctrll alt keycode 64 = Console_6
+ ctrll control alt keycode 64 = Console_6
+ ctrlr ctrll keycode 64 = F6
+ ctrlr ctrll shift keycode 64 = F18
+ ctrlr ctrll altgr keycode 64 = Console_18
+ ctrlr ctrll control keycode 64 = F30
+ ctrlr ctrll shift control keycode 64 = F42
+ ctrlr ctrll alt keycode 64 = Console_6
+ ctrlr ctrll control alt keycode 64 = Console_6
+keycode 65 = F7 F19 Console_19
+ control keycode 65 = F31
+ shift control keycode 65 = F43
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+ ctrlr keycode 65 = F7
+ ctrlr shift keycode 65 = F19
+ ctrlr altgr keycode 65 = Console_19
+ ctrlr control keycode 65 = F31
+ ctrlr shift control keycode 65 = F43
+ ctrlr alt keycode 65 = Console_7
+ ctrlr control alt keycode 65 = Console_7
+ ctrll keycode 65 = F7
+ ctrll shift keycode 65 = F19
+ ctrll altgr keycode 65 = Console_19
+ ctrll control keycode 65 = F31
+ ctrll shift control keycode 65 = F43
+ ctrll alt keycode 65 = Console_7
+ ctrll control alt keycode 65 = Console_7
+ ctrlr ctrll keycode 65 = F7
+ ctrlr ctrll shift keycode 65 = F19
+ ctrlr ctrll altgr keycode 65 = Console_19
+ ctrlr ctrll control keycode 65 = F31
+ ctrlr ctrll shift control keycode 65 = F43
+ ctrlr ctrll alt keycode 65 = Console_7
+ ctrlr ctrll control alt keycode 65 = Console_7
+keycode 66 = F8 F20 Console_20
+ control keycode 66 = F32
+ shift control keycode 66 = F44
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+ ctrlr keycode 66 = F8
+ ctrlr shift keycode 66 = F20
+ ctrlr altgr keycode 66 = Console_20
+ ctrlr control keycode 66 = F32
+ ctrlr shift control keycode 66 = F44
+ ctrlr alt keycode 66 = Console_8
+ ctrlr control alt keycode 66 = Console_8
+ ctrll keycode 66 = F8
+ ctrll shift keycode 66 = F20
+ ctrll altgr keycode 66 = Console_20
+ ctrll control keycode 66 = F32
+ ctrll shift control keycode 66 = F44
+ ctrll alt keycode 66 = Console_8
+ ctrll control alt keycode 66 = Console_8
+ ctrlr ctrll keycode 66 = F8
+ ctrlr ctrll shift keycode 66 = F20
+ ctrlr ctrll altgr keycode 66 = Console_20
+ ctrlr ctrll control keycode 66 = F32
+ ctrlr ctrll shift control keycode 66 = F44
+ ctrlr ctrll alt keycode 66 = Console_8
+ ctrlr ctrll control alt keycode 66 = Console_8
+keycode 67 = F9 F21 Console_21
+ control keycode 67 = F33
+ shift control keycode 67 = F45
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+ ctrlr keycode 67 = F9
+ ctrlr shift keycode 67 = F21
+ ctrlr altgr keycode 67 = Console_21
+ ctrlr control keycode 67 = F33
+ ctrlr shift control keycode 67 = F45
+ ctrlr alt keycode 67 = Console_9
+ ctrlr control alt keycode 67 = Console_9
+ ctrll keycode 67 = F9
+ ctrll shift keycode 67 = F21
+ ctrll altgr keycode 67 = Console_21
+ ctrll control keycode 67 = F33
+ ctrll shift control keycode 67 = F45
+ ctrll alt keycode 67 = Console_9
+ ctrll control alt keycode 67 = Console_9
+ ctrlr ctrll keycode 67 = F9
+ ctrlr ctrll shift keycode 67 = F21
+ ctrlr ctrll altgr keycode 67 = Console_21
+ ctrlr ctrll control keycode 67 = F33
+ ctrlr ctrll shift control keycode 67 = F45
+ ctrlr ctrll alt keycode 67 = Console_9
+ ctrlr ctrll control alt keycode 67 = Console_9
+keycode 68 = F10 F22 Console_22
+ control keycode 68 = F34
+ shift control keycode 68 = F46
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+ ctrlr keycode 68 = F10
+ ctrlr shift keycode 68 = F22
+ ctrlr altgr keycode 68 = Console_22
+ ctrlr control keycode 68 = F34
+ ctrlr shift control keycode 68 = F46
+ ctrlr alt keycode 68 = Console_10
+ ctrlr control alt keycode 68 = Console_10
+ ctrll keycode 68 = F10
+ ctrll shift keycode 68 = F22
+ ctrll altgr keycode 68 = Console_22
+ ctrll control keycode 68 = F34
+ ctrll shift control keycode 68 = F46
+ ctrll alt keycode 68 = Console_10
+ ctrll control alt keycode 68 = Console_10
+ ctrlr ctrll keycode 68 = F10
+ ctrlr ctrll shift keycode 68 = F22
+ ctrlr ctrll altgr keycode 68 = Console_22
+ ctrlr ctrll control keycode 68 = F34
+ ctrlr ctrll shift control keycode 68 = F46
+ ctrlr ctrll alt keycode 68 = Console_10
+ ctrlr ctrll control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 87 = F11 F23 Console_23
+ control keycode 87 = F35
+ shift control keycode 87 = F47
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+ ctrlr keycode 87 = F11
+ ctrlr shift keycode 87 = F23
+ ctrlr altgr keycode 87 = Console_23
+ ctrlr control keycode 87 = F35
+ ctrlr shift control keycode 87 = F47
+ ctrlr alt keycode 87 = Console_11
+ ctrlr control alt keycode 87 = Console_11
+ ctrll keycode 87 = F11
+ ctrll shift keycode 87 = F23
+ ctrll altgr keycode 87 = Console_23
+ ctrll control keycode 87 = F35
+ ctrll shift control keycode 87 = F47
+ ctrll alt keycode 87 = Console_11
+ ctrll control alt keycode 87 = Console_11
+ ctrlr ctrll keycode 87 = F11
+ ctrlr ctrll shift keycode 87 = F23
+ ctrlr ctrll altgr keycode 87 = Console_23
+ ctrlr ctrll control keycode 87 = F35
+ ctrlr ctrll shift control keycode 87 = F47
+ ctrlr ctrll alt keycode 87 = Console_11
+ ctrlr ctrll control alt keycode 87 = Console_11
+keycode 88 = F12 F24 Console_24
+ control keycode 88 = F36
+ shift control keycode 88 = F48
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+ ctrlr keycode 88 = F12
+ ctrlr shift keycode 88 = F24
+ ctrlr altgr keycode 88 = Console_24
+ ctrlr control keycode 88 = F36
+ ctrlr shift control keycode 88 = F48
+ ctrlr alt keycode 88 = Console_12
+ ctrlr control alt keycode 88 = Console_12
+ ctrll keycode 88 = F12
+ ctrll shift keycode 88 = F24
+ ctrll altgr keycode 88 = Console_24
+ ctrll control keycode 88 = F36
+ ctrll shift control keycode 88 = F48
+ ctrll alt keycode 88 = Console_12
+ ctrll control alt keycode 88 = Console_12
+ ctrlr ctrll keycode 88 = F12
+ ctrlr ctrll shift keycode 88 = F24
+ ctrlr ctrll altgr keycode 88 = Console_24
+ ctrlr ctrll control keycode 88 = F36
+ ctrlr ctrll shift control keycode 88 = F48
+ ctrlr ctrll alt keycode 88 = Console_12
+ ctrlr ctrll control alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+keycode 97 = CtrlL_Lock
+ctrlr keycode 97 = CtrlL_Lock
+ctrll keycode 97 = CtrlL_Lock
+ctrll ctrlr keycode 97 = CtrlL_Lock
+keycode 98 = KP_Divide
+keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+keycode 100 = CtrlR_Lock
+ctrll keycode 100 = CtrlR_Lock
+ctrlr keycode 100 = CtrlR_Lock
+ctrll ctrlr keycode 100 = CtrlR_Lock
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/i386/qwerty/ua-ws.kmap b/keymaps/i386/qwerty/ua-ws.kmap
new file mode 100644
index 0000000..4cd8092
--- /dev/null
+++ b/keymaps/i386/qwerty/ua-ws.kmap
@@ -0,0 +1,1556 @@
+keymaps 0-2,4-6,8-9,12-13,64-66,68-69,72-73,76-77,128-130,132-133,136-137,140-141,192-194,196-197,200-201,204-205
+strings as usual
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+ ctrlr keycode 1 = Escape
+ shift ctrlr keycode 1 = Escape
+ alt ctrlr keycode 1 = Meta_Escape
+ ctrll keycode 1 = Escape
+ shift ctrll keycode 1 = Escape
+ alt ctrll keycode 1 = Meta_Escape
+ ctrll ctrlr keycode 1 = Escape
+ shift ctrll ctrlr keycode 1 = Escape
+ alt ctrll ctrlr keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+ ctrlr keycode 2 = one
+ shift ctrlr keycode 2 = exclam
+ alt ctrlr keycode 2 = Meta_one
+ shift alt ctrlr keycode 2 = Meta_exclam
+ ctrll keycode 2 = one
+ shift ctrll keycode 2 = exclam
+ alt ctrll keycode 2 = Meta_one
+ shift alt ctrll keycode 2 = Meta_exclam
+ ctrll ctrlr keycode 2 = one
+ shift ctrll ctrlr keycode 2 = exclam
+ alt ctrll ctrlr keycode 2 = Meta_one
+ shift alt ctrll ctrlr keycode 2 = Meta_exclam
+ altgr keycode 2 = 150
+keycode 3 = two at at
+ control keycode 3 = nul
+ shift control keycode 3 = nul
+ alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_at
+ ctrlr keycode 3 = two
+ shift ctrlr keycode 3 = quotedbl
+ control ctrlr keycode 3 = nul
+ shift control ctrlr keycode 3 = nul
+ alt ctrlr keycode 3 = Meta_two
+ shift alt ctrlr keycode 3 = Meta_at
+ ctrll keycode 3 = two
+ shift ctrll keycode 3 = quotedbl
+ control ctrll keycode 3 = nul
+ shift control ctrll keycode 3 = nul
+ alt ctrll keycode 3 = Meta_two
+ shift alt ctrll keycode 3 = Meta_at
+ ctrll ctrlr keycode 3 = two
+ shift ctrll ctrlr keycode 3 = quotedbl
+ control ctrll ctrlr keycode 3 = nul
+ shift control ctrll ctrlr keycode 3 = nul
+ alt ctrll ctrlr keycode 3 = Meta_two
+ shift alt ctrll ctrlr keycode 3 = Meta_at
+ altgr keycode 3 = 157
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ shift alt keycode 4 = Meta_numbersign
+ ctrlr keycode 4 = three
+ shift ctrlr keycode 4 = numbersign
+ control ctrlr keycode 4 = Escape
+ shift control ctrlr keycode 4 = Escape
+ alt ctrlr keycode 4 = Meta_three
+ shift alt ctrlr keycode 4 = Meta_numbersign
+ ctrll keycode 4 = three
+ shift ctrll keycode 4 = numbersign
+ control ctrll keycode 4 = Escape
+ shift control ctrll keycode 4 = Escape
+ alt ctrll keycode 4 = Meta_three
+ shift alt ctrll keycode 4 = Meta_numbersign
+ ctrll ctrlr keycode 4 = three
+ shift ctrll ctrlr keycode 4 = numbersign
+ control ctrll ctrlr keycode 4 = Escape
+ shift control ctrll ctrlr keycode 4 = Escape
+ alt ctrll ctrlr keycode 4 = Meta_three
+ shift alt ctrll ctrlr keycode 4 = Meta_numbersign
+ altgr keycode 4 = 152
+keycode 5 = four dollar dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+ ctrlr keycode 5 = four
+ shift ctrlr keycode 5 = semicolon
+ control ctrlr keycode 5 = Control_backslash
+ shift control ctrlr keycode 5 = Control_backslash
+ alt ctrlr keycode 5 = Meta_four
+ shift alt ctrlr keycode 5 = Meta_dollar
+ ctrll keycode 5 = four
+ shift ctrll keycode 5 = semicolon
+ control ctrll keycode 5 = Control_backslash
+ shift control ctrll keycode 5 = Control_backslash
+ alt ctrll keycode 5 = Meta_four
+ shift alt ctrll keycode 5 = Meta_dollar
+ ctrll ctrlr keycode 5 = four
+ shift ctrll ctrlr keycode 5 = semicolon
+ control ctrll ctrlr keycode 5 = Control_backslash
+ shift control ctrll ctrlr keycode 5 = Control_backslash
+ alt ctrll ctrlr keycode 5 = Meta_four
+ shift alt ctrll ctrlr keycode 5 = Meta_dollar
+ altgr keycode 5 = 153
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+ ctrlr keycode 6 = five
+ shift ctrlr keycode 6 = colon
+ control ctrlr keycode 6 = Control_bracketright
+ shift control ctrlr keycode 6 = Control_bracketright
+ alt ctrlr keycode 6 = Meta_five
+ shift alt ctrlr keycode 6 = Meta_percent
+ ctrll keycode 6 = five
+ shift ctrll keycode 6 = colon
+ control ctrll keycode 6 = Control_bracketright
+ shift control ctrll keycode 6 = Control_bracketright
+ alt ctrll keycode 6 = Meta_five
+ shift alt ctrll keycode 6 = Meta_percent
+ ctrll ctrlr keycode 6 = five
+ shift ctrll ctrlr keycode 6 = colon
+ control ctrll ctrlr keycode 6 = Control_bracketright
+ shift control ctrll ctrlr keycode 6 = Control_bracketright
+ alt ctrll ctrlr keycode 6 = Meta_five
+ shift alt ctrll ctrlr keycode 6 = Meta_percent
+ altgr keycode 6 = 156
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_asciicircum
+ ctrlr keycode 7 = six
+ shift ctrlr keycode 7 = comma
+ control ctrlr keycode 7 = Control_asciicircum
+ shift control ctrlr keycode 7 = Control_asciicircum
+ alt ctrlr keycode 7 = Meta_six
+ shift alt ctrlr keycode 7 = Meta_asciicircum
+ ctrll keycode 7 = six
+ shift ctrll keycode 7 = comma
+ control ctrll keycode 7 = Control_asciicircum
+ shift control ctrll keycode 7 = Control_asciicircum
+ alt ctrll keycode 7 = Meta_six
+ shift alt ctrll keycode 7 = Meta_asciicircum
+ ctrll ctrlr keycode 7 = six
+ shift ctrll ctrlr keycode 7 = comma
+ control ctrll ctrlr keycode 7 = Control_asciicircum
+ shift control ctrll ctrlr keycode 7 = Control_asciicircum
+ alt ctrll ctrlr keycode 7 = Meta_six
+ shift alt ctrll ctrlr keycode 7 = Meta_asciicircum
+ altgr keycode 7 = 151
+keycode 8 = seven ampersand braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+ shift alt keycode 8 = Meta_ampersand
+ ctrlr keycode 8 = seven
+ shift ctrlr keycode 8 = period
+ control ctrlr keycode 8 = Control_underscore
+ shift control ctrlr keycode 8 = Control_underscore
+ alt ctrlr keycode 8 = Meta_seven
+ shift alt ctrlr keycode 8 = Meta_ampersand
+ ctrll keycode 8 = seven
+ shift ctrll keycode 8 = period
+ control ctrll keycode 8 = Control_underscore
+ shift control ctrll keycode 8 = Control_underscore
+ alt ctrll keycode 8 = Meta_seven
+ shift alt ctrll keycode 8 = Meta_ampersand
+ ctrll ctrlr keycode 8 = seven
+ shift ctrll ctrlr keycode 8 = period
+ control ctrll ctrlr keycode 8 = Control_underscore
+ shift control ctrll ctrlr keycode 8 = Control_underscore
+ alt ctrll ctrlr keycode 8 = Meta_seven
+ shift alt ctrll ctrlr keycode 8 = Meta_ampersand
+ altgr keycode 8 = 158
+keycode 9 = eight asterisk bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+ shift alt keycode 9 = Meta_asterisk
+ ctrlr keycode 9 = eight
+ shift ctrlr keycode 9 = asterisk
+ control ctrlr keycode 9 = Delete
+ shift control ctrlr keycode 9 = Delete
+ alt ctrlr keycode 9 = Meta_eight
+ shift alt ctrlr keycode 9 = Meta_asterisk
+ ctrll keycode 9 = eight
+ shift ctrll keycode 9 = asterisk
+ control ctrll keycode 9 = Delete
+ shift control ctrll keycode 9 = Delete
+ alt ctrll keycode 9 = Meta_eight
+ shift alt ctrll keycode 9 = Meta_asterisk
+ ctrll ctrlr keycode 9 = eight
+ shift ctrll ctrlr keycode 9 = asterisk
+ control ctrll ctrlr keycode 9 = Delete
+ shift control ctrll ctrlr keycode 9 = Delete
+ alt ctrll ctrlr keycode 9 = Meta_eight
+ shift alt ctrll ctrlr keycode 9 = Meta_asterisk
+ altgr keycode 9 = 159
+keycode 10 = nine parenleft bracketright
+ alt keycode 10 = Meta_nine
+ shift alt keycode 10 = Meta_parenleft
+ ctrlr keycode 10 = nine
+ shift ctrlr keycode 10 = parenleft
+ alt ctrlr keycode 10 = Meta_nine
+ shift alt ctrlr keycode 10 = Meta_parenleft
+ ctrll keycode 10 = nine
+ shift ctrll keycode 10 = parenleft
+ alt ctrll keycode 10 = Meta_nine
+ shift alt ctrll keycode 10 = Meta_parenleft
+ ctrll ctrlr keycode 10 = nine
+ shift ctrll ctrlr keycode 10 = parenleft
+ alt ctrll ctrlr keycode 10 = Meta_nine
+ shift alt ctrll ctrlr keycode 10 = Meta_parenleft
+ altgr keycode 10 = 147
+keycode 11 = zero parenright braceright
+ alt keycode 11 = Meta_zero
+ alt keycode 11 = Meta_parenright
+ ctrlr keycode 11 = zero
+ shift ctrlr keycode 11 = parenright
+ alt ctrlr keycode 11 = Meta_zero
+ shift alt ctrlr keycode 11 = Meta_parenright
+ ctrll keycode 11 = zero
+ shift ctrll keycode 11 = parenright
+ alt ctrll keycode 11 = Meta_zero
+ shift alt ctrll keycode 11 = Meta_parenright
+ ctrll ctrlr keycode 11 = zero
+ shift ctrll ctrlr keycode 11 = parenright
+ alt ctrll ctrlr keycode 11 = Meta_zero
+ shift alt ctrll ctrlr keycode 11 = Meta_parenright
+ altgr keycode 11 = 155
+keycode 12 = minus underscore backslash
+ control keycode 12 = Control_underscore
+ shift control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+ shift alt keycode 12 = Meta_underscore
+ ctrlr keycode 12 = minus
+ shift ctrlr keycode 12 = underscore
+ control ctrlr keycode 12 = Control_underscore
+ shift control ctrlr keycode 12 = Control_underscore
+ alt ctrlr keycode 12 = Meta_minus
+ shift alt ctrlr keycode 12 = Meta_underscore
+ ctrll keycode 12 = minus
+ shift ctrll keycode 12 = underscore
+ control ctrll keycode 12 = Control_underscore
+ shift control ctrll keycode 12 = Control_underscore
+ alt ctrll keycode 12 = Meta_minus
+ shift alt ctrll keycode 12 = Meta_underscore
+ ctrll ctrlr keycode 12 = minus
+ shift ctrll ctrlr keycode 12 = underscore
+ control ctrll ctrlr keycode 12 = Control_underscore
+ shift control ctrll ctrlr keycode 12 = Control_underscore
+ alt ctrll ctrlr keycode 12 = Meta_minus
+ shift alt ctrll ctrlr keycode 12 = Meta_underscore
+ altgr keycode 12 = 149
+keycode 13 = equal plus
+ alt keycode 13 = Meta_equal
+ shift alt keycode 13 = Meta_plus
+ ctrlr keycode 13 = equal
+ shift ctrlr keycode 13 = plus
+ alt ctrlr keycode 13 = Meta_equal
+ shift alt ctrlr keycode 13 = Meta_plus
+ ctrll keycode 13 = equal
+ shift ctrll keycode 13 = plus
+ alt ctrll keycode 13 = Meta_equal
+ shift alt ctrll keycode 13 = Meta_plus
+ ctrll ctrlr keycode 13 = equal
+ shift ctrll ctrlr keycode 13 = plus
+ alt ctrll ctrlr keycode 13 = Meta_equal
+ shift alt ctrll ctrlr keycode 13 = Meta_plus
+keycode 14 = BackSpace Delete
+ control keycode 14 = BackSpace
+ alt keycode 14 = Meta_Delete
+ ctrlr keycode 14 = BackSpace
+ shift ctrlr keycode 14 = BackSpace
+ control ctrlr keycode 14 = BackSpace
+ shift control ctrlr keycode 14 = BackSpace
+ alt ctrlr keycode 14 = Meta_Delete
+ shift alt ctrlr keycode 14 = Meta_Delete
+ ctrll keycode 14 = BackSpace
+ shift ctrll keycode 14 = BackSpace
+ control ctrll keycode 14 = BackSpace
+ shift control ctrll keycode 14 = BackSpace
+ alt ctrll keycode 14 = Meta_Delete
+ shift alt ctrll keycode 14 = Meta_Delete
+ ctrll ctrlr keycode 14 = BackSpace
+ shift ctrll ctrlr keycode 14 = BackSpace
+ control ctrll ctrlr keycode 14 = BackSpace
+ shift control ctrll ctrlr keycode 14 = BackSpace
+ alt ctrll ctrlr keycode 14 = Meta_Delete
+ shift alt ctrll ctrlr keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+ ctrlr keycode 15 = Tab
+ shift ctrlr keycode 15 = Tab
+ alt ctrlr keycode 15 = Meta_Tab
+ shift alt ctrlr keycode 15 = Meta_Tab
+ ctrll keycode 15 = Tab
+ shift ctrll keycode 15 = Tab
+ alt ctrll keycode 15 = Meta_Tab
+ shift alt ctrll keycode 15 = Meta_Tab
+ ctrll ctrlr keycode 15 = Tab
+ shift ctrll ctrlr keycode 15 = Tab
+ alt ctrll ctrlr keycode 15 = Meta_Tab
+ shift alt ctrll ctrlr keycode 15 = Meta_Tab
+keycode 16 = q
+ ctrlr keycode 16 = +202
+ shift ctrlr keycode 16 = +234
+ control ctrlr keycode 16 = Control_q
+ shift control ctrlr keycode 16 = Control_q
+ alt ctrlr keycode 16 = Meta_q
+ shift alt ctrlr keycode 16 = Meta_Q
+ control alt ctrlr keycode 16 = Meta_Control_q
+ shift control alt ctrlr keycode 16 = Meta_Control_q
+ ctrll keycode 16 = +202
+ shift ctrll keycode 16 = +234
+ control ctrll keycode 16 = Control_q
+ shift control ctrll keycode 16 = Control_q
+ alt ctrll keycode 16 = Meta_q
+ shift alt ctrll keycode 16 = Meta_Q
+ control alt ctrll keycode 16 = Meta_Control_q
+ shift control alt ctrll keycode 16 = Meta_Control_q
+ ctrll ctrlr keycode 16 = +202
+ shift ctrll ctrlr keycode 16 = +234
+ control ctrll ctrlr keycode 16 = Control_q
+ shift control ctrll ctrlr keycode 16 = Control_q
+ alt ctrll ctrlr keycode 16 = Meta_q
+ shift alt ctrll ctrlr keycode 16 = Meta_Q
+ control alt ctrll ctrlr keycode 16 = Meta_Control_q
+ shift control alt ctrll ctrlr keycode 16 = Meta_Control_q
+keycode 17 = w
+ ctrlr keycode 17 = +195
+ shift ctrlr keycode 17 = +227
+ control ctrlr keycode 17 = Control_w
+ shift control ctrlr keycode 17 = Control_w
+ alt ctrlr keycode 17 = Meta_w
+ shift alt ctrlr keycode 17 = Meta_W
+ control alt ctrlr keycode 17 = Meta_Control_w
+ shift control alt ctrlr keycode 17 = Meta_Control_w
+ ctrll keycode 17 = +195
+ shift ctrll keycode 17 = +227
+ control ctrll keycode 17 = Control_w
+ shift control ctrll keycode 17 = Control_w
+ alt ctrll keycode 17 = Meta_w
+ shift alt ctrll keycode 17 = Meta_W
+ control alt ctrll keycode 17 = Meta_Control_w
+ shift control alt ctrll keycode 17 = Meta_Control_w
+ ctrll ctrlr keycode 17 = +195
+ shift ctrll ctrlr keycode 17 = +227
+ control ctrll ctrlr keycode 17 = Control_w
+ shift control ctrll ctrlr keycode 17 = Control_w
+ alt ctrll ctrlr keycode 17 = Meta_w
+ shift alt ctrll ctrlr keycode 17 = Meta_W
+ control alt ctrll ctrlr keycode 17 = Meta_Control_w
+ shift control alt ctrll ctrlr keycode 17 = Meta_Control_w
+keycode 18 = e
+ ctrlr keycode 18 = +213
+ shift ctrlr keycode 18 = +245
+ control ctrlr keycode 18 = Control_e
+ shift control ctrlr keycode 18 = Control_e
+ alt ctrlr keycode 18 = Meta_e
+ shift alt ctrlr keycode 18 = Meta_E
+ control alt ctrlr keycode 18 = Meta_Control_e
+ shift control alt ctrlr keycode 18 = Meta_Control_e
+ ctrll keycode 18 = +213
+ shift ctrll keycode 18 = +245
+ control ctrll keycode 18 = Control_e
+ shift control ctrll keycode 18 = Control_e
+ alt ctrll keycode 18 = Meta_e
+ shift alt ctrll keycode 18 = Meta_E
+ control alt ctrll keycode 18 = Meta_Control_e
+ shift control alt ctrll keycode 18 = Meta_Control_e
+ ctrll ctrlr keycode 18 = +213
+ shift ctrll ctrlr keycode 18 = +245
+ control ctrll ctrlr keycode 18 = Control_e
+ shift control ctrll ctrlr keycode 18 = Control_e
+ alt ctrll ctrlr keycode 18 = Meta_e
+ shift alt ctrll ctrlr keycode 18 = Meta_E
+ control alt ctrll ctrlr keycode 18 = Meta_Control_e
+ shift control alt ctrll ctrlr keycode 18 = Meta_Control_e
+keycode 19 = r
+ ctrlr keycode 19 = +203
+ shift ctrlr keycode 19 = +235
+ control ctrlr keycode 19 = Control_r
+ shift control ctrlr keycode 19 = Control_r
+ alt ctrlr keycode 19 = Meta_r
+ shift alt ctrlr keycode 19 = Meta_R
+ control alt ctrlr keycode 19 = Meta_Control_r
+ shift control alt ctrlr keycode 19 = Meta_Control_r
+ ctrll keycode 19 = +203
+ shift ctrll keycode 19 = +235
+ control ctrll keycode 19 = Control_r
+ shift control ctrll keycode 19 = Control_r
+ alt ctrll keycode 19 = Meta_r
+ shift alt ctrll keycode 19 = Meta_R
+ control alt ctrll keycode 19 = Meta_Control_r
+ shift control alt ctrll keycode 19 = Meta_Control_r
+ ctrll ctrlr keycode 19 = +203
+ shift ctrll ctrlr keycode 19 = +235
+ control ctrll ctrlr keycode 19 = Control_r
+ shift control ctrll ctrlr keycode 19 = Control_r
+ alt ctrll ctrlr keycode 19 = Meta_r
+ shift alt ctrll ctrlr keycode 19 = Meta_R
+ control alt ctrll ctrlr keycode 19 = Meta_Control_r
+ shift control alt ctrll ctrlr keycode 19 = Meta_Control_r
+keycode 20 = t
+ ctrlr keycode 20 = +197
+ shift ctrlr keycode 20 = +229
+ control ctrlr keycode 20 = Control_t
+ shift control ctrlr keycode 20 = Control_t
+ alt ctrlr keycode 20 = Meta_t
+ shift alt ctrlr keycode 20 = Meta_T
+ control alt ctrlr keycode 20 = Meta_Control_t
+ shift control alt ctrlr keycode 20 = Meta_Control_t
+ ctrll keycode 20 = +197
+ shift ctrll keycode 20 = +229
+ control ctrll keycode 20 = Control_t
+ shift control ctrll keycode 20 = Control_t
+ alt ctrll keycode 20 = Meta_t
+ shift alt ctrll keycode 20 = Meta_T
+ control alt ctrll keycode 20 = Meta_Control_t
+ shift control alt ctrll keycode 20 = Meta_Control_t
+ ctrll ctrlr keycode 20 = +197
+ shift ctrll ctrlr keycode 20 = +229
+ control ctrll ctrlr keycode 20 = Control_t
+ shift control ctrll ctrlr keycode 20 = Control_t
+ alt ctrll ctrlr keycode 20 = Meta_t
+ shift alt ctrll ctrlr keycode 20 = Meta_T
+ control alt ctrll ctrlr keycode 20 = Meta_Control_t
+ shift control alt ctrll ctrlr keycode 20 = Meta_Control_t
+keycode 21 = y
+ ctrlr keycode 21 = +206
+ shift ctrlr keycode 21 = +238
+ control ctrlr keycode 21 = Control_y
+ shift control ctrlr keycode 21 = Control_y
+ alt ctrlr keycode 21 = Meta_y
+ shift alt ctrlr keycode 21 = Meta_Y
+ control alt ctrlr keycode 21 = Meta_Control_y
+ shift control alt ctrlr keycode 21 = Meta_Control_y
+ ctrll keycode 21 = +206
+ shift ctrll keycode 21 = +238
+ control ctrll keycode 21 = Control_y
+ shift control ctrll keycode 21 = Control_y
+ alt ctrll keycode 21 = Meta_y
+ shift alt ctrll keycode 21 = Meta_Y
+ control alt ctrll keycode 21 = Meta_Control_y
+ shift control alt ctrll keycode 21 = Meta_Control_y
+ ctrll ctrlr keycode 21 = +206
+ shift ctrll ctrlr keycode 21 = +238
+ control ctrll ctrlr keycode 21 = Control_y
+ shift control ctrll ctrlr keycode 21 = Control_y
+ alt ctrll ctrlr keycode 21 = Meta_y
+ shift alt ctrll ctrlr keycode 21 = Meta_Y
+ control alt ctrll ctrlr keycode 21 = Meta_Control_y
+ shift control alt ctrll ctrlr keycode 21 = Meta_Control_y
+keycode 22 = u
+ ctrlr keycode 22 = +199
+ shift ctrlr keycode 22 = +231
+ control ctrlr keycode 22 = Control_u
+ shift control ctrlr keycode 22 = Control_u
+ alt ctrlr keycode 22 = Meta_u
+ shift alt ctrlr keycode 22 = Meta_U
+ control alt ctrlr keycode 22 = Meta_Control_u
+ shift control alt ctrlr keycode 22 = Meta_Control_u
+ ctrll keycode 22 = +199
+ shift ctrll keycode 22 = +231
+ control ctrll keycode 22 = Control_u
+ shift control ctrll keycode 22 = Control_u
+ alt ctrll keycode 22 = Meta_u
+ shift alt ctrll keycode 22 = Meta_U
+ control alt ctrll keycode 22 = Meta_Control_u
+ shift control alt ctrll keycode 22 = Meta_Control_u
+ ctrll ctrlr keycode 22 = +199
+ shift ctrll ctrlr keycode 22 = +231
+ control ctrll ctrlr keycode 22 = Control_u
+ shift control ctrll ctrlr keycode 22 = Control_u
+ alt ctrll ctrlr keycode 22 = Meta_u
+ shift alt ctrll ctrlr keycode 22 = Meta_U
+ control alt ctrll ctrlr keycode 22 = Meta_Control_u
+ shift control alt ctrll ctrlr keycode 22 = Meta_Control_u
+keycode 23 = i
+ ctrlr keycode 23 = +219
+ shift ctrlr keycode 23 = +251
+ control ctrlr keycode 23 = Control_i
+ shift control ctrlr keycode 23 = Control_i
+ alt ctrlr keycode 23 = Meta_i
+ shift alt ctrlr keycode 23 = Meta_I
+ control alt ctrlr keycode 23 = Meta_Control_i
+ shift control alt ctrlr keycode 23 = Meta_Control_i
+ ctrll keycode 23 = +219
+ shift ctrll keycode 23 = +251
+ control ctrll keycode 23 = Control_i
+ shift control ctrll keycode 23 = Control_i
+ alt ctrll keycode 23 = Meta_i
+ shift alt ctrll keycode 23 = Meta_I
+ control alt ctrll keycode 23 = Meta_Control_i
+ shift control alt ctrll keycode 23 = Meta_Control_i
+ ctrll ctrlr keycode 23 = +219
+ shift ctrll ctrlr keycode 23 = +251
+ control ctrll ctrlr keycode 23 = Control_i
+ shift control ctrll ctrlr keycode 23 = Control_i
+ alt ctrll ctrlr keycode 23 = Meta_i
+ shift alt ctrll ctrlr keycode 23 = Meta_I
+ control alt ctrll ctrlr keycode 23 = Meta_Control_i
+ shift control alt ctrll ctrlr keycode 23 = Meta_Control_i
+keycode 24 = o
+ ctrlr keycode 24 = +221
+ shift ctrlr keycode 24 = +253
+ control ctrlr keycode 24 = Control_o
+ shift control ctrlr keycode 24 = Control_o
+ alt ctrlr keycode 24 = Meta_o
+ shift alt ctrlr keycode 24 = Meta_O
+ control alt ctrlr keycode 24 = Meta_Control_o
+ shift control alt ctrlr keycode 24 = Meta_Control_o
+ ctrll keycode 24 = +221
+ shift ctrll keycode 24 = +253
+ control ctrll keycode 24 = Control_o
+ shift control ctrll keycode 24 = Control_o
+ alt ctrll keycode 24 = Meta_o
+ shift alt ctrll keycode 24 = Meta_O
+ control alt ctrll keycode 24 = Meta_Control_o
+ shift control alt ctrll keycode 24 = Meta_Control_o
+ ctrll ctrlr keycode 24 = +221
+ shift ctrll ctrlr keycode 24 = +253
+ control ctrll ctrlr keycode 24 = Control_o
+ shift control ctrll ctrlr keycode 24 = Control_o
+ alt ctrll ctrlr keycode 24 = Meta_o
+ shift alt ctrll ctrlr keycode 24 = Meta_O
+ control alt ctrll ctrlr keycode 24 = Meta_Control_o
+ shift control alt ctrll ctrlr keycode 24 = Meta_Control_o
+keycode 25 = p
+ ctrlr keycode 25 = +218
+ shift ctrlr keycode 25 = +250
+ control ctrlr keycode 25 = Control_p
+ shift control ctrlr keycode 25 = Control_p
+ alt ctrlr keycode 25 = Meta_p
+ shift alt ctrlr keycode 25 = Meta_P
+ control alt ctrlr keycode 25 = Meta_Control_p
+ shift control alt ctrlr keycode 25 = Meta_Control_p
+ ctrll keycode 25 = +218
+ shift ctrll keycode 25 = +250
+ control ctrll keycode 25 = Control_p
+ shift control ctrll keycode 25 = Control_p
+ alt ctrll keycode 25 = Meta_p
+ shift alt ctrll keycode 25 = Meta_P
+ control alt ctrll keycode 25 = Meta_Control_p
+ shift control alt ctrll keycode 25 = Meta_Control_p
+ ctrll ctrlr keycode 25 = +218
+ shift ctrll ctrlr keycode 25 = +250
+ control ctrll ctrlr keycode 25 = Control_p
+ shift control ctrll ctrlr keycode 25 = Control_p
+ alt ctrll ctrlr keycode 25 = Meta_p
+ shift alt ctrll ctrlr keycode 25 = Meta_P
+ control alt ctrll ctrlr keycode 25 = Meta_Control_p
+ shift control alt ctrll ctrlr keycode 25 = Meta_Control_p
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ shift alt keycode 26 = Meta_braceleft
+ ctrlr keycode 26 = +200
+ shift ctrlr keycode 26 = +232
+ control ctrlr keycode 26 = Escape
+ shift control ctrlr keycode 26 = Escape
+ alt ctrlr keycode 26 = Meta_bracketleft
+ shift alt ctrlr keycode 26 = Meta_braceleft
+ ctrll keycode 26 = +200
+ shift ctrll keycode 26 = +232
+ control ctrll keycode 26 = Escape
+ shift control ctrll keycode 26 = Escape
+ alt ctrll keycode 26 = Meta_bracketleft
+ shift alt ctrll keycode 26 = Meta_braceleft
+ ctrll ctrlr keycode 26 = +200
+ shift ctrll ctrlr keycode 26 = +232
+ control ctrll ctrlr keycode 26 = Escape
+ shift control ctrll ctrlr keycode 26 = Escape
+ alt ctrll ctrlr keycode 26 = Meta_bracketleft
+ shift alt ctrll ctrlr keycode 26 = Meta_braceleft
+keycode 27 = bracketright braceright asciitilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ shift alt keycode 27 = Meta_braceright
+ ctrlr keycode 27 = +223
+ shift ctrlr keycode 27 = +255
+ control ctrlr keycode 27 = Control_bracketright
+ shift control ctrlr keycode 27 = Control_bracketright
+ alt ctrlr keycode 27 = Meta_bracketright
+ shift alt ctrlr keycode 27 = Meta_braceright
+ control alt ctrlr keycode 27 = Meta_Control_bracketright
+ shift control alt ctrlr keycode 27 = Meta_Control_bracketright
+ ctrll keycode 27 = +167
+ shift ctrll keycode 27 = +183
+ control ctrll keycode 27 = Control_bracketright
+ shift control ctrll keycode 27 = Control_bracketright
+ alt ctrll keycode 27 = Meta_bracketright
+ shift alt ctrll keycode 27 = Meta_braceright
+ control alt ctrll keycode 27 = Meta_Control_bracketright
+ shift control alt ctrll keycode 27 = Meta_Control_bracketright
+ ctrll ctrlr keycode 27 = +167
+ shift ctrll ctrlr keycode 27 = +183
+ control ctrll ctrlr keycode 27 = Control_bracketright
+ shift control ctrll ctrlr keycode 27 = Control_bracketright
+ alt ctrll ctrlr keycode 27 = Meta_bracketright
+ shift alt ctrll ctrlr keycode 27 = Meta_braceright
+ control alt ctrll ctrlr keycode 27 = Meta_Control_bracketright
+ shift control alt ctrll ctrlr keycode 27 = Meta_Control_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+ ctrlr keycode 30 = +198
+ shift ctrlr keycode 30 = +230
+ control ctrlr keycode 30 = Control_a
+ shift control ctrlr keycode 30 = Control_a
+ alt ctrlr keycode 30 = Meta_a
+ shift alt ctrlr keycode 30 = Meta_A
+ control alt ctrlr keycode 30 = Meta_Control_a
+ shift control alt ctrlr keycode 30 = Meta_Control_a
+ ctrll keycode 30 = +198
+ shift ctrll keycode 30 = +230
+ control ctrll keycode 30 = Control_a
+ shift control ctrll keycode 30 = Control_a
+ alt ctrll keycode 30 = Meta_a
+ shift alt ctrll keycode 30 = Meta_A
+ control alt ctrll keycode 30 = Meta_Control_a
+ shift control alt ctrll keycode 30 = Meta_Control_a
+ ctrll ctrlr keycode 30 = +198
+ shift ctrll ctrlr keycode 30 = +230
+ control ctrll ctrlr keycode 30 = Control_a
+ shift control ctrll ctrlr keycode 30 = Control_a
+ alt ctrll ctrlr keycode 30 = Meta_a
+ shift alt ctrll ctrlr keycode 30 = Meta_A
+ control alt ctrll ctrlr keycode 30 = Meta_Control_a
+ shift control alt ctrll ctrlr keycode 30 = Meta_Control_a
+keycode 31 = s
+ ctrlr keycode 31 = +217
+ shift ctrlr keycode 31 = +249
+ control ctrlr keycode 31 = Control_s
+ shift control ctrlr keycode 31 = Control_s
+ alt ctrlr keycode 31 = Meta_s
+ shift alt ctrlr keycode 31 = Meta_S
+ control alt ctrlr keycode 31 = Meta_Control_s
+ shift control alt ctrlr keycode 31 = Meta_Control_s
+ ctrll keycode 31 = +166
+ shift ctrll keycode 31 = +182
+ control ctrll keycode 31 = Control_s
+ shift control ctrll keycode 31 = Control_s
+ alt ctrll keycode 31 = Meta_s
+ shift alt ctrll keycode 31 = Meta_S
+ control alt ctrll keycode 31 = Meta_Control_s
+ shift control alt ctrll keycode 31 = Meta_Control_s
+ ctrll ctrlr keycode 31 = +166
+ shift ctrll ctrlr keycode 31 = +182
+ control ctrll ctrlr keycode 31 = Control_s
+ shift control ctrll ctrlr keycode 31 = Control_s
+ alt ctrll ctrlr keycode 31 = Meta_s
+ shift alt ctrll ctrlr keycode 31 = Meta_S
+ control alt ctrll ctrlr keycode 31 = Meta_Control_s
+ shift control alt ctrll ctrlr keycode 31 = Meta_Control_s
+keycode 32 = d
+ ctrlr keycode 32 = +215
+ shift ctrlr keycode 32 = +247
+ control ctrlr keycode 32 = Control_d
+ shift control ctrlr keycode 32 = Control_d
+ alt ctrlr keycode 32 = Meta_d
+ shift alt ctrlr keycode 32 = Meta_D
+ control alt ctrlr keycode 32 = Meta_Control_d
+ shift control alt ctrlr keycode 32 = Meta_Control_d
+ ctrll keycode 32 = +215
+ shift ctrll keycode 32 = +247
+ control ctrll keycode 32 = Control_d
+ shift control ctrll keycode 32 = Control_d
+ alt ctrll keycode 32 = Meta_d
+ shift alt ctrll keycode 32 = Meta_D
+ control alt ctrll keycode 32 = Meta_Control_d
+ shift control alt ctrll keycode 32 = Meta_Control_d
+ ctrll ctrlr keycode 32 = +215
+ shift ctrll ctrlr keycode 32 = +247
+ control ctrll ctrlr keycode 32 = Control_d
+ shift control ctrll ctrlr keycode 32 = Control_d
+ alt ctrll ctrlr keycode 32 = Meta_d
+ shift alt ctrll ctrlr keycode 32 = Meta_D
+ control alt ctrll ctrlr keycode 32 = Meta_Control_d
+ shift control alt ctrll ctrlr keycode 32 = Meta_Control_d
+keycode 33 = f
+ ctrlr keycode 33 = +193
+ shift ctrlr keycode 33 = +225
+ control ctrlr keycode 33 = Control_f
+ shift control ctrlr keycode 33 = Control_f
+ alt ctrlr keycode 33 = Meta_f
+ shift alt ctrlr keycode 33 = Meta_F
+ control alt ctrlr keycode 33 = Meta_Control_f
+ shift control alt ctrlr keycode 33 = Meta_Control_f
+ ctrll keycode 33 = +193
+ shift ctrll keycode 33 = +225
+ control ctrll keycode 33 = Control_f
+ shift control ctrll keycode 33 = Control_f
+ alt ctrll keycode 33 = Meta_f
+ shift alt ctrll keycode 33 = Meta_F
+ control alt ctrll keycode 33 = Meta_Control_f
+ shift control alt ctrll keycode 33 = Meta_Control_f
+ ctrll ctrlr keycode 33 = +193
+ shift ctrll ctrlr keycode 33 = +225
+ control ctrll ctrlr keycode 33 = Control_f
+ shift control ctrll ctrlr keycode 33 = Control_f
+ alt ctrll ctrlr keycode 33 = Meta_f
+ shift alt ctrll ctrlr keycode 33 = Meta_F
+ control alt ctrll ctrlr keycode 33 = Meta_Control_f
+ shift control alt ctrll ctrlr keycode 33 = Meta_Control_f
+keycode 34 = g
+ ctrlr keycode 34 = +208
+ shift ctrlr keycode 34 = +240
+ control ctrlr keycode 34 = Control_g
+ shift control ctrlr keycode 34 = Control_g
+ alt ctrlr keycode 34 = Meta_g
+ shift alt ctrlr keycode 34 = Meta_G
+ control alt ctrlr keycode 34 = Meta_Control_g
+ shift control alt ctrlr keycode 34 = Meta_Control_g
+ ctrll keycode 34 = +208
+ shift ctrll keycode 34 = +240
+ control ctrll keycode 34 = Control_g
+ shift control ctrll keycode 34 = Control_g
+ alt ctrll keycode 34 = Meta_g
+ shift alt ctrll keycode 34 = Meta_G
+ control alt ctrll keycode 34 = Meta_Control_g
+ shift control alt ctrll keycode 34 = Meta_Control_g
+ ctrll ctrlr keycode 34 = +208
+ shift ctrll ctrlr keycode 34 = +240
+ control ctrll ctrlr keycode 34 = Control_g
+ shift control ctrll ctrlr keycode 34 = Control_g
+ alt ctrll ctrlr keycode 34 = Meta_g
+ shift alt ctrll ctrlr keycode 34 = Meta_G
+ control alt ctrll ctrlr keycode 34 = Meta_Control_g
+ shift control alt ctrll ctrlr keycode 34 = Meta_Control_g
+keycode 35 = h
+ ctrlr keycode 35 = +210
+ shift ctrlr keycode 35 = +242
+ control ctrlr keycode 35 = Control_h
+ shift control ctrlr keycode 35 = Control_h
+ alt ctrlr keycode 35 = Meta_h
+ shift alt ctrlr keycode 35 = Meta_H
+ control alt ctrlr keycode 35 = Meta_Control_h
+ shift control alt ctrlr keycode 35 = Meta_Control_h
+ ctrll keycode 35 = +210
+ shift ctrll keycode 35 = +242
+ control ctrll keycode 35 = Control_h
+ shift control ctrll keycode 35 = Control_h
+ alt ctrll keycode 35 = Meta_h
+ shift alt ctrll keycode 35 = Meta_H
+ control alt ctrll keycode 35 = Meta_Control_h
+ shift control alt ctrll keycode 35 = Meta_Control_h
+ ctrll ctrlr keycode 35 = +210
+ shift ctrll ctrlr keycode 35 = +242
+ control ctrll ctrlr keycode 35 = Control_h
+ shift control ctrll ctrlr keycode 35 = Control_h
+ alt ctrll ctrlr keycode 35 = Meta_h
+ shift alt ctrll ctrlr keycode 35 = Meta_H
+ control alt ctrll ctrlr keycode 35 = Meta_Control_h
+ shift control alt ctrll ctrlr keycode 35 = Meta_Control_h
+keycode 36 = j
+ ctrlr keycode 36 = +207
+ shift ctrlr keycode 36 = +239
+ control ctrlr keycode 36 = Control_j
+ shift control ctrlr keycode 36 = Control_j
+ alt ctrlr keycode 36 = Meta_j
+ shift alt ctrlr keycode 36 = Meta_J
+ control alt ctrlr keycode 36 = Meta_Control_j
+ shift control alt ctrlr keycode 36 = Meta_Control_j
+ ctrll keycode 36 = +207
+ shift ctrll keycode 36 = +239
+ control ctrll keycode 36 = Control_j
+ shift control ctrll keycode 36 = Control_j
+ alt ctrll keycode 36 = Meta_j
+ shift alt ctrll keycode 36 = Meta_J
+ control alt ctrll keycode 36 = Meta_Control_j
+ shift control alt ctrll keycode 36 = Meta_Control_j
+ ctrll ctrlr keycode 36 = +207
+ shift ctrll ctrlr keycode 36 = +239
+ control ctrll ctrlr keycode 36 = Control_j
+ shift control ctrll ctrlr keycode 36 = Control_j
+ alt ctrll ctrlr keycode 36 = Meta_j
+ shift alt ctrll ctrlr keycode 36 = Meta_J
+ control alt ctrll ctrlr keycode 36 = Meta_Control_j
+ shift control alt ctrll ctrlr keycode 36 = Meta_Control_j
+keycode 37 = k
+ ctrlr keycode 37 = +204
+ shift ctrlr keycode 37 = +236
+ control ctrlr keycode 37 = Control_k
+ shift control ctrlr keycode 37 = Control_k
+ alt ctrlr keycode 37 = Meta_k
+ shift alt ctrlr keycode 37 = Meta_K
+ control alt ctrlr keycode 37 = Meta_Control_k
+ shift control alt ctrlr keycode 37 = Meta_Control_k
+ ctrll keycode 37 = +204
+ shift ctrll keycode 37 = +236
+ control ctrll keycode 37 = Control_k
+ shift control ctrll keycode 37 = Control_k
+ alt ctrll keycode 37 = Meta_k
+ shift alt ctrll keycode 37 = Meta_K
+ control alt ctrll keycode 37 = Meta_Control_k
+ shift control alt ctrll keycode 37 = Meta_Control_k
+ ctrll ctrlr keycode 37 = +204
+ shift ctrll ctrlr keycode 37 = +236
+ control ctrll ctrlr keycode 37 = Control_k
+ shift control ctrll ctrlr keycode 37 = Control_k
+ alt ctrll ctrlr keycode 37 = Meta_k
+ shift alt ctrll ctrlr keycode 37 = Meta_K
+ control alt ctrll ctrlr keycode 37 = Meta_Control_k
+ shift control alt ctrll ctrlr keycode 37 = Meta_Control_k
+keycode 38 = l
+ ctrlr keycode 38 = +196
+ shift ctrlr keycode 38 = +228
+ control ctrlr keycode 38 = Control_l
+ shift control ctrlr keycode 38 = Control_l
+ alt ctrlr keycode 38 = Meta_l
+ shift alt ctrlr keycode 38 = Meta_L
+ control alt ctrlr keycode 38 = Meta_Control_l
+ shift control alt ctrlr keycode 38 = Meta_Control_l
+ ctrll keycode 38 = +196
+ shift ctrll keycode 38 = +228
+ control ctrll keycode 38 = Control_l
+ shift control ctrll keycode 38 = Control_l
+ alt ctrll keycode 38 = Meta_l
+ shift alt ctrll keycode 38 = Meta_L
+ control alt ctrll keycode 38 = Meta_Control_l
+ shift control alt ctrll keycode 38 = Meta_Control_l
+ ctrll ctrlr keycode 38 = +196
+ shift ctrll ctrlr keycode 38 = +228
+ control ctrll ctrlr keycode 38 = Control_l
+ shift control ctrll ctrlr keycode 38 = Control_l
+ alt ctrll ctrlr keycode 38 = Meta_l
+ shift alt ctrll ctrlr keycode 38 = Meta_L
+ control alt ctrll ctrlr keycode 38 = Meta_Control_l
+ shift control alt ctrll ctrlr keycode 38 = Meta_Control_l
+keycode 39 = semicolon colon
+ alt keycode 39 = Meta_semicolon
+ shift alt keycode 39 = Meta_colon
+ ctrlr keycode 39 = +214
+ shift ctrlr keycode 39 = +246
+ alt ctrlr keycode 39 = Meta_semicolon
+ shift alt ctrlr keycode 39 = Meta_colon
+ ctrll keycode 39 = +214
+ shift ctrll keycode 39 = +246
+ alt ctrll keycode 39 = Meta_semicolon
+ shift alt ctrll keycode 39 = Meta_colon
+ ctrll ctrlr keycode 39 = +214
+ shift ctrll ctrlr keycode 39 = +246
+ alt ctrll ctrlr keycode 39 = Meta_semicolon
+ shift alt ctrll ctrlr keycode 39 = Meta_colon
+keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+ shift alt keycode 40 = Meta_quotedbl
+ ctrlr keycode 40 = +220
+ shift ctrlr keycode 40 = +252
+ control ctrlr keycode 40 = Control_g
+ shift control ctrlr keycode 40 = Control_g
+ alt ctrlr keycode 40 = Meta_apostrophe
+ shift alt ctrlr keycode 40 = Meta_quotedbl
+ ctrll keycode 40 = +164
+ shift ctrll keycode 40 = +180
+ control ctrll keycode 40 = Control_g
+ shift control ctrll keycode 40 = Control_g
+ alt ctrll keycode 40 = Meta_apostrophe
+ shift alt ctrll keycode 40 = Meta_quotedbl
+ ctrll ctrlr keycode 40 = +164
+ shift ctrll ctrlr keycode 40 = +180
+ control ctrll ctrlr keycode 40 = Control_g
+ shift control ctrll ctrlr keycode 40 = Control_g
+ alt ctrll ctrlr keycode 40 = Meta_apostrophe
+ shift alt ctrll ctrlr keycode 40 = Meta_quotedbl
+keycode 41 = grave asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+ shift alt keycode 41 = Meta_asciitilde
+ ctrlr keycode 41 = apostrophe
+ shift ctrlr keycode 41 = question
+ control ctrlr keycode 41 = nul
+ shift control ctrlr keycode 41 = nul
+ alt ctrlr keycode 41 = Meta_grave
+ shift alt ctrlr keycode 41 = Meta_asciitilde
+ ctrll keycode 41 = apostrophe
+ shift ctrll keycode 41 = question
+ control ctrll keycode 41 = nul
+ shift control ctrll keycode 41 = nul
+ alt ctrll keycode 41 = Meta_grave
+ shift alt ctrll keycode 41 = Meta_asciitilde
+ ctrll ctrlr keycode 41 = apostrophe
+ shift ctrll ctrlr keycode 41 = question
+ control ctrll ctrlr keycode 41 = nul
+ shift control ctrll ctrlr keycode 41 = nul
+ alt ctrll ctrlr keycode 41 = Meta_grave
+ shift alt ctrll ctrlr keycode 41 = Meta_asciitilde
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ shift alt keycode 43 = Meta_bar
+ control alt keycode 43 = Meta_Control_backslash
+ shift control alt keycode 43 = Meta_Control_backslash
+ ctrlr keycode 43 = backslash
+ shift ctrlr keycode 43 = bar
+ control ctrlr keycode 43 = Control_backslash
+ shift control ctrlr keycode 43 = Control_backslash
+ alt ctrlr keycode 43 = Meta_backslash
+ shift alt ctrlr keycode 43 = Meta_bar
+ control alt ctrlr keycode 43 = Meta_Control_backslash
+ shift control alt ctrlr keycode 43 = Meta_Control_backslash
+ ctrll keycode 43 = backslash
+ shift ctrll keycode 43 = bar
+ control ctrll keycode 43 = Control_backslash
+ shift control ctrll keycode 43 = Control_backslash
+ alt ctrll keycode 43 = Meta_backslash
+ shift alt ctrll keycode 43 = Meta_bar
+ control alt ctrll keycode 43 = Meta_Control_backslash
+ shift control alt ctrll keycode 43 = Meta_Control_backslash
+ ctrll ctrlr keycode 43 = backslash
+ shift ctrll ctrlr keycode 43 = bar
+ control ctrll ctrlr keycode 43 = Control_backslash
+ shift control ctrll ctrlr keycode 43 = Control_backslash
+ alt ctrll ctrlr keycode 43 = Meta_backslash
+ shift alt ctrll ctrlr keycode 43 = Meta_bar
+ control alt ctrll ctrlr keycode 43 = Meta_Control_backslash
+ shift control alt ctrll ctrlr keycode 43 = Meta_Control_backslash
+keycode 44 = z
+ ctrlr keycode 44 = +209
+ shift ctrlr keycode 44 = +241
+ control ctrlr keycode 44 = Control_z
+ shift control ctrlr keycode 44 = Control_z
+ alt ctrlr keycode 44 = Meta_z
+ shift alt ctrlr keycode 44 = Meta_Z
+ control alt ctrlr keycode 44 = Meta_Control_z
+ shift control alt ctrlr keycode 44 = Meta_Control_z
+ ctrll keycode 44 = +209
+ shift ctrll keycode 44 = +241
+ control ctrll keycode 44 = Control_z
+ shift control ctrll keycode 44 = Control_z
+ alt ctrll keycode 44 = Meta_z
+ shift alt ctrll keycode 44 = Meta_Z
+ control alt ctrll keycode 44 = Meta_Control_z
+ shift control alt ctrll keycode 44 = Meta_Control_z
+ ctrll ctrlr keycode 44 = +209
+ shift ctrll ctrlr keycode 44 = +241
+ control ctrll ctrlr keycode 44 = Control_z
+ shift control ctrll ctrlr keycode 44 = Control_z
+ alt ctrll ctrlr keycode 44 = Meta_z
+ shift alt ctrll ctrlr keycode 44 = Meta_Z
+ control alt ctrll ctrlr keycode 44 = Meta_Control_z
+ shift control alt ctrll ctrlr keycode 44 = Meta_Control_z
+keycode 45 = x
+ ctrlr keycode 45 = +222
+ shift ctrlr keycode 45 = +254
+ control ctrlr keycode 45 = Control_x
+ shift control ctrlr keycode 45 = Control_x
+ alt ctrlr keycode 45 = Meta_x
+ shift alt ctrlr keycode 45 = Meta_X
+ control alt ctrlr keycode 45 = Meta_Control_x
+ shift control alt ctrlr keycode 45 = Meta_Control_x
+ ctrll keycode 45 = +222
+ shift ctrll keycode 45 = +254
+ control ctrll keycode 45 = Control_x
+ shift control ctrll keycode 45 = Control_x
+ alt ctrll keycode 45 = Meta_x
+ shift alt ctrll keycode 45 = Meta_X
+ control alt ctrll keycode 45 = Meta_Control_x
+ shift control alt ctrll keycode 45 = Meta_Control_x
+ ctrll ctrlr keycode 45 = +222
+ shift ctrll ctrlr keycode 45 = +254
+ control ctrll ctrlr keycode 45 = Control_x
+ shift control ctrll ctrlr keycode 45 = Control_x
+ alt ctrll ctrlr keycode 45 = Meta_x
+ shift alt ctrll ctrlr keycode 45 = Meta_X
+ control alt ctrll ctrlr keycode 45 = Meta_Control_x
+ shift control alt ctrll ctrlr keycode 45 = Meta_Control_x
+keycode 46 = c
+ ctrlr keycode 46 = +211
+ shift ctrlr keycode 46 = +243
+ control ctrlr keycode 46 = Control_c
+ shift control ctrlr keycode 46 = Control_c
+ alt ctrlr keycode 46 = Meta_c
+ shift alt ctrlr keycode 46 = Meta_C
+ control alt ctrlr keycode 46 = Meta_Control_c
+ shift control alt ctrlr keycode 46 = Meta_Control_c
+ ctrll keycode 46 = +211
+ shift ctrll keycode 46 = +243
+ control ctrll keycode 46 = Control_c
+ shift control ctrll keycode 46 = Control_c
+ alt ctrll keycode 46 = Meta_c
+ shift alt ctrll keycode 46 = Meta_C
+ control alt ctrll keycode 46 = Meta_Control_c
+ shift control alt ctrll keycode 46 = Meta_Control_c
+ ctrll ctrlr keycode 46 = +211
+ shift ctrll ctrlr keycode 46 = +243
+ control ctrll ctrlr keycode 46 = Control_c
+ shift control ctrll ctrlr keycode 46 = Control_c
+ alt ctrll ctrlr keycode 46 = Meta_c
+ shift alt ctrll ctrlr keycode 46 = Meta_C
+ control alt ctrll ctrlr keycode 46 = Meta_Control_c
+ shift control alt ctrll ctrlr keycode 46 = Meta_Control_c
+keycode 47 = v
+ ctrlr keycode 47 = +205
+ shift ctrlr keycode 47 = +237
+ control ctrlr keycode 47 = Control_v
+ shift control ctrlr keycode 47 = Control_v
+ alt ctrlr keycode 47 = Meta_v
+ shift alt ctrlr keycode 47 = Meta_V
+ control alt ctrlr keycode 47 = Meta_Control_v
+ shift control alt ctrlr keycode 47 = Meta_Control_v
+ ctrll keycode 47 = +205
+ shift ctrll keycode 47 = +237
+ control ctrll keycode 47 = Control_v
+ shift control ctrll keycode 47 = Control_v
+ alt ctrll keycode 47 = Meta_v
+ shift alt ctrll keycode 47 = Meta_V
+ control alt ctrll keycode 47 = Meta_Control_v
+ shift control alt ctrll keycode 47 = Meta_Control_v
+ ctrll ctrlr keycode 47 = +205
+ shift ctrll ctrlr keycode 47 = +237
+ control ctrll ctrlr keycode 47 = Control_v
+ shift control ctrll ctrlr keycode 47 = Control_v
+ alt ctrll ctrlr keycode 47 = Meta_v
+ shift alt ctrll ctrlr keycode 47 = Meta_V
+ control alt ctrll ctrlr keycode 47 = Meta_Control_v
+ shift control alt ctrll ctrlr keycode 47 = Meta_Control_v
+keycode 48 = b
+ ctrlr keycode 48 = +201
+ shift ctrlr keycode 48 = +233
+ control ctrlr keycode 48 = Control_b
+ shift control ctrlr keycode 48 = Control_b
+ alt ctrlr keycode 48 = Meta_b
+ shift alt ctrlr keycode 48 = Meta_B
+ control alt ctrlr keycode 48 = Meta_Control_b
+ shift control alt ctrlr keycode 48 = Meta_Control_b
+ ctrll keycode 48 = +201
+ shift ctrll keycode 48 = +233
+ control ctrll keycode 48 = Control_b
+ shift control ctrll keycode 48 = Control_b
+ alt ctrll keycode 48 = Meta_b
+ shift alt ctrll keycode 48 = Meta_B
+ control alt ctrll keycode 48 = Meta_Control_b
+ shift control alt ctrll keycode 48 = Meta_Control_b
+ ctrll ctrlr keycode 48 = +201
+ shift ctrll ctrlr keycode 48 = +233
+ control ctrll ctrlr keycode 48 = Control_b
+ shift control ctrll ctrlr keycode 48 = Control_b
+ alt ctrll ctrlr keycode 48 = Meta_b
+ shift alt ctrll ctrlr keycode 48 = Meta_B
+ control alt ctrll ctrlr keycode 48 = Meta_Control_b
+ shift control alt ctrll ctrlr keycode 48 = Meta_Control_b
+keycode 49 = n
+ ctrlr keycode 49 = +212
+ shift ctrlr keycode 49 = +244
+ control ctrlr keycode 49 = Control_n
+ shift control ctrlr keycode 49 = Control_n
+ alt ctrlr keycode 49 = Meta_n
+ shift alt ctrlr keycode 49 = Meta_N
+ control alt ctrlr keycode 49 = Meta_Control_n
+ shift control alt ctrlr keycode 49 = Meta_Control_n
+ ctrll keycode 49 = +212
+ shift ctrll keycode 49 = +244
+ control ctrll keycode 49 = Control_n
+ shift control ctrll keycode 49 = Control_n
+ alt ctrll keycode 49 = Meta_n
+ shift alt ctrll keycode 49 = Meta_N
+ control alt ctrll keycode 49 = Meta_Control_n
+ shift control alt ctrll keycode 49 = Meta_Control_n
+ ctrll ctrlr keycode 49 = +212
+ shift ctrll ctrlr keycode 49 = +244
+ control ctrll ctrlr keycode 49 = Control_n
+ shift control ctrll ctrlr keycode 49 = Control_n
+ alt ctrll ctrlr keycode 49 = Meta_n
+ shift alt ctrll ctrlr keycode 49 = Meta_N
+ control alt ctrll ctrlr keycode 49 = Meta_Control_n
+ shift control alt ctrll ctrlr keycode 49 = Meta_Control_n
+keycode 50 = m
+ ctrlr keycode 50 = +216
+ shift ctrlr keycode 50 = +248
+ control ctrlr keycode 50 = Control_m
+ shift control ctrlr keycode 50 = Control_m
+ alt ctrlr keycode 50 = Meta_m
+ shift alt ctrlr keycode 50 = Meta_M
+ control alt ctrlr keycode 50 = Meta_Control_m
+ shift control alt ctrlr keycode 50 = Meta_Control_m
+ ctrll keycode 50 = +216
+ shift ctrll keycode 50 = +248
+ control ctrll keycode 50 = Control_m
+ shift control ctrll keycode 50 = Control_m
+ alt ctrll keycode 50 = Meta_m
+ shift alt ctrll keycode 50 = Meta_M
+ control alt ctrll keycode 50 = Meta_Control_m
+ shift control alt ctrll keycode 50 = Meta_Control_m
+ ctrll ctrlr keycode 50 = +216
+ shift ctrll ctrlr keycode 50 = +248
+ control ctrll ctrlr keycode 50 = Control_m
+ shift control ctrll ctrlr keycode 50 = Control_m
+ alt ctrll ctrlr keycode 50 = Meta_m
+ shift alt ctrll ctrlr keycode 50 = Meta_M
+ control alt ctrll ctrlr keycode 50 = Meta_Control_m
+ shift control alt ctrll ctrlr keycode 50 = Meta_Control_m
+keycode 51 = comma less
+ alt keycode 51 = Meta_comma
+ shift alt keycode 51 = Meta_less
+ ctrlr keycode 51 = +194
+ shift ctrlr keycode 51 = +226
+ alt ctrlr keycode 51 = Meta_comma
+ shift alt ctrlr keycode 51 = Meta_less
+ ctrll keycode 51 = +194
+ shift ctrll keycode 51 = +226
+ alt ctrll keycode 51 = Meta_comma
+ shift alt ctrll keycode 51 = Meta_less
+ ctrll ctrlr keycode 51 = +194
+ shift ctrll ctrlr keycode 51 = +226
+ alt ctrll ctrlr keycode 51 = Meta_comma
+ shift alt ctrll ctrlr keycode 51 = Meta_less
+keycode 52 = period greater
+ control keycode 52 = Compose
+ alt keycode 52 = Meta_period
+ shift alt keycode 52 = Meta_greater
+ ctrlr keycode 52 = +192
+ shift ctrlr keycode 52 = +224
+ alt ctrlr keycode 52 = Meta_period
+ shift alt ctrlr keycode 52 = Meta_greater
+ ctrll keycode 52 = +192
+ shift ctrll keycode 52 = +224
+ alt ctrll keycode 52 = Meta_period
+ shift alt ctrll keycode 52 = Meta_greater
+ ctrll ctrlr keycode 52 = +192
+ shift ctrll ctrlr keycode 52 = +224
+ alt ctrll ctrlr keycode 52 = Meta_period
+ shift alt ctrll ctrlr keycode 52 = Meta_greater
+keycode 53 = slash question
+ control keycode 53 = Delete
+ shift control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+ ctrlr keycode 53 = +163
+ shift ctrlr keycode 53 = +179
+ alt ctrlr keycode 53 = Meta_slash
+ shift alt ctrlr keycode 53 = Meta_question
+ ctrll keycode 53 = +173
+ shift ctrll keycode 53 = +189
+ alt ctrll keycode 53 = Meta_slash
+ shift alt ctrll keycode 53 = Meta_question
+ ctrll ctrlr keycode 53 = +173
+ shift ctrll ctrlr keycode 53 = +189
+ alt ctrll ctrlr keycode 53 = Meta_slash
+ shift alt ctrll ctrlr keycode 53 = Meta_question
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ ctrlr keycode 57 = space
+ shift ctrlr keycode 57 = space
+ control ctrlr keycode 57 = nul
+ shift control ctrlr keycode 57 = nul
+ alt ctrlr keycode 57 = Meta_space
+ shift alt ctrlr keycode 57 = Meta_space
+ ctrll keycode 57 = space
+ shift ctrll keycode 57 = space
+ control ctrll keycode 57 = nul
+ shift control ctrll keycode 57 = nul
+ alt ctrll keycode 57 = Meta_space
+ shift alt ctrll keycode 57 = Meta_space
+ ctrll ctrlr keycode 57 = space
+ shift ctrll ctrlr keycode 57 = space
+ control ctrll ctrlr keycode 57 = nul
+ shift control ctrll ctrlr keycode 57 = nul
+ alt ctrll ctrlr keycode 57 = Meta_space
+ shift alt ctrll ctrlr keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 Console_13
+ control keycode 59 = F25
+ shift control keycode 59 = F37
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+ ctrlr keycode 59 = F1
+ ctrlr shift keycode 59 = F13
+ ctrlr altgr keycode 59 = Console_13
+ ctrlr control keycode 59 = F25
+ ctrlr shift control keycode 59 = F37
+ ctrlr alt keycode 59 = Console_1
+ ctrlr control alt keycode 59 = Console_1
+ ctrll keycode 59 = F1
+ ctrll shift keycode 59 = F13
+ ctrll altgr keycode 59 = Console_13
+ ctrll control keycode 59 = F25
+ ctrll shift control keycode 59 = F37
+ ctrll alt keycode 59 = Console_1
+ ctrll control alt keycode 59 = Console_1
+ ctrlr ctrll keycode 59 = F1
+ ctrlr ctrll shift keycode 59 = F13
+ ctrlr ctrll altgr keycode 59 = Console_13
+ ctrlr ctrll control keycode 59 = F25
+ ctrlr ctrll shift control keycode 59 = F37
+ ctrlr ctrll alt keycode 59 = Console_1
+ ctrlr ctrll control alt keycode 59 = Console_1
+keycode 60 = F2 F14 Console_14
+ control keycode 60 = F26
+ shift control keycode 60 = F38
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+ ctrlr keycode 60 = F2
+ ctrlr shift keycode 60 = F14
+ ctrlr altgr keycode 60 = Console_14
+ ctrlr control keycode 60 = F26
+ ctrlr shift control keycode 60 = F38
+ ctrlr alt keycode 60 = Console_2
+ ctrlr control alt keycode 60 = Console_2
+ ctrll keycode 60 = F2
+ ctrll shift keycode 60 = F14
+ ctrll altgr keycode 60 = Console_14
+ ctrll control keycode 60 = F26
+ ctrll shift control keycode 60 = F38
+ ctrll alt keycode 60 = Console_2
+ ctrll control alt keycode 60 = Console_2
+ ctrlr ctrll keycode 60 = F2
+ ctrlr ctrll shift keycode 60 = F14
+ ctrlr ctrll altgr keycode 60 = Console_14
+ ctrlr ctrll control keycode 60 = F26
+ ctrlr ctrll shift control keycode 60 = F38
+ ctrlr ctrll alt keycode 60 = Console_2
+ ctrlr ctrll control alt keycode 60 = Console_2
+keycode 61 = F3 F15 Console_15
+ control keycode 61 = F27
+ shift control keycode 61 = F39
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+ ctrlr keycode 61 = F3
+ ctrlr shift keycode 61 = F15
+ ctrlr altgr keycode 61 = Console_15
+ ctrlr control keycode 61 = F27
+ ctrlr shift control keycode 61 = F39
+ ctrlr alt keycode 61 = Console_3
+ ctrlr control alt keycode 61 = Console_3
+ ctrll keycode 61 = F3
+ ctrll shift keycode 61 = F15
+ ctrll altgr keycode 61 = Console_15
+ ctrll control keycode 61 = F27
+ ctrll shift control keycode 61 = F39
+ ctrll alt keycode 61 = Console_3
+ ctrll control alt keycode 61 = Console_3
+ ctrlr ctrll keycode 61 = F3
+ ctrlr ctrll shift keycode 61 = F15
+ ctrlr ctrll altgr keycode 61 = Console_15
+ ctrlr ctrll control keycode 61 = F27
+ ctrlr ctrll shift control keycode 61 = F39
+ ctrlr ctrll alt keycode 61 = Console_3
+ ctrlr ctrll control alt keycode 61 = Console_3
+keycode 62 = F4 F16 Console_16
+ control keycode 62 = F28
+ shift control keycode 62 = F40
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+ ctrlr keycode 62 = F4
+ ctrlr shift keycode 62 = F16
+ ctrlr altgr keycode 62 = Console_16
+ ctrlr control keycode 62 = F28
+ ctrlr shift control keycode 62 = F40
+ ctrlr alt keycode 62 = Console_4
+ ctrlr control alt keycode 62 = Console_4
+ ctrll keycode 62 = F4
+ ctrll shift keycode 62 = F16
+ ctrll altgr keycode 62 = Console_16
+ ctrll control keycode 62 = F28
+ ctrll shift control keycode 62 = F40
+ ctrll alt keycode 62 = Console_4
+ ctrll control alt keycode 62 = Console_4
+ ctrlr ctrll keycode 62 = F4
+ ctrlr ctrll shift keycode 62 = F16
+ ctrlr ctrll altgr keycode 62 = Console_16
+ ctrlr ctrll control keycode 62 = F28
+ ctrlr ctrll shift control keycode 62 = F40
+ ctrlr ctrll alt keycode 62 = Console_4
+ ctrlr ctrll control alt keycode 62 = Console_4
+keycode 63 = F5 F17 Console_17
+ control keycode 63 = F29
+ shift control keycode 63 = F41
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+ ctrlr keycode 63 = F5
+ ctrlr shift keycode 63 = F17
+ ctrlr altgr keycode 63 = Console_17
+ ctrlr control keycode 63 = F29
+ ctrlr shift control keycode 63 = F41
+ ctrlr alt keycode 63 = Console_5
+ ctrlr control alt keycode 63 = Console_5
+ ctrll keycode 63 = F5
+ ctrll shift keycode 63 = F17
+ ctrll altgr keycode 63 = Console_17
+ ctrll control keycode 63 = F29
+ ctrll shift control keycode 63 = F41
+ ctrll alt keycode 63 = Console_5
+ ctrll control alt keycode 63 = Console_5
+ ctrlr ctrll keycode 63 = F5
+ ctrlr ctrll shift keycode 63 = F17
+ ctrlr ctrll altgr keycode 63 = Console_17
+ ctrlr ctrll control keycode 63 = F29
+ ctrlr ctrll shift control keycode 63 = F41
+ ctrlr ctrll alt keycode 63 = Console_5
+ ctrlr ctrll control alt keycode 63 = Console_5
+keycode 64 = F6 F18 Console_18
+ control keycode 64 = F30
+ shift control keycode 64 = F42
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+ ctrlr keycode 64 = F6
+ ctrlr shift keycode 64 = F18
+ ctrlr altgr keycode 64 = Console_18
+ ctrlr control keycode 64 = F30
+ ctrlr shift control keycode 64 = F42
+ ctrlr alt keycode 64 = Console_6
+ ctrlr control alt keycode 64 = Console_6
+ ctrll keycode 64 = F6
+ ctrll shift keycode 64 = F18
+ ctrll altgr keycode 64 = Console_18
+ ctrll control keycode 64 = F30
+ ctrll shift control keycode 64 = F42
+ ctrll alt keycode 64 = Console_6
+ ctrll control alt keycode 64 = Console_6
+ ctrlr ctrll keycode 64 = F6
+ ctrlr ctrll shift keycode 64 = F18
+ ctrlr ctrll altgr keycode 64 = Console_18
+ ctrlr ctrll control keycode 64 = F30
+ ctrlr ctrll shift control keycode 64 = F42
+ ctrlr ctrll alt keycode 64 = Console_6
+ ctrlr ctrll control alt keycode 64 = Console_6
+keycode 65 = F7 F19 Console_19
+ control keycode 65 = F31
+ shift control keycode 65 = F43
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+ ctrlr keycode 65 = F7
+ ctrlr shift keycode 65 = F19
+ ctrlr altgr keycode 65 = Console_19
+ ctrlr control keycode 65 = F31
+ ctrlr shift control keycode 65 = F43
+ ctrlr alt keycode 65 = Console_7
+ ctrlr control alt keycode 65 = Console_7
+ ctrll keycode 65 = F7
+ ctrll shift keycode 65 = F19
+ ctrll altgr keycode 65 = Console_19
+ ctrll control keycode 65 = F31
+ ctrll shift control keycode 65 = F43
+ ctrll alt keycode 65 = Console_7
+ ctrll control alt keycode 65 = Console_7
+ ctrlr ctrll keycode 65 = F7
+ ctrlr ctrll shift keycode 65 = F19
+ ctrlr ctrll altgr keycode 65 = Console_19
+ ctrlr ctrll control keycode 65 = F31
+ ctrlr ctrll shift control keycode 65 = F43
+ ctrlr ctrll alt keycode 65 = Console_7
+ ctrlr ctrll control alt keycode 65 = Console_7
+keycode 66 = F8 F20 Console_20
+ control keycode 66 = F32
+ shift control keycode 66 = F44
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+ ctrlr keycode 66 = F8
+ ctrlr shift keycode 66 = F20
+ ctrlr altgr keycode 66 = Console_20
+ ctrlr control keycode 66 = F32
+ ctrlr shift control keycode 66 = F44
+ ctrlr alt keycode 66 = Console_8
+ ctrlr control alt keycode 66 = Console_8
+ ctrll keycode 66 = F8
+ ctrll shift keycode 66 = F20
+ ctrll altgr keycode 66 = Console_20
+ ctrll control keycode 66 = F32
+ ctrll shift control keycode 66 = F44
+ ctrll alt keycode 66 = Console_8
+ ctrll control alt keycode 66 = Console_8
+ ctrlr ctrll keycode 66 = F8
+ ctrlr ctrll shift keycode 66 = F20
+ ctrlr ctrll altgr keycode 66 = Console_20
+ ctrlr ctrll control keycode 66 = F32
+ ctrlr ctrll shift control keycode 66 = F44
+ ctrlr ctrll alt keycode 66 = Console_8
+ ctrlr ctrll control alt keycode 66 = Console_8
+keycode 67 = F9 F21 Console_21
+ control keycode 67 = F33
+ shift control keycode 67 = F45
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+ ctrlr keycode 67 = F9
+ ctrlr shift keycode 67 = F21
+ ctrlr altgr keycode 67 = Console_21
+ ctrlr control keycode 67 = F33
+ ctrlr shift control keycode 67 = F45
+ ctrlr alt keycode 67 = Console_9
+ ctrlr control alt keycode 67 = Console_9
+ ctrll keycode 67 = F9
+ ctrll shift keycode 67 = F21
+ ctrll altgr keycode 67 = Console_21
+ ctrll control keycode 67 = F33
+ ctrll shift control keycode 67 = F45
+ ctrll alt keycode 67 = Console_9
+ ctrll control alt keycode 67 = Console_9
+ ctrlr ctrll keycode 67 = F9
+ ctrlr ctrll shift keycode 67 = F21
+ ctrlr ctrll altgr keycode 67 = Console_21
+ ctrlr ctrll control keycode 67 = F33
+ ctrlr ctrll shift control keycode 67 = F45
+ ctrlr ctrll alt keycode 67 = Console_9
+ ctrlr ctrll control alt keycode 67 = Console_9
+keycode 68 = F10 F22 Console_22
+ control keycode 68 = F34
+ shift control keycode 68 = F46
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+ ctrlr keycode 68 = F10
+ ctrlr shift keycode 68 = F22
+ ctrlr altgr keycode 68 = Console_22
+ ctrlr control keycode 68 = F34
+ ctrlr shift control keycode 68 = F46
+ ctrlr alt keycode 68 = Console_10
+ ctrlr control alt keycode 68 = Console_10
+ ctrll keycode 68 = F10
+ ctrll shift keycode 68 = F22
+ ctrll altgr keycode 68 = Console_22
+ ctrll control keycode 68 = F34
+ ctrll shift control keycode 68 = F46
+ ctrll alt keycode 68 = Console_10
+ ctrll control alt keycode 68 = Console_10
+ ctrlr ctrll keycode 68 = F10
+ ctrlr ctrll shift keycode 68 = F22
+ ctrlr ctrll altgr keycode 68 = Console_22
+ ctrlr ctrll control keycode 68 = F34
+ ctrlr ctrll shift control keycode 68 = F46
+ ctrlr ctrll alt keycode 68 = Console_10
+ ctrlr ctrll control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 87 = F11 F23 Console_23
+ control keycode 87 = F35
+ shift control keycode 87 = F47
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+ ctrlr keycode 87 = F11
+ ctrlr shift keycode 87 = F23
+ ctrlr altgr keycode 87 = Console_23
+ ctrlr control keycode 87 = F35
+ ctrlr shift control keycode 87 = F47
+ ctrlr alt keycode 87 = Console_11
+ ctrlr control alt keycode 87 = Console_11
+ ctrll keycode 87 = F11
+ ctrll shift keycode 87 = F23
+ ctrll altgr keycode 87 = Console_23
+ ctrll control keycode 87 = F35
+ ctrll shift control keycode 87 = F47
+ ctrll alt keycode 87 = Console_11
+ ctrll control alt keycode 87 = Console_11
+ ctrlr ctrll keycode 87 = F11
+ ctrlr ctrll shift keycode 87 = F23
+ ctrlr ctrll altgr keycode 87 = Console_23
+ ctrlr ctrll control keycode 87 = F35
+ ctrlr ctrll shift control keycode 87 = F47
+ ctrlr ctrll alt keycode 87 = Console_11
+ ctrlr ctrll control alt keycode 87 = Console_11
+keycode 88 = F12 F24 Console_24
+ control keycode 88 = F36
+ shift control keycode 88 = F48
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+ ctrlr keycode 88 = F12
+ ctrlr shift keycode 88 = F24
+ ctrlr altgr keycode 88 = Console_24
+ ctrlr control keycode 88 = F36
+ ctrlr shift control keycode 88 = F48
+ ctrlr alt keycode 88 = Console_12
+ ctrlr control alt keycode 88 = Console_12
+ ctrll keycode 88 = F12
+ ctrll shift keycode 88 = F24
+ ctrll altgr keycode 88 = Console_24
+ ctrll control keycode 88 = F36
+ ctrll shift control keycode 88 = F48
+ ctrll alt keycode 88 = Console_12
+ ctrll control alt keycode 88 = Console_12
+ ctrlr ctrll keycode 88 = F12
+ ctrlr ctrll shift keycode 88 = F24
+ ctrlr ctrll altgr keycode 88 = Console_24
+ ctrlr ctrll control keycode 88 = F36
+ ctrlr ctrll shift control keycode 88 = F48
+ ctrlr ctrll alt keycode 88 = Console_12
+ ctrlr ctrll control alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+#keycode 96 = KP_Enter
+keycode 96 = AltGr
+keycode 97 = Control
+keycode 98 = KP_Divide
+keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+keycode 100 = Alt
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+#keycode 125 = AltGr
+keycode 125 =
+keycode 126 = CtrlR_Lock
+keycode 127 = CtrlL_Lock
diff --git a/keymaps/i386/qwerty/ua.kmap b/keymaps/i386/qwerty/ua.kmap
new file mode 100644
index 0000000..fbb26d9
--- /dev/null
+++ b/keymaps/i386/qwerty/ua.kmap
@@ -0,0 +1,1561 @@
+# Ukrainian Cyrillic KOI8-U keymap.
+# KOI8-R included as addition.
+#
+# How it's work:
+# Alt_R -> koi8-u. Alt_R again -> English.
+# Ctrl_R -> koi8-r. Ctrl_R again -> English.
+# Ctrl_R -> koi8-r. Alt_R -> koi8-u. Alt_R again -> koi8-r. Ctrl_R again -> English
+#
+# keymaps 0-15
+
+strings as usual
+compose as usual for "iso-8859-1"
+
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+ ctrlr keycode 1 = Escape
+ shift ctrlr keycode 1 = Escape
+ alt ctrlr keycode 1 = Meta_Escape
+ ctrll keycode 1 = Escape
+ shift ctrll keycode 1 = Escape
+ alt ctrll keycode 1 = Meta_Escape
+ ctrll ctrlr keycode 1 = Escape
+ shift ctrll ctrlr keycode 1 = Escape
+ alt ctrll ctrlr keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+ ctrlr keycode 2 = one
+ shift ctrlr keycode 2 = exclam
+ alt ctrlr keycode 2 = Meta_one
+ shift alt ctrlr keycode 2 = Meta_exclam
+ ctrll keycode 2 = one
+ shift ctrll keycode 2 = exclam
+ alt ctrll keycode 2 = Meta_one
+ shift alt ctrll keycode 2 = Meta_exclam
+ ctrll ctrlr keycode 2 = one
+ shift ctrll ctrlr keycode 2 = exclam
+ alt ctrll ctrlr keycode 2 = Meta_one
+ shift alt ctrll ctrlr keycode 2 = Meta_exclam
+keycode 3 = two at at
+ control keycode 3 = nul
+ shift control keycode 3 = nul
+ alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_at
+ ctrlr keycode 3 = two
+ shift ctrlr keycode 3 = quotedbl
+ control ctrlr keycode 3 = nul
+ shift control ctrlr keycode 3 = nul
+ alt ctrlr keycode 3 = Meta_two
+ shift alt ctrlr keycode 3 = Meta_at
+ ctrll keycode 3 = two
+ shift ctrll keycode 3 = quotedbl
+ control ctrll keycode 3 = nul
+ shift control ctrll keycode 3 = nul
+ alt ctrll keycode 3 = Meta_two
+ shift alt ctrll keycode 3 = Meta_at
+ ctrll ctrlr keycode 3 = two
+ shift ctrll ctrlr keycode 3 = quotedbl
+ control ctrll ctrlr keycode 3 = nul
+ shift control ctrll ctrlr keycode 3 = nul
+ alt ctrll ctrlr keycode 3 = Meta_two
+ shift alt ctrll ctrlr keycode 3 = Meta_at
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ shift alt keycode 4 = Meta_numbersign
+ ctrlr keycode 4 = three
+ shift ctrlr keycode 4 = numbersign
+ control ctrlr keycode 4 = Escape
+ shift control ctrlr keycode 4 = Escape
+ alt ctrlr keycode 4 = Meta_three
+ shift alt ctrlr keycode 4 = Meta_numbersign
+ ctrll keycode 4 = three
+ shift ctrll keycode 4 = numbersign
+ control ctrll keycode 4 = Escape
+ shift control ctrll keycode 4 = Escape
+ alt ctrll keycode 4 = Meta_three
+ shift alt ctrll keycode 4 = Meta_numbersign
+ ctrll ctrlr keycode 4 = three
+ shift ctrll ctrlr keycode 4 = numbersign
+ control ctrll ctrlr keycode 4 = Escape
+ shift control ctrll ctrlr keycode 4 = Escape
+ alt ctrll ctrlr keycode 4 = Meta_three
+ shift alt ctrll ctrlr keycode 4 = Meta_numbersign
+keycode 5 = four dollar dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+ ctrlr keycode 5 = four
+ shift ctrlr keycode 5 = semicolon
+ control ctrlr keycode 5 = Control_backslash
+ shift control ctrlr keycode 5 = Control_backslash
+ alt ctrlr keycode 5 = Meta_four
+ shift alt ctrlr keycode 5 = Meta_dollar
+ ctrll keycode 5 = four
+ shift ctrll keycode 5 = semicolon
+ control ctrll keycode 5 = Control_backslash
+ shift control ctrll keycode 5 = Control_backslash
+ alt ctrll keycode 5 = Meta_four
+ shift alt ctrll keycode 5 = Meta_dollar
+ ctrll ctrlr keycode 5 = four
+ shift ctrll ctrlr keycode 5 = semicolon
+ control ctrll ctrlr keycode 5 = Control_backslash
+ shift control ctrll ctrlr keycode 5 = Control_backslash
+ alt ctrll ctrlr keycode 5 = Meta_four
+ shift alt ctrll ctrlr keycode 5 = Meta_dollar
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+ ctrlr keycode 6 = five
+ shift ctrlr keycode 6 = colon
+ control ctrlr keycode 6 = Control_bracketright
+ shift control ctrlr keycode 6 = Control_bracketright
+ alt ctrlr keycode 6 = Meta_five
+ shift alt ctrlr keycode 6 = Meta_percent
+ ctrll keycode 6 = five
+ shift ctrll keycode 6 = colon
+ control ctrll keycode 6 = Control_bracketright
+ shift control ctrll keycode 6 = Control_bracketright
+ alt ctrll keycode 6 = Meta_five
+ shift alt ctrll keycode 6 = Meta_percent
+ ctrll ctrlr keycode 6 = five
+ shift ctrll ctrlr keycode 6 = colon
+ control ctrll ctrlr keycode 6 = Control_bracketright
+ shift control ctrll ctrlr keycode 6 = Control_bracketright
+ alt ctrll ctrlr keycode 6 = Meta_five
+ shift alt ctrll ctrlr keycode 6 = Meta_percent
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_asciicircum
+ ctrlr keycode 7 = six
+ shift ctrlr keycode 7 = comma
+ control ctrlr keycode 7 = Control_asciicircum
+ shift control ctrlr keycode 7 = Control_asciicircum
+ alt ctrlr keycode 7 = Meta_six
+ shift alt ctrlr keycode 7 = Meta_asciicircum
+ ctrll keycode 7 = six
+ shift ctrll keycode 7 = comma
+ control ctrll keycode 7 = Control_asciicircum
+ shift control ctrll keycode 7 = Control_asciicircum
+ alt ctrll keycode 7 = Meta_six
+ shift alt ctrll keycode 7 = Meta_asciicircum
+ ctrll ctrlr keycode 7 = six
+ shift ctrll ctrlr keycode 7 = comma
+ control ctrll ctrlr keycode 7 = Control_asciicircum
+ shift control ctrll ctrlr keycode 7 = Control_asciicircum
+ alt ctrll ctrlr keycode 7 = Meta_six
+ shift alt ctrll ctrlr keycode 7 = Meta_asciicircum
+keycode 8 = seven ampersand braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+ shift alt keycode 8 = Meta_ampersand
+ ctrlr keycode 8 = seven
+ shift ctrlr keycode 8 = period
+ control ctrlr keycode 8 = Control_underscore
+ shift control ctrlr keycode 8 = Control_underscore
+ alt ctrlr keycode 8 = Meta_seven
+ shift alt ctrlr keycode 8 = Meta_ampersand
+ ctrll keycode 8 = seven
+ shift ctrll keycode 8 = period
+ control ctrll keycode 8 = Control_underscore
+ shift control ctrll keycode 8 = Control_underscore
+ alt ctrll keycode 8 = Meta_seven
+ shift alt ctrll keycode 8 = Meta_ampersand
+ ctrll ctrlr keycode 8 = seven
+ shift ctrll ctrlr keycode 8 = period
+ control ctrll ctrlr keycode 8 = Control_underscore
+ shift control ctrll ctrlr keycode 8 = Control_underscore
+ alt ctrll ctrlr keycode 8 = Meta_seven
+ shift alt ctrll ctrlr keycode 8 = Meta_ampersand
+keycode 9 = eight asterisk bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+ shift alt keycode 9 = Meta_asterisk
+ ctrlr keycode 9 = eight
+ shift ctrlr keycode 9 = asterisk
+ control ctrlr keycode 9 = Delete
+ shift control ctrlr keycode 9 = Delete
+ alt ctrlr keycode 9 = Meta_eight
+ shift alt ctrlr keycode 9 = Meta_asterisk
+ ctrll keycode 9 = eight
+ shift ctrll keycode 9 = asterisk
+ control ctrll keycode 9 = Delete
+ shift control ctrll keycode 9 = Delete
+ alt ctrll keycode 9 = Meta_eight
+ shift alt ctrll keycode 9 = Meta_asterisk
+ ctrll ctrlr keycode 9 = eight
+ shift ctrll ctrlr keycode 9 = asterisk
+ control ctrll ctrlr keycode 9 = Delete
+ shift control ctrll ctrlr keycode 9 = Delete
+ alt ctrll ctrlr keycode 9 = Meta_eight
+ shift alt ctrll ctrlr keycode 9 = Meta_asterisk
+keycode 10 = nine parenleft bracketright
+ alt keycode 10 = Meta_nine
+ shift alt keycode 10 = Meta_parenleft
+ ctrlr keycode 10 = nine
+ shift ctrlr keycode 10 = parenleft
+ alt ctrlr keycode 10 = Meta_nine
+ shift alt ctrlr keycode 10 = Meta_parenleft
+ ctrll keycode 10 = nine
+ shift ctrll keycode 10 = parenleft
+ alt ctrll keycode 10 = Meta_nine
+ shift alt ctrll keycode 10 = Meta_parenleft
+ ctrll ctrlr keycode 10 = nine
+ shift ctrll ctrlr keycode 10 = parenleft
+ alt ctrll ctrlr keycode 10 = Meta_nine
+ shift alt ctrll ctrlr keycode 10 = Meta_parenleft
+keycode 11 = zero parenright braceright
+ alt keycode 11 = Meta_zero
+ alt keycode 11 = Meta_parenright
+ ctrlr keycode 11 = zero
+ shift ctrlr keycode 11 = parenright
+ alt ctrlr keycode 11 = Meta_zero
+ shift alt ctrlr keycode 11 = Meta_parenright
+ ctrll keycode 11 = zero
+ shift ctrll keycode 11 = parenright
+ alt ctrll keycode 11 = Meta_zero
+ shift alt ctrll keycode 11 = Meta_parenright
+ ctrll ctrlr keycode 11 = zero
+ shift ctrll ctrlr keycode 11 = parenright
+ alt ctrll ctrlr keycode 11 = Meta_zero
+ shift alt ctrll ctrlr keycode 11 = Meta_parenright
+keycode 12 = minus underscore backslash
+ control keycode 12 = Control_underscore
+ shift control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+ shift alt keycode 12 = Meta_underscore
+ ctrlr keycode 12 = minus
+ shift ctrlr keycode 12 = underscore
+ control ctrlr keycode 12 = Control_underscore
+ shift control ctrlr keycode 12 = Control_underscore
+ alt ctrlr keycode 12 = Meta_minus
+ shift alt ctrlr keycode 12 = Meta_underscore
+ ctrll keycode 12 = minus
+ shift ctrll keycode 12 = underscore
+ control ctrll keycode 12 = Control_underscore
+ shift control ctrll keycode 12 = Control_underscore
+ alt ctrll keycode 12 = Meta_minus
+ shift alt ctrll keycode 12 = Meta_underscore
+ ctrll ctrlr keycode 12 = minus
+ shift ctrll ctrlr keycode 12 = underscore
+ control ctrll ctrlr keycode 12 = Control_underscore
+ shift control ctrll ctrlr keycode 12 = Control_underscore
+ alt ctrll ctrlr keycode 12 = Meta_minus
+ shift alt ctrll ctrlr keycode 12 = Meta_underscore
+keycode 13 = equal plus
+ alt keycode 13 = Meta_equal
+ shift alt keycode 13 = Meta_plus
+ ctrlr keycode 13 = equal
+ shift ctrlr keycode 13 = plus
+ alt ctrlr keycode 13 = Meta_equal
+ shift alt ctrlr keycode 13 = Meta_plus
+ ctrll keycode 13 = equal
+ shift ctrll keycode 13 = plus
+ alt ctrll keycode 13 = Meta_equal
+ shift alt ctrll keycode 13 = Meta_plus
+ ctrll ctrlr keycode 13 = equal
+ shift ctrll ctrlr keycode 13 = plus
+ alt ctrll ctrlr keycode 13 = Meta_equal
+ shift alt ctrll ctrlr keycode 13 = Meta_plus
+keycode 14 = Delete Delete
+ control keycode 14 = BackSpace
+ alt keycode 14 = Meta_Delete
+ ctrlr keycode 14 = Delete
+ shift ctrlr keycode 14 = Delete
+ control ctrlr keycode 14 = BackSpace
+ shift control ctrlr keycode 14 = BackSpace
+ alt ctrlr keycode 14 = Meta_Delete
+ shift alt ctrlr keycode 14 = Meta_Delete
+ ctrll keycode 14 = Delete
+ shift ctrll keycode 14 = Delete
+ control ctrll keycode 14 = BackSpace
+ shift control ctrll keycode 14 = BackSpace
+ alt ctrll keycode 14 = Meta_Delete
+ shift alt ctrll keycode 14 = Meta_Delete
+ ctrll ctrlr keycode 14 = Delete
+ shift ctrll ctrlr keycode 14 = Delete
+ control ctrll ctrlr keycode 14 = BackSpace
+ shift control ctrll ctrlr keycode 14 = BackSpace
+ alt ctrll ctrlr keycode 14 = Meta_Delete
+ shift alt ctrll ctrlr keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+ ctrlr keycode 15 = Tab
+ shift ctrlr keycode 15 = Tab
+ alt ctrlr keycode 15 = Meta_Tab
+ shift alt ctrlr keycode 15 = Meta_Tab
+ ctrll keycode 15 = Tab
+ shift ctrll keycode 15 = Tab
+ alt ctrll keycode 15 = Meta_Tab
+ shift alt ctrll keycode 15 = Meta_Tab
+ ctrll ctrlr keycode 15 = Tab
+ shift ctrll ctrlr keycode 15 = Tab
+ alt ctrll ctrlr keycode 15 = Meta_Tab
+ shift alt ctrll ctrlr keycode 15 = Meta_Tab
+keycode 16 = q
+ ctrlr keycode 16 = +202
+ shift ctrlr keycode 16 = +234
+ control ctrlr keycode 16 = Control_q
+ shift control ctrlr keycode 16 = Control_q
+ alt ctrlr keycode 16 = Meta_q
+ shift alt ctrlr keycode 16 = Meta_Q
+ control alt ctrlr keycode 16 = Meta_Control_q
+ shift control alt ctrlr keycode 16 = Meta_Control_q
+ ctrll keycode 16 = +202
+ shift ctrll keycode 16 = +234
+ control ctrll keycode 16 = Control_q
+ shift control ctrll keycode 16 = Control_q
+ alt ctrll keycode 16 = Meta_q
+ shift alt ctrll keycode 16 = Meta_Q
+ control alt ctrll keycode 16 = Meta_Control_q
+ shift control alt ctrll keycode 16 = Meta_Control_q
+ ctrll ctrlr keycode 16 = +202
+ shift ctrll ctrlr keycode 16 = +234
+ control ctrll ctrlr keycode 16 = Control_q
+ shift control ctrll ctrlr keycode 16 = Control_q
+ alt ctrll ctrlr keycode 16 = Meta_q
+ shift alt ctrll ctrlr keycode 16 = Meta_Q
+ control alt ctrll ctrlr keycode 16 = Meta_Control_q
+ shift control alt ctrll ctrlr keycode 16 = Meta_Control_q
+keycode 17 = w
+ ctrlr keycode 17 = +195
+ shift ctrlr keycode 17 = +227
+ control ctrlr keycode 17 = Control_w
+ shift control ctrlr keycode 17 = Control_w
+ alt ctrlr keycode 17 = Meta_w
+ shift alt ctrlr keycode 17 = Meta_W
+ control alt ctrlr keycode 17 = Meta_Control_w
+ shift control alt ctrlr keycode 17 = Meta_Control_w
+ ctrll keycode 17 = +195
+ shift ctrll keycode 17 = +227
+ control ctrll keycode 17 = Control_w
+ shift control ctrll keycode 17 = Control_w
+ alt ctrll keycode 17 = Meta_w
+ shift alt ctrll keycode 17 = Meta_W
+ control alt ctrll keycode 17 = Meta_Control_w
+ shift control alt ctrll keycode 17 = Meta_Control_w
+ ctrll ctrlr keycode 17 = +195
+ shift ctrll ctrlr keycode 17 = +227
+ control ctrll ctrlr keycode 17 = Control_w
+ shift control ctrll ctrlr keycode 17 = Control_w
+ alt ctrll ctrlr keycode 17 = Meta_w
+ shift alt ctrll ctrlr keycode 17 = Meta_W
+ control alt ctrll ctrlr keycode 17 = Meta_Control_w
+ shift control alt ctrll ctrlr keycode 17 = Meta_Control_w
+keycode 18 = e
+ ctrlr keycode 18 = +213
+ shift ctrlr keycode 18 = +245
+ control ctrlr keycode 18 = Control_e
+ shift control ctrlr keycode 18 = Control_e
+ alt ctrlr keycode 18 = Meta_e
+ shift alt ctrlr keycode 18 = Meta_E
+ control alt ctrlr keycode 18 = Meta_Control_e
+ shift control alt ctrlr keycode 18 = Meta_Control_e
+ ctrll keycode 18 = +213
+ shift ctrll keycode 18 = +245
+ control ctrll keycode 18 = Control_e
+ shift control ctrll keycode 18 = Control_e
+ alt ctrll keycode 18 = Meta_e
+ shift alt ctrll keycode 18 = Meta_E
+ control alt ctrll keycode 18 = Meta_Control_e
+ shift control alt ctrll keycode 18 = Meta_Control_e
+ ctrll ctrlr keycode 18 = +213
+ shift ctrll ctrlr keycode 18 = +245
+ control ctrll ctrlr keycode 18 = Control_e
+ shift control ctrll ctrlr keycode 18 = Control_e
+ alt ctrll ctrlr keycode 18 = Meta_e
+ shift alt ctrll ctrlr keycode 18 = Meta_E
+ control alt ctrll ctrlr keycode 18 = Meta_Control_e
+ shift control alt ctrll ctrlr keycode 18 = Meta_Control_e
+keycode 19 = r
+ ctrlr keycode 19 = +203
+ shift ctrlr keycode 19 = +235
+ control ctrlr keycode 19 = Control_r
+ shift control ctrlr keycode 19 = Control_r
+ alt ctrlr keycode 19 = Meta_r
+ shift alt ctrlr keycode 19 = Meta_R
+ control alt ctrlr keycode 19 = Meta_Control_r
+ shift control alt ctrlr keycode 19 = Meta_Control_r
+ ctrll keycode 19 = +203
+ shift ctrll keycode 19 = +235
+ control ctrll keycode 19 = Control_r
+ shift control ctrll keycode 19 = Control_r
+ alt ctrll keycode 19 = Meta_r
+ shift alt ctrll keycode 19 = Meta_R
+ control alt ctrll keycode 19 = Meta_Control_r
+ shift control alt ctrll keycode 19 = Meta_Control_r
+ ctrll ctrlr keycode 19 = +203
+ shift ctrll ctrlr keycode 19 = +235
+ control ctrll ctrlr keycode 19 = Control_r
+ shift control ctrll ctrlr keycode 19 = Control_r
+ alt ctrll ctrlr keycode 19 = Meta_r
+ shift alt ctrll ctrlr keycode 19 = Meta_R
+ control alt ctrll ctrlr keycode 19 = Meta_Control_r
+ shift control alt ctrll ctrlr keycode 19 = Meta_Control_r
+keycode 20 = t
+ ctrlr keycode 20 = +197
+ shift ctrlr keycode 20 = +229
+ control ctrlr keycode 20 = Control_t
+ shift control ctrlr keycode 20 = Control_t
+ alt ctrlr keycode 20 = Meta_t
+ shift alt ctrlr keycode 20 = Meta_T
+ control alt ctrlr keycode 20 = Meta_Control_t
+ shift control alt ctrlr keycode 20 = Meta_Control_t
+ ctrll keycode 20 = +197
+ shift ctrll keycode 20 = +229
+ control ctrll keycode 20 = Control_t
+ shift control ctrll keycode 20 = Control_t
+ alt ctrll keycode 20 = Meta_t
+ shift alt ctrll keycode 20 = Meta_T
+ control alt ctrll keycode 20 = Meta_Control_t
+ shift control alt ctrll keycode 20 = Meta_Control_t
+ ctrll ctrlr keycode 20 = +197
+ shift ctrll ctrlr keycode 20 = +229
+ control ctrll ctrlr keycode 20 = Control_t
+ shift control ctrll ctrlr keycode 20 = Control_t
+ alt ctrll ctrlr keycode 20 = Meta_t
+ shift alt ctrll ctrlr keycode 20 = Meta_T
+ control alt ctrll ctrlr keycode 20 = Meta_Control_t
+ shift control alt ctrll ctrlr keycode 20 = Meta_Control_t
+keycode 21 = y
+ ctrlr keycode 21 = +206
+ shift ctrlr keycode 21 = +238
+ control ctrlr keycode 21 = Control_y
+ shift control ctrlr keycode 21 = Control_y
+ alt ctrlr keycode 21 = Meta_y
+ shift alt ctrlr keycode 21 = Meta_Y
+ control alt ctrlr keycode 21 = Meta_Control_y
+ shift control alt ctrlr keycode 21 = Meta_Control_y
+ ctrll keycode 21 = +206
+ shift ctrll keycode 21 = +238
+ control ctrll keycode 21 = Control_y
+ shift control ctrll keycode 21 = Control_y
+ alt ctrll keycode 21 = Meta_y
+ shift alt ctrll keycode 21 = Meta_Y
+ control alt ctrll keycode 21 = Meta_Control_y
+ shift control alt ctrll keycode 21 = Meta_Control_y
+ ctrll ctrlr keycode 21 = +206
+ shift ctrll ctrlr keycode 21 = +238
+ control ctrll ctrlr keycode 21 = Control_y
+ shift control ctrll ctrlr keycode 21 = Control_y
+ alt ctrll ctrlr keycode 21 = Meta_y
+ shift alt ctrll ctrlr keycode 21 = Meta_Y
+ control alt ctrll ctrlr keycode 21 = Meta_Control_y
+ shift control alt ctrll ctrlr keycode 21 = Meta_Control_y
+keycode 22 = u
+ ctrlr keycode 22 = +199
+ shift ctrlr keycode 22 = +231
+ control ctrlr keycode 22 = Control_u
+ shift control ctrlr keycode 22 = Control_u
+ alt ctrlr keycode 22 = Meta_u
+ shift alt ctrlr keycode 22 = Meta_U
+ control alt ctrlr keycode 22 = Meta_Control_u
+ shift control alt ctrlr keycode 22 = Meta_Control_u
+ ctrll keycode 22 = +199
+ shift ctrll keycode 22 = +231
+ control ctrll keycode 22 = Control_u
+ shift control ctrll keycode 22 = Control_u
+ alt ctrll keycode 22 = Meta_u
+ shift alt ctrll keycode 22 = Meta_U
+ control alt ctrll keycode 22 = Meta_Control_u
+ shift control alt ctrll keycode 22 = Meta_Control_u
+ ctrll ctrlr keycode 22 = +199
+ shift ctrll ctrlr keycode 22 = +231
+ control ctrll ctrlr keycode 22 = Control_u
+ shift control ctrll ctrlr keycode 22 = Control_u
+ alt ctrll ctrlr keycode 22 = Meta_u
+ shift alt ctrll ctrlr keycode 22 = Meta_U
+ control alt ctrll ctrlr keycode 22 = Meta_Control_u
+ shift control alt ctrll ctrlr keycode 22 = Meta_Control_u
+keycode 23 = i
+ ctrlr keycode 23 = +219
+ shift ctrlr keycode 23 = +251
+ control ctrlr keycode 23 = Control_i
+ shift control ctrlr keycode 23 = Control_i
+ alt ctrlr keycode 23 = Meta_i
+ shift alt ctrlr keycode 23 = Meta_I
+ control alt ctrlr keycode 23 = Meta_Control_i
+ shift control alt ctrlr keycode 23 = Meta_Control_i
+ ctrll keycode 23 = +219
+ shift ctrll keycode 23 = +251
+ control ctrll keycode 23 = Control_i
+ shift control ctrll keycode 23 = Control_i
+ alt ctrll keycode 23 = Meta_i
+ shift alt ctrll keycode 23 = Meta_I
+ control alt ctrll keycode 23 = Meta_Control_i
+ shift control alt ctrll keycode 23 = Meta_Control_i
+ ctrll ctrlr keycode 23 = +219
+ shift ctrll ctrlr keycode 23 = +251
+ control ctrll ctrlr keycode 23 = Control_i
+ shift control ctrll ctrlr keycode 23 = Control_i
+ alt ctrll ctrlr keycode 23 = Meta_i
+ shift alt ctrll ctrlr keycode 23 = Meta_I
+ control alt ctrll ctrlr keycode 23 = Meta_Control_i
+ shift control alt ctrll ctrlr keycode 23 = Meta_Control_i
+keycode 24 = o
+ ctrlr keycode 24 = +221
+ shift ctrlr keycode 24 = +253
+ control ctrlr keycode 24 = Control_o
+ shift control ctrlr keycode 24 = Control_o
+ alt ctrlr keycode 24 = Meta_o
+ shift alt ctrlr keycode 24 = Meta_O
+ control alt ctrlr keycode 24 = Meta_Control_o
+ shift control alt ctrlr keycode 24 = Meta_Control_o
+ ctrll keycode 24 = +221
+ shift ctrll keycode 24 = +253
+ control ctrll keycode 24 = Control_o
+ shift control ctrll keycode 24 = Control_o
+ alt ctrll keycode 24 = Meta_o
+ shift alt ctrll keycode 24 = Meta_O
+ control alt ctrll keycode 24 = Meta_Control_o
+ shift control alt ctrll keycode 24 = Meta_Control_o
+ ctrll ctrlr keycode 24 = +221
+ shift ctrll ctrlr keycode 24 = +253
+ control ctrll ctrlr keycode 24 = Control_o
+ shift control ctrll ctrlr keycode 24 = Control_o
+ alt ctrll ctrlr keycode 24 = Meta_o
+ shift alt ctrll ctrlr keycode 24 = Meta_O
+ control alt ctrll ctrlr keycode 24 = Meta_Control_o
+ shift control alt ctrll ctrlr keycode 24 = Meta_Control_o
+keycode 25 = p
+ ctrlr keycode 25 = +218
+ shift ctrlr keycode 25 = +250
+ control ctrlr keycode 25 = Control_p
+ shift control ctrlr keycode 25 = Control_p
+ alt ctrlr keycode 25 = Meta_p
+ shift alt ctrlr keycode 25 = Meta_P
+ control alt ctrlr keycode 25 = Meta_Control_p
+ shift control alt ctrlr keycode 25 = Meta_Control_p
+ ctrll keycode 25 = +218
+ shift ctrll keycode 25 = +250
+ control ctrll keycode 25 = Control_p
+ shift control ctrll keycode 25 = Control_p
+ alt ctrll keycode 25 = Meta_p
+ shift alt ctrll keycode 25 = Meta_P
+ control alt ctrll keycode 25 = Meta_Control_p
+ shift control alt ctrll keycode 25 = Meta_Control_p
+ ctrll ctrlr keycode 25 = +218
+ shift ctrll ctrlr keycode 25 = +250
+ control ctrll ctrlr keycode 25 = Control_p
+ shift control ctrll ctrlr keycode 25 = Control_p
+ alt ctrll ctrlr keycode 25 = Meta_p
+ shift alt ctrll ctrlr keycode 25 = Meta_P
+ control alt ctrll ctrlr keycode 25 = Meta_Control_p
+ shift control alt ctrll ctrlr keycode 25 = Meta_Control_p
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ shift alt keycode 26 = Meta_braceleft
+ ctrlr keycode 26 = +200
+ shift ctrlr keycode 26 = +232
+ control ctrlr keycode 26 = Escape
+ shift control ctrlr keycode 26 = Escape
+ alt ctrlr keycode 26 = Meta_bracketleft
+ shift alt ctrlr keycode 26 = Meta_braceleft
+ ctrll keycode 26 = +200
+ shift ctrll keycode 26 = +232
+ control ctrll keycode 26 = Escape
+ shift control ctrll keycode 26 = Escape
+ alt ctrll keycode 26 = Meta_bracketleft
+ shift alt ctrll keycode 26 = Meta_braceleft
+ ctrll ctrlr keycode 26 = +200
+ shift ctrll ctrlr keycode 26 = +232
+ control ctrll ctrlr keycode 26 = Escape
+ shift control ctrll ctrlr keycode 26 = Escape
+ alt ctrll ctrlr keycode 26 = Meta_bracketleft
+ shift alt ctrll ctrlr keycode 26 = Meta_braceleft
+keycode 27 = bracketright braceright asciitilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ shift alt keycode 27 = Meta_braceright
+ ctrlr keycode 27 = +223
+ shift ctrlr keycode 27 = +255
+ control ctrlr keycode 27 = Control_bracketright
+ shift control ctrlr keycode 27 = Control_bracketright
+ alt ctrlr keycode 27 = Meta_bracketright
+ shift alt ctrlr keycode 27 = Meta_braceright
+ control alt ctrlr keycode 27 = Meta_Control_bracketright
+ shift control alt ctrlr keycode 27 = Meta_Control_bracketright
+ ctrll keycode 27 = +173
+ shift ctrll keycode 27 = +189
+ control ctrll keycode 27 = Control_bracketright
+ shift control ctrll keycode 27 = Control_bracketright
+ alt ctrll keycode 27 = Meta_bracketright
+ shift alt ctrll keycode 27 = Meta_braceright
+ control alt ctrll keycode 27 = Meta_Control_bracketright
+ shift control alt ctrll keycode 27 = Meta_Control_bracketright
+ ctrll ctrlr keycode 27 = +173
+ shift ctrll ctrlr keycode 27 = +189
+ control ctrll ctrlr keycode 27 = Control_bracketright
+ shift control ctrll ctrlr keycode 27 = Control_bracketright
+ alt ctrll ctrlr keycode 27 = Meta_bracketright
+ shift alt ctrll ctrlr keycode 27 = Meta_braceright
+ control alt ctrll ctrlr keycode 27 = Meta_Control_bracketright
+ shift control alt ctrll ctrlr keycode 27 = Meta_Control_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+ ctrlr keycode 30 = +198
+ shift ctrlr keycode 30 = +230
+ control ctrlr keycode 30 = Control_a
+ shift control ctrlr keycode 30 = Control_a
+ alt ctrlr keycode 30 = Meta_a
+ shift alt ctrlr keycode 30 = Meta_A
+ control alt ctrlr keycode 30 = Meta_Control_a
+ shift control alt ctrlr keycode 30 = Meta_Control_a
+ ctrll keycode 30 = +198
+ shift ctrll keycode 30 = +230
+ control ctrll keycode 30 = Control_a
+ shift control ctrll keycode 30 = Control_a
+ alt ctrll keycode 30 = Meta_a
+ shift alt ctrll keycode 30 = Meta_A
+ control alt ctrll keycode 30 = Meta_Control_a
+ shift control alt ctrll keycode 30 = Meta_Control_a
+ ctrll ctrlr keycode 30 = +198
+ shift ctrll ctrlr keycode 30 = +230
+ control ctrll ctrlr keycode 30 = Control_a
+ shift control ctrll ctrlr keycode 30 = Control_a
+ alt ctrll ctrlr keycode 30 = Meta_a
+ shift alt ctrll ctrlr keycode 30 = Meta_A
+ control alt ctrll ctrlr keycode 30 = Meta_Control_a
+ shift control alt ctrll ctrlr keycode 30 = Meta_Control_a
+keycode 31 = s
+ ctrlr keycode 31 = +217
+ shift ctrlr keycode 31 = +249
+ control ctrlr keycode 31 = Control_s
+ shift control ctrlr keycode 31 = Control_s
+ alt ctrlr keycode 31 = Meta_s
+ shift alt ctrlr keycode 31 = Meta_S
+ control alt ctrlr keycode 31 = Meta_Control_s
+ shift control alt ctrlr keycode 31 = Meta_Control_s
+ ctrll keycode 31 = +201
+ shift ctrll keycode 31 = +233
+ control ctrll keycode 31 = Control_s
+ shift control ctrll keycode 31 = Control_s
+ alt ctrll keycode 31 = Meta_s
+ shift alt ctrll keycode 31 = Meta_S
+ control alt ctrll keycode 31 = Meta_Control_s
+ shift control alt ctrll keycode 31 = Meta_Control_s
+ ctrll ctrlr keycode 31 = +201
+ shift ctrll ctrlr keycode 31 = +233
+ control ctrll ctrlr keycode 31 = Control_s
+ shift control ctrll ctrlr keycode 31 = Control_s
+ alt ctrll ctrlr keycode 31 = Meta_s
+ shift alt ctrll ctrlr keycode 31 = Meta_S
+ control alt ctrll ctrlr keycode 31 = Meta_Control_s
+ shift control alt ctrll ctrlr keycode 31 = Meta_Control_s
+keycode 32 = d
+ ctrlr keycode 32 = +215
+ shift ctrlr keycode 32 = +247
+ control ctrlr keycode 32 = Control_d
+ shift control ctrlr keycode 32 = Control_d
+ alt ctrlr keycode 32 = Meta_d
+ shift alt ctrlr keycode 32 = Meta_D
+ control alt ctrlr keycode 32 = Meta_Control_d
+ shift control alt ctrlr keycode 32 = Meta_Control_d
+ ctrll keycode 32 = +215
+ shift ctrll keycode 32 = +247
+ control ctrll keycode 32 = Control_d
+ shift control ctrll keycode 32 = Control_d
+ alt ctrll keycode 32 = Meta_d
+ shift alt ctrll keycode 32 = Meta_D
+ control alt ctrll keycode 32 = Meta_Control_d
+ shift control alt ctrll keycode 32 = Meta_Control_d
+ ctrll ctrlr keycode 32 = +215
+ shift ctrll ctrlr keycode 32 = +247
+ control ctrll ctrlr keycode 32 = Control_d
+ shift control ctrll ctrlr keycode 32 = Control_d
+ alt ctrll ctrlr keycode 32 = Meta_d
+ shift alt ctrll ctrlr keycode 32 = Meta_D
+ control alt ctrll ctrlr keycode 32 = Meta_Control_d
+ shift control alt ctrll ctrlr keycode 32 = Meta_Control_d
+keycode 33 = f
+ ctrlr keycode 33 = +193
+ shift ctrlr keycode 33 = +225
+ control ctrlr keycode 33 = Control_f
+ shift control ctrlr keycode 33 = Control_f
+ alt ctrlr keycode 33 = Meta_f
+ shift alt ctrlr keycode 33 = Meta_F
+ control alt ctrlr keycode 33 = Meta_Control_f
+ shift control alt ctrlr keycode 33 = Meta_Control_f
+ ctrll keycode 33 = +193
+ shift ctrll keycode 33 = +225
+ control ctrll keycode 33 = Control_f
+ shift control ctrll keycode 33 = Control_f
+ alt ctrll keycode 33 = Meta_f
+ shift alt ctrll keycode 33 = Meta_F
+ control alt ctrll keycode 33 = Meta_Control_f
+ shift control alt ctrll keycode 33 = Meta_Control_f
+ ctrll ctrlr keycode 33 = +193
+ shift ctrll ctrlr keycode 33 = +225
+ control ctrll ctrlr keycode 33 = Control_f
+ shift control ctrll ctrlr keycode 33 = Control_f
+ alt ctrll ctrlr keycode 33 = Meta_f
+ shift alt ctrll ctrlr keycode 33 = Meta_F
+ control alt ctrll ctrlr keycode 33 = Meta_Control_f
+ shift control alt ctrll ctrlr keycode 33 = Meta_Control_f
+keycode 34 = g
+ ctrlr keycode 34 = +208
+ shift ctrlr keycode 34 = +240
+ control ctrlr keycode 34 = Control_g
+ shift control ctrlr keycode 34 = Control_g
+ alt ctrlr keycode 34 = Meta_g
+ shift alt ctrlr keycode 34 = Meta_G
+ control alt ctrlr keycode 34 = Meta_Control_g
+ shift control alt ctrlr keycode 34 = Meta_Control_g
+ ctrll keycode 34 = +208
+ shift ctrll keycode 34 = +240
+ control ctrll keycode 34 = Control_g
+ shift control ctrll keycode 34 = Control_g
+ alt ctrll keycode 34 = Meta_g
+ shift alt ctrll keycode 34 = Meta_G
+ control alt ctrll keycode 34 = Meta_Control_g
+ shift control alt ctrll keycode 34 = Meta_Control_g
+ ctrll ctrlr keycode 34 = +208
+ shift ctrll ctrlr keycode 34 = +240
+ control ctrll ctrlr keycode 34 = Control_g
+ shift control ctrll ctrlr keycode 34 = Control_g
+ alt ctrll ctrlr keycode 34 = Meta_g
+ shift alt ctrll ctrlr keycode 34 = Meta_G
+ control alt ctrll ctrlr keycode 34 = Meta_Control_g
+ shift control alt ctrll ctrlr keycode 34 = Meta_Control_g
+keycode 35 = h
+ ctrlr keycode 35 = +210
+ shift ctrlr keycode 35 = +242
+ control ctrlr keycode 35 = Control_h
+ shift control ctrlr keycode 35 = Control_h
+ alt ctrlr keycode 35 = Meta_h
+ shift alt ctrlr keycode 35 = Meta_H
+ control alt ctrlr keycode 35 = Meta_Control_h
+ shift control alt ctrlr keycode 35 = Meta_Control_h
+ ctrll keycode 35 = +210
+ shift ctrll keycode 35 = +242
+ control ctrll keycode 35 = Control_h
+ shift control ctrll keycode 35 = Control_h
+ alt ctrll keycode 35 = Meta_h
+ shift alt ctrll keycode 35 = Meta_H
+ control alt ctrll keycode 35 = Meta_Control_h
+ shift control alt ctrll keycode 35 = Meta_Control_h
+ ctrll ctrlr keycode 35 = +210
+ shift ctrll ctrlr keycode 35 = +242
+ control ctrll ctrlr keycode 35 = Control_h
+ shift control ctrll ctrlr keycode 35 = Control_h
+ alt ctrll ctrlr keycode 35 = Meta_h
+ shift alt ctrll ctrlr keycode 35 = Meta_H
+ control alt ctrll ctrlr keycode 35 = Meta_Control_h
+ shift control alt ctrll ctrlr keycode 35 = Meta_Control_h
+keycode 36 = j
+ ctrlr keycode 36 = +207
+ shift ctrlr keycode 36 = +239
+ control ctrlr keycode 36 = Control_j
+ shift control ctrlr keycode 36 = Control_j
+ alt ctrlr keycode 36 = Meta_j
+ shift alt ctrlr keycode 36 = Meta_J
+ control alt ctrlr keycode 36 = Meta_Control_j
+ shift control alt ctrlr keycode 36 = Meta_Control_j
+ ctrll keycode 36 = +207
+ shift ctrll keycode 36 = +239
+ control ctrll keycode 36 = Control_j
+ shift control ctrll keycode 36 = Control_j
+ alt ctrll keycode 36 = Meta_j
+ shift alt ctrll keycode 36 = Meta_J
+ control alt ctrll keycode 36 = Meta_Control_j
+ shift control alt ctrll keycode 36 = Meta_Control_j
+ ctrll ctrlr keycode 36 = +207
+ shift ctrll ctrlr keycode 36 = +239
+ control ctrll ctrlr keycode 36 = Control_j
+ shift control ctrll ctrlr keycode 36 = Control_j
+ alt ctrll ctrlr keycode 36 = Meta_j
+ shift alt ctrll ctrlr keycode 36 = Meta_J
+ control alt ctrll ctrlr keycode 36 = Meta_Control_j
+ shift control alt ctrll ctrlr keycode 36 = Meta_Control_j
+keycode 37 = k
+ ctrlr keycode 37 = +204
+ shift ctrlr keycode 37 = +236
+ control ctrlr keycode 37 = Control_k
+ shift control ctrlr keycode 37 = Control_k
+ alt ctrlr keycode 37 = Meta_k
+ shift alt ctrlr keycode 37 = Meta_K
+ control alt ctrlr keycode 37 = Meta_Control_k
+ shift control alt ctrlr keycode 37 = Meta_Control_k
+ ctrll keycode 37 = +204
+ shift ctrll keycode 37 = +236
+ control ctrll keycode 37 = Control_k
+ shift control ctrll keycode 37 = Control_k
+ alt ctrll keycode 37 = Meta_k
+ shift alt ctrll keycode 37 = Meta_K
+ control alt ctrll keycode 37 = Meta_Control_k
+ shift control alt ctrll keycode 37 = Meta_Control_k
+ ctrll ctrlr keycode 37 = +204
+ shift ctrll ctrlr keycode 37 = +236
+ control ctrll ctrlr keycode 37 = Control_k
+ shift control ctrll ctrlr keycode 37 = Control_k
+ alt ctrll ctrlr keycode 37 = Meta_k
+ shift alt ctrll ctrlr keycode 37 = Meta_K
+ control alt ctrll ctrlr keycode 37 = Meta_Control_k
+ shift control alt ctrll ctrlr keycode 37 = Meta_Control_k
+keycode 38 = l
+ ctrlr keycode 38 = +196
+ shift ctrlr keycode 38 = +228
+ control ctrlr keycode 38 = Control_l
+ shift control ctrlr keycode 38 = Control_l
+ alt ctrlr keycode 38 = Meta_l
+ shift alt ctrlr keycode 38 = Meta_L
+ control alt ctrlr keycode 38 = Meta_Control_l
+ shift control alt ctrlr keycode 38 = Meta_Control_l
+ ctrll keycode 38 = +196
+ shift ctrll keycode 38 = +228
+ control ctrll keycode 38 = Control_l
+ shift control ctrll keycode 38 = Control_l
+ alt ctrll keycode 38 = Meta_l
+ shift alt ctrll keycode 38 = Meta_L
+ control alt ctrll keycode 38 = Meta_Control_l
+ shift control alt ctrll keycode 38 = Meta_Control_l
+ ctrll ctrlr keycode 38 = +196
+ shift ctrll ctrlr keycode 38 = +228
+ control ctrll ctrlr keycode 38 = Control_l
+ shift control ctrll ctrlr keycode 38 = Control_l
+ alt ctrll ctrlr keycode 38 = Meta_l
+ shift alt ctrll ctrlr keycode 38 = Meta_L
+ control alt ctrll ctrlr keycode 38 = Meta_Control_l
+ shift control alt ctrll ctrlr keycode 38 = Meta_Control_l
+keycode 39 = semicolon colon
+ alt keycode 39 = Meta_semicolon
+ shift alt keycode 39 = Meta_colon
+ ctrlr keycode 39 = +214
+ shift ctrlr keycode 39 = +246
+ alt ctrlr keycode 39 = Meta_semicolon
+ shift alt ctrlr keycode 39 = Meta_colon
+ ctrll keycode 39 = +214
+ shift ctrll keycode 39 = +246
+ alt ctrll keycode 39 = Meta_semicolon
+ shift alt ctrll keycode 39 = Meta_colon
+ ctrll ctrlr keycode 39 = +214
+ shift ctrll ctrlr keycode 39 = +246
+ alt ctrll ctrlr keycode 39 = Meta_semicolon
+ shift alt ctrll ctrlr keycode 39 = Meta_colon
+keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+ shift alt keycode 40 = Meta_quotedbl
+ ctrlr keycode 40 = +220
+ shift ctrlr keycode 40 = +252
+ control ctrlr keycode 40 = Control_g
+ shift control ctrlr keycode 40 = Control_g
+ alt ctrlr keycode 40 = Meta_apostrophe
+ shift alt ctrlr keycode 40 = Meta_quotedbl
+ ctrll keycode 40 = +164
+ shift ctrll keycode 40 = +180
+ control ctrll keycode 40 = Control_g
+ shift control ctrll keycode 40 = Control_g
+ alt ctrll keycode 40 = Meta_apostrophe
+ shift alt ctrll keycode 40 = Meta_quotedbl
+ ctrll ctrlr keycode 40 = +164
+ shift ctrll ctrlr keycode 40 = +180
+ control ctrll ctrlr keycode 40 = Control_g
+ shift control ctrll ctrlr keycode 40 = Control_g
+ alt ctrll ctrlr keycode 40 = Meta_apostrophe
+ shift alt ctrll ctrlr keycode 40 = Meta_quotedbl
+keycode 41 = grave asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+ shift alt keycode 41 = Meta_asciitilde
+ ctrlr keycode 41 = apostrophe
+ shift ctrlr keycode 41 = question
+ control ctrlr keycode 41 = nul
+ shift control ctrlr keycode 41 = nul
+ alt ctrlr keycode 41 = Meta_grave
+ shift alt ctrlr keycode 41 = Meta_asciitilde
+ ctrll keycode 41 = apostrophe
+ shift ctrll keycode 41 = question
+ control ctrll keycode 41 = nul
+ shift control ctrll keycode 41 = nul
+ alt ctrll keycode 41 = Meta_grave
+ shift alt ctrll keycode 41 = Meta_asciitilde
+ ctrll ctrlr keycode 41 = apostrophe
+ shift ctrll ctrlr keycode 41 = question
+ control ctrll ctrlr keycode 41 = nul
+ shift control ctrll ctrlr keycode 41 = nul
+ alt ctrll ctrlr keycode 41 = Meta_grave
+ shift alt ctrll ctrlr keycode 41 = Meta_asciitilde
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ shift alt keycode 43 = Meta_bar
+ control alt keycode 43 = Meta_Control_backslash
+ shift control alt keycode 43 = Meta_Control_backslash
+ ctrlr keycode 43 = backslash
+ shift ctrlr keycode 43 = bar
+ control ctrlr keycode 43 = Control_backslash
+ shift control ctrlr keycode 43 = Control_backslash
+ alt ctrlr keycode 43 = Meta_backslash
+ shift alt ctrlr keycode 43 = Meta_bar
+ control alt ctrlr keycode 43 = Meta_Control_backslash
+ shift control alt ctrlr keycode 43 = Meta_Control_backslash
+ ctrll keycode 43 = backslash
+ shift ctrll keycode 43 = bar
+ control ctrll keycode 43 = Control_backslash
+ shift control ctrll keycode 43 = Control_backslash
+ alt ctrll keycode 43 = Meta_backslash
+ shift alt ctrll keycode 43 = Meta_bar
+ control alt ctrll keycode 43 = Meta_Control_backslash
+ shift control alt ctrll keycode 43 = Meta_Control_backslash
+ ctrll ctrlr keycode 43 = backslash
+ shift ctrll ctrlr keycode 43 = bar
+ control ctrll ctrlr keycode 43 = Control_backslash
+ shift control ctrll ctrlr keycode 43 = Control_backslash
+ alt ctrll ctrlr keycode 43 = Meta_backslash
+ shift alt ctrll ctrlr keycode 43 = Meta_bar
+ control alt ctrll ctrlr keycode 43 = Meta_Control_backslash
+ shift control alt ctrll ctrlr keycode 43 = Meta_Control_backslash
+keycode 44 = z
+ ctrlr keycode 44 = +209
+ shift ctrlr keycode 44 = +241
+ control ctrlr keycode 44 = Control_z
+ shift control ctrlr keycode 44 = Control_z
+ alt ctrlr keycode 44 = Meta_z
+ shift alt ctrlr keycode 44 = Meta_Z
+ control alt ctrlr keycode 44 = Meta_Control_z
+ shift control alt ctrlr keycode 44 = Meta_Control_z
+ ctrll keycode 44 = +209
+ shift ctrll keycode 44 = +241
+ control ctrll keycode 44 = Control_z
+ shift control ctrll keycode 44 = Control_z
+ alt ctrll keycode 44 = Meta_z
+ shift alt ctrll keycode 44 = Meta_Z
+ control alt ctrll keycode 44 = Meta_Control_z
+ shift control alt ctrll keycode 44 = Meta_Control_z
+ ctrll ctrlr keycode 44 = +209
+ shift ctrll ctrlr keycode 44 = +241
+ control ctrll ctrlr keycode 44 = Control_z
+ shift control ctrll ctrlr keycode 44 = Control_z
+ alt ctrll ctrlr keycode 44 = Meta_z
+ shift alt ctrll ctrlr keycode 44 = Meta_Z
+ control alt ctrll ctrlr keycode 44 = Meta_Control_z
+ shift control alt ctrll ctrlr keycode 44 = Meta_Control_z
+keycode 45 = x
+ ctrlr keycode 45 = +222
+ shift ctrlr keycode 45 = +254
+ control ctrlr keycode 45 = Control_x
+ shift control ctrlr keycode 45 = Control_x
+ alt ctrlr keycode 45 = Meta_x
+ shift alt ctrlr keycode 45 = Meta_X
+ control alt ctrlr keycode 45 = Meta_Control_x
+ shift control alt ctrlr keycode 45 = Meta_Control_x
+ ctrll keycode 45 = +222
+ shift ctrll keycode 45 = +254
+ control ctrll keycode 45 = Control_x
+ shift control ctrll keycode 45 = Control_x
+ alt ctrll keycode 45 = Meta_x
+ shift alt ctrll keycode 45 = Meta_X
+ control alt ctrll keycode 45 = Meta_Control_x
+ shift control alt ctrll keycode 45 = Meta_Control_x
+ ctrll ctrlr keycode 45 = +222
+ shift ctrll ctrlr keycode 45 = +254
+ control ctrll ctrlr keycode 45 = Control_x
+ shift control ctrll ctrlr keycode 45 = Control_x
+ alt ctrll ctrlr keycode 45 = Meta_x
+ shift alt ctrll ctrlr keycode 45 = Meta_X
+ control alt ctrll ctrlr keycode 45 = Meta_Control_x
+ shift control alt ctrll ctrlr keycode 45 = Meta_Control_x
+keycode 46 = c
+ ctrlr keycode 46 = +211
+ shift ctrlr keycode 46 = +243
+ control ctrlr keycode 46 = Control_c
+ shift control ctrlr keycode 46 = Control_c
+ alt ctrlr keycode 46 = Meta_c
+ shift alt ctrlr keycode 46 = Meta_C
+ control alt ctrlr keycode 46 = Meta_Control_c
+ shift control alt ctrlr keycode 46 = Meta_Control_c
+ ctrll keycode 46 = +211
+ shift ctrll keycode 46 = +243
+ control ctrll keycode 46 = Control_c
+ shift control ctrll keycode 46 = Control_c
+ alt ctrll keycode 46 = Meta_c
+ shift alt ctrll keycode 46 = Meta_C
+ control alt ctrll keycode 46 = Meta_Control_c
+ shift control alt ctrll keycode 46 = Meta_Control_c
+ ctrll ctrlr keycode 46 = +211
+ shift ctrll ctrlr keycode 46 = +243
+ control ctrll ctrlr keycode 46 = Control_c
+ shift control ctrll ctrlr keycode 46 = Control_c
+ alt ctrll ctrlr keycode 46 = Meta_c
+ shift alt ctrll ctrlr keycode 46 = Meta_C
+ control alt ctrll ctrlr keycode 46 = Meta_Control_c
+ shift control alt ctrll ctrlr keycode 46 = Meta_Control_c
+keycode 47 = v
+ ctrlr keycode 47 = +205
+ shift ctrlr keycode 47 = +237
+ control ctrlr keycode 47 = Control_v
+ shift control ctrlr keycode 47 = Control_v
+ alt ctrlr keycode 47 = Meta_v
+ shift alt ctrlr keycode 47 = Meta_V
+ control alt ctrlr keycode 47 = Meta_Control_v
+ shift control alt ctrlr keycode 47 = Meta_Control_v
+ ctrll keycode 47 = +205
+ shift ctrll keycode 47 = +237
+ control ctrll keycode 47 = Control_v
+ shift control ctrll keycode 47 = Control_v
+ alt ctrll keycode 47 = Meta_v
+ shift alt ctrll keycode 47 = Meta_V
+ control alt ctrll keycode 47 = Meta_Control_v
+ shift control alt ctrll keycode 47 = Meta_Control_v
+ ctrll ctrlr keycode 47 = +205
+ shift ctrll ctrlr keycode 47 = +237
+ control ctrll ctrlr keycode 47 = Control_v
+ shift control ctrll ctrlr keycode 47 = Control_v
+ alt ctrll ctrlr keycode 47 = Meta_v
+ shift alt ctrll ctrlr keycode 47 = Meta_V
+ control alt ctrll ctrlr keycode 47 = Meta_Control_v
+ shift control alt ctrll ctrlr keycode 47 = Meta_Control_v
+keycode 48 = b
+ ctrlr keycode 48 = +201
+ shift ctrlr keycode 48 = +233
+ control ctrlr keycode 48 = Control_b
+ shift control ctrlr keycode 48 = Control_b
+ alt ctrlr keycode 48 = Meta_b
+ shift alt ctrlr keycode 48 = Meta_B
+ control alt ctrlr keycode 48 = Meta_Control_b
+ shift control alt ctrlr keycode 48 = Meta_Control_b
+ ctrll keycode 48 = +166
+ shift ctrll keycode 48 = +182
+ control ctrll keycode 48 = Control_b
+ shift control ctrll keycode 48 = Control_b
+ alt ctrll keycode 48 = Meta_b
+ shift alt ctrll keycode 48 = Meta_B
+ control alt ctrll keycode 48 = Meta_Control_b
+ shift control alt ctrll keycode 48 = Meta_Control_b
+ ctrll ctrlr keycode 48 = +166
+ shift ctrll ctrlr keycode 48 = +182
+ control ctrll ctrlr keycode 48 = Control_b
+ shift control ctrll ctrlr keycode 48 = Control_b
+ alt ctrll ctrlr keycode 48 = Meta_b
+ shift alt ctrll ctrlr keycode 48 = Meta_B
+ control alt ctrll ctrlr keycode 48 = Meta_Control_b
+ shift control alt ctrll ctrlr keycode 48 = Meta_Control_b
+keycode 49 = n
+ ctrlr keycode 49 = +212
+ shift ctrlr keycode 49 = +244
+ control ctrlr keycode 49 = Control_n
+ shift control ctrlr keycode 49 = Control_n
+ alt ctrlr keycode 49 = Meta_n
+ shift alt ctrlr keycode 49 = Meta_N
+ control alt ctrlr keycode 49 = Meta_Control_n
+ shift control alt ctrlr keycode 49 = Meta_Control_n
+ ctrll keycode 49 = +212
+ shift ctrll keycode 49 = +244
+ control ctrll keycode 49 = Control_n
+ shift control ctrll keycode 49 = Control_n
+ alt ctrll keycode 49 = Meta_n
+ shift alt ctrll keycode 49 = Meta_N
+ control alt ctrll keycode 49 = Meta_Control_n
+ shift control alt ctrll keycode 49 = Meta_Control_n
+ ctrll ctrlr keycode 49 = +212
+ shift ctrll ctrlr keycode 49 = +244
+ control ctrll ctrlr keycode 49 = Control_n
+ shift control ctrll ctrlr keycode 49 = Control_n
+ alt ctrll ctrlr keycode 49 = Meta_n
+ shift alt ctrll ctrlr keycode 49 = Meta_N
+ control alt ctrll ctrlr keycode 49 = Meta_Control_n
+ shift control alt ctrll ctrlr keycode 49 = Meta_Control_n
+keycode 50 = m
+ ctrlr keycode 50 = +216
+ shift ctrlr keycode 50 = +248
+ control ctrlr keycode 50 = Control_m
+ shift control ctrlr keycode 50 = Control_m
+ alt ctrlr keycode 50 = Meta_m
+ shift alt ctrlr keycode 50 = Meta_M
+ control alt ctrlr keycode 50 = Meta_Control_m
+ shift control alt ctrlr keycode 50 = Meta_Control_m
+ ctrll keycode 50 = +216
+ shift ctrll keycode 50 = +248
+ control ctrll keycode 50 = Control_m
+ shift control ctrll keycode 50 = Control_m
+ alt ctrll keycode 50 = Meta_m
+ shift alt ctrll keycode 50 = Meta_M
+ control alt ctrll keycode 50 = Meta_Control_m
+ shift control alt ctrll keycode 50 = Meta_Control_m
+ ctrll ctrlr keycode 50 = +216
+ shift ctrll ctrlr keycode 50 = +248
+ control ctrll ctrlr keycode 50 = Control_m
+ shift control ctrll ctrlr keycode 50 = Control_m
+ alt ctrll ctrlr keycode 50 = Meta_m
+ shift alt ctrll ctrlr keycode 50 = Meta_M
+ control alt ctrll ctrlr keycode 50 = Meta_Control_m
+ shift control alt ctrll ctrlr keycode 50 = Meta_Control_m
+keycode 51 = comma less
+ alt keycode 51 = Meta_comma
+ shift alt keycode 51 = Meta_less
+ ctrlr keycode 51 = +194
+ shift ctrlr keycode 51 = +226
+ alt ctrlr keycode 51 = Meta_comma
+ shift alt ctrlr keycode 51 = Meta_less
+ ctrll keycode 51 = +194
+ shift ctrll keycode 51 = +226
+ alt ctrll keycode 51 = Meta_comma
+ shift alt ctrll keycode 51 = Meta_less
+ ctrll ctrlr keycode 51 = +194
+ shift ctrll ctrlr keycode 51 = +226
+ alt ctrll ctrlr keycode 51 = Meta_comma
+ shift alt ctrll ctrlr keycode 51 = Meta_less
+keycode 52 = period greater
+ control keycode 52 = Compose
+ alt keycode 52 = Meta_period
+ shift alt keycode 52 = Meta_greater
+ ctrlr keycode 52 = +192
+ shift ctrlr keycode 52 = +224
+ alt ctrlr keycode 52 = Meta_period
+ shift alt ctrlr keycode 52 = Meta_greater
+ ctrll keycode 52 = +192
+ shift ctrll keycode 52 = +224
+ alt ctrll keycode 52 = Meta_period
+ shift alt ctrll keycode 52 = Meta_greater
+ ctrll ctrlr keycode 52 = +192
+ shift ctrll ctrlr keycode 52 = +224
+ alt ctrll ctrlr keycode 52 = Meta_period
+ shift alt ctrll ctrlr keycode 52 = Meta_greater
+keycode 53 = slash question
+ control keycode 53 = Delete
+ shift control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+ ctrlr keycode 53 = +163
+ shift ctrlr keycode 53 = +179
+ alt ctrlr keycode 53 = Meta_slash
+ shift alt ctrlr keycode 53 = Meta_question
+ ctrll keycode 53 = +167
+ shift ctrll keycode 53 = +183
+ alt ctrll keycode 53 = Meta_slash
+ shift alt ctrll keycode 53 = Meta_question
+ ctrll ctrlr keycode 53 = +167
+ shift ctrll ctrlr keycode 53 = +183
+ alt ctrll ctrlr keycode 53 = Meta_slash
+ shift alt ctrll ctrlr keycode 53 = Meta_question
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ ctrlr keycode 57 = space
+ shift ctrlr keycode 57 = space
+ control ctrlr keycode 57 = nul
+ shift control ctrlr keycode 57 = nul
+ alt ctrlr keycode 57 = Meta_space
+ shift alt ctrlr keycode 57 = Meta_space
+ ctrll keycode 57 = space
+ shift ctrll keycode 57 = space
+ control ctrll keycode 57 = nul
+ shift control ctrll keycode 57 = nul
+ alt ctrll keycode 57 = Meta_space
+ shift alt ctrll keycode 57 = Meta_space
+ ctrll ctrlr keycode 57 = space
+ shift ctrll ctrlr keycode 57 = space
+ control ctrll ctrlr keycode 57 = nul
+ shift control ctrll ctrlr keycode 57 = nul
+ alt ctrll ctrlr keycode 57 = Meta_space
+ shift alt ctrll ctrlr keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 Console_13
+ control keycode 59 = F25
+ shift control keycode 59 = F37
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+ ctrlr keycode 59 = F1
+ ctrlr shift keycode 59 = F13
+ ctrlr altgr keycode 59 = Console_13
+ ctrlr control keycode 59 = F25
+ ctrlr shift control keycode 59 = F37
+ ctrlr alt keycode 59 = Console_1
+ ctrlr control alt keycode 59 = Console_1
+ ctrll keycode 59 = F1
+ ctrll shift keycode 59 = F13
+ ctrll altgr keycode 59 = Console_13
+ ctrll control keycode 59 = F25
+ ctrll shift control keycode 59 = F37
+ ctrll alt keycode 59 = Console_1
+ ctrll control alt keycode 59 = Console_1
+ ctrlr ctrll keycode 59 = F1
+ ctrlr ctrll shift keycode 59 = F13
+ ctrlr ctrll altgr keycode 59 = Console_13
+ ctrlr ctrll control keycode 59 = F25
+ ctrlr ctrll shift control keycode 59 = F37
+ ctrlr ctrll alt keycode 59 = Console_1
+ ctrlr ctrll control alt keycode 59 = Console_1
+keycode 60 = F2 F14 Console_14
+ control keycode 60 = F26
+ shift control keycode 60 = F38
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+ ctrlr keycode 60 = F2
+ ctrlr shift keycode 60 = F14
+ ctrlr altgr keycode 60 = Console_14
+ ctrlr control keycode 60 = F26
+ ctrlr shift control keycode 60 = F38
+ ctrlr alt keycode 60 = Console_2
+ ctrlr control alt keycode 60 = Console_2
+ ctrll keycode 60 = F2
+ ctrll shift keycode 60 = F14
+ ctrll altgr keycode 60 = Console_14
+ ctrll control keycode 60 = F26
+ ctrll shift control keycode 60 = F38
+ ctrll alt keycode 60 = Console_2
+ ctrll control alt keycode 60 = Console_2
+ ctrlr ctrll keycode 60 = F2
+ ctrlr ctrll shift keycode 60 = F14
+ ctrlr ctrll altgr keycode 60 = Console_14
+ ctrlr ctrll control keycode 60 = F26
+ ctrlr ctrll shift control keycode 60 = F38
+ ctrlr ctrll alt keycode 60 = Console_2
+ ctrlr ctrll control alt keycode 60 = Console_2
+keycode 61 = F3 F15 Console_15
+ control keycode 61 = F27
+ shift control keycode 61 = F39
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+ ctrlr keycode 61 = F3
+ ctrlr shift keycode 61 = F15
+ ctrlr altgr keycode 61 = Console_15
+ ctrlr control keycode 61 = F27
+ ctrlr shift control keycode 61 = F39
+ ctrlr alt keycode 61 = Console_3
+ ctrlr control alt keycode 61 = Console_3
+ ctrll keycode 61 = F3
+ ctrll shift keycode 61 = F15
+ ctrll altgr keycode 61 = Console_15
+ ctrll control keycode 61 = F27
+ ctrll shift control keycode 61 = F39
+ ctrll alt keycode 61 = Console_3
+ ctrll control alt keycode 61 = Console_3
+ ctrlr ctrll keycode 61 = F3
+ ctrlr ctrll shift keycode 61 = F15
+ ctrlr ctrll altgr keycode 61 = Console_15
+ ctrlr ctrll control keycode 61 = F27
+ ctrlr ctrll shift control keycode 61 = F39
+ ctrlr ctrll alt keycode 61 = Console_3
+ ctrlr ctrll control alt keycode 61 = Console_3
+keycode 62 = F4 F16 Console_16
+ control keycode 62 = F28
+ shift control keycode 62 = F40
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+ ctrlr keycode 62 = F4
+ ctrlr shift keycode 62 = F16
+ ctrlr altgr keycode 62 = Console_16
+ ctrlr control keycode 62 = F28
+ ctrlr shift control keycode 62 = F40
+ ctrlr alt keycode 62 = Console_4
+ ctrlr control alt keycode 62 = Console_4
+ ctrll keycode 62 = F4
+ ctrll shift keycode 62 = F16
+ ctrll altgr keycode 62 = Console_16
+ ctrll control keycode 62 = F28
+ ctrll shift control keycode 62 = F40
+ ctrll alt keycode 62 = Console_4
+ ctrll control alt keycode 62 = Console_4
+ ctrlr ctrll keycode 62 = F4
+ ctrlr ctrll shift keycode 62 = F16
+ ctrlr ctrll altgr keycode 62 = Console_16
+ ctrlr ctrll control keycode 62 = F28
+ ctrlr ctrll shift control keycode 62 = F40
+ ctrlr ctrll alt keycode 62 = Console_4
+ ctrlr ctrll control alt keycode 62 = Console_4
+keycode 63 = F5 F17 Console_17
+ control keycode 63 = F29
+ shift control keycode 63 = F41
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+ ctrlr keycode 63 = F5
+ ctrlr shift keycode 63 = F17
+ ctrlr altgr keycode 63 = Console_17
+ ctrlr control keycode 63 = F29
+ ctrlr shift control keycode 63 = F41
+ ctrlr alt keycode 63 = Console_5
+ ctrlr control alt keycode 63 = Console_5
+ ctrll keycode 63 = F5
+ ctrll shift keycode 63 = F17
+ ctrll altgr keycode 63 = Console_17
+ ctrll control keycode 63 = F29
+ ctrll shift control keycode 63 = F41
+ ctrll alt keycode 63 = Console_5
+ ctrll control alt keycode 63 = Console_5
+ ctrlr ctrll keycode 63 = F5
+ ctrlr ctrll shift keycode 63 = F17
+ ctrlr ctrll altgr keycode 63 = Console_17
+ ctrlr ctrll control keycode 63 = F29
+ ctrlr ctrll shift control keycode 63 = F41
+ ctrlr ctrll alt keycode 63 = Console_5
+ ctrlr ctrll control alt keycode 63 = Console_5
+keycode 64 = F6 F18 Console_18
+ control keycode 64 = F30
+ shift control keycode 64 = F42
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+ ctrlr keycode 64 = F6
+ ctrlr shift keycode 64 = F18
+ ctrlr altgr keycode 64 = Console_18
+ ctrlr control keycode 64 = F30
+ ctrlr shift control keycode 64 = F42
+ ctrlr alt keycode 64 = Console_6
+ ctrlr control alt keycode 64 = Console_6
+ ctrll keycode 64 = F6
+ ctrll shift keycode 64 = F18
+ ctrll altgr keycode 64 = Console_18
+ ctrll control keycode 64 = F30
+ ctrll shift control keycode 64 = F42
+ ctrll alt keycode 64 = Console_6
+ ctrll control alt keycode 64 = Console_6
+ ctrlr ctrll keycode 64 = F6
+ ctrlr ctrll shift keycode 64 = F18
+ ctrlr ctrll altgr keycode 64 = Console_18
+ ctrlr ctrll control keycode 64 = F30
+ ctrlr ctrll shift control keycode 64 = F42
+ ctrlr ctrll alt keycode 64 = Console_6
+ ctrlr ctrll control alt keycode 64 = Console_6
+keycode 65 = F7 F19 Console_19
+ control keycode 65 = F31
+ shift control keycode 65 = F43
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+ ctrlr keycode 65 = F7
+ ctrlr shift keycode 65 = F19
+ ctrlr altgr keycode 65 = Console_19
+ ctrlr control keycode 65 = F31
+ ctrlr shift control keycode 65 = F43
+ ctrlr alt keycode 65 = Console_7
+ ctrlr control alt keycode 65 = Console_7
+ ctrll keycode 65 = F7
+ ctrll shift keycode 65 = F19
+ ctrll altgr keycode 65 = Console_19
+ ctrll control keycode 65 = F31
+ ctrll shift control keycode 65 = F43
+ ctrll alt keycode 65 = Console_7
+ ctrll control alt keycode 65 = Console_7
+ ctrlr ctrll keycode 65 = F7
+ ctrlr ctrll shift keycode 65 = F19
+ ctrlr ctrll altgr keycode 65 = Console_19
+ ctrlr ctrll control keycode 65 = F31
+ ctrlr ctrll shift control keycode 65 = F43
+ ctrlr ctrll alt keycode 65 = Console_7
+ ctrlr ctrll control alt keycode 65 = Console_7
+keycode 66 = F8 F20 Console_20
+ control keycode 66 = F32
+ shift control keycode 66 = F44
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+ ctrlr keycode 66 = F8
+ ctrlr shift keycode 66 = F20
+ ctrlr altgr keycode 66 = Console_20
+ ctrlr control keycode 66 = F32
+ ctrlr shift control keycode 66 = F44
+ ctrlr alt keycode 66 = Console_8
+ ctrlr control alt keycode 66 = Console_8
+ ctrll keycode 66 = F8
+ ctrll shift keycode 66 = F20
+ ctrll altgr keycode 66 = Console_20
+ ctrll control keycode 66 = F32
+ ctrll shift control keycode 66 = F44
+ ctrll alt keycode 66 = Console_8
+ ctrll control alt keycode 66 = Console_8
+ ctrlr ctrll keycode 66 = F8
+ ctrlr ctrll shift keycode 66 = F20
+ ctrlr ctrll altgr keycode 66 = Console_20
+ ctrlr ctrll control keycode 66 = F32
+ ctrlr ctrll shift control keycode 66 = F44
+ ctrlr ctrll alt keycode 66 = Console_8
+ ctrlr ctrll control alt keycode 66 = Console_8
+keycode 67 = F9 F21 Console_21
+ control keycode 67 = F33
+ shift control keycode 67 = F45
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+ ctrlr keycode 67 = F9
+ ctrlr shift keycode 67 = F21
+ ctrlr altgr keycode 67 = Console_21
+ ctrlr control keycode 67 = F33
+ ctrlr shift control keycode 67 = F45
+ ctrlr alt keycode 67 = Console_9
+ ctrlr control alt keycode 67 = Console_9
+ ctrll keycode 67 = F9
+ ctrll shift keycode 67 = F21
+ ctrll altgr keycode 67 = Console_21
+ ctrll control keycode 67 = F33
+ ctrll shift control keycode 67 = F45
+ ctrll alt keycode 67 = Console_9
+ ctrll control alt keycode 67 = Console_9
+ ctrlr ctrll keycode 67 = F9
+ ctrlr ctrll shift keycode 67 = F21
+ ctrlr ctrll altgr keycode 67 = Console_21
+ ctrlr ctrll control keycode 67 = F33
+ ctrlr ctrll shift control keycode 67 = F45
+ ctrlr ctrll alt keycode 67 = Console_9
+ ctrlr ctrll control alt keycode 67 = Console_9
+keycode 68 = F10 F22 Console_22
+ control keycode 68 = F34
+ shift control keycode 68 = F46
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+ ctrlr keycode 68 = F10
+ ctrlr shift keycode 68 = F22
+ ctrlr altgr keycode 68 = Console_22
+ ctrlr control keycode 68 = F34
+ ctrlr shift control keycode 68 = F46
+ ctrlr alt keycode 68 = Console_10
+ ctrlr control alt keycode 68 = Console_10
+ ctrll keycode 68 = F10
+ ctrll shift keycode 68 = F22
+ ctrll altgr keycode 68 = Console_22
+ ctrll control keycode 68 = F34
+ ctrll shift control keycode 68 = F46
+ ctrll alt keycode 68 = Console_10
+ ctrll control alt keycode 68 = Console_10
+ ctrlr ctrll keycode 68 = F10
+ ctrlr ctrll shift keycode 68 = F22
+ ctrlr ctrll altgr keycode 68 = Console_22
+ ctrlr ctrll control keycode 68 = F34
+ ctrlr ctrll shift control keycode 68 = F46
+ ctrlr ctrll alt keycode 68 = Console_10
+ ctrlr ctrll control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 87 = F11 F23 Console_23
+ control keycode 87 = F35
+ shift control keycode 87 = F47
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+ ctrlr keycode 87 = F11
+ ctrlr shift keycode 87 = F23
+ ctrlr altgr keycode 87 = Console_23
+ ctrlr control keycode 87 = F35
+ ctrlr shift control keycode 87 = F47
+ ctrlr alt keycode 87 = Console_11
+ ctrlr control alt keycode 87 = Console_11
+ ctrll keycode 87 = F11
+ ctrll shift keycode 87 = F23
+ ctrll altgr keycode 87 = Console_23
+ ctrll control keycode 87 = F35
+ ctrll shift control keycode 87 = F47
+ ctrll alt keycode 87 = Console_11
+ ctrll control alt keycode 87 = Console_11
+ ctrlr ctrll keycode 87 = F11
+ ctrlr ctrll shift keycode 87 = F23
+ ctrlr ctrll altgr keycode 87 = Console_23
+ ctrlr ctrll control keycode 87 = F35
+ ctrlr ctrll shift control keycode 87 = F47
+ ctrlr ctrll alt keycode 87 = Console_11
+ ctrlr ctrll control alt keycode 87 = Console_11
+keycode 88 = F12 F24 Console_24
+ control keycode 88 = F36
+ shift control keycode 88 = F48
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+ ctrlr keycode 88 = F12
+ ctrlr shift keycode 88 = F24
+ ctrlr altgr keycode 88 = Console_24
+ ctrlr control keycode 88 = F36
+ ctrlr shift control keycode 88 = F48
+ ctrlr alt keycode 88 = Console_12
+ ctrlr control alt keycode 88 = Console_12
+ ctrll keycode 88 = F12
+ ctrll shift keycode 88 = F24
+ ctrll altgr keycode 88 = Console_24
+ ctrll control keycode 88 = F36
+ ctrll shift control keycode 88 = F48
+ ctrll alt keycode 88 = Console_12
+ ctrll control alt keycode 88 = Console_12
+ ctrlr ctrll keycode 88 = F12
+ ctrlr ctrll shift keycode 88 = F24
+ ctrlr ctrll altgr keycode 88 = Console_24
+ ctrlr ctrll control keycode 88 = F36
+ ctrlr ctrll shift control keycode 88 = F48
+ ctrlr ctrll alt keycode 88 = Console_12
+ ctrlr ctrll control alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+keycode 97 = CtrlR_Lock
+ctrlr keycode 97 = CtrlR_Lock
+ctrll keycode 97 = CtrlR_Lock
+ctrll ctrlr keycode 97 = CtrlR_Lock
+keycode 98 = KP_Divide
+keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+keycode 100 = CtrlL_Lock
+ctrll keycode 100 = CtrlL_Lock
+ctrlr keycode 100 = CtrlL_Lock
+ctrll ctrlr keycode 100 = CtrlL_Lock
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/i386/qwerty/uaw.kmap b/keymaps/i386/qwerty/uaw.kmap
new file mode 100644
index 0000000..27bbae6
--- /dev/null
+++ b/keymaps/i386/qwerty/uaw.kmap
@@ -0,0 +1,1583 @@
+# Ukrainian Cyrillic KOI8-U keymap.
+# KOI8-R included as addition.
+#
+# This map uses additional "windows" keys like
+# register switches.
+# Key Meaning
+# LeftWin - AltGr
+# RightWin - Koi8-r
+# RightMenu - Koi8-u
+# Both left&right alt&ctrl means themselves.
+#
+# In addition AltGr + digit key generate some special chars, which
+# is present in KOI8-U table:
+# 1-–
+# 2-
+# 3-˜
+# 4-™
+# 5-œ
+# 6-—
+# 7-ž
+# 8-Ÿ
+# 9-“
+# 0-- low part of integral has code == CSI and it is invisible in ascii console mode.
+# --•
+
+keymaps 0-2,4-6,8-9,12-13,64-66,68-69,72-73,76-77,128-130,132-133,136-137,140-141,192-194,196-197,200-201,204-205
+
+strings as usual
+compose as usual for "iso-8859-1"
+
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+ ctrlr keycode 1 = Escape
+ shift ctrlr keycode 1 = Escape
+ alt ctrlr keycode 1 = Meta_Escape
+ ctrll keycode 1 = Escape
+ shift ctrll keycode 1 = Escape
+ alt ctrll keycode 1 = Meta_Escape
+ ctrll ctrlr keycode 1 = Escape
+ shift ctrll ctrlr keycode 1 = Escape
+ alt ctrll ctrlr keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+ ctrlr keycode 2 = one
+ shift ctrlr keycode 2 = exclam
+ alt ctrlr keycode 2 = Meta_one
+ shift alt ctrlr keycode 2 = Meta_exclam
+ ctrll keycode 2 = one
+ shift ctrll keycode 2 = exclam
+ alt ctrll keycode 2 = Meta_one
+ shift alt ctrll keycode 2 = Meta_exclam
+ ctrll ctrlr keycode 2 = one
+ shift ctrll ctrlr keycode 2 = exclam
+ alt ctrll ctrlr keycode 2 = Meta_one
+ shift alt ctrll ctrlr keycode 2 = Meta_exclam
+ altgr keycode 2 = 150
+keycode 3 = two at at
+ control keycode 3 = nul
+ shift control keycode 3 = nul
+ alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_at
+ ctrlr keycode 3 = two
+ shift ctrlr keycode 3 = quotedbl
+ control ctrlr keycode 3 = nul
+ shift control ctrlr keycode 3 = nul
+ alt ctrlr keycode 3 = Meta_two
+ shift alt ctrlr keycode 3 = Meta_at
+ ctrll keycode 3 = two
+ shift ctrll keycode 3 = quotedbl
+ control ctrll keycode 3 = nul
+ shift control ctrll keycode 3 = nul
+ alt ctrll keycode 3 = Meta_two
+ shift alt ctrll keycode 3 = Meta_at
+ ctrll ctrlr keycode 3 = two
+ shift ctrll ctrlr keycode 3 = quotedbl
+ control ctrll ctrlr keycode 3 = nul
+ shift control ctrll ctrlr keycode 3 = nul
+ alt ctrll ctrlr keycode 3 = Meta_two
+ shift alt ctrll ctrlr keycode 3 = Meta_at
+ altgr keycode 3 = 157
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ shift alt keycode 4 = Meta_numbersign
+ ctrlr keycode 4 = three
+ shift ctrlr keycode 4 = numbersign
+ control ctrlr keycode 4 = Escape
+ shift control ctrlr keycode 4 = Escape
+ alt ctrlr keycode 4 = Meta_three
+ shift alt ctrlr keycode 4 = Meta_numbersign
+ ctrll keycode 4 = three
+ shift ctrll keycode 4 = numbersign
+ control ctrll keycode 4 = Escape
+ shift control ctrll keycode 4 = Escape
+ alt ctrll keycode 4 = Meta_three
+ shift alt ctrll keycode 4 = Meta_numbersign
+ ctrll ctrlr keycode 4 = three
+ shift ctrll ctrlr keycode 4 = numbersign
+ control ctrll ctrlr keycode 4 = Escape
+ shift control ctrll ctrlr keycode 4 = Escape
+ alt ctrll ctrlr keycode 4 = Meta_three
+ shift alt ctrll ctrlr keycode 4 = Meta_numbersign
+ altgr keycode 4 = 152
+keycode 5 = four dollar dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+ ctrlr keycode 5 = four
+ shift ctrlr keycode 5 = semicolon
+ control ctrlr keycode 5 = Control_backslash
+ shift control ctrlr keycode 5 = Control_backslash
+ alt ctrlr keycode 5 = Meta_four
+ shift alt ctrlr keycode 5 = Meta_dollar
+ ctrll keycode 5 = four
+ shift ctrll keycode 5 = semicolon
+ control ctrll keycode 5 = Control_backslash
+ shift control ctrll keycode 5 = Control_backslash
+ alt ctrll keycode 5 = Meta_four
+ shift alt ctrll keycode 5 = Meta_dollar
+ ctrll ctrlr keycode 5 = four
+ shift ctrll ctrlr keycode 5 = semicolon
+ control ctrll ctrlr keycode 5 = Control_backslash
+ shift control ctrll ctrlr keycode 5 = Control_backslash
+ alt ctrll ctrlr keycode 5 = Meta_four
+ shift alt ctrll ctrlr keycode 5 = Meta_dollar
+ altgr keycode 5 = 153
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+ ctrlr keycode 6 = five
+ shift ctrlr keycode 6 = colon
+ control ctrlr keycode 6 = Control_bracketright
+ shift control ctrlr keycode 6 = Control_bracketright
+ alt ctrlr keycode 6 = Meta_five
+ shift alt ctrlr keycode 6 = Meta_percent
+ ctrll keycode 6 = five
+ shift ctrll keycode 6 = colon
+ control ctrll keycode 6 = Control_bracketright
+ shift control ctrll keycode 6 = Control_bracketright
+ alt ctrll keycode 6 = Meta_five
+ shift alt ctrll keycode 6 = Meta_percent
+ ctrll ctrlr keycode 6 = five
+ shift ctrll ctrlr keycode 6 = colon
+ control ctrll ctrlr keycode 6 = Control_bracketright
+ shift control ctrll ctrlr keycode 6 = Control_bracketright
+ alt ctrll ctrlr keycode 6 = Meta_five
+ shift alt ctrll ctrlr keycode 6 = Meta_percent
+ altgr keycode 6 = 156
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_asciicircum
+ ctrlr keycode 7 = six
+ shift ctrlr keycode 7 = comma
+ control ctrlr keycode 7 = Control_asciicircum
+ shift control ctrlr keycode 7 = Control_asciicircum
+ alt ctrlr keycode 7 = Meta_six
+ shift alt ctrlr keycode 7 = Meta_asciicircum
+ ctrll keycode 7 = six
+ shift ctrll keycode 7 = comma
+ control ctrll keycode 7 = Control_asciicircum
+ shift control ctrll keycode 7 = Control_asciicircum
+ alt ctrll keycode 7 = Meta_six
+ shift alt ctrll keycode 7 = Meta_asciicircum
+ ctrll ctrlr keycode 7 = six
+ shift ctrll ctrlr keycode 7 = comma
+ control ctrll ctrlr keycode 7 = Control_asciicircum
+ shift control ctrll ctrlr keycode 7 = Control_asciicircum
+ alt ctrll ctrlr keycode 7 = Meta_six
+ shift alt ctrll ctrlr keycode 7 = Meta_asciicircum
+ altgr keycode 7 = 151
+keycode 8 = seven ampersand braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+ shift alt keycode 8 = Meta_ampersand
+ ctrlr keycode 8 = seven
+ shift ctrlr keycode 8 = period
+ control ctrlr keycode 8 = Control_underscore
+ shift control ctrlr keycode 8 = Control_underscore
+ alt ctrlr keycode 8 = Meta_seven
+ shift alt ctrlr keycode 8 = Meta_ampersand
+ ctrll keycode 8 = seven
+ shift ctrll keycode 8 = period
+ control ctrll keycode 8 = Control_underscore
+ shift control ctrll keycode 8 = Control_underscore
+ alt ctrll keycode 8 = Meta_seven
+ shift alt ctrll keycode 8 = Meta_ampersand
+ ctrll ctrlr keycode 8 = seven
+ shift ctrll ctrlr keycode 8 = period
+ control ctrll ctrlr keycode 8 = Control_underscore
+ shift control ctrll ctrlr keycode 8 = Control_underscore
+ alt ctrll ctrlr keycode 8 = Meta_seven
+ shift alt ctrll ctrlr keycode 8 = Meta_ampersand
+ altgr keycode 8 = 158
+keycode 9 = eight asterisk bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+ shift alt keycode 9 = Meta_asterisk
+ ctrlr keycode 9 = eight
+ shift ctrlr keycode 9 = asterisk
+ control ctrlr keycode 9 = Delete
+ shift control ctrlr keycode 9 = Delete
+ alt ctrlr keycode 9 = Meta_eight
+ shift alt ctrlr keycode 9 = Meta_asterisk
+ ctrll keycode 9 = eight
+ shift ctrll keycode 9 = asterisk
+ control ctrll keycode 9 = Delete
+ shift control ctrll keycode 9 = Delete
+ alt ctrll keycode 9 = Meta_eight
+ shift alt ctrll keycode 9 = Meta_asterisk
+ ctrll ctrlr keycode 9 = eight
+ shift ctrll ctrlr keycode 9 = asterisk
+ control ctrll ctrlr keycode 9 = Delete
+ shift control ctrll ctrlr keycode 9 = Delete
+ alt ctrll ctrlr keycode 9 = Meta_eight
+ shift alt ctrll ctrlr keycode 9 = Meta_asterisk
+ altgr keycode 9 = 159
+keycode 10 = nine parenleft bracketright
+ alt keycode 10 = Meta_nine
+ shift alt keycode 10 = Meta_parenleft
+ ctrlr keycode 10 = nine
+ shift ctrlr keycode 10 = parenleft
+ alt ctrlr keycode 10 = Meta_nine
+ shift alt ctrlr keycode 10 = Meta_parenleft
+ ctrll keycode 10 = nine
+ shift ctrll keycode 10 = parenleft
+ alt ctrll keycode 10 = Meta_nine
+ shift alt ctrll keycode 10 = Meta_parenleft
+ ctrll ctrlr keycode 10 = nine
+ shift ctrll ctrlr keycode 10 = parenleft
+ alt ctrll ctrlr keycode 10 = Meta_nine
+ shift alt ctrll ctrlr keycode 10 = Meta_parenleft
+ altgr keycode 10 = 147
+keycode 11 = zero parenright braceright
+ alt keycode 11 = Meta_zero
+ alt keycode 11 = Meta_parenright
+ ctrlr keycode 11 = zero
+ shift ctrlr keycode 11 = parenright
+ alt ctrlr keycode 11 = Meta_zero
+ shift alt ctrlr keycode 11 = Meta_parenright
+ ctrll keycode 11 = zero
+ shift ctrll keycode 11 = parenright
+ alt ctrll keycode 11 = Meta_zero
+ shift alt ctrll keycode 11 = Meta_parenright
+ ctrll ctrlr keycode 11 = zero
+ shift ctrll ctrlr keycode 11 = parenright
+ alt ctrll ctrlr keycode 11 = Meta_zero
+ shift alt ctrll ctrlr keycode 11 = Meta_parenright
+ altgr keycode 11 = 155
+keycode 12 = minus underscore backslash
+ control keycode 12 = Control_underscore
+ shift control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+ shift alt keycode 12 = Meta_underscore
+ ctrlr keycode 12 = minus
+ shift ctrlr keycode 12 = underscore
+ control ctrlr keycode 12 = Control_underscore
+ shift control ctrlr keycode 12 = Control_underscore
+ alt ctrlr keycode 12 = Meta_minus
+ shift alt ctrlr keycode 12 = Meta_underscore
+ ctrll keycode 12 = minus
+ shift ctrll keycode 12 = underscore
+ control ctrll keycode 12 = Control_underscore
+ shift control ctrll keycode 12 = Control_underscore
+ alt ctrll keycode 12 = Meta_minus
+ shift alt ctrll keycode 12 = Meta_underscore
+ ctrll ctrlr keycode 12 = minus
+ shift ctrll ctrlr keycode 12 = underscore
+ control ctrll ctrlr keycode 12 = Control_underscore
+ shift control ctrll ctrlr keycode 12 = Control_underscore
+ alt ctrll ctrlr keycode 12 = Meta_minus
+ shift alt ctrll ctrlr keycode 12 = Meta_underscore
+ altgr keycode 12 = 149
+keycode 13 = equal plus
+ alt keycode 13 = Meta_equal
+ shift alt keycode 13 = Meta_plus
+ ctrlr keycode 13 = equal
+ shift ctrlr keycode 13 = plus
+ alt ctrlr keycode 13 = Meta_equal
+ shift alt ctrlr keycode 13 = Meta_plus
+ ctrll keycode 13 = equal
+ shift ctrll keycode 13 = plus
+ alt ctrll keycode 13 = Meta_equal
+ shift alt ctrll keycode 13 = Meta_plus
+ ctrll ctrlr keycode 13 = equal
+ shift ctrll ctrlr keycode 13 = plus
+ alt ctrll ctrlr keycode 13 = Meta_equal
+ shift alt ctrll ctrlr keycode 13 = Meta_plus
+keycode 14 = BackSpace Delete
+ control keycode 14 = BackSpace
+ alt keycode 14 = Meta_Delete
+ ctrlr keycode 14 = Delete
+ shift ctrlr keycode 14 = Delete
+ control ctrlr keycode 14 = BackSpace
+ shift control ctrlr keycode 14 = BackSpace
+ alt ctrlr keycode 14 = Meta_Delete
+ shift alt ctrlr keycode 14 = Meta_Delete
+ ctrll keycode 14 = Delete
+ shift ctrll keycode 14 = Delete
+ control ctrll keycode 14 = BackSpace
+ shift control ctrll keycode 14 = BackSpace
+ alt ctrll keycode 14 = Meta_Delete
+ shift alt ctrll keycode 14 = Meta_Delete
+ ctrll ctrlr keycode 14 = Delete
+ shift ctrll ctrlr keycode 14 = Delete
+ control ctrll ctrlr keycode 14 = BackSpace
+ shift control ctrll ctrlr keycode 14 = BackSpace
+ alt ctrll ctrlr keycode 14 = Meta_Delete
+ shift alt ctrll ctrlr keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+ ctrlr keycode 15 = Tab
+ shift ctrlr keycode 15 = Tab
+ alt ctrlr keycode 15 = Meta_Tab
+ shift alt ctrlr keycode 15 = Meta_Tab
+ ctrll keycode 15 = Tab
+ shift ctrll keycode 15 = Tab
+ alt ctrll keycode 15 = Meta_Tab
+ shift alt ctrll keycode 15 = Meta_Tab
+ ctrll ctrlr keycode 15 = Tab
+ shift ctrll ctrlr keycode 15 = Tab
+ alt ctrll ctrlr keycode 15 = Meta_Tab
+ shift alt ctrll ctrlr keycode 15 = Meta_Tab
+keycode 16 = q
+ ctrlr keycode 16 = +202
+ shift ctrlr keycode 16 = +234
+ control ctrlr keycode 16 = Control_q
+ shift control ctrlr keycode 16 = Control_q
+ alt ctrlr keycode 16 = Meta_q
+ shift alt ctrlr keycode 16 = Meta_Q
+ control alt ctrlr keycode 16 = Meta_Control_q
+ shift control alt ctrlr keycode 16 = Meta_Control_q
+ ctrll keycode 16 = +202
+ shift ctrll keycode 16 = +234
+ control ctrll keycode 16 = Control_q
+ shift control ctrll keycode 16 = Control_q
+ alt ctrll keycode 16 = Meta_q
+ shift alt ctrll keycode 16 = Meta_Q
+ control alt ctrll keycode 16 = Meta_Control_q
+ shift control alt ctrll keycode 16 = Meta_Control_q
+ ctrll ctrlr keycode 16 = +202
+ shift ctrll ctrlr keycode 16 = +234
+ control ctrll ctrlr keycode 16 = Control_q
+ shift control ctrll ctrlr keycode 16 = Control_q
+ alt ctrll ctrlr keycode 16 = Meta_q
+ shift alt ctrll ctrlr keycode 16 = Meta_Q
+ control alt ctrll ctrlr keycode 16 = Meta_Control_q
+ shift control alt ctrll ctrlr keycode 16 = Meta_Control_q
+keycode 17 = w
+ ctrlr keycode 17 = +195
+ shift ctrlr keycode 17 = +227
+ control ctrlr keycode 17 = Control_w
+ shift control ctrlr keycode 17 = Control_w
+ alt ctrlr keycode 17 = Meta_w
+ shift alt ctrlr keycode 17 = Meta_W
+ control alt ctrlr keycode 17 = Meta_Control_w
+ shift control alt ctrlr keycode 17 = Meta_Control_w
+ ctrll keycode 17 = +195
+ shift ctrll keycode 17 = +227
+ control ctrll keycode 17 = Control_w
+ shift control ctrll keycode 17 = Control_w
+ alt ctrll keycode 17 = Meta_w
+ shift alt ctrll keycode 17 = Meta_W
+ control alt ctrll keycode 17 = Meta_Control_w
+ shift control alt ctrll keycode 17 = Meta_Control_w
+ ctrll ctrlr keycode 17 = +195
+ shift ctrll ctrlr keycode 17 = +227
+ control ctrll ctrlr keycode 17 = Control_w
+ shift control ctrll ctrlr keycode 17 = Control_w
+ alt ctrll ctrlr keycode 17 = Meta_w
+ shift alt ctrll ctrlr keycode 17 = Meta_W
+ control alt ctrll ctrlr keycode 17 = Meta_Control_w
+ shift control alt ctrll ctrlr keycode 17 = Meta_Control_w
+keycode 18 = e
+ ctrlr keycode 18 = +213
+ shift ctrlr keycode 18 = +245
+ control ctrlr keycode 18 = Control_e
+ shift control ctrlr keycode 18 = Control_e
+ alt ctrlr keycode 18 = Meta_e
+ shift alt ctrlr keycode 18 = Meta_E
+ control alt ctrlr keycode 18 = Meta_Control_e
+ shift control alt ctrlr keycode 18 = Meta_Control_e
+ ctrll keycode 18 = +213
+ shift ctrll keycode 18 = +245
+ control ctrll keycode 18 = Control_e
+ shift control ctrll keycode 18 = Control_e
+ alt ctrll keycode 18 = Meta_e
+ shift alt ctrll keycode 18 = Meta_E
+ control alt ctrll keycode 18 = Meta_Control_e
+ shift control alt ctrll keycode 18 = Meta_Control_e
+ ctrll ctrlr keycode 18 = +213
+ shift ctrll ctrlr keycode 18 = +245
+ control ctrll ctrlr keycode 18 = Control_e
+ shift control ctrll ctrlr keycode 18 = Control_e
+ alt ctrll ctrlr keycode 18 = Meta_e
+ shift alt ctrll ctrlr keycode 18 = Meta_E
+ control alt ctrll ctrlr keycode 18 = Meta_Control_e
+ shift control alt ctrll ctrlr keycode 18 = Meta_Control_e
+keycode 19 = r
+ ctrlr keycode 19 = +203
+ shift ctrlr keycode 19 = +235
+ control ctrlr keycode 19 = Control_r
+ shift control ctrlr keycode 19 = Control_r
+ alt ctrlr keycode 19 = Meta_r
+ shift alt ctrlr keycode 19 = Meta_R
+ control alt ctrlr keycode 19 = Meta_Control_r
+ shift control alt ctrlr keycode 19 = Meta_Control_r
+ ctrll keycode 19 = +203
+ shift ctrll keycode 19 = +235
+ control ctrll keycode 19 = Control_r
+ shift control ctrll keycode 19 = Control_r
+ alt ctrll keycode 19 = Meta_r
+ shift alt ctrll keycode 19 = Meta_R
+ control alt ctrll keycode 19 = Meta_Control_r
+ shift control alt ctrll keycode 19 = Meta_Control_r
+ ctrll ctrlr keycode 19 = +203
+ shift ctrll ctrlr keycode 19 = +235
+ control ctrll ctrlr keycode 19 = Control_r
+ shift control ctrll ctrlr keycode 19 = Control_r
+ alt ctrll ctrlr keycode 19 = Meta_r
+ shift alt ctrll ctrlr keycode 19 = Meta_R
+ control alt ctrll ctrlr keycode 19 = Meta_Control_r
+ shift control alt ctrll ctrlr keycode 19 = Meta_Control_r
+keycode 20 = t
+ ctrlr keycode 20 = +197
+ shift ctrlr keycode 20 = +229
+ control ctrlr keycode 20 = Control_t
+ shift control ctrlr keycode 20 = Control_t
+ alt ctrlr keycode 20 = Meta_t
+ shift alt ctrlr keycode 20 = Meta_T
+ control alt ctrlr keycode 20 = Meta_Control_t
+ shift control alt ctrlr keycode 20 = Meta_Control_t
+ ctrll keycode 20 = +197
+ shift ctrll keycode 20 = +229
+ control ctrll keycode 20 = Control_t
+ shift control ctrll keycode 20 = Control_t
+ alt ctrll keycode 20 = Meta_t
+ shift alt ctrll keycode 20 = Meta_T
+ control alt ctrll keycode 20 = Meta_Control_t
+ shift control alt ctrll keycode 20 = Meta_Control_t
+ ctrll ctrlr keycode 20 = +197
+ shift ctrll ctrlr keycode 20 = +229
+ control ctrll ctrlr keycode 20 = Control_t
+ shift control ctrll ctrlr keycode 20 = Control_t
+ alt ctrll ctrlr keycode 20 = Meta_t
+ shift alt ctrll ctrlr keycode 20 = Meta_T
+ control alt ctrll ctrlr keycode 20 = Meta_Control_t
+ shift control alt ctrll ctrlr keycode 20 = Meta_Control_t
+keycode 21 = y
+ ctrlr keycode 21 = +206
+ shift ctrlr keycode 21 = +238
+ control ctrlr keycode 21 = Control_y
+ shift control ctrlr keycode 21 = Control_y
+ alt ctrlr keycode 21 = Meta_y
+ shift alt ctrlr keycode 21 = Meta_Y
+ control alt ctrlr keycode 21 = Meta_Control_y
+ shift control alt ctrlr keycode 21 = Meta_Control_y
+ ctrll keycode 21 = +206
+ shift ctrll keycode 21 = +238
+ control ctrll keycode 21 = Control_y
+ shift control ctrll keycode 21 = Control_y
+ alt ctrll keycode 21 = Meta_y
+ shift alt ctrll keycode 21 = Meta_Y
+ control alt ctrll keycode 21 = Meta_Control_y
+ shift control alt ctrll keycode 21 = Meta_Control_y
+ ctrll ctrlr keycode 21 = +206
+ shift ctrll ctrlr keycode 21 = +238
+ control ctrll ctrlr keycode 21 = Control_y
+ shift control ctrll ctrlr keycode 21 = Control_y
+ alt ctrll ctrlr keycode 21 = Meta_y
+ shift alt ctrll ctrlr keycode 21 = Meta_Y
+ control alt ctrll ctrlr keycode 21 = Meta_Control_y
+ shift control alt ctrll ctrlr keycode 21 = Meta_Control_y
+keycode 22 = u
+ ctrlr keycode 22 = +199
+ shift ctrlr keycode 22 = +231
+ control ctrlr keycode 22 = Control_u
+ shift control ctrlr keycode 22 = Control_u
+ alt ctrlr keycode 22 = Meta_u
+ shift alt ctrlr keycode 22 = Meta_U
+ control alt ctrlr keycode 22 = Meta_Control_u
+ shift control alt ctrlr keycode 22 = Meta_Control_u
+ ctrll keycode 22 = +199
+ shift ctrll keycode 22 = +231
+ control ctrll keycode 22 = Control_u
+ shift control ctrll keycode 22 = Control_u
+ alt ctrll keycode 22 = Meta_u
+ shift alt ctrll keycode 22 = Meta_U
+ control alt ctrll keycode 22 = Meta_Control_u
+ shift control alt ctrll keycode 22 = Meta_Control_u
+ ctrll ctrlr keycode 22 = +199
+ shift ctrll ctrlr keycode 22 = +231
+ control ctrll ctrlr keycode 22 = Control_u
+ shift control ctrll ctrlr keycode 22 = Control_u
+ alt ctrll ctrlr keycode 22 = Meta_u
+ shift alt ctrll ctrlr keycode 22 = Meta_U
+ control alt ctrll ctrlr keycode 22 = Meta_Control_u
+ shift control alt ctrll ctrlr keycode 22 = Meta_Control_u
+keycode 23 = i
+ ctrlr keycode 23 = +219
+ shift ctrlr keycode 23 = +251
+ control ctrlr keycode 23 = Control_i
+ shift control ctrlr keycode 23 = Control_i
+ alt ctrlr keycode 23 = Meta_i
+ shift alt ctrlr keycode 23 = Meta_I
+ control alt ctrlr keycode 23 = Meta_Control_i
+ shift control alt ctrlr keycode 23 = Meta_Control_i
+ ctrll keycode 23 = +219
+ shift ctrll keycode 23 = +251
+ control ctrll keycode 23 = Control_i
+ shift control ctrll keycode 23 = Control_i
+ alt ctrll keycode 23 = Meta_i
+ shift alt ctrll keycode 23 = Meta_I
+ control alt ctrll keycode 23 = Meta_Control_i
+ shift control alt ctrll keycode 23 = Meta_Control_i
+ ctrll ctrlr keycode 23 = +219
+ shift ctrll ctrlr keycode 23 = +251
+ control ctrll ctrlr keycode 23 = Control_i
+ shift control ctrll ctrlr keycode 23 = Control_i
+ alt ctrll ctrlr keycode 23 = Meta_i
+ shift alt ctrll ctrlr keycode 23 = Meta_I
+ control alt ctrll ctrlr keycode 23 = Meta_Control_i
+ shift control alt ctrll ctrlr keycode 23 = Meta_Control_i
+keycode 24 = o
+ ctrlr keycode 24 = +221
+ shift ctrlr keycode 24 = +253
+ control ctrlr keycode 24 = Control_o
+ shift control ctrlr keycode 24 = Control_o
+ alt ctrlr keycode 24 = Meta_o
+ shift alt ctrlr keycode 24 = Meta_O
+ control alt ctrlr keycode 24 = Meta_Control_o
+ shift control alt ctrlr keycode 24 = Meta_Control_o
+ ctrll keycode 24 = +221
+ shift ctrll keycode 24 = +253
+ control ctrll keycode 24 = Control_o
+ shift control ctrll keycode 24 = Control_o
+ alt ctrll keycode 24 = Meta_o
+ shift alt ctrll keycode 24 = Meta_O
+ control alt ctrll keycode 24 = Meta_Control_o
+ shift control alt ctrll keycode 24 = Meta_Control_o
+ ctrll ctrlr keycode 24 = +221
+ shift ctrll ctrlr keycode 24 = +253
+ control ctrll ctrlr keycode 24 = Control_o
+ shift control ctrll ctrlr keycode 24 = Control_o
+ alt ctrll ctrlr keycode 24 = Meta_o
+ shift alt ctrll ctrlr keycode 24 = Meta_O
+ control alt ctrll ctrlr keycode 24 = Meta_Control_o
+ shift control alt ctrll ctrlr keycode 24 = Meta_Control_o
+keycode 25 = p
+ ctrlr keycode 25 = +218
+ shift ctrlr keycode 25 = +250
+ control ctrlr keycode 25 = Control_p
+ shift control ctrlr keycode 25 = Control_p
+ alt ctrlr keycode 25 = Meta_p
+ shift alt ctrlr keycode 25 = Meta_P
+ control alt ctrlr keycode 25 = Meta_Control_p
+ shift control alt ctrlr keycode 25 = Meta_Control_p
+ ctrll keycode 25 = +218
+ shift ctrll keycode 25 = +250
+ control ctrll keycode 25 = Control_p
+ shift control ctrll keycode 25 = Control_p
+ alt ctrll keycode 25 = Meta_p
+ shift alt ctrll keycode 25 = Meta_P
+ control alt ctrll keycode 25 = Meta_Control_p
+ shift control alt ctrll keycode 25 = Meta_Control_p
+ ctrll ctrlr keycode 25 = +218
+ shift ctrll ctrlr keycode 25 = +250
+ control ctrll ctrlr keycode 25 = Control_p
+ shift control ctrll ctrlr keycode 25 = Control_p
+ alt ctrll ctrlr keycode 25 = Meta_p
+ shift alt ctrll ctrlr keycode 25 = Meta_P
+ control alt ctrll ctrlr keycode 25 = Meta_Control_p
+ shift control alt ctrll ctrlr keycode 25 = Meta_Control_p
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ shift alt keycode 26 = Meta_braceleft
+ ctrlr keycode 26 = +200
+ shift ctrlr keycode 26 = +232
+ control ctrlr keycode 26 = Escape
+ shift control ctrlr keycode 26 = Escape
+ alt ctrlr keycode 26 = Meta_bracketleft
+ shift alt ctrlr keycode 26 = Meta_braceleft
+ ctrll keycode 26 = +200
+ shift ctrll keycode 26 = +232
+ control ctrll keycode 26 = Escape
+ shift control ctrll keycode 26 = Escape
+ alt ctrll keycode 26 = Meta_bracketleft
+ shift alt ctrll keycode 26 = Meta_braceleft
+ ctrll ctrlr keycode 26 = +200
+ shift ctrll ctrlr keycode 26 = +232
+ control ctrll ctrlr keycode 26 = Escape
+ shift control ctrll ctrlr keycode 26 = Escape
+ alt ctrll ctrlr keycode 26 = Meta_bracketleft
+ shift alt ctrll ctrlr keycode 26 = Meta_braceleft
+keycode 27 = bracketright braceright asciitilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ shift alt keycode 27 = Meta_braceright
+ ctrlr keycode 27 = +223
+ shift ctrlr keycode 27 = +255
+ control ctrlr keycode 27 = Control_bracketright
+ shift control ctrlr keycode 27 = Control_bracketright
+ alt ctrlr keycode 27 = Meta_bracketright
+ shift alt ctrlr keycode 27 = Meta_braceright
+ control alt ctrlr keycode 27 = Meta_Control_bracketright
+ shift control alt ctrlr keycode 27 = Meta_Control_bracketright
+ ctrll keycode 27 = +173
+ shift ctrll keycode 27 = +189
+ control ctrll keycode 27 = Control_bracketright
+ shift control ctrll keycode 27 = Control_bracketright
+ alt ctrll keycode 27 = Meta_bracketright
+ shift alt ctrll keycode 27 = Meta_braceright
+ control alt ctrll keycode 27 = Meta_Control_bracketright
+ shift control alt ctrll keycode 27 = Meta_Control_bracketright
+ ctrll ctrlr keycode 27 = +173
+ shift ctrll ctrlr keycode 27 = +189
+ control ctrll ctrlr keycode 27 = Control_bracketright
+ shift control ctrll ctrlr keycode 27 = Control_bracketright
+ alt ctrll ctrlr keycode 27 = Meta_bracketright
+ shift alt ctrll ctrlr keycode 27 = Meta_braceright
+ control alt ctrll ctrlr keycode 27 = Meta_Control_bracketright
+ shift control alt ctrll ctrlr keycode 27 = Meta_Control_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+ ctrlr keycode 30 = +198
+ shift ctrlr keycode 30 = +230
+ control ctrlr keycode 30 = Control_a
+ shift control ctrlr keycode 30 = Control_a
+ alt ctrlr keycode 30 = Meta_a
+ shift alt ctrlr keycode 30 = Meta_A
+ control alt ctrlr keycode 30 = Meta_Control_a
+ shift control alt ctrlr keycode 30 = Meta_Control_a
+ ctrll keycode 30 = +198
+ shift ctrll keycode 30 = +230
+ control ctrll keycode 30 = Control_a
+ shift control ctrll keycode 30 = Control_a
+ alt ctrll keycode 30 = Meta_a
+ shift alt ctrll keycode 30 = Meta_A
+ control alt ctrll keycode 30 = Meta_Control_a
+ shift control alt ctrll keycode 30 = Meta_Control_a
+ ctrll ctrlr keycode 30 = +198
+ shift ctrll ctrlr keycode 30 = +230
+ control ctrll ctrlr keycode 30 = Control_a
+ shift control ctrll ctrlr keycode 30 = Control_a
+ alt ctrll ctrlr keycode 30 = Meta_a
+ shift alt ctrll ctrlr keycode 30 = Meta_A
+ control alt ctrll ctrlr keycode 30 = Meta_Control_a
+ shift control alt ctrll ctrlr keycode 30 = Meta_Control_a
+keycode 31 = s
+ ctrlr keycode 31 = +217
+ shift ctrlr keycode 31 = +249
+ control ctrlr keycode 31 = Control_s
+ shift control ctrlr keycode 31 = Control_s
+ alt ctrlr keycode 31 = Meta_s
+ shift alt ctrlr keycode 31 = Meta_S
+ control alt ctrlr keycode 31 = Meta_Control_s
+ shift control alt ctrlr keycode 31 = Meta_Control_s
+ ctrll keycode 31 = +201
+ shift ctrll keycode 31 = +233
+ control ctrll keycode 31 = Control_s
+ shift control ctrll keycode 31 = Control_s
+ alt ctrll keycode 31 = Meta_s
+ shift alt ctrll keycode 31 = Meta_S
+ control alt ctrll keycode 31 = Meta_Control_s
+ shift control alt ctrll keycode 31 = Meta_Control_s
+ ctrll ctrlr keycode 31 = +201
+ shift ctrll ctrlr keycode 31 = +233
+ control ctrll ctrlr keycode 31 = Control_s
+ shift control ctrll ctrlr keycode 31 = Control_s
+ alt ctrll ctrlr keycode 31 = Meta_s
+ shift alt ctrll ctrlr keycode 31 = Meta_S
+ control alt ctrll ctrlr keycode 31 = Meta_Control_s
+ shift control alt ctrll ctrlr keycode 31 = Meta_Control_s
+keycode 32 = d
+ ctrlr keycode 32 = +215
+ shift ctrlr keycode 32 = +247
+ control ctrlr keycode 32 = Control_d
+ shift control ctrlr keycode 32 = Control_d
+ alt ctrlr keycode 32 = Meta_d
+ shift alt ctrlr keycode 32 = Meta_D
+ control alt ctrlr keycode 32 = Meta_Control_d
+ shift control alt ctrlr keycode 32 = Meta_Control_d
+ ctrll keycode 32 = +215
+ shift ctrll keycode 32 = +247
+ control ctrll keycode 32 = Control_d
+ shift control ctrll keycode 32 = Control_d
+ alt ctrll keycode 32 = Meta_d
+ shift alt ctrll keycode 32 = Meta_D
+ control alt ctrll keycode 32 = Meta_Control_d
+ shift control alt ctrll keycode 32 = Meta_Control_d
+ ctrll ctrlr keycode 32 = +215
+ shift ctrll ctrlr keycode 32 = +247
+ control ctrll ctrlr keycode 32 = Control_d
+ shift control ctrll ctrlr keycode 32 = Control_d
+ alt ctrll ctrlr keycode 32 = Meta_d
+ shift alt ctrll ctrlr keycode 32 = Meta_D
+ control alt ctrll ctrlr keycode 32 = Meta_Control_d
+ shift control alt ctrll ctrlr keycode 32 = Meta_Control_d
+keycode 33 = f
+ ctrlr keycode 33 = +193
+ shift ctrlr keycode 33 = +225
+ control ctrlr keycode 33 = Control_f
+ shift control ctrlr keycode 33 = Control_f
+ alt ctrlr keycode 33 = Meta_f
+ shift alt ctrlr keycode 33 = Meta_F
+ control alt ctrlr keycode 33 = Meta_Control_f
+ shift control alt ctrlr keycode 33 = Meta_Control_f
+ ctrll keycode 33 = +193
+ shift ctrll keycode 33 = +225
+ control ctrll keycode 33 = Control_f
+ shift control ctrll keycode 33 = Control_f
+ alt ctrll keycode 33 = Meta_f
+ shift alt ctrll keycode 33 = Meta_F
+ control alt ctrll keycode 33 = Meta_Control_f
+ shift control alt ctrll keycode 33 = Meta_Control_f
+ ctrll ctrlr keycode 33 = +193
+ shift ctrll ctrlr keycode 33 = +225
+ control ctrll ctrlr keycode 33 = Control_f
+ shift control ctrll ctrlr keycode 33 = Control_f
+ alt ctrll ctrlr keycode 33 = Meta_f
+ shift alt ctrll ctrlr keycode 33 = Meta_F
+ control alt ctrll ctrlr keycode 33 = Meta_Control_f
+ shift control alt ctrll ctrlr keycode 33 = Meta_Control_f
+keycode 34 = g
+ ctrlr keycode 34 = +208
+ shift ctrlr keycode 34 = +240
+ control ctrlr keycode 34 = Control_g
+ shift control ctrlr keycode 34 = Control_g
+ alt ctrlr keycode 34 = Meta_g
+ shift alt ctrlr keycode 34 = Meta_G
+ control alt ctrlr keycode 34 = Meta_Control_g
+ shift control alt ctrlr keycode 34 = Meta_Control_g
+ ctrll keycode 34 = +208
+ shift ctrll keycode 34 = +240
+ control ctrll keycode 34 = Control_g
+ shift control ctrll keycode 34 = Control_g
+ alt ctrll keycode 34 = Meta_g
+ shift alt ctrll keycode 34 = Meta_G
+ control alt ctrll keycode 34 = Meta_Control_g
+ shift control alt ctrll keycode 34 = Meta_Control_g
+ ctrll ctrlr keycode 34 = +208
+ shift ctrll ctrlr keycode 34 = +240
+ control ctrll ctrlr keycode 34 = Control_g
+ shift control ctrll ctrlr keycode 34 = Control_g
+ alt ctrll ctrlr keycode 34 = Meta_g
+ shift alt ctrll ctrlr keycode 34 = Meta_G
+ control alt ctrll ctrlr keycode 34 = Meta_Control_g
+ shift control alt ctrll ctrlr keycode 34 = Meta_Control_g
+keycode 35 = h
+ ctrlr keycode 35 = +210
+ shift ctrlr keycode 35 = +242
+ control ctrlr keycode 35 = Control_h
+ shift control ctrlr keycode 35 = Control_h
+ alt ctrlr keycode 35 = Meta_h
+ shift alt ctrlr keycode 35 = Meta_H
+ control alt ctrlr keycode 35 = Meta_Control_h
+ shift control alt ctrlr keycode 35 = Meta_Control_h
+ ctrll keycode 35 = +210
+ shift ctrll keycode 35 = +242
+ control ctrll keycode 35 = Control_h
+ shift control ctrll keycode 35 = Control_h
+ alt ctrll keycode 35 = Meta_h
+ shift alt ctrll keycode 35 = Meta_H
+ control alt ctrll keycode 35 = Meta_Control_h
+ shift control alt ctrll keycode 35 = Meta_Control_h
+ ctrll ctrlr keycode 35 = +210
+ shift ctrll ctrlr keycode 35 = +242
+ control ctrll ctrlr keycode 35 = Control_h
+ shift control ctrll ctrlr keycode 35 = Control_h
+ alt ctrll ctrlr keycode 35 = Meta_h
+ shift alt ctrll ctrlr keycode 35 = Meta_H
+ control alt ctrll ctrlr keycode 35 = Meta_Control_h
+ shift control alt ctrll ctrlr keycode 35 = Meta_Control_h
+keycode 36 = j
+ ctrlr keycode 36 = +207
+ shift ctrlr keycode 36 = +239
+ control ctrlr keycode 36 = Control_j
+ shift control ctrlr keycode 36 = Control_j
+ alt ctrlr keycode 36 = Meta_j
+ shift alt ctrlr keycode 36 = Meta_J
+ control alt ctrlr keycode 36 = Meta_Control_j
+ shift control alt ctrlr keycode 36 = Meta_Control_j
+ ctrll keycode 36 = +207
+ shift ctrll keycode 36 = +239
+ control ctrll keycode 36 = Control_j
+ shift control ctrll keycode 36 = Control_j
+ alt ctrll keycode 36 = Meta_j
+ shift alt ctrll keycode 36 = Meta_J
+ control alt ctrll keycode 36 = Meta_Control_j
+ shift control alt ctrll keycode 36 = Meta_Control_j
+ ctrll ctrlr keycode 36 = +207
+ shift ctrll ctrlr keycode 36 = +239
+ control ctrll ctrlr keycode 36 = Control_j
+ shift control ctrll ctrlr keycode 36 = Control_j
+ alt ctrll ctrlr keycode 36 = Meta_j
+ shift alt ctrll ctrlr keycode 36 = Meta_J
+ control alt ctrll ctrlr keycode 36 = Meta_Control_j
+ shift control alt ctrll ctrlr keycode 36 = Meta_Control_j
+keycode 37 = k
+ ctrlr keycode 37 = +204
+ shift ctrlr keycode 37 = +236
+ control ctrlr keycode 37 = Control_k
+ shift control ctrlr keycode 37 = Control_k
+ alt ctrlr keycode 37 = Meta_k
+ shift alt ctrlr keycode 37 = Meta_K
+ control alt ctrlr keycode 37 = Meta_Control_k
+ shift control alt ctrlr keycode 37 = Meta_Control_k
+ ctrll keycode 37 = +204
+ shift ctrll keycode 37 = +236
+ control ctrll keycode 37 = Control_k
+ shift control ctrll keycode 37 = Control_k
+ alt ctrll keycode 37 = Meta_k
+ shift alt ctrll keycode 37 = Meta_K
+ control alt ctrll keycode 37 = Meta_Control_k
+ shift control alt ctrll keycode 37 = Meta_Control_k
+ ctrll ctrlr keycode 37 = +204
+ shift ctrll ctrlr keycode 37 = +236
+ control ctrll ctrlr keycode 37 = Control_k
+ shift control ctrll ctrlr keycode 37 = Control_k
+ alt ctrll ctrlr keycode 37 = Meta_k
+ shift alt ctrll ctrlr keycode 37 = Meta_K
+ control alt ctrll ctrlr keycode 37 = Meta_Control_k
+ shift control alt ctrll ctrlr keycode 37 = Meta_Control_k
+keycode 38 = l
+ ctrlr keycode 38 = +196
+ shift ctrlr keycode 38 = +228
+ control ctrlr keycode 38 = Control_l
+ shift control ctrlr keycode 38 = Control_l
+ alt ctrlr keycode 38 = Meta_l
+ shift alt ctrlr keycode 38 = Meta_L
+ control alt ctrlr keycode 38 = Meta_Control_l
+ shift control alt ctrlr keycode 38 = Meta_Control_l
+ ctrll keycode 38 = +196
+ shift ctrll keycode 38 = +228
+ control ctrll keycode 38 = Control_l
+ shift control ctrll keycode 38 = Control_l
+ alt ctrll keycode 38 = Meta_l
+ shift alt ctrll keycode 38 = Meta_L
+ control alt ctrll keycode 38 = Meta_Control_l
+ shift control alt ctrll keycode 38 = Meta_Control_l
+ ctrll ctrlr keycode 38 = +196
+ shift ctrll ctrlr keycode 38 = +228
+ control ctrll ctrlr keycode 38 = Control_l
+ shift control ctrll ctrlr keycode 38 = Control_l
+ alt ctrll ctrlr keycode 38 = Meta_l
+ shift alt ctrll ctrlr keycode 38 = Meta_L
+ control alt ctrll ctrlr keycode 38 = Meta_Control_l
+ shift control alt ctrll ctrlr keycode 38 = Meta_Control_l
+keycode 39 = semicolon colon
+ alt keycode 39 = Meta_semicolon
+ shift alt keycode 39 = Meta_colon
+ ctrlr keycode 39 = +214
+ shift ctrlr keycode 39 = +246
+ alt ctrlr keycode 39 = Meta_semicolon
+ shift alt ctrlr keycode 39 = Meta_colon
+ ctrll keycode 39 = +214
+ shift ctrll keycode 39 = +246
+ alt ctrll keycode 39 = Meta_semicolon
+ shift alt ctrll keycode 39 = Meta_colon
+ ctrll ctrlr keycode 39 = +214
+ shift ctrll ctrlr keycode 39 = +246
+ alt ctrll ctrlr keycode 39 = Meta_semicolon
+ shift alt ctrll ctrlr keycode 39 = Meta_colon
+keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+ shift alt keycode 40 = Meta_quotedbl
+ ctrlr keycode 40 = +220
+ shift ctrlr keycode 40 = +252
+ control ctrlr keycode 40 = Control_g
+ shift control ctrlr keycode 40 = Control_g
+ alt ctrlr keycode 40 = Meta_apostrophe
+ shift alt ctrlr keycode 40 = Meta_quotedbl
+ ctrll keycode 40 = +164
+ shift ctrll keycode 40 = +180
+ control ctrll keycode 40 = Control_g
+ shift control ctrll keycode 40 = Control_g
+ alt ctrll keycode 40 = Meta_apostrophe
+ shift alt ctrll keycode 40 = Meta_quotedbl
+ ctrll ctrlr keycode 40 = +164
+ shift ctrll ctrlr keycode 40 = +180
+ control ctrll ctrlr keycode 40 = Control_g
+ shift control ctrll ctrlr keycode 40 = Control_g
+ alt ctrll ctrlr keycode 40 = Meta_apostrophe
+ shift alt ctrll ctrlr keycode 40 = Meta_quotedbl
+keycode 41 = grave asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+ shift alt keycode 41 = Meta_asciitilde
+ ctrlr keycode 41 = apostrophe
+ shift ctrlr keycode 41 = question
+ control ctrlr keycode 41 = nul
+ shift control ctrlr keycode 41 = nul
+ alt ctrlr keycode 41 = Meta_grave
+ shift alt ctrlr keycode 41 = Meta_asciitilde
+ ctrll keycode 41 = apostrophe
+ shift ctrll keycode 41 = question
+ control ctrll keycode 41 = nul
+ shift control ctrll keycode 41 = nul
+ alt ctrll keycode 41 = Meta_grave
+ shift alt ctrll keycode 41 = Meta_asciitilde
+ ctrll ctrlr keycode 41 = apostrophe
+ shift ctrll ctrlr keycode 41 = question
+ control ctrll ctrlr keycode 41 = nul
+ shift control ctrll ctrlr keycode 41 = nul
+ alt ctrll ctrlr keycode 41 = Meta_grave
+ shift alt ctrll ctrlr keycode 41 = Meta_asciitilde
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ shift alt keycode 43 = Meta_bar
+ control alt keycode 43 = Meta_Control_backslash
+ shift control alt keycode 43 = Meta_Control_backslash
+ ctrlr keycode 43 = backslash
+ shift ctrlr keycode 43 = bar
+ control ctrlr keycode 43 = Control_backslash
+ shift control ctrlr keycode 43 = Control_backslash
+ alt ctrlr keycode 43 = Meta_backslash
+ shift alt ctrlr keycode 43 = Meta_bar
+ control alt ctrlr keycode 43 = Meta_Control_backslash
+ shift control alt ctrlr keycode 43 = Meta_Control_backslash
+ ctrll keycode 43 = backslash
+ shift ctrll keycode 43 = bar
+ control ctrll keycode 43 = Control_backslash
+ shift control ctrll keycode 43 = Control_backslash
+ alt ctrll keycode 43 = Meta_backslash
+ shift alt ctrll keycode 43 = Meta_bar
+ control alt ctrll keycode 43 = Meta_Control_backslash
+ shift control alt ctrll keycode 43 = Meta_Control_backslash
+ ctrll ctrlr keycode 43 = backslash
+ shift ctrll ctrlr keycode 43 = bar
+ control ctrll ctrlr keycode 43 = Control_backslash
+ shift control ctrll ctrlr keycode 43 = Control_backslash
+ alt ctrll ctrlr keycode 43 = Meta_backslash
+ shift alt ctrll ctrlr keycode 43 = Meta_bar
+ control alt ctrll ctrlr keycode 43 = Meta_Control_backslash
+ shift control alt ctrll ctrlr keycode 43 = Meta_Control_backslash
+keycode 44 = z
+ ctrlr keycode 44 = +209
+ shift ctrlr keycode 44 = +241
+ control ctrlr keycode 44 = Control_z
+ shift control ctrlr keycode 44 = Control_z
+ alt ctrlr keycode 44 = Meta_z
+ shift alt ctrlr keycode 44 = Meta_Z
+ control alt ctrlr keycode 44 = Meta_Control_z
+ shift control alt ctrlr keycode 44 = Meta_Control_z
+ ctrll keycode 44 = +209
+ shift ctrll keycode 44 = +241
+ control ctrll keycode 44 = Control_z
+ shift control ctrll keycode 44 = Control_z
+ alt ctrll keycode 44 = Meta_z
+ shift alt ctrll keycode 44 = Meta_Z
+ control alt ctrll keycode 44 = Meta_Control_z
+ shift control alt ctrll keycode 44 = Meta_Control_z
+ ctrll ctrlr keycode 44 = +209
+ shift ctrll ctrlr keycode 44 = +241
+ control ctrll ctrlr keycode 44 = Control_z
+ shift control ctrll ctrlr keycode 44 = Control_z
+ alt ctrll ctrlr keycode 44 = Meta_z
+ shift alt ctrll ctrlr keycode 44 = Meta_Z
+ control alt ctrll ctrlr keycode 44 = Meta_Control_z
+ shift control alt ctrll ctrlr keycode 44 = Meta_Control_z
+keycode 45 = x
+ ctrlr keycode 45 = +222
+ shift ctrlr keycode 45 = +254
+ control ctrlr keycode 45 = Control_x
+ shift control ctrlr keycode 45 = Control_x
+ alt ctrlr keycode 45 = Meta_x
+ shift alt ctrlr keycode 45 = Meta_X
+ control alt ctrlr keycode 45 = Meta_Control_x
+ shift control alt ctrlr keycode 45 = Meta_Control_x
+ ctrll keycode 45 = +222
+ shift ctrll keycode 45 = +254
+ control ctrll keycode 45 = Control_x
+ shift control ctrll keycode 45 = Control_x
+ alt ctrll keycode 45 = Meta_x
+ shift alt ctrll keycode 45 = Meta_X
+ control alt ctrll keycode 45 = Meta_Control_x
+ shift control alt ctrll keycode 45 = Meta_Control_x
+ ctrll ctrlr keycode 45 = +222
+ shift ctrll ctrlr keycode 45 = +254
+ control ctrll ctrlr keycode 45 = Control_x
+ shift control ctrll ctrlr keycode 45 = Control_x
+ alt ctrll ctrlr keycode 45 = Meta_x
+ shift alt ctrll ctrlr keycode 45 = Meta_X
+ control alt ctrll ctrlr keycode 45 = Meta_Control_x
+ shift control alt ctrll ctrlr keycode 45 = Meta_Control_x
+keycode 46 = c
+ ctrlr keycode 46 = +211
+ shift ctrlr keycode 46 = +243
+ control ctrlr keycode 46 = Control_c
+ shift control ctrlr keycode 46 = Control_c
+ alt ctrlr keycode 46 = Meta_c
+ shift alt ctrlr keycode 46 = Meta_C
+ control alt ctrlr keycode 46 = Meta_Control_c
+ shift control alt ctrlr keycode 46 = Meta_Control_c
+ ctrll keycode 46 = +211
+ shift ctrll keycode 46 = +243
+ control ctrll keycode 46 = Control_c
+ shift control ctrll keycode 46 = Control_c
+ alt ctrll keycode 46 = Meta_c
+ shift alt ctrll keycode 46 = Meta_C
+ control alt ctrll keycode 46 = Meta_Control_c
+ shift control alt ctrll keycode 46 = Meta_Control_c
+ ctrll ctrlr keycode 46 = +211
+ shift ctrll ctrlr keycode 46 = +243
+ control ctrll ctrlr keycode 46 = Control_c
+ shift control ctrll ctrlr keycode 46 = Control_c
+ alt ctrll ctrlr keycode 46 = Meta_c
+ shift alt ctrll ctrlr keycode 46 = Meta_C
+ control alt ctrll ctrlr keycode 46 = Meta_Control_c
+ shift control alt ctrll ctrlr keycode 46 = Meta_Control_c
+keycode 47 = v
+ ctrlr keycode 47 = +205
+ shift ctrlr keycode 47 = +237
+ control ctrlr keycode 47 = Control_v
+ shift control ctrlr keycode 47 = Control_v
+ alt ctrlr keycode 47 = Meta_v
+ shift alt ctrlr keycode 47 = Meta_V
+ control alt ctrlr keycode 47 = Meta_Control_v
+ shift control alt ctrlr keycode 47 = Meta_Control_v
+ ctrll keycode 47 = +205
+ shift ctrll keycode 47 = +237
+ control ctrll keycode 47 = Control_v
+ shift control ctrll keycode 47 = Control_v
+ alt ctrll keycode 47 = Meta_v
+ shift alt ctrll keycode 47 = Meta_V
+ control alt ctrll keycode 47 = Meta_Control_v
+ shift control alt ctrll keycode 47 = Meta_Control_v
+ ctrll ctrlr keycode 47 = +205
+ shift ctrll ctrlr keycode 47 = +237
+ control ctrll ctrlr keycode 47 = Control_v
+ shift control ctrll ctrlr keycode 47 = Control_v
+ alt ctrll ctrlr keycode 47 = Meta_v
+ shift alt ctrll ctrlr keycode 47 = Meta_V
+ control alt ctrll ctrlr keycode 47 = Meta_Control_v
+ shift control alt ctrll ctrlr keycode 47 = Meta_Control_v
+keycode 48 = b
+ ctrlr keycode 48 = +201
+ shift ctrlr keycode 48 = +233
+ control ctrlr keycode 48 = Control_b
+ shift control ctrlr keycode 48 = Control_b
+ alt ctrlr keycode 48 = Meta_b
+ shift alt ctrlr keycode 48 = Meta_B
+ control alt ctrlr keycode 48 = Meta_Control_b
+ shift control alt ctrlr keycode 48 = Meta_Control_b
+ ctrll keycode 48 = +166
+ shift ctrll keycode 48 = +182
+ control ctrll keycode 48 = Control_b
+ shift control ctrll keycode 48 = Control_b
+ alt ctrll keycode 48 = Meta_b
+ shift alt ctrll keycode 48 = Meta_B
+ control alt ctrll keycode 48 = Meta_Control_b
+ shift control alt ctrll keycode 48 = Meta_Control_b
+ ctrll ctrlr keycode 48 = +166
+ shift ctrll ctrlr keycode 48 = +182
+ control ctrll ctrlr keycode 48 = Control_b
+ shift control ctrll ctrlr keycode 48 = Control_b
+ alt ctrll ctrlr keycode 48 = Meta_b
+ shift alt ctrll ctrlr keycode 48 = Meta_B
+ control alt ctrll ctrlr keycode 48 = Meta_Control_b
+ shift control alt ctrll ctrlr keycode 48 = Meta_Control_b
+keycode 49 = n
+ ctrlr keycode 49 = +212
+ shift ctrlr keycode 49 = +244
+ control ctrlr keycode 49 = Control_n
+ shift control ctrlr keycode 49 = Control_n
+ alt ctrlr keycode 49 = Meta_n
+ shift alt ctrlr keycode 49 = Meta_N
+ control alt ctrlr keycode 49 = Meta_Control_n
+ shift control alt ctrlr keycode 49 = Meta_Control_n
+ ctrll keycode 49 = +212
+ shift ctrll keycode 49 = +244
+ control ctrll keycode 49 = Control_n
+ shift control ctrll keycode 49 = Control_n
+ alt ctrll keycode 49 = Meta_n
+ shift alt ctrll keycode 49 = Meta_N
+ control alt ctrll keycode 49 = Meta_Control_n
+ shift control alt ctrll keycode 49 = Meta_Control_n
+ ctrll ctrlr keycode 49 = +212
+ shift ctrll ctrlr keycode 49 = +244
+ control ctrll ctrlr keycode 49 = Control_n
+ shift control ctrll ctrlr keycode 49 = Control_n
+ alt ctrll ctrlr keycode 49 = Meta_n
+ shift alt ctrll ctrlr keycode 49 = Meta_N
+ control alt ctrll ctrlr keycode 49 = Meta_Control_n
+ shift control alt ctrll ctrlr keycode 49 = Meta_Control_n
+keycode 50 = m
+ ctrlr keycode 50 = +216
+ shift ctrlr keycode 50 = +248
+ control ctrlr keycode 50 = Control_m
+ shift control ctrlr keycode 50 = Control_m
+ alt ctrlr keycode 50 = Meta_m
+ shift alt ctrlr keycode 50 = Meta_M
+ control alt ctrlr keycode 50 = Meta_Control_m
+ shift control alt ctrlr keycode 50 = Meta_Control_m
+ ctrll keycode 50 = +216
+ shift ctrll keycode 50 = +248
+ control ctrll keycode 50 = Control_m
+ shift control ctrll keycode 50 = Control_m
+ alt ctrll keycode 50 = Meta_m
+ shift alt ctrll keycode 50 = Meta_M
+ control alt ctrll keycode 50 = Meta_Control_m
+ shift control alt ctrll keycode 50 = Meta_Control_m
+ ctrll ctrlr keycode 50 = +216
+ shift ctrll ctrlr keycode 50 = +248
+ control ctrll ctrlr keycode 50 = Control_m
+ shift control ctrll ctrlr keycode 50 = Control_m
+ alt ctrll ctrlr keycode 50 = Meta_m
+ shift alt ctrll ctrlr keycode 50 = Meta_M
+ control alt ctrll ctrlr keycode 50 = Meta_Control_m
+ shift control alt ctrll ctrlr keycode 50 = Meta_Control_m
+keycode 51 = comma less
+ alt keycode 51 = Meta_comma
+ shift alt keycode 51 = Meta_less
+ ctrlr keycode 51 = +194
+ shift ctrlr keycode 51 = +226
+ alt ctrlr keycode 51 = Meta_comma
+ shift alt ctrlr keycode 51 = Meta_less
+ ctrll keycode 51 = +194
+ shift ctrll keycode 51 = +226
+ alt ctrll keycode 51 = Meta_comma
+ shift alt ctrll keycode 51 = Meta_less
+ ctrll ctrlr keycode 51 = +194
+ shift ctrll ctrlr keycode 51 = +226
+ alt ctrll ctrlr keycode 51 = Meta_comma
+ shift alt ctrll ctrlr keycode 51 = Meta_less
+keycode 52 = period greater
+ control keycode 52 = Compose
+ alt keycode 52 = Meta_period
+ shift alt keycode 52 = Meta_greater
+ ctrlr keycode 52 = +192
+ shift ctrlr keycode 52 = +224
+ alt ctrlr keycode 52 = Meta_period
+ shift alt ctrlr keycode 52 = Meta_greater
+ ctrll keycode 52 = +192
+ shift ctrll keycode 52 = +224
+ alt ctrll keycode 52 = Meta_period
+ shift alt ctrll keycode 52 = Meta_greater
+ ctrll ctrlr keycode 52 = +192
+ shift ctrll ctrlr keycode 52 = +224
+ alt ctrll ctrlr keycode 52 = Meta_period
+ shift alt ctrll ctrlr keycode 52 = Meta_greater
+keycode 53 = slash question
+ control keycode 53 = Delete
+ shift control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+ ctrlr keycode 53 = +163
+ shift ctrlr keycode 53 = +179
+ alt ctrlr keycode 53 = Meta_slash
+ shift alt ctrlr keycode 53 = Meta_question
+ ctrll keycode 53 = +167
+ shift ctrll keycode 53 = +183
+ alt ctrll keycode 53 = Meta_slash
+ shift alt ctrll keycode 53 = Meta_question
+ ctrll ctrlr keycode 53 = +167
+ shift ctrll ctrlr keycode 53 = +183
+ alt ctrll ctrlr keycode 53 = Meta_slash
+ shift alt ctrll ctrlr keycode 53 = Meta_question
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ ctrlr keycode 57 = space
+ shift ctrlr keycode 57 = space
+ control ctrlr keycode 57 = nul
+ shift control ctrlr keycode 57 = nul
+ alt ctrlr keycode 57 = Meta_space
+ shift alt ctrlr keycode 57 = Meta_space
+ ctrll keycode 57 = space
+ shift ctrll keycode 57 = space
+ control ctrll keycode 57 = nul
+ shift control ctrll keycode 57 = nul
+ alt ctrll keycode 57 = Meta_space
+ shift alt ctrll keycode 57 = Meta_space
+ ctrll ctrlr keycode 57 = space
+ shift ctrll ctrlr keycode 57 = space
+ control ctrll ctrlr keycode 57 = nul
+ shift control ctrll ctrlr keycode 57 = nul
+ alt ctrll ctrlr keycode 57 = Meta_space
+ shift alt ctrll ctrlr keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 Console_13
+ control keycode 59 = F25
+ shift control keycode 59 = F37
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+ ctrlr keycode 59 = F1
+ ctrlr shift keycode 59 = F13
+ ctrlr altgr keycode 59 = Console_13
+ ctrlr control keycode 59 = F25
+ ctrlr shift control keycode 59 = F37
+ ctrlr alt keycode 59 = Console_1
+ ctrlr control alt keycode 59 = Console_1
+ ctrll keycode 59 = F1
+ ctrll shift keycode 59 = F13
+ ctrll altgr keycode 59 = Console_13
+ ctrll control keycode 59 = F25
+ ctrll shift control keycode 59 = F37
+ ctrll alt keycode 59 = Console_1
+ ctrll control alt keycode 59 = Console_1
+ ctrlr ctrll keycode 59 = F1
+ ctrlr ctrll shift keycode 59 = F13
+ ctrlr ctrll altgr keycode 59 = Console_13
+ ctrlr ctrll control keycode 59 = F25
+ ctrlr ctrll shift control keycode 59 = F37
+ ctrlr ctrll alt keycode 59 = Console_1
+ ctrlr ctrll control alt keycode 59 = Console_1
+keycode 60 = F2 F14 Console_14
+ control keycode 60 = F26
+ shift control keycode 60 = F38
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+ ctrlr keycode 60 = F2
+ ctrlr shift keycode 60 = F14
+ ctrlr altgr keycode 60 = Console_14
+ ctrlr control keycode 60 = F26
+ ctrlr shift control keycode 60 = F38
+ ctrlr alt keycode 60 = Console_2
+ ctrlr control alt keycode 60 = Console_2
+ ctrll keycode 60 = F2
+ ctrll shift keycode 60 = F14
+ ctrll altgr keycode 60 = Console_14
+ ctrll control keycode 60 = F26
+ ctrll shift control keycode 60 = F38
+ ctrll alt keycode 60 = Console_2
+ ctrll control alt keycode 60 = Console_2
+ ctrlr ctrll keycode 60 = F2
+ ctrlr ctrll shift keycode 60 = F14
+ ctrlr ctrll altgr keycode 60 = Console_14
+ ctrlr ctrll control keycode 60 = F26
+ ctrlr ctrll shift control keycode 60 = F38
+ ctrlr ctrll alt keycode 60 = Console_2
+ ctrlr ctrll control alt keycode 60 = Console_2
+keycode 61 = F3 F15 Console_15
+ control keycode 61 = F27
+ shift control keycode 61 = F39
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+ ctrlr keycode 61 = F3
+ ctrlr shift keycode 61 = F15
+ ctrlr altgr keycode 61 = Console_15
+ ctrlr control keycode 61 = F27
+ ctrlr shift control keycode 61 = F39
+ ctrlr alt keycode 61 = Console_3
+ ctrlr control alt keycode 61 = Console_3
+ ctrll keycode 61 = F3
+ ctrll shift keycode 61 = F15
+ ctrll altgr keycode 61 = Console_15
+ ctrll control keycode 61 = F27
+ ctrll shift control keycode 61 = F39
+ ctrll alt keycode 61 = Console_3
+ ctrll control alt keycode 61 = Console_3
+ ctrlr ctrll keycode 61 = F3
+ ctrlr ctrll shift keycode 61 = F15
+ ctrlr ctrll altgr keycode 61 = Console_15
+ ctrlr ctrll control keycode 61 = F27
+ ctrlr ctrll shift control keycode 61 = F39
+ ctrlr ctrll alt keycode 61 = Console_3
+ ctrlr ctrll control alt keycode 61 = Console_3
+keycode 62 = F4 F16 Console_16
+ control keycode 62 = F28
+ shift control keycode 62 = F40
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+ ctrlr keycode 62 = F4
+ ctrlr shift keycode 62 = F16
+ ctrlr altgr keycode 62 = Console_16
+ ctrlr control keycode 62 = F28
+ ctrlr shift control keycode 62 = F40
+ ctrlr alt keycode 62 = Console_4
+ ctrlr control alt keycode 62 = Console_4
+ ctrll keycode 62 = F4
+ ctrll shift keycode 62 = F16
+ ctrll altgr keycode 62 = Console_16
+ ctrll control keycode 62 = F28
+ ctrll shift control keycode 62 = F40
+ ctrll alt keycode 62 = Console_4
+ ctrll control alt keycode 62 = Console_4
+ ctrlr ctrll keycode 62 = F4
+ ctrlr ctrll shift keycode 62 = F16
+ ctrlr ctrll altgr keycode 62 = Console_16
+ ctrlr ctrll control keycode 62 = F28
+ ctrlr ctrll shift control keycode 62 = F40
+ ctrlr ctrll alt keycode 62 = Console_4
+ ctrlr ctrll control alt keycode 62 = Console_4
+keycode 63 = F5 F17 Console_17
+ control keycode 63 = F29
+ shift control keycode 63 = F41
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+ ctrlr keycode 63 = F5
+ ctrlr shift keycode 63 = F17
+ ctrlr altgr keycode 63 = Console_17
+ ctrlr control keycode 63 = F29
+ ctrlr shift control keycode 63 = F41
+ ctrlr alt keycode 63 = Console_5
+ ctrlr control alt keycode 63 = Console_5
+ ctrll keycode 63 = F5
+ ctrll shift keycode 63 = F17
+ ctrll altgr keycode 63 = Console_17
+ ctrll control keycode 63 = F29
+ ctrll shift control keycode 63 = F41
+ ctrll alt keycode 63 = Console_5
+ ctrll control alt keycode 63 = Console_5
+ ctrlr ctrll keycode 63 = F5
+ ctrlr ctrll shift keycode 63 = F17
+ ctrlr ctrll altgr keycode 63 = Console_17
+ ctrlr ctrll control keycode 63 = F29
+ ctrlr ctrll shift control keycode 63 = F41
+ ctrlr ctrll alt keycode 63 = Console_5
+ ctrlr ctrll control alt keycode 63 = Console_5
+keycode 64 = F6 F18 Console_18
+ control keycode 64 = F30
+ shift control keycode 64 = F42
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+ ctrlr keycode 64 = F6
+ ctrlr shift keycode 64 = F18
+ ctrlr altgr keycode 64 = Console_18
+ ctrlr control keycode 64 = F30
+ ctrlr shift control keycode 64 = F42
+ ctrlr alt keycode 64 = Console_6
+ ctrlr control alt keycode 64 = Console_6
+ ctrll keycode 64 = F6
+ ctrll shift keycode 64 = F18
+ ctrll altgr keycode 64 = Console_18
+ ctrll control keycode 64 = F30
+ ctrll shift control keycode 64 = F42
+ ctrll alt keycode 64 = Console_6
+ ctrll control alt keycode 64 = Console_6
+ ctrlr ctrll keycode 64 = F6
+ ctrlr ctrll shift keycode 64 = F18
+ ctrlr ctrll altgr keycode 64 = Console_18
+ ctrlr ctrll control keycode 64 = F30
+ ctrlr ctrll shift control keycode 64 = F42
+ ctrlr ctrll alt keycode 64 = Console_6
+ ctrlr ctrll control alt keycode 64 = Console_6
+keycode 65 = F7 F19 Console_19
+ control keycode 65 = F31
+ shift control keycode 65 = F43
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+ ctrlr keycode 65 = F7
+ ctrlr shift keycode 65 = F19
+ ctrlr altgr keycode 65 = Console_19
+ ctrlr control keycode 65 = F31
+ ctrlr shift control keycode 65 = F43
+ ctrlr alt keycode 65 = Console_7
+ ctrlr control alt keycode 65 = Console_7
+ ctrll keycode 65 = F7
+ ctrll shift keycode 65 = F19
+ ctrll altgr keycode 65 = Console_19
+ ctrll control keycode 65 = F31
+ ctrll shift control keycode 65 = F43
+ ctrll alt keycode 65 = Console_7
+ ctrll control alt keycode 65 = Console_7
+ ctrlr ctrll keycode 65 = F7
+ ctrlr ctrll shift keycode 65 = F19
+ ctrlr ctrll altgr keycode 65 = Console_19
+ ctrlr ctrll control keycode 65 = F31
+ ctrlr ctrll shift control keycode 65 = F43
+ ctrlr ctrll alt keycode 65 = Console_7
+ ctrlr ctrll control alt keycode 65 = Console_7
+keycode 66 = F8 F20 Console_20
+ control keycode 66 = F32
+ shift control keycode 66 = F44
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+ ctrlr keycode 66 = F8
+ ctrlr shift keycode 66 = F20
+ ctrlr altgr keycode 66 = Console_20
+ ctrlr control keycode 66 = F32
+ ctrlr shift control keycode 66 = F44
+ ctrlr alt keycode 66 = Console_8
+ ctrlr control alt keycode 66 = Console_8
+ ctrll keycode 66 = F8
+ ctrll shift keycode 66 = F20
+ ctrll altgr keycode 66 = Console_20
+ ctrll control keycode 66 = F32
+ ctrll shift control keycode 66 = F44
+ ctrll alt keycode 66 = Console_8
+ ctrll control alt keycode 66 = Console_8
+ ctrlr ctrll keycode 66 = F8
+ ctrlr ctrll shift keycode 66 = F20
+ ctrlr ctrll altgr keycode 66 = Console_20
+ ctrlr ctrll control keycode 66 = F32
+ ctrlr ctrll shift control keycode 66 = F44
+ ctrlr ctrll alt keycode 66 = Console_8
+ ctrlr ctrll control alt keycode 66 = Console_8
+keycode 67 = F9 F21 Console_21
+ control keycode 67 = F33
+ shift control keycode 67 = F45
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+ ctrlr keycode 67 = F9
+ ctrlr shift keycode 67 = F21
+ ctrlr altgr keycode 67 = Console_21
+ ctrlr control keycode 67 = F33
+ ctrlr shift control keycode 67 = F45
+ ctrlr alt keycode 67 = Console_9
+ ctrlr control alt keycode 67 = Console_9
+ ctrll keycode 67 = F9
+ ctrll shift keycode 67 = F21
+ ctrll altgr keycode 67 = Console_21
+ ctrll control keycode 67 = F33
+ ctrll shift control keycode 67 = F45
+ ctrll alt keycode 67 = Console_9
+ ctrll control alt keycode 67 = Console_9
+ ctrlr ctrll keycode 67 = F9
+ ctrlr ctrll shift keycode 67 = F21
+ ctrlr ctrll altgr keycode 67 = Console_21
+ ctrlr ctrll control keycode 67 = F33
+ ctrlr ctrll shift control keycode 67 = F45
+ ctrlr ctrll alt keycode 67 = Console_9
+ ctrlr ctrll control alt keycode 67 = Console_9
+keycode 68 = F10 F22 Console_22
+ control keycode 68 = F34
+ shift control keycode 68 = F46
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+ ctrlr keycode 68 = F10
+ ctrlr shift keycode 68 = F22
+ ctrlr altgr keycode 68 = Console_22
+ ctrlr control keycode 68 = F34
+ ctrlr shift control keycode 68 = F46
+ ctrlr alt keycode 68 = Console_10
+ ctrlr control alt keycode 68 = Console_10
+ ctrll keycode 68 = F10
+ ctrll shift keycode 68 = F22
+ ctrll altgr keycode 68 = Console_22
+ ctrll control keycode 68 = F34
+ ctrll shift control keycode 68 = F46
+ ctrll alt keycode 68 = Console_10
+ ctrll control alt keycode 68 = Console_10
+ ctrlr ctrll keycode 68 = F10
+ ctrlr ctrll shift keycode 68 = F22
+ ctrlr ctrll altgr keycode 68 = Console_22
+ ctrlr ctrll control keycode 68 = F34
+ ctrlr ctrll shift control keycode 68 = F46
+ ctrlr ctrll alt keycode 68 = Console_10
+ ctrlr ctrll control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 87 = F11 F23 Console_23
+ control keycode 87 = F35
+ shift control keycode 87 = F47
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+ ctrlr keycode 87 = F11
+ ctrlr shift keycode 87 = F23
+ ctrlr altgr keycode 87 = Console_23
+ ctrlr control keycode 87 = F35
+ ctrlr shift control keycode 87 = F47
+ ctrlr alt keycode 87 = Console_11
+ ctrlr control alt keycode 87 = Console_11
+ ctrll keycode 87 = F11
+ ctrll shift keycode 87 = F23
+ ctrll altgr keycode 87 = Console_23
+ ctrll control keycode 87 = F35
+ ctrll shift control keycode 87 = F47
+ ctrll alt keycode 87 = Console_11
+ ctrll control alt keycode 87 = Console_11
+ ctrlr ctrll keycode 87 = F11
+ ctrlr ctrll shift keycode 87 = F23
+ ctrlr ctrll altgr keycode 87 = Console_23
+ ctrlr ctrll control keycode 87 = F35
+ ctrlr ctrll shift control keycode 87 = F47
+ ctrlr ctrll alt keycode 87 = Console_11
+ ctrlr ctrll control alt keycode 87 = Console_11
+keycode 88 = F12 F24 Console_24
+ control keycode 88 = F36
+ shift control keycode 88 = F48
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+ ctrlr keycode 88 = F12
+ ctrlr shift keycode 88 = F24
+ ctrlr altgr keycode 88 = Console_24
+ ctrlr control keycode 88 = F36
+ ctrlr shift control keycode 88 = F48
+ ctrlr alt keycode 88 = Console_12
+ ctrlr control alt keycode 88 = Console_12
+ ctrll keycode 88 = F12
+ ctrll shift keycode 88 = F24
+ ctrll altgr keycode 88 = Console_24
+ ctrll control keycode 88 = F36
+ ctrll shift control keycode 88 = F48
+ ctrll alt keycode 88 = Console_12
+ ctrll control alt keycode 88 = Console_12
+ ctrlr ctrll keycode 88 = F12
+ ctrlr ctrll shift keycode 88 = F24
+ ctrlr ctrll altgr keycode 88 = Console_24
+ ctrlr ctrll control keycode 88 = F36
+ ctrlr ctrll shift control keycode 88 = F48
+ ctrlr ctrll alt keycode 88 = Console_12
+ ctrlr ctrll control alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+keycode 97 = Control
+keycode 98 = KP_Divide
+keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+keycode 100 = Alt
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 = AltGr
+keycode 126 = CtrlR_Lock
+keycode 127 = CtrlL_Lock
diff --git a/keymaps/i386/qwerty/uaw_uni.kmap b/keymaps/i386/qwerty/uaw_uni.kmap
new file mode 100644
index 0000000..7f485d6
--- /dev/null
+++ b/keymaps/i386/qwerty/uaw_uni.kmap
@@ -0,0 +1,1588 @@
+# Ukrainian Cyrillic Unicode keymap.
+# Russian included as addition.
+#
+# This map uses additional "windows" keys like
+# register switches.
+# Key Meaning
+# LeftWin - AltGr
+# RightWin - Russian
+# RightMenu - Ukrainian
+# Both left&right alt&ctrl means themselves.
+#
+# In addition AltGr + digit key generate some special chars, which
+# is present in KOI8-U table (turn console into UTF mode to view):
+# 1-√
+# 2-²
+# 3-≤
+# 4-≥
+# 5-°
+# 6-≈
+# 7-·
+# 8-÷
+# 9-⌠
+# 0-⌡
+# --∙
+
+keymaps 0-2,4-6,8-9,12-13,64-66,68-69,72-73,76-77,128-130,132-133,136-137,140-141,192-194,196-197,200-201,204-205
+
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+ ctrlr keycode 1 = Escape
+ shift ctrlr keycode 1 = Escape
+ alt ctrlr keycode 1 = Meta_Escape
+ ctrll keycode 1 = Escape
+ shift ctrll keycode 1 = Escape
+ alt ctrll keycode 1 = Meta_Escape
+ ctrll ctrlr keycode 1 = Escape
+ shift ctrll ctrlr keycode 1 = Escape
+ alt ctrll ctrlr keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+ ctrlr keycode 2 = one
+ shift ctrlr keycode 2 = exclam
+ alt ctrlr keycode 2 = Meta_one
+ shift alt ctrlr keycode 2 = Meta_exclam
+ ctrll keycode 2 = one
+ shift ctrll keycode 2 = exclam
+ alt ctrll keycode 2 = Meta_one
+ shift alt ctrll keycode 2 = Meta_exclam
+ ctrll ctrlr keycode 2 = one
+ shift ctrll ctrlr keycode 2 = exclam
+ alt ctrll ctrlr keycode 2 = Meta_one
+ shift alt ctrll ctrlr keycode 2 = Meta_exclam
+ altgr keycode 2 = U+221a
+keycode 3 = two at at
+ control keycode 3 = nul
+ shift control keycode 3 = nul
+ alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_at
+ ctrlr keycode 3 = two
+ shift ctrlr keycode 3 = quotedbl
+ control ctrlr keycode 3 = nul
+ shift control ctrlr keycode 3 = nul
+ alt ctrlr keycode 3 = Meta_two
+ shift alt ctrlr keycode 3 = Meta_at
+ ctrll keycode 3 = two
+ shift ctrll keycode 3 = quotedbl
+ control ctrll keycode 3 = nul
+ shift control ctrll keycode 3 = nul
+ alt ctrll keycode 3 = Meta_two
+ shift alt ctrll keycode 3 = Meta_at
+ ctrll ctrlr keycode 3 = two
+ shift ctrll ctrlr keycode 3 = quotedbl
+ control ctrll ctrlr keycode 3 = nul
+ shift control ctrll ctrlr keycode 3 = nul
+ alt ctrll ctrlr keycode 3 = Meta_two
+ shift alt ctrll ctrlr keycode 3 = Meta_at
+ altgr keycode 3 = U+00b2
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ shift alt keycode 4 = Meta_numbersign
+ ctrlr keycode 4 = three
+ shift ctrlr keycode 4 = numbersign
+ control ctrlr keycode 4 = Escape
+ shift control ctrlr keycode 4 = Escape
+ alt ctrlr keycode 4 = Meta_three
+ shift alt ctrlr keycode 4 = Meta_numbersign
+ ctrll keycode 4 = three
+ shift ctrll keycode 4 = numbersign
+ control ctrll keycode 4 = Escape
+ shift control ctrll keycode 4 = Escape
+ alt ctrll keycode 4 = Meta_three
+ shift alt ctrll keycode 4 = Meta_numbersign
+ ctrll ctrlr keycode 4 = three
+ shift ctrll ctrlr keycode 4 = numbersign
+ control ctrll ctrlr keycode 4 = Escape
+ shift control ctrll ctrlr keycode 4 = Escape
+ alt ctrll ctrlr keycode 4 = Meta_three
+ shift alt ctrll ctrlr keycode 4 = Meta_numbersign
+ altgr keycode 4 = U+2264
+keycode 5 = four dollar dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+ ctrlr keycode 5 = four
+ shift ctrlr keycode 5 = semicolon
+ control ctrlr keycode 5 = Control_backslash
+ shift control ctrlr keycode 5 = Control_backslash
+ alt ctrlr keycode 5 = Meta_four
+ shift alt ctrlr keycode 5 = Meta_dollar
+ ctrll keycode 5 = four
+ shift ctrll keycode 5 = semicolon
+ control ctrll keycode 5 = Control_backslash
+ shift control ctrll keycode 5 = Control_backslash
+ alt ctrll keycode 5 = Meta_four
+ shift alt ctrll keycode 5 = Meta_dollar
+ ctrll ctrlr keycode 5 = four
+ shift ctrll ctrlr keycode 5 = semicolon
+ control ctrll ctrlr keycode 5 = Control_backslash
+ shift control ctrll ctrlr keycode 5 = Control_backslash
+ alt ctrll ctrlr keycode 5 = Meta_four
+ shift alt ctrll ctrlr keycode 5 = Meta_dollar
+ altgr keycode 5 = U+2265
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+ ctrlr keycode 6 = five
+ shift ctrlr keycode 6 = colon
+ control ctrlr keycode 6 = Control_bracketright
+ shift control ctrlr keycode 6 = Control_bracketright
+ alt ctrlr keycode 6 = Meta_five
+ shift alt ctrlr keycode 6 = Meta_percent
+ ctrll keycode 6 = five
+ shift ctrll keycode 6 = colon
+ control ctrll keycode 6 = Control_bracketright
+ shift control ctrll keycode 6 = Control_bracketright
+ alt ctrll keycode 6 = Meta_five
+ shift alt ctrll keycode 6 = Meta_percent
+ ctrll ctrlr keycode 6 = five
+ shift ctrll ctrlr keycode 6 = colon
+ control ctrll ctrlr keycode 6 = Control_bracketright
+ shift control ctrll ctrlr keycode 6 = Control_bracketright
+ alt ctrll ctrlr keycode 6 = Meta_five
+ shift alt ctrll ctrlr keycode 6 = Meta_percent
+ altgr keycode 6 = U+00b0
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_asciicircum
+ ctrlr keycode 7 = six
+ shift ctrlr keycode 7 = comma
+ control ctrlr keycode 7 = Control_asciicircum
+ shift control ctrlr keycode 7 = Control_asciicircum
+ alt ctrlr keycode 7 = Meta_six
+ shift alt ctrlr keycode 7 = Meta_asciicircum
+ ctrll keycode 7 = six
+ shift ctrll keycode 7 = comma
+ control ctrll keycode 7 = Control_asciicircum
+ shift control ctrll keycode 7 = Control_asciicircum
+ alt ctrll keycode 7 = Meta_six
+ shift alt ctrll keycode 7 = Meta_asciicircum
+ ctrll ctrlr keycode 7 = six
+ shift ctrll ctrlr keycode 7 = comma
+ control ctrll ctrlr keycode 7 = Control_asciicircum
+ shift control ctrll ctrlr keycode 7 = Control_asciicircum
+ alt ctrll ctrlr keycode 7 = Meta_six
+ shift alt ctrll ctrlr keycode 7 = Meta_asciicircum
+ altgr keycode 7 = U+2248
+keycode 8 = seven ampersand braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+ shift alt keycode 8 = Meta_ampersand
+ ctrlr keycode 8 = seven
+ shift ctrlr keycode 8 = period
+ control ctrlr keycode 8 = Control_underscore
+ shift control ctrlr keycode 8 = Control_underscore
+ alt ctrlr keycode 8 = Meta_seven
+ shift alt ctrlr keycode 8 = Meta_ampersand
+ ctrll keycode 8 = seven
+ shift ctrll keycode 8 = period
+ control ctrll keycode 8 = Control_underscore
+ shift control ctrll keycode 8 = Control_underscore
+ alt ctrll keycode 8 = Meta_seven
+ shift alt ctrll keycode 8 = Meta_ampersand
+ ctrll ctrlr keycode 8 = seven
+ shift ctrll ctrlr keycode 8 = period
+ control ctrll ctrlr keycode 8 = Control_underscore
+ shift control ctrll ctrlr keycode 8 = Control_underscore
+ alt ctrll ctrlr keycode 8 = Meta_seven
+ shift alt ctrll ctrlr keycode 8 = Meta_ampersand
+ altgr keycode 8 = U+00b7
+keycode 9 = eight asterisk bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+ shift alt keycode 9 = Meta_asterisk
+ ctrlr keycode 9 = eight
+ shift ctrlr keycode 9 = asterisk
+ control ctrlr keycode 9 = Delete
+ shift control ctrlr keycode 9 = Delete
+ alt ctrlr keycode 9 = Meta_eight
+ shift alt ctrlr keycode 9 = Meta_asterisk
+ ctrll keycode 9 = eight
+ shift ctrll keycode 9 = asterisk
+ control ctrll keycode 9 = Delete
+ shift control ctrll keycode 9 = Delete
+ alt ctrll keycode 9 = Meta_eight
+ shift alt ctrll keycode 9 = Meta_asterisk
+ ctrll ctrlr keycode 9 = eight
+ shift ctrll ctrlr keycode 9 = asterisk
+ control ctrll ctrlr keycode 9 = Delete
+ shift control ctrll ctrlr keycode 9 = Delete
+ alt ctrll ctrlr keycode 9 = Meta_eight
+ shift alt ctrll ctrlr keycode 9 = Meta_asterisk
+ altgr keycode 9 = U+00f7
+keycode 10 = nine parenleft bracketright
+ alt keycode 10 = Meta_nine
+ shift alt keycode 10 = Meta_parenleft
+ ctrlr keycode 10 = nine
+ shift ctrlr keycode 10 = parenleft
+ alt ctrlr keycode 10 = Meta_nine
+ shift alt ctrlr keycode 10 = Meta_parenleft
+ ctrll keycode 10 = nine
+ shift ctrll keycode 10 = parenleft
+ alt ctrll keycode 10 = Meta_nine
+ shift alt ctrll keycode 10 = Meta_parenleft
+ ctrll ctrlr keycode 10 = nine
+ shift ctrll ctrlr keycode 10 = parenleft
+ alt ctrll ctrlr keycode 10 = Meta_nine
+ shift alt ctrll ctrlr keycode 10 = Meta_parenleft
+ altgr keycode 10 = U+2320
+keycode 11 = zero parenright braceright
+ alt keycode 11 = Meta_zero
+ alt keycode 11 = Meta_parenright
+ ctrlr keycode 11 = zero
+ shift ctrlr keycode 11 = parenright
+ alt ctrlr keycode 11 = Meta_zero
+ shift alt ctrlr keycode 11 = Meta_parenright
+ ctrll keycode 11 = zero
+ shift ctrll keycode 11 = parenright
+ alt ctrll keycode 11 = Meta_zero
+ shift alt ctrll keycode 11 = Meta_parenright
+ ctrll ctrlr keycode 11 = zero
+ shift ctrll ctrlr keycode 11 = parenright
+ alt ctrll ctrlr keycode 11 = Meta_zero
+ shift alt ctrll ctrlr keycode 11 = Meta_parenright
+ altgr keycode 11 = U+2321
+keycode 12 = minus underscore backslash
+ control keycode 12 = Control_underscore
+ shift control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+ shift alt keycode 12 = Meta_underscore
+ ctrlr keycode 12 = minus
+ shift ctrlr keycode 12 = underscore
+ control ctrlr keycode 12 = Control_underscore
+ shift control ctrlr keycode 12 = Control_underscore
+ alt ctrlr keycode 12 = Meta_minus
+ shift alt ctrlr keycode 12 = Meta_underscore
+ ctrll keycode 12 = minus
+ shift ctrll keycode 12 = underscore
+ control ctrll keycode 12 = Control_underscore
+ shift control ctrll keycode 12 = Control_underscore
+ alt ctrll keycode 12 = Meta_minus
+ shift alt ctrll keycode 12 = Meta_underscore
+ ctrll ctrlr keycode 12 = minus
+ shift ctrll ctrlr keycode 12 = underscore
+ control ctrll ctrlr keycode 12 = Control_underscore
+ shift control ctrll ctrlr keycode 12 = Control_underscore
+ alt ctrll ctrlr keycode 12 = Meta_minus
+ shift alt ctrll ctrlr keycode 12 = Meta_underscore
+ altgr keycode 12 = U+2219
+keycode 13 = equal plus
+ alt keycode 13 = Meta_equal
+ shift alt keycode 13 = Meta_plus
+ ctrlr keycode 13 = equal
+ shift ctrlr keycode 13 = plus
+ alt ctrlr keycode 13 = Meta_equal
+ shift alt ctrlr keycode 13 = Meta_plus
+ ctrll keycode 13 = equal
+ shift ctrll keycode 13 = plus
+ alt ctrll keycode 13 = Meta_equal
+ shift alt ctrll keycode 13 = Meta_plus
+ ctrll ctrlr keycode 13 = equal
+ shift ctrll ctrlr keycode 13 = plus
+ alt ctrll ctrlr keycode 13 = Meta_equal
+ shift alt ctrll ctrlr keycode 13 = Meta_plus
+keycode 14 = BackSpace Delete
+ control keycode 14 = BackSpace
+ alt keycode 14 = Meta_Delete
+ ctrlr keycode 14 = BackSpace
+ shift ctrlr keycode 14 = BackSpace
+ control ctrlr keycode 14 = BackSpace
+ shift control ctrlr keycode 14 = BackSpace
+ alt ctrlr keycode 14 = Meta_Delete
+ shift alt ctrlr keycode 14 = Meta_Delete
+ ctrll keycode 14 = BackSpace
+ shift ctrll keycode 14 = BackSpace
+ control ctrll keycode 14 = BackSpace
+ shift control ctrll keycode 14 = BackSpace
+ alt ctrll keycode 14 = Meta_Delete
+ shift alt ctrll keycode 14 = Meta_Delete
+ ctrll ctrlr keycode 14 = BackSpace
+ shift ctrll ctrlr keycode 14 = BackSpace
+ control ctrll ctrlr keycode 14 = BackSpace
+ shift control ctrll ctrlr keycode 14 = BackSpace
+ alt ctrll ctrlr keycode 14 = Meta_Delete
+ shift alt ctrll ctrlr keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+ ctrlr keycode 15 = Tab
+ shift ctrlr keycode 15 = Tab
+ alt ctrlr keycode 15 = Meta_Tab
+ shift alt ctrlr keycode 15 = Meta_Tab
+ ctrll keycode 15 = Tab
+ shift ctrll keycode 15 = Tab
+ alt ctrll keycode 15 = Meta_Tab
+ shift alt ctrll keycode 15 = Meta_Tab
+ ctrll ctrlr keycode 15 = Tab
+ shift ctrll ctrlr keycode 15 = Tab
+ alt ctrll ctrlr keycode 15 = Meta_Tab
+ shift alt ctrll ctrlr keycode 15 = Meta_Tab
+keycode 16 = q
+ ctrlr keycode 16 = U+0439
+ shift ctrlr keycode 16 = U+0419
+ control ctrlr keycode 16 = Control_q
+ shift control ctrlr keycode 16 = Control_q
+ alt ctrlr keycode 16 = Meta_q
+ shift alt ctrlr keycode 16 = Meta_Q
+ control alt ctrlr keycode 16 = Meta_Control_q
+ shift control alt ctrlr keycode 16 = Meta_Control_q
+ ctrll keycode 16 = U+0439
+ shift ctrll keycode 16 = U+0419
+ control ctrll keycode 16 = Control_q
+ shift control ctrll keycode 16 = Control_q
+ alt ctrll keycode 16 = Meta_q
+ shift alt ctrll keycode 16 = Meta_Q
+ control alt ctrll keycode 16 = Meta_Control_q
+ shift control alt ctrll keycode 16 = Meta_Control_q
+ ctrll ctrlr keycode 16 = U+0439
+ shift ctrll ctrlr keycode 16 = U+0419
+ control ctrll ctrlr keycode 16 = Control_q
+ shift control ctrll ctrlr keycode 16 = Control_q
+ alt ctrll ctrlr keycode 16 = Meta_q
+ shift alt ctrll ctrlr keycode 16 = Meta_Q
+ control alt ctrll ctrlr keycode 16 = Meta_Control_q
+ shift control alt ctrll ctrlr keycode 16 = Meta_Control_q
+keycode 17 = w
+ ctrlr keycode 17 = U+0446
+ shift ctrlr keycode 17 = U+0426
+ control ctrlr keycode 17 = Control_w
+ shift control ctrlr keycode 17 = Control_w
+ alt ctrlr keycode 17 = Meta_w
+ shift alt ctrlr keycode 17 = Meta_W
+ control alt ctrlr keycode 17 = Meta_Control_w
+ shift control alt ctrlr keycode 17 = Meta_Control_w
+ ctrll keycode 17 = U+0446
+ shift ctrll keycode 17 = U+0426
+ control ctrll keycode 17 = Control_w
+ shift control ctrll keycode 17 = Control_w
+ alt ctrll keycode 17 = Meta_w
+ shift alt ctrll keycode 17 = Meta_W
+ control alt ctrll keycode 17 = Meta_Control_w
+ shift control alt ctrll keycode 17 = Meta_Control_w
+ ctrll ctrlr keycode 17 = U+0446
+ shift ctrll ctrlr keycode 17 = U+0426
+ control ctrll ctrlr keycode 17 = Control_w
+ shift control ctrll ctrlr keycode 17 = Control_w
+ alt ctrll ctrlr keycode 17 = Meta_w
+ shift alt ctrll ctrlr keycode 17 = Meta_W
+ control alt ctrll ctrlr keycode 17 = Meta_Control_w
+ shift control alt ctrll ctrlr keycode 17 = Meta_Control_w
+keycode 18 = e
+ ctrlr keycode 18 = U+0443
+ shift ctrlr keycode 18 = U+0423
+ control ctrlr keycode 18 = Control_e
+ shift control ctrlr keycode 18 = Control_e
+ alt ctrlr keycode 18 = Meta_e
+ shift alt ctrlr keycode 18 = Meta_E
+ control alt ctrlr keycode 18 = Meta_Control_e
+ shift control alt ctrlr keycode 18 = Meta_Control_e
+ ctrll keycode 18 = U+0443
+ shift ctrll keycode 18 = U+0423
+ control ctrll keycode 18 = Control_e
+ shift control ctrll keycode 18 = Control_e
+ alt ctrll keycode 18 = Meta_e
+ shift alt ctrll keycode 18 = Meta_E
+ control alt ctrll keycode 18 = Meta_Control_e
+ shift control alt ctrll keycode 18 = Meta_Control_e
+ ctrll ctrlr keycode 18 = U+0443
+ shift ctrll ctrlr keycode 18 = U+0423
+ control ctrll ctrlr keycode 18 = Control_e
+ shift control ctrll ctrlr keycode 18 = Control_e
+ alt ctrll ctrlr keycode 18 = Meta_e
+ shift alt ctrll ctrlr keycode 18 = Meta_E
+ control alt ctrll ctrlr keycode 18 = Meta_Control_e
+ shift control alt ctrll ctrlr keycode 18 = Meta_Control_e
+keycode 19 = r
+ ctrlr keycode 19 = U+043a
+ shift ctrlr keycode 19 = U+041a
+ control ctrlr keycode 19 = Control_r
+ shift control ctrlr keycode 19 = Control_r
+ alt ctrlr keycode 19 = Meta_r
+ shift alt ctrlr keycode 19 = Meta_R
+ control alt ctrlr keycode 19 = Meta_Control_r
+ shift control alt ctrlr keycode 19 = Meta_Control_r
+ ctrll keycode 19 = U+043a
+ shift ctrll keycode 19 = U+041a
+ control ctrll keycode 19 = Control_r
+ shift control ctrll keycode 19 = Control_r
+ alt ctrll keycode 19 = Meta_r
+ shift alt ctrll keycode 19 = Meta_R
+ control alt ctrll keycode 19 = Meta_Control_r
+ shift control alt ctrll keycode 19 = Meta_Control_r
+ ctrll ctrlr keycode 19 = U+043a
+ shift ctrll ctrlr keycode 19 = U+041a
+ control ctrll ctrlr keycode 19 = Control_r
+ shift control ctrll ctrlr keycode 19 = Control_r
+ alt ctrll ctrlr keycode 19 = Meta_r
+ shift alt ctrll ctrlr keycode 19 = Meta_R
+ control alt ctrll ctrlr keycode 19 = Meta_Control_r
+ shift control alt ctrll ctrlr keycode 19 = Meta_Control_r
+keycode 20 = t
+ ctrlr keycode 20 = U+0435
+ shift ctrlr keycode 20 = U+0415
+ control ctrlr keycode 20 = Control_t
+ shift control ctrlr keycode 20 = Control_t
+ alt ctrlr keycode 20 = Meta_t
+ shift alt ctrlr keycode 20 = Meta_T
+ control alt ctrlr keycode 20 = Meta_Control_t
+ shift control alt ctrlr keycode 20 = Meta_Control_t
+ ctrll keycode 20 = U+0435
+ shift ctrll keycode 20 = U+0415
+ control ctrll keycode 20 = Control_t
+ shift control ctrll keycode 20 = Control_t
+ alt ctrll keycode 20 = Meta_t
+ shift alt ctrll keycode 20 = Meta_T
+ control alt ctrll keycode 20 = Meta_Control_t
+ shift control alt ctrll keycode 20 = Meta_Control_t
+ ctrll ctrlr keycode 20 = U+0435
+ shift ctrll ctrlr keycode 20 = U+0415
+ control ctrll ctrlr keycode 20 = Control_t
+ shift control ctrll ctrlr keycode 20 = Control_t
+ alt ctrll ctrlr keycode 20 = Meta_t
+ shift alt ctrll ctrlr keycode 20 = Meta_T
+ control alt ctrll ctrlr keycode 20 = Meta_Control_t
+ shift control alt ctrll ctrlr keycode 20 = Meta_Control_t
+keycode 21 = y
+ ctrlr keycode 21 = U+043d
+ shift ctrlr keycode 21 = U+041d
+ control ctrlr keycode 21 = Control_y
+ shift control ctrlr keycode 21 = Control_y
+ alt ctrlr keycode 21 = Meta_y
+ shift alt ctrlr keycode 21 = Meta_Y
+ control alt ctrlr keycode 21 = Meta_Control_y
+ shift control alt ctrlr keycode 21 = Meta_Control_y
+ ctrll keycode 21 = U+043d
+ shift ctrll keycode 21 = U+041d
+ control ctrll keycode 21 = Control_y
+ shift control ctrll keycode 21 = Control_y
+ alt ctrll keycode 21 = Meta_y
+ shift alt ctrll keycode 21 = Meta_Y
+ control alt ctrll keycode 21 = Meta_Control_y
+ shift control alt ctrll keycode 21 = Meta_Control_y
+ ctrll ctrlr keycode 21 = U+043d
+ shift ctrll ctrlr keycode 21 = U+041d
+ control ctrll ctrlr keycode 21 = Control_y
+ shift control ctrll ctrlr keycode 21 = Control_y
+ alt ctrll ctrlr keycode 21 = Meta_y
+ shift alt ctrll ctrlr keycode 21 = Meta_Y
+ control alt ctrll ctrlr keycode 21 = Meta_Control_y
+ shift control alt ctrll ctrlr keycode 21 = Meta_Control_y
+keycode 22 = u
+ ctrlr keycode 22 = U+0433
+ shift ctrlr keycode 22 = U+0433
+ control ctrlr keycode 22 = Control_u
+ shift control ctrlr keycode 22 = Control_u
+ alt ctrlr keycode 22 = Meta_u
+ shift alt ctrlr keycode 22 = Meta_U
+ control alt ctrlr keycode 22 = Meta_Control_u
+ shift control alt ctrlr keycode 22 = Meta_Control_u
+ ctrll keycode 22 = U+0433
+ shift ctrll keycode 22 = U+0433
+ control ctrll keycode 22 = Control_u
+ shift control ctrll keycode 22 = Control_u
+ alt ctrll keycode 22 = Meta_u
+ shift alt ctrll keycode 22 = Meta_U
+ control alt ctrll keycode 22 = Meta_Control_u
+ shift control alt ctrll keycode 22 = Meta_Control_u
+ ctrll ctrlr keycode 22 = U+0433
+ shift ctrll ctrlr keycode 22 = U+0433
+ control ctrll ctrlr keycode 22 = Control_u
+ shift control ctrll ctrlr keycode 22 = Control_u
+ alt ctrll ctrlr keycode 22 = Meta_u
+ shift alt ctrll ctrlr keycode 22 = Meta_U
+ control alt ctrll ctrlr keycode 22 = Meta_Control_u
+ shift control alt ctrll ctrlr keycode 22 = Meta_Control_u
+keycode 23 = i
+ ctrlr keycode 23 = U+0448
+ shift ctrlr keycode 23 = U+0428
+ control ctrlr keycode 23 = Control_i
+ shift control ctrlr keycode 23 = Control_i
+ alt ctrlr keycode 23 = Meta_i
+ shift alt ctrlr keycode 23 = Meta_I
+ control alt ctrlr keycode 23 = Meta_Control_i
+ shift control alt ctrlr keycode 23 = Meta_Control_i
+ ctrll keycode 23 = U+0448
+ shift ctrll keycode 23 = U+0428
+ control ctrll keycode 23 = Control_i
+ shift control ctrll keycode 23 = Control_i
+ alt ctrll keycode 23 = Meta_i
+ shift alt ctrll keycode 23 = Meta_I
+ control alt ctrll keycode 23 = Meta_Control_i
+ shift control alt ctrll keycode 23 = Meta_Control_i
+ ctrll ctrlr keycode 23 = U+0448
+ shift ctrll ctrlr keycode 23 = U+0428
+ control ctrll ctrlr keycode 23 = Control_i
+ shift control ctrll ctrlr keycode 23 = Control_i
+ alt ctrll ctrlr keycode 23 = Meta_i
+ shift alt ctrll ctrlr keycode 23 = Meta_I
+ control alt ctrll ctrlr keycode 23 = Meta_Control_i
+ shift control alt ctrll ctrlr keycode 23 = Meta_Control_i
+keycode 24 = o
+ ctrlr keycode 24 = U+0449
+ shift ctrlr keycode 24 = U+0429
+ control ctrlr keycode 24 = Control_o
+ shift control ctrlr keycode 24 = Control_o
+ alt ctrlr keycode 24 = Meta_o
+ shift alt ctrlr keycode 24 = Meta_O
+ control alt ctrlr keycode 24 = Meta_Control_o
+ shift control alt ctrlr keycode 24 = Meta_Control_o
+ ctrll keycode 24 = U+0449
+ shift ctrll keycode 24 = U+0429
+ control ctrll keycode 24 = Control_o
+ shift control ctrll keycode 24 = Control_o
+ alt ctrll keycode 24 = Meta_o
+ shift alt ctrll keycode 24 = Meta_O
+ control alt ctrll keycode 24 = Meta_Control_o
+ shift control alt ctrll keycode 24 = Meta_Control_o
+ ctrll ctrlr keycode 24 = U+0449
+ shift ctrll ctrlr keycode 24 = U+0429
+ control ctrll ctrlr keycode 24 = Control_o
+ shift control ctrll ctrlr keycode 24 = Control_o
+ alt ctrll ctrlr keycode 24 = Meta_o
+ shift alt ctrll ctrlr keycode 24 = Meta_O
+ control alt ctrll ctrlr keycode 24 = Meta_Control_o
+ shift control alt ctrll ctrlr keycode 24 = Meta_Control_o
+keycode 25 = p
+ ctrlr keycode 25 = U+0437
+ shift ctrlr keycode 25 = U+0417
+ control ctrlr keycode 25 = Control_p
+ shift control ctrlr keycode 25 = Control_p
+ alt ctrlr keycode 25 = Meta_p
+ shift alt ctrlr keycode 25 = Meta_P
+ control alt ctrlr keycode 25 = Meta_Control_p
+ shift control alt ctrlr keycode 25 = Meta_Control_p
+ ctrll keycode 25 = U+0437
+ shift ctrll keycode 25 = U+0417
+ control ctrll keycode 25 = Control_p
+ shift control ctrll keycode 25 = Control_p
+ alt ctrll keycode 25 = Meta_p
+ shift alt ctrll keycode 25 = Meta_P
+ control alt ctrll keycode 25 = Meta_Control_p
+ shift control alt ctrll keycode 25 = Meta_Control_p
+ ctrll ctrlr keycode 25 = U+0437
+ shift ctrll ctrlr keycode 25 = U+0417
+ control ctrll ctrlr keycode 25 = Control_p
+ shift control ctrll ctrlr keycode 25 = Control_p
+ alt ctrll ctrlr keycode 25 = Meta_p
+ shift alt ctrll ctrlr keycode 25 = Meta_P
+ control alt ctrll ctrlr keycode 25 = Meta_Control_p
+ shift control alt ctrll ctrlr keycode 25 = Meta_Control_p
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ shift alt keycode 26 = Meta_braceleft
+ ctrlr keycode 26 = U+0445
+ shift ctrlr keycode 26 = U+0425
+ control ctrlr keycode 26 = Escape
+ shift control ctrlr keycode 26 = Escape
+ alt ctrlr keycode 26 = Meta_bracketleft
+ shift alt ctrlr keycode 26 = Meta_braceleft
+ ctrll keycode 26 = U+0445
+ shift ctrll keycode 26 = U+0425
+ control ctrll keycode 26 = Escape
+ shift control ctrll keycode 26 = Escape
+ alt ctrll keycode 26 = Meta_bracketleft
+ shift alt ctrll keycode 26 = Meta_braceleft
+ ctrll ctrlr keycode 26 = U+0445
+ shift ctrll ctrlr keycode 26 = U+0425
+ control ctrll ctrlr keycode 26 = Escape
+ shift control ctrll ctrlr keycode 26 = Escape
+ alt ctrll ctrlr keycode 26 = Meta_bracketleft
+ shift alt ctrll ctrlr keycode 26 = Meta_braceleft
+keycode 27 = bracketright braceright asciitilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ shift alt keycode 27 = Meta_braceright
+ ctrlr keycode 27 = U+044a
+ shift ctrlr keycode 27 = U+042a
+ control ctrlr keycode 27 = Control_bracketright
+ shift control ctrlr keycode 27 = Control_bracketright
+ alt ctrlr keycode 27 = Meta_bracketright
+ shift alt ctrlr keycode 27 = Meta_braceright
+ control alt ctrlr keycode 27 = Meta_Control_bracketright
+ shift control alt ctrlr keycode 27 = Meta_Control_bracketright
+ ctrll keycode 27 = U+0457
+ shift ctrll keycode 27 = U+0407
+ control ctrll keycode 27 = Control_bracketright
+ shift control ctrll keycode 27 = Control_bracketright
+ alt ctrll keycode 27 = Meta_bracketright
+ shift alt ctrll keycode 27 = Meta_braceright
+ control alt ctrll keycode 27 = Meta_Control_bracketright
+ shift control alt ctrll keycode 27 = Meta_Control_bracketright
+ ctrll ctrlr keycode 27 = U+0457
+ shift ctrll ctrlr keycode 27 = U+0407
+ control ctrll ctrlr keycode 27 = Control_bracketright
+ shift control ctrll ctrlr keycode 27 = Control_bracketright
+ alt ctrll ctrlr keycode 27 = Meta_bracketright
+ shift alt ctrll ctrlr keycode 27 = Meta_braceright
+ control alt ctrll ctrlr keycode 27 = Meta_Control_bracketright
+ shift control alt ctrll ctrlr keycode 27 = Meta_Control_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+ ctrlr keycode 30 = U+0444
+ shift ctrlr keycode 30 = U+0424
+ control ctrlr keycode 30 = Control_a
+ shift control ctrlr keycode 30 = Control_a
+ alt ctrlr keycode 30 = Meta_a
+ shift alt ctrlr keycode 30 = Meta_A
+ control alt ctrlr keycode 30 = Meta_Control_a
+ shift control alt ctrlr keycode 30 = Meta_Control_a
+ ctrll keycode 30 = U+0444
+ shift ctrll keycode 30 = U+0424
+ control ctrll keycode 30 = Control_a
+ shift control ctrll keycode 30 = Control_a
+ alt ctrll keycode 30 = Meta_a
+ shift alt ctrll keycode 30 = Meta_A
+ control alt ctrll keycode 30 = Meta_Control_a
+ shift control alt ctrll keycode 30 = Meta_Control_a
+ ctrll ctrlr keycode 30 = U+0444
+ shift ctrll ctrlr keycode 30 = U+0424
+ control ctrll ctrlr keycode 30 = Control_a
+ shift control ctrll ctrlr keycode 30 = Control_a
+ alt ctrll ctrlr keycode 30 = Meta_a
+ shift alt ctrll ctrlr keycode 30 = Meta_A
+ control alt ctrll ctrlr keycode 30 = Meta_Control_a
+ shift control alt ctrll ctrlr keycode 30 = Meta_Control_a
+keycode 31 = s
+ ctrlr keycode 31 = U+044b
+ shift ctrlr keycode 31 = U+042b
+ control ctrlr keycode 31 = Control_s
+ shift control ctrlr keycode 31 = Control_s
+ alt ctrlr keycode 31 = Meta_s
+ shift alt ctrlr keycode 31 = Meta_S
+ control alt ctrlr keycode 31 = Meta_Control_s
+ shift control alt ctrlr keycode 31 = Meta_Control_s
+ ctrll keycode 31 = U+0456
+ shift ctrll keycode 31 = U+0406
+ control ctrll keycode 31 = Control_s
+ shift control ctrll keycode 31 = Control_s
+ alt ctrll keycode 31 = Meta_s
+ shift alt ctrll keycode 31 = Meta_S
+ control alt ctrll keycode 31 = Meta_Control_s
+ shift control alt ctrll keycode 31 = Meta_Control_s
+ ctrll ctrlr keycode 31 = U+0456
+ shift ctrll ctrlr keycode 31 = U+0406
+ control ctrll ctrlr keycode 31 = Control_s
+ shift control ctrll ctrlr keycode 31 = Control_s
+ alt ctrll ctrlr keycode 31 = Meta_s
+ shift alt ctrll ctrlr keycode 31 = Meta_S
+ control alt ctrll ctrlr keycode 31 = Meta_Control_s
+ shift control alt ctrll ctrlr keycode 31 = Meta_Control_s
+keycode 32 = d
+ ctrlr keycode 32 = U+0432
+ shift ctrlr keycode 32 = U+0432
+ control ctrlr keycode 32 = Control_d
+ shift control ctrlr keycode 32 = Control_d
+ alt ctrlr keycode 32 = Meta_d
+ shift alt ctrlr keycode 32 = Meta_D
+ control alt ctrlr keycode 32 = Meta_Control_d
+ shift control alt ctrlr keycode 32 = Meta_Control_d
+ ctrll keycode 32 = U+0432
+ shift ctrll keycode 32 = U+0432
+ control ctrll keycode 32 = Control_d
+ shift control ctrll keycode 32 = Control_d
+ alt ctrll keycode 32 = Meta_d
+ shift alt ctrll keycode 32 = Meta_D
+ control alt ctrll keycode 32 = Meta_Control_d
+ shift control alt ctrll keycode 32 = Meta_Control_d
+ ctrll ctrlr keycode 32 = U+0432
+ shift ctrll ctrlr keycode 32 = U+0432
+ control ctrll ctrlr keycode 32 = Control_d
+ shift control ctrll ctrlr keycode 32 = Control_d
+ alt ctrll ctrlr keycode 32 = Meta_d
+ shift alt ctrll ctrlr keycode 32 = Meta_D
+ control alt ctrll ctrlr keycode 32 = Meta_Control_d
+ shift control alt ctrll ctrlr keycode 32 = Meta_Control_d
+keycode 33 = f
+ ctrlr keycode 33 = U+0430
+ shift ctrlr keycode 33 = U+0410
+ control ctrlr keycode 33 = Control_f
+ shift control ctrlr keycode 33 = Control_f
+ alt ctrlr keycode 33 = Meta_f
+ shift alt ctrlr keycode 33 = Meta_F
+ control alt ctrlr keycode 33 = Meta_Control_f
+ shift control alt ctrlr keycode 33 = Meta_Control_f
+ ctrll keycode 33 = U+0430
+ shift ctrll keycode 33 = U+0410
+ control ctrll keycode 33 = Control_f
+ shift control ctrll keycode 33 = Control_f
+ alt ctrll keycode 33 = Meta_f
+ shift alt ctrll keycode 33 = Meta_F
+ control alt ctrll keycode 33 = Meta_Control_f
+ shift control alt ctrll keycode 33 = Meta_Control_f
+ ctrll ctrlr keycode 33 = U+0430
+ shift ctrll ctrlr keycode 33 = U+0410
+ control ctrll ctrlr keycode 33 = Control_f
+ shift control ctrll ctrlr keycode 33 = Control_f
+ alt ctrll ctrlr keycode 33 = Meta_f
+ shift alt ctrll ctrlr keycode 33 = Meta_F
+ control alt ctrll ctrlr keycode 33 = Meta_Control_f
+ shift control alt ctrll ctrlr keycode 33 = Meta_Control_f
+keycode 34 = g
+ ctrlr keycode 34 = U+043f
+ shift ctrlr keycode 34 = U+041f
+ control ctrlr keycode 34 = Control_g
+ shift control ctrlr keycode 34 = Control_g
+ alt ctrlr keycode 34 = Meta_g
+ shift alt ctrlr keycode 34 = Meta_G
+ control alt ctrlr keycode 34 = Meta_Control_g
+ shift control alt ctrlr keycode 34 = Meta_Control_g
+ ctrll keycode 34 = U+043f
+ shift ctrll keycode 34 = U+041f
+ control ctrll keycode 34 = Control_g
+ shift control ctrll keycode 34 = Control_g
+ alt ctrll keycode 34 = Meta_g
+ shift alt ctrll keycode 34 = Meta_G
+ control alt ctrll keycode 34 = Meta_Control_g
+ shift control alt ctrll keycode 34 = Meta_Control_g
+ ctrll ctrlr keycode 34 = U+043f
+ shift ctrll ctrlr keycode 34 = U+041f
+ control ctrll ctrlr keycode 34 = Control_g
+ shift control ctrll ctrlr keycode 34 = Control_g
+ alt ctrll ctrlr keycode 34 = Meta_g
+ shift alt ctrll ctrlr keycode 34 = Meta_G
+ control alt ctrll ctrlr keycode 34 = Meta_Control_g
+ shift control alt ctrll ctrlr keycode 34 = Meta_Control_g
+keycode 35 = h
+ ctrlr keycode 35 = U+0440
+ shift ctrlr keycode 35 = U+0420
+ control ctrlr keycode 35 = Control_h
+ shift control ctrlr keycode 35 = Control_h
+ alt ctrlr keycode 35 = Meta_h
+ shift alt ctrlr keycode 35 = Meta_H
+ control alt ctrlr keycode 35 = Meta_Control_h
+ shift control alt ctrlr keycode 35 = Meta_Control_h
+ ctrll keycode 35 = U+0440
+ shift ctrll keycode 35 = U+0420
+ control ctrll keycode 35 = Control_h
+ shift control ctrll keycode 35 = Control_h
+ alt ctrll keycode 35 = Meta_h
+ shift alt ctrll keycode 35 = Meta_H
+ control alt ctrll keycode 35 = Meta_Control_h
+ shift control alt ctrll keycode 35 = Meta_Control_h
+ ctrll ctrlr keycode 35 = U+0440
+ shift ctrll ctrlr keycode 35 = U+0420
+ control ctrll ctrlr keycode 35 = Control_h
+ shift control ctrll ctrlr keycode 35 = Control_h
+ alt ctrll ctrlr keycode 35 = Meta_h
+ shift alt ctrll ctrlr keycode 35 = Meta_H
+ control alt ctrll ctrlr keycode 35 = Meta_Control_h
+ shift control alt ctrll ctrlr keycode 35 = Meta_Control_h
+keycode 36 = j
+ ctrlr keycode 36 = U+043e
+ shift ctrlr keycode 36 = U+041e
+ control ctrlr keycode 36 = Control_j
+ shift control ctrlr keycode 36 = Control_j
+ alt ctrlr keycode 36 = Meta_j
+ shift alt ctrlr keycode 36 = Meta_J
+ control alt ctrlr keycode 36 = Meta_Control_j
+ shift control alt ctrlr keycode 36 = Meta_Control_j
+ ctrll keycode 36 = U+043e
+ shift ctrll keycode 36 = U+041e
+ control ctrll keycode 36 = Control_j
+ shift control ctrll keycode 36 = Control_j
+ alt ctrll keycode 36 = Meta_j
+ shift alt ctrll keycode 36 = Meta_J
+ control alt ctrll keycode 36 = Meta_Control_j
+ shift control alt ctrll keycode 36 = Meta_Control_j
+ ctrll ctrlr keycode 36 = U+043e
+ shift ctrll ctrlr keycode 36 = U+041e
+ control ctrll ctrlr keycode 36 = Control_j
+ shift control ctrll ctrlr keycode 36 = Control_j
+ alt ctrll ctrlr keycode 36 = Meta_j
+ shift alt ctrll ctrlr keycode 36 = Meta_J
+ control alt ctrll ctrlr keycode 36 = Meta_Control_j
+ shift control alt ctrll ctrlr keycode 36 = Meta_Control_j
+keycode 37 = k
+ ctrlr keycode 37 = U+043b
+ shift ctrlr keycode 37 = U+041b
+ control ctrlr keycode 37 = Control_k
+ shift control ctrlr keycode 37 = Control_k
+ alt ctrlr keycode 37 = Meta_k
+ shift alt ctrlr keycode 37 = Meta_K
+ control alt ctrlr keycode 37 = Meta_Control_k
+ shift control alt ctrlr keycode 37 = Meta_Control_k
+ ctrll keycode 37 = U+043b
+ shift ctrll keycode 37 = U+041b
+ control ctrll keycode 37 = Control_k
+ shift control ctrll keycode 37 = Control_k
+ alt ctrll keycode 37 = Meta_k
+ shift alt ctrll keycode 37 = Meta_K
+ control alt ctrll keycode 37 = Meta_Control_k
+ shift control alt ctrll keycode 37 = Meta_Control_k
+ ctrll ctrlr keycode 37 = U+043b
+ shift ctrll ctrlr keycode 37 = U+041b
+ control ctrll ctrlr keycode 37 = Control_k
+ shift control ctrll ctrlr keycode 37 = Control_k
+ alt ctrll ctrlr keycode 37 = Meta_k
+ shift alt ctrll ctrlr keycode 37 = Meta_K
+ control alt ctrll ctrlr keycode 37 = Meta_Control_k
+ shift control alt ctrll ctrlr keycode 37 = Meta_Control_k
+keycode 38 = l
+ ctrlr keycode 38 = U+0434
+ shift ctrlr keycode 38 = U+0414
+ control ctrlr keycode 38 = Control_l
+ shift control ctrlr keycode 38 = Control_l
+ alt ctrlr keycode 38 = Meta_l
+ shift alt ctrlr keycode 38 = Meta_L
+ control alt ctrlr keycode 38 = Meta_Control_l
+ shift control alt ctrlr keycode 38 = Meta_Control_l
+ ctrll keycode 38 = U+0434
+ shift ctrll keycode 38 = U+0414
+ control ctrll keycode 38 = Control_l
+ shift control ctrll keycode 38 = Control_l
+ alt ctrll keycode 38 = Meta_l
+ shift alt ctrll keycode 38 = Meta_L
+ control alt ctrll keycode 38 = Meta_Control_l
+ shift control alt ctrll keycode 38 = Meta_Control_l
+ ctrll ctrlr keycode 38 = U+0434
+ shift ctrll ctrlr keycode 38 = U+0414
+ control ctrll ctrlr keycode 38 = Control_l
+ shift control ctrll ctrlr keycode 38 = Control_l
+ alt ctrll ctrlr keycode 38 = Meta_l
+ shift alt ctrll ctrlr keycode 38 = Meta_L
+ control alt ctrll ctrlr keycode 38 = Meta_Control_l
+ shift control alt ctrll ctrlr keycode 38 = Meta_Control_l
+keycode 39 = semicolon colon
+ alt keycode 39 = Meta_semicolon
+ shift alt keycode 39 = Meta_colon
+ ctrlr keycode 39 = U+0436
+ shift ctrlr keycode 39 = U+0416
+ alt ctrlr keycode 39 = Meta_semicolon
+ shift alt ctrlr keycode 39 = Meta_colon
+ ctrll keycode 39 = U+0436
+ shift ctrll keycode 39 = U+0416
+ alt ctrll keycode 39 = Meta_semicolon
+ shift alt ctrll keycode 39 = Meta_colon
+ ctrll ctrlr keycode 39 = U+0436
+ shift ctrll ctrlr keycode 39 = U+0416
+ alt ctrll ctrlr keycode 39 = Meta_semicolon
+ shift alt ctrll ctrlr keycode 39 = Meta_colon
+keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+ shift alt keycode 40 = Meta_quotedbl
+ ctrlr keycode 40 = U+044d
+ shift ctrlr keycode 40 = U+042d
+ control ctrlr keycode 40 = Control_g
+ shift control ctrlr keycode 40 = Control_g
+ alt ctrlr keycode 40 = Meta_apostrophe
+ shift alt ctrlr keycode 40 = Meta_quotedbl
+ ctrll keycode 40 = U+0454
+ shift ctrll keycode 40 = U+0404
+ control ctrll keycode 40 = Control_g
+ shift control ctrll keycode 40 = Control_g
+ alt ctrll keycode 40 = Meta_apostrophe
+ shift alt ctrll keycode 40 = Meta_quotedbl
+ ctrll ctrlr keycode 40 = U+0454
+ shift ctrll ctrlr keycode 40 = U+0404
+ control ctrll ctrlr keycode 40 = Control_g
+ shift control ctrll ctrlr keycode 40 = Control_g
+ alt ctrll ctrlr keycode 40 = Meta_apostrophe
+ shift alt ctrll ctrlr keycode 40 = Meta_quotedbl
+keycode 41 = grave asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+ shift alt keycode 41 = Meta_asciitilde
+ ctrlr keycode 41 = apostrophe
+ shift ctrlr keycode 41 = question
+ control ctrlr keycode 41 = nul
+ shift control ctrlr keycode 41 = nul
+ alt ctrlr keycode 41 = Meta_grave
+ shift alt ctrlr keycode 41 = Meta_asciitilde
+ ctrll keycode 41 = apostrophe
+ shift ctrll keycode 41 = question
+ control ctrll keycode 41 = nul
+ shift control ctrll keycode 41 = nul
+ alt ctrll keycode 41 = Meta_grave
+ shift alt ctrll keycode 41 = Meta_asciitilde
+ ctrll ctrlr keycode 41 = apostrophe
+ shift ctrll ctrlr keycode 41 = question
+ control ctrll ctrlr keycode 41 = nul
+ shift control ctrll ctrlr keycode 41 = nul
+ alt ctrll ctrlr keycode 41 = Meta_grave
+ shift alt ctrll ctrlr keycode 41 = Meta_asciitilde
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ shift alt keycode 43 = Meta_bar
+ control alt keycode 43 = Meta_Control_backslash
+ shift control alt keycode 43 = Meta_Control_backslash
+ ctrlr keycode 43 = backslash
+ shift ctrlr keycode 43 = bar
+ control ctrlr keycode 43 = Control_backslash
+ shift control ctrlr keycode 43 = Control_backslash
+ alt ctrlr keycode 43 = Meta_backslash
+ shift alt ctrlr keycode 43 = Meta_bar
+ control alt ctrlr keycode 43 = Meta_Control_backslash
+ shift control alt ctrlr keycode 43 = Meta_Control_backslash
+ ctrll keycode 43 = backslash
+ shift ctrll keycode 43 = bar
+ control ctrll keycode 43 = Control_backslash
+ shift control ctrll keycode 43 = Control_backslash
+ alt ctrll keycode 43 = Meta_backslash
+ shift alt ctrll keycode 43 = Meta_bar
+ control alt ctrll keycode 43 = Meta_Control_backslash
+ shift control alt ctrll keycode 43 = Meta_Control_backslash
+ ctrll ctrlr keycode 43 = backslash
+ shift ctrll ctrlr keycode 43 = bar
+ control ctrll ctrlr keycode 43 = Control_backslash
+ shift control ctrll ctrlr keycode 43 = Control_backslash
+ alt ctrll ctrlr keycode 43 = Meta_backslash
+ shift alt ctrll ctrlr keycode 43 = Meta_bar
+ control alt ctrll ctrlr keycode 43 = Meta_Control_backslash
+ shift control alt ctrll ctrlr keycode 43 = Meta_Control_backslash
+keycode 44 = z
+ ctrlr keycode 44 = U+044f
+ shift ctrlr keycode 44 = U+042f
+ control ctrlr keycode 44 = Control_z
+ shift control ctrlr keycode 44 = Control_z
+ alt ctrlr keycode 44 = Meta_z
+ shift alt ctrlr keycode 44 = Meta_Z
+ control alt ctrlr keycode 44 = Meta_Control_z
+ shift control alt ctrlr keycode 44 = Meta_Control_z
+ ctrll keycode 44 = U+044f
+ shift ctrll keycode 44 = U+042f
+ control ctrll keycode 44 = Control_z
+ shift control ctrll keycode 44 = Control_z
+ alt ctrll keycode 44 = Meta_z
+ shift alt ctrll keycode 44 = Meta_Z
+ control alt ctrll keycode 44 = Meta_Control_z
+ shift control alt ctrll keycode 44 = Meta_Control_z
+ ctrll ctrlr keycode 44 = U+044f
+ shift ctrll ctrlr keycode 44 = U+042f
+ control ctrll ctrlr keycode 44 = Control_z
+ shift control ctrll ctrlr keycode 44 = Control_z
+ alt ctrll ctrlr keycode 44 = Meta_z
+ shift alt ctrll ctrlr keycode 44 = Meta_Z
+ control alt ctrll ctrlr keycode 44 = Meta_Control_z
+ shift control alt ctrll ctrlr keycode 44 = Meta_Control_z
+keycode 45 = x
+ ctrlr keycode 45 = U+0447
+ shift ctrlr keycode 45 = U+0427
+ control ctrlr keycode 45 = Control_x
+ shift control ctrlr keycode 45 = Control_x
+ alt ctrlr keycode 45 = Meta_x
+ shift alt ctrlr keycode 45 = Meta_X
+ control alt ctrlr keycode 45 = Meta_Control_x
+ shift control alt ctrlr keycode 45 = Meta_Control_x
+ ctrll keycode 45 = U+0447
+ shift ctrll keycode 45 = U+0427
+ control ctrll keycode 45 = Control_x
+ shift control ctrll keycode 45 = Control_x
+ alt ctrll keycode 45 = Meta_x
+ shift alt ctrll keycode 45 = Meta_X
+ control alt ctrll keycode 45 = Meta_Control_x
+ shift control alt ctrll keycode 45 = Meta_Control_x
+ ctrll ctrlr keycode 45 = U+0447
+ shift ctrll ctrlr keycode 45 = U+0427
+ control ctrll ctrlr keycode 45 = Control_x
+ shift control ctrll ctrlr keycode 45 = Control_x
+ alt ctrll ctrlr keycode 45 = Meta_x
+ shift alt ctrll ctrlr keycode 45 = Meta_X
+ control alt ctrll ctrlr keycode 45 = Meta_Control_x
+ shift control alt ctrll ctrlr keycode 45 = Meta_Control_x
+keycode 46 = c
+ ctrlr keycode 46 = U+0441
+ shift ctrlr keycode 46 = U+0421
+ control ctrlr keycode 46 = Control_c
+ shift control ctrlr keycode 46 = Control_c
+ alt ctrlr keycode 46 = Meta_c
+ shift alt ctrlr keycode 46 = Meta_C
+ control alt ctrlr keycode 46 = Meta_Control_c
+ shift control alt ctrlr keycode 46 = Meta_Control_c
+ ctrll keycode 46 = U+0441
+ shift ctrll keycode 46 = U+0421
+ control ctrll keycode 46 = Control_c
+ shift control ctrll keycode 46 = Control_c
+ alt ctrll keycode 46 = Meta_c
+ shift alt ctrll keycode 46 = Meta_C
+ control alt ctrll keycode 46 = Meta_Control_c
+ shift control alt ctrll keycode 46 = Meta_Control_c
+ ctrll ctrlr keycode 46 = U+0441
+ shift ctrll ctrlr keycode 46 = U+0421
+ control ctrll ctrlr keycode 46 = Control_c
+ shift control ctrll ctrlr keycode 46 = Control_c
+ alt ctrll ctrlr keycode 46 = Meta_c
+ shift alt ctrll ctrlr keycode 46 = Meta_C
+ control alt ctrll ctrlr keycode 46 = Meta_Control_c
+ shift control alt ctrll ctrlr keycode 46 = Meta_Control_c
+keycode 47 = v
+ ctrlr keycode 47 = U+043c
+ shift ctrlr keycode 47 = U+041c
+ control ctrlr keycode 47 = Control_v
+ shift control ctrlr keycode 47 = Control_v
+ alt ctrlr keycode 47 = Meta_v
+ shift alt ctrlr keycode 47 = Meta_V
+ control alt ctrlr keycode 47 = Meta_Control_v
+ shift control alt ctrlr keycode 47 = Meta_Control_v
+ ctrll keycode 47 = U+043c
+ shift ctrll keycode 47 = U+041c
+ control ctrll keycode 47 = Control_v
+ shift control ctrll keycode 47 = Control_v
+ alt ctrll keycode 47 = Meta_v
+ shift alt ctrll keycode 47 = Meta_V
+ control alt ctrll keycode 47 = Meta_Control_v
+ shift control alt ctrll keycode 47 = Meta_Control_v
+ ctrll ctrlr keycode 47 = U+043c
+ shift ctrll ctrlr keycode 47 = U+041c
+ control ctrll ctrlr keycode 47 = Control_v
+ shift control ctrll ctrlr keycode 47 = Control_v
+ alt ctrll ctrlr keycode 47 = Meta_v
+ shift alt ctrll ctrlr keycode 47 = Meta_V
+ control alt ctrll ctrlr keycode 47 = Meta_Control_v
+ shift control alt ctrll ctrlr keycode 47 = Meta_Control_v
+keycode 48 = b
+ ctrlr keycode 48 = U+0438
+ shift ctrlr keycode 48 = U+0418
+ control ctrlr keycode 48 = Control_b
+ shift control ctrlr keycode 48 = Control_b
+ alt ctrlr keycode 48 = Meta_b
+ shift alt ctrlr keycode 48 = Meta_B
+ control alt ctrlr keycode 48 = Meta_Control_b
+ shift control alt ctrlr keycode 48 = Meta_Control_b
+ ctrll keycode 48 = U+0438
+ shift ctrll keycode 48 = U+0418
+ control ctrll keycode 48 = Control_b
+ shift control ctrll keycode 48 = Control_b
+ alt ctrll keycode 48 = Meta_b
+ shift alt ctrll keycode 48 = Meta_B
+ control alt ctrll keycode 48 = Meta_Control_b
+ shift control alt ctrll keycode 48 = Meta_Control_b
+ ctrll ctrlr keycode 48 = U+0438
+ shift ctrll ctrlr keycode 48 = U+0418
+ control ctrll ctrlr keycode 48 = Control_b
+ shift control ctrll ctrlr keycode 48 = Control_b
+ alt ctrll ctrlr keycode 48 = Meta_b
+ shift alt ctrll ctrlr keycode 48 = Meta_B
+ control alt ctrll ctrlr keycode 48 = Meta_Control_b
+ shift control alt ctrll ctrlr keycode 48 = Meta_Control_b
+keycode 49 = n
+ ctrlr keycode 49 = U+0442
+ shift ctrlr keycode 49 = U+0422
+ control ctrlr keycode 49 = Control_n
+ shift control ctrlr keycode 49 = Control_n
+ alt ctrlr keycode 49 = Meta_n
+ shift alt ctrlr keycode 49 = Meta_N
+ control alt ctrlr keycode 49 = Meta_Control_n
+ shift control alt ctrlr keycode 49 = Meta_Control_n
+ ctrll keycode 49 = U+0442
+ shift ctrll keycode 49 = U+0422
+ control ctrll keycode 49 = Control_n
+ shift control ctrll keycode 49 = Control_n
+ alt ctrll keycode 49 = Meta_n
+ shift alt ctrll keycode 49 = Meta_N
+ control alt ctrll keycode 49 = Meta_Control_n
+ shift control alt ctrll keycode 49 = Meta_Control_n
+ ctrll ctrlr keycode 49 = U+0442
+ shift ctrll ctrlr keycode 49 = U+0422
+ control ctrll ctrlr keycode 49 = Control_n
+ shift control ctrll ctrlr keycode 49 = Control_n
+ alt ctrll ctrlr keycode 49 = Meta_n
+ shift alt ctrll ctrlr keycode 49 = Meta_N
+ control alt ctrll ctrlr keycode 49 = Meta_Control_n
+ shift control alt ctrll ctrlr keycode 49 = Meta_Control_n
+keycode 50 = m
+ ctrlr keycode 50 = U+044c
+ shift ctrlr keycode 50 = U+042c
+ control ctrlr keycode 50 = Control_m
+ shift control ctrlr keycode 50 = Control_m
+ alt ctrlr keycode 50 = Meta_m
+ shift alt ctrlr keycode 50 = Meta_M
+ control alt ctrlr keycode 50 = Meta_Control_m
+ shift control alt ctrlr keycode 50 = Meta_Control_m
+ ctrll keycode 50 = U+044c
+ shift ctrll keycode 50 = U+042c
+ control ctrll keycode 50 = Control_m
+ shift control ctrll keycode 50 = Control_m
+ alt ctrll keycode 50 = Meta_m
+ shift alt ctrll keycode 50 = Meta_M
+ control alt ctrll keycode 50 = Meta_Control_m
+ shift control alt ctrll keycode 50 = Meta_Control_m
+ ctrll ctrlr keycode 50 = U+044c
+ shift ctrll ctrlr keycode 50 = U+042c
+ control ctrll ctrlr keycode 50 = Control_m
+ shift control ctrll ctrlr keycode 50 = Control_m
+ alt ctrll ctrlr keycode 50 = Meta_m
+ shift alt ctrll ctrlr keycode 50 = Meta_M
+ control alt ctrll ctrlr keycode 50 = Meta_Control_m
+ shift control alt ctrll ctrlr keycode 50 = Meta_Control_m
+keycode 51 = comma less
+ alt keycode 51 = Meta_comma
+ shift alt keycode 51 = Meta_less
+ ctrlr keycode 51 = U+0431
+ shift ctrlr keycode 51 = U+0411
+ alt ctrlr keycode 51 = Meta_comma
+ shift alt ctrlr keycode 51 = Meta_less
+ ctrll keycode 51 = U+0431
+ shift ctrll keycode 51 = U+0411
+ alt ctrll keycode 51 = Meta_comma
+ shift alt ctrll keycode 51 = Meta_less
+ ctrll ctrlr keycode 51 = U+0431
+ shift ctrll ctrlr keycode 51 = U+0411
+ alt ctrll ctrlr keycode 51 = Meta_comma
+ shift alt ctrll ctrlr keycode 51 = Meta_less
+keycode 52 = period greater
+ control keycode 52 = Compose
+ alt keycode 52 = Meta_period
+ shift alt keycode 52 = Meta_greater
+ ctrlr keycode 52 = U+044e
+ shift ctrlr keycode 52 = U+042e
+ alt ctrlr keycode 52 = Meta_period
+ shift alt ctrlr keycode 52 = Meta_greater
+ ctrll keycode 52 = U+044e
+ shift ctrll keycode 52 = U+042e
+ alt ctrll keycode 52 = Meta_period
+ shift alt ctrll keycode 52 = Meta_greater
+ ctrll ctrlr keycode 52 = U+044e
+ shift ctrll ctrlr keycode 52 = U+042e
+ alt ctrll ctrlr keycode 52 = Meta_period
+ shift alt ctrll ctrlr keycode 52 = Meta_greater
+keycode 53 = slash question
+ control keycode 53 = Delete
+ shift control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+ ctrlr keycode 53 = U+0451
+ shift ctrlr keycode 53 = U+0401
+ alt ctrlr keycode 53 = Meta_slash
+ shift alt ctrlr keycode 53 = Meta_question
+ ctrll keycode 53 = U+0491
+ shift ctrll keycode 53 = U+0490
+ alt ctrll keycode 53 = Meta_slash
+ shift alt ctrll keycode 53 = Meta_question
+ ctrll ctrlr keycode 53 = U+0491
+ shift ctrll ctrlr keycode 53 = U+0490
+ alt ctrll ctrlr keycode 53 = Meta_slash
+ shift alt ctrll ctrlr keycode 53 = Meta_question
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+ ctrlr keycode 57 = space
+ shift ctrlr keycode 57 = space
+ control ctrlr keycode 57 = nul
+ shift control ctrlr keycode 57 = nul
+ alt ctrlr keycode 57 = Meta_space
+ shift alt ctrlr keycode 57 = Meta_space
+ ctrll keycode 57 = space
+ shift ctrll keycode 57 = space
+ control ctrll keycode 57 = nul
+ shift control ctrll keycode 57 = nul
+ alt ctrll keycode 57 = Meta_space
+ shift alt ctrll keycode 57 = Meta_space
+ ctrll ctrlr keycode 57 = space
+ shift ctrll ctrlr keycode 57 = space
+ control ctrll ctrlr keycode 57 = nul
+ shift control ctrll ctrlr keycode 57 = nul
+ alt ctrll ctrlr keycode 57 = Meta_space
+ shift alt ctrll ctrlr keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 Console_13
+ control keycode 59 = F25
+ shift control keycode 59 = F37
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+ ctrlr keycode 59 = F1
+ ctrlr shift keycode 59 = F13
+ ctrlr altgr keycode 59 = Console_13
+ ctrlr control keycode 59 = F25
+ ctrlr shift control keycode 59 = F37
+ ctrlr alt keycode 59 = Console_1
+ ctrlr control alt keycode 59 = Console_1
+ ctrll keycode 59 = F1
+ ctrll shift keycode 59 = F13
+ ctrll altgr keycode 59 = Console_13
+ ctrll control keycode 59 = F25
+ ctrll shift control keycode 59 = F37
+ ctrll alt keycode 59 = Console_1
+ ctrll control alt keycode 59 = Console_1
+ ctrlr ctrll keycode 59 = F1
+ ctrlr ctrll shift keycode 59 = F13
+ ctrlr ctrll altgr keycode 59 = Console_13
+ ctrlr ctrll control keycode 59 = F25
+ ctrlr ctrll shift control keycode 59 = F37
+ ctrlr ctrll alt keycode 59 = Console_1
+ ctrlr ctrll control alt keycode 59 = Console_1
+keycode 60 = F2 F14 Console_14
+ control keycode 60 = F26
+ shift control keycode 60 = F38
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+ ctrlr keycode 60 = F2
+ ctrlr shift keycode 60 = F14
+ ctrlr altgr keycode 60 = Console_14
+ ctrlr control keycode 60 = F26
+ ctrlr shift control keycode 60 = F38
+ ctrlr alt keycode 60 = Console_2
+ ctrlr control alt keycode 60 = Console_2
+ ctrll keycode 60 = F2
+ ctrll shift keycode 60 = F14
+ ctrll altgr keycode 60 = Console_14
+ ctrll control keycode 60 = F26
+ ctrll shift control keycode 60 = F38
+ ctrll alt keycode 60 = Console_2
+ ctrll control alt keycode 60 = Console_2
+ ctrlr ctrll keycode 60 = F2
+ ctrlr ctrll shift keycode 60 = F14
+ ctrlr ctrll altgr keycode 60 = Console_14
+ ctrlr ctrll control keycode 60 = F26
+ ctrlr ctrll shift control keycode 60 = F38
+ ctrlr ctrll alt keycode 60 = Console_2
+ ctrlr ctrll control alt keycode 60 = Console_2
+keycode 61 = F3 F15 Console_15
+ control keycode 61 = F27
+ shift control keycode 61 = F39
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+ ctrlr keycode 61 = F3
+ ctrlr shift keycode 61 = F15
+ ctrlr altgr keycode 61 = Console_15
+ ctrlr control keycode 61 = F27
+ ctrlr shift control keycode 61 = F39
+ ctrlr alt keycode 61 = Console_3
+ ctrlr control alt keycode 61 = Console_3
+ ctrll keycode 61 = F3
+ ctrll shift keycode 61 = F15
+ ctrll altgr keycode 61 = Console_15
+ ctrll control keycode 61 = F27
+ ctrll shift control keycode 61 = F39
+ ctrll alt keycode 61 = Console_3
+ ctrll control alt keycode 61 = Console_3
+ ctrlr ctrll keycode 61 = F3
+ ctrlr ctrll shift keycode 61 = F15
+ ctrlr ctrll altgr keycode 61 = Console_15
+ ctrlr ctrll control keycode 61 = F27
+ ctrlr ctrll shift control keycode 61 = F39
+ ctrlr ctrll alt keycode 61 = Console_3
+ ctrlr ctrll control alt keycode 61 = Console_3
+keycode 62 = F4 F16 Console_16
+ control keycode 62 = F28
+ shift control keycode 62 = F40
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+ ctrlr keycode 62 = F4
+ ctrlr shift keycode 62 = F16
+ ctrlr altgr keycode 62 = Console_16
+ ctrlr control keycode 62 = F28
+ ctrlr shift control keycode 62 = F40
+ ctrlr alt keycode 62 = Console_4
+ ctrlr control alt keycode 62 = Console_4
+ ctrll keycode 62 = F4
+ ctrll shift keycode 62 = F16
+ ctrll altgr keycode 62 = Console_16
+ ctrll control keycode 62 = F28
+ ctrll shift control keycode 62 = F40
+ ctrll alt keycode 62 = Console_4
+ ctrll control alt keycode 62 = Console_4
+ ctrlr ctrll keycode 62 = F4
+ ctrlr ctrll shift keycode 62 = F16
+ ctrlr ctrll altgr keycode 62 = Console_16
+ ctrlr ctrll control keycode 62 = F28
+ ctrlr ctrll shift control keycode 62 = F40
+ ctrlr ctrll alt keycode 62 = Console_4
+ ctrlr ctrll control alt keycode 62 = Console_4
+keycode 63 = F5 F17 Console_17
+ control keycode 63 = F29
+ shift control keycode 63 = F41
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+ ctrlr keycode 63 = F5
+ ctrlr shift keycode 63 = F17
+ ctrlr altgr keycode 63 = Console_17
+ ctrlr control keycode 63 = F29
+ ctrlr shift control keycode 63 = F41
+ ctrlr alt keycode 63 = Console_5
+ ctrlr control alt keycode 63 = Console_5
+ ctrll keycode 63 = F5
+ ctrll shift keycode 63 = F17
+ ctrll altgr keycode 63 = Console_17
+ ctrll control keycode 63 = F29
+ ctrll shift control keycode 63 = F41
+ ctrll alt keycode 63 = Console_5
+ ctrll control alt keycode 63 = Console_5
+ ctrlr ctrll keycode 63 = F5
+ ctrlr ctrll shift keycode 63 = F17
+ ctrlr ctrll altgr keycode 63 = Console_17
+ ctrlr ctrll control keycode 63 = F29
+ ctrlr ctrll shift control keycode 63 = F41
+ ctrlr ctrll alt keycode 63 = Console_5
+ ctrlr ctrll control alt keycode 63 = Console_5
+keycode 64 = F6 F18 Console_18
+ control keycode 64 = F30
+ shift control keycode 64 = F42
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+ ctrlr keycode 64 = F6
+ ctrlr shift keycode 64 = F18
+ ctrlr altgr keycode 64 = Console_18
+ ctrlr control keycode 64 = F30
+ ctrlr shift control keycode 64 = F42
+ ctrlr alt keycode 64 = Console_6
+ ctrlr control alt keycode 64 = Console_6
+ ctrll keycode 64 = F6
+ ctrll shift keycode 64 = F18
+ ctrll altgr keycode 64 = Console_18
+ ctrll control keycode 64 = F30
+ ctrll shift control keycode 64 = F42
+ ctrll alt keycode 64 = Console_6
+ ctrll control alt keycode 64 = Console_6
+ ctrlr ctrll keycode 64 = F6
+ ctrlr ctrll shift keycode 64 = F18
+ ctrlr ctrll altgr keycode 64 = Console_18
+ ctrlr ctrll control keycode 64 = F30
+ ctrlr ctrll shift control keycode 64 = F42
+ ctrlr ctrll alt keycode 64 = Console_6
+ ctrlr ctrll control alt keycode 64 = Console_6
+keycode 65 = F7 F19 Console_19
+ control keycode 65 = F31
+ shift control keycode 65 = F43
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+ ctrlr keycode 65 = F7
+ ctrlr shift keycode 65 = F19
+ ctrlr altgr keycode 65 = Console_19
+ ctrlr control keycode 65 = F31
+ ctrlr shift control keycode 65 = F43
+ ctrlr alt keycode 65 = Console_7
+ ctrlr control alt keycode 65 = Console_7
+ ctrll keycode 65 = F7
+ ctrll shift keycode 65 = F19
+ ctrll altgr keycode 65 = Console_19
+ ctrll control keycode 65 = F31
+ ctrll shift control keycode 65 = F43
+ ctrll alt keycode 65 = Console_7
+ ctrll control alt keycode 65 = Console_7
+ ctrlr ctrll keycode 65 = F7
+ ctrlr ctrll shift keycode 65 = F19
+ ctrlr ctrll altgr keycode 65 = Console_19
+ ctrlr ctrll control keycode 65 = F31
+ ctrlr ctrll shift control keycode 65 = F43
+ ctrlr ctrll alt keycode 65 = Console_7
+ ctrlr ctrll control alt keycode 65 = Console_7
+keycode 66 = F8 F20 Console_20
+ control keycode 66 = F32
+ shift control keycode 66 = F44
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+ ctrlr keycode 66 = F8
+ ctrlr shift keycode 66 = F20
+ ctrlr altgr keycode 66 = Console_20
+ ctrlr control keycode 66 = F32
+ ctrlr shift control keycode 66 = F44
+ ctrlr alt keycode 66 = Console_8
+ ctrlr control alt keycode 66 = Console_8
+ ctrll keycode 66 = F8
+ ctrll shift keycode 66 = F20
+ ctrll altgr keycode 66 = Console_20
+ ctrll control keycode 66 = F32
+ ctrll shift control keycode 66 = F44
+ ctrll alt keycode 66 = Console_8
+ ctrll control alt keycode 66 = Console_8
+ ctrlr ctrll keycode 66 = F8
+ ctrlr ctrll shift keycode 66 = F20
+ ctrlr ctrll altgr keycode 66 = Console_20
+ ctrlr ctrll control keycode 66 = F32
+ ctrlr ctrll shift control keycode 66 = F44
+ ctrlr ctrll alt keycode 66 = Console_8
+ ctrlr ctrll control alt keycode 66 = Console_8
+keycode 67 = F9 F21 Console_21
+ control keycode 67 = F33
+ shift control keycode 67 = F45
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+ ctrlr keycode 67 = F9
+ ctrlr shift keycode 67 = F21
+ ctrlr altgr keycode 67 = Console_21
+ ctrlr control keycode 67 = F33
+ ctrlr shift control keycode 67 = F45
+ ctrlr alt keycode 67 = Console_9
+ ctrlr control alt keycode 67 = Console_9
+ ctrll keycode 67 = F9
+ ctrll shift keycode 67 = F21
+ ctrll altgr keycode 67 = Console_21
+ ctrll control keycode 67 = F33
+ ctrll shift control keycode 67 = F45
+ ctrll alt keycode 67 = Console_9
+ ctrll control alt keycode 67 = Console_9
+ ctrlr ctrll keycode 67 = F9
+ ctrlr ctrll shift keycode 67 = F21
+ ctrlr ctrll altgr keycode 67 = Console_21
+ ctrlr ctrll control keycode 67 = F33
+ ctrlr ctrll shift control keycode 67 = F45
+ ctrlr ctrll alt keycode 67 = Console_9
+ ctrlr ctrll control alt keycode 67 = Console_9
+keycode 68 = F10 F22 Console_22
+ control keycode 68 = F34
+ shift control keycode 68 = F46
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+ ctrlr keycode 68 = F10
+ ctrlr shift keycode 68 = F22
+ ctrlr altgr keycode 68 = Console_22
+ ctrlr control keycode 68 = F34
+ ctrlr shift control keycode 68 = F46
+ ctrlr alt keycode 68 = Console_10
+ ctrlr control alt keycode 68 = Console_10
+ ctrll keycode 68 = F10
+ ctrll shift keycode 68 = F22
+ ctrll altgr keycode 68 = Console_22
+ ctrll control keycode 68 = F34
+ ctrll shift control keycode 68 = F46
+ ctrll alt keycode 68 = Console_10
+ ctrll control alt keycode 68 = Console_10
+ ctrlr ctrll keycode 68 = F10
+ ctrlr ctrll shift keycode 68 = F22
+ ctrlr ctrll altgr keycode 68 = Console_22
+ ctrlr ctrll control keycode 68 = F34
+ ctrlr ctrll shift control keycode 68 = F46
+ ctrlr ctrll alt keycode 68 = Console_10
+ ctrlr ctrll control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 87 = F11 F23 Console_23
+ control keycode 87 = F35
+ shift control keycode 87 = F47
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+ ctrlr keycode 87 = F11
+ ctrlr shift keycode 87 = F23
+ ctrlr altgr keycode 87 = Console_23
+ ctrlr control keycode 87 = F35
+ ctrlr shift control keycode 87 = F47
+ ctrlr alt keycode 87 = Console_11
+ ctrlr control alt keycode 87 = Console_11
+ ctrll keycode 87 = F11
+ ctrll shift keycode 87 = F23
+ ctrll altgr keycode 87 = Console_23
+ ctrll control keycode 87 = F35
+ ctrll shift control keycode 87 = F47
+ ctrll alt keycode 87 = Console_11
+ ctrll control alt keycode 87 = Console_11
+ ctrlr ctrll keycode 87 = F11
+ ctrlr ctrll shift keycode 87 = F23
+ ctrlr ctrll altgr keycode 87 = Console_23
+ ctrlr ctrll control keycode 87 = F35
+ ctrlr ctrll shift control keycode 87 = F47
+ ctrlr ctrll alt keycode 87 = Console_11
+ ctrlr ctrll control alt keycode 87 = Console_11
+keycode 88 = F12 F24 Console_24
+ control keycode 88 = F36
+ shift control keycode 88 = F48
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+ ctrlr keycode 88 = F12
+ ctrlr shift keycode 88 = F24
+ ctrlr altgr keycode 88 = Console_24
+ ctrlr control keycode 88 = F36
+ ctrlr shift control keycode 88 = F48
+ ctrlr alt keycode 88 = Console_12
+ ctrlr control alt keycode 88 = Console_12
+ ctrll keycode 88 = F12
+ ctrll shift keycode 88 = F24
+ ctrll altgr keycode 88 = Console_24
+ ctrll control keycode 88 = F36
+ ctrll shift control keycode 88 = F48
+ ctrll alt keycode 88 = Console_12
+ ctrll control alt keycode 88 = Console_12
+ ctrlr ctrll keycode 88 = F12
+ ctrlr ctrll shift keycode 88 = F24
+ ctrlr ctrll altgr keycode 88 = Console_24
+ ctrlr ctrll control keycode 88 = F36
+ ctrlr ctrll shift control keycode 88 = F48
+ ctrlr ctrll alt keycode 88 = Console_12
+ ctrlr ctrll control alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+keycode 97 = Control
+ctrlr keycode 97 = CtrlL_Lock
+ctrll keycode 97 = CtrlL_Lock
+ctrll ctrlr keycode 97 = CtrlL_Lock
+keycode 98 = KP_Divide
+keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+keycode 100 = Alt
+ctrll keycode 100 = CtrlR_Lock
+ctrlr keycode 100 = CtrlR_Lock
+ctrll ctrlr keycode 100 = CtrlR_Lock
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 = AltGr
+keycode 126 = CtrlR_Lock
+keycode 127 = CtrlL_Lock
diff --git a/keymaps/i386/qwerty/uk.kmap b/keymaps/i386/qwerty/uk.kmap
new file mode 100644
index 0000000..fb59d5d
--- /dev/null
+++ b/keymaps/i386/qwerty/uk.kmap
@@ -0,0 +1,58 @@
+# uk.map
+# From bam@wcl-l.bham.ac.uk Fri May 2 20:20:59 1997
+# reduced number of keymaps, adapted to alt_is_meta - aeb
+#
+# old: shift keycode 41 = asciitilde
+# bam: shift keycode 41 = notsign
+#
+keymaps 0-2,4-6,8,9,12
+alt_is_meta
+include "qwerty-layout"
+include "linux-with-alt-and-altgr"
+strings as usual
+
+keycode 1 = Escape
+keycode 2 = one exclam
+keycode 3 = two quotedbl at nul
+keycode 4 = three sterling
+ control keycode 4 = Escape
+keycode 5 = four dollar dollar Control_backslash
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+keycode 8 = seven ampersand braceleft Control_underscore
+keycode 9 = eight asterisk bracketleft Delete
+keycode 10 = nine parenleft bracketright
+keycode 11 = zero parenright braceright
+# alt keycode 11 = Meta_parenright
+keycode 12 = minus underscore backslash Control_underscore Control_underscore
+keycode 13 = equal plus
+keycode 14 = Delete
+ control keycode 14 = Control_underscore
+keycode 15 = Tab
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+keycode 27 = bracketright braceright asciitilde Control_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = semicolon colon
+keycode 40 = apostrophe at
+ control keycode 40 = Control_g
+ shift control keycode 40 = nul
+keycode 41 = grave notsign bar nul
+keycode 42 = Shift
+keycode 43 = numbersign asciitilde
+ control keycode 43 = Control_backslash
+keycode 51 = comma less
+keycode 52 = period greater
+keycode 53 = slash question
+ control keycode 53 = Delete
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+keycode 58 = Caps_Lock
+keycode 86 = backslash bar bar Control_backslash
+keycode 97 = Control
diff --git a/keymaps/i386/qwerty/us-intl.iso01.kmap b/keymaps/i386/qwerty/us-intl.iso01.kmap
new file mode 100644
index 0000000..173d111
--- /dev/null
+++ b/keymaps/i386/qwerty/us-intl.iso01.kmap
@@ -0,0 +1,453 @@
+#
+# US-International (a la Windows). By Nicolás Lichtmaier <nick@debian.org>
+# strongly modified by Wolfgang Sourdeau <was@debian.org> (2001/03/21) to
+# accept different accented characters.
+#
+
+charset "iso-8859-1"
+
+keymaps 0-15
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam exclamdown
+ alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+keycode 3 = two at at
+ control keycode 3 = nul
+ shift control keycode 3 = nul
+ alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_at
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ shift alt keycode 4 = Meta_numbersign
+keycode 5 = four dollar dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+keycode 7 = six dead_circumflex
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_asciicircum
+keycode 8 = seven ampersand braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight asterisk bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenleft bracketright
+ alt keycode 10 = Meta_nine
+keycode 11 = zero parenright braceright
+ alt keycode 11 = Meta_zero
+keycode 12 = minus underscore backslash
+ control keycode 12 = Control_underscore
+ shift control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = equal plus
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete
+ control keycode 14 = BackSpace
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Last_Console
+keycode 16 = q
+keycode 17 = w
+keycode 18 = e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = +y +Y yen +Y Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y
+keycode 22 = +u +U +uacute +Uacute Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u
+keycode 23 = +i +I +iacute +Iacute Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+keycode 24 = +o +O Ooblique degree Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o
+keycode 25 = +p +P sterling +P Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ shift alt keycode 26 = Meta_braceleft
+keycode 27 = bracketright braceright asciitilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ shift alt keycode 27 = Meta_braceright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+keycode 39 = semicolon colon
+ alt keycode 39 = Meta_semicolon
+keycode 40 = dead_acute dead_diaeresis dead_acute dead_acute Control_g
+ alt keycode 40 = dead_acute
+keycode 41 = dead_grave dead_tilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ shift alt keycode 43 = Meta_bar
+keycode 44 = z
+keycode 45 = x
+keycode 46 = +c +C cent +C Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = +n +N +ntilde +Ntilde Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n
+keycode 50 = m
+keycode 51 = comma less guillemotleft
+ alt keycode 51 = Meta_comma
+ shift alt keycode 51 = Meta_less
+keycode 52 = period greater guillemotright
+ control keycode 52 = Compose
+ alt keycode 52 = Meta_period
+ shift alt keycode 52 = Meta_greater
+keycode 53 = slash question questiondown
+ control keycode 53 = Delete
+ shift control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space nobreakspace
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 Console_13
+ control keycode 59 = F25
+ shift control keycode 59 = F37
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F14 Console_14
+ control keycode 60 = F26
+ shift control keycode 60 = F38
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F15 Console_15
+ control keycode 61 = F27
+ shift control keycode 61 = F39
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F16 Console_16
+ control keycode 62 = F28
+ shift control keycode 62 = F40
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F17 Console_17
+ control keycode 63 = F29
+ shift control keycode 63 = F41
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F18 Console_18
+ control keycode 64 = F30
+ shift control keycode 64 = F42
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F19 Console_19
+ control keycode 65 = F31
+ shift control keycode 65 = F43
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F20 Console_20
+ control keycode 66 = F32
+ shift control keycode 66 = F44
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F21 Console_21
+ control keycode 67 = F33
+ shift control keycode 67 = F45
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F22 Console_22
+ control keycode 68 = F34
+ shift control keycode 68 = F46
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 87 = F11 F23 Console_23
+ control keycode 87 = F35
+ shift control keycode 87 = F47
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F24 Console_24
+ control keycode 88 = F36
+ shift control keycode 88 = F48
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+keycode 97 = Control
+keycode 98 = KP_Divide
+keycode 99 = Compose
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+
+# C
+compose '\'' 'c' to 'ç'
+compose '\'' 'C' to 'Ç'
+
+# N
+compose '~' 'n' to 'ñ'
+compose '~' 'N' to 'Ñ'
+
+# A
+compose '\'' 'a' to 'á'
+compose '`' 'a' to 'à'
+compose '^' 'a' to 'â'
+compose '"' 'a' to 'ä'
+compose '~' 'a' to 'ã'
+
+compose '\'' 'A' to 'Á'
+compose '`' 'A' to 'À'
+compose '^' 'A' to 'Â'
+compose '"' 'A' to 'Ä'
+compose '~' 'A' to 'Ã'
+
+compose 'o' 'a' to 'å'
+compose '0' 'a' to 'å'
+compose '°' 'a' to 'å'
+compose 'a' 'a' to 'å'
+
+compose 'O' 'A' to 'Å'
+compose '0' 'A' to 'Å'
+compose '°' 'A' to 'Å'
+compose 'A' 'A' to 'Å'
+
+# E
+compose '\'' 'e' to 'é'
+compose '`' 'e' to 'è'
+compose '^' 'e' to 'ê'
+compose '"' 'e' to 'ë'
+
+compose '\'' 'E' to 'É'
+compose '`' 'E' to 'È'
+compose '^' 'E' to 'Ê'
+compose '"' 'E' to 'Ë'
+
+# I
+compose '\'' 'i' to 'í'
+compose '`' 'i' to 'ì'
+compose '^' 'i' to 'î'
+compose '"' 'i' to 'ï'
+
+compose '\'' 'I' to 'Í'
+compose '`' 'I' to 'Ì'
+compose '^' 'I' to 'Î'
+compose '"' 'I' to 'Ï'
+
+# O
+compose '\'' 'o' to 'ó'
+compose '`' 'o' to 'ò'
+compose '^' 'o' to 'ô'
+compose '"' 'o' to 'ö'
+compose '~' 'o' to 'õ'
+
+compose '\'' 'O' to 'Ó'
+compose '`' 'O' to 'Ò'
+compose '^' 'O' to 'Ô'
+compose '"' 'O' to 'Ö'
+compose '~' 'O' to 'Õ'
+
+# U
+compose '\'' 'u' to 'ú'
+compose '`' 'u' to 'ù'
+compose '^' 'u' to 'û'
+compose '"' 'u' to 'ü'
+
+compose '\'' 'U' to 'Ú'
+compose '`' 'U' to 'Ù'
+compose '^' 'U' to 'Û'
+compose '"' 'U' to 'Ü'
+
+# Y
+compose '\'' 'y' to 'ý'
+compose '"' 'y' to 'ÿ'
+compose 'i' 'j' to 'ÿ'
+
+compose '\'' 'Y' to 'Ý'
+compose '"' 'Y' to '¾'
+compose 'I' 'J' to '¾'
+
+# Various
+compose '-' 'a' to 'ª'
+compose '-' 'A' to 'ª'
+
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+
+compose 'o' 'e' to '½'
+compose 'O' 'E' to '¼'
+
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+
+compose '-' 'o' to 'º'
+compose '-' 'O' to 'º'
+
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+
+compose 's' 's' to 'ß'
+compose 'S' 'S' to '§'
+
+compose 's' 'z' to 'ß'
+
+compose '^' 'S' to '¦'
+compose '^' 's' to '¨'
+
+compose '^' 'Z' to '´'
+compose '^' 'z' to '¸'
+
+compose '^' '1' to '¹'
+compose '^' '2' to '²'
+compose '^' '3' to '³'
+
+compose '+' '-' to '±'
+
+compose '|' '-' to '¬'
+compose '-' '|' to '¬'
+compose '|' '_' to '¬'
+compose '_' '|' to '¬'
+
+compose '^' '-' to '¯'
+compose '^' '_' to '¯'
+
+compose '-' 'y' to '¥'
+compose '-' 'Y' to '¥'
+
+compose '-' 'c' to '¢'
+compose '-' 'C' to '¢'
+
+compose '-' 'e' to '¤'
+compose '-' 'E' to '¤'
+
+compose '^' '!' to '¡'
+compose '^' '?' to '¿'
+
+compose '^' '.' to '·'
+
+compose '^' 'x' to '×'
+compose '^' 'X' to '×'
+compose '^' '*' to '×'
+
+compose '^' '/' to '÷'
+
+compose '^' '<' to '«'
+compose '^' '>' to '»'
+
+compose '"' 'C' to '©'
+compose '"' 'c' to '©'
+
+compose '"' 'R' to '®'
+compose '"' 'r' to '®'
diff --git a/keymaps/i386/qwerty/us-intl.iso15.kmap b/keymaps/i386/qwerty/us-intl.iso15.kmap
new file mode 100644
index 0000000..de8d0c2
--- /dev/null
+++ b/keymaps/i386/qwerty/us-intl.iso15.kmap
@@ -0,0 +1,454 @@
+#
+# US-International (a la Windows). By Nicolás Lichtmaier <nick@debian.org>
+# strongly modified by Wolfgang Sourdeau <was@debian.org> (2001/03/21) to
+# accept different accented characters + the euro sign.
+#
+
+charset "iso-8859-15"
+
+keymaps 0-15
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam exclamdown
+ alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+keycode 3 = two at
+ control keycode 3 = nul
+ shift control keycode 3 = nul
+ alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_at
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ shift alt keycode 4 = Meta_numbersign
+keycode 5 = four dollar dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+keycode 6 = five percent euro
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+keycode 7 = six dead_circumflex
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_asciicircum
+keycode 8 = seven ampersand braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight asterisk bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenleft bracketright
+ alt keycode 10 = Meta_nine
+keycode 11 = zero parenright braceright
+ alt keycode 11 = Meta_zero
+keycode 12 = minus underscore backslash
+ control keycode 12 = Control_underscore
+ shift control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = equal plus
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete
+ control keycode 14 = BackSpace
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Last_Console
+keycode 16 = q
+keycode 17 = w
+keycode 18 = +e +E euro +E Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e
+keycode 19 = +r +R registered +R Control_r Control_r Control_r Control_r Meta_r Meta_R Meta_r Meta_R Meta_Control_r Meta_Control_r Meta_Control_r Meta_Control_r
+keycode 20 = t
+keycode 21 = +y +Y yen +Y Control_y Control_y Control_y Control_y Meta_y Meta_Y Meta_y Meta_Y Meta_Control_y Meta_Control_y Meta_Control_y Meta_Control_y
+keycode 22 = +u +U +uacute +Uacute Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u
+keycode 23 = +i +I +iacute +Iacute Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+keycode 24 = +o +O Ooblique degree Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o
+keycode 25 = +p +P sterling +P Control_p Control_p Control_p Control_p Meta_p Meta_P Meta_p Meta_P Meta_Control_p Meta_Control_p Meta_Control_p Meta_Control_p
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ shift alt keycode 26 = Meta_braceleft
+keycode 27 = bracketright braceright asciitilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ shift alt keycode 27 = Meta_braceright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = +a +A +a +A Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a
+keycode 31 = +s +S scaron Scaron Control_s Control_s Control_s Control_s Meta_s Meta_S Meta_s Meta_S Meta_Control_s Meta_Control_s Meta_Control_s Meta_Control_s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+keycode 39 = semicolon colon
+ alt keycode 39 = Meta_semicolon
+keycode 40 = dead_acute dead_diaeresis dead_acute dead_acute Control_g
+ alt keycode 40 = dead_acute
+keycode 41 = dead_grave dead_tilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ shift alt keycode 43 = Meta_bar
+keycode 44 = +z +Z zcaron Zcaron Control_z Control_z Control_z Control_z Meta_z Meta_Z Meta_z Meta_Z Meta_Control_z Meta_Control_z Meta_Control_z Meta_Control_z
+keycode 45 = x
+keycode 46 = +c +C cent copyright Control_c Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_C Meta_Control_c Meta_Control_c Meta_Control_c Meta_Control_c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = +n +N +ntilde +Ntilde Control_n Control_n Control_n Control_n Meta_n Meta_N Meta_n Meta_N Meta_Control_n Meta_Control_n Meta_Control_n Meta_Control_n
+keycode 50 = m
+keycode 51 = comma less guillemotleft
+ alt keycode 51 = Meta_comma
+ shift alt keycode 51 = Meta_less
+keycode 52 = period greater guillemotright
+ control keycode 52 = Compose
+ alt keycode 52 = Meta_period
+ shift alt keycode 52 = Meta_greater
+keycode 53 = slash question questiondown
+ control keycode 53 = Delete
+ shift control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space nobreakspace
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 Console_13
+ control keycode 59 = F25
+ shift control keycode 59 = F37
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F14 Console_14
+ control keycode 60 = F26
+ shift control keycode 60 = F38
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F15 Console_15
+ control keycode 61 = F27
+ shift control keycode 61 = F39
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F16 Console_16
+ control keycode 62 = F28
+ shift control keycode 62 = F40
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F17 Console_17
+ control keycode 63 = F29
+ shift control keycode 63 = F41
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F18 Console_18
+ control keycode 64 = F30
+ shift control keycode 64 = F42
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F19 Console_19
+ control keycode 65 = F31
+ shift control keycode 65 = F43
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F20 Console_20
+ control keycode 66 = F32
+ shift control keycode 66 = F44
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F21 Console_21
+ control keycode 67 = F33
+ shift control keycode 67 = F45
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F22 Console_22
+ control keycode 68 = F34
+ shift control keycode 68 = F46
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 87 = F11 F23 Console_23
+ control keycode 87 = F35
+ shift control keycode 87 = F47
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F24 Console_24
+ control keycode 88 = F36
+ shift control keycode 88 = F48
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+keycode 97 = Control
+keycode 98 = KP_Divide
+keycode 99 = Compose
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+
+# C
+compose '\'' 'c' to 'ç'
+compose '\'' 'C' to 'Ç'
+
+# N
+compose '~' 'n' to 'ñ'
+compose '~' 'N' to 'Ñ'
+
+# A
+compose '\'' 'a' to 'á'
+compose '`' 'a' to 'à'
+compose '^' 'a' to 'â'
+compose '"' 'a' to 'ä'
+compose '~' 'a' to 'ã'
+
+compose '\'' 'A' to 'Á'
+compose '`' 'A' to 'À'
+compose '^' 'A' to 'Â'
+compose '"' 'A' to 'Ä'
+compose '~' 'A' to 'Ã'
+
+compose 'o' 'a' to 'å'
+compose '0' 'a' to 'å'
+compose '°' 'a' to 'å'
+compose 'a' 'a' to 'å'
+
+compose 'O' 'A' to 'Å'
+compose '0' 'A' to 'Å'
+compose '°' 'A' to 'Å'
+compose 'A' 'A' to 'Å'
+
+# E
+compose '\'' 'e' to 'é'
+compose '`' 'e' to 'è'
+compose '^' 'e' to 'ê'
+compose '"' 'e' to 'ë'
+
+compose '\'' 'E' to 'É'
+compose '`' 'E' to 'È'
+compose '^' 'E' to 'Ê'
+compose '"' 'E' to 'Ë'
+
+# I
+compose '\'' 'i' to 'í'
+compose '`' 'i' to 'ì'
+compose '^' 'i' to 'î'
+compose '"' 'i' to 'ï'
+
+compose '\'' 'I' to 'Í'
+compose '`' 'I' to 'Ì'
+compose '^' 'I' to 'Î'
+compose '"' 'I' to 'Ï'
+
+# O
+compose '\'' 'o' to 'ó'
+compose '`' 'o' to 'ò'
+compose '^' 'o' to 'ô'
+compose '"' 'o' to 'ö'
+compose '~' 'o' to 'õ'
+
+compose '\'' 'O' to 'Ó'
+compose '`' 'O' to 'Ò'
+compose '^' 'O' to 'Ô'
+compose '"' 'O' to 'Ö'
+compose '~' 'O' to 'Õ'
+
+# U
+compose '\'' 'u' to 'ú'
+compose '`' 'u' to 'ù'
+compose '^' 'u' to 'û'
+compose '"' 'u' to 'ü'
+
+compose '\'' 'U' to 'Ú'
+compose '`' 'U' to 'Ù'
+compose '^' 'U' to 'Û'
+compose '"' 'U' to 'Ü'
+
+# Y
+compose '\'' 'y' to 'ý'
+compose '"' 'y' to 'ÿ'
+compose 'i' 'j' to 'ÿ'
+
+compose '\'' 'Y' to 'Ý'
+compose '"' 'Y' to '¾'
+compose 'I' 'J' to '¾'
+
+# Various
+compose '-' 'a' to ordfeminine
+compose '-' 'A' to ordfeminine
+
+compose 'A' 'E' to AE
+compose 'a' 'e' to ae
+
+compose 'O' 'E' to OE
+compose 'o' 'e' to oe
+
+compose '-' 'D' to ETH
+compose '-' 'd' to eth
+
+compose '/' 'O' to Oslash
+compose '/' 'o' to oslash
+
+compose '-' 'o' to masculine
+compose '-' 'O' to masculine
+
+compose 'T' 'H' to THORN
+compose 't' 'h' to thorn
+
+compose 's' 's' to ssharp
+compose 'S' 'S' to section
+
+compose 's' 'z' to ssharp
+
+compose '^' 'S' to Scaron
+compose '^' 's' to scaron
+
+compose '^' 'Z' to Zcaron
+compose '^' 'z' to zcaron
+
+compose '^' '1' to onesuperior
+compose '^' '2' to twosuperior
+compose '^' '3' to threesuperior
+
+compose '+' '-' to plusminus
+compose '-' '+' to plusminus
+
+compose '|' '-' to '¬'
+compose '-' '|' to '¬'
+compose '|' '_' to '¬'
+compose '_' '|' to '¬'
+
+compose '^' '-' to '¯'
+compose '^' '_' to '¯'
+
+compose '-' 'y' to yen
+compose '-' 'Y' to yen
+
+compose '-' 'c' to cent
+compose '-' 'C' to cent
+
+compose '-' 'e' to euro
+compose '-' 'E' to euro
+
+compose '^' '!' to exclamdown
+compose '^' '?' to questiondown
+
+compose '^' '.' to periodcentered
+
+compose '^' 'x' to multiply
+compose '^' 'X' to multiply
+compose '^' '*' to multiply
+
+compose '^' '/' to division
+
+compose '^' '<' to guillemotleft
+compose '^' '>' to guillemotright
+
+compose '"' 'C' to copyright
+compose '"' 'c' to copyright
+
+compose '"' 'R' to registered
+compose '"' 'r' to registered
diff --git a/keymaps/i386/qwerty/us-latin1.kmap b/keymaps/i386/qwerty/us-latin1.kmap
new file mode 100644
index 0000000..1bb449e
--- /dev/null
+++ b/keymaps/i386/qwerty/us-latin1.kmap
@@ -0,0 +1,303 @@
+#
+# US-International (a la Windows). By Nicolás Lichtmaier <nick@debian.org>
+#
+charset "iso-8859-1"
+keymaps 0-15
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+ altgr keycode 2 = exclamdown
+keycode 3 = two at at
+ control keycode 3 = nul
+ shift control keycode 3 = nul
+ alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_at
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+ shift alt keycode 4 = Meta_numbersign
+keycode 5 = four dollar dollar
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_asciicircum
+keycode 8 = seven ampersand braceleft
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight asterisk bracketleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenleft bracketright
+ alt keycode 10 = Meta_nine
+keycode 11 = zero parenright braceright
+ alt keycode 11 = Meta_zero
+keycode 12 = minus underscore backslash
+ control keycode 12 = Control_underscore
+ shift control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = equal plus
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete
+ control keycode 14 = BackSpace
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Last_Console
+keycode 16 = q
+keycode 17 = w
+keycode 18 = +e +E +eacute +Eacute Control_e Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_E Meta_Control_e Meta_Control_e Meta_Control_e Meta_Control_e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = y
+keycode 22 = +u +U +uacute +Uacute Control_u Control_u Control_u Control_u Meta_u Meta_U Meta_u Meta_U Meta_Control_u Meta_Control_u Meta_Control_u Meta_Control_u
+keycode 23 = +i +I +iacute +Iacute Tab Tab Tab Tab Meta_i Meta_I Meta_i Meta_I Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+keycode 24 = +o +O +oacute +Oacute Control_o Control_o Control_o Control_o Meta_o Meta_O Meta_o Meta_O Meta_Control_o Meta_Control_o Meta_Control_o Meta_Control_o
+keycode 25 = p
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ shift alt keycode 26 = Meta_braceleft
+keycode 27 = bracketright braceright asciitilde
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ shift alt keycode 27 = Meta_braceright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = +a +A +aacute +Aacute Control_a Control_a Control_a Control_a Meta_a Meta_A Meta_a Meta_A Meta_Control_a Meta_Control_a Meta_Control_a Meta_Control_a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+keycode 39 = semicolon colon
+ alt keycode 39 = Meta_semicolon
+keycode 40 = dead_acute quotedbl dead_acute dead_acute Control_g
+ alt keycode 40 = dead_acute
+keycode 41 = grave asciitilde
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+ shift alt keycode 43 = Meta_bar
+keycode 44 = z
+keycode 45 = x
+keycode 46 = c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+ altgr keycode 49 = +ntilde
+ shift altgr keycode 49 = +Ntilde
+keycode 50 = m
+keycode 51 = comma less
+ alt keycode 51 = Meta_comma
+ shift alt keycode 51 = Meta_less
+keycode 52 = period greater
+ control keycode 52 = Compose
+ alt keycode 52 = Meta_period
+ shift alt keycode 52 = Meta_greater
+keycode 53 = slash question
+ control keycode 53 = Delete
+ shift control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+ altgr keycode 53 = questiondown
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 Console_13
+ control keycode 59 = F25
+ shift control keycode 59 = F37
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F14 Console_14
+ control keycode 60 = F26
+ shift control keycode 60 = F38
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F15 Console_15
+ control keycode 61 = F27
+ shift control keycode 61 = F39
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F16 Console_16
+ control keycode 62 = F28
+ shift control keycode 62 = F40
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F17 Console_17
+ control keycode 63 = F29
+ shift control keycode 63 = F41
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F18 Console_18
+ control keycode 64 = F30
+ shift control keycode 64 = F42
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F19 Console_19
+ control keycode 65 = F31
+ shift control keycode 65 = F43
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F20 Console_20
+ control keycode 66 = F32
+ shift control keycode 66 = F44
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F21 Console_21
+ control keycode 67 = F33
+ shift control keycode 67 = F45
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F22 Console_22
+ control keycode 68 = F34
+ shift control keycode 68 = F46
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+keycode 87 = F11 F23 Console_23
+ control keycode 87 = F35
+ shift control keycode 87 = F47
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F24 Console_24
+ control keycode 88 = F36
+ shift control keycode 88 = F48
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+keycode 97 = Control
+keycode 98 = KP_Divide
+keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+compose '\'' 'a' to 'á'
+compose '\'' 'A' to 'Á'
+compose '\'' 'e' to 'é'
+compose '\'' 'E' to 'É'
+compose '\'' 'i' to 'í'
+compose '\'' 'I' to 'Í'
+compose '\'' 'o' to 'ó'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'u' to 'ú'
+compose ':' 'u' to 'ü'
+compose '\'' 'U' to 'Ú'
+
diff --git a/keymaps/i386/qwerty/us.kmap b/keymaps/i386/qwerty/us.kmap
new file mode 100644
index 0000000..7a29b48
--- /dev/null
+++ b/keymaps/i386/qwerty/us.kmap
@@ -0,0 +1,50 @@
+# us.map
+keymaps 0-2,4-6,8-9,12
+alt_is_meta
+include "qwerty-layout"
+include "linux-with-alt-and-altgr"
+strings as usual
+
+keycode 1 = Escape
+keycode 2 = one exclam
+keycode 3 = two at at nul nul
+keycode 4 = three numbersign
+ control keycode 4 = Escape
+keycode 5 = four dollar dollar Control_backslash
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+keycode 8 = seven ampersand braceleft Control_underscore
+keycode 9 = eight asterisk bracketleft Delete
+keycode 10 = nine parenleft bracketright
+keycode 11 = zero parenright braceright
+keycode 12 = minus underscore backslash Control_underscore Control_underscore
+keycode 13 = equal plus
+keycode 14 = Delete
+keycode 15 = Tab
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+keycode 27 = bracketright braceright asciitilde Control_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = semicolon colon
+keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+keycode 41 = grave asciitilde
+ control keycode 41 = nul
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+keycode 51 = comma less
+keycode 52 = period greater
+keycode 53 = slash question
+ control keycode 53 = Delete
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space
+ control keycode 57 = nul
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+keycode 97 = Control
diff --git a/keymaps/i386/qwertz/croat.kmap b/keymaps/i386/qwertz/croat.kmap
new file mode 100644
index 0000000..9ad7e80
--- /dev/null
+++ b/keymaps/i386/qwertz/croat.kmap
@@ -0,0 +1,169 @@
+# Croatian keymap 1.0
+# Based on keymaps available in kbd-0.90
+#
+# Alen Zekulic <azekulic@fesb.hr>
+
+charset "iso-8859-2"
+keymaps 0-2,4-6,8,10,12
+include "linux-with-alt-and-altgr.inc"
+strings as usual
+
+ keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+
+ keycode 2 = one exclam asciitilde
+ alt keycode 2 = Meta_one
+
+ keycode 3 = two quotedbl caron
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+
+ keycode 4 = three numbersign asciicircum
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+
+ keycode 5 = four dollar breve
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+
+ keycode 6 = five percent degree
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+
+ keycode 7 = six ampersand ogonek
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+
+ keycode 8 = seven slash grave
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+
+ keycode 9 = eight parenleft abovedot
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+
+ keycode 10 = nine parenright acute
+ alt keycode 10 = Meta_nine
+
+ keycode 11 = zero equal doubleacute
+ alt keycode 11 = Meta_zero
+
+ keycode 12 = apostrophe question diaeresis
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+control altgr keycode 12 = Control_backslash
+
+ keycode 13 = plus asterisk cedilla
+ alt keycode 13 = Meta_plus
+
+ keycode 14 = Delete Delete
+ control keycode 14 = Control_backslash
+ alt keycode 14 = Meta_Delete
+
+ keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+
+ keycode 16 = +q +Q backslash
+ control keycode 16 = Control_q
+ alt keycode 16 = Meta_q
+altgr alt keycode 16 = Meta_backslash
+altgr control keycode 16 = Control_backslash
+
+ keycode 17 = +w +W bar
+ control keycode 17 = Control_w
+ alt keycode 17 = Meta_w
+
+ keycode 18 = e
+ keycode 19 = r
+ keycode 20 = t
+ keycode 21 = z
+ keycode 22 = u
+ keycode 23 = i
+ keycode 24 = o
+ keycode 25 = p
+
+ keycode 26 = +scaron +Scaron division
+ keycode 27 = +dstroke +Dstroke multiplication
+
+ keycode 28 = Return
+ alt keycode 28 = 0x080d
+
+ keycode 29 = Control
+
+ keycode 30 = a
+ keycode 31 = s
+ keycode 32 = d
+
+ keycode 33 = +f +F bracketleft
+ control keycode 33 = Control_f
+ alt keycode 33 = Meta_f
+
+ keycode 34 = +g +G bracketright
+ control keycode 34 = Control_g
+ alt keycode 34 = Meta_g
+
+ keycode 35 = h
+ keycode 36 = j
+
+ keycode 37 = +k +K lstroke
+ control keycode 37 = Control_k
+ alt keycode 37 = Meta_k
+
+ keycode 38 = +l +L Lstroke
+ control keycode 38 = Control_l
+ alt keycode 38 = Meta_l
+
+ keycode 39 = +ccaron +Ccaron backslash
+ keycode 40 = +cacute +Cacute ssharp
+
+ keycode 41 = cedilla diaeresis
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+
+ keycode 42 = Shift
+ keycode 43 = +zcaron +Zcaron currency
+
+ keycode 44 = y
+ keycode 45 = x
+ keycode 46 = c
+
+ keycode 47 = +v +V at
+ control keycode 47 = Control_v
+ alt keycode 47 = Meta_v
+
+ keycode 48 = +b +B braceleft
+ control keycode 48 = Control_b
+ alt keycode 48 = Meta_b
+
+ keycode 49 = +n +N braceright
+ control keycode 49 = Control_n
+ alt keycode 49 = Meta_n
+
+ keycode 50 = +m +M section
+ control keycode 50 = Control_m
+ alt keycode 50 = Meta_m
+
+ keycode 51 = comma semicolon less
+ alt keycode 51 = Meta_comma
+
+ keycode 52 = period colon greater
+ alt keycode 52 = Meta_period
+
+ keycode 53 = minus underscore slash
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_minus
+shift control keycode 53 = Control_underscore
+
+ keycode 54 = Shift
+ keycode 56 = Alt
+
+ keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+
+ keycode 58 = Caps_Lock
+
+ keycode 86 = less greater
+ alt keycode 86 = Meta_less
+
+ keycode 97 = Control
diff --git a/keymaps/i386/qwertz/cz-us-qwertz.kmap b/keymaps/i386/qwertz/cz-us-qwertz.kmap
new file mode 100644
index 0000000..abfdaa5
--- /dev/null
+++ b/keymaps/i386/qwertz/cz-us-qwertz.kmap
@@ -0,0 +1,254 @@
+# Czech ISO 8859-2 keyboard map for text console
+# Written and (c) copyright by Jan Kasprzak (kas@ics.muni.cz)
+# You can distribute this file under the terms of GNU General
+# Public License (GPL). See the file COPYING.
+#
+# US klavesnice se zapne a vypne klavesou Pause.
+# Klavesou AltGr (Right Alt) je mozne se prepnout ceske do US a naopak.
+# Klavesa Pause pak funguje jako AltGr-lock.
+#
+# Klavesnice je kompletne cesky psacim stroji.
+#
+# Upravil na QWERTZ + CZ-US "©nek" Stanìk Petr snek@www.alla.sk
+# http://linux-cz.upce.cz
+#
+charset "iso-8859-2"
+keymaps 0-15
+strings as usual
+keycode 1 = Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 2 = plus one one exclam VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_one Meta_one Meta_one
+keycode 3 = ecaron two two at nul nul nul nul Meta_two Meta_two Meta_two Meta_two
+keycode 4 = scaron three three numbersign Escape VoidSymbol Escape VoidSymbol Meta_three Meta_three Meta_three Meta_three Meta_three VoidSymbol
+keycode 5 = ccaron four four dollar Control_backslash VoidSymbol Control_backslash VoidSymbol Meta_four Meta_four Meta_four Meta_four
+keycode 6 = rcaron five five percent Control_bracketright VoidSymbol Control_bracketright VoidSymbol Meta_five Meta_five Meta_five Meta_five
+keycode 7 = zcaron six six asciicircum Control_asciicircum VoidSymbol Control_asciicircum VoidSymbol Meta_six Meta_six Meta_six Meta_six
+keycode 8 = yacute seven seven ampersand Control_underscore VoidSymbol Control_underscore VoidSymbol Meta_seven Meta_seven Meta_seven Meta_seven
+keycode 9 = aacute eight eight asterisk Delete VoidSymbol Delete VoidSymbol Meta_eight Meta_eight Meta_eight Meta_eight
+keycode 10 = iacute nine nine parenleft VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_nine Meta_nine Meta_nine
+keycode 11 = eacute zero zero parenright VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_zero Meta_zero Meta_zero
+keycode 12 = equal percent minus underscore Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_minus Meta_minus Meta_minus
+keycode 13 = dead_acute dead_circumflex equal plus VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_equal Meta_equal Meta_equal
+keycode 14 = Delete Delete Delete Delete VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Delete Meta_Delete Meta_Delete Meta_Delete
+keycode 15 = Tab Tab Tab Tab VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+keycode 16 = q
+keycode 17 = w
+keycode 18 = e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = z
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+keycode 26 = uacute slash bracketleft braceleft Escape VoidSymbol Escape VoidSymbol Meta_bracketleft Meta_bracketleft Meta_bracketleft Meta_bracketleft
+keycode 27 = parenright parenleft bracketright braceright Control_bracketright VoidSymbol Control_bracketright VoidSymbol Meta_bracketright Meta_bracketright Meta_bracketright Meta_bracketright
+keycode 28 = Return
+altgr keycode 28 = Return
+alt keycode 28 = Meta_Control_m
+alt altgr keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+keycode 39 = uring quotedbl semicolon colon VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_semicolon Meta_semicolon Meta_semicolon Meta_semicolon
+keycode 40 = 0xa7 exclam apostrophe quotedbl Control_g VoidSymbol Control_g VoidSymbol Meta_apostrophe Meta_apostrophe Meta_apostrophe Meta_apostrophe
+keycode 41 = grave semicolon grave asciitilde nul VoidSymbol nul VoidSymbol Meta_grave VoidSymbol Meta_grave VoidSymbol
+keycode 42 = Shift
+keycode 43 = backslash bar backslash bar Control_backslash VoidSymbol Control_backslash VoidSymbol Meta_backslash VoidSymbol Meta_backslash VoidSymbol
+keycode 44 = y
+keycode 45 = x
+keycode 46 = c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = m
+keycode 51 = comma question comma less
+alt keycode 51 = Meta_comma
+alt altgr keycode 51 = Meta_comma
+keycode 52 = period colon period greater Compose VoidSymbol Compose VoidSymbol Meta_period VoidSymbol Meta_period VoidSymbol
+keycode 53 = minus underscore slash question Delete VoidSymbol Delete VoidSymbol Meta_slash VoidSymbol Meta_slash VoidSymbol
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space space space nul nul nul nul Meta_space Meta_space Meta_space Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 F1 F13 F1 VoidSymbol F1 VoidSymbol Console_1 VoidSymbol Console_1 VoidSymbol
+keycode 60 = F2 F14 F2 F14 F2 VoidSymbol F2 VoidSymbol Console_2 VoidSymbol Console_2 VoidSymbol
+keycode 61 = F3 F15 F3 F15 F3 VoidSymbol F3 VoidSymbol Console_3 VoidSymbol Console_3 VoidSymbol
+keycode 62 = F4 F15 F4 F16 F4 VoidSymbol F4 VoidSymbol Console_4 VoidSymbol Console_4 VoidSymbol
+keycode 63 = F5 F15 F5 F17 F5 VoidSymbol F5 VoidSymbol Console_5 VoidSymbol Console_5 VoidSymbol
+keycode 64 = F6 F15 F6 F18 F6 VoidSymbol F6 VoidSymbol Console_6 VoidSymbol Console_6 VoidSymbol
+keycode 65 = F7 F15 F7 F19 F7 VoidSymbol F7 VoidSymbol Console_7 VoidSymbol Console_7 VoidSymbol
+keycode 66 = F8 F15 F8 F20 F8 VoidSymbol F8 VoidSymbol Console_8 VoidSymbol Console_8 VoidSymbol
+keycode 67 = F9 F9 F9 F9 F9 VoidSymbol F9 VoidSymbol Console_9 VoidSymbol Console_9 VoidSymbol
+keycode 68 = F10 F10 F10 F10 F10 VoidSymbol F10 VoidSymbol Console_10 VoidSymbol Console_10 VoidSymbol
+keycode 69 = Num_Lock
+keycode 70 = Show_Registers VoidSymbol Scroll_Lock Show_Memory
+control keycode 70 = Show_State
+alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = bar VoidSymbol less greater
+alt keycode 86 = Meta_less
+keycode 87 = F11 F11 F11 F11 F11 VoidSymbol F11 VoidSymbol Console_11 VoidSymbol Console_11 VoidSymbol
+keycode 88 = F12 F12 F12 F12 F12 VoidSymbol F12 VoidSymbol Console_12 VoidSymbol Console_12 VoidSymbol
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+keycode 97 = Control
+keycode 98 = KP_Divide
+keycode 99 = Control_backslash
+control keycode 99 = Control_backslash
+alt keycode 99 = Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+keycode 104 = Prior
+shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ alt altgr keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ alt altgr keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+control alt keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+compose ',' 'A' to '¡'
+compose '/' 'L' to '£'
+compose '^' 'L' to '¥'
+compose '\'' 'S' to '¦'
+compose '^' 'S' to '©'
+compose ',' 'S' to 'ª'
+compose '^' 'T' to '«'
+compose '\'' 'Z' to '¬'
+compose '^' 'Z' to '®'
+compose '.' 'Z' to '¯'
+compose ',' 'a' to '±'
+compose '/' 'l' to '³'
+compose '^' 'l' to 'µ'
+compose '\'' 's' to '¶'
+compose '^' 's' to '¹'
+compose ',' 's' to 'º'
+compose '^' 't' to '»'
+compose '\'' 'z' to '¼'
+compose '^' 'z' to '¾'
+compose '.' 'z' to '¿'
+compose '\'' 'R' to 'À'
+compose '\'' 'A' to 'Á'
+compose '^' 'A' to 'Â'
+compose '^' 'A' to 'Ã'
+compose ':' 'A' to 'Ä'
+compose '\'' 'L' to 'Å'
+compose '\'' 'C' to 'Æ'
+compose ',' 'C' to 'Ç'
+compose '^' 'C' to 'È'
+compose '\'' 'E' to 'É'
+compose ',' 'E' to 'Ê'
+compose '"' 'E' to 'Ë'
+compose '^' 'E' to 'Ì'
+compose '\'' 'I' to 'Í'
+compose '^' 'I' to 'Î'
+compose '^' 'D' to 'Ï'
+compose '-' 'D' to 'Ð'
+compose '\'' 'N' to 'Ñ'
+compose '^' 'N' to 'Ò'
+compose '\'' 'O' to 'Ó'
+compose '^' 'O' to 'Ô'
+compose '"' 'O' to 'Õ'
+compose ':' 'O' to 'Ö'
+compose '^' 'R' to 'Ø'
+compose '^' 'U' to 'Ù'
+compose '\'' 'U' to 'Ú'
+compose '"' 'U' to 'Û'
+compose ':' 'U' to 'Ü'
+compose '\'' 'Y' to 'Ý'
+compose ',' 'T' to 'Þ'
+compose 's' 's' to 'ß'
+compose 'S' 'S' to 'ß'
+compose '\'' 'r' to 'à'
+compose '\'' 'a' to 'á'
+compose '^' 'a' to 'â'
+compose '^' 'a' to 'ã'
+compose ':' 'a' to 'ä'
+compose '\'' 'l' to 'å'
+compose '\'' 'c' to 'æ'
+compose ',' 'c' to 'ç'
+compose '^' 'c' to 'è'
+compose '\'' 'e' to 'é'
+compose ',' 'e' to 'ê'
+compose ':' 'e' to 'ë'
+compose '^' 'e' to 'ì'
+compose '\'' 'i' to 'í'
+compose '^' 'e' to 'î'
+compose '^' 'd' to 'ï'
+compose '-' 'd' to 'ð'
+compose '\'' 'n' to 'ñ'
+compose '^' 'n' to 'ò'
+compose '\'' 'o' to 'ó'
+compose '^' 'o' to 'ô'
+compose ':' 'o' to 'õ'
+compose '"' 'o' to 'ö'
+compose '^' 'r' to 'ø'
+compose '^' 'u' to 'ù'
+compose '\'' 'u' to 'ú'
+compose '"' 'u' to 'û'
+compose ':' 'u' to 'ü'
+compose '\'' 'y' to 'ý'
+compose ',' 't' to 'þ'
diff --git a/keymaps/i386/qwertz/de-latin1-nodeadkeys.kmap b/keymaps/i386/qwertz/de-latin1-nodeadkeys.kmap
new file mode 100644
index 0000000..635eab8
--- /dev/null
+++ b/keymaps/i386/qwertz/de-latin1-nodeadkeys.kmap
@@ -0,0 +1,14 @@
+# de-latin1-nodeadkeys.map: German keymap
+# Due to Olaf Flebbe (flebbe@pluto.tat.physik.uni-tuebingen.de)
+
+include "de-latin1.kmap"
+
+control keycode 7 = Control_asciicircum
+keycode 13 = apostrophe grave
+keycode 27 = plus asterisk asciitilde
+keycode 41 = asciicircum degree
+
+# corresponding keys in de-latin1.map:
+# keycode 13 = dead_acute dead_grave
+# keycode 27 = plus asterisk dead_tilde
+# keycode 41 = dead_circumflex degree
diff --git a/keymaps/i386/qwertz/de-latin1.kmap b/keymaps/i386/qwertz/de-latin1.kmap
new file mode 100644
index 0000000..50af715
--- /dev/null
+++ b/keymaps/i386/qwertz/de-latin1.kmap
@@ -0,0 +1,56 @@
+# de-latin1.map: German keymap
+# (Renamed from gr-latin1.map, since it is not a Greek map.)
+# Some changes due to Olaf Flebbe (flebbe@pluto.tat.physik.uni-tuebingen.de)
+# More changes by Jochen Hein <jochen.hein@delphi.central.de>.
+
+keymaps 0-2,4-6,8-10,12
+alt_is_meta
+include "qwertz-layout"
+ altgr keycode 16 = at
+ altgr keycode 50 = mu
+include "linux-with-alt-and-altgr"
+ plain keycode 83 = KP_Comma
+include "euro.inc"
+strings as usual
+
+# Normal Shift AltGr Strg
+keycode 1 = Escape Escape
+keycode 2 = one exclam
+keycode 3 = two quotedbl twosuperior nul
+keycode 4 = three section threesuperior Escape
+keycode 5 = four dollar
+keycode 6 = five percent
+keycode 7 = six ampersand
+keycode 8 = seven slash braceleft
+keycode 9 = eight parenleft bracketleft
+keycode 10 = nine parenright bracketright
+ control altgr keycode 10 = Control_bracketright
+keycode 11 = zero equal braceright
+keycode 12 = ssharp question backslash
+ control altgr keycode 12 = Control_backslash
+keycode 13 = dead_acute dead_grave
+ alt keycode 13 = Meta_acute
+ shift alt keycode 13 = Meta_grave
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+keycode 26 = +udiaeresis +Udiaeresis
+keycode 27 = plus asterisk dead_tilde
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = +odiaeresis +Odiaeresis
+keycode 40 = +adiaeresis +Adiaeresis
+keycode 41 = dead_circumflex degree Meta_asciicircum Control_asciicircum
+keycode 42 = Shift
+keycode 43 = numbersign apostrophe
+keycode 51 = comma semicolon
+keycode 52 = period colon
+keycode 53 = minus underscore Meta_minus
+ shift control keycode 53 = Control_underscore
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space space Meta_space nul
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+keycode 97 = Control
diff --git a/keymaps/i386/qwertz/de.kmap b/keymaps/i386/qwertz/de.kmap
new file mode 100644
index 0000000..e60e86d
--- /dev/null
+++ b/keymaps/i386/qwertz/de.kmap
@@ -0,0 +1,55 @@
+# de.map: German keymap
+# (Renamed from gr.map, since it is not a Greek map.)
+# Some changes due to Olaf Flebbe (flebbe@pluto.tat.physik.uni-tuebingen.de)
+# More changes by Jochen Hein <jochen.hein@delphi.central.de>.
+
+keymaps 0-2,4-6,8-10,12
+alt_is_meta
+include "qwertz-layout"
+ altgr keycode 16 = at
+ altgr keycode 50 = mu
+include "linux-with-alt-and-altgr"
+ plain keycode 83 = KP_Comma
+include "euro.inc"
+strings as usual
+
+# Normal Shift AltGr Strg
+keycode 1 = Escape Escape
+keycode 2 = one exclam
+keycode 3 = two quotedbl two nul
+keycode 4 = three numbersign three Escape
+keycode 5 = four dollar
+keycode 6 = five percent
+keycode 7 = six ampersand
+keycode 8 = seven slash braceleft
+keycode 9 = eight parenleft bracketleft
+keycode 10 = nine parenright bracketright
+ control altgr keycode 10 = Control_bracketright
+keycode 11 = zero equal braceright
+keycode 12 = backslash question
+ control altgr keycode 12 = Control_backslash
+keycode 13 = apostrophe grave
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+keycode 26 = at backslash
+keycode 27 = plus asterisk asciitilde
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = bracketleft braceleft
+keycode 40 = bracketright braceright
+ control keycode 40 = Control_bracketright
+keycode 41 = asciicircum asciitilde Meta_grave Control_asciicircum
+keycode 42 = Shift
+keycode 43 = numbersign apostrophe
+keycode 51 = comma semicolon
+keycode 52 = period colon
+keycode 53 = minus underscore Meta_minus
+ shift control keycode 53 = Control_underscore
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space space Meta_space nul
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+keycode 97 = Control
diff --git a/keymaps/i386/qwertz/fr_CH-latin1.kmap b/keymaps/i386/qwertz/fr_CH-latin1.kmap
new file mode 100644
index 0000000..4d31d87
--- /dev/null
+++ b/keymaps/i386/qwertz/fr_CH-latin1.kmap
@@ -0,0 +1,84 @@
+# This used to be sf-latin1.map
+# Renamed because too many Fins thought this was for them.
+keymaps 0-2,4-6,8,12
+include "qwertz-layout"
+include "linux-with-alt-and-altgr"
+ plain keycode 83 = KP_Period
+strings as usual
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one plus
+ alt keycode 2 = Meta_one
+keycode 3 = two quotedbl at
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+keycode 4 = three asterisk numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+keycode 5 = four ccedilla
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 7 = six ampersand notsign
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = seven slash bar
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight parenleft cent
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenright
+ alt keycode 10 = Meta_nine
+keycode 11 = zero equal
+ alt keycode 11 = Meta_zero
+keycode 12 = apostrophe question dead_acute
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = dead_circumflex dead_grave dead_tilde
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 26 = egrave udiaeresis bracketleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = dead_diaeresis exclam bracketright
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = eacute odiaeresis
+ alt keycode 39 = Meta_semicolon
+keycode 40 = agrave adiaeresis braceleft
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = section degree
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = dollar sterling braceright
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 51 = comma semicolon
+ alt keycode 51 = Meta_comma
+keycode 52 = period colon
+ alt keycode 52 = Meta_period
+keycode 53 = minus underscore
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+ shift control keycode 53 = Control_underscore
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater backslash
+ alt keycode 86 = Meta_less
+keycode 97 = Control
diff --git a/keymaps/i386/qwertz/fr_CH.kmap b/keymaps/i386/qwertz/fr_CH.kmap
new file mode 100644
index 0000000..2af3cdf
--- /dev/null
+++ b/keymaps/i386/qwertz/fr_CH.kmap
@@ -0,0 +1,89 @@
+# This used to be sf-latin1.map
+# Renamed because too many Fins thought this was for them.
+keymaps 0-2,4-6,8,12
+include "qwertz-layout"
+include "linux-with-alt-and-altgr"
+ plain keycode 83 = KP_Period
+strings as usual
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one plus
+ alt keycode 2 = Meta_one
+keycode 3 = two quotedbl at
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+keycode 4 = three asterisk numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+keycode 5 = four
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 7 = six ampersand
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = seven slash bar
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight parenleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenright
+ alt keycode 10 = Meta_nine
+keycode 11 = zero equal
+ alt keycode 11 = Meta_zero
+keycode 12 = apostrophe question apostrophe
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = asciicircum grave asciitilde
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 26 =
+ altgr keycode 26 = bracketleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 =
+ shift keycode 27 = exclam
+ altgr keycode 27 = bracketright
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 =
+ alt keycode 39 = Meta_semicolon
+keycode 40 =
+ altgr keycode 40 = braceleft
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 =
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = dollar
+ altgr keycode 43 = braceright
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 51 = comma semicolon
+ alt keycode 51 = Meta_comma
+keycode 52 = period colon
+ alt keycode 52 = Meta_period
+keycode 53 = minus underscore
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+ shift control keycode 53 = Control_underscore
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater backslash
+ alt keycode 86 = Meta_less
+keycode 97 = Control
diff --git a/keymaps/i386/qwertz/hu.kmap b/keymaps/i386/qwertz/hu.kmap
new file mode 100644
index 0000000..c21d229
--- /dev/null
+++ b/keymaps/i386/qwertz/hu.kmap
@@ -0,0 +1,162 @@
+#
+# The standard Hungarian keymap (iso8859-2)
+#
+# Modified by Soos Peter <sp@osb.hu>, 1997, 1998
+# based on Levárdy Zoltán's <pogacsa@programmer.net> keymap
+#
+# The 1998 change interchanged Backspace and Delete
+#
+charset "iso-8859-2"
+keymaps 0-2,4-6,8,10,12
+alt_is_meta
+include "linux-with-alt-and-altgr"
+ plain keycode 83 = KP_Comma
+strings as usual
+
+ keycode 1 = Escape
+
+ keycode 2 = one apostrophe asciitilde
+
+ keycode 3 = two quotedbl caron
+ control keycode 3 = nul
+
+ keycode 4 = three plus asciicircum
+ control keycode 4 = Escape
+
+ keycode 5 = four exclam breve
+ control keycode 5 = Control_backslash
+
+ keycode 6 = five percent degree
+ control keycode 6 = Control_bracketright
+
+ keycode 7 = six slash ogonek
+ control keycode 7 = Control_asciicircum
+
+ keycode 8 = seven equal grave
+ control keycode 8 = Control_underscore
+
+ keycode 9 = eight parenleft abovedot
+ control keycode 9 = Delete
+
+ keycode 10 = nine parenright acute
+
+ keycode 11 = +odiaeresis +Odiaeresis doubleacute
+ alt keycode 11 = Meta_zero
+
+ keycode 12 = +udiaeresis +Udiaeresis diaeresis
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+altgr control keycode 12 = Control_backslash
+
+ keycode 13 = +oacute +Oacute cedilla
+ alt keycode 13 = Meta_plus
+
+ keycode 14 = Delete
+ control keycode 14 = BackSpace
+
+ keycode 15 = Tab
+
+ keycode 16 = +q +Q backslash
+ control keycode 16 = Control_q
+altgr control keycode 16 = Control_backslash
+
+ keycode 17 = +w +W bar
+ control keycode 17 = Control_w
+
+ keycode 18 = e
+ keycode 19 = r
+ keycode 20 = t
+ keycode 21 = z
+ keycode 22 = u
+
+ keycode 23 = +i +I Iacute
+ control keycode 23 = Control_i
+
+ keycode 24 = o
+ keycode 25 = p
+
+ keycode 26 = +odoubleacute +Odoubleacute division
+
+ keycode 27 = +uacute +Uacute multiplication
+
+ keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+
+ keycode 29 = Control
+
+ keycode 30 = a
+
+ keycode 31 = +s +S dstroke
+ control keycode 31 = Control_s
+
+ keycode 32 = +d +D Dstroke
+ control keycode 32 = Control_d
+
+ keycode 33 = +f +F bracketleft
+ control keycode 33 = Control_f
+
+ keycode 34 = +g +G bracketright
+ control keycode 34 = Control_g
+
+ keycode 35 = h
+
+ keycode 36 = +j +J iacute
+ control keycode 36 = Control_j
+
+ keycode 37 = +k +K lstroke
+ control keycode 37 = Control_k
+
+ keycode 38 = +l +L Lstroke
+ control keycode 38 = Control_l
+
+ keycode 39 = +eacute +Eacute dollar
+
+ keycode 40 = +aacute +Aacute ssharp
+
+ keycode 41 = zero section
+ control keycode 41 = nul
+
+ keycode 42 = Shift
+
+ keycode 43 = +udoubleacute +Udoubleacute currency
+
+ keycode 44 = +y +Y greater
+ control keycode 44 = Control_y
+
+ keycode 45 = +x +X numbersign
+ control keycode 45 = Control_x
+
+ keycode 46 = +c +C ampersand
+ control keycode 46 = Control_c
+
+ keycode 47 = +v +V at
+ control keycode 47 = Control_v
+
+ keycode 48 = +b +B braceleft
+ control keycode 48 = Control_b
+
+ keycode 49 = +n +N braceright
+ control keycode 49 = Control_n
+
+ keycode 50 = m
+
+ keycode 51 = comma question semicolon
+
+ keycode 52 = period colon
+
+ keycode 53 = minus underscore asterisk
+ control keycode 53 = Delete
+shift control keycode 53 = Control_underscore
+
+ keycode 54 = Shift
+ keycode 56 = Alt
+
+ keycode 57 = space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+
+ keycode 58 = Caps_Lock
+
+ keycode 86 = +iacute +Iacute less
+
+ keycode 97 = Control
diff --git a/keymaps/i386/qwertz/mac-usb-de-latin1-nodeadkeys.kmap b/keymaps/i386/qwertz/mac-usb-de-latin1-nodeadkeys.kmap
new file mode 100644
index 0000000..409edc2
--- /dev/null
+++ b/keymaps/i386/qwertz/mac-usb-de-latin1-nodeadkeys.kmap
@@ -0,0 +1,15 @@
+# mac-de-latin1-nodeadkeys.map: German keymap
+# Due to Olaf Flebbe (flebbe@pluto.tat.physik.uni-tuebingen.de)
+# Mac version from olh@suse.de
+
+include "mac-usb-de-latin1.kmap"
+
+keycode 13 = apostrophe grave
+keycode 27 = plus asterisk asciitilde
+keycode 41 = asciicircum degree
+alt keycode 49 = asciitilde
+
+# corresponding keys in mac-de-latin1.map:
+# keycode 13 = dead_acute dead_grave
+# keycode 27 = plus asterisk dead_tilde
+# keycode 41 = dead_circumflex degree
diff --git a/keymaps/i386/qwertz/mac-usb-de-latin1.kmap b/keymaps/i386/qwertz/mac-usb-de-latin1.kmap
new file mode 100644
index 0000000..ebae565
--- /dev/null
+++ b/keymaps/i386/qwertz/mac-usb-de-latin1.kmap
@@ -0,0 +1,58 @@
+# mac-de-latin1.map: German keymap
+# (Renamed from gr-latin1.map, since it is not a Greek map.)
+# Some changes due to Olaf Flebbe (flebbe@pluto.tat.physik.uni-tuebingen.de)
+# More changes by Jochen Hein <jochen.hein@delphi.central.de>.
+
+
+alt_is_meta
+include "qwertz-layout"
+altgr keycode 16 = at
+altgr keycode 50 = mu
+#include "linux-with-alt-and-altgr"
+include "mac-linux-keys-bare.inc"
+plain keycode 83 = KP_Comma
+include "euro.inc"
+compose as usual for "iso-8859-1"
+strings as usual
+
+# Normal Shift AltGr Strg
+# Normal Shift AltGr Shift+AltGr Ctrl Shift+Ctrl AltGr+Ctrl Shift+AltGr+Ctrl Alt Shift+Alt AltGr+Alt Shift+AltGr+Alt
+keycode 8 = seven slash braceleft a b c d e f g h i j k
+keycode 2 = one exclam
+shift altgr keycode 2 = at
+keycode 3 = two quotedbl twosuperior nul
+keycode 4 = three section threesuperior Escape
+keycode 5 = four dollar
+keycode 6 = five percent bracketleft
+keycode 7 = six ampersand bracketright
+keycode 8 = seven slash bar backslash
+keycode 9 = eight parenleft braceleft
+keycode 10 = nine parenright braceright
+keycode 11 = zero equal braceright
+keycode 12 = ssharp question backslash
+control altgr keycode 12 = Control_backslash
+keycode 13 = dead_acute dead_grave
+alt keycode 13 = Meta_acute
+shift alt keycode 13 = Meta_grave
+keycode 26 = +udiaeresis +Udiaeresis
+keycode 27 = plus asterisk dead_tilde
+keycode 39 = +odiaeresis +Odiaeresis
+keycode 40 = +adiaeresis +Adiaeresis
+keycode 86 = dead_circumflex degree Meta_asciicircum Control_asciicircum
+keycode 43 = numbersign apostrophe
+keycode 51 = comma semicolon
+keycode 52 = period colon
+keycode 53 = minus underscore Meta_minus
+shift control keycode 53 = Control_underscore
+keycode 57 = space space Meta_space nul
+keycode 86 = less greater bar
+
+alt keycode 16 = at
+keycode 38 = l L at nul
+
+alt keycode 41 = bar
+alt keycode 27 = dead_tilde
+alt keycode 49 = dead_tilde
+keycode 83 = KP_Comma
+ control alt keycode 83 = Boot
+
diff --git a/keymaps/i386/qwertz/mac-usb-de_CH.kmap b/keymaps/i386/qwertz/mac-usb-de_CH.kmap
new file mode 100644
index 0000000..a469cb9
--- /dev/null
+++ b/keymaps/i386/qwertz/mac-usb-de_CH.kmap
@@ -0,0 +1,48 @@
+# Swiss-German keymap for PowerBook G3 (Bronze Series)
+# augmented by keys on macally ikey keyboard
+
+# Shift 1
+# AltGr 2 command key
+# Ctrl 4
+# Alt 8 option key
+# ShiftL 16 not used
+# ShiftR 32 not used
+# CtrlL 64 not used
+# CtrlR 128 not used
+
+# plain,shift,command,control,alt,ctrl-alt
+# from http://www.claudio.ch/Etc/pb-sg.kmap
+# modified by olh@suse.de
+
+alt_is_meta
+include "qwertz-layout"
+include "mac-linux-keys-bare.inc"
+include "euro.inc"
+compose as usual for "iso-8859-1"
+strings as usual
+
+
+keycode 41 = section degree asciitilde nul Meta_asciitilde
+keycode 2 = one plus
+keycode 3 = two quotedbl at
+keycode 4 = three asterisk numbersign
+keycode 5 = four ccedilla backslash Control_backslash Meta_backslash Meta_Control_backslash
+keycode 7 = six ampersand bracketright Control_bracketright Meta_bracketright Meta_Control_bracketright
+keycode 6 = five percent bracketleft Escape bracketleft Meta_Escape
+keycode 13 = asciicircum grave Control_asciicircum Meta_asciicircum Meta_Control_asciicircum
+keycode 10 = nine parenright braceright Control_bracketright Meta_braceright Meta_Control_bracketright
+keycode 8 = seven slash bar Control_backslash Meta_bar Meta_Control_backslash
+keycode 12 = apostrophe question
+keycode 9 = eight parenleft braceleft Escape Meta_braceleft Meta_Escape
+keycode 11 = zero equal nul nul Meta_equal Meta_nul
+keycode 27 = dead_diaeresis exclam
+keycode 40 = adiaeresis agrave
+keycode 39 = odiaeresis eacute
+keycode 43 = dollar sterling
+keycode 51 = comma semicolon
+keycode 53 = minus underscore backslash Control_underscore Meta_minus Meta_Control_underscore
+keycode 52 = period colon
+keycode 86 = less greater
+keycode 83 = KP_Comma
+ control alt keycode 83 = Boot
+
diff --git a/keymaps/i386/qwertz/mac-usb-fr_CH-latin1.kmap b/keymaps/i386/qwertz/mac-usb-fr_CH-latin1.kmap
new file mode 100644
index 0000000..2c36f34
--- /dev/null
+++ b/keymaps/i386/qwertz/mac-usb-fr_CH-latin1.kmap
@@ -0,0 +1,51 @@
+# Swiss-french keymap for PowerBook G3 (Bronze Series)
+# augmented by keys on macally ikey keyboard
+#
+# Shift 1
+# AltGr 2 command key
+# Ctrl 4
+# Alt 8 option key
+# ShiftL 16 not used
+# ShiftR 32 not used
+# CtrlL 64 not used
+# CtrlR 128 not used
+#
+# plain,shift,command,control,alt,ctrl-alt
+# from http://www.claudio.ch/Etc/pb-sg.kmap
+# modified by olh@suse.de from mac-de_CH
+
+alt_is_meta
+include "qwerty-layout"
+include "mac-linux-keys-bare.inc"
+include "euro.inc"
+compose as usual for "iso-8859-1"
+strings as usual
+
+
+keycode 41 = section degree asciitilde nul Meta_asciitilde
+keycode 2 = one plus
+keycode 3 = two quotedbl at
+keycode 4 = three asterisk numbersign
+keycode 5 = four ccedilla backslash Control_backslash Meta_backslash Meta_Control_backslash
+keycode 7 = six ampersand bracketright Control_bracketright Meta_bracketright Meta_Control_bracketright
+keycode 6 = five percent bracketleft Escape bracketleft Meta_Escape
+keycode 13 = asciicircum grave Control_asciicircum Meta_asciicircum Meta_Control_asciicircum
+keycode 10 = nine parenright braceright Control_bracketright Meta_braceright Meta_Control_bracketright
+keycode 8 = seven slash bar Control_backslash Meta_bar Meta_Control_backslash
+keycode 12 = apostrophe question
+keycode 9 = eight parenleft braceleft Escape Meta_braceleft Meta_Escape
+keycode 11 = zero equal nul nul Meta_equal Meta_nul
+keycode 27 = dead_diaeresis exclam
+keycode 40 = agrave adiaeresis
+keycode 39 = eacute odiaeresis
+keycode 43 = dollar sterling
+keycode 51 = comma semicolon
+keycode 53 = minus underscore backslash Control_underscore Meta_minus Meta_Control_underscore
+keycode 52 = period colon
+keycode 86 = less greater
+keycode 26 = egrave +udiaeresis
+keycode 21 = z
+keycode 44 = y
+keycode 83 = KP_Period
+ control alt keycode 83 = Boot
+
diff --git a/keymaps/i386/qwertz/mac-usb-pt-latin1.kmap b/keymaps/i386/qwertz/mac-usb-pt-latin1.kmap
new file mode 100644
index 0000000..928752e
--- /dev/null
+++ b/keymaps/i386/qwertz/mac-usb-pt-latin1.kmap
@@ -0,0 +1,32 @@
+# mac-pt-latin1.map Ricardo Cabral <bfe00991@mail.telepac.pt>
+
+include "qwerty-layout.inc"
+include "mac-linux-keys-bare.inc"
+include "mac-usb-de-latin1.kmap"
+
+keycode 21 = y
+keycode 44 = z
+keycode 86 = less greater
+keycode 2 = one exclam
+keycode 3 = two quotedbl at
+keycode 4 = three numbersign sterling
+keycode 5 = four dollar section
+keycode 6 = five percent
+keycode 7 = six ampersand
+keycode 8 = seven slash
+keycode 9 = eight parenleft braceleft
+keycode 10 = nine parenright braceright
+keycode 11 = zero equal
+keycode 12 = apostrophe question
+keycode 13 = plus asterisk
+keycode 27 = dead_acute dead_grave
+keycode 26 = masculine ordfeminine
+keycode 40 = asciitilde asciicircum
+keycode 39 = ccedilla Ccedilla
+keycode 43 = backslash bar
+keycode 51 = comma semicolon
+keycode 53 = minus underscore
+keycode 52 = period colon
+keycode 83 = KP_Period
+ control alt keycode 83 = Boot
+
diff --git a/keymaps/i386/qwertz/pl-qwertz.kmap b/keymaps/i386/qwertz/pl-qwertz.kmap
new file mode 100644
index 0000000..47acfe2
--- /dev/null
+++ b/keymaps/i386/qwertz/pl-qwertz.kmap
@@ -0,0 +1,59 @@
+# pl.map: Polish keymap
+# Christian Perrier <bubulle@debian.org>
+# Layout from http://www.terena.org/activities/multiling/ml-mua/test/kbd-all.html#Polish
+
+keymaps 0-2,4-6,8-10,12
+alt_is_meta
+include "qwertz-layout"
+ altgr keycode 16 = backslash
+ altgr keycode 17 = bar
+ altgr keycode 31 = dstroke
+ altgr keycode 32 = Dstroke
+ altgr keycode 33 = bracketleft
+ altgr keycode 34 = bracketright
+ altgr keycode 47 = at
+ altgr keycode 48 = braceleft
+ altgr keycode 49 = braceright
+ altgr keycode 50 = paragraph
+include "linux-with-alt-and-altgr"
+ plain keycode 83 = KP_Comma
+include "euro.inc"
+strings as usual
+
+# Normal Shift AltGr Strg
+keycode 1 = Escape Escape
+keycode 2 = one exclam tilde
+keycode 3 = two quotedbl caron
+keycode 4 = three numbersign asciicircum
+keycode 5 = four currency breve
+keycode 6 = five percent degree
+keycode 7 = six ampersand ogonek
+keycode 8 = seven slash grave
+keycode 9 = eight parenleft abovedot
+keycode 10 = nine parenright acute
+keycode 11 = zero equal doubleacute
+keycode 12 = plus question diaeresis
+keycode 13 = apostrophe asterisk cedilla
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+keycode 26 = zabovedot nacute division
+keycode 27 = sacute cacute multiplication
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = lstroke Lstroke dollar
+keycode 40 = aogonek eogonek ssharp
+keycode 41 = oacute zacute
+keycode 42 = Shift
+keycode 43 = numbersign apostrophe
+keycode 51 = comma semicolon
+keycode 52 = period colon
+keycode 53 = minus underscore Meta_minus
+ shift control keycode 53 = Control_underscore
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space space Meta_space nul
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+keycode 97 = Control
diff --git a/keymaps/i386/qwertz/sg-latin1-lk450.kmap b/keymaps/i386/qwertz/sg-latin1-lk450.kmap
new file mode 100644
index 0000000..9b77665
--- /dev/null
+++ b/keymaps/i386/qwertz/sg-latin1-lk450.kmap
@@ -0,0 +1,80 @@
+keymaps 0-2,4-6,8,12
+include "qwertz-layout"
+include "linux-with-alt-and-altgr"
+ keycode 117 = KP_Add
+strings as usual
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one plus
+ alt keycode 2 = Meta_one
+keycode 3 = two quotedbl at
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+keycode 4 = three asterisk numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+keycode 5 = four ccedilla degree
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+keycode 6 = five percent section
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 7 = six ampersand
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = seven slash bar
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight parenleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenright
+ alt keycode 10 = Meta_nine
+keycode 11 = zero equal
+ alt keycode 11 = Meta_zero
+keycode 12 = apostrophe question dead_acute
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = dead_circumflex dead_grave dead_tilde
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 26 = udiaeresis egrave bracketleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = dead_diaeresis exclam bracketright
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = odiaeresis eacute braceleft
+ alt keycode 39 = Meta_semicolon
+keycode 40 = adiaeresis agrave braceright
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = less greater backslash
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = dollar sterling
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 51 = comma semicolon
+ alt keycode 51 = Meta_comma
+keycode 52 = period colon
+ alt keycode 52 = Meta_period
+keycode 53 = minus underscore
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+ shift control keycode 53 = Control_underscore
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 97 = Control
diff --git a/keymaps/i386/qwertz/sg-latin1.kmap b/keymaps/i386/qwertz/sg-latin1.kmap
new file mode 100644
index 0000000..db9930e
--- /dev/null
+++ b/keymaps/i386/qwertz/sg-latin1.kmap
@@ -0,0 +1,81 @@
+keymaps 0-2,4-6,8,12
+include "qwertz-layout"
+include "linux-with-alt-and-altgr"
+strings as usual
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one plus bar
+ alt keycode 2 = Meta_one
+keycode 3 = two quotedbl at
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+keycode 4 = three asterisk numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+keycode 5 = four ccedilla
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 7 = six ampersand notsign
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = seven slash bar
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight parenleft cent
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenright
+ alt keycode 10 = Meta_nine
+keycode 11 = zero equal
+ alt keycode 11 = Meta_zero
+keycode 12 = apostrophe question dead_acute
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = dead_circumflex dead_grave dead_tilde
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 26 = udiaeresis egrave bracketleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 = dead_diaeresis exclam bracketright
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = odiaeresis eacute
+ alt keycode 39 = Meta_semicolon
+keycode 40 = adiaeresis agrave braceleft
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 = section degree
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = dollar sterling braceright
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 51 = comma semicolon
+ alt keycode 51 = Meta_comma
+keycode 52 = period colon
+ alt keycode 52 = Meta_period
+keycode 53 = minus underscore
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+ shift control keycode 53 = Control_underscore
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater backslash
+ alt keycode 86 = Meta_less
+keycode 97 = Control
diff --git a/keymaps/i386/qwertz/sg.kmap b/keymaps/i386/qwertz/sg.kmap
new file mode 100644
index 0000000..c4f108f
--- /dev/null
+++ b/keymaps/i386/qwertz/sg.kmap
@@ -0,0 +1,87 @@
+keymaps 0-2,4-6,8,12
+include "qwertz-layout"
+include "linux-with-alt-and-altgr.inc"
+ plain keycode 83 = KP_Comma
+strings as usual
+
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+keycode 2 = one plus
+ alt keycode 2 = Meta_one
+keycode 3 = two quotedbl at
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+keycode 4 = three asterisk numbersign
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+keycode 5 = four
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+keycode 7 = six ampersand
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+keycode 8 = seven slash bar
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+keycode 9 = eight parenleft
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+keycode 10 = nine parenright
+ alt keycode 10 = Meta_nine
+keycode 11 = zero equal
+ alt keycode 11 = Meta_zero
+keycode 12 = apostrophe question apostrophe
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+keycode 13 = asciicircum grave asciitilde
+ alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+keycode 26 =
+ altgr keycode 26 = bracketleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+keycode 27 =
+ shift keycode 27 = exclam
+ altgr keycode 27 = bracketright
+ control keycode 27 = Control_bracketright
+ alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 =
+ alt keycode 39 = Meta_semicolon
+keycode 40 =
+ altgr keycode 40 = braceleft
+ control keycode 40 = Control_g
+ alt keycode 40 = Meta_apostrophe
+keycode 41 =
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = dollar
+ altgr keycode 43 = braceright
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_backslash
+keycode 51 = comma semicolon
+ alt keycode 51 = Meta_comma
+keycode 52 = period colon
+ alt keycode 52 = Meta_period
+keycode 53 = minus underscore
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+ shift control keycode 53 = Control_underscore
+keycode 54 = Shift
+keycode 56 = Alt
+keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater backslash
+ alt keycode 86 = Meta_less
+keycode 97 = Control
diff --git a/keymaps/i386/qwertz/sk-prog-qwertz.kmap b/keymaps/i386/qwertz/sk-prog-qwertz.kmap
new file mode 100644
index 0000000..5fd79a2
--- /dev/null
+++ b/keymaps/i386/qwertz/sk-prog-qwertz.kmap
@@ -0,0 +1,238 @@
+# Slovak ISO 8859-2 keyboard map for text console (ver. 2)
+# Layout: qwertz-prog
+# Written and (c) copyright by Jan Ondrej (ondrejj@salstar.shadow.sk)
+# You can distribute this file under the terms of GNU General
+# Public License (GPL). See the file COPYING.
+#
+# Slovenska klavesnica sa zapne a vypne klavesou Pause.
+# Klavesou AltGr (Right Alt) je mozne sa prepnut zo slovenskej do US a naopak.
+# Klavesa Pause potom funguje ako AltGr-lock.
+#
+# Chybaju tu klavesy vokan a dvojbodka nad pismenom, ale znaky
+# "ô" a "ä" mozete dostat tak, ze pred danym pismenom stlacite
+# klaves makcena.
+#
+# Dalej som pridal prepinanie konzoli pomocou CTRL+ALT+F1 az F12
+# podla klasickej klavesovej mapy. Pridal som aj zopar includov,
+# ale neviem, ci nieco upravia.
+#
+# Tento subor bol vytvoreny zo suboru cz-lat2.map, ktory
+# napisal Jan Kasprzak (kas@ics.muni.cz).
+#
+charset "iso-8859-2"
+keymaps 0-15
+include "linux-keys-bare.inc"
+include "linux-keys-extd.inc"
+include "qwertz-layout.inc"
+strings as usual
+
+keycode 1 = Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 2 = one exclam plus one VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_one Meta_one Meta_one
+keycode 3 = two at lcaron two nul nul nul nul Meta_two Meta_two Meta_two Meta_two
+keycode 4 = three numbersign scaron three Escape VoidSymbol Escape VoidSymbol Meta_three Meta_three Meta_three Meta_three Meta_three
+keycode 5 = four dollar ccaron four Control_backslash VoidSymbol Control_backslash VoidSymbol Meta_four Meta_four Meta_four Meta_four
+keycode 6 = five percent tcaron five Control_bracketright VoidSymbol Control_bracketright VoidSymbol Meta_five Meta_five Meta_five Meta_five
+keycode 7 = six asciicircum zcaron six Control_asciicircum VoidSymbol Control_asciicircum VoidSymbol Meta_six Meta_six Meta_six Meta_six
+keycode 8 = seven ampersand yacute seven Control_underscore VoidSymbol Control_underscore VoidSymbol Meta_seven Meta_seven Meta_seven Meta_seven
+keycode 9 = eight asterisk aacute eight Delete VoidSymbol Delete VoidSymbol Meta_eight Meta_eight Meta_eight Meta_eight
+keycode 10 = nine parenleft iacute nine VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_nine Meta_nine Meta_nine
+keycode 11 = zero parenright eacute zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_zero Meta_zero Meta_zero
+keycode 12 = minus underscore minus underscore Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_minus Meta_minus Meta_minus
+keycode 13 = equal plus dead_acute dead_circumflex VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_equal Meta_equal Meta_equal
+keycode 14 = Delete Delete Delete Delete VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Delete Meta_Delete Meta_Delete Meta_Delete
+keycode 15 = Tab Tab Tab Tab VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+keycode 26 = bracketleft braceleft bracketleft braceleft Escape VoidSymbol Escape VoidSymbol Meta_bracketleft Meta_bracketleft Meta_bracketleft Meta_bracketleft
+keycode 27 = bracketright braceright bracketright braceright Control_bracketright VoidSymbol Control_bracketright VoidSymbol Meta_bracketright Meta_bracketright Meta_bracketright Meta_bracketright
+keycode 28 = Return
+altgr keycode 28 = Return
+alt keycode 28 = Meta_Control_m
+alt altgr keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = semicolon colon semicolon colon VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_semicolon Meta_semicolon Meta_semicolon Meta_semicolon
+keycode 40 = apostrophe quotedbl apostrophe quotedbl Control_g VoidSymbol Control_g VoidSymbol Meta_apostrophe Meta_apostrophe Meta_apostrophe Meta_apostrophe
+keycode 41 = grave asciitilde grave asciitilde nul VoidSymbol nul VoidSymbol Meta_grave VoidSymbol Meta_grave
+keycode 42 = Shift
+keycode 43 = backslash bar backslash bar Control_backslash VoidSymbol Control_backslash VoidSymbol Meta_backslash VoidSymbol Meta_backslash
+keycode 51 = comma less comma less
+alt keycode 51 = Meta_comma
+alt altgr keycode 51 = Meta_comma
+keycode 52 = period greater period greater Compose VoidSymbol Compose VoidSymbol Meta_period VoidSymbol Meta_period
+keycode 53 = slash question slash question Delete VoidSymbol Delete VoidSymbol Meta_slash VoidSymbol Meta_slash
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space space space nul nul nul nul Meta_space Meta_space Meta_space Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 F1 F13 F1 VoidSymbol F1 VoidSymbol Console_1 VoidSymbol Console_1 VoidSymbol Console_1
+keycode 60 = F2 F14 F2 F14 F2 VoidSymbol F2 VoidSymbol Console_2 VoidSymbol Console_2 VoidSymbol Console_2
+keycode 61 = F3 F15 F3 F15 F3 VoidSymbol F3 VoidSymbol Console_3 VoidSymbol Console_3 VoidSymbol Console_3
+keycode 62 = F4 F16 F4 F15 F4 VoidSymbol F4 VoidSymbol Console_4 VoidSymbol Console_4 VoidSymbol Console_4
+keycode 63 = F5 F17 F5 F15 F5 VoidSymbol F5 VoidSymbol Console_5 VoidSymbol Console_5 VoidSymbol Console_5
+keycode 64 = F6 F18 F6 F15 F6 VoidSymbol F6 VoidSymbol Console_6 VoidSymbol Console_6 VoidSymbol Console_6
+keycode 65 = F7 F19 F7 F15 F7 VoidSymbol F7 VoidSymbol Console_7 VoidSymbol Console_7 VoidSymbol Console_7
+keycode 66 = F8 F20 F8 F15 F8 VoidSymbol F8 VoidSymbol Console_8 VoidSymbol Console_8 VoidSymbol Console_8
+keycode 67 = F9 F9 F9 F9 F9 VoidSymbol F9 VoidSymbol Console_9 VoidSymbol Console_9 VoidSymbol Console_9
+keycode 68 = F10 F10 F10 F10 F10 VoidSymbol F10 VoidSymbol Console_10 VoidSymbol Console_10 VoidSymbol Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+control keycode 70 = Show_State
+alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+alt keycode 86 = Meta_less
+keycode 87 = F11 F11 F11 F11 F11 VoidSymbol F11 VoidSymbol Console_11 VoidSymbol Console_11 VoidSymbol Console_11
+keycode 88 = F12 F12 F12 F12 F12 VoidSymbol F12 VoidSymbol Console_12 VoidSymbol Console_12 VoidSymbol Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+keycode 97 = Control
+keycode 98 = KP_Divide
+keycode 99 = Control_backslash
+control keycode 99 = Control_backslash
+alt keycode 99 = Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+keycode 104 = Prior
+shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ alt altgr keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ alt altgr keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+control alt keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+
+compose ',' 'A' to '¡'
+compose '/' 'L' to '£'
+compose '^' 'L' to '¥'
+compose '\'' 'S' to '¦'
+compose '^' 'S' to '©'
+compose ',' 'S' to 'ª'
+compose '^' 'T' to '«'
+compose '\'' 'Z' to '¬'
+compose '^' 'Z' to '®'
+compose '.' 'Z' to '¯'
+compose ',' 'a' to '±'
+compose '/' 'l' to '³'
+compose '^' 'l' to 'µ'
+compose '\'' 's' to '¶'
+compose '^' 's' to '¹'
+compose ',' 's' to 'º'
+compose '^' 't' to '»'
+compose '\'' 'z' to '¼'
+compose '^' 'z' to '¾'
+compose '.' 'z' to '¿'
+compose '\'' 'R' to 'À'
+compose '\'' 'A' to 'Á'
+compose '^' 'A' to 'Ä'
+compose ':' 'A' to 'Ä'
+compose '\'' 'L' to 'Å'
+compose '\'' 'C' to 'Æ'
+compose ',' 'C' to 'Ç'
+compose '^' 'C' to 'È'
+compose '\'' 'E' to 'É'
+compose ',' 'E' to 'Ê'
+compose '"' 'E' to 'Ë'
+compose '^' 'E' to 'Ì'
+compose '\'' 'I' to 'Í'
+compose '^' 'I' to 'Î'
+compose '^' 'D' to 'Ï'
+compose '-' 'D' to 'Ð'
+compose '\'' 'N' to 'Ñ'
+compose '^' 'N' to 'Ò'
+compose '\'' 'O' to 'Ó'
+compose '^' 'O' to 'Ô'
+compose '"' 'O' to 'Õ'
+compose ':' 'O' to 'Ö'
+compose '^' 'R' to 'Ø'
+compose '^' 'U' to 'Ù'
+compose '\'' 'U' to 'Ú'
+compose '"' 'U' to 'Û'
+compose ':' 'U' to 'Ü'
+compose '\'' 'Y' to 'Ý'
+compose ',' 'T' to 'Þ'
+compose 's' 's' to 'ß'
+compose 'S' 'S' to 'ß'
+compose '\'' 'r' to 'à'
+compose '\'' 'a' to 'á'
+compose '^' 'a' to 'ä'
+compose ':' 'a' to 'ä'
+compose '\'' 'l' to 'å'
+compose '\'' 'c' to 'æ'
+compose ',' 'c' to 'ç'
+compose '^' 'c' to 'è'
+compose '\'' 'e' to 'é'
+compose ',' 'e' to 'ê'
+compose ':' 'e' to 'ë'
+compose '^' 'e' to 'ì'
+compose '\'' 'i' to 'í'
+compose '^' 'e' to 'î'
+compose '^' 'd' to 'ï'
+compose '-' 'd' to 'ð'
+compose '\'' 'n' to 'ñ'
+compose '^' 'n' to 'ò'
+compose '\'' 'o' to 'ó'
+compose '^' 'o' to 'ô'
+compose ':' 'o' to 'õ'
+compose '"' 'o' to 'ö'
+compose '^' 'r' to 'ø'
+compose '^' 'u' to 'ù'
+compose '\'' 'u' to 'ú'
+compose '"' 'u' to 'û'
+compose ':' 'u' to 'ü'
+compose '\'' 'y' to 'ý'
+compose ',' 't' to 'þ'
diff --git a/keymaps/i386/qwertz/sk-qwertz.kmap b/keymaps/i386/qwertz/sk-qwertz.kmap
new file mode 100644
index 0000000..b22e4a7
--- /dev/null
+++ b/keymaps/i386/qwertz/sk-qwertz.kmap
@@ -0,0 +1,243 @@
+# Slovak ISO 8859-2 keyboard map for text console (ver. 2)
+# Layout: qwertz
+# Written and (c) copyright by Jan Ondrej (ondrejj@salstar.shadow.sk)
+# You can distribute this file under the terms of GNU General
+# Public License (GPL). See the file COPYING.
+#
+# Slovenska klavesnica sa zapne a vypne klavesou Pause.
+# Klavesou AltGr (Right Alt) je mozne sa prepnut zo slovenskej do US a naopak.
+# Klavesa Pause potom funguje ako AltGr-lock.
+# Znak o s vokanom mozete dostat stlacenim klavesu makcen a "o".
+#
+# Zdalo sa mi, ze diaeresis nefunguje celkom spravne, pretoze
+# pri kombinacii s pismenom a daval vysledok dva znaky "a .
+# Upravil som to pridanim compose.
+#
+# Dalej som pridal prepinanie konzoli pomocou CTRL+ALT+F1 az F12
+# podla klasickej klavesovej mapy. Pridal som aj zopar includov,
+# ale neviem, ci nieco upravia.
+#
+# Tento subor bol vytvoreny zo suboru cz-lat2.map, ktory
+# napisal Jan Kasprzak (kas@ics.muni.cz).
+#
+charset "iso-8859-2"
+keymaps 0-15
+include "linux-keys-bare.inc"
+include "linux-keys-extd.inc"
+include "qwertz-layout.inc"
+strings as usual
+
+keycode 1 = Escape Escape Escape Escape Escape Escape Escape Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape Meta_Escape
+keycode 2 = one exclam plus one VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_one Meta_one Meta_one Meta_one
+keycode 3 = two at lcaron two nul nul nul nul Meta_two Meta_two Meta_two Meta_two
+keycode 4 = three numbersign scaron three Escape VoidSymbol Escape VoidSymbol Meta_three Meta_three Meta_three Meta_three Meta_three
+keycode 5 = four dollar ccaron four Control_backslash VoidSymbol Control_backslash VoidSymbol Meta_four Meta_four Meta_four Meta_four
+keycode 6 = five percent tcaron five Control_bracketright VoidSymbol Control_bracketright VoidSymbol Meta_five Meta_five Meta_five Meta_five
+keycode 7 = six asciicircum zcaron six Control_asciicircum VoidSymbol Control_asciicircum VoidSymbol Meta_six Meta_six Meta_six Meta_six
+keycode 8 = seven ampersand yacute seven Control_underscore VoidSymbol Control_underscore VoidSymbol Meta_seven Meta_seven Meta_seven Meta_seven
+keycode 9 = eight asterisk aacute eight Delete VoidSymbol Delete VoidSymbol Meta_eight Meta_eight Meta_eight Meta_eight
+keycode 10 = nine parenleft iacute nine VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_nine Meta_nine Meta_nine Meta_nine
+keycode 11 = zero parenright eacute zero VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_zero Meta_zero Meta_zero Meta_zero
+keycode 12 = minus underscore equal percent Control_underscore Control_underscore Control_underscore Control_underscore Meta_minus Meta_minus Meta_minus Meta_minus
+keycode 13 = equal plus dead_acute dead_circumflex VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_equal Meta_equal Meta_equal Meta_equal
+keycode 14 = Delete Delete Delete Delete VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Delete Meta_Delete Meta_Delete Meta_Delete
+keycode 15 = Tab Tab Tab Tab VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_Tab Meta_Tab Meta_Tab Meta_Tab
+keycode 26 = bracketleft braceleft uacute slash Escape VoidSymbol Escape VoidSymbol Meta_bracketleft Meta_bracketleft Meta_bracketleft Meta_bracketleft
+keycode 27 = bracketright braceright adiaeresis parenleft Control_bracketright VoidSymbol Control_bracketright VoidSymbol Meta_bracketright Meta_bracketright Meta_bracketright Meta_bracketright
+keycode 28 = Return
+altgr keycode 28 = Return
+alt keycode 28 = Meta_Control_m
+alt altgr keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 39 = semicolon colon ocircumflex quotedbl VoidSymbol VoidSymbol VoidSymbol VoidSymbol Meta_semicolon Meta_semicolon Meta_semicolon Meta_semicolon
+keycode 40 = apostrophe quotedbl 0xa7 exclam Control_g VoidSymbol Control_g VoidSymbol Meta_apostrophe Meta_apostrophe Meta_apostrophe Meta_apostrophe
+keycode 41 = grave asciitilde dead_diaeresis dead_circumflex nul VoidSymbol nul VoidSymbol Meta_grave VoidSymbol Meta_grave
+keycode 42 = Shift
+keycode 43 = backslash bar ncaron parenright Control_backslash VoidSymbol Control_backslash VoidSymbol Meta_backslash VoidSymbol Meta_backslash
+keycode 51 = comma less comma question
+alt keycode 51 = Meta_comma
+alt altgr keycode 51 = Meta_comma
+keycode 52 = period greater period colon Compose VoidSymbol Compose VoidSymbol Meta_period VoidSymbol Meta_period
+keycode 53 = slash question minus underscore Delete VoidSymbol Delete VoidSymbol Meta_slash VoidSymbol Meta_slash
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+keycode 56 = Alt
+keycode 57 = space space space space nul nul nul nul Meta_space Meta_space Meta_space Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 F1 F13 F1 VoidSymbol F1 VoidSymbol Console_1 VoidSymbol Console_1 VoidSymbol Console_1
+keycode 60 = F2 F14 F2 F14 F2 VoidSymbol F2 VoidSymbol Console_2 VoidSymbol Console_2 VoidSymbol Console_2
+keycode 61 = F3 F15 F3 F15 F3 VoidSymbol F3 VoidSymbol Console_3 VoidSymbol Console_3 VoidSymbol Console_3
+keycode 62 = F4 F16 F4 F15 F4 VoidSymbol F4 VoidSymbol Console_4 VoidSymbol Console_4 VoidSymbol Console_4
+keycode 63 = F5 F17 F5 F15 F5 VoidSymbol F5 VoidSymbol Console_5 VoidSymbol Console_5 VoidSymbol Console_5
+keycode 64 = F6 F18 F6 F15 F6 VoidSymbol F6 VoidSymbol Console_6 VoidSymbol Console_6 VoidSymbol Console_6
+keycode 65 = F7 F19 F7 F15 F7 VoidSymbol F7 VoidSymbol Console_7 VoidSymbol Console_7 VoidSymbol Console_7
+keycode 66 = F8 F20 F8 F15 F8 VoidSymbol F8 VoidSymbol Console_8 VoidSymbol Console_8 VoidSymbol Console_8
+keycode 67 = F9 F9 F9 F9 F9 VoidSymbol F9 VoidSymbol Console_9 VoidSymbol Console_9 VoidSymbol Console_9
+keycode 68 = F10 F10 F10 F10 F10 VoidSymbol F10 VoidSymbol Console_10 VoidSymbol Console_10 VoidSymbol Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+control keycode 70 = Show_State
+alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = KP_4
+alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = KP_1
+alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+alt keycode 82 = Ascii_0
+keycode 83 = KP_Period
+control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+alt keycode 86 = Meta_less
+keycode 87 = F11 F11 F11 F11 F11 VoidSymbol F11 VoidSymbol Console_11 VoidSymbol Console_11 VoidSymbol Console_11
+keycode 88 = F12 F12 F12 F12 F12 VoidSymbol F12 VoidSymbol Console_12 VoidSymbol Console_12 VoidSymbol Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+keycode 97 = Control
+keycode 98 = KP_Divide
+keycode 99 = Control_backslash
+control keycode 99 = Control_backslash
+alt keycode 99 = Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+keycode 104 = Prior
+shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ alt altgr keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ alt altgr keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+control alt keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = F17
+keycode 118 = KP_MinPlus
+keycode 119 = AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock AltGr_Lock
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+
+compose ',' 'A' to '¡'
+compose '/' 'L' to '£'
+compose '^' 'L' to '¥'
+compose '\'' 'S' to '¦'
+compose '^' 'S' to '©'
+compose ',' 'S' to 'ª'
+compose '^' 'T' to '«'
+compose '\'' 'Z' to '¬'
+compose '^' 'Z' to '®'
+compose '.' 'Z' to '¯'
+compose ',' 'a' to '±'
+compose '/' 'l' to '³'
+compose '^' 'l' to 'µ'
+compose '\'' 's' to '¶'
+compose '^' 's' to '¹'
+compose ',' 's' to 'º'
+compose '^' 't' to '»'
+compose '\'' 'z' to '¼'
+compose '^' 'z' to '¾'
+compose '.' 'z' to '¿'
+compose '\'' 'R' to 'À'
+compose '\'' 'A' to 'Á'
+compose '^' 'A' to 'Â'
+compose '^' 'A' to 'Ã'
+compose ':' 'A' to 'Ä'
+compose '"' 'A' to 'Ä'
+compose '\'' 'L' to 'Å'
+compose '\'' 'C' to 'Æ'
+compose ',' 'C' to 'Ç'
+compose '^' 'C' to 'È'
+compose '\'' 'E' to 'É'
+compose ',' 'E' to 'Ê'
+compose '"' 'E' to 'Ë'
+compose '^' 'E' to 'Ì'
+compose '\'' 'I' to 'Í'
+compose '^' 'I' to 'Î'
+compose '^' 'D' to 'Ï'
+compose '-' 'D' to 'Ð'
+compose '\'' 'N' to 'Ñ'
+compose '^' 'N' to 'Ò'
+compose '\'' 'O' to 'Ó'
+compose '^' 'O' to 'Ô'
+compose '"' 'O' to 'Õ'
+compose ':' 'O' to 'Ö'
+compose '^' 'R' to 'Ø'
+compose '^' 'U' to 'Ù'
+compose '\'' 'U' to 'Ú'
+compose '"' 'U' to 'Û'
+compose ':' 'U' to 'Ü'
+compose '\'' 'Y' to 'Ý'
+compose ',' 'T' to 'Þ'
+compose 's' 's' to 'ß'
+compose 'S' 'S' to 'ß'
+compose '\'' 'r' to 'à'
+compose '\'' 'a' to 'á'
+compose '^' 'a' to 'â'
+compose '^' 'a' to 'ã'
+compose ':' 'a' to 'ä'
+compose '"' 'a' to 'ä'
+compose '\'' 'l' to 'å'
+compose '\'' 'c' to 'æ'
+compose ',' 'c' to 'ç'
+compose '^' 'c' to 'è'
+compose '\'' 'e' to 'é'
+compose ',' 'e' to 'ê'
+compose ':' 'e' to 'ë'
+compose '^' 'e' to 'ì'
+compose '\'' 'i' to 'í'
+compose '^' 'e' to 'î'
+compose '^' 'd' to 'ï'
+compose '-' 'd' to 'ð'
+compose '\'' 'n' to 'ñ'
+compose '^' 'n' to 'ò'
+compose '\'' 'o' to 'ó'
+compose '^' 'o' to 'ô'
+compose ':' 'o' to 'õ'
+compose '"' 'o' to 'ö'
+compose '^' 'r' to 'ø'
+compose '^' 'u' to 'ù'
+compose '\'' 'u' to 'ú'
+compose '"' 'u' to 'û'
+compose ':' 'u' to 'ü'
+compose '\'' 'y' to 'ý'
+compose ',' 't' to 'þ'
diff --git a/keymaps/i386/qwertz/slovene.kmap b/keymaps/i386/qwertz/slovene.kmap
new file mode 100644
index 0000000..b35bfa8
--- /dev/null
+++ b/keymaps/i386/qwertz/slovene.kmap
@@ -0,0 +1,123 @@
+# From: Primoz Peterlin <peterlin@biofiz.mf.uni-lj.si>
+# Date: Tue, 10 Jan 95 22:22:55 MET
+#
+# Following is the Slovene keytable. You are free to include it
+# with the next release of kbd. BTW: Pavel Zaboj's ISO 8859-2
+# fonts have misplaced Rcaron at 0xEB in place of ediaeresis
+# (actually, I have only checked lat2-16).
+#
+charset "iso-8859-2"
+keymaps 0-2,4-6,8,10,12
+include "qwertz-layout"
+ altgr keycode 16 = backslash
+ altgr keycode 17 = bar
+ altgr keycode 33 = bracketleft
+ altgr keycode 34 = bracketright
+ altgr keycode 37 = lstroke
+ altgr keycode 38 = Lstroke
+ altgr keycode 47 = at
+ altgr keycode 48 = braceleft
+ altgr keycode 49 = braceright
+ altgr keycode 50 = section
+include "linux-with-alt-and-altgr.inc"
+ plain keycode 83 = KP_Comma
+include "euro.inc"
+strings as usual
+
+ keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+
+ keycode 2 = one exclam asciitilde
+ alt keycode 2 = Meta_one
+
+ keycode 3 = two quotedbl caron
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+
+ keycode 4 = three numbersign asciicircum
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+
+ keycode 5 = four dollar breve
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+
+ keycode 6 = five percent degree
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+
+ keycode 7 = six ampersand ogonek
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+
+ keycode 8 = seven slash grave
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+
+ keycode 9 = eight parenleft abovedot
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+
+ keycode 10 = nine parenright acute
+ alt keycode 10 = Meta_nine
+
+ keycode 11 = zero equal doubleacute
+ alt keycode 11 = Meta_zero
+
+ keycode 12 = apostrophe question diaeresis
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+control altgr keycode 12 = Control_backslash
+
+ keycode 13 = plus asterisk cedilla
+ alt keycode 13 = Meta_plus
+
+ keycode 14 = Delete Delete
+ control keycode 14 = Control_backslash # emacs UNDO
+ alt keycode 14 = Meta_Delete
+
+ keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+
+ keycode 26 = +scaron +Scaron division
+ keycode 27 = +dstroke +Dstroke multiplication
+
+ keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+
+ keycode 29 = Control
+
+ keycode 39 = +ccaron +Ccaron
+ keycode 40 = +cacute +Cacute ssharp
+
+ keycode 41 = cedilla diaeresis
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+
+ keycode 42 = Shift
+ keycode 43 = +zcaron +Zcaron currency
+
+ keycode 51 = comma semicolon
+ alt keycode 51 = Meta_comma
+
+ keycode 52 = period colon
+ alt keycode 52 = Meta_period
+
+ keycode 53 = minus underscore
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+shift control keycode 53 = Control_underscore
+
+ keycode 54 = Shift
+ keycode 56 = Alt
+
+ keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+
+ keycode 58 = Caps_Lock
+
+ keycode 86 = less greater
+ alt keycode 86 = Meta_less
+
+ keycode 97 = Control
diff --git a/keymaps/i386/qwertz/sr.kmap b/keymaps/i386/qwertz/sr.kmap
new file mode 100644
index 0000000..8edd2c0
--- /dev/null
+++ b/keymaps/i386/qwertz/sr.kmap
@@ -0,0 +1,367 @@
+# From Zoltan Csala <zcsala@iname.com>
+# Date: Sun, 6 Sep 1998 17:00:00 EST
+#
+# Following is the Serbian keytable. It is based on Slovenian
+# keyboard table made by Primoz Peterlin (see file
+# 'slovene.map.gz' in the same directory). There are also additional
+# comments.
+#
+keymaps 0-2,4-6,8,10,12
+charset "iso-8859-2"
+ keycode 0 =
+
+ keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+
+ keycode 2 = one exclam asciitilde
+ alt keycode 2 = Meta_one
+
+ keycode 3 = two quotedbl caron
+ control keycode 3 = nul
+ alt keycode 3 = Meta_two
+
+ keycode 4 = three numbersign asciicircum
+ control keycode 4 = Escape
+ alt keycode 4 = Meta_three
+
+ keycode 5 = four dollar breve
+ control keycode 5 = Control_backslash
+ alt keycode 5 = Meta_four
+
+ keycode 6 = five percent degree
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+
+ keycode 7 = six ampersand ogonek
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+
+ keycode 8 = seven slash grave
+ control keycode 8 = Control_underscore
+ alt keycode 8 = Meta_seven
+
+ keycode 9 = eight parenleft abovedot
+ control keycode 9 = Delete
+ alt keycode 9 = Meta_eight
+
+ keycode 10 = nine parenright acute
+ alt keycode 10 = Meta_nine
+
+ keycode 11 = zero equal doubleacute
+ alt keycode 11 = Meta_zero
+
+ keycode 12 = apostrophe question diaeresis
+ control keycode 12 = Control_underscore
+ alt keycode 12 = Meta_minus
+control altgr keycode 12 = Control_backslash
+
+ keycode 13 = plus asterisk cedilla
+ alt keycode 13 = Meta_plus
+
+ keycode 14 = Delete Delete
+ control keycode 14 = Control_backslash # emacs UNDO
+ alt keycode 14 = Meta_Delete
+
+ keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+
+ keycode 16 = +q +Q backslash
+ control keycode 16 = Control_q
+ alt keycode 16 = Meta_q
+altgr alt keycode 16 = Meta_backslash
+altgr control keycode 16 = Control_backslash
+
+ keycode 17 = +w +W bar
+ control keycode 17 = Control_w
+ alt keycode 17 = Meta_w
+
+ keycode 18 = e
+ keycode 19 = r
+ keycode 20 = t
+ keycode 21 = z
+ keycode 22 = u
+ keycode 23 = i
+ keycode 24 = o
+ keycode 25 = p
+
+ keycode 26 = +scaron +Scaron division
+ keycode 27 = +dstroke +Dstroke multiplication
+
+ keycode 28 = Return
+ alt keycode 28 = 0x080d
+
+ keycode 29 = Control
+
+ keycode 30 = a
+ keycode 31 = s
+ keycode 32 = d
+
+ keycode 33 = +f +F bracketleft
+ control keycode 33 = Control_f
+ alt keycode 33 = Meta_f
+
+ keycode 34 = +g +G bracketright
+ control keycode 34 = Control_g
+ alt keycode 34 = Meta_g
+
+ keycode 35 = h
+ keycode 36 = j
+
+ keycode 37 = +k +K lstroke
+ control keycode 37 = Control_k
+ alt keycode 37 = Meta_k
+
+ keycode 38 = +l +L Lstroke
+ control keycode 38 = Control_l
+ alt keycode 38 = Meta_l
+
+ keycode 39 = +ccaron +Ccaron
+ keycode 40 = +cacute +Cacute ssharp
+
+ keycode 41 = cedilla diaeresis
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+
+ keycode 42 = Shift
+ keycode 43 = +zcaron +Zcaron currency
+
+ keycode 44 = y
+ keycode 45 = x
+ keycode 46 = c
+
+ keycode 47 = +v +V at
+ control keycode 47 = Control_v
+ alt keycode 47 = Meta_v
+
+ keycode 48 = +b +B braceleft
+ control keycode 48 = Control_b
+ alt keycode 48 = Meta_b
+
+ keycode 49 = +n +N braceright
+ control keycode 49 = Control_n
+ alt keycode 49 = Meta_n
+
+ keycode 50 = +m +M section
+ control keycode 50 = Control_m
+ alt keycode 50 = Meta_m
+
+ keycode 51 = comma semicolon
+ alt keycode 51 = Meta_comma
+
+ keycode 52 = period colon
+ alt keycode 52 = Meta_period
+
+ keycode 53 = minus underscore
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+shift control keycode 53 = Control_underscore
+
+ keycode 54 = Shift
+ keycode 55 = KP_Multiply
+ keycode 56 = Alt
+
+ keycode 57 = space space
+ control keycode 57 = nul
+ alt keycode 57 = Meta_space
+
+ keycode 58 = Caps_Lock
+
+ keycode 59 = F1 F11 Console_13
+ control keycode 59 = F1
+ alt keycode 59 = Console_1
+control alt keycode 59 = Console_1
+
+ keycode 60 = F2 F12 Console_14
+ control keycode 60 = F2
+ alt keycode 60 = Console_2
+control alt keycode 60 = Console_2
+
+ keycode 61 = F3 F13 Console_15
+ control keycode 61 = F3
+ alt keycode 61 = Console_3
+control alt keycode 61 = Console_3
+
+ keycode 62 = F4 F14 Console_16
+ control keycode 62 = F4
+ alt keycode 62 = Console_4
+control alt keycode 62 = Console_4
+
+ keycode 63 = F5 F15 Console_17
+ control keycode 63 = F5
+ alt keycode 63 = Console_5
+control alt keycode 63 = Console_5
+
+ keycode 64 = F6 F16 Console_18
+ control keycode 64 = F6
+ alt keycode 64 = Console_6
+control alt keycode 64 = Console_6
+
+ keycode 65 = F7 F17 Console_19
+ control keycode 65 = F7
+ alt keycode 65 = Console_7
+control alt keycode 65 = Console_7
+
+ keycode 66 = F8 F18 Console_20
+ control keycode 66 = F8
+ alt keycode 66 = Console_8
+control alt keycode 66 = Console_8
+
+ keycode 67 = F9 F19 Console_21
+ control keycode 67 = F9
+ alt keycode 67 = Console_9
+control alt keycode 67 = Console_9
+
+ keycode 68 = F10 F20 Console_22
+ control keycode 68 = F10
+ alt keycode 68 = Console_10
+control alt keycode 68 = Console_10
+
+ keycode 69 = Num_Lock
+
+ keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+
+ keycode 71 = KP_7
+ alt keycode 71 = Ascii_7
+
+ keycode 72 = KP_8
+ alt keycode 72 = Ascii_8
+
+ keycode 73 = KP_9
+ alt keycode 73 = Ascii_9
+
+ keycode 74 = KP_Subtract
+
+ keycode 75 = KP_4
+ alt keycode 75 = Ascii_4
+
+ keycode 76 = KP_5
+ alt keycode 76 = Ascii_5
+
+ keycode 77 = KP_6
+ alt keycode 77 = Ascii_6
+
+ keycode 78 = KP_Add
+
+ keycode 79 = KP_1
+ alt keycode 79 = Ascii_1
+
+ keycode 80 = KP_2
+ alt keycode 80 = Ascii_2
+
+ keycode 81 = KP_3
+ alt keycode 81 = Ascii_3
+
+ keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+
+ keycode 83 = KP_Comma
+altgr control keycode 83 = Boot
+control alt keycode 83 = Boot
+
+ keycode 84 = Last_Console
+
+ keycode 85 =
+
+ keycode 86 = less greater
+ alt keycode 86 = Meta_less
+
+ keycode 87 = F11 F11 Console_23
+ control keycode 87 = F11
+ alt keycode 87 = Console_11
+control alt keycode 87 = Console_11
+
+ keycode 88 = F12 F12 Console_24
+ control keycode 88 = F12
+ alt keycode 88 = Console_12
+control alt keycode 88 = Console_12
+
+ keycode 89 =
+ keycode 90 =
+ keycode 91 =
+ keycode 92 =
+ keycode 93 =
+ keycode 94 =
+ keycode 95 =
+ keycode 96 = KP_Enter
+ keycode 97 = Control
+ keycode 98 = KP_Divide
+
+ keycode 99 = Control_backslash
+ control keycode 99 = Control_backslash
+ alt keycode 99 = Control_backslash
+
+ keycode 100 = AltGr
+ keycode 101 = Break
+ keycode 102 = Find
+ keycode 103 = Up
+
+ keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+
+ keycode 105 = Left
+ alt keycode 105 = Decr_Console
+ keycode 106 = Right
+ alt keycode 106 = Incr_Console
+ keycode 107 = Select
+ keycode 108 = Down
+
+ keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+
+ keycode 110 = Insert
+
+ keycode 111 = Remove
+altgr control keycode 111 = Boot
+control alt keycode 111 = Boot
+
+ keycode 112 =
+ keycode 113 =
+ keycode 114 =
+ keycode 115 =
+ keycode 116 =
+ keycode 117 =
+ keycode 118 =
+ keycode 119 =
+ keycode 120 =
+ keycode 121 =
+ keycode 122 =
+ keycode 123 =
+ keycode 124 =
+ keycode 125 =
+ keycode 126 =
+ keycode 127 =
+
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string F21 = ""
+string F22 = ""
+string F23 = ""
+string F24 = ""
+string F25 = ""
+string F26 = ""
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
diff --git a/keymaps/include/compose.8859_7.inc b/keymaps/include/compose.8859_7.inc
new file mode 100644
index 0000000..bcb3db0
--- /dev/null
+++ b/keymaps/include/compose.8859_7.inc
@@ -0,0 +1,24 @@
+# tonos and dialitika
+compose '^' 'é' to 'À'
+compose '^' 'õ' to 'à'
+# tonos
+compose '\'' 'Á' to '¶'
+compose '\'' 'Å' to '¸'
+compose '\'' 'Ç' to '¹'
+compose '\'' 'É' to 'º'
+compose '\'' 'Ï' to '¼'
+compose '\'' 'Ù' to '¿'
+compose '\'' 'Õ' to '¾'
+compose '\'' 'á' to 'Ü'
+compose '\'' 'å' to 'Ý'
+compose '\'' 'ç' to 'Þ'
+compose '\'' 'é' to 'ß'
+compose '\'' 'ï' to 'ü'
+compose '\'' 'õ' to 'ý'
+compose '\'' 'ù' to 'þ'
+# dialitika
+compose '"' 'É' to 'Ú'
+compose '"' 'Õ' to 'Û'
+compose '"' 'é' to 'ú'
+compose '"' 'õ' to 'û'
+
diff --git a/keymaps/include/compose.8859_8.inc b/keymaps/include/compose.8859_8.inc
new file mode 100644
index 0000000..3ac8f7a
--- /dev/null
+++ b/keymaps/include/compose.8859_8.inc
@@ -0,0 +1 @@
+compose 'c' 'h' to 'ç'
diff --git a/keymaps/include/compose.latin.inc b/keymaps/include/compose.latin.inc
new file mode 100644
index 0000000..9ea95aa
--- /dev/null
+++ b/keymaps/include/compose.latin.inc
@@ -0,0 +1,255 @@
+# Those compose lines can be shared between latin1, 2 and 3. They give good
+# results.
+compose '!' '!' to '¡'
+compose '"' 'A' to 'Ä'
+compose '"' 'E' to 'Ë'
+compose '"' 'I' to 'Ï'
+compose '"' 'O' to 'Ö'
+compose '"' 'U' to 'Ü'
+compose '"' 'Y' to '¾'
+compose '"' 'a' to 'ä'
+compose '"' 'c' to '©'
+compose '"' 'e' to 'ë'
+compose '"' 'i' to 'ï'
+compose '"' 'o' to 'ö'
+compose '"' 'r' to '®'
+compose '"' 'u' to 'ü'
+compose '"' 'y' to 'ÿ'
+compose '(' 'c' to '©'
+compose '(' 'r' to '®'
+compose '+' '-' to '±'
+compose ',' 'A' to '¡'
+compose ',' 'C' to 'Ç'
+compose ',' 'E' to 'Ê'
+compose ',' 'G' to '«'
+compose ',' 'I' to 'Ç'
+compose ',' 'K' to 'Ó'
+compose ',' 'L' to '¦'
+compose ',' 'N' to 'Ñ'
+compose ',' 'R' to '£'
+compose ',' 'S' to 'ª'
+compose ',' 'T' to 'Þ'
+compose ',' 'U' to 'Ù'
+compose ',' 'a' to '±'
+compose ',' 'c' to 'ç'
+compose ',' 'e' to 'ê'
+compose ',' 'g' to '»'
+compose ',' 'i' to 'ç'
+compose ',' 'k' to 'ó'
+compose ',' 'l' to '¶'
+compose ',' 'n' to 'ñ'
+compose ',' 'r' to '³'
+compose ',' 's' to 'º'
+compose ',' 't' to 'þ'
+compose ',' 'u' to 'ù'
+compose '-' ':' to '÷'
+compose '-' 'A' to 'ª'
+compose '-' 'C' to '¢'
+compose '-' 'D' to 'Ð'
+compose '-' 'E' to '¤'
+compose '-' 'H' to '¡'
+compose '-' 'L' to '£'
+compose '-' 'O' to 'º'
+compose '-' 'T' to '¬'
+compose '-' 'Y' to '¥'
+compose '-' 'a' to 'ª'
+compose '-' 'c' to '¢'
+compose '-' 'd' to 'ð'
+compose '-' 'e' to '¤'
+compose '-' 'h' to '±'
+compose '-' 'l' to '£'
+compose '-' 'l' to '¥'
+compose '-' 'l' to '³'
+compose '-' 'o' to 'º'
+compose '-' 't' to '¼'
+compose '.' '.' to '·'
+compose '.' 'C' to 'Å'
+compose '.' 'C' to 'Õ'
+compose '.' 'E' to 'Ì'
+compose '.' 'I' to '©'
+compose '.' 'Z' to '¯'
+compose '.' 'c' to 'å'
+compose '.' 'c' to 'õ'
+compose '.' 'e' to 'ì'
+compose '.' 'i' to '¹'
+compose '.' 'z' to '¿'
+compose '/' 'D' to 'Ð'
+compose '/' 'L' to '£'
+compose '/' 'O' to 'Ø'
+compose '/' 'T' to '¬'
+compose '/' 'c' to '¢'
+compose '/' 'd' to 'ð'
+compose '/' 'l' to '³'
+compose '/' 'o' to 'ø'
+compose '/' 't' to '¼'
+compose '0' 'A' to 'Å'
+compose '0' 'U' to 'Ù'
+compose '0' 'a' to 'å'
+compose '0' 'u' to 'ù'
+compose '1' '2' to '½'
+compose '1' '4' to '¼'
+compose '3' '4' to '¾'
+compose ':' '-' to '÷'
+compose ':' 'A' to 'Ä'
+compose ':' 'E' to 'Ë'
+compose ':' 'O' to 'Ö'
+compose ':' 'U' to 'Ü'
+compose ':' 'a' to 'ä'
+compose ':' 'e' to 'ë'
+compose ':' 'o' to 'ö'
+compose ':' 'u' to 'ü'
+compose '<' '<' to '«'
+compose '>' '>' to '»'
+compose '?' '?' to '¿'
+compose 'A' 'A' to 'Å'
+compose 'A' 'E' to 'Æ'
+compose 'I' 'J' to '¾'
+compose 'L' '=' to '£'
+compose 'N' 'G' to '½'
+compose 'N' 'H' to 'Ñ'
+compose 'N' 'N' to 'Ñ'
+compose 'N' 'Y' to 'Ñ'
+compose 'N' 'h' to 'Ñ'
+compose 'N' 'n' to 'Ñ'
+compose 'N' 'y' to 'Ñ'
+compose 'O' 'A' to 'Å'
+compose 'O' 'E' to '¼'
+compose 'O' 'e' to '¼'
+compose 'T' 'H' to 'Þ'
+compose 'U' 'U' to 'Ù'
+compose 'Y' '=' to '¥'
+compose '\'' 'A' to 'Á'
+compose '\'' 'C' to 'Æ'
+compose '\'' 'E' to 'É'
+compose '\'' 'I' to 'Í'
+compose '\'' 'L' to 'Å'
+compose '\'' 'N' to 'Ñ'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'R' to 'À'
+compose '\'' 'S' to '¦'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'Z' to '¬'
+compose '\'' 'a' to 'á'
+compose '\'' 'c' to 'æ'
+compose '\'' 'e' to 'é'
+compose '\'' 'i' to 'í'
+compose '\'' 'l' to 'å'
+compose '\'' 'n' to 'ñ'
+compose '\'' 'o' to 'ó'
+compose '\'' 'r' to 'à'
+compose '\'' 's' to '¶'
+compose '\'' 'u' to 'ú'
+compose '\'' 'y' to 'ý'
+compose '\'' 'z' to '¼'
+compose '^' '!' to '¡'
+compose '^' '*' to '×'
+compose '^' '.' to '·'
+compose '^' '/' to '÷'
+compose '^' '1' to '¹'
+compose '^' '2' to '²'
+compose '^' '3' to '³'
+compose '^' ':' to '÷'
+compose '^' '?' to '¿'
+compose '^' 'A' to 'Â'
+#compose '^' 'C' to 'Æ'
+compose '^' 'C' to 'Ç'
+#compose '^' 'C' to 'È'
+#compose '^' 'D' to 'Ï'
+compose '^' 'D' to 'Ð'
+compose '^' 'E' to 'Ê'
+#compose '^' 'E' to 'Ì'
+compose '^' 'G' to 'Ô'
+compose '^' 'H' to '¦'
+compose '^' 'I' to 'Î'
+compose '^' 'J' to '¬'
+compose '^' 'L' to '¥'
+compose '^' 'N' to 'Ñ'
+#compose '^' 'N' to 'Ò'
+#compose '^' 'O' to 'Ô'
+#compose '^' 'O' to 'Ø'
+compose '^' 'R' to 'Ø'
+compose '^' 'S' to '¦'
+#compose '^' 'S' to '©'
+#compose '^' 'S' to 'Þ'
+compose '^' 'T' to '«'
+compose '^' 'U' to 'Û'
+#compose '^' 'Z' to '®'
+compose '^' 'Z' to '´'
+compose '^' 'a' to 'â'
+#compose '^' 'c' to 'æ'
+compose '^' 'c' to 'ç'
+#compose '^' 'c' to 'è'
+#compose '^' 'd' to 'ï'
+compose '^' 'd' to 'ð'
+compose '^' 'e' to 'ê'
+#compose '^' 'e' to 'ì'
+compose '^' 'g' to 'ø'
+compose '^' 'h' to '¶'
+compose '^' 'i' to 'î'
+compose '^' 'j' to '¼'
+compose '^' 'l' to 'µ'
+compose '^' 'n' to 'ñ'
+#compose '^' 'n' to 'ò'
+compose '^' 'o' to 'ô'
+compose '^' 'r' to 'ø'
+compose '^' 's' to '¨'
+#compose '^' 's' to '¹'
+#compose '^' 's' to 'þ'
+compose '^' 't' to '»'
+compose '^' 'u' to 'û'
+compose '^' 'x' to '×'
+compose '^' 'z' to '¸'
+#compose '^' 'z' to '¾'
+compose '`' 'A' to 'À'
+#compose '`' 'E' to 'ª'
+compose '`' 'E' to 'È'
+compose '`' 'I' to 'Ì'
+#compose '`' 'I' to 'Ï'
+compose '`' 'O' to 'Ò'
+compose '`' 'U' to 'Ù'
+#compose '`' 'U' to 'Þ'
+compose '`' 'a' to 'à'
+#compose '`' 'e' to 'º'
+compose '`' 'e' to 'è'
+compose '`' 'i' to 'ì'
+#compose '`' 'i' to 'ï'
+compose '`' 'o' to 'ò'
+#compose '`' 'u' to 'ò'
+compose '`' 'u' to 'ù'
+#compose '`' 'u' to 'þ'
+compose 'a' 'a' to 'å'
+compose 'a' 'e' to 'æ'
+compose 'c' '/' to '¢'
+compose 'c' '=' to '¢'
+compose 'e' '=' to '¤'
+compose 'i' 'j' to 'ÿ'
+compose 'm' 'u' to 'µ'
+compose 'n' 'g' to '¿'
+compose 'n' 'h' to 'ñ'
+compose 'n' 'n' to 'ñ'
+compose 'o' 'a' to 'å'
+compose 'o' 'e' to '½'
+compose 's' 's' to 'ß'
+compose 's' 'z' to 'ß'
+compose 't' 'h' to 'þ'
+compose 'u' 'u' to 'ù'
+compose 'v' 'S' to '¦'
+compose 'v' 'Z' to '´'
+compose 'v' 's' to '¨'
+compose 'v' 'z' to '¸'
+compose 'x' 'x' to '×'
+compose '~' 'A' to 'Ã'
+compose '~' 'G' to '«'
+compose '~' 'I' to '¥'
+compose '~' 'N' to 'Ñ'
+compose '~' 'O' to 'Õ'
+#compose '~' 'U' to 'Û'
+compose '~' 'U' to 'Ý'
+compose '~' 'a' to 'ã'
+compose '~' 'g' to '»'
+compose '~' 'i' to 'µ'
+compose '~' 'n' to 'ñ'
+compose '~' 'o' to 'õ'
+#compose '~' 'u' to 'û'
+compose '~' 'u' to 'ý'
diff --git a/keymaps/include/compose.latin1.inc b/keymaps/include/compose.latin1.inc
new file mode 100644
index 0000000..e58733b
--- /dev/null
+++ b/keymaps/include/compose.latin1.inc
@@ -0,0 +1,161 @@
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose '-' 'a' to 'ª'
+compose '-' 'A' to 'ª'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose '°' 'A' to 'Å'
+compose '°' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '^' 'C' to 'Ç'
+compose '^' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '^' 'D' to 'Ð'
+compose '^' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '^' 'N' to 'Ñ'
+compose '^' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '-' 'o' to 'º'
+compose '-' 'O' to 'º'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose '"' 'y' to 'ÿ'
+compose 's' 'z' to 'ß'
+compose 'n' 'n' to 'ñ'
+compose 'n' 'h' to 'ñ'
+compose 'N' 'Y' to 'Ñ'
+compose 'N' 'N' to 'Ñ'
+compose 'N' 'H' to 'Ñ'
+compose 'N' 'y' to 'Ñ'
+compose 'N' 'n' to 'Ñ'
+compose 'N' 'h' to 'Ñ'
+compose '-' 'L' to '£'
+compose '<' '<' to '«'
+compose '>' '>' to '»'
+compose '?' '?' to '¿'
+compose '^' '?' to '¿'
+compose '!' '!' to '¡'
+compose '^' '!' to '¡'
+compose '^' '1' to '¹'
+compose '^' '2' to '²'
+compose '^' '3' to '³'
+compose '+' '-' to '±'
+compose 'c' '=' to '¢'
+compose 'c' '/' to '¢'
+compose '/' 'c' to '¢'
+compose '-' 'c' to '¢'
+compose '-' 'C' to '¢'
+compose 'L' '=' to '£'
+compose '-' 'L' to '£'
+compose '-' 'l' to '£'
+compose '^' '*' to '×'
+compose '^' 'x' to '×'
+compose 'x' 'x' to '×'
+compose '^' '.' to '·'
+compose '.' '.' to '·'
+compose '^' '/' to '÷'
+compose '^' ':' to '÷'
+compose '-' ':' to '÷'
+compose ':' '-' to '÷'
+# ¤
+compose 'Y' '=' to '¥'
+compose '-' 'Y' to '¥'
+compose '-' 'l' to '¥'
+# ¦§¨
+compose '(' 'c' to '©'
+compose '"' 'c' to '©'
+compose '-' 'a' to 'ª'
+compose '-' 'A' to 'ª'
+compose '-' 'o' to 'º'
+compose '-' 'O' to 'º'
+# ¬­
+compose '(' 'r' to '®'
+compose '"' 'r' to '®'
+# ¯°´
+compose 'm' 'u' to 'µ'
+# ¶·
+# conflict whith iso-8859-15
+#compose ',' ',' to '¸'
+#compose ',' ' ' to '¸'
+compose '1' '4' to '¼'
+compose '1' '2' to '½'
+compose '3' '4' to '¾'
+# iso-8859-15
+# euro
+compose 'e' '=' to '¤'
+compose '-' 'e' to '¤'
+compose '-' 'E' to '¤'
+# S< s< Z< z<
+compose 'v' 'S' to '¦'
+compose '^' 'S' to '¦'
+compose 'v' 's' to '¨'
+compose '^' 's' to '¨'
+compose 'v' 'Z' to '´'
+compose '^' 'Z' to '´'
+compose 'v' 'z' to '¸'
+compose '^' 'z' to '¸'
+# OE oe Y:
+compose 'O' 'E' to '¼'
+compose 'O' 'e' to '¼'
+compose 'o' 'e' to '½'
+compose '"' 'Y' to '¾'
+# those are in fact wrong
+# the symbols are LATIN Y WHITH DIAERESIS and not LATIN LIGATURE IJ
+compose 'i' 'j' to 'ÿ'
+compose 'I' 'J' to '¾'
diff --git a/keymaps/include/compose.latin2.inc b/keymaps/include/compose.latin2.inc
new file mode 100644
index 0000000..1fd2e6b
--- /dev/null
+++ b/keymaps/include/compose.latin2.inc
@@ -0,0 +1,146 @@
+# as dead_ogonek, dead_caron, dead_breve and dead_doubleacute doesn't exist
+# (yet), I put also compose lines for use with respectively dead_cedilla,
+# dead_circumflex, dead_tilde and dead_tilde
+compose '²' 'A' to '¡'
+compose '²' 'a' to '±'
+compose '²' 'e' to 'ê'
+compose '²' 'E' to 'Ê'
+compose ',' 'A' to '¡'
+compose ',' 'a' to '±'
+compose ',' 'e' to 'ê'
+compose ',' 'E' to 'Ê'
+compose ',' 'S' to 'ª'
+compose ',' 's' to 'º'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose ',' 'T' to 'Þ'
+compose ',' 't' to 'þ'
+compose '¢' 'a' to 'ã'
+compose '¢' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '~' 'A' to 'Ã'
+compose '-' 'l' to '³'
+compose '-' 'L' to '£'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '/' 'l' to '³'
+compose '/' 'L' to '£'
+compose '/' 'D' to 'Ð'
+compose '/' 'd' to 'ð'
+compose '\'' 's' to '¶'
+compose '\'' 'S' to '¦'
+compose '\'' 'z' to '¼'
+compose '\'' 'Z' to '¬'
+compose '\'' 'r' to 'à'
+compose '\'' 'R' to 'À'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '\'' 'l' to 'å'
+compose '\'' 'L' to 'Å'
+compose '\'' 'c' to 'æ'
+compose '\'' 'C' to 'Æ'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '\'' 'n' to 'ñ'
+compose '\'' 'N' to 'Ñ'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose '"' 'a' to 'ä'
+compose '"' 'A' to 'Ä'
+compose '"' 'e' to 'ë'
+compose '"' 'E' to 'Ë'
+compose '"' 'o' to 'ö'
+compose '"' 'O' to 'Ö'
+compose '"' 'u' to 'ü'
+compose '"' 'U' to 'Ü'
+compose '·' 'l' to 'µ'
+compose '·' 'L' to '¥'
+compose '·' 'S' to '©'
+compose '·' 's' to '¹'
+compose '·' 'T' to '«'
+compose '·' 't' to '»'
+compose '·' 'Z' to '®'
+compose '·' 'z' to '¾'
+compose '·' 'C' to 'È'
+compose '·' 'c' to 'è'
+compose '·' 'e' to 'ì'
+compose '·' 'E' to 'Ì'
+compose '·' 'D' to 'Ï'
+compose '·' 'd' to 'ï'
+compose '·' 'N' to 'Ò'
+compose '·' 'n' to 'ò'
+compose '·' 'R' to 'Ø'
+compose '·' 'r' to 'ø'
+compose 'ÿ' 'Z' to '¯'
+compose 'ÿ' 'z' to '¿'
+compose '.' 'Z' to '¯'
+compose '.' 'z' to '¿'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '^' 'l' to 'µ'
+compose '^' 'L' to '¥'
+compose '^' 'S' to '©'
+compose '^' 's' to '¹'
+compose '^' 'T' to '«'
+compose '^' 't' to '»'
+compose '^' 'Z' to '®'
+compose '^' 'z' to '¾'
+compose '^' 'C' to 'È'
+compose '^' 'c' to 'è'
+compose '^' 'e' to 'ì'
+compose '^' 'E' to 'Ì'
+compose '^' 'D' to 'Ï'
+compose '^' 'd' to 'ï'
+compose '^' 'N' to 'Ò'
+compose '^' 'n' to 'ò'
+compose '^' 'R' to 'Ø'
+compose '^' 'r' to 'ø'
+compose '½' 'O' to 'Õ'
+compose '½' 'o' to 'õ'
+compose '½' 'U' to 'Û'
+compose '½' 'u' to 'û'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '~' 'U' to 'Û'
+compose '~' 'u' to 'û'
+compose 's' 's' to 'ß'
+compose 's' 'z' to 'ß'
+compose '-' 'L' to '£'
+compose '-' 'l' to '³'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '°' 'U' to 'Ù'
+compose '°' 'u' to 'ù'
+compose '0' 'U' to 'Ù'
+compose '0' 'u' to 'ù'
+compose 'U' 'U' to 'Ù'
+compose 'u' 'u' to 'ù'
+compose ':' 'A' to 'Ä'
+compose ':' 'E' to 'Ë'
+compose ':' 'O' to 'Ö'
+compose ':' 'U' to 'Ü'
+compose ':' 'a' to 'ä'
+compose ':' 'e' to 'ë'
+compose ':' 'o' to 'ö'
+compose ':' 'u' to 'ü'
+#
+compose '^' '*' to '×'
+compose '^' 'x' to '×'
+compose 'x' 'x' to '×'
+compose '^' '.' to '·'
+compose '.' '.' to '·'
+compose '^' '/' to '÷'
+compose '^' ':' to '÷'
+compose '-' ':' to '÷'
+compose ':' '-' to '÷'
+
diff --git a/keymaps/include/compose.latin3.inc b/keymaps/include/compose.latin3.inc
new file mode 100644
index 0000000..34a92d3
--- /dev/null
+++ b/keymaps/include/compose.latin3.inc
@@ -0,0 +1,90 @@
+compose '-' 'H' to '¡'
+compose '-' 'h' to '±'
+compose '^' 'h' to '¶'
+compose '^' 'H' to '¦'
+compose '^' 'j' to '¼'
+compose '^' 'J' to '¬'
+compose '^' 'a' to 'â'
+compose '^' 'A' to 'Â'
+compose '^' 'c' to 'æ'
+compose '^' 'C' to 'Æ'
+compose '^' 'e' to 'ê'
+compose '^' 'E' to 'Ê'
+compose '^' 'o' to 'ô'
+compose '^' 'O' to 'Ø'
+compose '^' 'g' to 'ø'
+compose '^' 'G' to 'Ô'
+compose '^' 'u' to 'û'
+compose '^' 'U' to 'Û'
+compose '^' 'S' to 'Þ'
+compose '^' 's' to 'þ'
+compose 'ÿ' 'i' to '¹'
+compose 'ÿ' 'I' to '©'
+compose 'ÿ' 'c' to 'å'
+compose 'ÿ' 'C' to 'Å'
+compose 'ÿ' 'c' to 'õ'
+compose 'ÿ' 'C' to 'Õ'
+compose '.' 'i' to '¹'
+compose '.' 'I' to '©'
+compose '.' 'c' to 'å'
+compose '.' 'C' to 'Å'
+compose '.' 'c' to 'õ'
+compose '.' 'C' to 'Õ'
+compose '¢' 'U' to 'Ý'
+compose '¢' 'u' to 'ý'
+compose '¢' 'G' to '«'
+compose '¢' 'g' to '»'
+compose '~' 'U' to 'Ý'
+compose '~' 'u' to 'ý'
+compose '~' 'G' to '«'
+compose '~' 'g' to '»'
+compose '`' 'a' to 'à'
+compose '`' 'A' to 'À'
+compose '`' 'e' to 'è'
+compose '`' 'E' to 'È'
+compose '`' 'i' to 'ì'
+compose '`' 'I' to 'Ì'
+compose '`' 'u' to 'ò'
+compose '`' 'O' to 'Ò'
+compose '`' 'u' to 'ù'
+compose '`' 'U' to 'Ù'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '"' 'a' to 'ä'
+compose '"' 'A' to 'Ä'
+compose '"' 'e' to 'ë'
+compose '"' 'E' to 'Ë'
+compose '"' 'o' to 'ö'
+compose '"' 'O' to 'Ö'
+compose '"' 'u' to 'ü'
+compose '"' 'U' to 'Ü'
+compose ',' 'S' to 'ª'
+compose ',' 's' to 'º'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '-' 'L' to '£'
+compose '~' 'n' to 'ñ'
+compose '~' 'N' to 'Ñ'
+compose '¢' 'n' to 'ñ'
+compose '¢' 'N' to 'Ñ'
+compose 's' 's' to 'ß'
+compose 's' 'z' to 'ß'
+#
+compose '^' '*' to '×'
+compose '^' 'x' to '×'
+compose 'x' 'x' to '×'
+compose '^' '.' to '·'
+compose '.' '.' to '·'
+compose '^' '/' to '÷'
+compose '^' ':' to '÷'
+compose '-' ':' to '÷'
+compose ':' '-' to '÷'
+
diff --git a/keymaps/include/compose.latin4.inc b/keymaps/include/compose.latin4.inc
new file mode 100644
index 0000000..8c32d2b
--- /dev/null
+++ b/keymaps/include/compose.latin4.inc
@@ -0,0 +1,122 @@
+# as dead_ogonek, dead_caron, dead_breve and dead_doubleacute doesn't exist
+# (yet), I put also compose lines for use with respectively dead_cedilla,
+# dead_circumflex, dead_tilde and dead_tilde
+compose '²' 'A' to '¡'
+compose '²' 'a' to '±'
+compose '²' 'e' to 'ê'
+compose '²' 'E' to 'Ê'
+compose '²' 'U' to 'Ù'
+compose '²' 'u' to 'ù'
+compose '²' 'I' to 'Ç'
+compose '²' 'i' to 'ç'
+compose ',' 'A' to '¡'
+compose ',' 'a' to '±'
+compose ',' 'e' to 'ê'
+compose ',' 'E' to 'Ê'
+compose ',' 'U' to 'Ù'
+compose ',' 'u' to 'ù'
+compose ',' 'I' to 'Ç'
+compose ',' 'i' to 'ç'
+compose ',' 'R' to '£'
+compose ',' 'r' to '³'
+compose ',' 'n' to 'ñ'
+compose ',' 'N' to 'Ñ'
+compose ',' 'K' to 'Ó'
+compose ',' 'k' to 'ó'
+compose ',' 'l' to '¶'
+compose ',' 'L' to '¦'
+compose ',' 'G' to '«'
+compose ',' 'g' to '»'
+compose '`' 'a' to 'à'
+compose '`' 'A' to 'À'
+compose '`' 'E' to 'ª'
+compose '`' 'e' to 'º'
+compose '`' 'U' to 'Þ'
+compose '`' 'u' to 'þ'
+compose '`' 'I' to 'Ï'
+compose '`' 'i' to 'ï'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '-' 't' to '¼'
+compose '-' 'T' to '¬'
+compose '/' 'D' to 'Ð'
+compose '/' 'd' to 'ð'
+compose '/' 't' to '¼'
+compose '/' 'T' to '¬'
+compose '~' 'a' to 'ã'
+compose '~' 'A' to 'Ã'
+compose '~' 'i' to 'µ'
+compose '~' 'I' to '¥'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '~' 'U' to 'Ý'
+compose '~' 'u' to 'ý'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose 'a' 'e' to 'æ'
+compose 'A' 'E' to 'Æ'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '"' 'a' to 'ä'
+compose '"' 'A' to 'Ä'
+compose '"' 'e' to 'ë'
+compose '"' 'E' to 'Ë'
+compose '"' 'o' to 'ö'
+compose '"' 'O' to 'Ö'
+compose '"' 'u' to 'ü'
+compose '"' 'U' to 'Ü'
+compose '·' 'S' to '©'
+compose '·' 's' to '¹'
+compose '·' 'Z' to '®'
+compose '·' 'z' to '¾'
+compose '·' 'C' to 'È'
+compose '·' 'c' to 'è'
+compose '^' 'S' to '©'
+compose '^' 's' to '¹'
+compose '^' 'Z' to '®'
+compose '^' 'z' to '¾'
+compose '^' 'C' to 'È'
+compose '^' 'c' to 'è'
+compose '·' 'e' to 'ì'
+compose '·' 'E' to 'Ì'
+compose '.' 'e' to 'ì'
+compose '.' 'E' to 'Ì'
+compose 'ÿ' 'e' to 'ì'
+compose 'ÿ' 'E' to 'Ì'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose 'N' 'G' to '½'
+compose 'n' 'g' to '¿'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose 's' 's' to 'ß'
+compose 's' 'z' to 'ß'
+#
+compose '^' '*' to '×'
+compose '^' 'x' to '×'
+compose 'x' 'x' to '×'
+compose '^' '.' to '·'
+compose '.' '.' to '·'
+compose '^' '/' to '÷'
+compose '^' ':' to '÷'
+compose '-' ':' to '÷'
+compose ':' '-' to '÷'
+
diff --git a/keymaps/include/sun-uk.inc b/keymaps/include/sun-uk.inc
new file mode 100644
index 0000000..b329cea
--- /dev/null
+++ b/keymaps/include/sun-uk.inc
@@ -0,0 +1,64 @@
+# UK Sun keyboard mapping, common to type 5 and 6, at least.
+# Also contains some bindings for common Emacs chords which are missing
+# from the default map. Doubtless more should be added.
+# Dave Love <d.love@dl.ac.uk> 2002-09-26
+# Public domain.
+
+# These are the UK-specifics:
+keycode 31 = two quotedbl at
+ alt keycode 31 = Meta_two
+keycode 32 = three sterling
+ control keycode 32 = Escape
+ alt keycode 32 = Meta_three
+keycode 87 = apostrophe at
+ control keycode 87 = Control_g
+ alt keycode 87 = Meta_apostrophe
+keycode 88 = numbersign asciitilde
+ control keycode 88 = Control_backslash
+ alt keycode 88 = Meta_backslash
+ shift alt keycode 88 = Meta_asciitilde
+keycode 102 = +c +C cent Control_c Control_c Control_c Meta_c Meta_C Meta_Control_c
+keycode 124 = backslash bar bar Control_backslash
+ alt keycode 124 = Meta_backslash
+ shift alt keycode 124 = Meta_bar
+ control alt keycode 124 = Meta_Control_backslash
+
+# The useful general additions:
+keycode 30 = one exclam
+ alt keycode 30 = Meta_one
+ shift alt keycode 30 = Meta_exclam
+keycode 33 = four dollar dollar Control_backslash
+ alt keycode 33 = Meta_four
+ shift alt keycode 33 = Meta_dollar
+keycode 34 = five percent
+ control keycode 34 = Control_bracketright
+ alt keycode 34 = Meta_five
+ shift alt keycode 34 = Meta_percent
+keycode 35 = six asciicircum
+ control keycode 35 = Control_asciicircum
+ alt keycode 35 = Meta_six
+ shift alt keycode 35 = Meta_asciicircum
+keycode 36 = seven ampersand braceleft Control_underscore
+ alt keycode 36 = Meta_seven
+ shift alt keycode 36 = Meta_ampersand
+keycode 37 = eight asterisk bracketleft Delete
+ alt keycode 37 = Meta_eight
+ shift alt keycode 37 = Meta_asterisk
+keycode 38 = nine parenleft bracketright
+ alt keycode 38 = Meta_nine
+ shift alt keycode 38 = Meta_parenleft
+keycode 39 = zero parenright braceright
+ alt keycode 39 = Meta_zero
+ shift alt keycode 39 = Meta_parenright
+keycode 41 = equal plus
+ alt keycode 41 = Meta_equal
+ shift alt keycode 41 = Meta_plus
+keycode 107 = comma less
+ alt keycode 107 = Meta_comma
+ shift alt keycode 107 = Meta_less
+keycode 108 = period greater
+ control keycode 108 = Compose
+ alt keycode 108 = Meta_period
+ shift alt keycode 108 = Meta_greater
+keycode 120 = Alt
+keycode 122 = Alt
diff --git a/keymaps/include/vim-compose.latin1.inc b/keymaps/include/vim-compose.latin1.inc
new file mode 100644
index 0000000..19abd3b
--- /dev/null
+++ b/keymaps/include/vim-compose.latin1.inc
@@ -0,0 +1,190 @@
+# Compose ISO-8859-1 characters following vim's digraphs
+# (based on the "Default digraphs on non-MS-DOS, non-Win32 machines" table
+# (":help digraph_table") of vim 4.6.
+# To follow vim's behaviour, we need to give each combination twice
+# (both char1 char2 and char2 char1) (":help i_digraph": "If a digraph with
+# {char1}{char2} does not exist, a digraph {char2}{char1} is searched for.
+# This will help when you don't remember which character comes first.")
+#
+# By J.H.M.Dassen <jdassen@wi.leidenuniv.nl>
+#
+compose ' ' ' ' to ' ' # 160 NO-BREAK SPACE (not a vim digraph)
+compose '!' '~' to '¡' # 161 INVERTED EXCLAMATION MARK
+compose '~' '!' to '¡' # 161
+compose 'c' '|' to '¢' # 162 CENT SIGN
+compose '|' 'c' to '¢' # 162
+compose '$' '$' to '£' # 163 POUND SIGN
+compose 'o' 'x' to '¤' # 164 CURRENCY SIGN
+compose 'x' 'o' to '¤' # 164
+compose '-' 'Y' to '¥' # 165 YEN SIGN
+compose 'Y' '-' to '¥' # 165
+compose '|' '|' to '¦' # 166 BROKEN BAR
+compose 'a' 'p' to '§' # 167 SECTION SIGN
+compose 'p' 'a' to '§' # 167
+compose '"' '"' to '¨' # 168 DIAERESIS
+compose 'O' 'c' to '©' # 169 COPYRIGHT SIGN
+compose 'c' 'O' to '©' # 169
+compose '-' 'a' to 'ª' # 170 FEMININE ORDINAL INDICATOR
+compose 'a' '-' to 'ª' # 170
+compose '<' '<' to '«' # 171 LEFT-POINTING DOUBLE ANGLE QUOTATION MARK
+compose ',' '-' to '¬' # 172 NOT SIGN
+compose '-' ',' to '¬' # 172
+compose '-' '-' to '­' # 173 SOFT HYPHEN
+compose 'O' 'r' to '®' # 174 REGISTERED SIGN
+compose 'r' 'O' to '®' # 174
+compose '-' '=' to '¯' # 175 MACRON
+compose '=' '-' to '¯' # 175
+compose '~' 'o' to '°' # 176 DEGREE SIGN
+compose '+' '-' to '±' # 177 PLUS-MINUS SIGN
+compose '-' '+' to '±' # 177
+compose '2' '2' to '²' # 178 SUPERSCRIPT TWO
+compose '3' '3' to '³' # 179 SUPERSCRIPT THREE
+compose ''' ''' to '´' # 180 ACUTE ACCENT
+compose 'j' 'u' to 'µ' # 181 MICRO SIGN
+compose 'u' 'j' to 'µ' # 181
+compose 'p' 'p' to '¶' # 182 PILCROW SIGN
+compose '.' '~' to '·' # 183 MIDDLE DOT
+compose '~' '.' to '·' # 183
+compose ',' ',' to '¸' # 184 CEDILLA
+compose '1' '1' to '¹' # 185 SUPERSCRIPT ONE
+compose '-' 'o' to 'º' # 186 MASCULINE ORDINAL INDICATOR
+compose 'o' '-' to 'º' # 186
+compose '>' '>' to '»' # 187 RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK
+compose '1' '4' to '¼' # 188 VULGAR FRACTION ONE QUARTER
+compose '4' '1' to '¼' # 188
+compose '1' '2' to '½' # 189 VULGAR FRACTION ONE HALF
+compose '2' '1' to '½' # 189
+compose '3' '4' to '¾' # 190 VULGAR FRACTION THREE QUARTERS
+compose '4' '3' to '¾' # 190
+compose '?' '~' to '¿' # 191 INVERTED QUESTION MARK
+compose '~' '?' to '¿' # 191
+compose 'A' '`' to 'À' # 192 LATIN CAPITAL LETTER A WITH GRAVE
+compose '`' 'A' to 'À' # 192
+compose ''' 'A' to 'Á' # 193 LATIN CAPITAL LETTER A WITH ACUTE
+compose 'A' ''' to 'Á' # 193
+compose 'A' '^' to 'Â' # 194 LATIN CAPITAL LETTER A WITH CIRCUMFLEX
+compose '^' 'A' to 'Â' # 194
+compose 'A' '~' to 'Ã' # 195 LATIN CAPITAL LETTER A WITH TILDE
+compose '~' 'A' to 'Ã' # 195
+compose '"' 'A' to 'Ä' # 196 LATIN CAPITAL LETTER A WITH DIAERESIS
+compose 'A' '"' to 'Ä' # 196
+compose '@' 'A' to 'Å' # 197 LATIN CAPITAL LETTER A WITH RING ABOVE
+compose 'A' '@' to 'Å' # 197
+compose 'A' 'E' to 'Æ' # 198 LATIN CAPITAL LIGATURE AE
+compose 'E' 'A' to 'Æ' # 198
+compose ',' 'C' to 'Ç' # 199 LATIN CAPITAL LETTER C WITH CEDILLA
+compose 'C' ',' to 'Ç' # 199
+compose 'E' '`' to 'È' # 200 LATIN CAPITAL LETTER E WITH GRAVE
+compose '`' 'E' to 'È' # 200
+compose ''' 'E' to 'É' # 201 LATIN CAPITAL LETTER E WITH ACUTE
+compose 'E' ''' to 'É' # 201
+compose 'E' '^' to 'Ê' # 202 LATIN CAPITAL LETTER E WITH CIRCUMFLEX
+compose '^' 'E' to 'Ê' # 202
+compose '"' 'E' to 'Ë' # 203 LATIN CAPITAL LETTER E WITH DIAERESIS
+compose 'E' '"' to 'Ë' # 203
+compose 'I' '`' to 'Ì' # 204 LATIN CAPITAL LETTER I WITH GRAVE
+compose '`' 'I' to 'Ì' # 204
+compose ''' 'I' to 'Í' # 205 LATIN CAPITAL LETTER I WITH ACUTE
+compose 'I' ''' to 'Í' # 205
+compose 'I' '^' to 'Î' # 206 LATIN CAPITAL LETTER I WITH CIRCUMFLEX
+compose '^' 'I' to 'Î' # 206
+compose '"' 'I' to 'Ï' # 207 LATIN CAPITAL LETTER I WITH DIAERESIS
+compose 'I' '"' to 'Ï' # 207
+compose '-' 'D' to 'Ð' # 208 LATIN CAPITAL LETTER ETH
+compose 'D' '-' to 'Ð' # 208
+compose 'N' '~' to 'Ñ' # 209 LATIN CAPITAL LETTER N WITH TILDE
+compose '~' 'N' to 'Ñ' # 209
+compose 'O' '`' to 'Ò' # 210 LATIN CAPITAL LETTER O WITH GRAVE
+compose '`' 'O' to 'Ò' # 210
+compose ''' 'O' to 'Ó' # 211 LATIN CAPITAL LETTER O WITH ACUTE
+compose 'O' ''' to 'Ó' # 211
+compose 'O' '^' to 'Ô' # 212 LATIN CAPITAL LETTER O WITH CIRCUMFLEX
+compose '^' 'O' to 'Ô' # 212
+compose 'O' '~' to 'Õ' # 213 LATIN CAPITAL LETTER O WITH TILDE
+compose '~' 'O' to 'Õ' # 213
+compose '"' 'O' to 'Ö' # 214 LATIN CAPITAL LETTER O WITH DIAERESIS
+compose 'O' '"' to 'Ö' # 214
+compose '/' '\' to '×' # 215 MULTIPLICATION SIGN
+compose '\' '/' to '×' # 215
+compose '/' 'O' to 'Ø' # 216 LATIN CAPITAL LETTER O WITH STROKE
+compose 'O' '/' to 'Ø' # 216
+compose 'U' '`' to 'Ù' # 217 LATIN CAPITAL LETTER U WITH GRAVE
+compose '`' 'U' to 'Ù' # 217
+compose ''' 'U' to 'Ú' # 218 LATIN CAPITAL LETTER U WITH ACUTE
+compose 'U' ''' to 'Ú' # 218
+compose 'U' '^' to 'Û' # 219 LATIN CAPITAL LETTER U WITH CIRCUMFLEX
+compose '^' 'U' to 'Û' # 219
+compose '"' 'U' to 'Ü' # 220 LATIN CAPITAL LETTER U WITH DIAERESIS
+compose 'U' '"' to 'Ü' # 220
+compose ''' 'Y' to 'Ý' # 221 LATIN CAPITAL LETTER Y WITH ACUTE
+compose 'Y' ''' to 'Ý' # 221
+compose 'I' 'p' to 'Þ' # 222 LATIN CAPITAL LETTER THORN
+compose 'p' 'I' to 'Þ' # 222
+compose 's' 's' to 'ß' # 223 LATIN SMALL LETTER SHARP S
+compose '`' 'a' to 'à' # 224 LATIN SMALL LETTER A WITH GRAV
+compose 'a' '`' to 'à' # 224
+compose ''' 'a' to 'á' # 225 LATIN SMALL LETTER A WITH ACUTE
+compose 'a' ''' to 'á' # 225
+compose '^' 'a' to 'â' # 226 LATIN SMALL LETTER A WITH CIRCUMFLEX
+compose 'a' '^' to 'â' # 226
+compose 'a' '~' to 'ã' # 227 LATIN SMALL LETTER A WITH TILDE
+compose '~' 'a' to 'ã' # 227
+compose '"' 'a' to 'ä' # 228 LATIN SMALL LETTER A WITH DIAERESIS
+compose 'a' '"' to 'ä' # 228
+compose '@' 'a' to 'å' # 229 LATIN SMALL LETTER A WITH RING ABOVE
+compose 'a' '@' to 'å' # 229
+compose 'a' 'e' to 'æ' # 230 LATIN SMALL LIGATURE AE
+compose 'e' 'a' to 'æ' # 230
+compose ',' 'c' to 'ç' # 231 LATIN SMALL LETTER C WITH CEDILLA
+compose 'c' ',' to 'ç' # 231
+compose '`' 'e' to 'è' # 232 LATIN SMALL LETTER E WITH GRAVE
+compose 'e' '`' to 'è' # 232
+compose ''' 'e' to 'é' # 233 LATIN SMALL LETTER E WITH ACUTE
+compose 'e' ''' to 'é' # 233
+compose '^' 'e' to 'ê' # 234 LATIN SMALL LETTER E WITH CIRCUMFLEX
+compose 'e' '^' to 'ê' # 234
+compose '"' 'e' to 'ë' # 235 LATIN SMALL LETTER E WITH DIAERESIS
+compose 'e' '"' to 'ë' # 235
+compose '`' 'i' to 'ì' # 236 LATIN SMALL LETTER I WITH GRAVE
+compose 'i' '`' to 'ì' # 236
+compose ''' 'i' to 'í' # 237 LATIN SMALL LETTER I WITH ACUTE
+compose 'i' ''' to 'í' # 237
+compose '^' 'i' to 'î' # 238 LATIN SMALL LETTER I WITH CIRCUMFLEX
+compose 'i' '^' to 'î' # 238
+compose '"' 'i' to 'ï' # 239 LATIN SMALL LETTER I WITH DIAERESIS
+compose 'i' '"' to 'ï' # 239
+compose '-' 'd' to 'ð' # 240 LATIN SMALL LETTER ETH
+compose 'd' '-' to 'ð' # 240
+compose 'n' '~' to 'ñ' # 241 LATIN SMALL LETTER N WITH TILDE
+compose '~' 'n' to 'ñ' # 241
+compose '`' 'o' to 'ò' # 242 LATIN SMALL LETTER O WITH GRAVE
+compose 'o' '`' to 'ò' # 242
+compose ''' 'o' to 'ó' # 243 LATIN SMALL LETTER O WITH ACUTE
+compose 'o' ''' to 'ó' # 243
+compose '^' 'o' to 'ô' # 244 LATIN SMALL LETTER O WITH CIRCUMFLEX
+compose 'o' '^' to 'ô' # 244
+compose 'o' '~' to 'õ' # 245 LATIN SMALL LETTER O WITH TILDE
+compose '"' 'o' to 'ö' # 246 LATIN SMALL LETTER O WITH DIAERESIS
+compose 'o' '"' to 'ö' # 246
+compose '-' ':' to '÷' # 247 DIVISION SIGN
+compose ':' '-' to '÷' # 247
+compose '/' 'o' to 'ø' # 248 LATIN SMALL LETTER O WITH STROKE
+compose 'o' '/' to 'ø' # 248
+compose '`' 'u' to 'ù' # 249 LATIN SMALL LETTER U WITH GRAVE
+compose 'u' '`' to 'ù' # 249
+compose ''' 'u' to 'ú' # 250 LATIN SMALL LETTER U WITH ACUTE
+compose 'u' ''' to 'ú' # 250
+compose '^' 'u' to 'û' # 251 LATIN SMALL LETTER U WITH CIRCUMFLEX
+compose 'u' '^' to 'û' # 251
+compose '"' 'u' to 'ü' # 252 LATIN SMALL LETTER U WITH DIAERESIS
+compose 'u' '"' to 'ü' # 252
+compose ''' 'y' to 'ý' # 253 LATIN SMALL LETTER Y WITH ACUTE
+compose 'y' ''' to 'ý' # 253
+compose 'i' 'p' to 'þ' # 254 LATIN SMALL LETTER THORN
+compose 'p' 'i' to 'þ' # 254
+compose '"' 'y' to 'ÿ' # 255 LATIN SMALL LETTER Y WITH DIAERESIS
+compose 'y' '"' to 'ÿ' # 255
+#
+## ^K introduces digraphs in vim.
+# control keycode 37 = Compose
+
diff --git a/keymaps/mac/ibook-it.kmap b/keymaps/mac/ibook-it.kmap
new file mode 100644
index 0000000..ecb0dc6
--- /dev/null
+++ b/keymaps/mac/ibook-it.kmap
@@ -0,0 +1,120 @@
+
+keymaps 0-2,4-5,8,12
+# include "azerty-layout"
+# include "linux-with-alt-and-altgr"
+# include "/usr/share/keymaps/i386/include/euro.inc.gz"
+strings as usual
+
+keycode 1 = Escape Escape
+alt keycode 1 = Meta_Escape
+keycode 2 = ampersand one
+alt keycode 2 = Meta_one
+keycode 3 = quotedbl two asciitilde
+control keycode 3 = nul
+alt keycode 3 = Meta_two
+keycode 4 = apostrophe three numbersign
+control keycode 4 = Escape
+alt keycode 4 = Meta_three
+keycode 5 = parenleft four braceleft
+control keycode 5 = Control_backslash
+alt keycode 5 = Meta_four
+keycode 6 = cedilla five bracketleft
+control keycode 6 = Control_bracketright
+alt keycode 6 = Meta_five
+keycode 7 = egrave six bar
+control keycode 7 = Control_asciicircum
+alt keycode 7 = Meta_six
+keycode 8 = parenright seven grave
+control keycode 8 = Control_underscore
+alt keycode 8 = Meta_seven
+keycode 9 = sterling eight backslash
+control keycode 9 = Delete
+alt keycode 9 = Meta_eight
+keycode 10 = agrave nine asciicircum
+alt keycode 10 = Meta_nine
+keycode 11 = eacute zero at
+alt keycode 11 = Meta_zero
+keycode 12 = minus underscore bracketright
+control keycode 12 = Control_underscore
+alt keycode 12 = Meta_minus
+keycode 13 = equal plus braceright
+alt keycode 13 = Meta_equal
+keycode 14 = Delete Delete
+alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+alt keycode 15 = Meta_Tab
+keycode 26 = igrave asciicircum
+control keycode 26 = Escape
+alt keycode 26 = Meta_bracketleft
+keycode 27 = dollar asterisk asciitilde
+control keycode 27 = Control_bracketright
+alt keycode 27 = Meta_bracketright
+keycode 28 = Return
+alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 40 = ugrave percent
+control keycode 40 = Control_g
+alt keycode 40 = Meta_apostrophe
+keycode 41 = at numbersign
+control keycode 41 = nul
+alt keycode 41 = Meta_grave
+keycode 42 = Shift
+keycode 43 = Egrave degree
+control keycode 43 = Control_backslash
+alt keycode 43 = Meta_backslash
+keycode 50 = comma question
+keycode 51 = semicolon period
+alt keycode 51 = Meta_comma
+keycode 52 = colon slash backslash
+alt keycode 52 = Meta_period
+keycode 53 = ograve exclam
+control keycode 53 = Delete
+alt keycode 53 = Meta_slash
+keycode 44 = Shift
+keycode 56 = Alt
+keycode 125 = AltGr
+keycode 57 = space space
+control keycode 57 = nul
+alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 86 = less greater bar
+alt keycode 86 = Meta_less
+keycode 29 = Control
+keycode 16 = q
+keycode 17 = z
+keycode 18 = e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = y
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+keycode 39 = m
+keycode 44 = w
+keycode 45 = x
+keycode 46 = c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 59 = F1
+alt keycode 59 = Console_1
+keycode 60 = F2
+keycode 61 = F3
+keycode 62 = F4
+keycode 63 = F5
+keycode 64 = F6
+keycode 65 = F7
+keycode 66 = F8
+keycode 67 = F9
+keycode 68 = F10
+
diff --git a/keymaps/mac/ibook2-uk.kmap b/keymaps/mac/ibook2-uk.kmap
new file mode 100644
index 0000000..6e0642b
--- /dev/null
+++ b/keymaps/mac/ibook2-uk.kmap
@@ -0,0 +1,995 @@
+keymaps 0-2,4-6,8-9,12
+keycode 1 = Escape
+keycode 2 = one exclam
+keycode 3 = two at U+00a4 U+00a2 nul
+ shift alt keycode 3 = Meta_quotedbl
+ control alt keycode 3 = Meta_nul
+keycode 4 = three U+00a3 numbersign Escape
+ alt keycode 4 = numbersign
+keycode 5 = four dollar dollar Control_backslash
+ alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+ control alt keycode 5 = Meta_Control_backslash
+keycode 6 = five percent
+ control keycode 6 = Control_bracketright
+ alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+keycode 7 = six asciicircum
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_asciicircum
+keycode 8 = seven ampersand braceleft Control_underscore
+ alt keycode 8 = Meta_seven
+ shift alt keycode 8 = Meta_ampersand
+ control alt keycode 8 = Meta_Control_underscore
+keycode 9 = eight asterisk bracketleft Delete
+ alt keycode 9 = Meta_eight
+ shift alt keycode 9 = Meta_asterisk
+ control alt keycode 9 = Meta_Delete
+keycode 10 = nine parenleft bracketright
+ alt keycode 10 = Meta_nine
+ shift alt keycode 10 = Meta_parenleft
+keycode 11 = zero parenright braceright
+ alt keycode 11 = Meta_zero
+ shift alt keycode 11 = Meta_parenright
+keycode 12 = minus underscore backslash Control_underscore Control_underscore
+ alt keycode 12 = Meta_minus
+ shift alt keycode 12 = Meta_underscore
+ control alt keycode 12 = Meta_Control_underscore
+keycode 13 = equal plus
+ alt keycode 13 = Meta_equal
+ shift alt keycode 13 = Meta_plus
+keycode 14 = Delete
+ alt keycode 14 = Meta_Delete
+ shift alt keycode 14 = Meta_Delete
+ control alt keycode 14 = Meta_Control_underscore
+keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+ shift alt keycode 15 = Meta_Tab
+ control alt keycode 15 = Meta_Tab
+keycode 16 = q
+keycode 17 = w
+keycode 18 = +e +E U+00a4 Control_e Control_e Control_e Meta_e Meta_E Meta_Control_e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = y
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+keycode 26 = bracketleft braceleft
+ control keycode 26 = Escape
+ alt keycode 26 = Meta_bracketleft
+ shift alt keycode 26 = Meta_braceleft
+keycode 27 = bracketright braceright asciitilde Control_bracketright
+ alt keycode 27 = Meta_bracketright
+ shift alt keycode 27 = Meta_braceright
+ control alt keycode 27 = Meta_Control_bracketright
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = l
+keycode 39 = semicolon colon
+ alt keycode 39 = Meta_semicolon
+ shift alt keycode 39 = Meta_colon
+keycode 40 = apostrophe quotedbl
+ control keycode 40 = Control_g
+ shift control keycode 40 = nul
+ alt keycode 40 = Meta_apostrophe
+ shift alt keycode 40 = Meta_at
+keycode 41 = U+00a7 U+00b1 Insert nul
+ control keycode 41 = nul
+ alt keycode 41 = Meta_grave
+ control alt keycode 41 = Meta_nul
+keycode 42 = Shift
+keycode 43 = backslash bar
+ control keycode 43 = Control_backslash
+ alt keycode 43 = Meta_numbersign
+ shift alt keycode 43 = Meta_asciitilde
+keycode 44 = z
+keycode 45 = x
+keycode 46 = +c +C U+00a2 Control_c Control_c Control_c Meta_c Meta_C Meta_Control_c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = m
+keycode 51 = comma less
+ alt keycode 51 = Meta_comma
+ shift alt keycode 51 = Meta_less
+keycode 52 = period greater
+ alt keycode 52 = Meta_period
+ shift alt keycode 52 = Meta_greater
+keycode 53 = slash question
+ control keycode 53 = Delete
+ alt keycode 53 = Meta_slash
+ shift alt keycode 53 = Meta_question
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+ altgr keycode 55 = Hex_C
+keycode 56 = Alt
+keycode 57 = space
+ alt keycode 57 = Meta_space
+ shift alt keycode 57 = Meta_space
+ control alt keycode 57 = Meta_space
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 Console_13 F25 F37
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F14 Console_14 F26 F38
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F15 Console_15 F27 F39
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F16 Console_16 F28 F40
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F17 Console_17 F29 F41
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F18 Console_18 F30 F42
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F19 Console_19 F31 F43
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F20 Console_20 F32 F44
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F21 Console_21 F33 F45
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F22 Console_22 F34 F46
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+ altgr keycode 69 = Hex_A
+keycode 70 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 70 = Scroll_Lock
+ shift alt keycode 71 = Meta_seven
+ control alt keycode 71 = Meta_seven
+keycode 71 = KP_7
+ altgr keycode 71 = Hex_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ altgr keycode 72 = Hex_8
+ alt keycode 72 = Ascii_8
+ shift alt keycode 72 = Meta_eight
+ control alt keycode 72 = Meta_eight
+keycode 73 = KP_9
+ altgr keycode 73 = Hex_9
+ alt keycode 73 = Ascii_9
+ shift alt keycode 73 = Meta_nine
+ control alt keycode 73 = Meta_nine
+keycode 74 = KP_Subtract
+ altgr keycode 74 = Hex_D
+keycode 75 = KP_4
+ altgr keycode 75 = Hex_4
+ alt keycode 75 = Ascii_4
+ shift alt keycode 75 = Meta_four
+ control alt keycode 75 = Meta_four
+keycode 76 = KP_5
+ altgr keycode 76 = Hex_5
+ alt keycode 76 = Ascii_5
+ shift alt keycode 76 = Meta_five
+ control alt keycode 76 = Meta_five
+keycode 77 = KP_6
+ altgr keycode 77 = Hex_6
+ alt keycode 77 = Ascii_6
+ shift alt keycode 77 = Meta_six
+ control alt keycode 77 = Meta_six
+keycode 78 = KP_Add
+ altgr keycode 78 = Hex_E
+keycode 79 = KP_1
+ altgr keycode 79 = Hex_1
+ alt keycode 79 = Ascii_1
+ shift alt keycode 79 = Meta_one
+ control alt keycode 79 = Meta_one
+keycode 80 = KP_2
+ altgr keycode 80 = Hex_2
+ alt keycode 80 = Ascii_2
+ shift alt keycode 80 = Meta_two
+ control alt keycode 80 = Meta_two
+keycode 81 = KP_3
+ altgr keycode 81 = Hex_3
+ alt keycode 81 = Ascii_3
+ shift alt keycode 81 = Meta_three
+ control alt keycode 81 = Meta_three
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+ shift alt keycode 82 = Meta_zero
+ control alt keycode 82 = Meta_zero
+keycode 83 = KP_Period
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = grave asciitilde bar Control_backslash
+ alt keycode 86 = Meta_backslash
+ shift alt keycode 86 = Meta_bar
+ control alt keycode 86 = Meta_Control_backslash
+keycode 87 = F11 F23 Console_23 F35 F47
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F24 Console_24 F36 F48
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = KP_Enter
+ altgr keycode 96 = Hex_F
+keycode 97 = Control
+keycode 98 = KP_Divide
+ altgr keycode 98 = Hex_B
+keycode 99 = Control_backslash
+ alt keycode 99 = Meta_Control_backslash
+ shift alt keycode 99 = Meta_Control_backslash
+ control alt keycode 99 = Meta_Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+ alt keycode 103 = KeyboardSignal
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+keycode 113 = F13
+keycode 114 = F14
+keycode 115 = Help
+keycode 116 = Do
+keycode 117 = equal
+ alt keycode 117 = Meta_equal
+ shift alt keycode 117 = Meta_equal
+ control alt keycode 117 = Meta_equal
+keycode 118 = KP_MinPlus
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 = AltGr
+ alt keycode 125 = Compose
+keycode 126 =
+keycode 127 =
+keycode 128 =
+keycode 129 =
+keycode 130 =
+keycode 131 =
+keycode 132 =
+keycode 133 =
+keycode 134 =
+keycode 135 =
+keycode 136 =
+keycode 137 =
+keycode 138 =
+keycode 139 =
+keycode 140 =
+keycode 141 =
+keycode 142 =
+keycode 143 =
+keycode 144 =
+keycode 145 =
+keycode 146 =
+keycode 147 =
+keycode 148 =
+keycode 149 =
+keycode 150 =
+keycode 151 =
+keycode 152 =
+keycode 153 =
+keycode 154 =
+keycode 155 =
+keycode 156 =
+keycode 157 =
+keycode 158 =
+keycode 159 =
+keycode 160 =
+keycode 161 =
+keycode 162 =
+keycode 163 =
+keycode 164 =
+keycode 165 =
+keycode 166 =
+keycode 167 =
+keycode 168 =
+keycode 169 =
+keycode 170 =
+keycode 171 =
+keycode 172 =
+keycode 173 =
+keycode 174 =
+keycode 175 =
+keycode 176 =
+keycode 177 =
+keycode 178 =
+keycode 179 =
+keycode 180 =
+keycode 181 =
+keycode 182 =
+keycode 183 =
+keycode 184 =
+keycode 185 =
+keycode 186 =
+keycode 187 =
+keycode 188 =
+keycode 189 =
+keycode 190 =
+keycode 191 =
+keycode 192 =
+keycode 193 =
+keycode 194 =
+keycode 195 =
+keycode 196 =
+keycode 197 =
+keycode 198 =
+keycode 199 =
+keycode 200 =
+keycode 201 =
+keycode 202 =
+keycode 203 =
+keycode 204 =
+keycode 205 =
+keycode 206 =
+keycode 207 =
+keycode 208 =
+keycode 209 =
+keycode 210 =
+keycode 211 =
+keycode 212 =
+keycode 213 =
+keycode 214 =
+keycode 215 =
+keycode 216 =
+keycode 217 =
+keycode 218 =
+keycode 219 =
+keycode 220 =
+keycode 221 =
+keycode 222 =
+keycode 223 =
+keycode 224 =
+keycode 225 =
+keycode 226 =
+keycode 227 =
+keycode 228 =
+keycode 229 =
+keycode 230 =
+keycode 231 =
+keycode 232 =
+keycode 233 =
+keycode 234 =
+keycode 235 =
+keycode 236 =
+keycode 237 =
+keycode 238 =
+keycode 239 =
+keycode 240 =
+keycode 241 =
+keycode 242 =
+keycode 243 =
+keycode 244 =
+keycode 245 =
+keycode 246 =
+keycode 247 =
+keycode 248 =
+keycode 249 =
+keycode 250 =
+keycode 251 =
+keycode 252 =
+keycode 253 =
+keycode 254 =
+keycode 255 =
+keycode 256 =
+keycode 257 = Escape
+ alt keycode 257 = Meta_Escape
+ shift alt keycode 257 = Meta_Escape
+ control alt keycode 257 = Meta_Escape
+keycode 258 = one exclam
+ alt keycode 258 = Meta_one
+ shift alt keycode 258 = Meta_exclam
+keycode 259 = two at currency nul
+ alt keycode 259 = Meta_two
+ shift alt keycode 259 = Meta_quotedbl
+ control alt keycode 259 = Meta_nul
+keycode 260 = three sterling numbersign Escape
+ alt keycode 260 = numbersign
+keycode 261 = four dollar currency Control_backslash
+ alt keycode 261 = Meta_four
+ shift alt keycode 261 = Meta_dollar
+ control alt keycode 261 = Meta_Control_backslash
+keycode 262 = five percent
+ control keycode 262 = Control_bracketright
+ alt keycode 262 = Meta_five
+ shift alt keycode 262 = Meta_percent
+keycode 263 = six asciicircum
+ control keycode 263 = Control_asciicircum
+ alt keycode 263 = Meta_six
+ shift alt keycode 263 = Meta_asciicircum
+keycode 264 = seven ampersand braceleft Control_underscore
+ alt keycode 264 = Meta_seven
+ shift alt keycode 264 = Meta_ampersand
+ control alt keycode 264 = Meta_Control_underscore
+keycode 265 = eight asterisk bracketleft Delete
+ alt keycode 265 = Meta_eight
+ shift alt keycode 265 = Meta_asterisk
+ control alt keycode 265 = Meta_Delete
+keycode 266 = nine parenleft bracketright
+ alt keycode 266 = Meta_nine
+ shift alt keycode 266 = Meta_parenleft
+keycode 267 = zero parenright braceright
+ alt keycode 267 = Meta_zero
+ shift alt keycode 267 = Meta_parenright
+keycode 268 = minus underscore backslash Control_underscore Control_underscore
+ alt keycode 268 = Meta_minus
+ shift alt keycode 268 = Meta_underscore
+ control alt keycode 268 = Meta_Control_underscore
+keycode 269 = equal plus
+ alt keycode 269 = Meta_equal
+ shift alt keycode 269 = Meta_plus
+keycode 270 = Delete Delete Remove Control_underscore
+ alt keycode 270 = Meta_Delete
+ shift alt keycode 270 = Meta_Delete
+ control alt keycode 270 = Meta_Control_underscore
+keycode 271 = Tab
+ alt keycode 271 = Meta_Tab
+ shift alt keycode 271 = Meta_Tab
+ control alt keycode 271 = Meta_Tab
+keycode 272 = q
+keycode 273 = w
+keycode 274 = +e +E currency Control_e Control_e Control_e Meta_e Meta_E Meta_Control_e
+keycode 275 = r
+keycode 276 = t
+keycode 277 = y
+keycode 278 = u
+keycode 279 = i
+keycode 280 = o
+keycode 281 = p
+keycode 282 = bracketleft braceleft
+ control keycode 282 = Escape
+ alt keycode 282 = Meta_bracketleft
+ shift alt keycode 282 = Meta_braceleft
+keycode 283 = bracketright braceright asciitilde Control_bracketright
+ alt keycode 283 = Meta_bracketright
+ shift alt keycode 283 = Meta_braceright
+ control alt keycode 283 = Meta_Control_bracketright
+keycode 284 = Return
+ alt keycode 284 = Meta_Control_m
+keycode 285 = Control
+keycode 286 = a
+keycode 287 = s
+keycode 288 = d
+keycode 289 = f
+keycode 290 = g
+keycode 291 = h
+keycode 292 = j
+keycode 293 = k
+keycode 294 = l
+keycode 295 = semicolon colon
+ alt keycode 295 = Meta_semicolon
+ shift alt keycode 295 = Meta_colon
+keycode 296 = apostrophe quotedbl
+ control keycode 296 = Control_g
+ shift control keycode 296 = nul
+ alt keycode 296 = Meta_apostrophe
+ shift alt keycode 296 = Meta_at
+keycode 297 = section plusminus Insert nul
+ alt keycode 297 = Meta_grave
+ control alt keycode 297 = Meta_nul
+keycode 298 = Shift
+keycode 299 = backslash bar
+ control keycode 299 = Control_backslash
+ alt keycode 299 = Meta_numbersign
+ shift alt keycode 299 = Meta_asciitilde
+keycode 300 = z
+keycode 301 = x
+keycode 302 = +c +C cent Control_c Control_c Control_c Meta_c Meta_C Meta_Control_c
+keycode 303 = v
+keycode 304 = b
+keycode 305 = n
+keycode 306 = m
+keycode 307 = comma less
+ alt keycode 307 = Meta_comma
+ shift alt keycode 307 = Meta_less
+keycode 308 = period greater
+ alt keycode 308 = Meta_period
+ shift alt keycode 308 = Meta_greater
+keycode 309 = slash question
+ control keycode 309 = Delete
+ alt keycode 309 = Meta_slash
+ shift alt keycode 309 = Meta_question
+keycode 310 = Shift
+keycode 311 = KP_Multiply
+keycode 312 = Alt
+keycode 313 = space
+ alt keycode 313 = Meta_space
+ shift alt keycode 313 = Meta_space
+ control alt keycode 313 = Meta_space
+keycode 314 = Caps_Lock
+keycode 315 = F1 F13 Console_13 F25
+ alt keycode 315 = Console_1
+ control alt keycode 315 = Console_1
+keycode 316 = F2 F14 Console_14 F26
+ alt keycode 316 = Console_2
+ control alt keycode 316 = Console_2
+keycode 317 = F3 F15 Console_15 F27
+ alt keycode 317 = Console_3
+ control alt keycode 317 = Console_3
+keycode 318 = F4 F16 Console_16 F28
+ alt keycode 318 = Console_4
+ control alt keycode 318 = Console_4
+keycode 319 = F5 F17 Console_17 F29
+ alt keycode 319 = Console_5
+ control alt keycode 319 = Console_5
+keycode 320 = F6 F18 Console_18 F30
+ alt keycode 320 = Console_6
+ control alt keycode 320 = Console_6
+keycode 321 = F7 F19 Console_19 F31
+ alt keycode 321 = Console_7
+ control alt keycode 321 = Console_7
+keycode 322 = F8 F20 Console_20 F32
+ alt keycode 322 = Console_8
+ control alt keycode 322 = Console_8
+keycode 323 = F9 F21 Console_21 F33
+ alt keycode 323 = Console_9
+ control alt keycode 323 = Console_9
+keycode 324 = F10 F22 Console_22 F34
+ alt keycode 324 = Console_10
+ control alt keycode 324 = Console_10
+keycode 325 = Num_Lock
+ altgr keycode 325 = Hex_A
+keycode 326 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 326 = Scroll_Lock
+keycode 327 = seven
+ altgr keycode 327 = Hex_7
+ alt keycode 327 = Ascii_7
+ shift alt keycode 327 = Meta_seven
+ control alt keycode 327 = Meta_seven
+keycode 328 = eight
+ altgr keycode 328 = Hex_8
+ alt keycode 328 = Ascii_8
+ shift alt keycode 328 = Meta_eight
+ control alt keycode 328 = Meta_eight
+keycode 329 = nine
+ altgr keycode 329 = Hex_9
+ alt keycode 329 = Ascii_9
+ shift alt keycode 329 = Meta_nine
+ control alt keycode 329 = Meta_nine
+keycode 330 = KP_Subtract
+ altgr keycode 330 = Hex_D
+keycode 331 = four
+ altgr keycode 331 = Hex_4
+ alt keycode 331 = Ascii_4
+ shift alt keycode 331 = Meta_four
+ control alt keycode 331 = Meta_four
+keycode 332 = five
+ altgr keycode 332 = Hex_5
+ alt keycode 332 = Ascii_5
+ shift alt keycode 332 = Meta_five
+ control alt keycode 332 = Meta_five
+keycode 333 = six
+ altgr keycode 333 = Hex_6
+ alt keycode 333 = Ascii_6
+ shift alt keycode 333 = Meta_six
+ control alt keycode 333 = Meta_six
+keycode 334 = KP_Add
+ altgr keycode 334 = Hex_E
+keycode 335 = one
+ altgr keycode 335 = Hex_1
+ alt keycode 335 = Ascii_1
+ shift alt keycode 335 = Meta_one
+ control alt keycode 335 = Meta_one
+keycode 336 = two
+ altgr keycode 336 = Hex_2
+ alt keycode 336 = Ascii_2
+ shift alt keycode 336 = Meta_two
+ control alt keycode 336 = Meta_two
+keycode 337 = three
+ altgr keycode 337 = Hex_3
+ alt keycode 337 = Ascii_3
+ shift alt keycode 337 = Meta_three
+ control alt keycode 337 = Meta_three
+keycode 338 = zero
+ altgr keycode 338 = Hex_0
+ alt keycode 338 = Ascii_0
+ shift alt keycode 338 = Meta_zero
+ control alt keycode 338 = Meta_zero
+keycode 339 = KP_Period
+ altgr control keycode 339 = Boot
+ control alt keycode 339 = Boot
+keycode 340 = Last_Console
+keycode 341 =
+keycode 342 = grave asciitilde bar Control_backslash
+ alt keycode 342 = Meta_backslash
+ shift alt keycode 342 = Meta_bar
+ control alt keycode 342 = Meta_Control_backslash
+keycode 343 = F11 F23 Console_23 F35
+ alt keycode 343 = Console_11
+ control alt keycode 343 = Console_11
+keycode 344 = F12 F24 Console_24 F36
+ alt keycode 344 = Console_12
+ control alt keycode 344 = Console_12
+keycode 345 =
+keycode 346 =
+keycode 347 =
+keycode 348 =
+keycode 349 =
+keycode 350 =
+keycode 351 =
+keycode 352 = KP_Enter
+ altgr keycode 352 = Hex_F
+keycode 353 = Control
+keycode 354 = KP_Divide
+ altgr keycode 354 = Hex_B
+keycode 355 = Control_backslash
+ alt keycode 355 = Meta_Control_backslash
+ shift alt keycode 355 = Meta_Control_backslash
+ control alt keycode 355 = Meta_Control_backslash
+keycode 356 = AltGr
+keycode 357 = Break
+keycode 358 = Find
+keycode 359 = Up
+ alt keycode 359 = KeyboardSignal
+keycode 360 = Prior
+ shift keycode 360 = Scroll_Backward
+keycode 361 = Left
+ alt keycode 361 = Decr_Console
+keycode 362 = Right
+ alt keycode 362 = Incr_Console
+keycode 363 = Select
+keycode 364 = Down
+keycode 365 = Next
+ shift keycode 365 = Scroll_Forward
+keycode 366 = Insert
+keycode 367 = Remove
+ altgr control keycode 367 = Boot
+ control alt keycode 367 = Boot
+keycode 368 = Macro
+keycode 369 = F13
+keycode 370 = F14
+keycode 371 = Help
+keycode 372 = Do
+keycode 373 = equal
+ alt keycode 373 = Meta_equal
+ shift alt keycode 373 = Meta_equal
+ control alt keycode 373 = Meta_equal
+keycode 374 = KP_MinPlus
+keycode 375 = Pause
+keycode 376 =
+keycode 377 =
+keycode 378 =
+keycode 379 =
+keycode 380 =
+keycode 381 = AltGr
+ alt keycode 381 = Compose
+keycode 382 =
+keycode 383 =
+keycode 384 =
+keycode 385 =
+keycode 386 =
+keycode 387 =
+keycode 388 =
+keycode 389 =
+keycode 390 =
+keycode 391 =
+keycode 392 =
+keycode 393 =
+keycode 394 =
+keycode 395 =
+keycode 396 =
+keycode 397 =
+keycode 398 =
+keycode 399 =
+keycode 400 =
+keycode 401 =
+keycode 402 =
+keycode 403 =
+keycode 404 =
+keycode 405 =
+keycode 406 =
+keycode 407 =
+keycode 408 =
+keycode 409 =
+keycode 410 =
+keycode 411 =
+keycode 412 =
+keycode 413 =
+keycode 414 =
+keycode 415 =
+keycode 416 =
+keycode 417 =
+keycode 418 =
+keycode 419 =
+keycode 420 =
+keycode 421 =
+keycode 422 =
+keycode 423 =
+keycode 424 =
+keycode 425 =
+keycode 426 =
+keycode 427 =
+keycode 428 =
+keycode 429 =
+keycode 430 =
+keycode 431 =
+keycode 432 =
+keycode 433 =
+keycode 434 =
+keycode 435 =
+keycode 436 =
+keycode 437 =
+keycode 438 =
+keycode 439 =
+keycode 440 =
+keycode 441 =
+keycode 442 =
+keycode 443 =
+keycode 444 =
+keycode 445 =
+keycode 446 =
+keycode 447 =
+keycode 448 =
+keycode 449 =
+keycode 450 =
+keycode 451 =
+keycode 452 =
+keycode 453 =
+keycode 454 =
+keycode 455 =
+keycode 456 =
+keycode 457 =
+keycode 458 =
+keycode 459 =
+keycode 460 =
+keycode 461 =
+keycode 462 =
+keycode 463 =
+keycode 464 =
+keycode 465 =
+keycode 466 =
+keycode 467 =
+keycode 468 =
+keycode 469 =
+keycode 470 =
+keycode 471 =
+keycode 472 =
+keycode 473 =
+keycode 474 =
+keycode 475 =
+keycode 476 =
+keycode 477 =
+keycode 478 =
+keycode 479 =
+keycode 480 =
+keycode 481 =
+keycode 482 =
+keycode 483 =
+keycode 484 =
+keycode 485 =
+keycode 486 =
+keycode 487 =
+keycode 488 =
+keycode 489 =
+keycode 490 =
+keycode 491 =
+keycode 492 =
+keycode 493 =
+keycode 494 =
+keycode 495 =
+keycode 496 =
+keycode 497 =
+keycode 498 =
+keycode 499 =
+keycode 500 =
+keycode 501 =
+keycode 502 =
+keycode 503 =
+keycode 504 =
+keycode 505 =
+keycode 506 =
+keycode 507 =
+keycode 508 =
+keycode 509 =
+keycode 510 =
+keycode 511 =
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose '-' 'a' to 'ª'
+compose '-' 'A' to 'ª'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose '°' 'A' to 'Å'
+compose '°' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '^' 'C' to 'Ç'
+compose '^' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '^' 'D' to 'Ð'
+compose '^' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '^' 'N' to 'Ñ'
+compose '^' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '-' 'o' to 'º'
+compose '-' 'O' to 'º'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose '"' 'y' to 'ÿ'
+compose 's' 'z' to 'ß'
+compose 'n' 'n' to 'ñ'
+compose 'n' 'h' to 'ñ'
+compose 'N' 'Y' to 'Ñ'
+compose 'N' 'N' to 'Ñ'
+compose 'N' 'H' to 'Ñ'
+compose 'N' 'y' to 'Ñ'
+compose 'N' 'n' to 'Ñ'
+compose 'N' 'h' to 'Ñ'
+compose '-' 'L' to '£'
+compose '<' '<' to '«'
+compose '>' '>' to '»'
+compose '?' '?' to '¿'
+compose '^' '?' to '¿'
+compose '!' '!' to '¡'
+compose '^' '!' to '¡'
+compose '^' '1' to '¹'
+compose '^' '2' to '²'
+compose '^' '3' to '³'
+compose '+' '-' to '±'
+compose 'c' '=' to '¢'
+compose 'c' '/' to '¢'
+compose '/' 'c' to '¢'
+compose '-' 'c' to '¢'
+compose '-' 'C' to '¢'
+compose 'L' '=' to '£'
+compose '-' 'L' to '£'
+compose '-' 'l' to '£'
+compose '^' '*' to '×'
+compose '^' 'x' to '×'
+compose 'x' 'x' to '×'
+compose '^' '.' to '·'
+compose '.' '.' to '·'
+compose '^' '/' to '÷'
+compose '^' ':' to '÷'
+compose '-' ':' to '÷'
+compose ':' '-' to '÷'
+compose 'Y' '=' to '¥'
+compose '-' 'Y' to '¥'
+compose '-' 'l' to '¥'
+compose '(' 'c' to '©'
+compose '"' 'c' to '©'
+compose '-' 'a' to 'ª'
+compose '-' 'A' to 'ª'
+compose '-' 'o' to 'º'
+compose '-' 'O' to 'º'
+compose '(' 'r' to '®'
+compose '"' 'r' to '®'
+compose 'm' 'u' to 'µ'
+compose '1' '4' to '¼'
+compose '1' '2' to '½'
+compose '3' '4' to '¾'
+compose 'e' '=' to '¤'
+compose '-' 'e' to '¤'
+compose '-' 'E' to '¤'
+compose 'v' 'S' to '¦'
+compose '^' 'S' to '¦'
+compose 'v' 's' to '¨'
+compose '^' 's' to '¨'
+compose 'v' 'Z' to '´'
+compose '^' 'Z' to '´'
+compose 'v' 'z' to '¸'
+compose '^' 'z' to '¸'
+compose 'O' 'E' to '¼'
+compose 'O' 'e' to '¼'
+compose 'o' 'e' to '½'
+compose '"' 'Y' to '¾'
+compose 'i' 'j' to 'ÿ'
+compose 'I' 'J' to '¾'
diff --git a/keymaps/mac/include/mac-azerty-layout.inc b/keymaps/mac/include/mac-azerty-layout.inc
new file mode 100644
index 0000000..c40b516
--- /dev/null
+++ b/keymaps/mac/include/mac-azerty-layout.inc
@@ -0,0 +1,30 @@
+# azerty-layout
+keycode 12 = a
+keycode 13 = z
+keycode 14 = e
+keycode 15 = r
+keycode 17 = t
+keycode 16 = y
+keycode 32 = u
+keycode 34 = i
+keycode 31 = o
+keycode 35 = p
+#
+keycode 0 = q
+keycode 1 = s
+keycode 2 = d
+keycode 3 = f
+keycode 5 = g
+keycode 4 = h
+keycode 38 = j
+keycode 40 = k
+keycode 37 = l
+keycode 41 = m
+#
+keycode 6 = w
+keycode 7 = x
+keycode 8 = c
+keycode 9 = v
+keycode 11 = b
+keycode 45 = n
+#
diff --git a/keymaps/mac/include/mac-qwerty-layout.inc b/keymaps/mac/include/mac-qwerty-layout.inc
new file mode 100644
index 0000000..f189eee
--- /dev/null
+++ b/keymaps/mac/include/mac-qwerty-layout.inc
@@ -0,0 +1,30 @@
+# qwertz-layout
+keycode 12 = q
+keycode 13 = w
+keycode 14 = e
+keycode 15 = r
+keycode 17 = t
+keycode 16 = y
+keycode 32 = u
+keycode 34 = i
+keycode 31 = o
+keycode 35 = p
+#
+keycode 0 = a
+keycode 1 = s
+keycode 2 = d
+keycode 3 = f
+keycode 5 = g
+keycode 4 = h
+keycode 38 = j
+keycode 40 = k
+keycode 37 = l
+#
+keycode 6 = z
+keycode 7 = x
+keycode 8 = c
+keycode 9 = v
+keycode 11 = b
+keycode 45 = n
+keycode 46 = m
+#
diff --git a/keymaps/mac/include/mac-qwertz-layout.inc b/keymaps/mac/include/mac-qwertz-layout.inc
new file mode 100644
index 0000000..3dc00b2
--- /dev/null
+++ b/keymaps/mac/include/mac-qwertz-layout.inc
@@ -0,0 +1,30 @@
+# qwertz-layout
+keycode 12 = q
+keycode 13 = w
+keycode 14 = e
+keycode 15 = r
+keycode 17 = t
+keycode 16 = z
+keycode 32 = u
+keycode 34 = i
+keycode 31 = o
+keycode 35 = p
+#
+keycode 0 = a
+keycode 1 = s
+keycode 2 = d
+keycode 3 = f
+keycode 5 = g
+keycode 4 = h
+keycode 38 = j
+keycode 40 = k
+keycode 37 = l
+#
+keycode 6 = y
+keycode 7 = x
+keycode 8 = c
+keycode 9 = v
+keycode 11 = b
+keycode 45 = n
+keycode 46 = m
+#
diff --git a/keymaps/mac/mac-de-latin1-nodeadkeys.kmap b/keymaps/mac/mac-de-latin1-nodeadkeys.kmap
new file mode 100644
index 0000000..a524f26
--- /dev/null
+++ b/keymaps/mac/mac-de-latin1-nodeadkeys.kmap
@@ -0,0 +1,181 @@
+# de-latin1-nodeadkeys-apple.map: German keymap for Apple keyboards
+# Broken in several respects.
+keymaps 0-2,4,6,8,12
+strings as usual
+
+keycode 53 = Escape Escape
+ alt keycode 53 = Meta_Escape
+keycode 18 = one exclam
+ alt keycode 18 = Meta_one
+ shift altgr keycode 18 = at
+keycode 19 = two quotedbl twosuperior
+ control keycode 19 = nul
+ alt keycode 19 = Meta_two
+keycode 20 = three section threesuperior
+ control keycode 20 = Escape
+ alt keycode 20 = Meta_three
+keycode 21 = four dollar dollar
+ control keycode 21 = Control_backslash
+ alt keycode 21 = Meta_four
+keycode 23 = five percent bracketleft
+ control keycode 23 = Control_bracketright
+ alt keycode 23 = Meta_five
+keycode 22 = six ampersand bracketright
+ control keycode 22 = Control_asciicircum
+ alt keycode 22 = Meta_six
+keycode 26 = seven slash bar
+ control keycode 26 = Control_underscore
+ alt keycode 26 = Meta_seven
+ shift altgr keycode 26 = backslash
+keycode 28 = eight parenleft braceleft
+ control keycode 28 = Delete
+ alt keycode 28 = Meta_eight
+keycode 25 = nine parenright braceright
+ alt keycode 25 = Meta_nine
+ control altgr keycode 25 = Control_bracketright
+keycode 29 = zero equal
+ alt keycode 29 = Meta_zero
+keycode 27 = ssharp question nul
+ control keycode 27 = Control_underscore
+ alt keycode 27 = Meta_minus
+ control altgr keycode 27 = Control_backslash
+ alt altgr keycode 27 = Meta_backslash
+keycode 24 = apostrophe grave
+ alt keycode 24 = Meta_equal
+keycode 51 = Delete Delete
+ alt keycode 51 = Meta_Delete
+keycode 48 = Tab Tab
+ alt keycode 48 = Meta_Tab
+keycode 12 = +q +Q nul
+ control keycode 12 = Control_q
+ alt keycode 12 = Meta_q
+ altgr alt keycode 12 = Meta_at
+keycode 13 = w
+keycode 14 = e
+keycode 15 = r
+keycode 17 = t
+keycode 16 = z
+keycode 32 = u
+keycode 34 = i
+keycode 31 = o
+keycode 35 = p
+keycode 33 = +udiaeresis +Udiaeresis
+ control keycode 33 = Escape
+ alt keycode 33 = Meta_bracketleft
+keycode 30 = plus asterisk nul
+ control keycode 30 = Control_bracketright
+ alt keycode 30 = Meta_bracketright
+keycode 36 = Return
+ alt keycode 36 = 0x080d
+keycode 54 = Control
+# broken: 0 cannot be assigned
+keycode 0 = a
+keycode 1 = s
+keycode 2 = d
+keycode 3 = f
+keycode 5 = g
+keycode 4 = h
+keycode 38 = j
+keycode 40 = k
+keycode 37 = l
+keycode 41 = +odiaeresis +Odiaeresis
+ alt keycode 41 = Meta_semicolon
+keycode 39 = +adiaeresis +Adiaeresis
+ control keycode 39 = Control_g
+ alt keycode 39 = Meta_apostrophe
+keycode 10 = asciicircum degree
+keycode 50 = less greater
+ control keycode 50 = Control_asciicircum
+ alt keycode 50 = Meta_grave
+# control keycode 50 = nul
+keycode 56 = Shift
+keycode 42 = numbersign apostrophe
+ control keycode 42 = Control_backslash
+ alt keycode 42 = Meta_backslash
+keycode 6 = y
+keycode 7 = x
+keycode 8 = c
+keycode 9 = v
+keycode 11 = b
+keycode 45 = n
+ altgr keycode 45 = asciitilde
+keycode 46 = +m
+ altgr keycode 46 = mu
+keycode 43 = comma semicolon
+ alt keycode 43 = Meta_comma
+keycode 47 = period colon
+ alt keycode 47 = Meta_period
+keycode 44 = minus underscore
+ control keycode 44 = Delete
+ alt keycode 44 = Meta_minus
+ shift control keycode 44 = Control_underscore
+# alt keycode 44 = Meta_slash
+keycode 56 = Shift
+keycode 67 = KP_Multiply
+keycode 55 = Alt
+keycode 49 = space space
+ control keycode 49 = nul
+ alt keycode 49 = Meta_space
+keycode 57 = Caps_Lock
+keycode 99 = F3 F13 Console_15
+ control keycode 99 = F3
+ alt keycode 99 = Console_3
+ control alt keycode 99 = Console_3
+keycode 96 = F5 F15 Console_17
+ control keycode 96 = F5
+ alt keycode 96 = Console_5
+ control alt keycode 96 = Console_5
+keycode 97 = F6 F16 Console_18
+ control keycode 97 = F6
+ alt keycode 97 = Console_6
+ control alt keycode 97 = Console_6
+keycode 98 = F7 F17 Console_19
+ control keycode 98 = F7
+ alt keycode 98 = Console_7
+ control alt keycode 98 = Console_7
+keycode 58 = F8 F18 Console_20
+ control keycode 58 = F8
+ alt keycode 58 = Console_8
+ control alt keycode 58 = Console_8
+keycode 71 = Num_Lock
+keycode 89 = KP_7
+ alt keycode 89 = Ascii_7
+keycode 91 = KP_8
+ alt keycode 91 = Ascii_8
+keycode 92 = KP_9
+ alt keycode 92 = Ascii_9
+keycode 78 = KP_Subtract
+keycode 86 = KP_4
+ alt keycode 86 = Ascii_4
+keycode 87 = KP_5
+ alt keycode 87 = Ascii_5
+keycode 88 = KP_6
+ alt keycode 88 = Ascii_6
+keycode 69 = KP_Add
+keycode 83 = KP_1
+ alt keycode 83 = Ascii_1
+keycode 84 = KP_2
+ alt keycode 84 = Ascii_2
+keycode 85 = KP_3
+ alt keycode 85 = Ascii_3
+keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+keycode 65 = KP_Comma
+ altgr control keycode 65 = Boot
+ control alt keycode 65 = Boot
+keycode 62 = F11 F11 Console_23
+ control keycode 62 = F11
+ alt keycode 62 = Console_11
+ control alt keycode 62 = Console_11
+keycode 76 = KP_Enter
+keycode 54 = Control
+keycode 75 = KP_Divide
+keycode 58 = AltGr
+keycode 62 = Up
+keycode 59 = Left
+ alt keycode 59 = Decr_Console
+keycode 60 = Right
+ alt keycode 60 = Incr_Console
+keycode 61 = Down
+control alt keycode 65 = Boot
+control alt keycode 117 = Boot
diff --git a/keymaps/mac/mac-de-latin1.kmap b/keymaps/mac/mac-de-latin1.kmap
new file mode 100644
index 0000000..afacdde
--- /dev/null
+++ b/keymaps/mac/mac-de-latin1.kmap
@@ -0,0 +1,57 @@
+# mac-de-latin1.kmap: German keymap
+# (Renamed from gr-latin1.map, since it is not a Greek map.)
+# Some changes due to Olaf Flebbe (flebbe@pluto.tat.physik.uni-tuebingen.de)
+# More changes by Jochen Hein <jochen.hein@delphi.central.de>.
+
+
+alt_is_meta
+include "include/mac-qwerty-layout"
+ altgr keycode 12 = at
+ altgr keycode 46 = mu
+#include "linux-with-alt-and-altgr"
+include "mac-linux-keys-bare.inc"
+ plain keycode 65 = KP_Comma
+include "euro.inc"
+compose as usual for "iso-8859-1"
+strings as usual
+
+# Normal Shift AltGr Strg
+# Normal Shift AltGr Shift+AltGr Ctrl Shift+Ctrl AltGr+Ctrl Shift+AltGr+Ctrl Alt Shift+Alt AltGr+Alt Shift+AltGr+Alt
+keycode 26 = seven slash braceleft a b c d e f g h i j k
+keycode 18 = one exclam
+ shift altgr keycode 18 = at
+keycode 19 = two quotedbl twosuperior nul
+keycode 20 = three section threesuperior Escape
+keycode 21 = four dollar
+keycode 23 = five percent
+keycode 22 = six ampersand
+keycode 28 = eight parenleft bracketleft
+keycode 25 = nine parenright bracketright
+ control altgr keycode 25 = Control_bracketright
+keycode 29 = zero equal braceright
+keycode 27 = ssharp question backslash
+ control altgr keycode 27 = Control_backslash
+keycode 24 = dead_acute dead_grave
+ alt keycode 24 = Meta_acute
+ shift alt keycode 24 = Meta_grave
+keycode 33 = +udiaeresis +Udiaeresis
+keycode 30 = plus asterisk dead_tilde
+keycode 41 = +odiaeresis +Odiaeresis
+keycode 39 = +adiaeresis +Adiaeresis
+keycode 10 = dead_circumflex degree Meta_asciicircum Control_asciicircum
+keycode 42 = numbersign apostrophe
+keycode 43 = comma semicolon
+keycode 47 = period colon
+keycode 44 = minus underscore Meta_minus
+ shift control keycode 44 = Control_underscore
+keycode 49 = space space Meta_space nul
+keycode 10 = less greater bar
+
+keycode 16 = z
+keycode 6 = y
+
+ alt keycode 12 = at
+ alt keycode 50 = bar
+# altgr keycode 26 = bar
+ alt keycode 30 = dead_tilde
+ alt keycode 45 = dead_tilde
diff --git a/keymaps/mac/mac-de2-ext.kmap b/keymaps/mac/mac-de2-ext.kmap
new file mode 100644
index 0000000..19a6300
--- /dev/null
+++ b/keymaps/mac/mac-de2-ext.kmap
@@ -0,0 +1,271 @@
+#
+# Mac Extended II Tastatur deutsch
+# abgeleitet von mac-fr2-ext.map
+#
+# Mai 1999, Thomas Adams, tadams@fh-dortmund.de
+#
+# Sonderzeichen, die es auf der Tastatur nicht gibt, habe ich so angeordnet:
+#
+# @ : AltGr + q
+# | : AltGr + #
+# ~ : AltGr + +
+# \ : AltGr + ß
+# { : AltGr + 7
+# } : AltGr + 0
+# [ : AltGr + 8
+# ] : AltGr + 9
+#
+#
+# Ich habe viele der "Control_" und "Meta_" Einstellungen einfach so gelassen,
+# wie sie waren, einfach weil ich nichts so recht damit anfangen kann. :)
+# Wer mir in der Beziehung auf die Sprünge helfen möchte, bitte mailen.
+#
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+keycode 1 = s
+keycode 2 = +d +D Hex_D Control_d Control_d Meta_d Meta_Control_d
+keycode 3 = +f +F Hex_F Control_f Control_f Meta_f Meta_Control_f
+keycode 4 = h
+keycode 5 = g
+keycode 6 = y
+keycode 7 = x
+keycode 8 = +c +C Hex_C Control_c Control_c Meta_c Meta_Control_c
+keycode 9 = v
+keycode 10 = dead_circumflex degree
+keycode 11 = +b +B Hex_B Control_b Control_b Meta_b Meta_Control_b
+keycode 12 = +q +Q at
+keycode 13 = w
+keycode 14 = +e +E Hex_E Control_e Control_e Meta_e Meta_Control_e
+keycode 15 = r
+keycode 16 = z
+keycode 17 = t
+keycode 18 = one exclam
+ alt keycode 18 = Meta_one
+keycode 19 = two quotedbl nul nul nul Meta_two
+keycode 20 = three section
+ control keycode 20 = Escape
+ alt keycode 20 = Meta_three
+keycode 21 = four dollar nul Control_backslash
+ alt keycode 21 = Meta_four
+keycode 22 = six ampersand
+ control keycode 22 = Control_asciicircum
+ alt keycode 22 = Meta_six
+keycode 23 = five percent
+ control keycode 23 = Control_bracketright
+ alt keycode 23 = Meta_five
+keycode 24 = dead_acute dead_grave
+ alt keycode 24 = Meta_equal
+keycode 25 = nine parenright bracketright
+ alt keycode 25 = Meta_nine
+keycode 26 = seven slash braceleft Control_underscore
+ alt keycode 26 = Meta_seven
+keycode 27 = ssharp question backslash Control_underscore Control_underscore Meta_minus
+keycode 28 = eight parenleft bracketleft Delete
+ alt keycode 28 = Meta_eight
+keycode 29 = zero equal braceright
+ alt keycode 29 = Meta_zero
+keycode 30 = plus asterisk asciitilde Control_bracketright
+ alt keycode 30 = Meta_bracketright
+keycode 31 = o
+keycode 32 = u
+keycode 33 = +udiaeresis +Udiaeresis
+ control keycode 33 = Escape
+ alt keycode 33 = Meta_bracketleft
+keycode 34 = i
+keycode 35 = p
+keycode 36 = Return
+ alt keycode 36 = Meta_Control_m
+keycode 37 = l
+keycode 38 = j
+keycode 39 = +adiaeresis +Adiaeresis
+ control keycode 39 = Control_g
+ alt keycode 39 = Meta_apostrophe
+keycode 40 = k
+keycode 41 = +odiaeresis +Odiaeresis
+ alt keycode 41 = Meta_semicolon
+keycode 42 = numbersign apostrophe bar
+ control keycode 42 = Control_backslash
+ alt keycode 42 = Meta_backslash
+keycode 43 = comma semicolon
+ alt keycode 43 = Meta_comma
+keycode 44 = minus underscore
+ control keycode 44 = Delete
+ alt keycode 44 = Meta_slash
+keycode 45 = n
+keycode 46 = m
+keycode 47 = period colon
+ control keycode 47 = Compose
+ alt keycode 47 = backslash
+keycode 48 = Tab Tab
+ alt keycode 48 = Meta_Tab
+keycode 49 = space space
+ control keycode 49 = nul
+ alt keycode 49 = Meta_space
+keycode 50 = less greater
+ control keycode 50 = nul
+ alt keycode 50 = Meta_grave
+keycode 51 = BackSpace BackSpace
+ control keycode 51 = Delete
+ alt keycode 51 = Meta_Delete
+keycode 52 =
+keycode 53 = Escape Escape
+ alt keycode 53 = Meta_Escape
+keycode 54 = Control
+keycode 55 = Alt
+keycode 56 = Shift
+keycode 57 = Caps_Lock
+keycode 58 = AltGr
+keycode 59 = Left
+ alt keycode 59 = Decr_Console
+keycode 60 = Right
+ alt keycode 60 = Incr_Console
+keycode 61 = Down
+keycode 62 = Up
+keycode 63 =
+keycode 64 =
+keycode 65 = KP_Period
+keycode 66 =
+keycode 67 = KP_Multiply
+keycode 68 =
+keycode 69 = KP_Add
+keycode 70 =
+keycode 71 = Num_Lock
+keycode 72 =
+keycode 73 =
+keycode 74 =
+keycode 75 = KP_Divide
+keycode 76 = KP_Enter
+keycode 77 =
+keycode 78 = KP_Subtract
+keycode 79 =
+keycode 80 =
+keycode 81 = equal
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_1
+ altgr keycode 83 = Hex_1
+ alt keycode 83 = Ascii_1
+keycode 84 = KP_2
+ altgr keycode 84 = Hex_2
+ alt keycode 84 = Ascii_2
+keycode 85 = KP_3
+ altgr keycode 85 = Hex_3
+ alt keycode 85 = Ascii_3
+keycode 86 = KP_4
+ altgr keycode 86 = Hex_4
+ alt keycode 86 = Ascii_4
+keycode 87 = KP_5
+ altgr keycode 87 = Hex_5
+ alt keycode 87 = Ascii_5
+keycode 88 = KP_6
+ altgr keycode 88 = Hex_6
+ alt keycode 88 = Ascii_6
+keycode 89 = KP_7
+ altgr keycode 89 = Hex_7
+ alt keycode 89 = Ascii_7
+keycode 90 = +a +A Hex_A Control_a Control_a Meta_a Meta_Control_a
+keycode 91 = KP_8
+ altgr keycode 91 = Hex_8
+ alt keycode 91 = Ascii_8
+keycode 92 = KP_9
+ altgr keycode 92 = Hex_9
+ alt keycode 92 = Ascii_9
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = F5
+ shift keycode 96 = F15
+ altgr keycode 96 = Console_17
+ shift control keycode 96 = VoidSymbol
+ alt keycode 96 = Console_5
+ control alt keycode 96 = Console_5
+keycode 97 = F6
+ shift keycode 97 = F16
+ altgr keycode 97 = Console_18
+ shift control keycode 97 = VoidSymbol
+ alt keycode 97 = Console_6
+ control alt keycode 97 = Console_6
+keycode 98 = F7
+ shift keycode 98 = F17
+ altgr keycode 98 = Console_19
+ shift control keycode 98 = VoidSymbol
+ alt keycode 98 = Console_7
+ control alt keycode 98 = Console_7
+keycode 99 = F3
+ shift keycode 99 = F13
+ altgr keycode 99 = Console_15
+ shift control keycode 99 = VoidSymbol
+ alt keycode 99 = Console_3
+ control alt keycode 99 = Console_3
+keycode 100 = F8
+ shift keycode 100 = F18
+ altgr keycode 100 = Console_20
+ shift control keycode 100 = VoidSymbol
+ alt keycode 100 = Console_8
+ control alt keycode 100 = Console_8
+keycode 101 = F9
+ shift keycode 101 = F19
+ altgr keycode 101 = Console_21
+ shift control keycode 101 = VoidSymbol
+ alt keycode 101 = Console_9
+ control alt keycode 101 = Console_9
+keycode 102 =
+keycode 103 = F11
+ altgr keycode 103 = Console_23
+ shift control keycode 103 = VoidSymbol
+ alt keycode 103 = Console_11
+ control alt keycode 103 = Console_11
+keycode 104 =
+keycode 105 = F13
+keycode 106 =
+keycode 107 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 107 = Scroll_Lock
+keycode 108 =
+keycode 109 = F10
+ shift keycode 109 = F20
+ altgr keycode 109 = Console_22
+ shift control keycode 109 = VoidSymbol
+ alt keycode 109 = Console_10
+ control alt keycode 109 = Console_10
+keycode 110 =
+keycode 111 = F12
+ altgr keycode 111 = Console_24
+ shift control keycode 111 = VoidSymbol
+ alt keycode 111 = Console_12
+ control alt keycode 111 = Console_12
+keycode 112 =
+keycode 113 = Pause
+keycode 114 = Insert
+keycode 115 = Find
+keycode 116 = Prior
+ shift keycode 116 = Scroll_Backward
+keycode 117 = Remove
+keycode 118 = F4
+ shift keycode 118 = F14
+ altgr keycode 118 = Console_16
+ shift control keycode 118 = VoidSymbol
+ alt keycode 118 = Console_4
+ control alt keycode 118 = Console_4
+keycode 119 = Select
+keycode 120 = F2
+ shift keycode 120 = F12
+ altgr keycode 120 = Console_14
+ shift control keycode 120 = VoidSymbol
+ alt keycode 120 = Console_2
+ control alt keycode 120 = Console_2
+keycode 121 = Next
+ shift keycode 121 = Scroll_Forward
+keycode 122 = F1
+ shift keycode 122 = F11
+ altgr keycode 122 = Console_13
+ shift control keycode 122 = VoidSymbol
+ alt keycode 122 = Console_1
+ control alt keycode 122 = Console_1
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+ shift control keycode 127 = Boot
diff --git a/keymaps/mac/mac-dvorak.kmap b/keymaps/mac/mac-dvorak.kmap
new file mode 100644
index 0000000..e91d178
--- /dev/null
+++ b/keymaps/mac/mac-dvorak.kmap
@@ -0,0 +1,79 @@
+# Dvorak keymap for Macintosh (mac-dvorak.kmap)
+#
+# Author: Björn Jacke <bjacke@suse.de>, 2001
+#
+# Changelog:
+# 2001-04-22 Björn Jacke <bjacke@suse.de>
+# - initial version
+#
+
+alt_is_meta
+include "mac-linux-keys-bare.inc"
+compose as usual for "iso-8859-1"
+strings as usual
+
+########### ROW 1 (function keys)
+
+########### ROW 2
+keycode 18 = one exclam
+keycode 19 = two at at nul nul
+keycode 20 = three numbersign
+ control keycode 20 = Escape
+keycode 21 = four dollar dollar Control_backslash
+keycode 23 = five percent
+ control keycode 23 = Control_bracketright
+keycode 22 = six asciicircum
+ control keycode 22 = Control_asciicircum
+keycode 26 = seven ampersand braceleft Control_underscore
+keycode 28 = eight asterisk bracketleft Delete
+keycode 25 = nine parenleft bracketright
+keycode 29 = zero parenright braceright
+keycode 27 = bracketleft braceleft
+ control keycode 27 = Escape
+keycode 24 = bracketright braceright asciitilde Control_bracketright
+
+########### ROW 3
+keycode 12 = apostrophe quotedbl
+ control keycode 12 = Control_g
+keycode 13 = comma less
+keycode 14 = period greater
+keycode 15 = p
+keycode 17 = y
+keycode 16 = f
+keycode 32 = g
+keycode 34 = c
+keycode 31 = r
+keycode 35 = l
+keycode 33 = slash question
+ control keycode 33 = Delete
+keycode 30 = equal plus
+keycode 1 = o
+keycode 2 = e
+keycode 3 = u
+keycode 5 = i
+keycode 4 = d
+keycode 38 = h
+keycode 40 = t
+keycode 37 = n
+keycode 41 = s
+keycode 39 = minus underscore backslash Control_underscore Control_underscore
+keycode 50 = grave asciitilde
+ control keycode 50 = nul
+
+########### ROW 4
+keycode 42 = backslash bar
+ control keycode 43 = Control_backslash
+keycode 6 = semicolon colon
+keycode 7 = q
+keycode 8 = j
+keycode 9 = k
+keycode 11 = x
+keycode 45 = b
+keycode 46 = m
+keycode 43 = w
+keycode 47 = v
+keycode 44 = z
+
+########### ROW 5
+
+########### ROW 6
diff --git a/keymaps/mac/mac-es.kmap b/keymaps/mac/mac-es.kmap
new file mode 100644
index 0000000..79c44c0
--- /dev/null
+++ b/keymaps/mac/mac-es.kmap
@@ -0,0 +1,33 @@
+# mac-es.kmap olh@suse.de
+
+include "mac-qwerty-layout.inc"
+include "mac-linux-keys-bare.inc"
+strings as usual
+compose as usual for "iso-8859-1"
+
+
+
+keycode 50 = bracketleft bracketright braceleft braceright
+keycode 18 = one exclamdown
+keycode 19 = two exclam
+keycode 20 = three numbersign sterling
+keycode 21 = four dollar dollar Control_backslash
+keycode 23 = five percent
+keycode 22 = six slash
+keycode 26 = seven ampersand bar
+keycode 28 = eight asterisk degree
+keycode 25 = nine parenleft sterling
+keycode 29 = zero parenright
+keycode 27 = minus underscore
+keycode 24 = equal plus
+
+keycode 30 = apostrophe degree
+keycode 33 = grave diaeresis bar
+keycode 41 = ntilde Ntilde asciitilde
+keycode 39 = semicolon colon
+keycode 42 = apostrophe quotedbl
+keycode 10 = less greater bracketleft braceleft
+keycode 43 = comma questiondown
+keycode 47 = period question
+keycode 44 = ccedilla Ccedilla
+keycode 65 = KP_Comma
diff --git a/keymaps/mac/mac-fi-latin1.kmap b/keymaps/mac/mac-fi-latin1.kmap
new file mode 100644
index 0000000..01d9462
--- /dev/null
+++ b/keymaps/mac/mac-fi-latin1.kmap
@@ -0,0 +1,68 @@
+# mac-fi-latin1.kmap
+# converted from mac-us-ext by bronx 070600
+# tested on MacAlly ext USB kbd
+# euro sign on number 4, keycode 21
+#
+# keycode 0 is the 'a', for some reason keycode 90 is
+# also defined as an 'a', I'm not sure why.
+#
+alt_is_meta
+include "mac-qwerty-layout"
+include "mac-linux-keys-bare.inc"
+include "mac-euro.map"
+compose as usual for "iso-8859-1"
+strings as usual
+
+keycode 18 = one exclam
+ alt keycode 18 = Meta_one
+keycode 19 = two quotedbl quotedbl nul nul
+ alt keycode 19 = Meta_two
+keycode 20 = three numbersign
+ control keycode 20 = Escape
+ alt keycode 20 = Meta_three
+keycode 21 = four dollar currency Control_backslash
+ alt keycode 21 = Meta_four
+keycode 22 = six ampersand
+ control keycode 22 = Control_asciicircum
+ alt keycode 22 = Meta_six
+keycode 23 = five percent
+ control keycode 23 = Control_bracketright
+ alt keycode 23 = Meta_five
+keycode 24 = acute grave
+ alt keycode 24 = Meta_equal
+keycode 25 = nine parenright bracketright braceright
+ alt keycode 25 = braceright
+keycode 26 = seven slash bar
+ alt keycode 26 = backslash
+keycode 27 = plus question backslash Control_underscore Control_underscore Meta_minus
+keycode 28 = eight parenleft bracketleft
+ alt keycode 28 = braceleft
+keycode 29 = zero equal braceright
+ alt keycode 29 = Meta_zero
+keycode 30 = diaeresis asciicircum asciitilde Control_bracketright
+ alt keycode 30 = Meta_bracketright
+keycode 33 = aring Aring
+ control keycode 33 = Escape
+ alt keycode 33 = Meta_bracketleft
+keycode 39 = adiaeresis Adiaeresis
+ control keycode 39 = Control_g
+ alt keycode 39 = Meta_apostrophe
+keycode 41 = odiaeresis Odiaeresis
+ alt keycode 41 = Meta_semicolon
+keycode 42 = apostrophe asterisk at
+ control keycode 42 = Control_backslash
+ alt keycode 42 = Meta_backslash
+keycode 43 = comma semicolon
+ alt keycode 43 = Meta_comma
+keycode 44 = minus underscore
+ control keycode 44 = Delete
+ alt keycode 44 = Meta_minus
+keycode 47 = period colon
+ control keycode 47 = Compose
+ alt keycode 47 = Meta_period
+keycode 10 = less greater
+ control keycode 10 = nul
+ alt keycode 10 = Meta_grave
+keycode 51 = Delete Remove
+ alt keycode 51 = Meta_Delete
+keycode 65 = KP_Period
diff --git a/keymaps/mac/mac-fr-ext.kmap b/keymaps/mac/mac-fr-ext.kmap
new file mode 100644
index 0000000..f06c629
--- /dev/null
+++ b/keymaps/mac/mac-fr-ext.kmap
@@ -0,0 +1,298 @@
+# marc.shapiro@inria.fr 4-october-1998
+# French Macintosh keyboard
+# attempt to align to the standard Mac meaning of keys.
+# mostly intuitive!
+# option=AltGr; Apple/Command=Alt (==> meta)
+# changes : Etienne Herlent <eherlent@linux-france.org> june 2000
+# adapted to "linux" keycodes :
+# Martin Costabel <costabel@wanadoo.fr> 3-jan-2001
+# changes for '=' symbol from the numeric keybap to work :
+# Etienne Herlent <eherlent@linux-france.org> 14-jan-2001
+# TODO: CONTROL AND META COMBINATIONS
+
+charset "iso-8859-1"
+#keymaps 0-9,11-12
+
+compose as usual for "iso-8859-1"
+alt_is_meta
+
+keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+ shift alt keycode 1 = Meta_Escape
+
+# 1st row
+keycode 41 = at numbersign
+ altgr keycode 41 = periodcentered
+ alt keycode 41 = Meta_at
+ control keycode 41 = nul
+ shift alt keycode 41 = Meta_numbersign
+
+keycode 2 = ampersand one VoidSymbol dead_acute
+ alt keycode 2 = Meta_ampersand
+ shift alt keycode 2 = Meta_one
+
+keycode 3 = eacute two ediaeresis Eacute
+ shift alt keycode 3 = Meta_two
+
+keycode 4 = quotedbl three
+ alt keycode 4 = Meta_quotedbl
+ shift alt keycode 4 = Meta_three
+
+keycode 5 = apostrophe four
+ alt keycode 5 = Meta_apostrophe
+ shift alt keycode 5 = Meta_four
+
+keycode 6 = parenleft five braceleft bracketleft
+ alt keycode 6 = Meta_parenleft
+ shift alt keycode 6 = Meta_five
+
+# **** insert meta, control
+keycode 7 = section six paragraph aring
+ shift alt keycode 7 = Meta_six
+
+keycode 8 = egrave seven guillemotleft guillemotright
+ shift alt keycode 8 = Meta_seven
+
+keycode 9 = exclam eight exclamdown Ucircumflex
+ alt keycode 9 = Meta_exclam
+ shift alt keycode 9 = Meta_eight
+
+keycode 10 = ccedilla nine Ccedilla Aacute
+ shift alt keycode 10 = Meta_nine
+
+keycode 11 = agrave zero oslash
+ shift alt keycode 11 = Meta_zero
+
+keycode 12 = parenright degree braceright bracketright
+ alt keycode 12 = Meta_parenright
+
+keycode 13 = minus underscore
+ alt keycode 13 = Meta_minus
+ shift alt keycode 13 = Meta_underscore
+ shift control keycode 13 = Control_underscore
+
+keycode 14 = Delete BackSpace
+ alt keycode 14 = Meta_Delete
+ shift alt keycode 14 = Meta_Delete
+
+# 2nd row
+
+keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+ shift alt keycode 15 = Meta_Tab
+
+keycode 16 = +a +A ae AE
+ control keycode 16 = Control_a
+keycode 17 = +z +Z Acircumflex Aring
+keycode 18 = +e +E ecircumflex Ecircumflex
+keycode 19 = +r +R registered currency
+keycode 20 = +t +T
+keycode 21 = +y +Y Uacute VoidSymbol
+keycode 22 = +u +U VoidSymbol ordfeminine
+keycode 23 = +i +I icircumflex idiaeresis
+keycode 24 = +o +O
+keycode 25 = +p +P VoidSymbol Ugrave
+keycode 26 = dead_circumflex dead_diaeresis ocircumflex Ocircumflex
+ control keycode 26 = Control_asciicircum
+keycode 27 = dollar asterisk VoidSymbol yen
+ alt keycode 27 = Meta_dollar
+ shift alt keycode 27 = Meta_dollar
+
+keycode 28 = Return
+
+# 3d row
+
+keycode 58 = Caps_Lock
+keycode 30 = +q +Q acircumflex Agrave
+ control keycode 30 = Control_q
+keycode 31 = +s +S Ograve VoidSymbol
+keycode 32 = +d +D
+keycode 33 = +f +F
+keycode 34 = +g +G
+keycode 35 = +h +H Igrave Icircumflex
+keycode 36 = +j +J Idiaeresis Iacute
+keycode 37 = +k +K Egrave Ediaeresis
+keycode 38 = +l +L notsign bar
+# alt altgr keycode 38 = Meta_notsign # Doesn't work???
+ shift alt altgr keycode 38 = Meta_bar
+keycode 39 = +m +M mu Oacute
+keycode 40 = ugrave percent Ugrave ucircumflex
+ shift alt keycode 40 = Meta_percent
+keycode 43 = dead_grave pound at numbersign
+ alt keycode 43 = Meta_grave
+# shift alt keycode 43 = Meta_sterling # doesn't work ?
+# altgr keycode 43 = Meta_at
+# shift altgr keycode 43 = Meta_numbersign
+
+# 4th row
+keycode 42 = Shift
+
+keycode 86 = less greater
+
+keycode 44 = +w +W
+keycode 45 = +x +X
+keycode 46 = +c +C copyright cent
+keycode 47 = +v +V
+keycode 48 = +b +B ssharp
+
+keycode 49 = +n +N dead_tilde asciitilde
+keycode 50 = comma question VoidSymbol questiondown
+ shift control keycode 50 = Delete
+keycode 51 = semicolon period VoidSymbol periodcentered
+keycode 52 = colon slash division backslash
+ shift altgr control keycode 52 = Control_backslash
+keycode 53 = equal plus VoidSymbol plusminus
+
+# 5th row
+keycode 29 = Control
+
+# Option key:
+keycode 56 = AltGr
+
+# Apple/Command key:
+keycode 125 = Alt
+
+keycode 57 = space space nobreakspace nobreakspace
+ control keycode 57 = nul
+
+# 'fn' (yellow key labels)
+
+## TO DO
+ keycode 55 = KP_Multiply
+
+# function keys
+
+keycode 59 = F1 F11 Console_13
+ control keycode 59 = F1
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F12 Console_14
+ control keycode 60 = F2
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F13 Console_15
+ control keycode 61 = F3
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F14 Console_16
+ control keycode 62 = F4
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F15 Console_17
+ control keycode 63 = F5
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F16 Console_18
+ control keycode 64 = F6
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F17 Console_19
+ control keycode 65 = F7
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F18 Console_20
+ control keycode 66 = F8
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F19 Console_21
+ control keycode 67 = F9
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F20 Console_22
+ control keycode 68 = F10
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = seven seven
+ alt keycode 71 = Ascii_7
+keycode 72 = eight eight
+ alt keycode 72 = Ascii_8
+keycode 73 = nine nine
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = four four
+ alt keycode 75 = Ascii_4
+keycode 76 = five five
+ alt keycode 76 = Ascii_5
+keycode 77 = six six
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = one one
+ alt keycode 79 = Ascii_1
+keycode 80 = two two
+ alt keycode 80 = Ascii_2
+keycode 81 = three
+ alt keycode 81 = Ascii_3
+keycode 82 = zero zero
+ alt keycode 82 = Ascii_0
+keycode 83 = comma period
+# altgr control keycode 65 = Boot
+ control alt keycode 83 = Boot
+keycode 87 = F11 F11 Console_23
+ control keycode 87 = F11
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F12 Console_24
+ control keycode 88 = F12
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+keycode 96 = KP_Enter
+keycode 98 = KP_Divide
+keycode 117 = equal
+keycode 103 = Up
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 119 = Pause
+keycode 110 = Insert
+keycode 111 = Remove
+keycode 102 = Home
+keycode 107 = End
+keycode 54 = Shift
+keycode 124 = AltGr
+
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+string F21 = ""
+string F22 = ""
+string F23 = ""
+string F24 = ""
+string F25 = ""
+string F26 = ""
+#
+
diff --git a/keymaps/mac/mac-fr.kmap b/keymaps/mac/mac-fr.kmap
new file mode 100644
index 0000000..c493d7e
--- /dev/null
+++ b/keymaps/mac/mac-fr.kmap
@@ -0,0 +1,123 @@
+# marc.shapiro@inria.fr 4-october-1998
+# French Macintosh keyboard
+# attempt to align to the standard Mac meaning of keys.
+# mostly intuitive!
+# option=AltGr; Apple/Command=Alt (==> meta)
+
+# TODO: CONTROL AND META COMBINATIONS
+
+charset "iso-8859-1"
+include "mac-azerty-layout.inc"
+include "mac-linux-keys-bare.inc"
+compose as usual for "iso-8859-1"
+strings as usual
+
+# 1st row
+keycode 50 = at numbersign
+ alt keycode 50 = Meta_at
+ control keycode 50 = nul
+ shift alt keycode 50 = Meta_numbersign
+
+keycode 18 = ampersand one
+ alt keycode 18 = Meta_ampersand
+ shift alt keycode 18 = Meta_one
+
+keycode 19 = eacute two
+ shift alt keycode 19 = Meta_two
+
+keycode 20 = quotedbl three
+ alt keycode 20 = Meta_quotedbl
+ shift alt keycode 20 = Meta_three
+
+keycode 21 = apostrophe four
+ alt keycode 21 = Meta_apostrophe
+ shift alt keycode 21 = Meta_four
+
+keycode 23 = parenleft five braceleft bracketleft
+ alt keycode 23 = Meta_parenleft
+ shift alt keycode 23 = Meta_five
+
+# **** insert meta, control
+keycode 22 = section six
+ shift alt keycode 22 = Meta_six
+
+keycode 26 = egrave seven guillemotleft guillemotright
+ shift alt keycode 26 = Meta_seven
+
+keycode 28 = exclam eight
+ alt keycode 28 = Meta_exclam
+ shift alt keycode 28 = Meta_eight
+
+keycode 25 = ccedilla nine
+ shift alt keycode 25 = Meta_nine
+
+keycode 29 = agrave zero
+ shift alt keycode 29 = Meta_zero
+
+keycode 27 = parenright degree braceright bracketright
+ alt keycode 27 = Meta_parenright
+
+keycode 24 = minus underscore
+ alt keycode 24 = Meta_minus
+ shift alt keycode 24 = Meta_underscore
+ shift control keycode 24 = Control_underscore
+
+# 2nd row
+
+
+keycode 33 = dead_circumflex dead_diaeresis
+ control keycode 33 = Control_asciicircum
+
+keycode 30 = dollar asterisk VoidSymbol yen
+ alt keycode 30 = Meta_dollar
+ shift alt keycode 30 = Meta_dollar
+
+
+# 3d row
+
+ altgr keycode 37 = notsign
+ shift altgr keycode 37 = bar
+# alt altgr keycode 37 = Meta_notsign # Doesn't work???
+ shift alt altgr keycode 37 = Meta_bar
+
+
+keycode 39 = ugrave percent
+ shift alt keycode 39 = Meta_percent
+
+keycode 42 = dead_grave sterling at numbersign
+ alt keycode 42 = Meta_grave
+# shift alt keycode 42 = Meta_sterling # doesn't work ?
+ altgr keycode 42 = Meta_at
+ shift altgr keycode 42 = Meta_numbersign
+
+# 4th row
+
+keycode 10 = less greater
+ alt keycode 10 = Meta_less
+ shift alt keycode 10 = Meta_greater
+
+
+keycode 45 = +n N dead_tilde
+ control keycode 45 = Control_n
+ shift control keycode 45 = Control_n
+ alt keycode 45 = Meta_n
+ shift alt keycode 45 = Meta_n
+
+keycode 46 = comma question
+ alt keycode 46 = Meta_comma
+ shift alt keycode 46 = Meta_question
+ shift control keycode 46 = Delete
+
+keycode 43 = semicolon period
+ alt keycode 43 = Meta_semicolon
+ shift alt keycode 43 = Meta_period
+
+keycode 47 = colon slash division backslash
+ alt keycode 47 = Meta_colon
+ shift alt keycode 47 = Meta_slash
+ shift altgr control keycode 47 = Control_backslash
+
+keycode 44 = equal plus
+ alt keycode 44 = Meta_equal
+ shift alt keycode 44 = Meta_plus
+
diff --git a/keymaps/mac/mac-fr2-ext.kmap b/keymaps/mac/mac-fr2-ext.kmap
new file mode 100644
index 0000000..a3c6b99
--- /dev/null
+++ b/keymaps/mac/mac-fr2-ext.kmap
@@ -0,0 +1,250 @@
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 1 = s
+keycode 2 = +d +D Hex_D Control_d Control_d Meta_d Meta_Control_d
+keycode 3 = +f +F Hex_F Control_f Control_f Meta_f Meta_Control_f
+keycode 4 = h
+keycode 5 = g
+keycode 6 = w
+keycode 7 = x
+keycode 8 = +c +C Hex_C Control_c Control_c Meta_c Meta_Control_c
+keycode 9 = v
+keycode 10 =
+keycode 11 = +b +B Hex_B Control_b Control_b Meta_b Meta_Control_b
+keycode 12 = a
+keycode 13 = z
+keycode 14 = +e +E Hex_E Control_e Control_e Meta_e Meta_Control_e
+keycode 15 = r
+keycode 16 = y
+keycode 17 = t
+keycode 18 = ampersand one
+ alt keycode 18 = Meta_one
+keycode 19 = e two at nul nul Meta_two
+keycode 20 = quotedbl three
+ control keycode 20 = Escape
+ alt keycode 20 = Meta_three
+keycode 21 = apostrophe four dollar Control_backslash
+ alt keycode 21 = Meta_four
+keycode 22 = six six
+ control keycode 22 = Control_asciicircum
+ alt keycode 22 = Meta_six
+keycode 23 = parenleft five
+ control keycode 23 = Control_bracketright
+ alt keycode 23 = Meta_five
+keycode 24 = minus underscore
+ alt keycode 24 = Meta_equal
+keycode 25 = nine nine bracketright
+ alt keycode 25 = Meta_nine
+keycode 26 = e seven braceleft Control_underscore
+ alt keycode 26 = Meta_seven
+keycode 27 = parenright asciitilde backslash Control_underscore Control_underscore Meta_minus
+keycode 28 = exclam eight bracketleft Delete
+ alt keycode 28 = Meta_eight
+keycode 29 = a zero braceright
+ alt keycode 29 = Meta_zero
+keycode 30 = dollar asterisk asciitilde Control_bracketright
+ alt keycode 30 = Meta_bracketright
+keycode 31 = o
+keycode 32 = u
+keycode 33 = asciicircum bar
+ control keycode 33 = Escape
+ alt keycode 33 = Meta_bracketleft
+keycode 34 = i
+keycode 35 = p
+keycode 36 = Return
+ alt keycode 36 = Meta_Control_m
+keycode 37 = l
+keycode 38 = j
+keycode 39 = u percent
+ control keycode 39 = Control_g
+ alt keycode 39 = Meta_apostrophe
+keycode 40 = k
+keycode 41 = m
+ alt keycode 41 = Meta_semicolon
+keycode 42 = grave numbersign
+ control keycode 42 = Control_backslash
+ alt keycode 42 = Meta_backslash
+keycode 43 = semicolon period
+ alt keycode 43 = Meta_comma
+keycode 44 = equal plus
+ control keycode 44 = Delete
+ alt keycode 44 = Meta_slash
+keycode 45 = n
+keycode 46 = comma question
+keycode 47 = colon slash
+ control keycode 47 = Compose
+ alt keycode 47 = backslash
+keycode 48 = Tab Tab
+ alt keycode 48 = Meta_Tab
+keycode 49 = space space
+ control keycode 49 = nul
+ alt keycode 49 = Meta_space
+keycode 50 = less greater
+ control keycode 50 = nul
+ alt keycode 50 = Meta_grave
+keycode 51 = Delete Delete
+ control keycode 51 = BackSpace
+ alt keycode 51 = Meta_Delete
+keycode 52 =
+keycode 53 = Escape Escape
+ alt keycode 53 = Meta_Escape
+keycode 54 = Control
+keycode 55 = Alt
+keycode 56 = Shift
+keycode 57 = Caps_Lock
+keycode 58 = AltGr
+keycode 59 = Left
+ alt keycode 59 = Decr_Console
+keycode 60 = Right
+ alt keycode 60 = Incr_Console
+keycode 61 = Down
+keycode 62 = Up
+keycode 63 =
+keycode 64 =
+keycode 65 = KP_Period
+keycode 66 =
+keycode 67 = KP_Multiply
+keycode 68 =
+keycode 69 = KP_Add
+keycode 70 =
+keycode 71 = Num_Lock
+keycode 72 =
+keycode 73 =
+keycode 74 =
+keycode 75 = KP_Divide
+keycode 76 = KP_Enter
+keycode 77 =
+keycode 78 = KP_Subtract
+keycode 79 =
+keycode 80 =
+keycode 81 =
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_1
+ altgr keycode 83 = Hex_1
+ alt keycode 83 = Ascii_1
+keycode 84 = KP_2
+ altgr keycode 84 = Hex_2
+ alt keycode 84 = Ascii_2
+keycode 85 = KP_3
+ altgr keycode 85 = Hex_3
+ alt keycode 85 = Ascii_3
+keycode 86 = KP_4
+ altgr keycode 86 = Hex_4
+ alt keycode 86 = Ascii_4
+keycode 87 = KP_5
+ altgr keycode 87 = Hex_5
+ alt keycode 87 = Ascii_5
+keycode 88 = KP_6
+ altgr keycode 88 = Hex_6
+ alt keycode 88 = Ascii_6
+keycode 89 = KP_7
+ altgr keycode 89 = Hex_7
+ alt keycode 89 = Ascii_7
+keycode 90 = +q +Q Hex_A Control_a Control_a Meta_a Meta_Control_a
+keycode 91 = KP_8
+ altgr keycode 91 = Hex_8
+ alt keycode 91 = Ascii_8
+keycode 92 = KP_9
+ altgr keycode 92 = Hex_9
+ alt keycode 92 = Ascii_9
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = F5
+ shift keycode 96 = F15
+ altgr keycode 96 = Console_17
+ shift control keycode 96 = VoidSymbol
+ alt keycode 96 = Console_5
+ control alt keycode 96 = Console_5
+keycode 97 = F6
+ shift keycode 97 = F16
+ altgr keycode 97 = Console_18
+ shift control keycode 97 = VoidSymbol
+ alt keycode 97 = Console_6
+ control alt keycode 97 = Console_6
+keycode 98 = F7
+ shift keycode 98 = F17
+ altgr keycode 98 = Console_19
+ shift control keycode 98 = VoidSymbol
+ alt keycode 98 = Console_7
+ control alt keycode 98 = Console_7
+keycode 99 = F3
+ shift keycode 99 = F13
+ altgr keycode 99 = Console_15
+ shift control keycode 99 = VoidSymbol
+ alt keycode 99 = Console_3
+ control alt keycode 99 = Console_3
+keycode 100 = F8
+ shift keycode 100 = F18
+ altgr keycode 100 = Console_20
+ shift control keycode 100 = VoidSymbol
+ alt keycode 100 = Console_8
+ control alt keycode 100 = Console_8
+keycode 101 = F9
+ shift keycode 101 = F19
+ altgr keycode 101 = Console_21
+ shift control keycode 101 = VoidSymbol
+ alt keycode 101 = Console_9
+ control alt keycode 101 = Console_9
+keycode 102 =
+keycode 103 = F11
+ altgr keycode 103 = Console_23
+ shift control keycode 103 = VoidSymbol
+ alt keycode 103 = Console_11
+ control alt keycode 103 = Console_11
+keycode 104 =
+keycode 105 = F13
+keycode 106 =
+keycode 107 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 107 = Scroll_Lock
+keycode 108 =
+keycode 109 = F10
+ shift keycode 109 = F20
+ altgr keycode 109 = Console_22
+ shift control keycode 109 = VoidSymbol
+ alt keycode 109 = Console_10
+ control alt keycode 109 = Console_10
+keycode 110 =
+keycode 111 = F12
+ altgr keycode 111 = Console_24
+ shift control keycode 111 = VoidSymbol
+ alt keycode 111 = Console_12
+ control alt keycode 111 = Console_12
+keycode 112 =
+keycode 113 = Pause
+keycode 114 = Insert
+keycode 115 = Find
+keycode 116 = Prior
+ shift keycode 116 = Scroll_Backward
+keycode 117 = Remove
+keycode 118 = F4
+ shift keycode 118 = F14
+ altgr keycode 118 = Console_16
+ shift control keycode 118 = VoidSymbol
+ alt keycode 118 = Console_4
+ control alt keycode 118 = Console_4
+keycode 119 = Select
+keycode 120 = F2
+ shift keycode 120 = F12
+ altgr keycode 120 = Console_14
+ shift control keycode 120 = VoidSymbol
+ alt keycode 120 = Console_2
+ control alt keycode 120 = Console_2
+keycode 121 = Next
+ shift keycode 121 = Scroll_Forward
+keycode 122 = F1
+ shift keycode 122 = F11
+ altgr keycode 122 = Console_13
+ shift control keycode 122 = VoidSymbol
+ alt keycode 122 = Console_1
+ control alt keycode 122 = Console_1
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+ shift control keycode 127 = Boot
diff --git a/keymaps/mac/mac-fr3.kmap b/keymaps/mac/mac-fr3.kmap
new file mode 100644
index 0000000..1d355ad
--- /dev/null
+++ b/keymaps/mac/mac-fr3.kmap
@@ -0,0 +1,320 @@
+# marc.shapiro@inria.fr 4-october-1998
+# French Macintosh keyboard
+# attempt to align to the standard Mac meaning of keys.
+# mostly intuitive!
+# option=AltGr; Apple/Command=Alt (==> meta)
+
+# TODO: CONTROL AND META COMBINATIONS
+
+charset "iso-8859-1"
+keymaps 0-9,11-12
+
+keycode 53 = Escape
+ alt keycode 53 = Meta_Escape
+ shift alt keycode 53 = Meta_Escape
+
+# 1st row
+keycode 10 = at numbersign
+ alt keycode 10 = Meta_at
+ control keycode 10 = nul
+ shift alt keycode 10 = Meta_numbersign
+
+keycode 18 = ampersand one
+ alt keycode 18 = Meta_ampersand
+ shift alt keycode 18 = Meta_one
+
+keycode 19 = eacute two
+ shift alt keycode 19 = Meta_two
+
+keycode 20 = quotedbl three
+ alt keycode 20 = Meta_quotedbl
+ shift alt keycode 20 = Meta_three
+
+keycode 21 = apostrophe four
+ alt keycode 21 = Meta_apostrophe
+ shift alt keycode 21 = Meta_four
+
+keycode 23 = parenleft five braceleft bracketleft
+ alt keycode 23 = Meta_parenleft
+ shift alt keycode 23 = Meta_five
+
+# **** insert meta, control
+keycode 22 = section six
+ shift alt keycode 22 = Meta_six
+
+keycode 26 = egrave seven guillemotleft guillemotright
+ shift alt keycode 26 = Meta_seven
+
+keycode 28 = exclam eight
+ alt keycode 28 = Meta_exclam
+ shift alt keycode 28 = Meta_eight
+
+keycode 25 = ccedilla nine
+ shift alt keycode 25 = Meta_nine
+
+keycode 29 = agrave zero
+ shift alt keycode 29 = Meta_zero
+
+keycode 27 = parenright degree braceright bracketright
+ alt keycode 27 = Meta_parenright
+
+keycode 24 = minus underscore
+ alt keycode 24 = Meta_minus
+ shift alt keycode 24 = Meta_underscore
+ shift control keycode 24 = Control_underscore
+
+keycode 51 = Delete
+ alt keycode 51 = Meta_Delete
+ shift alt keycode 51 = Meta_Delete
+
+# 2nd row
+
+keycode 48 = Tab
+ alt keycode 48 = Meta_Tab
+ shift alt keycode 48 = Meta_Tab
+
+keycode 12 = a
+keycode 13 = z
+keycode 14 = e
+keycode 15 = r
+keycode 17 = t
+keycode 16 = y
+keycode 32 = u
+keycode 34 = i
+keycode 31 = o
+keycode 35 = p
+
+keycode 33 = dead_circumflex dead_diaeresis
+ control keycode 33 = Control_asciicircum
+
+keycode 30 = dollar asterisk VoidSymbol yen
+ alt keycode 30 = Meta_dollar
+ shift alt keycode 30 = Meta_dollar
+
+keycode 36 = Return
+
+# 3d row
+
+keycode 57 = Caps_Lock
+keycode 0 = q
+keycode 1 = s
+keycode 2 = d
+keycode 3 = f
+keycode 5 = g
+keycode 4 = h
+keycode 38 = j
+keycode 40 = k
+keycode 37 = l
+ altgr keycode 37 = notsign
+ shift altgr keycode 37 = bar
+# alt altgr keycode 37 = Meta_notsign # Doesn't work???
+ shift alt altgr keycode 37 = Meta_bar
+
+keycode 41 = m
+
+keycode 39 = ugrave percent
+ shift alt keycode 39 = Meta_percent
+
+keycode 42 = dead_grave sterling at numbersign
+ alt keycode 42 = Meta_grave
+# shift alt keycode 42 = Meta_sterling # doesn't work ?
+ altgr keycode 42 = Meta_at
+ shift altgr keycode 42 = Meta_numbersign
+
+# 4th row
+keycode 56 = Shift
+
+keycode 50 = less greater
+ alt keycode 50 = Meta_less
+ shift alt keycode 50 = Meta_greater
+
+keycode 6 = w
+keycode 7 = x
+keycode 8 = c
+keycode 9 = v
+keycode 11 = b
+
+keycode 45 = +n N dead_tilde
+ control keycode 45 = Control_n
+ shift control keycode 45 = Control_n
+ alt keycode 45 = Meta_n
+ shift alt keycode 45 = Meta_n
+
+keycode 46 = comma question
+ alt keycode 46 = Meta_comma
+ shift alt keycode 46 = Meta_question
+ shift control keycode 46 = Delete
+
+keycode 43 = semicolon period
+ alt keycode 43 = Meta_semicolon
+ shift alt keycode 43 = Meta_period
+
+keycode 47 = colon slash division backslash
+ alt keycode 47 = Meta_colon
+ shift alt keycode 47 = Meta_slash
+ shift altgr control keycode 47 = Control_backslash
+
+keycode 44 = equal plus
+ alt keycode 44 = Meta_equal
+ shift alt keycode 44 = Meta_plus
+
+# 5th row
+keycode 54 = Control
+
+# Option key:
+keycode 58 = AltGr
+
+# Apple/Command key:
+keycode 55 = Alt
+
+keycode 49 = space
+ control keycode 49 = nul
+ alt keycode 49 = Meta_space
+
+# 'fn' (yellow key labels)
+
+## TO DO
+# keycode 35 = KP_Multiply
+
+# function keys
+
+keycode 127 = F1 F11 Console_13
+ control keycode 127 = F1
+ alt keycode 127 = Console_1
+ control alt keycode 127 = Console_1
+keycode 127 = F2 F12 Console_14
+ control keycode 127 = F2
+ alt keycode 127 = Console_2
+ control alt keycode 127 = Console_2
+keycode 99 = F3 F13 Console_15
+ control keycode 99 = F3
+ alt keycode 99 = Console_3
+ control alt keycode 99 = Console_3
+keycode 127 = F4 F14 Console_16
+ control keycode 127 = F4
+ alt keycode 127 = Console_4
+ control alt keycode 127 = Console_4
+keycode 96 = F5 F15 Console_17
+ control keycode 96 = F5
+ alt keycode 96 = Console_5
+ control alt keycode 96 = Console_5
+keycode 97 = F6 F16 Console_18
+ control keycode 97 = F6
+ alt keycode 97 = Console_6
+ control alt keycode 97 = Console_6
+keycode 98 = F7 F17 Console_19
+ control keycode 98 = F7
+ alt keycode 98 = Console_7
+ control alt keycode 98 = Console_7
+# keycode 58 = F8 F18 Console_20
+# control keycode 58 = F8
+# alt keycode 58 = Console_8
+# control alt keycode 58 = Console_8
+keycode 127 = F9 F19 Console_21
+ control keycode 127 = F9
+ alt keycode 127 = Console_9
+ control alt keycode 127 = Console_9
+keycode 127 = F10 F20 Console_22
+ control keycode 127 = F10
+ alt keycode 127 = Console_10
+ control alt keycode 127 = Console_10
+keycode 71 = Num_Lock
+keycode 127 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 127 = Show_State
+ alt keycode 127 = Scroll_Lock
+keycode 89 = KP_7
+ alt keycode 89 = Ascii_7
+keycode 91 = KP_8
+ alt keycode 91 = Ascii_8
+keycode 92 = KP_9
+ alt keycode 92 = Ascii_9
+keycode 78 = KP_Subtract
+keycode 86 = KP_4
+ alt keycode 86 = Ascii_4
+keycode 87 = KP_5
+ alt keycode 87 = Ascii_5
+keycode 88 = KP_6
+ alt keycode 88 = Ascii_6
+keycode 69 = KP_Add
+keycode 83 = KP_1
+ alt keycode 83 = Ascii_1
+keycode 84 = KP_2
+ alt keycode 84 = Ascii_2
+keycode 85 = KP_3
+ alt keycode 85 = Ascii_3
+keycode 82 = KP_0
+ alt keycode 82 = Ascii_0
+keycode 65 = KP_Period
+# altgr control keycode 65 = Boot
+ control alt keycode 65 = Boot
+keycode 127 = Last_Console
+keycode 127 =
+keycode 127 = less greater bar
+ alt keycode 127 = Meta_less
+keycode 62 = F11 F11 Console_23
+ control keycode 62 = F11
+ alt keycode 62 = Console_11
+ control alt keycode 62 = Console_11
+keycode 127 = F12 F12 Console_24
+ control keycode 127 = F12
+ alt keycode 127 = Console_12
+ control alt keycode 127 = Console_12
+keycode 76 = KP_Enter
+keycode 75 = KP_Divide
+keycode 127 = Control_backslash
+ control keycode 127 = Control_backslash
+ alt keycode 127 = Control_backslash
+
+keycode 127 = Break
+keycode 127 = Find
+keycode 62 = Up
+keycode 127 = Prior
+ shift keycode 127 = Scroll_Backward
+keycode 59 = Left
+ alt keycode 59 = Decr_Console
+keycode 60 = Right
+ alt keycode 60 = Incr_Console
+keycode 127 = Select
+keycode 61 = Down
+keycode 127 = Next
+ shift keycode 127 = Scroll_Forward
+keycode 127 = Insert
+keycode 127 = Remove
+# altgr control keycode 127 = Boot
+ control alt keycode 127 = Boot
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string F21 = ""
+string F22 = ""
+string F23 = ""
+string F24 = ""
+string F25 = ""
+string F26 = ""
+keycode 127 =
+# control shift keycode 127 = Boot
+control alt keycode 65 = Boot
+control alt keycode 117 = Boot
diff --git a/keymaps/mac/mac-fr_CH-latin1.imap b/keymaps/mac/mac-fr_CH-latin1.imap
new file mode 100644
index 0000000..cccc6c8
--- /dev/null
+++ b/keymaps/mac/mac-fr_CH-latin1.imap
@@ -0,0 +1,48 @@
+! Swiss-french keymap for PowerBook G3 (Bronze Series)
+! augmented by keys on macally ikey keyboard
+
+! Shift 1
+! AltGr 2 command key
+! Ctrl 4
+! Alt 8 option key
+! ShiftL 16 not used
+! ShiftR 32 not used
+! CtrlL 64 not used
+! CtrlR 128 not used
+
+! plain,shift,command,control,alt,ctrl-alt
+# from http://www.claudio.ch/Etc/pb-sg.kmap
+# modified by olh@suse.de from mac-de_CH
+
+alt_is_meta
+include "mac-qwerty-layout"
+include "mac-linux-keys-bare.inc"
+include "mac-euro.map"
+compose as usual for "iso-8859-1"
+strings as usual
+
+
+keycode 50 = section degree asciitilde nul Meta_asciitilde
+keycode 18 = one plus
+keycode 19 = two quotedbl at
+keycode 20 = three asterisk numbersign
+keycode 21 = four ccedilla backslash Control_backslash Meta_backslash Meta_Control_backslash
+keycode 22 = six ampersand bracketright Control_bracketright Meta_bracketright Meta_Control_bracketright
+keycode 23 = five percent bracketleft Escape bracketleft Meta_Escape
+keycode 24 = asciicircum grave Control_asciicircum Meta_asciicircum Meta_Control_asciicircum
+keycode 25 = nine parenright braceright Control_bracketright Meta_braceright Meta_Control_bracketright
+keycode 26 = seven slash bar Control_backslash Meta_bar Meta_Control_backslash
+keycode 27 = apostrophe question
+keycode 28 = eight parenleft braceleft Escape Meta_braceleft Meta_Escape
+keycode 29 = zero equal nul nul Meta_equal Meta_nul
+keycode 30 = dead_diaeresis exclam
+keycode 39 = agrave adiaeresis
+keycode 41 = eacute odiaeresis
+keycode 42 = dollar sterling
+keycode 43 = comma semicolon
+keycode 44 = minus underscore backslash Control_underscore Meta_minus Meta_Control_underscore
+keycode 47 = period colon
+keycode 10 = less greater
+keycode 33 = egrave +udiaeresis
+keycode 16 = z
+keycode 6 = y
diff --git a/keymaps/mac/mac-ibook-de-deadkeys.kmap b/keymaps/mac/mac-ibook-de-deadkeys.kmap
new file mode 100644
index 0000000..8b14e8c
--- /dev/null
+++ b/keymaps/mac/mac-ibook-de-deadkeys.kmap
@@ -0,0 +1,310 @@
+# Keymap from Helge Kreutzmann <kreutzm@itp.uni-hannover.de>
+# for iBook in German
+# See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=250259 for details
+#
+# Same as another German keymap, except AltGr mapped to Apple key
+#
+# - Alastair McKinstry, 2004-05-23
+# TODO:
+# Compress this somehow by detemining minimal subset and 'include'ing them
+#
+keymaps 0-2,4-6,8-10,12
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+ shift alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+keycode 3 = two quotedbl twosuperior nul
+ alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_quotedbl
+ control alt keycode 3 = Meta_nul
+keycode 4 = three section threesuperior Escape
+ alt keycode 4 = Meta_three
+ control alt keycode 4 = Meta_Escape
+keycode 5 = four dollar
+ alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+keycode 6 = five percent
+ alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+keycode 7 = six ampersand
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_ampersand
+keycode 8 = seven slash braceleft
+ alt keycode 8 = Meta_seven
+ shift alt keycode 8 = Meta_slash
+ altgr alt keycode 8 = Meta_braceleft
+keycode 9 = eight parenleft bracketleft
+ alt keycode 9 = Meta_eight
+ shift alt keycode 9 = Meta_parenleft
+ altgr alt keycode 9 = Meta_bracketleft
+keycode 10 = nine parenright bracketright
+ altgr control keycode 10 = Control_bracketright
+ alt keycode 10 = Meta_nine
+ shift alt keycode 10 = Meta_parenright
+ altgr alt keycode 10 = Meta_bracketright
+keycode 11 = zero equal braceright
+ alt keycode 11 = Meta_zero
+ shift alt keycode 11 = Meta_equal
+ altgr alt keycode 11 = Meta_braceright
+keycode 12 = ssharp question backslash
+ altgr control keycode 12 = Control_backslash
+ shift alt keycode 12 = Meta_question
+ altgr alt keycode 12 = Meta_backslash
+keycode 13 = dead_acute dead_grave
+ alt keycode 13 = 0x08b4
+ shift alt keycode 13 = Meta_grave
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+ shift alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+ shift alt keycode 15 = Meta_Tab
+keycode 16 = +q +Q at Control_q Control_q Control_q Meta_q Meta_Q Meta_at Meta_Control_q
+keycode 17 = w
+keycode 18 = +e +E euro Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_Control_e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = z
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+keycode 26 = +udiaeresis +Udiaeresis
+keycode 27 = plus asterisk dead_tilde
+ alt keycode 27 = Meta_plus
+ shift alt keycode 27 = Meta_asterisk
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = +l +L at
+keycode 39 = +odiaeresis +Odiaeresis
+keycode 40 = +adiaeresis +Adiaeresis
+keycode 41 = dead_circumflex degree Meta_asciicircum Control_asciicircum
+ control alt keycode 41 = Meta_Control_asciicircum
+keycode 42 = Shift
+keycode 43 = numbersign apostrophe
+ alt keycode 43 = Meta_numbersign
+ shift alt keycode 43 = Meta_apostrophe
+keycode 44 = y
+keycode 45 = x
+keycode 46 = +c +C cent Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_Control_c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = +m +M mu Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_Control_m
+keycode 51 = comma semicolon
+ alt keycode 51 = Meta_comma
+ shift alt keycode 51 = Meta_semicolon
+keycode 52 = period colon
+ alt keycode 52 = Meta_period
+ shift alt keycode 52 = Meta_colon
+keycode 53 = minus underscore Meta_minus
+ shift control keycode 53 = Control_underscore
+ alt keycode 53 = Meta_minus
+ shift alt keycode 53 = Meta_underscore
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+ altgr keycode 55 = Hex_C
+keycode 56 = Alt
+keycode 57 = space space Meta_space nul
+ alt keycode 57 = Meta_space
+ shift alt keycode 57 = Meta_space
+ control alt keycode 57 = Meta_nul
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 Console_13 F25
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F14 Console_14 F26
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F15 Console_15 F27
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F16 Console_16 F28
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F17 Console_17 F29
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F18 Console_18 F30
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F19 Console_19 F31
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F20 Console_20 F32
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F21 Console_21 F33
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F22 Console_22 F34
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+ altgr keycode 69 = Hex_A
+keycode 70 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ altgr keycode 71 = Hex_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ altgr keycode 72 = Hex_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ altgr keycode 73 = Hex_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+ altgr keycode 74 = Hex_D
+keycode 75 = KP_4
+ altgr keycode 75 = Hex_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ altgr keycode 76 = Hex_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ altgr keycode 77 = Hex_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+ altgr keycode 78 = Hex_E
+keycode 79 = KP_1
+ altgr keycode 79 = Hex_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ altgr keycode 80 = Hex_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ altgr keycode 81 = Hex_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Comma
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = less greater bar
+ alt keycode 86 = Meta_less
+ shift alt keycode 86 = Meta_greater
+ altgr alt keycode 86 = Meta_bar
+keycode 87 = F11 F23 Console_23 F35
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F24 Console_24 F36
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+#keycode 96 = KP_Enter
+# altgr keycode 96 = Hex_F
+keycode 96 = Delete
+keycode 97 = Control
+keycode 98 = KP_Divide
+ altgr keycode 98 = Hex_B
+keycode 99 = Control_backslash
+ alt keycode 99 = Meta_Control_backslash
+ shift alt keycode 99 = Meta_Control_backslash
+ altgr alt keycode 99 = Meta_Control_backslash
+ control alt keycode 99 = Meta_Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+ alt keycode 103 = KeyboardSignal
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+ altgr control keycode 112 = VoidSymbol
+ shift alt keycode 112 = VoidSymbol
+ altgr alt keycode 112 = VoidSymbol
+keycode 113 = F13
+ altgr control keycode 113 = VoidSymbol
+ shift alt keycode 113 = VoidSymbol
+ altgr alt keycode 113 = VoidSymbol
+keycode 114 = F14
+ altgr control keycode 114 = VoidSymbol
+ shift alt keycode 114 = VoidSymbol
+ altgr alt keycode 114 = VoidSymbol
+keycode 115 = Help
+ altgr control keycode 115 = VoidSymbol
+ shift alt keycode 115 = VoidSymbol
+ altgr alt keycode 115 = VoidSymbol
+keycode 116 = Do
+ altgr control keycode 116 = VoidSymbol
+ shift alt keycode 116 = VoidSymbol
+ altgr alt keycode 116 = VoidSymbol
+keycode 117 = F17
+ altgr control keycode 117 = VoidSymbol
+ shift alt keycode 117 = VoidSymbol
+ altgr alt keycode 117 = VoidSymbol
+keycode 118 = KP_MinPlus
+ altgr control keycode 118 = VoidSymbol
+ shift alt keycode 118 = VoidSymbol
+ altgr alt keycode 118 = VoidSymbol
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 = AltGr
+ shift keycode 125 = Compose
+keycode 126 = Incr_Console
+keycode 127 = Compose
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
diff --git a/keymaps/mac/mac-ibook-de.kmap b/keymaps/mac/mac-ibook-de.kmap
new file mode 100644
index 0000000..3d7cf68
--- /dev/null
+++ b/keymaps/mac/mac-ibook-de.kmap
@@ -0,0 +1,310 @@
+# Keymap from Helge Kreutzmann <kreutzm@itp.uni-hannover.de>
+# for iBook in German
+# See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=250259 for details
+#
+# Same as another German keymap, except AltGr mapped to Apple key
+#
+# - Alastair McKinstry, 2004-05-23
+# TODO:
+# Compress this somehow by detemining minimal subset and 'include'ing them
+#
+keymaps 0-2,4-6,8-10,12
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+ shift alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+keycode 3 = two quotedbl twosuperior nul
+ alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_quotedbl
+ control alt keycode 3 = Meta_nul
+keycode 4 = three section threesuperior Escape
+ alt keycode 4 = Meta_three
+ control alt keycode 4 = Meta_Escape
+keycode 5 = four dollar
+ alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+keycode 6 = five percent
+ alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+keycode 7 = six ampersand
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_ampersand
+keycode 8 = seven slash braceleft
+ alt keycode 8 = Meta_seven
+ shift alt keycode 8 = Meta_slash
+ altgr alt keycode 8 = Meta_braceleft
+keycode 9 = eight parenleft bracketleft
+ alt keycode 9 = Meta_eight
+ shift alt keycode 9 = Meta_parenleft
+ altgr alt keycode 9 = Meta_bracketleft
+keycode 10 = nine parenright bracketright
+ altgr control keycode 10 = Control_bracketright
+ alt keycode 10 = Meta_nine
+ shift alt keycode 10 = Meta_parenright
+ altgr alt keycode 10 = Meta_bracketright
+keycode 11 = zero equal braceright
+ alt keycode 11 = Meta_zero
+ shift alt keycode 11 = Meta_equal
+ altgr alt keycode 11 = Meta_braceright
+keycode 12 = ssharp question backslash
+ altgr control keycode 12 = Control_backslash
+ shift alt keycode 12 = Meta_question
+ altgr alt keycode 12 = Meta_backslash
+keycode 13 = apostrophe grave
+ alt keycode 13 = 0x08b4
+ shift alt keycode 13 = Meta_grave
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+ shift alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+ shift alt keycode 15 = Meta_Tab
+keycode 16 = +q +Q at Control_q Control_q Control_q Meta_q Meta_Q Meta_at Meta_Control_q
+keycode 17 = w
+keycode 18 = +e +E euro Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_Control_e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = z
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+keycode 26 = +udiaeresis +Udiaeresis
+keycode 27 = plus asterisk asciitilde
+ alt keycode 27 = Meta_plus
+ shift alt keycode 27 = Meta_asterisk
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = +l +L at
+keycode 39 = +odiaeresis +Odiaeresis
+keycode 40 = +adiaeresis +Adiaeresis
+keycode 41 = less greater bar
+ alt keycode 41 = Meta_less
+ shift alt keycode 41 = Meta_greater
+ altgr alt keycode 41 = Meta_bar
+keycode 42 = Shift
+keycode 43 = numbersign apostrophe
+ alt keycode 43 = Meta_numbersign
+ shift alt keycode 43 = Meta_apostrophe
+keycode 44 = y
+keycode 45 = x
+keycode 46 = +c +C cent Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_Control_c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = +m +M mu Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_Control_m
+keycode 51 = comma semicolon
+ alt keycode 51 = Meta_comma
+ shift alt keycode 51 = Meta_semicolon
+keycode 52 = period colon
+ alt keycode 52 = Meta_period
+ shift alt keycode 52 = Meta_colon
+keycode 53 = minus underscore Meta_minus
+ shift control keycode 53 = Control_underscore
+ alt keycode 53 = Meta_minus
+ shift alt keycode 53 = Meta_underscore
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+ altgr keycode 55 = Hex_C
+keycode 56 = Alt
+keycode 57 = space space Meta_space nul
+ alt keycode 57 = Meta_space
+ shift alt keycode 57 = Meta_space
+ control alt keycode 57 = Meta_nul
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 Console_13 F25
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F14 Console_14 F26
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F15 Console_15 F27
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F16 Console_16 F28
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F17 Console_17 F29
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F18 Console_18 F30
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F19 Console_19 F31
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F20 Console_20 F32
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F21 Console_21 F33
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F22 Console_22 F34
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+ altgr keycode 69 = Hex_A
+keycode 70 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ altgr keycode 71 = Hex_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ altgr keycode 72 = Hex_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ altgr keycode 73 = Hex_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+ altgr keycode 74 = Hex_D
+keycode 75 = KP_4
+ altgr keycode 75 = Hex_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ altgr keycode 76 = Hex_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ altgr keycode 77 = Hex_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+ altgr keycode 78 = Hex_E
+keycode 79 = KP_1
+ altgr keycode 79 = Hex_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ altgr keycode 80 = Hex_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ altgr keycode 81 = Hex_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Comma
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 86 = asciicircum degree Meta_asciicircum Control_asciicircum
+ control alt keycode 86 = Meta_Control_asciicircum
+keycode 87 = F11 F23 Console_23 F35
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F24 Console_24 F36
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+#keycode 96 = KP_Enter
+# altgr keycode 96 = Hex_F
+keycode 96 = Delete
+keycode 97 = Control
+keycode 98 = KP_Divide
+ altgr keycode 98 = Hex_B
+keycode 99 = Control_backslash
+ alt keycode 99 = Meta_Control_backslash
+ shift alt keycode 99 = Meta_Control_backslash
+ altgr alt keycode 99 = Meta_Control_backslash
+ control alt keycode 99 = Meta_Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+ alt keycode 103 = KeyboardSignal
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+ altgr control keycode 112 = VoidSymbol
+ shift alt keycode 112 = VoidSymbol
+ altgr alt keycode 112 = VoidSymbol
+keycode 113 = F13
+ altgr control keycode 113 = VoidSymbol
+ shift alt keycode 113 = VoidSymbol
+ altgr alt keycode 113 = VoidSymbol
+keycode 114 = F14
+ altgr control keycode 114 = VoidSymbol
+ shift alt keycode 114 = VoidSymbol
+ altgr alt keycode 114 = VoidSymbol
+keycode 115 = Help
+ altgr control keycode 115 = VoidSymbol
+ shift alt keycode 115 = VoidSymbol
+ altgr alt keycode 115 = VoidSymbol
+keycode 116 = Do
+ altgr control keycode 116 = VoidSymbol
+ shift alt keycode 116 = VoidSymbol
+ altgr alt keycode 116 = VoidSymbol
+keycode 117 = F17
+ altgr control keycode 117 = VoidSymbol
+ shift alt keycode 117 = VoidSymbol
+ altgr alt keycode 117 = VoidSymbol
+keycode 118 = KP_MinPlus
+ altgr control keycode 118 = VoidSymbol
+ shift alt keycode 118 = VoidSymbol
+ altgr alt keycode 118 = VoidSymbol
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 = AltGr
+ shift keycode 125 = Compose
+keycode 126 = Incr_Console
+keycode 127 = Compose
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
diff --git a/keymaps/mac/mac-it.kmap b/keymaps/mac/mac-it.kmap
new file mode 100644
index 0000000..ebf447e
--- /dev/null
+++ b/keymaps/mac/mac-it.kmap
@@ -0,0 +1,48 @@
+# Apple Keyboard Italiana
+# Cristiano Bertossi bertossi@polimedia.it
+# it-cris.map
+# 18 August 1998
+# modified by olh@suse.de
+
+alt_is_meta
+include "mac-azerty-layout"
+include "mac-linux-keys-bare.inc"
+include "mac-euro.map"
+compose as usual for "iso-8859-1"
+strings as usual
+
+
+# Prima riga
+keycode 50 = at numbersign
+keycode 18 = ampersand one guillemotleft
+keycode 19 = quotedbl two
+keycode 20 = apostrophe three grave
+keycode 21 = parenleft four braceleft bracketleft
+keycode 23 = ccedilla five Ccedilla
+keycode 22 = egrave six
+keycode 26 = parenright seven braceright bracketright
+keycode 28 = sterling eight
+keycode 25 = agrave nine
+keycode 29 = eacute zero
+keycode 27 = minus underscore
+keycode 24 = equal plus
+keycode 51 = Delete Remove
+
+# Seconda riga
+keycode 33 = igrave asciicircum
+keycode 30 = dollar asterisk
+
+# Terza riga
+keycode 39 = ugrave percent
+keycode 42 = section degree at
+
+# Quarta riga
+keycode 10 = less greater
+keycode 8 = c C copyright
+keycode 45 = n
+ altgr keycode 45 = asciitilde
+keycode 46 = comma question questiondown
+keycode 43 = semicolon period
+keycode 47 = colon slash bar backslash
+keycode 44 = ograve exclam
+
diff --git a/keymaps/mac/mac-macbook-de.kmap b/keymaps/mac/mac-macbook-de.kmap
new file mode 100644
index 0000000..37490e3
--- /dev/null
+++ b/keymaps/mac/mac-macbook-de.kmap
@@ -0,0 +1,310 @@
+# Keymap from Helge Kreutzmann <kreutzm@itp.uni-hannover.de>
+# for iBook in German
+# See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=250259 for details
+#
+# Same as another German keymap, except AltGr mapped to Apple key
+#
+# - Alastair McKinstry, 2004-05-23
+# TODO:
+# Compress this somehow by detemining minimal subset and 'include'ing them
+#
+keymaps 0-2,4-6,8-10,12
+keycode 1 = Escape Escape
+ alt keycode 1 = Meta_Escape
+ shift alt keycode 1 = Meta_Escape
+keycode 2 = one exclam
+ alt keycode 2 = Meta_one
+ shift alt keycode 2 = Meta_exclam
+keycode 3 = two quotedbl twosuperior nul
+ alt keycode 3 = Meta_two
+ shift alt keycode 3 = Meta_quotedbl
+ control alt keycode 3 = Meta_nul
+keycode 4 = three section threesuperior Escape
+ alt keycode 4 = Meta_three
+ control alt keycode 4 = Meta_Escape
+keycode 5 = four dollar
+ alt keycode 5 = Meta_four
+ shift alt keycode 5 = Meta_dollar
+keycode 6 = five percent
+ alt keycode 6 = Meta_five
+ shift alt keycode 6 = Meta_percent
+keycode 7 = six ampersand
+ control keycode 7 = Control_asciicircum
+ alt keycode 7 = Meta_six
+ shift alt keycode 7 = Meta_ampersand
+keycode 8 = seven slash braceleft
+ alt keycode 8 = Meta_seven
+ shift alt keycode 8 = Meta_slash
+ altgr alt keycode 8 = Meta_braceleft
+keycode 9 = eight parenleft bracketleft
+ alt keycode 9 = Meta_eight
+ shift alt keycode 9 = Meta_parenleft
+ altgr alt keycode 9 = Meta_bracketleft
+keycode 10 = nine parenright bracketright
+ altgr control keycode 10 = Control_bracketright
+ alt keycode 10 = Meta_nine
+ shift alt keycode 10 = Meta_parenright
+ altgr alt keycode 10 = Meta_bracketright
+keycode 11 = zero equal braceright
+ alt keycode 11 = Meta_zero
+ shift alt keycode 11 = Meta_equal
+ altgr alt keycode 11 = Meta_braceright
+keycode 12 = ssharp question backslash
+ altgr control keycode 12 = Control_backslash
+ shift alt keycode 12 = Meta_question
+ altgr alt keycode 12 = Meta_backslash
+keycode 13 = apostrophe grave
+ alt keycode 13 = 0x08b4
+ shift alt keycode 13 = Meta_grave
+keycode 14 = Delete Delete
+ alt keycode 14 = Meta_Delete
+ shift alt keycode 14 = Meta_Delete
+keycode 15 = Tab Tab
+ alt keycode 15 = Meta_Tab
+ shift alt keycode 15 = Meta_Tab
+keycode 16 = +q +Q at Control_q Control_q Control_q Meta_q Meta_Q Meta_at Meta_Control_q
+keycode 17 = w
+keycode 18 = +e +E euro Control_e Control_e Control_e Meta_e Meta_E Meta_e Meta_Control_e
+keycode 19 = r
+keycode 20 = t
+keycode 21 = z
+keycode 22 = u
+keycode 23 = i
+keycode 24 = o
+keycode 25 = p
+keycode 26 = +udiaeresis +Udiaeresis
+keycode 27 = plus asterisk asciitilde
+ alt keycode 27 = Meta_plus
+ shift alt keycode 27 = Meta_asterisk
+keycode 28 = Return
+ alt keycode 28 = Meta_Control_m
+keycode 29 = Control
+keycode 30 = a
+keycode 31 = s
+keycode 32 = d
+keycode 33 = f
+keycode 34 = g
+keycode 35 = h
+keycode 36 = j
+keycode 37 = k
+keycode 38 = +l +L at
+keycode 39 = +odiaeresis +Odiaeresis
+keycode 40 = +adiaeresis +Adiaeresis
+keycode 86 = asciicircum degree Meta_asciicircum Control_asciicircum
+ control alt keycode 86 = Meta_Control_asciicircum
+keycode 42 = Shift
+keycode 43 = numbersign apostrophe
+ alt keycode 43 = Meta_numbersign
+ shift alt keycode 43 = Meta_apostrophe
+keycode 44 = y
+keycode 45 = x
+keycode 46 = +c +C cent Control_c Control_c Control_c Meta_c Meta_C Meta_c Meta_Control_c
+keycode 47 = v
+keycode 48 = b
+keycode 49 = n
+keycode 50 = +m +M mu Control_m Control_m Control_m Meta_m Meta_M Meta_m Meta_Control_m
+keycode 51 = comma semicolon
+ alt keycode 51 = Meta_comma
+ shift alt keycode 51 = Meta_semicolon
+keycode 52 = period colon
+ alt keycode 52 = Meta_period
+ shift alt keycode 52 = Meta_colon
+keycode 53 = minus underscore Meta_minus
+ shift control keycode 53 = Control_underscore
+ alt keycode 53 = Meta_minus
+ shift alt keycode 53 = Meta_underscore
+keycode 54 = Shift
+keycode 55 = KP_Multiply
+ altgr keycode 55 = Hex_C
+keycode 56 = Alt
+keycode 57 = space space Meta_space nul
+ alt keycode 57 = Meta_space
+ shift alt keycode 57 = Meta_space
+ control alt keycode 57 = Meta_nul
+keycode 58 = Caps_Lock
+keycode 59 = F1 F13 Console_13 F25
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F14 Console_14 F26
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F15 Console_15 F27
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F16 Console_16 F28
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F17 Console_17 F29
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F18 Console_18 F30
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F19 Console_19 F31
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F20 Console_20 F32
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F21 Console_21 F33
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F22 Console_22 F34
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+ altgr keycode 69 = Hex_A
+keycode 70 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = KP_7
+ altgr keycode 71 = Hex_7
+ alt keycode 71 = Ascii_7
+keycode 72 = KP_8
+ altgr keycode 72 = Hex_8
+ alt keycode 72 = Ascii_8
+keycode 73 = KP_9
+ altgr keycode 73 = Hex_9
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+ altgr keycode 74 = Hex_D
+keycode 75 = KP_4
+ altgr keycode 75 = Hex_4
+ alt keycode 75 = Ascii_4
+keycode 76 = KP_5
+ altgr keycode 76 = Hex_5
+ alt keycode 76 = Ascii_5
+keycode 77 = KP_6
+ altgr keycode 77 = Hex_6
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+ altgr keycode 78 = Hex_E
+keycode 79 = KP_1
+ altgr keycode 79 = Hex_1
+ alt keycode 79 = Ascii_1
+keycode 80 = KP_2
+ altgr keycode 80 = Hex_2
+ alt keycode 80 = Ascii_2
+keycode 81 = KP_3
+ altgr keycode 81 = Hex_3
+ alt keycode 81 = Ascii_3
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_Comma
+ altgr control keycode 83 = Boot
+ control alt keycode 83 = Boot
+keycode 84 = Last_Console
+keycode 85 =
+keycode 41 = less greater bar
+ alt keycode 41 = Meta_less
+ shift alt keycode 41 = Meta_greater
+ altgr alt keycode 41 = Meta_bar
+keycode 87 = F11 F23 Console_23 F35
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F24 Console_24 F36
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+keycode 89 =
+keycode 90 =
+keycode 91 =
+keycode 92 =
+keycode 93 =
+keycode 94 =
+keycode 95 =
+#keycode 96 = KP_Enter
+# altgr keycode 96 = Hex_F
+keycode 96 = Delete
+keycode 97 = Control
+keycode 98 = KP_Divide
+ altgr keycode 98 = Hex_B
+keycode 99 = Control_backslash
+ alt keycode 99 = Meta_Control_backslash
+ shift alt keycode 99 = Meta_Control_backslash
+ altgr alt keycode 99 = Meta_Control_backslash
+ control alt keycode 99 = Meta_Control_backslash
+keycode 100 = AltGr
+keycode 101 = Break
+keycode 102 = Find
+keycode 103 = Up
+ alt keycode 103 = KeyboardSignal
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 107 = Select
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 110 = Insert
+keycode 111 = Remove
+ altgr control keycode 111 = Boot
+ control alt keycode 111 = Boot
+keycode 112 = Macro
+ altgr control keycode 112 = VoidSymbol
+ shift alt keycode 112 = VoidSymbol
+ altgr alt keycode 112 = VoidSymbol
+keycode 113 = F13
+ altgr control keycode 113 = VoidSymbol
+ shift alt keycode 113 = VoidSymbol
+ altgr alt keycode 113 = VoidSymbol
+keycode 114 = F14
+ altgr control keycode 114 = VoidSymbol
+ shift alt keycode 114 = VoidSymbol
+ altgr alt keycode 114 = VoidSymbol
+keycode 115 = Help
+ altgr control keycode 115 = VoidSymbol
+ shift alt keycode 115 = VoidSymbol
+ altgr alt keycode 115 = VoidSymbol
+keycode 116 = Do
+ altgr control keycode 116 = VoidSymbol
+ shift alt keycode 116 = VoidSymbol
+ altgr alt keycode 116 = VoidSymbol
+keycode 117 = F17
+ altgr control keycode 117 = VoidSymbol
+ shift alt keycode 117 = VoidSymbol
+ altgr alt keycode 117 = VoidSymbol
+keycode 118 = KP_MinPlus
+ altgr control keycode 118 = VoidSymbol
+ shift alt keycode 118 = VoidSymbol
+ altgr alt keycode 118 = VoidSymbol
+keycode 119 = Pause
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 = Incr_Console
+keycode 126 = AltGr
+ shift keycode 126 = Compose
+keycode 127 = Compose
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
diff --git a/keymaps/mac/mac-macbook-fr.kmap b/keymaps/mac/mac-macbook-fr.kmap
new file mode 100644
index 0000000..70dafd0
--- /dev/null
+++ b/keymaps/mac/mac-macbook-fr.kmap
@@ -0,0 +1,311 @@
+# marc.shapiro@inria.fr 4-october-1998
+# French Macintosh keyboard
+# attempt to align to the standard Mac meaning of keys.
+# mostly intuitive!
+# option=AltGr; Apple/Command=Alt (==> meta)
+# changes : Etienne Herlent <eherlent@linux-france.org> june 2000
+# adapted to "linux" keycodes :
+# Martin Costabel <costabel@wanadoo.fr> 3-jan-2001
+# changes for '=' symbol from the numeric keybap to work :
+# Etienne Herlent <eherlent@linux-france.org> 14-jan-2001
+# adapted for Latin9 alphabet (ISO-8859-15) :
+# Etienne Herlent <eherlent@linux-france.org> 18-mar-2005
+# TODO: CONTROL AND META COMBINATIONS
+
+charset "iso-8859-1"
+#keymaps 0-9,11-12
+
+compose as usual for "iso-8859-1"
+alt_is_meta
+
+keycode 1 = Escape
+ alt keycode 1 = Meta_Escape
+ shift alt keycode 1 = Meta_Escape
+
+# 1st row
+keycode 86 = at numbersign
+ altgr keycode 86 = periodcentered
+ alt keycode 86 = Meta_at
+ control keycode 86 = nul
+ shift alt keycode 86 = Meta_numbersign
+
+keycode 2 = ampersand one VoidSymbol dead_acute
+ alt keycode 2 = Meta_ampersand
+ shift alt keycode 2 = Meta_one
+
+keycode 3 = eacute two ediaeresis Eacute
+ shift alt keycode 3 = Meta_two
+
+keycode 4 = quotedbl three
+ alt keycode 4 = Meta_quotedbl
+ shift alt keycode 4 = Meta_three
+
+keycode 5 = apostrophe four
+ alt keycode 5 = Meta_apostrophe
+ shift alt keycode 5 = Meta_four
+
+keycode 6 = parenleft five braceleft bracketleft
+ alt keycode 6 = Meta_parenleft
+ shift alt keycode 6 = Meta_five
+
+# **** insert meta, control
+keycode 7 = section six paragraph aring
+ shift alt keycode 7 = Meta_six
+
+keycode 8 = egrave seven guillemotleft guillemotright
+ shift alt keycode 8 = Meta_seven
+
+keycode 9 = exclam eight exclamdown Ucircumflex
+ alt keycode 9 = Meta_exclam
+ shift alt keycode 9 = Meta_eight
+
+keycode 10 = ccedilla nine Ccedilla Aacute
+ shift alt keycode 10 = Meta_nine
+
+keycode 11 = agrave zero oslash
+ shift alt keycode 11 = Meta_zero
+
+keycode 12 = parenright degree braceright bracketright
+ alt keycode 12 = Meta_parenright
+
+keycode 13 = minus underscore
+ alt keycode 13 = Meta_minus
+ shift alt keycode 13 = Meta_underscore
+ shift control keycode 13 = Control_underscore
+
+keycode 14 = Delete BackSpace
+ alt keycode 14 = Meta_Delete
+ shift alt keycode 14 = Meta_Delete
+
+# 2nd row
+
+keycode 15 = Tab
+ alt keycode 15 = Meta_Tab
+ shift alt keycode 15 = Meta_Tab
+
+keycode 16 = +a +A ae AE
+ control keycode 16 = Control_a
+ shift control keycode 16 = Control_a
+ control alt keycode 16 = Meta_Control_a
+keycode 17 = +z +Z Acircumflex Aring
+ control keycode 17 = Control_z
+ shift control keycode 17 = Control_z
+ control alt keycode 16 = Meta_Control_z
+keycode 18 = +e +E ecircumflex Ecircumflex
+keycode 19 = +r +R registered currency
+keycode 20 = +t +T
+keycode 21 = +y +Y Uacute VoidSymbol
+keycode 22 = +u +U VoidSymbol ordfeminine
+keycode 23 = +i +I icircumflex idiaeresis
+keycode 24 = +o +O oe OE
+keycode 25 = +p +P VoidSymbol Ugrave
+keycode 26 = dead_circumflex dead_diaeresis ocircumflex Ocircumflex
+ control keycode 26 = Control_asciicircum
+keycode 27 = dollar asterisk euro yen
+ alt keycode 27 = Meta_dollar
+ shift alt keycode 27 = Meta_dollar
+
+keycode 28 = Return
+
+# 3d row
+
+keycode 58 = Caps_Lock
+keycode 30 = +q +Q acircumflex Agrave
+ control keycode 30 = Control_q
+ shift control keycode 30 = Control_q
+ control alt keycode 30 = Meta_Control_q
+keycode 31 = +s +S Ograve VoidSymbol
+keycode 32 = +d +D
+keycode 33 = +f +F
+keycode 34 = +g +G
+keycode 35 = +h +H Igrave Icircumflex
+keycode 36 = +j +J Idiaeresis Iacute
+keycode 37 = +k +K Egrave Ediaeresis
+keycode 38 = +l +L notsign bar
+# alt altgr keycode 38 = Meta_notsign # Doesn't work???
+ shift alt altgr keycode 38 = Meta_bar
+keycode 39 = +m +M mu Oacute
+keycode 40 = ugrave percent Ugrave ucircumflex
+ shift alt keycode 40 = Meta_percent
+keycode 43 = dead_grave pound at numbersign
+ alt keycode 43 = Meta_grave
+# shift alt keycode 43 = Meta_sterling # doesn't work ?
+# altgr keycode 43 = Meta_at
+# shift altgr keycode 43 = Meta_numbersign
+
+# 4th row
+keycode 42 = Shift
+
+keycode 41 = less greater
+
+keycode 44 = +w +W
+ control keycode 44 = Control_w
+ shift control keycode 44 = Control_w
+ control alt keycode 44 = Meta_Control_w
+keycode 45 = +x +X
+keycode 46 = +c +C copyright cent
+keycode 47 = +v +V
+keycode 48 = +b +B ssharp
+
+keycode 49 = +n +N dead_tilde asciitilde
+keycode 50 = comma question VoidSymbol questiondown
+ shift control keycode 50 = Delete
+keycode 51 = semicolon period VoidSymbol periodcentered
+keycode 52 = colon slash division backslash
+ shift altgr control keycode 52 = Control_backslash
+keycode 53 = equal plus VoidSymbol plusminus
+
+# 5th row
+keycode 29 = Control
+
+# Option key:
+keycode 56 = AltGr
+
+# Apple/Command key:
+keycode 125 = Alt
+keycode 126 = Alt
+
+keycode 57 = space space nobreakspace nobreakspace
+ control keycode 57 = nul
+
+# 'fn' (yellow key labels)
+
+## TO DO
+ keycode 55 = KP_Multiply
+
+# function keys
+
+keycode 59 = F1 F11 Console_13
+ control keycode 59 = F1
+ alt keycode 59 = Console_1
+ control alt keycode 59 = Console_1
+keycode 60 = F2 F12 Console_14
+ control keycode 60 = F2
+ alt keycode 60 = Console_2
+ control alt keycode 60 = Console_2
+keycode 61 = F3 F13 Console_15
+ control keycode 61 = F3
+ alt keycode 61 = Console_3
+ control alt keycode 61 = Console_3
+keycode 62 = F4 F14 Console_16
+ control keycode 62 = F4
+ alt keycode 62 = Console_4
+ control alt keycode 62 = Console_4
+keycode 63 = F5 F15 Console_17
+ control keycode 63 = F5
+ alt keycode 63 = Console_5
+ control alt keycode 63 = Console_5
+keycode 64 = F6 F16 Console_18
+ control keycode 64 = F6
+ alt keycode 64 = Console_6
+ control alt keycode 64 = Console_6
+keycode 65 = F7 F17 Console_19
+ control keycode 65 = F7
+ alt keycode 65 = Console_7
+ control alt keycode 65 = Console_7
+keycode 66 = F8 F18 Console_20
+ control keycode 66 = F8
+ alt keycode 66 = Console_8
+ control alt keycode 66 = Console_8
+keycode 67 = F9 F19 Console_21
+ control keycode 67 = F9
+ alt keycode 67 = Console_9
+ control alt keycode 67 = Console_9
+keycode 68 = F10 F20 Console_22
+ control keycode 68 = F10
+ alt keycode 68 = Console_10
+ control alt keycode 68 = Console_10
+keycode 69 = Num_Lock
+keycode 70 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 70 = Show_State
+ alt keycode 70 = Scroll_Lock
+keycode 71 = seven seven
+ alt keycode 71 = Ascii_7
+keycode 72 = eight eight
+ alt keycode 72 = Ascii_8
+keycode 73 = nine nine
+ alt keycode 73 = Ascii_9
+keycode 74 = KP_Subtract
+keycode 75 = four four
+ alt keycode 75 = Ascii_4
+keycode 76 = five five
+ alt keycode 76 = Ascii_5
+keycode 77 = six six
+ alt keycode 77 = Ascii_6
+keycode 78 = KP_Add
+keycode 79 = one one
+ alt keycode 79 = Ascii_1
+keycode 80 = two two
+ alt keycode 80 = Ascii_2
+keycode 81 = three
+ alt keycode 81 = Ascii_3
+keycode 82 = zero zero
+ alt keycode 82 = Ascii_0
+keycode 83 = comma period
+# altgr control keycode 65 = Boot
+ control alt keycode 83 = Boot
+keycode 87 = F11 F11 Console_23
+ control keycode 87 = F11
+ alt keycode 87 = Console_11
+ control alt keycode 87 = Console_11
+keycode 88 = F12 F12 Console_24
+ control keycode 88 = F12
+ alt keycode 88 = Console_12
+ control alt keycode 88 = Console_12
+keycode 96 = KP_Enter
+keycode 98 = KP_Divide
+keycode 117 = equal
+keycode 103 = Up
+keycode 104 = Prior
+ shift keycode 104 = Scroll_Backward
+keycode 105 = Left
+ alt keycode 105 = Decr_Console
+keycode 106 = Right
+ alt keycode 106 = Incr_Console
+keycode 108 = Down
+keycode 109 = Next
+ shift keycode 109 = Scroll_Forward
+keycode 119 = Pause
+keycode 110 = Insert
+keycode 111 = Remove
+keycode 102 = Home
+keycode 107 = End
+keycode 54 = Shift
+keycode 124 = AltGr
+
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+string F21 = ""
+string F22 = ""
+string F23 = ""
+string F24 = ""
+string F25 = ""
+string F26 = ""
+#
+
diff --git a/keymaps/mac/mac-pl_m-ext.kmap b/keymaps/mac/mac-pl_m-ext.kmap
new file mode 100644
index 0000000..f655b9d
--- /dev/null
+++ b/keymaps/mac/mac-pl_m-ext.kmap
@@ -0,0 +1,260 @@
+# To jest klawiatura maka w ukladzie maszynistki dla new input layer.
+# Znaki specjalne jak w MacOS-PL
+# Dla starego sterownika ADB jest mac-pl_m-ext1.kmap
+# Wszelkie uwagi na jareks@kurier.szczecin.pl
+#
+# This is a mac polish typists keymap.
+# Special characters like MacOS-PL
+# For old ADB driver use mac-pl_m.ext1.kmap
+# All sugestions to jareks@kurier.szczecin.pl
+
+keymaps 0-5,8,12
+strings as usual
+charset "iso-8859-2"
+keycode 0 = a
+keycode 1 = s
+keycode 2 = d
+keycode 3 = f
+keycode 4 = h
+keycode 5 = g
+keycode 6 = y
+keycode 7 = x
+keycode 8 = c
+keycode 9 = v
+keycode 10 = less greater
+keycode 11 = b
+keycode 12 = q
+keycode 13 = w
+keycode 14 = e
+keycode 15 = r
+keycode 16 = z
+keycode 17 = t
+keycode 18 = one section ampersand
+ alt keycode 18 = Meta_one
+keycode 19 = two percent at nul nul Meta_two
+keycode 20 = three exclam numbersign
+ control keycode 20 = Escape
+ alt keycode 20 = Meta_three
+keycode 21 = four question dollar Control_backslash
+ alt keycode 21 = Meta_four
+keycode 22 = six equal
+ control keycode 22 = Control_asciicircum
+ alt keycode 22 = Meta_six
+keycode 23 = five plus
+ control keycode 23 = Control_bracketright
+ alt keycode 23 = Meta_five
+keycode 24 = bracketleft bracketright
+ alt keycode 24 = Meta_equal
+keycode 25 = nine slash backslash
+ alt keycode 25 = Meta_nine
+keycode 26 = seven colon nul Control_underscore
+ alt keycode 26 = Meta_seven
+keycode 27 = +zabovedot +Zabovedot apostrophe nul Meta_minus
+keycode 28 = eight underscore bar Delete
+ alt keycode 28 = Meta_eight
+keycode 29 = zero quotedbl braceright
+ alt keycode 29 = Meta_zero
+keycode 30 = parenleft parenright nul Control_bracketright
+ alt keycode 30 = Meta_bracketright
+keycode 31 = o
+keycode 32 = u
+keycode 33 = +oacute +zacute +Oacute +Zacute
+ control keycode 33 = Escape
+ alt keycode 33 = Meta_bracketleft
+keycode 34 = i
+keycode 35 = p
+keycode 36 = Return
+ alt keycode 36 = Meta_Control_m
+keycode 37 = l
+keycode 38 = j
+keycode 39 = +aogonek +eogonek +Aogonek +Eogonek
+ control keycode 39 = Control_g
+ alt keycode 39 = Meta_apostrophe
+keycode 40 = k
+keycode 41 = +lstroke +Lstroke
+ alt keycode 41 = Meta_semicolon
+keycode 42 = semicolon dollar apostrophe asciitilde
+ control keycode 42 = Control_backslash
+ alt keycode 42 = Meta_backslash
+keycode 43 = period +sacute +Sacute
+ alt keycode 43 = Meta_period
+keycode 44 = minus +cacute +Cacute
+ control keycode 44 = Delete
+ alt keycode 44 = Meta_slash
+keycode 45 = n
+keycode 46 = m
+keycode 47 = comma +nacute +Nacute
+ control keycode 47 = Compose
+ alt keycode 47 = Meta_comma
+keycode 48 = Tab Tab
+ alt keycode 48 = Meta_Tab
+keycode 49 = space space
+ control keycode 49 = nul
+ alt keycode 49 = Meta_space
+keycode 50 = asciicircum asterisk grave
+ control keycode 50 = nul
+ alt keycode 50 = Meta_grave
+keycode 51 = Delete Delete
+ control keycode 51 = BackSpace
+ alt keycode 51 = Meta_Delete
+keycode 52 =
+keycode 53 = Escape Escape
+ alt keycode 53 = Meta_Escape
+keycode 54 = Control
+keycode 55 = Alt
+keycode 56 = Shift
+keycode 57 = Caps_Lock
+keycode 58 = AltGr
+keycode 59 = Left
+ alt keycode 59 = Decr_Console
+keycode 60 = Right
+ alt keycode 60 = Incr_Console
+keycode 61 = Down
+keycode 62 = Up
+keycode 63 =
+keycode 64 =
+keycode 65 = KP_Period
+keycode 66 =
+keycode 67 = KP_Multiply
+keycode 68 =
+keycode 69 = KP_Add
+keycode 70 =
+keycode 71 = Num_Lock
+keycode 72 =
+keycode 73 =
+keycode 74 =
+keycode 75 = KP_Divide
+keycode 76 = KP_Enter
+keycode 77 =
+keycode 78 = KP_Subtract
+keycode 79 =
+keycode 80 =
+keycode 81 =
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_1
+ altgr keycode 83 = Hex_1
+ alt keycode 83 = Ascii_1
+keycode 84 = KP_2
+ altgr keycode 84 = Hex_2
+ alt keycode 84 = Ascii_2
+keycode 85 = KP_3
+ altgr keycode 85 = Hex_3
+ alt keycode 85 = Ascii_3
+keycode 86 = KP_4
+ altgr keycode 86 = Hex_4
+ alt keycode 86 = Ascii_4
+keycode 87 = KP_5
+ altgr keycode 87 = Hex_5
+ alt keycode 87 = Ascii_5
+keycode 88 = KP_6
+ altgr keycode 88 = Hex_6
+ alt keycode 88 = Ascii_6
+keycode 89 = KP_7
+ altgr keycode 89 = Hex_7
+ alt keycode 89 = Ascii_7
+keycode 90 =
+keycode 91 = KP_8
+ altgr keycode 91 = Hex_8
+ alt keycode 91 = Ascii_8
+keycode 92 = KP_9
+ altgr keycode 92 = Hex_9
+ alt keycode 92 = Ascii_9
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = F5
+ shift keycode 96 = F15
+ altgr keycode 96 = Console_17
+ shift control keycode 96 = VoidSymbol
+ alt keycode 96 = Console_5
+ control alt keycode 96 = Console_5
+keycode 97 = F6
+ shift keycode 97 = F16
+ altgr keycode 97 = Console_18
+ shift control keycode 97 = VoidSymbol
+ alt keycode 97 = Console_6
+ control alt keycode 97 = Console_6
+keycode 98 = F7
+ shift keycode 98 = F17
+ altgr keycode 98 = Console_19
+ shift control keycode 98 = VoidSymbol
+ alt keycode 98 = Console_7
+ control alt keycode 98 = Console_7
+keycode 99 = F3
+ shift keycode 99 = F13
+ altgr keycode 99 = Console_15
+ shift control keycode 99 = VoidSymbol
+ alt keycode 99 = Console_3
+ control alt keycode 99 = Console_3
+keycode 100 = F8
+ shift keycode 100 = F18
+ altgr keycode 100 = Console_20
+ shift control keycode 100 = VoidSymbol
+ alt keycode 100 = Console_8
+ control alt keycode 100 = Console_8
+keycode 101 = F9
+ shift keycode 101 = F19
+ altgr keycode 101 = Console_21
+ shift control keycode 101 = VoidSymbol
+ alt keycode 101 = Console_9
+ control alt keycode 101 = Console_9
+keycode 102 =
+keycode 103 = F11
+ altgr keycode 103 = Console_23
+ shift control keycode 103 = VoidSymbol
+ alt keycode 103 = Console_11
+ control alt keycode 103 = Console_11
+keycode 104 =
+keycode 105 = F13
+keycode 106 =
+keycode 107 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 107 = Scroll_Lock
+keycode 108 =
+keycode 109 = F10
+ shift keycode 109 = F20
+ altgr keycode 109 = Console_22
+ shift control keycode 109 = VoidSymbol
+ alt keycode 109 = Console_10
+ control alt keycode 109 = Console_10
+keycode 110 =
+keycode 111 = F12
+ altgr keycode 111 = Console_24
+ shift control keycode 111 = VoidSymbol
+ alt keycode 111 = Console_12
+ control alt keycode 111 = Console_12
+keycode 112 =
+keycode 113 = Pause
+keycode 114 = Insert
+keycode 115 = Find
+keycode 116 = Prior
+ shift keycode 116 = Scroll_Backward
+keycode 117 = Remove
+keycode 118 = F4
+ shift keycode 118 = F14
+ altgr keycode 118 = Console_16
+ shift control keycode 118 = VoidSymbol
+ alt keycode 118 = Console_4
+ control alt keycode 118 = Console_4
+keycode 119 = Select
+keycode 120 = F2
+ shift keycode 120 = F12
+ altgr keycode 120 = Console_14
+ shift control keycode 120 = VoidSymbol
+ alt keycode 120 = Console_2
+ control alt keycode 120 = Console_2
+keycode 121 = Next
+ shift keycode 121 = Scroll_Forward
+keycode 122 = F1
+ shift keycode 122 = F11
+ altgr keycode 122 = Console_13
+ shift control keycode 122 = VoidSymbol
+ alt keycode 122 = Console_1
+ control alt keycode 122 = Console_1
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+ shift control keycode 127 = Boot
diff --git a/keymaps/mac/mac-pl_m-ext1.kmap b/keymaps/mac/mac-pl_m-ext1.kmap
new file mode 100644
index 0000000..035c006
--- /dev/null
+++ b/keymaps/mac/mac-pl_m-ext1.kmap
@@ -0,0 +1,260 @@
+# To jest klawiatura maka w ukladzie maszynistki dla new input layer.
+# Znaki specjalne jak w MacOS-PL
+# Dla starego sterownika ADB jest mac-pl_m-ext1.kmap
+# Wszelkie uwagi na jareks@kurier.szczecin.pl
+#
+# This is a mac polish typists keymap.
+# Special characters like MacOS-PL
+# For old ADB driver use mac-pl_m.ext1.kmap
+# All sugestions to jareks@kurier.szczecin.pl
+
+keymaps 0-5,8,12
+strings as usual
+charset "iso-8859-2"
+keycode 0 = a
+keycode 1 = s
+keycode 2 = d
+keycode 3 = f
+keycode 4 = h
+keycode 5 = g
+keycode 6 = y
+keycode 7 = x
+keycode 8 = c
+keycode 9 = v
+keycode 50 = less greater
+keycode 11 = b
+keycode 12 = q
+keycode 13 = w
+keycode 14 = e
+keycode 15 = r
+keycode 16 = z
+keycode 17 = t
+keycode 18 = one section ampersand
+ alt keycode 18 = Meta_one
+keycode 19 = two percent at nul nul Meta_two
+keycode 20 = three exclam numbersign
+ control keycode 20 = Escape
+ alt keycode 20 = Meta_three
+keycode 21 = four question dollar Control_backslash
+ alt keycode 21 = Meta_four
+keycode 22 = six equal
+ control keycode 22 = Control_asciicircum
+ alt keycode 22 = Meta_six
+keycode 23 = five plus
+ control keycode 23 = Control_bracketright
+ alt keycode 23 = Meta_five
+keycode 24 = bracketleft bracketright
+ alt keycode 24 = Meta_equal
+keycode 25 = nine slash backslash
+ alt keycode 25 = Meta_nine
+keycode 26 = seven colon nul Control_underscore
+ alt keycode 26 = Meta_seven
+keycode 27 = +zabovedot +Zabovedot apostrophe nul Meta_minus
+keycode 28 = eight underscore bar Delete
+ alt keycode 28 = Meta_eight
+keycode 29 = zero quotedbl braceright
+ alt keycode 29 = Meta_zero
+keycode 30 = parenleft parenright nul Control_bracketright
+ alt keycode 30 = Meta_bracketright
+keycode 31 = o
+keycode 32 = u
+keycode 33 = +oacute +zacute +Oacute +Zacute
+ control keycode 33 = Escape
+ alt keycode 33 = Meta_bracketleft
+keycode 34 = i
+keycode 35 = p
+keycode 36 = Return
+ alt keycode 36 = Meta_Control_m
+keycode 37 = l
+keycode 38 = j
+keycode 39 = +aogonek +eogonek +Aogonek +Eogonek
+ control keycode 39 = Control_g
+ alt keycode 39 = Meta_apostrophe
+keycode 40 = k
+keycode 41 = +lstroke +Lstroke
+ alt keycode 41 = Meta_semicolon
+keycode 42 = semicolon dollar apostrophe asciitilde
+ control keycode 42 = Control_backslash
+ alt keycode 42 = Meta_backslash
+keycode 43 = period +sacute +Sacute
+ alt keycode 43 = Meta_period
+keycode 44 = minus +cacute +Cacute
+ control keycode 44 = Delete
+ alt keycode 44 = Meta_slash
+keycode 45 = n
+keycode 46 = m
+keycode 47 = comma +nacute +Nacute
+ control keycode 47 = Compose
+ alt keycode 47 = Meta_comma
+keycode 48 = Tab Tab
+ alt keycode 48 = Meta_Tab
+keycode 49 = space space
+ control keycode 49 = nul
+ alt keycode 49 = Meta_space
+keycode 10 = asciicircum asterisk grave
+ control keycode 10 = nul
+ alt keycode 10 = Meta_grave
+keycode 51 = Delete Delete
+ control keycode 51 = BackSpace
+ alt keycode 51 = Meta_Delete
+keycode 52 =
+keycode 53 = Escape Escape
+ alt keycode 53 = Meta_Escape
+keycode 54 = Control
+keycode 55 = Alt
+keycode 56 = Shift
+keycode 57 = Caps_Lock
+keycode 58 = AltGr
+keycode 59 = Left
+ alt keycode 59 = Decr_Console
+keycode 60 = Right
+ alt keycode 60 = Incr_Console
+keycode 61 = Down
+keycode 62 = Up
+keycode 63 =
+keycode 64 =
+keycode 65 = KP_Period
+keycode 66 =
+keycode 67 = KP_Multiply
+keycode 68 =
+keycode 69 = KP_Add
+keycode 70 =
+keycode 71 = Num_Lock
+keycode 72 =
+keycode 73 =
+keycode 74 =
+keycode 75 = KP_Divide
+keycode 76 = KP_Enter
+keycode 77 =
+keycode 78 = KP_Subtract
+keycode 79 =
+keycode 80 =
+keycode 81 =
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_1
+ altgr keycode 83 = Hex_1
+ alt keycode 83 = Ascii_1
+keycode 84 = KP_2
+ altgr keycode 84 = Hex_2
+ alt keycode 84 = Ascii_2
+keycode 85 = KP_3
+ altgr keycode 85 = Hex_3
+ alt keycode 85 = Ascii_3
+keycode 86 = KP_4
+ altgr keycode 86 = Hex_4
+ alt keycode 86 = Ascii_4
+keycode 87 = KP_5
+ altgr keycode 87 = Hex_5
+ alt keycode 87 = Ascii_5
+keycode 88 = KP_6
+ altgr keycode 88 = Hex_6
+ alt keycode 88 = Ascii_6
+keycode 89 = KP_7
+ altgr keycode 89 = Hex_7
+ alt keycode 89 = Ascii_7
+keycode 90 =
+keycode 91 = KP_8
+ altgr keycode 91 = Hex_8
+ alt keycode 91 = Ascii_8
+keycode 92 = KP_9
+ altgr keycode 92 = Hex_9
+ alt keycode 92 = Ascii_9
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = F5
+ shift keycode 96 = F15
+ altgr keycode 96 = Console_17
+ shift control keycode 96 = VoidSymbol
+ alt keycode 96 = Console_5
+ control alt keycode 96 = Console_5
+keycode 97 = F6
+ shift keycode 97 = F16
+ altgr keycode 97 = Console_18
+ shift control keycode 97 = VoidSymbol
+ alt keycode 97 = Console_6
+ control alt keycode 97 = Console_6
+keycode 98 = F7
+ shift keycode 98 = F17
+ altgr keycode 98 = Console_19
+ shift control keycode 98 = VoidSymbol
+ alt keycode 98 = Console_7
+ control alt keycode 98 = Console_7
+keycode 99 = F3
+ shift keycode 99 = F13
+ altgr keycode 99 = Console_15
+ shift control keycode 99 = VoidSymbol
+ alt keycode 99 = Console_3
+ control alt keycode 99 = Console_3
+keycode 100 = F8
+ shift keycode 100 = F18
+ altgr keycode 100 = Console_20
+ shift control keycode 100 = VoidSymbol
+ alt keycode 100 = Console_8
+ control alt keycode 100 = Console_8
+keycode 101 = F9
+ shift keycode 101 = F19
+ altgr keycode 101 = Console_21
+ shift control keycode 101 = VoidSymbol
+ alt keycode 101 = Console_9
+ control alt keycode 101 = Console_9
+keycode 102 =
+keycode 103 = F11
+ altgr keycode 103 = Console_23
+ shift control keycode 103 = VoidSymbol
+ alt keycode 103 = Console_11
+ control alt keycode 103 = Console_11
+keycode 104 =
+keycode 105 = F13
+keycode 106 =
+keycode 107 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 107 = Scroll_Lock
+keycode 108 =
+keycode 109 = F10
+ shift keycode 109 = F20
+ altgr keycode 109 = Console_22
+ shift control keycode 109 = VoidSymbol
+ alt keycode 109 = Console_10
+ control alt keycode 109 = Console_10
+keycode 110 =
+keycode 111 = F12
+ altgr keycode 111 = Console_24
+ shift control keycode 111 = VoidSymbol
+ alt keycode 111 = Console_12
+ control alt keycode 111 = Console_12
+keycode 112 =
+keycode 113 = Pause
+keycode 114 = Insert
+keycode 115 = Find
+keycode 116 = Prior
+ shift keycode 116 = Scroll_Backward
+keycode 117 = Remove
+keycode 118 = F4
+ shift keycode 118 = F14
+ altgr keycode 118 = Console_16
+ shift control keycode 118 = VoidSymbol
+ alt keycode 118 = Console_4
+ control alt keycode 118 = Console_4
+keycode 119 = Select
+keycode 120 = F2
+ shift keycode 120 = F12
+ altgr keycode 120 = Console_14
+ shift control keycode 120 = VoidSymbol
+ alt keycode 120 = Console_2
+ control alt keycode 120 = Console_2
+keycode 121 = Next
+ shift keycode 121 = Scroll_Forward
+keycode 122 = F1
+ shift keycode 122 = F11
+ altgr keycode 122 = Console_13
+ shift control keycode 122 = VoidSymbol
+ alt keycode 122 = Console_1
+ control alt keycode 122 = Console_1
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+ shift control keycode 127 = Boot
diff --git a/keymaps/mac/mac-pt-latin1.kmap b/keymaps/mac/mac-pt-latin1.kmap
new file mode 100644
index 0000000..d6382a3
--- /dev/null
+++ b/keymaps/mac/mac-pt-latin1.kmap
@@ -0,0 +1,29 @@
+# mac-pt-latin1.kmap Ricardo Cabral <bfe00991@mail.telepac.pt>
+
+include "mac-qwerty-layout.inc"
+include "mac-linux-keys-bare.inc"
+include "mac-de-latin1.map"
+
+keycode 16 = y
+keycode 6 = z
+keycode 10 = less greater
+keycode 18 = one exclam
+keycode 19 = two quotedbl at
+keycode 20 = three numbersign sterling
+keycode 21 = four dollar section
+keycode 23 = five percent
+keycode 22 = six ampersand
+keycode 26 = seven slash
+keycode 28 = eight parenleft braceleft
+keycode 25 = nine parenright braceright
+keycode 29 = zero equal
+keycode 27 = apostrophe question
+keycode 24 = plus asterisk
+keycode 30 = dead_acute dead_grave
+keycode 33 = masculine ordfeminine
+keycode 39 = asciitilde asciicircum
+keycode 41 = ccedilla Ccedilla
+keycode 42 = backslash bar
+keycode 43 = comma semicolon
+keycode 44 = minus underscore
+keycode 47 = period colon
diff --git a/keymaps/mac/mac-se.kmap b/keymaps/mac/mac-se.kmap
new file mode 100644
index 0000000..34f0581
--- /dev/null
+++ b/keymaps/mac/mac-se.kmap
@@ -0,0 +1,32 @@
+# mac-se.kmap olh@suse.de
+
+include "mac-qwerty-layout.inc"
+include "mac-linux-keys-bare.inc"
+strings as usual
+compose as usual for "iso-8859-1"
+
+
+
+keycode 50 = section degree
+keycode 18 = one exclam copyright
+keycode 19 = two quotedbl
+keycode 20 = three numbersign sterling
+keycode 21 = four dollar dollar Control_backslash
+keycode 23 = five percent
+keycode 22 = six ampersand
+keycode 26 = seven slash bar backslash
+keycode 28 = eight parenleft bracketleft
+keycode 25 = nine parenright bracketright
+keycode 29 = zero equal
+keycode 27 = minus question
+keycode 24 = plus grave
+keycode 30 = aring Aring
+keycode 33 = dead_diaeresis asciicircum asciitilde
+keycode 41 = odiaeresis Odiaeresis
+keycode 39 = adiaeresis Adiaeresis ae AE
+keycode 42 = apostrophe asterisk
+keycode 10 = less greater
+keycode 43 = comma semicolon
+keycode 44 = minus underscore
+keycode 47 = period colon
+keycode 65 = KP_Period
diff --git a/keymaps/mac/mac-uk.kmap b/keymaps/mac/mac-uk.kmap
new file mode 100644
index 0000000..93040ed
--- /dev/null
+++ b/keymaps/mac/mac-uk.kmap
@@ -0,0 +1,57 @@
+# mac-uk.kmap olh@suse.de
+include "mac-qwerty-layout.inc"
+include "mac-linux-keys-bare.inc"
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 50 = grave asciitilde
+ control keycode 50 = nul
+ alt keycode 50 = Meta_grave
+keycode 18 = one exclam exclamdown
+ alt keycode 18 = Meta_one
+keycode 19 = two at
+keycode 20 = three sterling numbersign
+ control keycode 20 = Escape
+keycode 21 = four dollar dollar Control_backslash
+ alt keycode 21 = Meta_four
+keycode 22 = six asciicircum section
+ control keycode 22 = Control_asciicircum
+ alt keycode 22 = Meta_six
+keycode 23 = five percent macron
+ control keycode 23 = Control_bracketright
+ alt keycode 23 = Meta_five
+keycode 24 = equal plus
+ alt keycode 24 = Meta_equal
+keycode 25 = nine parenleft bracketright
+ alt keycode 25 = Meta_nine
+keycode 26 = seven ampersand braceleft Control_underscore
+ alt keycode 26 = Meta_seven
+keycode 27 = minus underscore backslash Control_underscore Control_underscore Meta_minus
+keycode 28 = eight asterisk bracketleft Delete
+ alt keycode 28 = Meta_eight
+keycode 29 = zero parenright braceright
+ alt keycode 29 = Meta_zero
+keycode 30 = bracketright braceright asciitilde Control_bracketright
+ alt keycode 30 = Meta_bracketright
+keycode 33 = bracketleft braceleft
+ control keycode 33 = Escape
+ alt keycode 33 = Meta_bracketleft
+keycode 39 = apostrophe quotedbl
+ control keycode 39 = Control_g
+ alt keycode 39 = Meta_apostrophe
+keycode 41 = semicolon colon
+ alt keycode 41 = Meta_semicolon
+keycode 42 = backslash bar
+ control keycode 42 = Control_backslash
+ alt keycode 42 = Meta_backslash
+keycode 43 = comma less
+ alt keycode 43 = Meta_comma
+keycode 44 = slash question
+ control keycode 44 = Delete
+ alt keycode 44 = Meta_slash
+keycode 47 = period greater
+ control keycode 47 = Compose
+ alt keycode 47 = Meta_period
+keycode 65 = KP_Period
+keycode 107 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 107 = Scroll_Lock
diff --git a/keymaps/mac/mac-us-dvorak.kmap b/keymaps/mac/mac-us-dvorak.kmap
new file mode 100644
index 0000000..042e77b
--- /dev/null
+++ b/keymaps/mac/mac-us-dvorak.kmap
@@ -0,0 +1,262 @@
+# Dvorak kmap for Macintosh extended keyboard (released under the GNU
+# Public License)
+#
+# Michael 'Mickey' Sattler <michael@GeekTimes.com>
+# Version 1.0.0 of 14 February 2000
+#
+# Tested on my Apple Macintosh G3 Series PowerBook 1999 (bronze) a/k/a Lombard
+# under LinuxPPC 1999 Q3 (Red Hat).
+#
+# Tested on Apple Macintosh 7200/90 under Debian 2.2r2 (Potato). (WC Brennan)
+#
+# BUG? keycodes 0 and 90 are both defined as 'a'
+#
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+keycode 0 = +a +A Hex_A Control_a Control_a Meta_a Meta_Control_a
+keycode 1 = o
+keycode 2 = +e +E Hex_E Control_e Control_e Meta_e Meta_Control_e
+keycode 3 = u
+keycode 4 = +d +D Hex_D Control_d Control_d Meta_d Meta_Control_d
+keycode 5 = i
+keycode 6 = semicolon colon
+ alt keycode 6 = Meta_semicolon
+keycode 7 = q
+keycode 8 = j
+keycode 9 = k
+keycode 10 =
+keycode 11 = x
+keycode 12 = apostrophe quotedbl
+ control keycode 12 = Control_g
+ alt keycode 12 = Meta_apostrophe
+keycode 13 = comma less
+ alt keycode 13 = Meta_comma
+keycode 14 = period greater
+ control keycode 14 = Compose
+ alt keycode 14 = Meta_period
+keycode 15 = p
+keycode 16 = +f +F Hex_F Control_f Control_f Meta_f Meta_Control_f
+keycode 17 = y
+keycode 18 = one exclam
+ alt keycode 18 = Meta_one
+keycode 19 = two at at nul nul Meta_two
+keycode 20 = three numbersign
+ control keycode 20 = Escape
+ alt keycode 20 = Meta_three
+keycode 21 = four dollar dollar Control_backslash
+ alt keycode 21 = Meta_four
+keycode 22 = six asciicircum
+ control keycode 22 = Control_asciicircum
+ alt keycode 22 = Meta_six
+keycode 23 = five percent
+ control keycode 23 = Control_bracketright
+ alt keycode 23 = Meta_five
+keycode 24 = bracketright braceright
+ alt keycode 24 = Meta_bracketright
+keycode 25 = nine parenleft bracketright
+ alt keycode 25 = Meta_nine
+keycode 26 = seven ampersand braceleft Control_underscore
+ alt keycode 26 = Meta_seven
+keycode 27 = bracketleft braceleft
+ alt keycode 27 = Meta_bracketleft
+keycode 28 = eight asterisk bracketleft Delete
+ alt keycode 28 = Meta_eight
+keycode 29 = zero parenright braceright
+ alt keycode 29 = Meta_zero
+keycode 30 = equal plus
+ alt keycode 30 = Meta_equal
+keycode 31 = r
+keycode 32 = g
+keycode 33 = slash question
+ control keycode 33 = Delete
+ alt keycode 33 = Meta_slash
+keycode 34 = +c +C Hex_C Control_c Control_c Meta_c Meta_Control_c
+keycode 35 = l
+keycode 36 = Return
+ alt keycode 36 = Meta_Control_m
+keycode 37 = n
+keycode 38 = h
+keycode 39 = minus underscore backslash Control_underscore Control_underscore Meta_minus
+keycode 40 = t
+keycode 41 = s
+keycode 42 = backslash bar
+ control keycode 42 = Control_backslash
+ alt keycode 42 = Meta_backslash
+keycode 43 = w
+keycode 44 = z
+keycode 45 = +b +B Hex_B Control_b Control_b Meta_b Meta_Control_b
+keycode 46 = m
+keycode 47 = v
+keycode 48 = Tab Tab
+ alt keycode 48 = Meta_Tab
+keycode 49 = space space
+ control keycode 49 = nul
+ alt keycode 49 = Meta_space
+keycode 50 = grave asciitilde
+ control keycode 50 = nul
+ alt keycode 50 = Meta_grave
+keycode 51 = Delete Delete
+ control keycode 51 = BackSpace
+ alt keycode 51 = Meta_Delete
+keycode 52 =
+keycode 53 = Escape Escape
+ alt keycode 53 = Meta_Escape
+keycode 54 = Control
+keycode 55 = Alt
+keycode 56 = Shift
+keycode 57 = Caps_Lock
+keycode 58 = AltGr
+keycode 59 = Left
+ alt keycode 59 = Decr_Console
+keycode 60 = Right
+ alt keycode 60 = Incr_Console
+keycode 61 = Down
+keycode 62 = Up
+keycode 63 =
+keycode 64 =
+keycode 65 = KP_Period
+keycode 66 =
+keycode 67 = KP_Multiply
+keycode 68 =
+keycode 69 = KP_Add
+keycode 70 =
+keycode 71 = Num_Lock
+keycode 72 =
+keycode 73 =
+keycode 74 =
+keycode 75 = KP_Divide
+keycode 76 = KP_Enter
+keycode 77 =
+keycode 78 = KP_Subtract
+keycode 79 =
+keycode 80 =
+keycode 81 =
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_1
+ altgr keycode 83 = Hex_1
+ alt keycode 83 = Ascii_1
+keycode 84 = KP_2
+ altgr keycode 84 = Hex_2
+ alt keycode 84 = Ascii_2
+keycode 85 = KP_3
+ altgr keycode 85 = Hex_3
+ alt keycode 85 = Ascii_3
+keycode 86 = KP_4
+ altgr keycode 86 = Hex_4
+ alt keycode 86 = Ascii_4
+keycode 87 = KP_5
+ altgr keycode 87 = Hex_5
+ alt keycode 87 = Ascii_5
+keycode 88 = KP_6
+ altgr keycode 88 = Hex_6
+ alt keycode 88 = Ascii_6
+keycode 89 = KP_7
+ altgr keycode 89 = Hex_7
+ alt keycode 89 = Ascii_7
+keycode 90 = +a +A Hex_A Control_a Control_a Meta_a Meta_Control_a
+keycode 91 = KP_8
+ altgr keycode 91 = Hex_8
+ alt keycode 91 = Ascii_8
+keycode 92 = KP_9
+ altgr keycode 92 = Hex_9
+ alt keycode 92 = Ascii_9
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = F5
+ shift keycode 96 = F15
+ altgr keycode 96 = Console_17
+ shift control keycode 96 = VoidSymbol
+ alt keycode 96 = Console_5
+ control alt keycode 96 = Console_5
+keycode 97 = F6
+ shift keycode 97 = F16
+ altgr keycode 97 = Console_18
+ shift control keycode 97 = VoidSymbol
+ alt keycode 97 = Console_6
+ control alt keycode 97 = Console_6
+keycode 98 = F7
+ shift keycode 98 = F17
+ altgr keycode 98 = Console_19
+ shift control keycode 98 = VoidSymbol
+ alt keycode 98 = Console_7
+ control alt keycode 98 = Console_7
+keycode 99 = F3
+ shift keycode 99 = F13
+ altgr keycode 99 = Console_15
+ shift control keycode 99 = VoidSymbol
+ alt keycode 99 = Console_3
+ control alt keycode 99 = Console_3
+keycode 100 = F8
+ shift keycode 100 = F18
+ altgr keycode 100 = Console_20
+ shift control keycode 100 = VoidSymbol
+ alt keycode 100 = Console_8
+ control alt keycode 100 = Console_8
+keycode 101 = F9
+ shift keycode 101 = F19
+ altgr keycode 101 = Console_21
+ shift control keycode 101 = VoidSymbol
+ alt keycode 101 = Console_9
+ control alt keycode 101 = Console_9
+keycode 102 =
+keycode 103 = F11
+ altgr keycode 103 = Console_23
+ shift control keycode 103 = VoidSymbol
+ alt keycode 103 = Console_11
+ control alt keycode 103 = Console_11
+keycode 104 =
+keycode 105 = F13
+keycode 106 =
+keycode 107 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 107 = Scroll_Lock
+keycode 108 =
+keycode 109 = F10
+ shift keycode 109 = F20
+ altgr keycode 109 = Console_22
+ shift control keycode 109 = VoidSymbol
+ alt keycode 109 = Console_10
+ control alt keycode 109 = Console_10
+keycode 110 =
+keycode 111 = F12
+ altgr keycode 111 = Console_24
+ shift control keycode 111 = VoidSymbol
+ alt keycode 111 = Console_12
+ control alt keycode 111 = Console_12
+keycode 112 =
+keycode 113 = Pause
+keycode 114 = Insert
+keycode 115 = Find
+keycode 116 = Prior
+ shift keycode 116 = Scroll_Backward
+keycode 117 = Remove
+keycode 118 = F4
+ shift keycode 118 = F14
+ altgr keycode 118 = Console_16
+ shift control keycode 118 = VoidSymbol
+ alt keycode 118 = Console_4
+ control alt keycode 118 = Console_4
+keycode 119 = Select
+keycode 120 = F2
+ shift keycode 120 = F12
+ altgr keycode 120 = Console_14
+ shift control keycode 120 = VoidSymbol
+ alt keycode 120 = Console_2
+ control alt keycode 120 = Console_2
+keycode 121 = Next
+ shift keycode 121 = Scroll_Forward
+keycode 122 = F1
+ shift keycode 122 = F11
+ altgr keycode 122 = Console_13
+ shift control keycode 122 = VoidSymbol
+ alt keycode 122 = Console_1
+ control alt keycode 122 = Console_1
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+ shift control keycode 127 = Boot
diff --git a/keymaps/mac/mac-us-ext.kmap b/keymaps/mac/mac-us-ext.kmap
new file mode 100644
index 0000000..3edf411
--- /dev/null
+++ b/keymaps/mac/mac-us-ext.kmap
@@ -0,0 +1,249 @@
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+keycode 1 = s
+keycode 2 = +d +D Hex_D Control_d Control_d Meta_d Meta_Control_d
+keycode 3 = +f +F Hex_F Control_f Control_f Meta_f Meta_Control_f
+keycode 4 = h
+keycode 5 = g
+keycode 6 = z
+keycode 7 = x
+keycode 8 = +c +C Hex_C Control_c Control_c Meta_c Meta_Control_c
+keycode 9 = v
+keycode 10 =
+keycode 11 = +b +B Hex_B Control_b Control_b Meta_b Meta_Control_b
+keycode 12 = q
+keycode 13 = w
+keycode 14 = +e +E Hex_E Control_e Control_e Meta_e Meta_Control_e
+keycode 15 = r
+keycode 16 = y
+keycode 17 = t
+keycode 18 = one exclam
+ alt keycode 18 = Meta_one
+keycode 19 = two at at nul nul Meta_two
+keycode 20 = three numbersign
+ control keycode 20 = Escape
+ alt keycode 20 = Meta_three
+keycode 21 = four dollar dollar Control_backslash
+ alt keycode 21 = Meta_four
+keycode 22 = six asciicircum
+ control keycode 22 = Control_asciicircum
+ alt keycode 22 = Meta_six
+keycode 23 = five percent
+ control keycode 23 = Control_bracketright
+ alt keycode 23 = Meta_five
+keycode 24 = equal plus
+ alt keycode 24 = Meta_equal
+keycode 25 = nine parenleft bracketright
+ alt keycode 25 = Meta_nine
+keycode 26 = seven ampersand braceleft Control_underscore
+ alt keycode 26 = Meta_seven
+keycode 27 = minus underscore backslash Control_underscore Control_underscore Meta_minus
+keycode 28 = eight asterisk bracketleft Delete
+ alt keycode 28 = Meta_eight
+keycode 29 = zero parenright braceright
+ alt keycode 29 = Meta_zero
+keycode 30 = bracketright braceright asciitilde Control_bracketright
+ alt keycode 30 = Meta_bracketright
+keycode 31 = o
+keycode 32 = u
+keycode 33 = bracketleft braceleft
+ control keycode 33 = Escape
+ alt keycode 33 = Meta_bracketleft
+keycode 34 = i
+keycode 35 = p
+keycode 36 = Return
+ alt keycode 36 = Meta_Control_m
+keycode 37 = l
+keycode 38 = j
+keycode 39 = apostrophe quotedbl
+ control keycode 39 = Control_g
+ alt keycode 39 = Meta_apostrophe
+keycode 40 = k
+keycode 41 = semicolon colon
+ alt keycode 41 = Meta_semicolon
+keycode 42 = backslash bar
+ control keycode 42 = Control_backslash
+ alt keycode 42 = Meta_backslash
+keycode 43 = comma less
+ alt keycode 43 = Meta_comma
+keycode 44 = slash question
+ control keycode 44 = Delete
+ alt keycode 44 = Meta_slash
+keycode 45 = n
+keycode 46 = m
+keycode 47 = period greater
+ control keycode 47 = Compose
+ alt keycode 47 = Meta_period
+keycode 48 = Tab Tab
+ alt keycode 48 = Meta_Tab
+keycode 49 = space space
+ control keycode 49 = nul
+ alt keycode 49 = Meta_space
+keycode 50 = grave asciitilde
+ control keycode 50 = nul
+ alt keycode 50 = Meta_grave
+keycode 51 = Delete Delete
+ control keycode 51 = BackSpace
+ alt keycode 51 = Meta_Delete
+keycode 52 =
+keycode 53 = Escape Escape
+ alt keycode 53 = Meta_Escape
+keycode 54 = Control
+keycode 55 = Alt
+keycode 56 = Shift
+keycode 57 = Caps_Lock
+keycode 58 = AltGr
+keycode 59 = Left
+ alt keycode 59 = Decr_Console
+keycode 60 = Right
+ alt keycode 60 = Incr_Console
+keycode 61 = Down
+keycode 62 = Up
+keycode 63 =
+keycode 64 =
+keycode 65 = KP_Period
+keycode 66 =
+keycode 67 = KP_Multiply
+keycode 68 =
+keycode 69 = KP_Add
+keycode 70 =
+keycode 71 = Num_Lock
+keycode 72 =
+keycode 73 =
+keycode 74 =
+keycode 75 = KP_Divide
+keycode 76 = KP_Enter
+keycode 77 =
+keycode 78 = KP_Subtract
+keycode 79 =
+keycode 80 =
+keycode 81 =
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_1
+ altgr keycode 83 = Hex_1
+ alt keycode 83 = Ascii_1
+keycode 84 = KP_2
+ altgr keycode 84 = Hex_2
+ alt keycode 84 = Ascii_2
+keycode 85 = KP_3
+ altgr keycode 85 = Hex_3
+ alt keycode 85 = Ascii_3
+keycode 86 = KP_4
+ altgr keycode 86 = Hex_4
+ alt keycode 86 = Ascii_4
+keycode 87 = KP_5
+ altgr keycode 87 = Hex_5
+ alt keycode 87 = Ascii_5
+keycode 88 = KP_6
+ altgr keycode 88 = Hex_6
+ alt keycode 88 = Ascii_6
+keycode 89 = KP_7
+ altgr keycode 89 = Hex_7
+ alt keycode 89 = Ascii_7
+keycode 90 = +a +A Hex_A Control_a Control_a Meta_a Meta_Control_a
+keycode 91 = KP_8
+ altgr keycode 91 = Hex_8
+ alt keycode 91 = Ascii_8
+keycode 92 = KP_9
+ altgr keycode 92 = Hex_9
+ alt keycode 92 = Ascii_9
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = F5
+ shift keycode 96 = F15
+ altgr keycode 96 = Console_17
+ shift control keycode 96 = VoidSymbol
+ alt keycode 96 = Console_5
+ control alt keycode 96 = Console_5
+keycode 97 = F6
+ shift keycode 97 = F16
+ altgr keycode 97 = Console_18
+ shift control keycode 97 = VoidSymbol
+ alt keycode 97 = Console_6
+ control alt keycode 97 = Console_6
+keycode 98 = F7
+ shift keycode 98 = F17
+ altgr keycode 98 = Console_19
+ shift control keycode 98 = VoidSymbol
+ alt keycode 98 = Console_7
+ control alt keycode 98 = Console_7
+keycode 99 = F3
+ shift keycode 99 = F13
+ altgr keycode 99 = Console_15
+ shift control keycode 99 = VoidSymbol
+ alt keycode 99 = Console_3
+ control alt keycode 99 = Console_3
+keycode 100 = F8
+ shift keycode 100 = F18
+ altgr keycode 100 = Console_20
+ shift control keycode 100 = VoidSymbol
+ alt keycode 100 = Console_8
+ control alt keycode 100 = Console_8
+keycode 101 = F9
+ shift keycode 101 = F19
+ altgr keycode 101 = Console_21
+ shift control keycode 101 = VoidSymbol
+ alt keycode 101 = Console_9
+ control alt keycode 101 = Console_9
+keycode 102 =
+keycode 103 = F11
+ altgr keycode 103 = Console_23
+ shift control keycode 103 = VoidSymbol
+ alt keycode 103 = Console_11
+ control alt keycode 103 = Console_11
+keycode 104 =
+keycode 105 = F13
+keycode 106 =
+keycode 107 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 107 = Scroll_Lock
+keycode 108 =
+keycode 109 = F10
+ shift keycode 109 = F20
+ altgr keycode 109 = Console_22
+ shift control keycode 109 = VoidSymbol
+ alt keycode 109 = Console_10
+ control alt keycode 109 = Console_10
+keycode 110 =
+keycode 111 = F12
+ altgr keycode 111 = Console_24
+ shift control keycode 111 = VoidSymbol
+ alt keycode 111 = Console_12
+ control alt keycode 111 = Console_12
+keycode 112 =
+keycode 113 = Pause
+keycode 114 = Insert
+keycode 115 = Find
+keycode 116 = Prior
+ shift keycode 116 = Scroll_Backward
+keycode 117 = Remove
+keycode 118 = F4
+ shift keycode 118 = F14
+ altgr keycode 118 = Console_16
+ shift control keycode 118 = VoidSymbol
+ alt keycode 118 = Console_4
+ control alt keycode 118 = Console_4
+keycode 119 = Select
+keycode 120 = F2
+ shift keycode 120 = F12
+ altgr keycode 120 = Console_14
+ shift control keycode 120 = VoidSymbol
+ alt keycode 120 = Console_2
+ control alt keycode 120 = Console_2
+keycode 121 = Next
+ shift keycode 121 = Scroll_Forward
+keycode 122 = F1
+ shift keycode 122 = F11
+ altgr keycode 122 = Console_13
+ shift control keycode 122 = VoidSymbol
+ alt keycode 122 = Console_1
+ control alt keycode 122 = Console_1
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+ shift control keycode 127 = Boot
diff --git a/keymaps/mac/mac-us-std.kmap b/keymaps/mac/mac-us-std.kmap
new file mode 100644
index 0000000..1edbb61
--- /dev/null
+++ b/keymaps/mac/mac-us-std.kmap
@@ -0,0 +1,259 @@
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+keycode 1 = s
+keycode 2 = +d +D Hex_D Control_d Control_d Meta_d Meta_Control_d
+keycode 3 = +f +F Hex_F Control_f Control_f Meta_f Meta_Control_f
+keycode 4 = h
+keycode 5 = g
+keycode 6 = z
+keycode 7 = x
+keycode 8 = +c +C Hex_C Control_c Control_c Meta_c Meta_Control_c
+keycode 9 = v
+keycode 10 =
+keycode 11 = +b +B Hex_B Control_b Control_b Meta_b Meta_Control_b
+keycode 12 = q
+keycode 13 = w
+keycode 14 = +e +E Hex_E Control_e Control_e Meta_e Meta_Control_e
+keycode 15 = r
+keycode 16 = y
+keycode 17 = t
+keycode 18 = one exclam
+ alt keycode 18 = Meta_one
+ control alt keycode 18 = Console_1
+keycode 19 = two at at nul nul Meta_two
+ control alt keycode 19 = Console_2
+keycode 20 = three numbersign
+ control keycode 20 = Escape
+ alt keycode 20 = Meta_three
+ control alt keycode 20 = Console_3
+keycode 21 = four dollar dollar Control_backslash
+ alt keycode 21 = Meta_four
+ control alt keycode 21 = Console_4
+keycode 22 = six asciicircum
+ control keycode 22 = Control_asciicircum
+ alt keycode 22 = Meta_six
+ control alt keycode 22 = Console_6
+keycode 23 = five percent
+ control keycode 23 = Control_bracketright
+ alt keycode 23 = Meta_five
+ control alt keycode 23 = Console_5
+keycode 24 = equal plus
+ alt keycode 24 = Meta_equal
+keycode 25 = nine parenleft bracketright
+ alt keycode 25 = Meta_nine
+ control alt keycode 25 = Console_9
+keycode 26 = seven ampersand braceleft Control_underscore
+ alt keycode 26 = Meta_seven
+ control alt keycode 26 = Console_7
+keycode 27 = minus underscore backslash Control_underscore Control_underscore Meta_minus
+keycode 28 = eight asterisk bracketleft Delete
+ alt keycode 28 = Meta_eight
+ control alt keycode 28 = Console_8
+keycode 29 = zero parenright braceright
+ alt keycode 29 = Meta_zero
+ control alt keycode 29 = Console_10
+keycode 30 = bracketright braceright asciitilde Control_bracketright
+ alt keycode 30 = Meta_bracketright
+keycode 31 = o
+keycode 32 = u
+keycode 33 = bracketleft braceleft
+ control keycode 33 = Escape
+ alt keycode 33 = Meta_bracketleft
+keycode 34 = i
+keycode 35 = p
+keycode 36 = Return
+ alt keycode 36 = Meta_Control_m
+keycode 37 = l
+keycode 38 = j
+keycode 39 = apostrophe quotedbl
+ control keycode 39 = Control_g
+ alt keycode 39 = Meta_apostrophe
+keycode 40 = k
+keycode 41 = semicolon colon
+ alt keycode 41 = Meta_semicolon
+keycode 42 = backslash bar
+ control keycode 42 = Control_backslash
+ alt keycode 42 = Meta_backslash
+keycode 43 = comma less
+ alt keycode 43 = Meta_comma
+keycode 44 = slash question
+ control keycode 44 = Delete
+ alt keycode 44 = Meta_slash
+keycode 45 = n
+keycode 46 = m
+keycode 47 = period greater
+ control keycode 47 = Compose
+ alt keycode 47 = Meta_period
+keycode 48 = Tab Tab
+ alt keycode 48 = Meta_Tab
+keycode 49 = space space
+ control keycode 49 = nul
+ alt keycode 49 = Meta_space
+keycode 50 = grave asciitilde
+ control keycode 50 = nul
+ alt keycode 50 = Meta_grave
+keycode 51 = Delete Delete
+ control keycode 51 = BackSpace
+ alt keycode 51 = Meta_Delete
+keycode 52 =
+keycode 53 = Escape Escape
+ alt keycode 53 = Meta_Escape
+keycode 54 = Control
+keycode 55 = Alt
+keycode 56 = Shift
+keycode 57 = Caps_Lock
+keycode 58 = AltGr
+keycode 59 = Left
+ alt keycode 59 = Decr_Console
+keycode 60 = Right
+ alt keycode 60 = Incr_Console
+keycode 61 = Down
+keycode 62 = Up
+keycode 63 =
+keycode 64 =
+keycode 65 = KP_Period
+keycode 66 =
+keycode 67 = KP_Multiply
+keycode 68 =
+keycode 69 = KP_Add
+keycode 70 =
+keycode 71 = Num_Lock
+keycode 72 =
+keycode 73 =
+keycode 74 =
+keycode 75 = KP_Divide
+keycode 76 = KP_Enter
+keycode 77 =
+keycode 78 = KP_Subtract
+keycode 79 =
+keycode 80 =
+keycode 81 =
+keycode 82 = KP_0
+ altgr keycode 82 = Hex_0
+ alt keycode 82 = Ascii_0
+keycode 83 = KP_1
+ altgr keycode 83 = Hex_1
+ alt keycode 83 = Ascii_1
+keycode 84 = KP_2
+ altgr keycode 84 = Hex_2
+ alt keycode 84 = Ascii_2
+keycode 85 = KP_3
+ altgr keycode 85 = Hex_3
+ alt keycode 85 = Ascii_3
+keycode 86 = KP_4
+ altgr keycode 86 = Hex_4
+ alt keycode 86 = Ascii_4
+keycode 87 = KP_5
+ altgr keycode 87 = Hex_5
+ alt keycode 87 = Ascii_5
+keycode 88 = KP_6
+ altgr keycode 88 = Hex_6
+ alt keycode 88 = Ascii_6
+keycode 89 = KP_7
+ altgr keycode 89 = Hex_7
+ alt keycode 89 = Ascii_7
+keycode 90 = +a +A Hex_A Control_a Control_a Meta_a Meta_Control_a
+keycode 91 = KP_8
+ altgr keycode 91 = Hex_8
+ alt keycode 91 = Ascii_8
+keycode 92 = KP_9
+ altgr keycode 92 = Hex_9
+ alt keycode 92 = Ascii_9
+keycode 93 =
+keycode 94 =
+keycode 95 =
+keycode 96 = F5
+ shift keycode 96 = F15
+ altgr keycode 96 = Console_17
+ shift control keycode 96 = VoidSymbol
+ alt keycode 96 = Console_5
+ control alt keycode 96 = Console_5
+keycode 97 = F6
+ shift keycode 97 = F16
+ altgr keycode 97 = Console_18
+ shift control keycode 97 = VoidSymbol
+ alt keycode 97 = Console_6
+ control alt keycode 97 = Console_6
+keycode 98 = F7
+ shift keycode 98 = F17
+ altgr keycode 98 = Console_19
+ shift control keycode 98 = VoidSymbol
+ alt keycode 98 = Console_7
+ control alt keycode 98 = Console_7
+keycode 99 = F3
+ shift keycode 99 = F13
+ altgr keycode 99 = Console_15
+ shift control keycode 99 = VoidSymbol
+ alt keycode 99 = Console_3
+ control alt keycode 99 = Console_3
+keycode 100 = F8
+ shift keycode 100 = F18
+ altgr keycode 100 = Console_20
+ shift control keycode 100 = VoidSymbol
+ alt keycode 100 = Console_8
+ control alt keycode 100 = Console_8
+keycode 101 = F9
+ shift keycode 101 = F19
+ altgr keycode 101 = Console_21
+ shift control keycode 101 = VoidSymbol
+ alt keycode 101 = Console_9
+ control alt keycode 101 = Console_9
+keycode 102 =
+keycode 103 = F11
+ altgr keycode 103 = Console_23
+ shift control keycode 103 = VoidSymbol
+ alt keycode 103 = Console_11
+ control alt keycode 103 = Console_11
+keycode 104 =
+keycode 105 = F13
+keycode 106 =
+keycode 107 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 107 = Scroll_Lock
+keycode 108 =
+keycode 109 = F10
+ shift keycode 109 = F20
+ altgr keycode 109 = Console_22
+ shift control keycode 109 = VoidSymbol
+ alt keycode 109 = Console_10
+ control alt keycode 109 = Console_10
+keycode 110 =
+keycode 111 = F12
+ altgr keycode 111 = Console_24
+ shift control keycode 111 = VoidSymbol
+ alt keycode 111 = Console_12
+ control alt keycode 111 = Console_12
+keycode 112 =
+keycode 113 = Pause
+keycode 114 = Insert
+keycode 115 = Find
+keycode 116 = Prior
+ shift keycode 116 = Scroll_Backward
+keycode 117 = Remove
+keycode 118 = F4
+ shift keycode 118 = F14
+ altgr keycode 118 = Console_16
+ shift control keycode 118 = VoidSymbol
+ alt keycode 118 = Console_4
+ control alt keycode 118 = Console_4
+keycode 119 = Select
+keycode 120 = F2
+ shift keycode 120 = F12
+ altgr keycode 120 = Console_14
+ shift control keycode 120 = VoidSymbol
+ alt keycode 120 = Console_2
+ control alt keycode 120 = Console_2
+keycode 121 = Next
+ shift keycode 121 = Scroll_Forward
+keycode 122 = F1
+ shift keycode 122 = F11
+ altgr keycode 122 = Console_13
+ shift control keycode 122 = VoidSymbol
+ alt keycode 122 = Console_1
+ control alt keycode 122 = Console_1
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
+ shift control keycode 127 = Boot
diff --git a/keymaps/mac/mac-us.kmap b/keymaps/mac/mac-us.kmap
new file mode 100644
index 0000000..8ca5457
--- /dev/null
+++ b/keymaps/mac/mac-us.kmap
@@ -0,0 +1,63 @@
+#keymaps 0-2,4-5,8,9,12
+include "mac-qwerty-layout.inc"
+include "mac-linux-keys-bare.inc"
+strings as usual
+compose as usual for "iso-8859-1"
+#keycode 2 = +d +D Hex_D Control_d Control_d Meta_d Meta_Control_d
+#keycode 3 = +f +F Hex_F Control_f Control_f Meta_f Meta_Control_f
+#keycode 8 = +c +C Hex_C Control_c Control_c Meta_c Meta_Control_c
+keycode 50 = grave asciitilde
+ control keycode 50 = nul
+ alt keycode 50 = Meta_grave
+#keycode 11 = +b +B Hex_B Control_b Control_b Meta_b Meta_Control_b
+#keycode 14 = +e +E Hex_E Control_e Control_e Meta_e Meta_Control_e
+keycode 18 = one exclam
+ alt keycode 18 = Meta_one
+keycode 19 = two at at nul nul Meta_two
+keycode 20 = three numbersign
+ control keycode 20 = Escape
+ alt keycode 20 = Meta_three
+keycode 21 = four dollar dollar Control_backslash
+ alt keycode 21 = Meta_four
+keycode 22 = six asciicircum
+ control keycode 22 = Control_asciicircum
+ alt keycode 22 = Meta_six
+keycode 23 = five percent
+ control keycode 23 = Control_bracketright
+ alt keycode 23 = Meta_five
+keycode 24 = equal plus
+ alt keycode 24 = Meta_equal
+keycode 25 = nine parenleft bracketright
+ alt keycode 25 = Meta_nine
+keycode 26 = seven ampersand braceleft Control_underscore
+ alt keycode 26 = Meta_seven
+keycode 27 = minus underscore backslash Control_underscore Control_underscore Meta_minus
+keycode 28 = eight asterisk bracketleft Delete
+ alt keycode 28 = Meta_eight
+keycode 29 = zero parenright braceright
+ alt keycode 29 = Meta_zero
+keycode 30 = bracketright braceright asciitilde Control_bracketright
+ alt keycode 30 = Meta_bracketright
+keycode 33 = bracketleft braceleft
+ control keycode 33 = Escape
+ alt keycode 33 = Meta_bracketleft
+keycode 39 = apostrophe quotedbl
+ control keycode 39 = Control_g
+ alt keycode 39 = Meta_apostrophe
+keycode 41 = semicolon colon
+ alt keycode 41 = Meta_semicolon
+keycode 42 = backslash bar
+ control keycode 42 = Control_backslash
+ alt keycode 42 = Meta_backslash
+keycode 43 = comma less
+ alt keycode 43 = Meta_comma
+keycode 44 = slash question
+ control keycode 44 = Delete
+ alt keycode 44 = Meta_slash
+keycode 47 = period greater
+ control keycode 47 = Compose
+ alt keycode 47 = Meta_period
+keycode 65 = KP_Period
+#keycode 90 = +a +A Hex_A Control_a Control_a Meta_a Meta_Control_a
+keycode 107 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 107 = Scroll_Lock
diff --git a/keymaps/sun/sun-pl-altgraph.kmap b/keymaps/sun/sun-pl-altgraph.kmap
new file mode 100644
index 0000000..8b2b857
--- /dev/null
+++ b/keymaps/sun/sun-pl-altgraph.kmap
@@ -0,0 +1,394 @@
+# Keyboard map for the Sun Type4/Type5 keyboards
+# found on SparcStations
+# Polish version - 1998 rzm@icm.edu.pl
+keymaps 0-5,8,12
+#
+#
+# Stop/L1
+keycode 0x01 =
+# SND_LOWER
+keycode 0x02 =
+# Again/L2
+keycode 0x03 =
+# SND_LOUDER
+keycode 0x04 =
+keycode 0x05 = F1 F11 Console_13
+ control keycode 0x05 = F1
+ alt keycode 0x05 = Console_1
+ control alt keycode 0x05 = Console_1
+keycode 0x06 = F2 F12 Console_14
+ control keycode 0x06 = F2
+ alt keycode 0x06 = Console_2
+ control alt keycode 0x06 = Console_2
+keycode 0x07 = F10 F20 Console_22
+ control keycode 0x07 = F10
+ alt keycode 0x07 = Console_10
+ control alt keycode 0x07 = Console_10
+keycode 0x08 = F3 F13 Console_15
+ control keycode 0x08 = F3
+ alt keycode 0x08 = Console_3
+ control alt keycode 0x08 = Console_3
+keycode 0x09 = F11 F11 Console_23
+ control keycode 0x09 = F11
+ alt keycode 0x09 = Console_11
+ control alt keycode 0x09 = Console_11
+keycode 0x0a = F4 F14 Console_16
+ control keycode 0x0a = F4
+ alt keycode 0x0a = Console_4
+ control alt keycode 0x0a = Console_4
+keycode 0x0b = F12 F12 Console_24
+ control keycode 0x0b = F12
+ alt keycode 0x0b = Console_12
+ control alt keycode 0x0b = Console_12
+keycode 0x0c = F5 F15 Console_17
+ control Keycode 0x0c = F5
+ alt keycode 0x0c = Console_5
+ control alt keycode 0x0c = Console_5
+keycode 0x0d = AltGr
+keycode 0x0e = F6 F16 Console_18
+ control keycode 0x0e = F6
+ alt keycode 0x0e = Console_6
+ control alt keycode 0x0e = Console_6
+# BLANK KEY on type 5 keyboards
+keycode 0x0f =
+keycode 0x10 = F7 F17 Console_19
+ control keycode 0x10 = F7
+ alt keycode 0x10 = Console_7
+ control alt keycode 0x10 = Console_7
+keycode 0x11 = F8 F18 Console_20
+ control keycode 0x11 = F8
+ alt keycode 0x11 = Console_8
+ control alt keycode 0x11 = Console_8
+keycode 0x12 = F9 F19 Console_21
+ control keycode 0x12 = F9
+ alt keycode 0x12 = Console_9
+ control alt keycode 0x12 = Console_9
+keycode 0x13 = Alt
+keycode 0x14 = Up
+keycode 0x15 = Pause
+# Print Screen
+keycode 0x16 =
+keycode 0x17 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 0x17 = Show_State
+ alt keycode 0x17 = Scroll_Lock
+keycode 0x18 = Left
+ alt keycode 0x18 = Decr_Console
+# Props/L3
+keycode 0x19 =
+# UNDO/L4
+keycode 0x1a =
+keycode 0x1b = Down
+keycode 0x1c = Right
+ alt keycode 0x1c = Incr_Console
+keycode 0x1d = Escape Escape
+ alt keycode 0x1d = Meta_Escape
+keycode 0x1e = one exclam
+ alt keycode 0x1e = Meta_one
+keycode 0x1f = two at at
+ control keycode 0x1f = nul
+ shift control keycode 0x1f = nul
+ alt keycode 0x1f = Meta_two
+keycode 0x20 = three numbersign
+ control keycode 0x20 = Escape
+ alt keycode 0x20 = Meta_three
+keycode 0x21 = four dollar dollar
+ control keycode 0x21 = Control_backslash
+ alt keycode 0x21 = Meta_four
+keycode 0x22 = five percent
+ control keycode 0x22 = Control_bracketright
+ alt keycode 0x22 = Meta_five
+keycode 0x23 = six asciicircum
+ control keycode 0x23 = Control_asciicircum
+ alt keycode 0x23 = Meta_six
+keycode 0x24 = seven ampersand braceleft
+ control keycode 0x24 = Control_underscore
+ alt keycode 0x24 = Meta_seven
+keycode 0x25 = eight asterisk bracketleft
+ control keycode 0x25 = Delete
+ alt keycode 0x25 = Meta_eight
+keycode 0x26 = nine parenleft bracketright
+ alt keycode 0x26 = Meta_nine
+keycode 0x27 = zero parenright braceright
+ alt keycode 0x27 = Meta_zero
+keycode 0x28 = minus underscore backslash
+ control keycode 0x28 = Control_underscore
+ shift control keycode 0x28 = Control_underscore
+ alt keycode 0x28 = Meta_minus
+keycode 0x29 = equal plus
+ alt keycode 0x29 = Meta_equal
+keycode 0x2a = grave asciitilde
+ control keycode 0x2a = nul
+ alt keycode 0x2a = Meta_grave
+# Is marked as BackSpace but we define it as delete just like the i386
+# keyboard maps does
+keycode 0x2b = Delete Delete
+ control keycode 0x2b = BackSpace
+ alt keycode 0x2b = Meta_Delete
+keycode 0x2c = Insert
+# This is really keypad = on type 4 keyboards
+keycode 0x2d = equal
+keycode 0x2e = KP_Divide
+keycode 0x2f = KP_Multiply
+# Power ON/OFF key on type 5 keyboard
+keycode 0x30 =
+# FRONT/L5
+keycode 0x31 =
+keycode 0x32 = KP_Period
+# altgr control keycode 0x32 = Boot
+ control alt keycode 0x32 = Boot
+# COPY/L6
+keycode 0x33 =
+# Home key, same difference
+keycode 0x34 = Find
+keycode 0x35 = Tab Tab
+ alt keycode 0x35 = Meta_Tab
+keycode 0x36 = q
+keycode 0x37 = w
+keycode 0x38 = e
+# altgr keycode 0x38 = Hex_E
+ altgr keycode 0x38 = +eogonek
+ altgr shift keycode 0x38 = +Eogonek
+keycode 0x39 = r
+keycode 0x3a = t
+keycode 0x3b = y
+keycode 0x3c = u
+keycode 0x3d = i
+keycode 0x3e = o
+ altgr keycode 0x3e = +oacute
+ altgr shift keycode 0x3e = +Oacute
+keycode 0x3f = p
+keycode 0x40 = bracketleft braceleft
+ control keycode 0x40 = Escape
+ alt keycode 0x40 = Meta_bracketleft
+keycode 0x41 = bracketright braceright asciitilde
+ control keycode 0x41 = Control_bracketright
+ alt keycode 0x41 = Meta_bracketright
+keycode 0x42 = Delete Delete
+ control keycode 0x42 = BackSpace
+ alt keycode 0x43 = Meta_Delete
+ control alt keycode 0x42 = Boot
+keycode 0x43 = Compose
+keycode 0x44 = KP_7
+ alt keycode 0x44 = Ascii_7
+ altgr keycode 0x44 = Hex_7
+keycode 0x45 = KP_8
+ alt keycode 0x45 = Ascii_8
+ altgr keycode 0x45 = Hex_8
+keycode 0x46 = KP_9
+ alt keycode 0x46 = Ascii_9
+ altgr keycode 0x46 = Hex_9
+keycode 0x47 = KP_Subtract
+# OPEN/L6
+keycode 0x48 =
+# PASTE/L8
+keycode 0x49 =
+keycode 0x4a = Select
+# No key produces 0x4b to my knowledge
+keycode 0x4b =
+keycode 0x4c = Control
+keycode 0x4d = a
+# altgr keycode 0x4d = Hex_A
+ altgr keycode 0x4d = +aogonek
+ altgr shift keycode 0x4d = +Aogonek
+keycode 0x4e = s
+ altgr keycode 0x4e = +sacute
+ altgr shift keycode 0x4e = +Sacute
+keycode 0x4f = d
+ altgr keycode 0x4f = Hex_D
+keycode 0x50 = f
+ altgr keycode 0x50 = Hex_F
+keycode 0x51 = g
+keycode 0x52 = h
+keycode 0x53 = j
+keycode 0x54 = k
+keycode 0x55 = l
+ altgr keycode 0x55 = +lstroke
+ altgr shift keycode 0x55 = +Lstroke
+keycode 0x56 = semicolon colon
+ alt keycode 0x56 = Meta_semicolon
+keycode 0x57 = apostrophe quotedbl
+ control keycode 0x57 = Control_g
+ alt keycode 0x57 = Meta_apostrophe
+keycode 0x58 = backslash bar
+ control keycode 0x58 = Control_backslash
+ alt keycode 0x58 = Meta_backslash
+keycode 0x59 = Return
+ alt keycode 0x59 = Meta_Control_m
+keycode 0x5a = KP_Enter
+keycode 0x5b = KP_4
+ alt keycode 0x5b = Ascii_4
+ altgr keycode 0x5b = Hex_4
+keycode 0x5c = KP_5
+ alt keycode 0x5c = Ascii_5
+ altgr keycode 0x5c = Hex_5
+keycode 0x5d = KP_6
+ alt keycode 0x5d = Ascii_6
+ altgr keycode 0x5d = Hex_6
+keycode 0x5e = KP_0
+ alt keycode 0x5e = Ascii_0
+ altgr keycode 0x5e = Hex_0
+# FIND/L9
+keycode 0x5f =
+keycode 0x60 = Prior
+ shift keycode 0x60 = Scroll_Backward
+# CUT/L10
+keycode 0x61 =
+keycode 0x62 = Num_Lock
+# Linux/i386 console makes no distinction between right/left shift
+# so neither do we.
+keycode 0x63 = Shift
+keycode 0x64 = z
+ altgr keycode 0x64 = +zabovedot
+ altgr shift keycode 0x64 = +Zabovedot
+keycode 0x65 = x
+ altgr keycode 0x65 = +zacute
+ altgr shift keycode 0x65 = +Zacute
+keycode 0x66 = c
+# altgr keycode 0x66 = Hex_C
+ altgr keycode 0x66 = +cacute
+ altgr shift keycode 0x66 = +Cacute
+keycode 0x67 = v
+keycode 0x68 = b
+ altgr keycode 0x68 = Hex_B
+keycode 0x69 = n
+ altgr keycode 0x69 = +nacute
+ altgr shift keycode 0x69 = +Nacute
+keycode 0x6a = m
+keycode 0x6b = comma less
+ alt keycode 0x6b = Meta_comma
+keycode 0x6c = period greater
+ control keycode 0x6c = Compose
+ alt keycode 0x6c = Meta_period
+keycode 0x6d = slash question
+ control keycode 0x6d = Delete
+ alt keycode 0x6d = Meta_slash
+keycode 0x6e = Shift
+keycode 0x6f = Linefeed
+keycode 0x70 = KP_1
+ alt keycode 0x70 = Ascii_1
+ altgr keycode 0x70 = Hex_1
+keycode 0x71 = KP_2
+ alt keycode 0x71 = Ascii_2
+ altgr keycode 0x71 = Hex_2
+keycode 0x72 = KP_3
+ alt keycode 0x72 = Ascii_3
+ altgr keycode 0x72 = Hex_3
+# To my knowledge no key produces 0x73, 0x74, or 0x75
+keycode 0x73 =
+keycode 0x74 =
+keycode 0x75 =
+keycode 0x76 = Help
+keycode 0x77 = Caps_Lock
+# A True Meta-key, unused at this time
+keycode 0x78 =
+keycode 0x79 = space space
+ control keycode 0x79 = nul
+ alt keycode 0x79 = Meta_space
+# Another real Meta-key, again unused
+keycode 0x7a =
+keycode 0x7b = Next
+ shift keycode 0x7b = Scroll_Forward
+# No keys produce the following
+keycode 0x7c =
+keycode 0x7d = KP_Add
+keycode 0x7e =
+# keycode 0x7f is special and it means 'all keys released' and is
+# taken care of within the sun keyboard driver itself
+keycode 0x7f =
+# That's all folks...
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose '"' 'y' to 'ÿ'
+compose 's' 'z' to 'ß'
+compose 'i' 'j' to 'ÿ'
diff --git a/keymaps/sun/sun-pl.kmap b/keymaps/sun/sun-pl.kmap
new file mode 100644
index 0000000..049f952
--- /dev/null
+++ b/keymaps/sun/sun-pl.kmap
@@ -0,0 +1,415 @@
+# Keyboard map for the Sun Type4/Type5 keyboards
+# found on SparcStations
+#
+# Polish version - 1998 Rafa³ Maszkowski <rzm@icm.edu.pl>
+# 19980221 Meta_R used as CtrlR
+#
+keymaps 0-5,8,12,128-129
+#
+#
+# Stop/L1
+keycode 0x01 =
+# SND_LOWER
+keycode 0x02 =
+# Again/L2
+keycode 0x03 =
+# SND_LOUDER
+keycode 0x04 =
+keycode 0x05 = F1 F11 Console_13
+ control keycode 0x05 = F1
+ alt keycode 0x05 = Console_1
+ control alt keycode 0x05 = Console_1
+keycode 0x06 = F2 F12 Console_14
+ control keycode 0x06 = F2
+ alt keycode 0x06 = Console_2
+ control alt keycode 0x06 = Console_2
+keycode 0x07 = F10 F20 Console_22
+ control keycode 0x07 = F10
+ alt keycode 0x07 = Console_10
+ control alt keycode 0x07 = Console_10
+keycode 0x08 = F3 F13 Console_15
+ control keycode 0x08 = F3
+ alt keycode 0x08 = Console_3
+ control alt keycode 0x08 = Console_3
+keycode 0x09 = F11 F11 Console_23
+ control keycode 0x09 = F11
+ alt keycode 0x09 = Console_11
+ control alt keycode 0x09 = Console_11
+keycode 0x0a = F4 F14 Console_16
+ control keycode 0x0a = F4
+ alt keycode 0x0a = Console_4
+ control alt keycode 0x0a = Console_4
+keycode 0x0b = F12 F12 Console_24
+ control keycode 0x0b = F12
+ alt keycode 0x0b = Console_12
+ control alt keycode 0x0b = Console_12
+keycode 0x0c = F5 F15 Console_17
+ control Keycode 0x0c = F5
+ alt keycode 0x0c = Console_5
+ control alt keycode 0x0c = Console_5
+keycode 0x0d = AltGr
+keycode 0x0e = F6 F16 Console_18
+ control keycode 0x0e = F6
+ alt keycode 0x0e = Console_6
+ control alt keycode 0x0e = Console_6
+# BLANK KEY on type 5 keyboards
+keycode 0x0f =
+keycode 0x10 = F7 F17 Console_19
+ control keycode 0x10 = F7
+ alt keycode 0x10 = Console_7
+ control alt keycode 0x10 = Console_7
+keycode 0x11 = F8 F18 Console_20
+ control keycode 0x11 = F8
+ alt keycode 0x11 = Console_8
+ control alt keycode 0x11 = Console_8
+keycode 0x12 = F9 F19 Console_21
+ control keycode 0x12 = F9
+ alt keycode 0x12 = Console_9
+ control alt keycode 0x12 = Console_9
+keycode 0x13 = Alt
+keycode 0x14 = Up
+keycode 0x15 = Pause
+# Print Screen
+keycode 0x16 =
+keycode 0x17 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 0x17 = Show_State
+ alt keycode 0x17 = Scroll_Lock
+keycode 0x18 = Left
+ alt keycode 0x18 = Decr_Console
+# Props/L3
+keycode 0x19 =
+# UNDO/L4
+keycode 0x1a =
+keycode 0x1b = Down
+keycode 0x1c = Right
+ alt keycode 0x1c = Incr_Console
+keycode 0x1d = Escape Escape
+ alt keycode 0x1d = Meta_Escape
+keycode 0x1e = one exclam
+ alt keycode 0x1e = Meta_one
+keycode 0x1f = two at at
+ control keycode 0x1f = nul
+ shift control keycode 0x1f = nul
+ alt keycode 0x1f = Meta_two
+keycode 0x20 = three numbersign
+ control keycode 0x20 = Escape
+ alt keycode 0x20 = Meta_three
+keycode 0x21 = four dollar dollar
+ control keycode 0x21 = Control_backslash
+ alt keycode 0x21 = Meta_four
+keycode 0x22 = five percent
+ control keycode 0x22 = Control_bracketright
+ alt keycode 0x22 = Meta_five
+keycode 0x23 = six asciicircum
+ control keycode 0x23 = Control_asciicircum
+ alt keycode 0x23 = Meta_six
+keycode 0x24 = seven ampersand braceleft
+ control keycode 0x24 = Control_underscore
+ alt keycode 0x24 = Meta_seven
+keycode 0x25 = eight asterisk bracketleft
+ control keycode 0x25 = Delete
+ alt keycode 0x25 = Meta_eight
+keycode 0x26 = nine parenleft bracketright
+ alt keycode 0x26 = Meta_nine
+keycode 0x27 = zero parenright braceright
+ alt keycode 0x27 = Meta_zero
+keycode 0x28 = minus underscore backslash
+ control keycode 0x28 = Control_underscore
+ shift control keycode 0x28 = Control_underscore
+ alt keycode 0x28 = Meta_minus
+keycode 0x29 = equal plus
+ alt keycode 0x29 = Meta_equal
+keycode 0x2a = grave asciitilde
+ control keycode 0x2a = nul
+ alt keycode 0x2a = Meta_grave
+# Is marked as BackSpace but we define it as delete just like the i386
+# keyboard maps does
+keycode 0x2b = Delete Delete
+ control keycode 0x2b = BackSpace
+ alt keycode 0x2b = Meta_Delete
+keycode 0x2c = Insert
+# This is really keypad = on type 4 keyboards
+keycode 0x2d = equal
+keycode 0x2e = KP_Divide
+keycode 0x2f = KP_Multiply
+# Power ON/OFF key on type 5 keyboard
+keycode 0x30 =
+# FRONT/L5
+keycode 0x31 =
+keycode 0x32 = KP_Period
+# AltGr control keycode 0x32 = Boot
+ control alt keycode 0x32 = Boot
+# COPY/L6
+keycode 0x33 =
+# Home key, same difference
+keycode 0x34 = Find
+keycode 0x35 = Tab Tab
+ alt keycode 0x35 = Meta_Tab
+keycode 0x36 = q
+keycode 0x37 = w
+keycode 0x38 = e
+# AltGr keycode 0x38 = Hex_E
+ AltGr keycode 0x38 = +eogonek
+ AltGr Shift keycode 0x38 = +Eogonek
+ CtrlR keycode 0x38 = +eogonek
+ CtrlR Shift keycode 0x38 = +Eogonek
+keycode 0x39 = r
+keycode 0x3a = t
+keycode 0x3b = y
+keycode 0x3c = u
+keycode 0x3d = i
+keycode 0x3e = o
+ AltGr keycode 0x3e = +oacute
+ AltGr Shift keycode 0x3e = +Oacute
+ CtrlR keycode 0x3e = +oacute
+ CtrlR Shift keycode 0x3e = +Oacute
+keycode 0x3f = p
+keycode 0x40 = bracketleft braceleft
+ control keycode 0x40 = Escape
+ alt keycode 0x40 = Meta_bracketleft
+keycode 0x41 = bracketright braceright asciitilde
+ control keycode 0x41 = Control_bracketright
+ alt keycode 0x41 = Meta_bracketright
+keycode 0x42 = Delete Delete
+ control keycode 0x42 = BackSpace
+ alt keycode 0x43 = Meta_Delete
+ control alt keycode 0x42 = Boot
+keycode 0x43 = Compose
+keycode 0x44 = KP_7
+ alt keycode 0x44 = Ascii_7
+ AltGr keycode 0x44 = Hex_7
+keycode 0x45 = KP_8
+ alt keycode 0x45 = Ascii_8
+ AltGr keycode 0x45 = Hex_8
+keycode 0x46 = KP_9
+ alt keycode 0x46 = Ascii_9
+ AltGr keycode 0x46 = Hex_9
+keycode 0x47 = KP_Subtract
+# OPEN/L6
+keycode 0x48 =
+# PASTE/L8
+keycode 0x49 =
+keycode 0x4a = Select
+# No key produces 0x4b to my knowledge
+keycode 0x4b =
+keycode 0x4c = Control
+keycode 0x4d = a
+# AltGr keycode 0x4d = Hex_A
+ AltGr keycode 0x4d = +aogonek
+ AltGr Shift keycode 0x4d = +Aogonek
+ CtrlR keycode 0x4d = +aogonek
+ CtrlR Shift keycode 0x4d = +Aogonek
+keycode 0x4e = s
+ AltGr keycode 0x4e = +sacute
+ AltGr Shift keycode 0x4e = +Sacute
+ CtrlR keycode 0x4e = +sacute
+ CtrlR Shift keycode 0x4e = +Sacute
+keycode 0x4f = d
+ AltGr keycode 0x4f = Hex_D
+keycode 0x50 = f
+ AltGr keycode 0x50 = Hex_F
+keycode 0x51 = g
+keycode 0x52 = h
+keycode 0x53 = j
+keycode 0x54 = k
+keycode 0x55 = l
+ AltGr keycode 0x55 = +lstroke
+ AltGr Shift keycode 0x55 = +Lstroke
+ CtrlR keycode 0x55 = +lstroke
+ CtrlR Shift keycode 0x55 = +Lstroke
+keycode 0x56 = semicolon colon
+ alt keycode 0x56 = Meta_semicolon
+keycode 0x57 = apostrophe quotedbl
+ control keycode 0x57 = Control_g
+ alt keycode 0x57 = Meta_apostrophe
+keycode 0x58 = backslash bar
+ control keycode 0x58 = Control_backslash
+ alt keycode 0x58 = Meta_backslash
+keycode 0x59 = Return
+ alt keycode 0x59 = Meta_Control_m
+keycode 0x5a = KP_Enter
+keycode 0x5b = KP_4
+ alt keycode 0x5b = Ascii_4
+ AltGr keycode 0x5b = Hex_4
+keycode 0x5c = KP_5
+ alt keycode 0x5c = Ascii_5
+ AltGr keycode 0x5c = Hex_5
+keycode 0x5d = KP_6
+ alt keycode 0x5d = Ascii_6
+ AltGr keycode 0x5d = Hex_6
+keycode 0x5e = KP_0
+ alt keycode 0x5e = Ascii_0
+ AltGr keycode 0x5e = Hex_0
+# FIND/L9
+keycode 0x5f =
+keycode 0x60 = Prior
+ shift keycode 0x60 = Scroll_Backward
+# CUT/L10
+keycode 0x61 =
+keycode 0x62 = Num_Lock
+# Linux/i386 console makes no distinction between right/left shift
+# so neither do we.
+keycode 0x63 = Shift
+keycode 0x64 = z
+ AltGr keycode 0x64 = +zabovedot
+ AltGr Shift keycode 0x64 = +Zabovedot
+ CtrlR keycode 0x64 = +zabovedot
+ CtrlR Shift keycode 0x64 = +Zabovedot
+keycode 0x65 = x
+ AltGr keycode 0x65 = +zacute
+ AltGr Shift keycode 0x65 = +Zacute
+ CtrlR keycode 0x65 = +zacute
+ CtrlR Shift keycode 0x65 = +Zacute
+keycode 0x66 = c
+# AltGr keycode 0x66 = Hex_C
+ AltGr keycode 0x66 = +cacute
+ AltGr Shift keycode 0x66 = +Cacute
+ CtrlR keycode 0x66 = +cacute
+ CtrlR Shift keycode 0x66 = +Cacute
+keycode 0x67 = v
+keycode 0x68 = b
+ AltGr keycode 0x68 = Hex_B
+keycode 0x69 = n
+ AltGr keycode 0x69 = +nacute
+ AltGr Shift keycode 0x69 = +Nacute
+ CtrlR keycode 0x69 = +nacute
+ CtrlR Shift keycode 0x69 = +Nacute
+keycode 0x6a = m
+keycode 0x6b = comma less
+ alt keycode 0x6b = Meta_comma
+keycode 0x6c = period greater
+ control keycode 0x6c = Compose
+ alt keycode 0x6c = Meta_period
+keycode 0x6d = slash question
+ control keycode 0x6d = Delete
+ alt keycode 0x6d = Meta_slash
+keycode 0x6e = Shift
+keycode 0x6f = Linefeed
+keycode 0x70 = KP_1
+ alt keycode 0x70 = Ascii_1
+ AltGr keycode 0x70 = Hex_1
+keycode 0x71 = KP_2
+ alt keycode 0x71 = Ascii_2
+ AltGr keycode 0x71 = Hex_2
+keycode 0x72 = KP_3
+ alt keycode 0x72 = Ascii_3
+ AltGr keycode 0x72 = Hex_3
+# To my knowledge no key produces 0x73, 0x74, or 0x75
+keycode 0x73 =
+keycode 0x74 =
+keycode 0x75 =
+keycode 0x76 = Help
+keycode 0x77 = Caps_Lock
+# A True Meta-key, unused at this time
+keycode 0x78 =
+keycode 0x79 = space space
+ control keycode 0x79 = nul
+ alt keycode 0x79 = Meta_space
+# Another real Meta-key, Meta_R, left from space, more convenient for Polish characters
+keycode 0x7a = CtrlR
+keycode 0x7b = Next
+ shift keycode 0x7b = Scroll_Forward
+# No keys produce the following
+keycode 0x7c =
+keycode 0x7d = KP_Add
+keycode 0x7e =
+# keycode 0x7f is special and it means 'all keys released' and is
+# taken care of within the sun keyboard driver itself
+keycode 0x7f =
+# That's all folks...
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string Macro = "\033[M"
+string Pause = "\033[P"
+compose '`' 'A' to 'À'
+compose '`' 'a' to 'à'
+compose '\'' 'A' to 'Á'
+compose '\'' 'a' to 'á'
+compose '^' 'A' to 'Â'
+compose '^' 'a' to 'â'
+compose '~' 'A' to 'Ã'
+compose '~' 'a' to 'ã'
+compose '"' 'A' to 'Ä'
+compose '"' 'a' to 'ä'
+compose 'O' 'A' to 'Å'
+compose 'o' 'a' to 'å'
+compose '0' 'A' to 'Å'
+compose '0' 'a' to 'å'
+compose 'A' 'A' to 'Å'
+compose 'a' 'a' to 'å'
+compose 'A' 'E' to 'Æ'
+compose 'a' 'e' to 'æ'
+compose ',' 'C' to 'Ç'
+compose ',' 'c' to 'ç'
+compose '`' 'E' to 'È'
+compose '`' 'e' to 'è'
+compose '\'' 'E' to 'É'
+compose '\'' 'e' to 'é'
+compose '^' 'E' to 'Ê'
+compose '^' 'e' to 'ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'e' to 'ë'
+compose '`' 'I' to 'Ì'
+compose '`' 'i' to 'ì'
+compose '\'' 'I' to 'Í'
+compose '\'' 'i' to 'í'
+compose '^' 'I' to 'Î'
+compose '^' 'i' to 'î'
+compose '"' 'I' to 'Ï'
+compose '"' 'i' to 'ï'
+compose '-' 'D' to 'Ð'
+compose '-' 'd' to 'ð'
+compose '~' 'N' to 'Ñ'
+compose '~' 'n' to 'ñ'
+compose '`' 'O' to 'Ò'
+compose '`' 'o' to 'ò'
+compose '\'' 'O' to 'Ó'
+compose '\'' 'o' to 'ó'
+compose '^' 'O' to 'Ô'
+compose '^' 'o' to 'ô'
+compose '~' 'O' to 'Õ'
+compose '~' 'o' to 'õ'
+compose '"' 'O' to 'Ö'
+compose '"' 'o' to 'ö'
+compose '/' 'O' to 'Ø'
+compose '/' 'o' to 'ø'
+compose '`' 'U' to 'Ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'U' to 'Ú'
+compose '\'' 'u' to 'ú'
+compose '^' 'U' to 'Û'
+compose '^' 'u' to 'û'
+compose '"' 'U' to 'Ü'
+compose '"' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose 's' 's' to 'ß'
+compose '"' 'y' to 'ÿ'
+compose 's' 'z' to 'ß'
+compose 'i' 'j' to 'ÿ'
diff --git a/keymaps/sun/sundvorak.kmap b/keymaps/sun/sundvorak.kmap
new file mode 100644
index 0000000..330d762
--- /dev/null
+++ b/keymaps/sun/sundvorak.kmap
@@ -0,0 +1,281 @@
+# Dvorak keyboard map for the
+# Sun Type4/Type5 keyboards found on SparcStations
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+#
+#
+# Stop/L1
+keycode 0x01 =
+# SND_LOWER
+keycode 0x02 =
+# Again/L2
+keycode 0x03 =
+# SND_LOUDER
+keycode 0x04 =
+keycode 0x05 = F1 F11 Console_13
+ control keycode 0x05 = F1
+ alt keycode 0x05 = Console_1
+ control alt keycode 0x05 = Console_1
+keycode 0x06 = F2 F12 Console_14
+ control keycode 0x06 = F2
+ alt keycode 0x06 = Console_2
+ control alt keycode 0x06 = Console_2
+keycode 0x07 = F10 F20 Console_22
+ control keycode 0x07 = F10
+ alt keycode 0x07 = Console_10
+ control alt keycode 0x07 = Console_10
+keycode 0x08 = F3 F13 Console_15
+ control keycode 0x08 = F3
+ alt keycode 0x08 = Console_3
+ control alt keycode 0x08 = Console_3
+keycode 0x09 = F11 F11 Console_23
+ control keycode 0x09 = F11
+ alt keycode 0x09 = Console_11
+ control alt keycode 0x09 = Console_11
+keycode 0x0a = F4 F14 Console_16
+ control keycode 0x0a = F4
+ alt keycode 0x0a = Console_4
+ control alt keycode 0x0a = Console_4
+keycode 0x0b = F12 F12 Console_24
+ control keycode 0x0b = F12
+ alt keycode 0x0b = Console_12
+ control alt keycode 0x0b = Console_12
+keycode 0x0c = F5 F15 Console_17
+ control Keycode 0x0c = F5
+ alt keycode 0x0c = Console_5
+ control alt keycode 0x0c = Console_5
+keycode 0x0d = AltGr
+keycode 0x0e = F6 F16 Console_18
+ control keycode 0x0e = F6
+ alt keycode 0x0e = Console_6
+ control alt keycode 0x0e = Console_6
+# BLANK KEY on type 5 keyboards
+keycode 0x0f =
+keycode 0x10 = F7 F17 Console_19
+ control keycode 0x10 = F7
+ alt keycode 0x10 = Console_7
+ control alt keycode 0x10 = Console_7
+keycode 0x11 = F8 F18 Console_20
+ control keycode 0x11 = F8
+ alt keycode 0x11 = Console_8
+ control alt keycode 0x11 = Console_8
+keycode 0x12 = F9 F19 Console_21
+ control keycode 0x12 = F9
+ alt keycode 0x12 = Console_9
+ control alt keycode 0x12 = Console_9
+keycode 0x13 = Alt
+keycode 0x14 = Up
+keycode 0x15 = Pause
+# Print Screen
+keycode 0x16 =
+keycode 0x17 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 0x17 = Show_State
+ alt keycode 0x17 = Scroll_Lock
+keycode 0x18 = Left
+ alt keycode 0x18 = Decr_Console
+# Props/L3
+keycode 0x19 =
+# UNDO/L4
+keycode 0x1a =
+keycode 0x1b = Down
+keycode 0x1c = Right
+ alt keycode 0x1c = Incr_Console
+keycode 0x1d = Escape Escape
+ alt keycode 0x1d = Meta_Escape
+keycode 0x1e = one exclam
+ alt keycode 0x1e = Meta_one
+keycode 0x1f = two at at
+ control keycode 0x1f = nul
+ shift control keycode 0x1f = nul
+ alt keycode 0x1f = Meta_two
+keycode 0x20 = three numbersign
+ control keycode 0x20 = Escape
+ alt keycode 0x20 = Meta_three
+keycode 0x21 = four dollar dollar
+ control keycode 0x21 = Control_backslash
+ alt keycode 0x21 = Meta_four
+keycode 0x22 = five percent
+ control keycode 0x22 = Control_bracketright
+ alt keycode 0x22 = Meta_five
+keycode 0x23 = six asciicircum
+ control keycode 0x23 = Control_asciicircum
+ alt keycode 0x23 = Meta_six
+keycode 0x24 = seven ampersand braceleft
+ control keycode 0x24 = Control_underscore
+ alt keycode 0x24 = Meta_seven
+keycode 0x25 = eight asterisk bracketleft
+ control keycode 0x25 = Delete
+ alt keycode 0x25 = Meta_eight
+keycode 0x26 = nine parenleft bracketright
+ alt keycode 0x26 = Meta_nine
+keycode 0x27 = zero parenright braceright
+ alt keycode 0x27 = Meta_zero
+keycode 0x28 = bracketleft braceleft
+ control keycode 0x28 = Escape
+ alt keycode 0x28 = Meta_bracketleft
+keycode 0x29 = bracketright braceright asciitilde
+ control keycode 0x29 = Control_bracketright
+ alt keycode 0x29 = Meta_bracketright
+keycode 0x2a = grave asciitilde
+ control keycode 0x2a = nul
+ alt keycode 0x2a = Meta_grave
+# Is marked as BackSpace but we define it as delete just like the i386
+# keyboard maps does
+keycode 0x2b = Delete Delete
+ control keycode 0x2b = BackSpace
+ alt keycode 0x2b = Meta_Delete
+keycode 0x2c = Insert
+# This is really keypad = on type 4 keyboards
+keycode 0x2d = equal
+keycode 0x2e = KP_Divide
+keycode 0x2f = KP_Multiply
+# Power ON/OFF key on type 5 keyboard
+keycode 0x30 =
+# FRONT/L5
+keycode 0x31 =
+keycode 0x32 = KP_Period
+# altgr control keycode 0x32 = Boot
+ control alt keycode 0x32 = Boot
+# COPY/L6
+keycode 0x33 =
+# Home key, same difference
+keycode 0x34 = Find
+keycode 0x35 = Tab Tab
+ alt keycode 0x35 = Meta_Tab
+keycode 0x36 = apostrophe quotedbl
+ control keycode 0x36 = Control_g
+ alt keycode 0x36 = Meta_apostrophe
+keycode 0x37 = comma less
+ alt keycode 0x37 = Meta_comma
+keycode 0x38 = period greater
+ control keycode 0x38 = Compose
+ alt keycode 0x38 = Meta_period
+keycode 0x39 = p
+keycode 0x3a = y
+keycode 0x3b = f
+ altgr keycode 0x3b = Hex_F
+keycode 0x3c = g
+keycode 0x3d = c
+ altgr keycode 0x3d = Hex_C
+keycode 0x3e = r
+keycode 0x3f = l
+keycode 0x40 = slash question
+ control keycode 0x40 = Delete
+ alt keycode 0x40 = Meta_slash
+keycode 0x41 = backslash bar
+ control keycode 0x41 = Control_backslash
+ alt keycode 0x41 = Meta_backslash
+keycode 0x42 = Delete Delete
+ control keycode 0x42 = BackSpace
+ alt keycode 0x43 = Meta_Delete
+ control alt keycode 0x42 = Boot
+keycode 0x43 = Compose
+keycode 0x44 = KP_7
+ alt keycode 0x44 = Ascii_7
+ altgr keycode 0x44 = Hex_7
+keycode 0x45 = KP_8
+ alt keycode 0x45 = Ascii_8
+ altgr keycode 0x45 = Hex_8
+keycode 0x46 = KP_9
+ alt keycode 0x46 = Ascii_9
+ altgr keycode 0x46 = Hex_9
+keycode 0x47 = KP_Subtract
+# OPEN/L6
+keycode 0x48 =
+# PASTE/L8
+keycode 0x49 =
+keycode 0x4a = Select
+# No key produces 0x4b to my knowledge
+keycode 0x4b =
+keycode 0x4c = Control
+keycode 0x4d = a
+ altgr keycode 0x4d = Hex_A
+keycode 0x4e = o
+keycode 0x4f = e
+ altgr keycode 0x4f = Hex_E
+keycode 0x50 = u
+keycode 0x51 = i
+keycode 0x52 = d
+ altgr keycode 0x52 = Hex_D
+keycode 0x53 = h
+keycode 0x54 = t
+keycode 0x55 = n
+keycode 0x56 = s
+keycode 0x57 = minus underscore backslash
+ control keycode 0x57 = Control_underscore
+ shift control keycode 0x57 = Control_underscore
+ alt keycode 0x57 = Meta_minus
+keycode 0x58 = equal plus
+ alt keycode 0x58 = Meta_equal
+keycode 0x59 = Return
+ alt keycode 0x59 = Meta_Control_m
+keycode 0x5a = KP_Enter
+keycode 0x5b = KP_4
+ alt keycode 0x5b = Ascii_4
+ altgr keycode 0x5b = Hex_4
+keycode 0x5c = KP_5
+ alt keycode 0x5c = Ascii_5
+ altgr keycode 0x5c = Hex_5
+keycode 0x5d = KP_6
+ alt keycode 0x5d = Ascii_6
+ altgr keycode 0x5d = Hex_6
+keycode 0x5e = KP_0
+ alt keycode 0x5e = Ascii_0
+ altgr keycode 0x5e = Hex_0
+# FIND/L9
+keycode 0x5f =
+keycode 0x60 = Prior
+ shift keycode 0x60 = Scroll_Backward
+# CUT/L10
+keycode 0x61 =
+keycode 0x62 = Num_Lock
+# Linux/i386 console makes no distinction between right/left shift
+# so neither do we.
+keycode 0x63 = Shift
+keycode 0x64 = semicolon colon
+ alt keycode 0x64 = Meta_semicolon
+keycode 0x65 = q
+keycode 0x66 = j
+keycode 0x67 = k
+keycode 0x68 = x
+keycode 0x69 = b
+ altgr keycode 0x69 = Hex_B
+keycode 0x6a = m
+keycode 0x6b = w
+keycode 0x6c = v
+keycode 0x6d = z
+keycode 0x6e = Shift
+keycode 0x6f = Linefeed
+keycode 0x70 = KP_1
+ alt keycode 0x70 = Ascii_1
+ altgr keycode 0x70 = Hex_1
+keycode 0x71 = KP_2
+ alt keycode 0x71 = Ascii_2
+ altgr keycode 0x71 = Hex_2
+keycode 0x72 = KP_3
+ alt keycode 0x72 = Ascii_3
+ altgr keycode 0x72 = Hex_3
+# To my knowledge no key produces 0x73, 0x74, or 0x75
+keycode 0x73 =
+keycode 0x74 =
+keycode 0x75 =
+keycode 0x76 = Help
+keycode 0x77 = Caps_Lock
+# A True Meta-key, unused at this time
+keycode 0x78 =
+keycode 0x79 = space space
+ control keycode 0x79 = nul
+ alt keycode 0x79 = Meta_space
+# Another real Meta-key, again unused
+keycode 0x7a =
+keycode 0x7b = Next
+ shift keycode 0x7b = Scroll_Forward
+# No keys produce the following
+keycode 0x7c =
+keycode 0x7d = KP_Add
+keycode 0x7e =
+# keycode 0x7f is special and it means 'all keys released' and is
+# taken care of within the sun keyboard driver itself
+keycode 0x7f =
+# That's all folks...
diff --git a/keymaps/sun/sunkeymap.kmap b/keymaps/sun/sunkeymap.kmap
new file mode 100644
index 0000000..ff06a36
--- /dev/null
+++ b/keymaps/sun/sunkeymap.kmap
@@ -0,0 +1,281 @@
+# Keyboard map for the Sun Type4/Type5 keyboards
+# found on SparcStations
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+#
+#
+# Stop/L1
+keycode 0x01 =
+# SND_LOWER
+keycode 0x02 =
+# Again/L2
+keycode 0x03 =
+# SND_LOUDER
+keycode 0x04 =
+keycode 0x05 = F1 F11 Console_13
+ control keycode 0x05 = F1
+ alt keycode 0x05 = Console_1
+ control alt keycode 0x05 = Console_1
+keycode 0x06 = F2 F12 Console_14
+ control keycode 0x06 = F2
+ alt keycode 0x06 = Console_2
+ control alt keycode 0x06 = Console_2
+keycode 0x07 = F10 F20 Console_22
+ control keycode 0x07 = F10
+ alt keycode 0x07 = Console_10
+ control alt keycode 0x07 = Console_10
+keycode 0x08 = F3 F13 Console_15
+ control keycode 0x08 = F3
+ alt keycode 0x08 = Console_3
+ control alt keycode 0x08 = Console_3
+keycode 0x09 = F11 F11 Console_23
+ control keycode 0x09 = F11
+ alt keycode 0x09 = Console_11
+ control alt keycode 0x09 = Console_11
+keycode 0x0a = F4 F14 Console_16
+ control keycode 0x0a = F4
+ alt keycode 0x0a = Console_4
+ control alt keycode 0x0a = Console_4
+keycode 0x0b = F12 F12 Console_24
+ control keycode 0x0b = F12
+ alt keycode 0x0b = Console_12
+ control alt keycode 0x0b = Console_12
+keycode 0x0c = F5 F15 Console_17
+ control Keycode 0x0c = F5
+ alt keycode 0x0c = Console_5
+ control alt keycode 0x0c = Console_5
+keycode 0x0d = AltGr
+keycode 0x0e = F6 F16 Console_18
+ control keycode 0x0e = F6
+ alt keycode 0x0e = Console_6
+ control alt keycode 0x0e = Console_6
+# BLANK KEY on type 5 keyboards
+keycode 0x0f =
+keycode 0x10 = F7 F17 Console_19
+ control keycode 0x10 = F7
+ alt keycode 0x10 = Console_7
+ control alt keycode 0x10 = Console_7
+keycode 0x11 = F8 F18 Console_20
+ control keycode 0x11 = F8
+ alt keycode 0x11 = Console_8
+ control alt keycode 0x11 = Console_8
+keycode 0x12 = F9 F19 Console_21
+ control keycode 0x12 = F9
+ alt keycode 0x12 = Console_9
+ control alt keycode 0x12 = Console_9
+keycode 0x13 = Alt
+keycode 0x14 = Up
+keycode 0x15 = Pause
+# Print Screen
+keycode 0x16 =
+keycode 0x17 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 0x17 = Show_State
+ alt keycode 0x17 = Scroll_Lock
+keycode 0x18 = Left
+ alt keycode 0x18 = Decr_Console
+# Props/L3
+keycode 0x19 =
+# UNDO/L4
+keycode 0x1a =
+keycode 0x1b = Down
+keycode 0x1c = Right
+ alt keycode 0x1c = Incr_Console
+keycode 0x1d = Escape Escape
+ alt keycode 0x1d = Meta_Escape
+keycode 0x1e = one exclam
+ alt keycode 0x1e = Meta_one
+keycode 0x1f = two at at
+ control keycode 0x1f = nul
+ shift control keycode 0x1f = nul
+ alt keycode 0x1f = Meta_two
+keycode 0x20 = three numbersign
+ control keycode 0x20 = Escape
+ alt keycode 0x20 = Meta_three
+keycode 0x21 = four dollar dollar
+ control keycode 0x21 = Control_backslash
+ alt keycode 0x21 = Meta_four
+keycode 0x22 = five percent
+ control keycode 0x22 = Control_bracketright
+ alt keycode 0x22 = Meta_five
+keycode 0x23 = six asciicircum
+ control keycode 0x23 = Control_asciicircum
+ alt keycode 0x23 = Meta_six
+keycode 0x24 = seven ampersand braceleft
+ control keycode 0x24 = Control_underscore
+ alt keycode 0x24 = Meta_seven
+keycode 0x25 = eight asterisk bracketleft
+ control keycode 0x25 = Delete
+ alt keycode 0x25 = Meta_eight
+keycode 0x26 = nine parenleft bracketright
+ alt keycode 0x26 = Meta_nine
+keycode 0x27 = zero parenright braceright
+ alt keycode 0x27 = Meta_zero
+keycode 0x28 = minus underscore backslash
+ control keycode 0x28 = Control_underscore
+ shift control keycode 0x28 = Control_underscore
+ alt keycode 0x28 = Meta_minus
+keycode 0x29 = equal plus
+ alt keycode 0x29 = Meta_equal
+keycode 0x2a = grave asciitilde
+ control keycode 0x2a = nul
+ alt keycode 0x2a = Meta_grave
+# Is marked as BackSpace but we define it as delete just like the i386
+# keyboard maps does
+keycode 0x2b = Delete Delete
+ control keycode 0x2b = BackSpace
+ alt keycode 0x2b = Meta_Delete
+keycode 0x2c = Insert
+# This is really keypad = on type 4 keyboards
+keycode 0x2d = equal
+keycode 0x2e = KP_Divide
+keycode 0x2f = KP_Multiply
+# Power ON/OFF key on type 5 keyboard
+keycode 0x30 =
+# FRONT/L5
+keycode 0x31 =
+keycode 0x32 = KP_Period
+# altgr control keycode 0x32 = Boot
+ control alt keycode 0x32 = Boot
+# COPY/L6
+keycode 0x33 =
+# Home key, same difference
+keycode 0x34 = Find
+keycode 0x35 = Tab Tab
+ alt keycode 0x35 = Meta_Tab
+keycode 0x36 = q
+keycode 0x37 = w
+keycode 0x38 = e
+ altgr keycode 0x38 = Hex_E
+keycode 0x39 = r
+keycode 0x3a = t
+keycode 0x3b = y
+keycode 0x3c = u
+keycode 0x3d = i
+keycode 0x3e = o
+keycode 0x3f = p
+keycode 0x40 = bracketleft braceleft
+ control keycode 0x40 = Escape
+ alt keycode 0x40 = Meta_bracketleft
+keycode 0x41 = bracketright braceright asciitilde
+ control keycode 0x41 = Control_bracketright
+ alt keycode 0x41 = Meta_bracketright
+keycode 0x42 = Delete Delete
+ control keycode 0x42 = BackSpace
+ alt keycode 0x43 = Meta_Delete
+ control alt keycode 0x42 = Boot
+keycode 0x43 = Compose
+keycode 0x44 = KP_7
+ alt keycode 0x44 = Ascii_7
+ altgr keycode 0x44 = Hex_7
+keycode 0x45 = KP_8
+ alt keycode 0x45 = Ascii_8
+ altgr keycode 0x45 = Hex_8
+keycode 0x46 = KP_9
+ alt keycode 0x46 = Ascii_9
+ altgr keycode 0x46 = Hex_9
+keycode 0x47 = KP_Subtract
+# OPEN/L6
+keycode 0x48 =
+# PASTE/L8
+keycode 0x49 =
+keycode 0x4a = Select
+# No key produces 0x4b to my knowledge
+keycode 0x4b =
+keycode 0x4c = Control
+keycode 0x4d = a
+ altgr keycode 0x4d = Hex_A
+keycode 0x4e = s
+keycode 0x4f = d
+ altgr keycode 0x4f = Hex_D
+keycode 0x50 = f
+ altgr keycode 0x50 = Hex_F
+keycode 0x51 = g
+keycode 0x52 = h
+keycode 0x53 = j
+keycode 0x54 = k
+keycode 0x55 = l
+keycode 0x56 = semicolon colon
+ alt keycode 0x56 = Meta_semicolon
+keycode 0x57 = apostrophe quotedbl
+ control keycode 0x57 = Control_g
+ alt keycode 0x57 = Meta_apostrophe
+keycode 0x58 = backslash bar
+ control keycode 0x58 = Control_backslash
+ alt keycode 0x58 = Meta_backslash
+keycode 0x59 = Return
+ alt keycode 0x59 = Meta_Control_m
+keycode 0x5a = KP_Enter
+keycode 0x5b = KP_4
+ alt keycode 0x5b = Ascii_4
+ altgr keycode 0x5b = Hex_4
+keycode 0x5c = KP_5
+ alt keycode 0x5c = Ascii_5
+ altgr keycode 0x5c = Hex_5
+keycode 0x5d = KP_6
+ alt keycode 0x5d = Ascii_6
+ altgr keycode 0x5d = Hex_6
+keycode 0x5e = KP_0
+ alt keycode 0x5e = Ascii_0
+ altgr keycode 0x5e = Hex_0
+# FIND/L9
+keycode 0x5f =
+keycode 0x60 = Prior
+ shift keycode 0x60 = Scroll_Backward
+# CUT/L10
+keycode 0x61 =
+keycode 0x62 = Num_Lock
+# Linux/i386 console makes no distinction between right/left shift
+# so neither do we.
+keycode 0x63 = Shift
+keycode 0x64 = z
+keycode 0x65 = x
+keycode 0x66 = c
+ altgr keycode 0x66 = Hex_C
+keycode 0x67 = v
+keycode 0x68 = b
+ altgr keycode 0x68 = Hex_B
+keycode 0x69 = n
+keycode 0x6a = m
+keycode 0x6b = comma less
+ alt keycode 0x6b = Meta_comma
+keycode 0x6c = period greater
+ control keycode 0x6c = Compose
+ alt keycode 0x6c = Meta_period
+keycode 0x6d = slash question
+ control keycode 0x6d = Delete
+ alt keycode 0x6d = Meta_slash
+keycode 0x6e = Shift
+keycode 0x6f = Linefeed
+keycode 0x70 = KP_1
+ alt keycode 0x70 = Ascii_1
+ altgr keycode 0x70 = Hex_1
+keycode 0x71 = KP_2
+ alt keycode 0x71 = Ascii_2
+ altgr keycode 0x71 = Hex_2
+keycode 0x72 = KP_3
+ alt keycode 0x72 = Ascii_3
+ altgr keycode 0x72 = Hex_3
+# To my knowledge no key produces 0x73, 0x74, or 0x75
+keycode 0x73 =
+keycode 0x74 =
+keycode 0x75 =
+keycode 0x76 = Help
+keycode 0x77 = Caps_Lock
+# A True Meta-key, unused at this time
+keycode 0x78 =
+keycode 0x79 = space space
+ control keycode 0x79 = nul
+ alt keycode 0x79 = Meta_space
+# Another real Meta-key, again unused
+keycode 0x7a =
+keycode 0x7b = Next
+ shift keycode 0x7b = Scroll_Forward
+# No keys produce the following
+keycode 0x7c =
+keycode 0x7d = KP_Add
+keycode 0x7e =
+# keycode 0x7f is special and it means 'all keys released' and is
+# taken care of within the sun keyboard driver itself
+keycode 0x7f =
+# That's all folks...
diff --git a/keymaps/sun/sunt4-es.kmap b/keymaps/sun/sunt4-es.kmap
new file mode 100644
index 0000000..8ff5f10
--- /dev/null
+++ b/keymaps/sun/sunt4-es.kmap
@@ -0,0 +1,258 @@
+# Sun Type 4 Catalan and Spanish keyboard mapping
+#
+# Antoni Pàmies Olivé <toni@readysoft.net>
+#
+keymaps 0-2,4-5,8-9,12
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 1 =
+keycode 2 =
+keycode 3 =
+keycode 4 =
+keycode 5 = F1
+ shift keycode 5 = F11
+ altgr keycode 5 = Console_13
+ shift control keycode 5 = VoidSymbol
+ alt keycode 5 = Console_1
+ control alt keycode 5 = Console_1
+keycode 6 = F2
+ shift keycode 6 = F12
+ altgr keycode 6 = Console_14
+ shift control keycode 6 = VoidSymbol
+ alt keycode 6 = Console_2
+ control alt keycode 6 = Console_2
+keycode 7 = F10
+ shift keycode 7 = F20
+ altgr keycode 7 = Console_22
+ shift control keycode 7 = VoidSymbol
+ alt keycode 7 = Console_10
+ control alt keycode 7 = Console_10
+keycode 8 = F3
+ shift keycode 8 = F13
+ altgr keycode 8 = Console_15
+ shift control keycode 8 = VoidSymbol
+ alt keycode 8 = Console_3
+ control alt keycode 8 = Console_3
+keycode 9 = F11
+ altgr keycode 9 = Console_23
+ shift control keycode 9 = VoidSymbol
+ alt keycode 9 = Console_11
+ control alt keycode 9 = Console_11
+keycode 10 = F4
+ shift keycode 10 = F14
+ altgr keycode 10 = Console_16
+ shift control keycode 10 = VoidSymbol
+ alt keycode 10 = Console_4
+ control alt keycode 10 = Console_4
+keycode 11 = F12
+ altgr keycode 11 = Console_24
+ shift control keycode 11 = VoidSymbol
+ alt keycode 11 = Console_12
+ control alt keycode 11 = Console_12
+keycode 12 = F5
+ shift keycode 12 = F15
+ altgr keycode 12 = Console_17
+ shift control keycode 12 = VoidSymbol
+ alt keycode 12 = Console_5
+ control alt keycode 12 = Console_5
+keycode 13 = AltGr
+keycode 14 = F6
+ shift keycode 14 = F16
+ altgr keycode 14 = Console_18
+ shift control keycode 14 = VoidSymbol
+ alt keycode 14 = Console_6
+ control alt keycode 14 = Console_6
+keycode 15 = bracketright braceright guillemotright
+keycode 16 = F7 F17 Console_19 F8
+ alt keycode 16 = Console_7
+ control alt keycode 16 = Console_7
+keycode 17 = F8 F18 Console_20
+ alt keycode 17 = Console_8
+ control alt keycode 17 = Console_8
+keycode 18 = F9
+ shift keycode 18 = F19
+ altgr keycode 18 = Console_21
+ shift control keycode 18 = VoidSymbol
+ alt keycode 18 = Console_9
+ control alt keycode 18 = Console_9
+keycode 19 = Alt
+keycode 20 = Up
+keycode 21 = Pause
+keycode 22 =
+keycode 23 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 23 = Scroll_Lock
+keycode 24 = Left
+ alt keycode 24 = Decr_Console
+keycode 25 =
+keycode 26 =
+keycode 27 = Down
+keycode 28 = Right
+ alt keycode 28 = Incr_Console
+keycode 29 = Escape Escape
+ alt keycode 29 = Meta_Escape
+keycode 30 = one exclam
+ alt keycode 30 = Meta_one
+keycode 31 = two quotedbl at
+ control keycode 31 = nul
+ alt keycode 31 = Meta_two
+keycode 32 = three periodcentered numbersign
+ control keycode 32 = Escape
+ alt keycode 32 = Meta_three
+keycode 33 = four dollar
+ control keycode 33 = Control_backslash
+ alt keycode 33 = Meta_four
+keycode 34 = five percent degree
+ control keycode 34 = Control_bracketright
+ alt keycode 34 = Meta_five
+keycode 35 = six ampersand notsign
+ control keycode 35 = Control_asciicircum
+ alt keycode 35 = Meta_six
+keycode 36 = seven slash
+ control keycode 36 = Control_underscore
+ alt keycode 36 = Meta_seven
+keycode 37 = eight parenleft
+ control keycode 37 = Delete
+ alt keycode 37 = Meta_eight
+keycode 38 = nine parenright backslash
+ alt keycode 38 = Meta_nine
+keycode 39 = zero equal bar
+ alt keycode 39 = Meta_zero
+keycode 40 = apostrophe question grave
+ control keycode 40 = Control_underscore
+ alt keycode 40 = Meta_minus
+keycode 41 = exclamdown questiondown asciitilde
+ alt keycode 41 = Meta_equal
+keycode 42 = ccedilla Ccedilla
+keycode 43 = Delete Delete
+ control keycode 43 = BackSpace
+ alt keycode 43 = Meta_Delete
+keycode 44 = Insert
+keycode 45 = equal
+keycode 46 = KP_Divide
+keycode 47 = KP_Multiply
+keycode 48 =
+keycode 49 =
+keycode 50 = KP_Period
+ control alt keycode 50 = Boot
+keycode 51 =
+keycode 52 = Find
+keycode 53 = Tab Tab
+ alt keycode 53 = Meta_Tab
+keycode 54 = q
+keycode 55 = w
+keycode 56 = +e +E Hex_E Control_e Control_e Meta_e Meta_Control_e
+keycode 57 = r
+keycode 58 = t
+keycode 59 = y
+keycode 60 = u
+keycode 61 = i
+keycode 62 = o O masculine
+keycode 63 = p
+keycode 64 = dead_grave dead_circumflex asciicircum
+ control keycode 64 = Escape
+ alt keycode 64 = Meta_bracketleft
+keycode 65 = plus asterisk asciitilde
+ control keycode 65 = Control_bracketright
+ alt keycode 65 = Meta_bracketright
+keycode 66 = Delete Delete
+ control keycode 66 = BackSpace
+keycode 67 = Compose
+ alt keycode 67 = Meta_Delete
+keycode 68 = KP_7
+ altgr keycode 68 = Hex_7
+ alt keycode 68 = Ascii_7
+keycode 69 = KP_8
+ altgr keycode 69 = Hex_8
+ alt keycode 69 = Ascii_8
+keycode 70 = KP_9
+ altgr keycode 70 = Hex_9
+ alt keycode 70 = Ascii_9
+keycode 71 = KP_Subtract
+keycode 72 =
+keycode 73 =
+keycode 74 = Select
+keycode 75 =
+keycode 76 = Caps_Lock
+keycode 77 = a A ordfeminine Control_a Control_a Meta_a Meta_Control_a
+keycode 78 = s
+keycode 79 = +d +D Hex_D Control_d Control_d Meta_d Meta_Control_d
+keycode 80 = +f +F Hex_F Control_f Control_f Meta_f Meta_Control_f
+keycode 81 = g
+keycode 82 = h
+keycode 83 = j
+keycode 84 = k
+keycode 85 = l
+keycode 86 = ntilde Ntilde
+ alt keycode 86 = Meta_semicolon
+keycode 87 = dead_acute dead_diaeresis braceleft
+ control keycode 87 = Control_g
+ alt keycode 87 = Meta_apostrophe
+keycode 88 = bracketleft braceleft guillemotleft
+ control keycode 88 = Control_backslash
+ alt keycode 88 = Meta_backslash
+ shift alt keycode 88 = Meta_asciitilde
+keycode 89 = Return
+ alt keycode 89 = Meta_Control_m
+keycode 90 = KP_Enter
+keycode 91 = KP_4
+ altgr keycode 91 = Hex_4
+ alt keycode 91 = Ascii_4
+keycode 92 = KP_5
+ altgr keycode 92 = Hex_5
+ alt keycode 92 = Ascii_5
+keycode 93 = KP_6
+ altgr keycode 93 = Hex_6
+ alt keycode 93 = Ascii_6
+keycode 94 = KP_0
+ altgr keycode 94 = Hex_0
+ alt keycode 94 = Ascii_0
+keycode 95 =
+keycode 96 = Prior
+ shift keycode 96 = Scroll_Backward
+keycode 97 =
+keycode 98 = Num_Lock
+keycode 99 = Shift
+keycode 100 = z
+keycode 101 = x
+keycode 102 = +c +C Hex_C Control_c Control_c Meta_c Meta_Control_c
+keycode 103 = v
+keycode 104 = +b +B Hex_B Control_b Control_b Meta_b Meta_Control_b
+keycode 105 = n
+keycode 106 = m
+keycode 107 = comma semicolon
+ alt keycode 107 = Meta_comma
+ shift alt keycode 107 = Meta_less
+keycode 108 = period colon
+ alt keycode 108 = Meta_period
+ shift alt keycode 108 = Meta_greater
+keycode 109 = minus underscore
+ control keycode 109 = Delete
+ alt keycode 109 = Meta_slash
+keycode 110 = Shift
+keycode 111 = Linefeed
+keycode 112 = KP_1
+ altgr keycode 112 = Hex_1
+ alt keycode 112 = Ascii_1
+keycode 113 = KP_2
+ altgr keycode 113 = Hex_2
+ alt keycode 113 = Ascii_2
+keycode 114 = KP_3
+ altgr keycode 114 = Hex_3
+ alt keycode 114 = Ascii_3
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 = Help
+keycode 119 = Control
+keycode 120 =
+keycode 121 = space space
+ control keycode 121 = nul
+ alt keycode 121 = Meta_space
+keycode 122 =
+keycode 123 = Next
+ shift keycode 123 = Scroll_Forward
+keycode 124 = less greater
+keycode 125 = KP_Add
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/sun/sunt4-fi-latin1.kmap b/keymaps/sun/sunt4-fi-latin1.kmap
new file mode 100644
index 0000000..090d973
--- /dev/null
+++ b/keymaps/sun/sunt4-fi-latin1.kmap
@@ -0,0 +1,249 @@
+# Date: Tue, 30 Mar 1999 05:29:12 +0300 (EET DST)
+# From: Paavo Hartikainen <pahartik@sci.fi>
+# X-Sender: pahartik@simpukka
+# To: Andries.Brouwer@cwi.nl
+# Subject: Re: Keymap for finnish Sun type 4 keyboard
+#
+strings as usual
+compose as usual for "iso-8859-1"
+keymaps 0-2,4-5,8,12
+keycode 1 =
+keycode 2 =
+keycode 3 =
+keycode 4 =
+keycode 5 = F1
+ shift keycode 5 = F11
+ altgr keycode 5 = Console_13
+ shift control keycode 5 = VoidSymbol
+ alt keycode 5 = Console_1
+ control alt keycode 5 = Console_1
+keycode 6 = F2
+ shift keycode 6 = F12
+ altgr keycode 6 = Console_14
+ shift control keycode 6 = VoidSymbol
+ alt keycode 6 = Console_2
+ control alt keycode 6 = Console_2
+keycode 7 = F10
+ shift keycode 7 = F20
+ altgr keycode 7 = Console_22
+ shift control keycode 7 = VoidSymbol
+ alt keycode 7 = Console_10
+ control alt keycode 7 = Console_10
+keycode 8 = F3
+ shift keycode 8 = F13
+ altgr keycode 8 = Console_15
+ shift control keycode 8 = VoidSymbol
+ alt keycode 8 = Console_3
+ control alt keycode 8 = Console_3
+keycode 9 = F11
+ altgr keycode 9 = Console_23
+ shift control keycode 9 = VoidSymbol
+ alt keycode 9 = Console_11
+ control alt keycode 9 = Console_11
+keycode 10 = F4
+ shift keycode 10 = F14
+ altgr keycode 10 = Console_16
+ shift control keycode 10 = VoidSymbol
+ alt keycode 10 = Console_4
+ control alt keycode 10 = Console_4
+keycode 11 = F12
+ altgr keycode 11 = Console_24
+ shift control keycode 11 = VoidSymbol
+ alt keycode 11 = Console_12
+ control alt keycode 11 = Console_12
+keycode 12 = F5
+ shift keycode 12 = F15
+ altgr keycode 12 = Console_17
+ shift control keycode 12 = VoidSymbol
+ alt keycode 12 = Console_5
+ control alt keycode 12 = Console_5
+keycode 13 = Compose
+keycode 14 = F6
+ shift keycode 14 = F16
+ altgr keycode 14 = Console_18
+ shift control keycode 14 = VoidSymbol
+ alt keycode 14 = Console_6
+ control alt keycode 14 = Console_6
+keycode 15 = tilde circumflex
+keycode 16 = F7 F17 Console_19 F8
+ alt keycode 16 = Console_7
+ control alt keycode 16 = Console_7
+keycode 17 = F8 F18 Console_20
+ alt keycode 17 = Console_8
+ control alt keycode 17 = Console_8
+keycode 18 = F9
+ shift keycode 18 = F19
+ altgr keycode 18 = Console_21
+ shift control keycode 18 = VoidSymbol
+ alt keycode 18 = Console_9
+ control alt keycode 18 = Console_9
+keycode 19 = Alt
+keycode 20 = Up
+keycode 21 = Pause
+keycode 22 =
+keycode 23 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 23 = Scroll_Lock
+keycode 24 = Left
+ alt keycode 24 = Decr_Console
+keycode 25 =
+keycode 26 =
+keycode 27 = Down
+keycode 28 = Right
+ alt keycode 28 = Incr_Console
+keycode 29 = Escape Escape
+ alt keycode 29 = Meta_Escape
+keycode 30 = one exclam
+ alt keycode 30 = Meta_one
+keycode 31 = two quotedbl at nul nul Meta_two
+keycode 32 = three numbersign sterling Escape
+ alt keycode 32 = Meta_three
+keycode 33 = four dollar dollar Control_backslash
+ alt keycode 33 = Meta_four
+keycode 34 = five percent
+ control keycode 34 = Control_bracketright
+ alt keycode 34 = Meta_five
+keycode 35 = six ampersand
+ control keycode 35 = Control_asciicircum
+ alt keycode 35 = Meta_six
+keycode 36 = seven slash braceleft Control_underscore
+ alt keycode 36 = Meta_seven
+keycode 37 = eight parenleft bracketleft Delete
+ alt keycode 37 = Meta_eight
+keycode 38 = nine parenright bracketright
+ alt keycode 38 = Meta_nine
+keycode 39 = zero equal braceright
+ alt keycode 39 = Meta_zero
+keycode 40 = plus question backslash Control_underscore Control_underscore Meta_minus
+keycode 41 = dead_acute dead_grave
+ alt keycode 41 = Meta_equal
+keycode 42 = apostrophe asterisk grave Control_backslash
+ alt keycode 88 = Meta_backslash
+keycode 43 = BackSpace BackSpace
+ control keycode 43 = BackSpace
+ alt keycode 43 = Meta_Delete
+keycode 44 = Insert
+keycode 45 = equal
+keycode 46 = KP_Divide
+keycode 47 = KP_Multiply
+keycode 48 =
+keycode 49 =
+keycode 50 = KP_Period
+ control alt keycode 50 = Boot
+keycode 51 =
+keycode 52 =
+keycode 53 = Tab Tab
+ alt keycode 53 = Meta_Tab
+keycode 54 = q
+keycode 55 = w
+keycode 56 = +e +E Hex_E Control_e Control_e Meta_e Meta_Control_e
+keycode 57 = r
+keycode 58 = t
+keycode 59 = y
+keycode 60 = u
+keycode 61 = i
+keycode 62 = o
+keycode 63 = p
+keycode 64 = +aring +Aring
+ control keycode 64 = Escape
+ alt keycode 64 = Meta_bracketleft
+keycode 65 = dead_diaeresis dead_circumflex dead_tilde Control_bracketright
+ alt keycode 65 = Meta_bracketright
+keycode 66 = Delete Delete
+ control keycode 66 = BackSpace
+keycode 67 = AltGr
+ alt keycode 67 = Meta_Delete
+keycode 68 = KP_7
+ altgr keycode 68 = Hex_7
+ alt keycode 68 = Ascii_7
+keycode 69 = KP_8
+ altgr keycode 69 = Hex_8
+ alt keycode 69 = Ascii_8
+keycode 70 = KP_9
+ altgr keycode 70 = Hex_9
+ alt keycode 70 = Ascii_9
+keycode 71 = KP_Subtract
+keycode 72 =
+keycode 73 =
+keycode 74 = Select
+keycode 75 =
+keycode 76 = Caps_Lock
+keycode 77 = +a +A Hex_A Control_a Control_a Meta_a Meta_Control_a
+keycode 78 = s
+keycode 79 = +d +D Hex_D Control_d Control_d Meta_d Meta_Control_d
+keycode 80 = +f +F Hex_F Control_f Control_f Meta_f Meta_Control_f
+keycode 81 = g
+keycode 82 = h
+keycode 83 = j
+keycode 84 = k
+keycode 85 = l
+keycode 86 = +odiaeresis +Odiaeresis
+ alt keycode 86 = Meta_semicolon
+keycode 87 = +adiaeresis +Adiaeresis
+ control keycode 87 = Control_g
+ alt keycode 87 = Meta_apostrophe
+keycode 88 = section onehalf
+ control keycode 42 = nul
+ alt keycode 42 = Meta_grave
+keycode 89 = Return
+ alt keycode 89 = Meta_Control_m
+keycode 90 = KP_Enter
+keycode 91 = KP_4
+ altgr keycode 91 = Hex_4
+ alt keycode 91 = Ascii_4
+keycode 92 = KP_5
+ altgr keycode 92 = Hex_5
+ alt keycode 92 = Ascii_5
+keycode 93 = KP_6
+ altgr keycode 93 = Hex_6
+ alt keycode 93 = Ascii_6
+keycode 94 = KP_0
+ altgr keycode 94 = Hex_0
+ alt keycode 94 = Ascii_0
+keycode 95 = Find
+keycode 96 = Prior
+ shift keycode 96 = Scroll_Backward
+keycode 97 =
+keycode 98 = Num_Lock
+keycode 99 = Shift
+keycode 100 = z
+keycode 101 = x
+keycode 102 = +c +C Hex_C Control_c Control_c Meta_c Meta_Control_c
+keycode 103 = v
+keycode 104 = +b +B Hex_B Control_b Control_b Meta_b Meta_Control_b
+keycode 105 = n
+keycode 106 = m
+keycode 107 = comma semicolon
+ alt keycode 107 = Meta_comma
+keycode 108 = period colon
+ control keycode 108 = Compose
+ alt keycode 108 = Meta_period
+keycode 109 = minus underscore
+ control keycode 109 = Delete
+ alt keycode 109 = Meta_slash
+keycode 110 = Shift
+keycode 111 = Linefeed
+keycode 112 = KP_1
+ altgr keycode 112 = Hex_1
+ alt keycode 112 = Ascii_1
+keycode 113 = KP_2
+ altgr keycode 113 = Hex_2
+ alt keycode 113 = Ascii_2
+keycode 114 = KP_3
+ altgr keycode 114 = Hex_3
+ alt keycode 114 = Ascii_3
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 = Help
+keycode 119 = Control
+keycode 120 =
+keycode 121 = space space
+ control keycode 121 = nul
+ alt keycode 121 = Meta_space
+keycode 122 =
+keycode 123 = Next
+ shift keycode 123 = Scroll_Forward
+keycode 124 = less greater bar
+keycode 125 = KP_Add
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/sun/sunt4-ja.kmap b/keymaps/sun/sunt4-ja.kmap
new file mode 100644
index 0000000..71e032d
--- /dev/null
+++ b/keymaps/sun/sunt4-ja.kmap
@@ -0,0 +1,8 @@
+include "sunt5-ja.kmap"
+
+keycode 0x2a = bracketright braceright asciitilde
+ control keycode 0x2a = Control_bracketright
+ alt keycode 0x2a = Meta_bracketright
+keycode 0x58 = backslash bar
+ control keycode 0x58 = Control_backslash
+ alt keycode 0x58 = Meta_backslash
diff --git a/keymaps/sun/sunt4-no-latin1.kmap b/keymaps/sun/sunt4-no-latin1.kmap
new file mode 100644
index 0000000..a33b0b9
--- /dev/null
+++ b/keymaps/sun/sunt4-no-latin1.kmap
@@ -0,0 +1,253 @@
+# Sun Type 4 Norwegian keyboard mapping
+#
+# Nils Ulltveit-Moe <Nils.Ulltveit-Moe@hia.no>
+#
+# $Id: sunt4-no-latin1.map,v 1.1.1.1 1999/01/01 22:29:32 etonumo Exp $
+#
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 1 =
+keycode 2 =
+keycode 3 =
+keycode 4 =
+keycode 5 = F1
+ shift keycode 5 = F11
+ altgr keycode 5 = Console_13
+ shift control keycode 5 = VoidSymbol
+ alt keycode 5 = Console_1
+ control alt keycode 5 = Console_1
+keycode 6 = F2
+ shift keycode 6 = F12
+ altgr keycode 6 = Console_14
+ shift control keycode 6 = VoidSymbol
+ alt keycode 6 = Console_2
+ control alt keycode 6 = Console_2
+keycode 7 = F10
+ shift keycode 7 = F20
+ altgr keycode 7 = Console_22
+ shift control keycode 7 = VoidSymbol
+ alt keycode 7 = Console_10
+ control alt keycode 7 = Console_10
+keycode 8 = F3
+ shift keycode 8 = F13
+ altgr keycode 8 = Console_15
+ shift control keycode 8 = VoidSymbol
+ alt keycode 8 = Console_3
+ control alt keycode 8 = Console_3
+keycode 9 = F11
+ altgr keycode 9 = Console_23
+ shift control keycode 9 = VoidSymbol
+ alt keycode 9 = Console_11
+ control alt keycode 9 = Console_11
+keycode 10 = F4
+ shift keycode 10 = F14
+ altgr keycode 10 = Console_16
+ shift control keycode 10 = VoidSymbol
+ alt keycode 10 = Console_4
+ control alt keycode 10 = Console_4
+keycode 11 = F12
+ altgr keycode 11 = Console_24
+ shift control keycode 11 = VoidSymbol
+ alt keycode 11 = Console_12
+ control alt keycode 11 = Console_12
+keycode 12 = F5
+ shift keycode 12 = F15
+ altgr keycode 12 = Console_17
+ shift control keycode 12 = VoidSymbol
+ alt keycode 12 = Console_5
+ control alt keycode 12 = Console_5
+keycode 13 = AltGr
+keycode 14 = F6
+ shift keycode 14 = F16
+ altgr keycode 14 = Console_18
+ shift control keycode 14 = VoidSymbol
+ alt keycode 14 = Console_6
+ control alt keycode 14 = Console_6
+keycode 15 = asciitilde asciicircum dead_diaeresis dead_tilde
+keycode 16 = F7 F17 Console_19 F8
+ alt keycode 16 = Console_7
+ control alt keycode 16 = Console_7
+keycode 17 = F8 F18 Console_20
+ alt keycode 17 = Console_8
+ control alt keycode 17 = Console_8
+keycode 18 = F9
+ shift keycode 18 = F19
+ altgr keycode 18 = Console_21
+ shift control keycode 18 = VoidSymbol
+ alt keycode 18 = Console_9
+ control alt keycode 18 = Console_9
+keycode 19 = Alt
+keycode 20 = Up
+keycode 21 = Pause
+keycode 22 =
+keycode 23 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 23 = Scroll_Lock
+keycode 24 = Left
+ alt keycode 24 = Decr_Console
+keycode 25 =
+keycode 26 =
+keycode 27 = Down
+keycode 28 = Right
+ alt keycode 28 = Incr_Console
+keycode 29 = Escape Escape
+ alt keycode 29 = Meta_Escape
+keycode 30 = one exclam
+ alt keycode 30 = Meta_one
+keycode 31 = two quotedbl at nul nul Meta_two
+keycode 32 = three numbersign pound
+ control keycode 32 = Escape
+ alt keycode 32 = Meta_three
+keycode 33 = four dollar dollar Control_backslash
+ alt keycode 33 = Meta_four
+keycode 34 = five percent
+ control keycode 34 = Control_bracketright
+ alt keycode 34 = Meta_five
+keycode 35 = six ampersand
+ control keycode 35 = Control_asciicircum
+ alt keycode 35 = Meta_six
+keycode 36 = seven slash braceleft Control_underscore
+ alt keycode 36 = Meta_seven
+keycode 37 = eight parenleft bracketleft Delete
+ alt keycode 37 = Meta_eight
+keycode 38 = nine parenright bracketright
+ alt keycode 38 = Meta_nine
+keycode 39 = zero equal braceright
+ alt keycode 39 = Meta_zero
+keycode 40 = plus question backslash Control_underscore Control_underscore Meta_minus
+keycode 41 = backslash dead_acute dead_grave
+ alt keycode 41 = Meta_equal
+keycode 42 = apostrophe asterisk grave
+ control keycode 42 = nul
+ alt keycode 42 = Meta_grave
+keycode 43 = Delete Delete
+ control keycode 43 = BackSpace
+ alt keycode 43 = Meta_Delete
+keycode 44 = Insert
+keycode 45 = equal
+keycode 46 = KP_Divide
+keycode 47 = KP_Multiply
+keycode 48 =
+keycode 49 =
+keycode 50 = KP_Period
+ control alt keycode 50 = Boot
+keycode 51 =
+keycode 52 = Find
+keycode 53 = Tab Tab
+ alt keycode 53 = Meta_Tab
+keycode 54 = q
+keycode 55 = w
+keycode 56 = +e +E Hex_E Control_e Control_e Meta_e Meta_Control_e
+keycode 57 = r
+keycode 58 = t
+keycode 59 = y
+keycode 60 = u
+keycode 61 = i
+keycode 62 = o
+keycode 63 = p
+keycode 64 = +aring +Aring
+ control keycode 64 = Escape
+ alt keycode 64 = Meta_bracketleft
+keycode 65 = dead_diaeresis dead_circumflex dead_tilde Control_bracketright
+ alt keycode 65 = Meta_bracketright
+keycode 66 = Delete Delete
+ control keycode 66 = BackSpace
+keycode 67 = Compose
+ alt keycode 67 = Meta_Delete
+keycode 68 = KP_7
+ altgr keycode 68 = Hex_7
+ alt keycode 68 = Ascii_7
+keycode 69 = KP_8
+ altgr keycode 69 = Hex_8
+ alt keycode 69 = Ascii_8
+keycode 70 = KP_9
+ altgr keycode 70 = Hex_9
+ alt keycode 70 = Ascii_9
+keycode 71 = KP_Subtract
+keycode 72 =
+keycode 73 =
+keycode 74 = Select
+keycode 75 =
+keycode 76 = Caps_Lock
+keycode 77 = +a +A Hex_A Control_a Control_a Meta_a Meta_Control_a
+keycode 78 = s
+keycode 79 = +d +D Hex_D Control_d Control_d Meta_d Meta_Control_d
+keycode 80 = +f +F Hex_F Control_f Control_f Meta_f Meta_Control_f
+keycode 81 = g
+keycode 82 = h
+keycode 83 = j
+keycode 84 = k
+keycode 85 = l
+keycode 86 = +oslash +Ooblique
+ alt keycode 86 = Meta_semicolon
+keycode 87 = +ae +AE
+ control keycode 87 = Control_g
+ alt keycode 87 = Meta_apostrophe
+keycode 88 = bar section
+ control keycode 88 = Control_backslash
+ alt keycode 88 = Meta_backslash
+keycode 89 = Return
+ alt keycode 89 = Meta_Control_m
+keycode 90 = KP_Enter
+keycode 91 = KP_4
+ altgr keycode 91 = Hex_4
+ alt keycode 91 = Ascii_4
+keycode 92 = KP_5
+ altgr keycode 92 = Hex_5
+ alt keycode 92 = Ascii_5
+keycode 93 = KP_6
+ altgr keycode 93 = Hex_6
+ alt keycode 93 = Ascii_6
+keycode 94 = KP_0
+ altgr keycode 94 = Hex_0
+ alt keycode 94 = Ascii_0
+keycode 95 =
+keycode 96 = Prior
+ shift keycode 96 = Scroll_Backward
+keycode 97 =
+keycode 98 = Num_Lock
+keycode 99 = Shift
+keycode 100 = z
+keycode 101 = x
+keycode 102 = +c +C Hex_C Control_c Control_c Meta_c Meta_Control_c
+keycode 103 = v
+keycode 104 = +b +B Hex_B Control_b Control_b Meta_b Meta_Control_b
+keycode 105 = n
+keycode 106 = m
+keycode 107 = comma semicolon
+ alt keycode 107 = Meta_comma
+keycode 108 = period colon
+ control keycode 108 = Compose
+ alt keycode 108 = Meta_period
+keycode 109 = minus underscore
+ control keycode 109 = Delete
+ alt keycode 109 = Meta_slash
+keycode 110 = Shift
+keycode 111 = Linefeed
+keycode 112 = KP_1
+ altgr keycode 112 = Hex_1
+ alt keycode 112 = Ascii_1
+keycode 113 = KP_2
+ altgr keycode 113 = Hex_2
+ alt keycode 113 = Ascii_2
+keycode 114 = KP_3
+ altgr keycode 114 = Hex_3
+ alt keycode 114 = Ascii_3
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 = Help
+keycode 119 = Control
+keycode 120 =
+keycode 120 =
+keycode 121 = space space
+ control keycode 121 = nul
+ alt keycode 121 = Meta_space
+keycode 122 =
+keycode 123 = Next
+ shift keycode 123 = Scroll_Forward
+keycode 124 = less greater bar
+keycode 125 = KP_Add
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/sun/sunt5-cz-us.kmap b/keymaps/sun/sunt5-cz-us.kmap
new file mode 100644
index 0000000..9dc5663
--- /dev/null
+++ b/keymaps/sun/sunt5-cz-us.kmap
@@ -0,0 +1,692 @@
+# Czech keyboard map for the Sun Type4/Type5 keyboards
+# found on SparcStations
+# Tue Dec 1 1998, Jakub Jelinek <jj@ultra.linux.cz>
+# The primary map is CZ QWERTZ,
+# the real left Meta key acts as a temporary switch to the US keymap,
+# the Front/L5 key acts as a lock into US keymap and back.
+# If you want to have US keymap as primary, use
+# sunt5-us-cz.map.
+# Supports Euro: AltGr+E is Euro, AltGr+C is Cent (in US keymap only),
+# Compose e = is Euro.
+keymaps 0-5,8,12,64-79
+strings as usual
+charset "iso-8859-2"
+#
+#
+# Stop/L1
+keycode 0x01 =
+# SND_LOWER
+keycode 0x02 =
+# Again/L2
+keycode 0x03 =
+# SND_LOUDER
+keycode 0x04 =
+keycode 0x05 = F1 F11 Console_13
+ control keycode 0x05 = F1
+ alt keycode 0x05 = Console_1
+ control alt keycode 0x05 = Console_1
+ CtrlL keycode 0x05 = F1
+ CtrlL shift keycode 0x05 = F11
+ CtrlL altgr keycode 0x05 = Console_13
+ CtrlL control keycode 0x05 = F1
+ CtrlL alt keycode 0x05 = Console_1
+ CtrlL control alt keycode 0x05 = Console_1
+keycode 0x06 = F2 F12 Console_14
+ control keycode 0x06 = F2
+ alt keycode 0x06 = Console_2
+ control alt keycode 0x06 = Console_2
+ CtrlL keycode 0x06 = F2
+ CtrlL shift keycode 0x06 = F12
+ CtrlL altgr keycode 0x06 = Console_14
+ CtrlL control keycode 0x06 = F2
+ CtrlL alt keycode 0x06 = Console_2
+ CtrlL control alt keycode 0x06 = Console_2
+keycode 0x07 = F10 F20 Console_22
+ control keycode 0x07 = F10
+ alt keycode 0x07 = Console_10
+ control alt keycode 0x07 = Console_10
+ CtrlL keycode 0x07 = F10
+ CtrlL shift keycode 0x07 = F20
+ CtrlL altgr keycode 0x07 = Console_22
+ CtrlL control keycode 0x07 = F10
+ CtrlL alt keycode 0x07 = Console_10
+ CtrlL control alt keycode 0x07 = Console_10
+keycode 0x08 = F3 F13 Console_15
+ control keycode 0x08 = F3
+ alt keycode 0x08 = Console_3
+ control alt keycode 0x08 = Console_3
+ CtrlL keycode 0x08 = F3
+ CtrlL shift keycode 0x08 = F13
+ CtrlL altgr keycode 0x08 = Console_15
+ CtrlL control keycode 0x08 = F3
+ CtrlL alt keycode 0x08 = Console_3
+ CtrlL control alt keycode 0x08 = Console_3
+keycode 0x09 = F11 F11 Console_23
+ control keycode 0x09 = F11
+ alt keycode 0x09 = Console_11
+ control alt keycode 0x09 = Console_11
+ CtrlL keycode 0x09 = F11
+ CtrlL shift keycode 0x09 = F11
+ CtrlL altgr keycode 0x09 = Console_23
+ CtrlL control keycode 0x09 = F11
+ CtrlL alt keycode 0x09 = Console_11
+ CtrlL control alt keycode 0x09 = Console_11
+keycode 0x0a = F4 F14 Console_16
+ control keycode 0x0a = F4
+ alt keycode 0x0a = Console_4
+ control alt keycode 0x0a = Console_4
+ CtrlL keycode 0x0a = F4
+ CtrlL shift keycode 0x0a = F14
+ CtrlL altgr keycode 0x0a = Console_16
+ CtrlL control keycode 0x0a = F4
+ CtrlL alt keycode 0x0a = Console_4
+ CtrlL control alt keycode 0x0a = Console_4
+keycode 0x0b = F12 F12 Console_24
+ control keycode 0x0b = F12
+ alt keycode 0x0b = Console_12
+ control alt keycode 0x0b = Console_12
+ CtrlL keycode 0x0b = F12
+ CtrlL shift keycode 0x0b = F12
+ CtrlL altgr keycode 0x0b = Console_12
+ CtrlL control keycode 0x0b = F12
+ CtrlL alt keycode 0x0b = Console_12
+ CtrlL control alt keycode 0x0b = Console_12
+keycode 0x0c = F5 F15 Console_17
+ control Keycode 0x0c = F5
+ alt keycode 0x0c = Console_5
+ control alt keycode 0x0c = Console_5
+ CtrlL keycode 0x0c = F5
+ CtrlL shift keycode 0x0c = F15
+ CtrlL altgr keycode 0x0c = Console_17
+ CtrlL control keycode 0x0c = F5
+ CtrlL alt keycode 0x0c = Console_5
+ CtrlL control alt keycode 0x0c = Console_5
+keycode 0x0d = AltGr
+keycode 0x0e = F6 F16 Console_18
+ control keycode 0x0e = F6
+ alt keycode 0x0e = Console_6
+ control alt keycode 0x0e = Console_6
+ CtrlL keycode 0x0e = F6
+ CtrlL shift keycode 0x0e = F16
+ CtrlL altgr keycode 0x0e = Console_18
+ CtrlL control keycode 0x0e = F6
+ CtrlL alt keycode 0x0e = Console_6
+ CtrlL control alt keycode 0x0e = Console_6
+# BLANK KEY on type 5 keyboards
+keycode 0x0f =
+keycode 0x10 = F7 F17 Console_19
+ control keycode 0x10 = F7
+ alt keycode 0x10 = Console_7
+ control alt keycode 0x10 = Console_7
+ CtrlL keycode 0x10 = F7
+ CtrlL shift keycode 0x10 = F17
+ CtrlL altgr keycode 0x10 = Console_19
+ CtrlL control keycode 0x10 = F7
+ CtrlL alt keycode 0x10 = Console_7
+ CtrlL control alt keycode 0x10 = Console_7
+keycode 0x11 = F8 F18 Console_20
+ control keycode 0x11 = F8
+ alt keycode 0x11 = Console_8
+ control alt keycode 0x11 = Console_8
+ CtrlL keycode 0x11 = F8
+ CtrlL shift keycode 0x11 = F18
+ CtrlL altgr keycode 0x11 = Console_20
+ CtrlL control keycode 0x11 = F8
+ CtrlL alt keycode 0x11 = Console_8
+ CtrlL control alt keycode 0x11 = Console_8
+keycode 0x12 = F9 F19 Console_21
+ control keycode 0x12 = F9
+ alt keycode 0x12 = Console_9
+ control alt keycode 0x12 = Console_9
+ CtrlL keycode 0x12 = F9
+ CtrlL shift keycode 0x12 = F19
+ CtrlL altgr keycode 0x12 = Console_21
+ CtrlL control keycode 0x12 = F9
+ CtrlL alt keycode 0x12 = Console_9
+ CtrlL control alt keycode 0x12 = Console_9
+keycode 0x13 = Alt
+keycode 0x14 = Up
+keycode 0x15 = Pause
+# Print Screen
+keycode 0x16 =
+keycode 0x17 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 0x17 = Show_State
+ alt keycode 0x17 = Scroll_Lock
+ CtrlL keycode 0x17 = Scroll_Lock
+ CtrlL shift keycode 0x17 = Show_Memory
+ CtrlL altgr keycode 0x17 = Show_Registers
+ CtrlL control keycode 0x17 = Show_State
+ CtrlL alt keycode 0x17 = Scroll_Lock
+keycode 0x18 = Left
+ alt keycode 0x18 = Decr_Console
+ CtrlL alt keycode 0x18 = Decr_Console
+# Props/L3
+keycode 0x19 =
+# UNDO/L4
+keycode 0x1a =
+keycode 0x1b = Down
+keycode 0x1c = Right
+ alt keycode 0x1c = Incr_Console
+ CtrlL alt keycode 0x1c = Incr_Console
+keycode 0x1d = Escape Escape
+ alt keycode 0x1d = Meta_Escape
+ CtrlL keycode 0x1d = Escape
+ CtrlL alt keycode 0x1d = Meta_Escape
+keycode 0x1e = plus one
+ alt keycode 0x1e = Meta_one
+ CtrlL keycode 0x1e = one
+ CtrlL shift keycode 0x1e = exclam
+ CtrlL alt keycode 0x1e = Meta_one
+keycode 0x1f = ecaron two at
+ control keycode 0x1f = nul
+ shift control keycode 0x1f = nul
+ alt keycode 0x1f = Meta_two
+ CtrlL keycode 0x1f = two
+ CtrlL shift keycode 0x1f = at
+ CtrlL altgr keycode 0x1f = at
+ CtrlL control keycode 0x1f = nul
+ CtrlL shift control keycode 0x1f = nul
+ CtrlL alt keycode 0x1f = Meta_two
+keycode 0x20 = scaron three
+ control keycode 0x20 = Escape
+ alt keycode 0x20 = Meta_three
+ CtrlL keycode 0x20 = three
+ CtrlL shift keycode 0x20 = numbersign
+ CtrlL control keycode 0x20 = Escape
+ CtrlL alt keycode 0x20 = Meta_three
+keycode 0x21 = ccaron four dollar
+ control keycode 0x21 = Control_backslash
+ alt keycode 0x21 = Meta_four
+ CtrlL keycode 0x21 = four
+ CtrlL shift keycode 0x21 = dollar
+ CtrlL altgr keycode 0x21 = dollar
+ CtrlL control keycode 0x21 = Control_backslash
+ CtrlL alt keycode 0x21 = Meta_four
+keycode 0x22 = rcaron five
+ control keycode 0x22 = Control_bracketright
+ alt keycode 0x22 = Meta_five
+ CtrlL keycode 0x22 = five
+ CtrlL shift keycode 0x22 = percent
+ CtrlL control keycode 0x22 = Control_bracketright
+ CtrlL alt keycode 0x22 = Meta_five
+keycode 0x23 = zcaron six
+ control keycode 0x23 = Control_asciicircum
+ alt keycode 0x23 = Meta_six
+ CtrlL keycode 0x23 = six
+ CtrlL shift keycode 0x23 = asciicircum
+ CtrlL control keycode 0x23 = Control_asciicircum
+ CtrlL alt keycode 0x23 = Meta_six
+keycode 0x24 = yacute seven braceleft
+ control keycode 0x24 = Control_underscore
+ alt keycode 0x24 = Meta_seven
+ CtrlL keycode 0x24 = seven
+ CtrlL shift keycode 0x24 = ampersand
+ CtrlL altgr keycode 0x24 = braceleft
+ CtrlL control keycode 0x24 = Control_underscore
+ CtrlL alt keycode 0x24 = Meta_seven
+keycode 0x25 = aacute eight bracketleft
+ control keycode 0x25 = Delete
+ alt keycode 0x25 = Meta_eight
+ CtrlL keycode 0x25 = eight
+ CtrlL shift keycode 0x25 = asterisk
+ CtrlL altgr keycode 0x25 = bracketleft
+ CtrlL control keycode 0x25 = Delete
+ CtrlL alt keycode 0x25 = Meta_eight
+keycode 0x26 = iacute nine bracketright
+ alt keycode 0x26 = Meta_nine
+ CtrlL keycode 0x26 = nine
+ CtrlL shift keycode 0x26 = parenleft
+ CtrlL altgr keycode 0x26 = bracketright
+ CtrlL alt keycode 0x26 = Meta_nine
+keycode 0x27 = eacute zero braceright
+ alt keycode 0x27 = Meta_zero
+ CtrlL keycode 0x27 = zero
+ CtrlL shift keycode 0x27 = parenright
+ CtrlL altgr keycode 0x27 = braceright
+ CtrlL alt keycode 0x27 = Meta_zero
+keycode 0x28 = equal percent backslash
+ control keycode 0x28 = Control_underscore
+ shift control keycode 0x28 = Control_underscore
+ alt keycode 0x28 = Meta_minus
+ CtrlL keycode 0x28 = minus
+ CtrlL shift keycode 0x28 = underscore
+ CtrlL altgr keycode 0x28 = backslash
+ CtrlL control keycode 0x28 = Control_underscore
+ CtrlL shift control keycode 0x28 = Control_underscore
+ CtrlL alt keycode 0x28 = Meta_minus
+keycode 0x29 = dead_acute dead_circumflex
+ alt keycode 0x29 = Meta_equal
+ CtrlL keycode 0x29 = equal
+ CtrlL shift keycode 0x29 = plus
+ CtrlL alt keycode 0x29 = Meta_equal
+keycode 0x2a = grave semicolon
+ control keycode 0x2a = nul
+ alt keycode 0x2a = Meta_grave
+ CtrlL keycode 0x2a = grave
+ CtrlL shift keycode 0x2a = asciitilde
+ CtrlL control keycode 0x2a = nul
+ CtrlL alt keycode 0x2a = Meta_grave
+# Is marked as BackSpace but we define it as delete just like the i386
+# keyboard maps does
+keycode 0x2b = Delete Delete
+ control keycode 0x2b = BackSpace
+ alt keycode 0x2b = Meta_Delete
+ CtrlL keycode 0x2b = Delete
+ CtrlL shift keycode 0x2b = Delete
+ CtrlL control keycode 0x2b = BackSpace
+ CtrlL alt keycode 0x2b = Meta_Delete
+keycode 0x2c = Insert
+# This is really keypad = on type 4 keyboards
+keycode 0x2d = equal
+keycode 0x2e = KP_Divide
+keycode 0x2f = KP_Multiply
+# Power ON/OFF key on type 5 keyboard
+keycode 0x30 =
+# FRONT/L5
+keycode 0x31 = CtrlL_Lock
+keycode 0x32 = KP_Period
+# altgr control keycode 0x32 = Boot
+ control alt keycode 0x32 = Boot
+ CtrlL control alt keycode 0x32 = Boot
+# COPY/L6
+keycode 0x33 =
+# Home key, same difference
+keycode 0x34 = Find
+keycode 0x35 = Tab Tab
+ alt keycode 0x35 = Meta_Tab
+ CtrlL keycode 0x35 = Tab
+ CtrlL shift keycode 0x35 = Tab
+ CtrlL alt keycode 0x35 = Meta_Tab
+keycode 0x36 = q
+keycode 0x37 = w
+keycode 0x38 = e
+ altgr keycode 0x38 = currency
+ altgr shift keycode 0x38 = Hex_E
+ CtrlL altgr keycode 0x38 = currency
+ CtrlL altgr shift keycode 0x38 = Hex_E
+keycode 0x39 = r
+keycode 0x3a = t
+keycode 0x3b = z
+ CtrlL keycode 0x3b = y
+ CtrlL shift keycode 0x3b = Y
+ CtrlL altgr keycode 0x3b = y
+ CtrlL altgr shift keycode 0x3b = Y
+ CtrlL control keycode 0x3b = Control_y
+ CtrlL control shift keycode 0x3b = Control_y
+ CtrlL control altgr keycode 0x3b = Control_y
+ CtrlL control altgr shift keycode 0x3b = Control_y
+ CtrlL alt keycode 0x3b = Meta_y
+ CtrlL alt shift keycode 0x3b = Meta_Y
+ CtrlL alt altgr keycode 0x3b = Meta_y
+ CtrlL alt altgr shift keycode 0x3b = Meta_Y
+ CtrlL alt control keycode 0x3b = Meta_Control_y
+ CtrlL alt control shift keycode 0x3b = Meta_Control_y
+ CtrlL alt control altgr keycode 0x3b = Meta_Control_y
+ CtrlL alt control altgr shift keycode 0x3b = Meta_Control_y
+keycode 0x3c = u
+keycode 0x3d = i
+keycode 0x3e = o
+keycode 0x3f = p
+keycode 0x40 = uacute slash
+ control keycode 0x40 = Escape
+ alt keycode 0x40 = Meta_bracketleft
+ CtrlL keycode 0x40 = bracketleft
+ CtrlL shift keycode 0x40 = braceleft
+ CtrlL control keycode 0x40 = Escape
+ CtrlL alt keycode 0x40 = Meta_bracketleft
+keycode 0x41 = parenright parenleft asciitilde
+ control keycode 0x41 = Control_bracketright
+ alt keycode 0x41 = Meta_bracketright
+ CtrlL keycode 0x41 = bracketright
+ CtrlL shift keycode 0x41 = braceright
+ CtrlL control keycode 0x41 = Control_bracketright
+ CtrlL alt keycode 0x41 = Meta_bracketright
+keycode 0x42 = Delete Delete
+ control keycode 0x42 = BackSpace
+ alt keycode 0x42 = Meta_Delete
+ control alt keycode 0x42 = Boot
+ CtrlL keycode 0x42 = Delete
+ CtrlL shift keycode 0x42 = Delete
+ CtrlL control keycode 0x42 = BackSpace
+ CtrlL alt keycode 0x42 = Meta_Delete
+ CtrlL control alt keycode 0x42 = Boot
+keycode 0x43 = Compose
+keycode 0x44 = KP_7
+ alt keycode 0x44 = Ascii_7
+ altgr keycode 0x44 = Hex_7
+ CtrlL alt keycode 0x44 = Ascii_7
+ CtrlL altgr keycode 0x44 = Hex_7
+keycode 0x45 = KP_8
+ alt keycode 0x45 = Ascii_8
+ altgr keycode 0x45 = Hex_8
+ CtrlL alt keycode 0x45 = Ascii_8
+ CtrlL altgr keycode 0x45 = Hex_8
+keycode 0x46 = KP_9
+ alt keycode 0x46 = Ascii_9
+ altgr keycode 0x46 = Hex_9
+ CtrlL alt keycode 0x46 = Ascii_9
+ CtrlL altgr keycode 0x46 = Hex_9
+keycode 0x47 = KP_Subtract
+# OPEN/L6
+keycode 0x48 =
+# PASTE/L8
+keycode 0x49 =
+keycode 0x4a = Select
+# No key produces 0x4b to my knowledge
+keycode 0x4b =
+keycode 0x4c = Control
+keycode 0x4d = a
+ altgr keycode 0x4d = Hex_A
+ altgr shift keycode 0x4d = Hex_A
+ CtrlL altgr keycode 0x4d = Hex_A
+ CtrlL altgr shift keycode 0x4d = Hex_A
+keycode 0x4e = s
+keycode 0x4f = d
+ altgr keycode 0x4f = Hex_D
+ altgr shift keycode 0x4f = Hex_D
+ CtrlL altgr keycode 0x4f = Hex_D
+ CtrlL altgr shift keycode 0x4f = Hex_D
+keycode 0x50 = f
+ altgr keycode 0x50 = Hex_F
+ altgr shift keycode 0x50 = Hex_F
+ CtrlL altgr keycode 0x50 = Hex_F
+ CtrlL altgr shift keycode 0x50 = Hex_F
+keycode 0x51 = g
+keycode 0x52 = h
+keycode 0x53 = j
+keycode 0x54 = k
+keycode 0x55 = l
+keycode 0x56 = uring quotedbl
+ alt keycode 0x56 = Meta_semicolon
+ CtrlL keycode 0x56 = semicolon
+ CtrlL shift keycode 0x56 = colon
+ CtrlL alt keycode 0x56 = Meta_semicolon
+keycode 0x57 = 0xa7 exclam
+ control keycode 0x57 = Control_g
+ alt keycode 0x57 = Meta_apostrophe
+ CtrlL keycode 0x57 = apostrophe
+ CtrlL shift keycode 0x57 = quotedbl
+ CtrlL control keycode 0x57 = Control_g
+ CtrlL alt keycode 0x57 = Meta_apostrophe
+keycode 0x58 = backslash bar
+ control keycode 0x58 = Control_backslash
+ alt keycode 0x58 = Meta_backslash
+ CtrlL keycode 0x58 = backslash
+ CtrlL shift keycode 0x58 = bar
+ CtrlL control keycode 0x58 = Control_backslash
+ CtrlL alt keycode 0x58 = Meta_backslash
+keycode 0x59 = Return
+ alt keycode 0x59 = Meta_Control_m
+ CtrlL alt keycode 0x59 = Meta_Control_m
+keycode 0x5a = KP_Enter
+keycode 0x5b = KP_4
+ alt keycode 0x5b = Ascii_4
+ altgr keycode 0x5b = Hex_4
+ CtrlL alt keycode 0x5b = Ascii_4
+ CtrlL altgr keycode 0x5b = Hex_4
+keycode 0x5c = KP_5
+ alt keycode 0x5c = Ascii_5
+ altgr keycode 0x5c = Hex_5
+ CtrlL alt keycode 0x5c = Ascii_5
+ CtrlL altgr keycode 0x5c = Hex_5
+keycode 0x5d = KP_6
+ alt keycode 0x5d = Ascii_6
+ altgr keycode 0x5d = Hex_6
+ CtrlL alt keycode 0x5d = Ascii_6
+ CtrlL altgr keycode 0x5d = Hex_6
+keycode 0x5e = KP_0
+ alt keycode 0x5e = Ascii_0
+ altgr keycode 0x5e = Hex_0
+ CtrlL alt keycode 0x5e = Ascii_0
+ CtrlL altgr keycode 0x5e = Hex_0
+# FIND/L9
+keycode 0x5f =
+keycode 0x60 = Prior
+ shift keycode 0x60 = Scroll_Backward
+ CtrlL shift keycode 0x60 = Scroll_Backward
+# CUT/L10
+keycode 0x61 =
+keycode 0x62 = Num_Lock
+# Linux/i386 console makes no distinction between right/left shift
+# so neither do we.
+keycode 0x63 = Shift
+keycode 0x64 = y
+ CtrlL keycode 0x64 = z
+ CtrlL shift keycode 0x64 = Z
+ CtrlL altgr keycode 0x64 = z
+ CtrlL altgr shift keycode 0x64 = Z
+ CtrlL control keycode 0x64 = Control_z
+ CtrlL control shift keycode 0x64 = Control_z
+ CtrlL control altgr keycode 0x64 = Control_z
+ CtrlL control altgr shift keycode 0x64 = Control_z
+ CtrlL alt keycode 0x64 = Meta_z
+ CtrlL alt shift keycode 0x64 = Meta_Z
+ CtrlL alt altgr keycode 0x64 = Meta_z
+ CtrlL alt altgr shift keycode 0x64 = Meta_Z
+ CtrlL alt control keycode 0x64 = Meta_Control_z
+ CtrlL alt control shift keycode 0x64 = Meta_Control_z
+ CtrlL alt control altgr keycode 0x64 = Meta_Control_z
+ CtrlL alt control altgr shift keycode 0x64 = Meta_Control_z
+keycode 0x65 = x
+keycode 0x66 = c
+ altgr keycode 0x66 = Hex_C
+ altgr shift keycode 0x66 = Hex_C
+ CtrlL altgr keycode 0x66 = 0xa2
+ CtrlL altgr shift keycode 0x66 = Hex_C
+keycode 0x67 = v
+keycode 0x68 = b
+ altgr keycode 0x68 = Hex_B
+ altgr shift keycode 0x68 = Hex_B
+ CtrlL altgr keycode 0x68 = Hex_B
+ CtrlL altgr shift keycode 0x68 = Hex_B
+keycode 0x69 = n
+keycode 0x6a = m
+keycode 0x6b = comma question
+ alt keycode 0x6b = Meta_comma
+ CtrlL keycode 0x6b = comma
+ CtrlL shift keycode 0x6b = less
+ CtrlL alt keycode 0x6b = Meta_comma
+keycode 0x6c = period colon
+ control keycode 0x6c = Compose
+ alt keycode 0x6c = Meta_period
+ CtrlL keycode 0x6c = period
+ CtrlL shift keycode 0x6c = greater
+ CtrlL control keycode 0x6c = Compose
+ CtrlL alt keycode 0x6c = Meta_period
+keycode 0x6d = minus underscore
+ control keycode 0x6d = Delete
+ alt keycode 0x6d = Meta_slash
+ CtrlL keycode 0x6d = slash
+ CtrlL shift keycode 0x6d = question
+ CtrlL control keycode 0x6d = Delete
+ CtrlL alt keycode 0x6d = Meta_slash
+keycode 0x6e = Shift
+keycode 0x6f = Linefeed
+keycode 0x70 = KP_1
+ alt keycode 0x70 = Ascii_1
+ altgr keycode 0x70 = Hex_1
+ CtrlL alt keycode 0x70 = Ascii_1
+ CtrlL altgr keycode 0x70 = Hex_1
+keycode 0x71 = KP_2
+ alt keycode 0x71 = Ascii_2
+ altgr keycode 0x71 = Hex_2
+ CtrlL alt keycode 0x71 = Ascii_2
+ CtrlL altgr keycode 0x71 = Hex_2
+keycode 0x72 = KP_3
+ alt keycode 0x72 = Ascii_3
+ altgr keycode 0x72 = Hex_3
+ CtrlL alt keycode 0x72 = Ascii_3
+ CtrlL altgr keycode 0x72 = Hex_3
+# To my knowledge no key produces 0x73, 0x74, or 0x75
+keycode 0x73 =
+keycode 0x74 =
+keycode 0x75 =
+keycode 0x76 = Help
+keycode 0x77 = Caps_Lock
+keycode 0x78 = CtrlL
+keycode 0x79 = space space
+ control keycode 0x79 = nul
+ alt keycode 0x79 = Meta_space
+ CtrlL keycode 0x79 = space
+ CtrlL shift keycode 0x79 = space
+ CtrlL control keycode 0x79 = nul
+ CtrlL alt keycode 0x79 = Meta_space
+keycode 0x7a = Pause
+keycode 0x7b = Next
+ shift keycode 0x7b = Scroll_Forward
+ CtrlL shift keycode 0x7b = Scroll_Forward
+# No keys produce the following
+keycode 0x7c =
+keycode 0x7d = KP_Add
+keycode 0x7e =
+# keycode 0x7f is special and it means 'all keys released' and is
+# taken care of within the sun keyboard driver itself
+keycode 0x7f =
+# That's all folks...
+# Compose sequences
+# This should work for latin1 and latin2,
+# unfortunately some keys compose sequences had to be modified
+# a little bit, so that both latin1 and latin2 can be shared,
+# particularly " something has been replaced by : something
+# in latin1 composes.
+compose ',' 'A' to '¡'
+compose '`' 'A' to 'À'
+compose '\'' 'A' to 'Á'
+compose '^' 'A' to 'Â'
+compose 'v' 'A' to 'Ã'
+compose '~' 'A' to 'Ã'
+compose '"' 'A' to 'Ä'
+compose ':' 'A' to 'Ä'
+compose '0' 'A' to 'Å'
+compose 'A' 'A' to 'Å'
+compose 'O' 'A' to 'Å'
+compose ',' 'a' to '±'
+compose '`' 'a' to 'à'
+compose '\'' 'a' to 'á'
+compose '^' 'a' to 'â'
+compose 'v' 'a' to 'ã'
+compose '~' 'a' to 'ã'
+compose '"' 'a' to 'ä'
+compose ':' 'a' to 'ä'
+compose '0' 'a' to 'å'
+compose 'a' 'a' to 'å'
+compose 'o' 'a' to 'å'
+compose '\'' 'C' to 'Æ'
+compose ',' 'C' to 'Ç'
+compose '^' 'C' to 'È'
+compose 'v' 'C' to 'È'
+compose '\'' 'c' to 'æ'
+compose ',' 'c' to 'ç'
+compose '^' 'c' to 'è'
+compose 'v' 'c' to 'è'
+compose '^' 'D' to 'Ï'
+compose 'v' 'D' to 'Ï'
+compose '-' 'D' to 'Ð'
+compose '^' 'd' to 'ï'
+compose 'v' 'd' to 'ï'
+compose '-' 'd' to 'ð'
+compose 'A' 'E' to 'Æ'
+compose '`' 'E' to 'È'
+compose '\'' 'E' to 'É'
+compose ',' 'E' to 'Ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'E' to 'Ë'
+compose '^' 'E' to 'Ì'
+compose 'v' 'E' to 'Ì'
+compose 'a' 'e' to 'æ'
+compose '`' 'e' to 'è'
+compose '\'' 'e' to 'é'
+compose ',' 'e' to 'ê'
+compose '"' 'e' to 'ë'
+compose ':' 'e' to 'ë'
+compose '^' 'e' to 'ì'
+compose 'v' 'e' to 'ì'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose '`' 'I' to 'Ì'
+compose '\'' 'I' to 'Í'
+compose '^' 'I' to 'Î'
+compose '"' 'I' to 'Ï'
+compose ':' 'I' to 'Ï'
+compose '`' 'i' to 'ì'
+compose '\'' 'i' to 'í'
+compose '^' 'i' to 'î'
+compose '"' 'i' to 'ï'
+compose ':' 'i' to 'ï'
+compose 'i' 'j' to 'ÿ'
+compose '/' 'L' to '£'
+compose '^' 'L' to '¥'
+compose '\'' 'L' to 'Å'
+compose '\'' 'l' to 'å'
+compose '/' 'l' to '³'
+compose '^' 'l' to 'µ'
+compose '\'' 'N' to 'Ñ'
+compose '~' 'N' to 'Ñ'
+compose '^' 'N' to 'Ò'
+compose 'v' 'N' to 'Ò'
+compose '\'' 'n' to 'ñ'
+compose '~' 'n' to 'ñ'
+compose '^' 'n' to 'ò'
+compose 'v' 'n' to 'ò'
+compose '`' 'O' to 'Ò'
+compose '\'' 'O' to 'Ó'
+compose '^' 'O' to 'Ô'
+compose '"' 'O' to 'Õ'
+compose '~' 'O' to 'Õ'
+compose ':' 'O' to 'Ö'
+compose '/' 'O' to 'Ø'
+compose '`' 'o' to 'ò'
+compose '\'' 'o' to 'ó'
+compose '^' 'o' to 'ô'
+compose '"' 'o' to 'õ'
+compose '~' 'o' to 'õ'
+compose ':' 'o' to 'ö'
+compose '/' 'o' to 'ø'
+compose '\'' 'R' to 'À'
+compose '^' 'R' to 'Ø'
+compose 'v' 'R' to 'Ø'
+compose '\'' 'r' to 'à'
+compose '^' 'r' to 'ø'
+compose 'v' 'r' to 'ø'
+compose '\'' 'S' to '¦'
+compose '^' 'S' to '©'
+compose 'v' 'S' to '©'
+compose ',' 'S' to 'ª'
+compose 'S' 'S' to 'ß'
+compose '\'' 's' to '¶'
+compose '^' 's' to '¹'
+compose 'v' 's' to '¹'
+compose ',' 's' to 'º'
+compose 's' 's' to 'ß'
+compose '^' 'T' to '«'
+compose 'v' 'T' to '«'
+compose '^' 't' to '»'
+compose 'v' 't' to '»'
+compose ',' 'T' to 'Þ'
+compose ',' 't' to 'þ'
+compose '^' 'U' to 'Ù'
+compose 'o' 'U' to 'Ù'
+compose '`' 'U' to 'Ù'
+compose '\'' 'U' to 'Ú'
+compose '"' 'U' to 'Û'
+compose ':' 'U' to 'Ü'
+compose '^' 'u' to 'ù'
+compose 'o' 'u' to 'ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'u' to 'ú'
+compose '"' 'u' to 'û'
+compose ':' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose '"' 'y' to 'ÿ'
+compose ':' 'y' to 'ÿ'
+compose '\'' 'Z' to '¬'
+compose '^' 'Z' to '®'
+compose 'v' 'Z' to '®'
+compose '.' 'Z' to '¯'
+compose '\'' 'z' to '¼'
+compose '^' 'z' to '¾'
+compose 'v' 'z' to '¾'
+compose '.' 'z' to '¿'
+compose 's' 'z' to 'ß'
+compose 'e' '=' to '¤'
diff --git a/keymaps/sun/sunt5-de-latin1.kmap b/keymaps/sun/sunt5-de-latin1.kmap
new file mode 100644
index 0000000..e23914e
--- /dev/null
+++ b/keymaps/sun/sunt5-de-latin1.kmap
@@ -0,0 +1,249 @@
+# german SUN-type-5 keyboard mapping
+# Fri Oct 25 1996, Wolfgang Szöcs <wolfi@tfh-berlin.de>
+#
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 1 =
+keycode 2 =
+keycode 3 =
+keycode 4 =
+keycode 5 = F1
+ shift keycode 5 = F11
+ altgr keycode 5 = Console_13
+ shift control keycode 5 = VoidSymbol
+ alt keycode 5 = Console_1
+ control alt keycode 5 = Console_1
+keycode 6 = F2
+ shift keycode 6 = F12
+ altgr keycode 6 = Console_14
+ shift control keycode 6 = VoidSymbol
+ alt keycode 6 = Console_2
+ control alt keycode 6 = Console_2
+keycode 7 = F10
+ shift keycode 7 = F20
+ altgr keycode 7 = Console_22
+ shift control keycode 7 = VoidSymbol
+ alt keycode 7 = Console_10
+ control alt keycode 7 = Console_10
+keycode 8 = F3
+ shift keycode 8 = F13
+ altgr keycode 8 = Console_15
+ shift control keycode 8 = VoidSymbol
+ alt keycode 8 = Console_3
+ control alt keycode 8 = Console_3
+keycode 9 = F11
+ altgr keycode 9 = Console_23
+ shift control keycode 9 = VoidSymbol
+ alt keycode 9 = Console_11
+ control alt keycode 9 = Console_11
+keycode 10 = F4
+ shift keycode 10 = F14
+ altgr keycode 10 = Console_16
+ shift control keycode 10 = VoidSymbol
+ alt keycode 10 = Console_4
+ control alt keycode 10 = Console_4
+keycode 11 = F12
+ altgr keycode 11 = Console_24
+ shift control keycode 11 = VoidSymbol
+ alt keycode 11 = Console_12
+ control alt keycode 11 = Console_12
+keycode 12 = F5
+ shift keycode 12 = F15
+ altgr keycode 12 = Console_17
+ shift control keycode 12 = VoidSymbol
+ alt keycode 12 = Console_5
+ control alt keycode 12 = Console_5
+keycode 13 = AltGr
+keycode 14 = F6
+ shift keycode 14 = F16
+ altgr keycode 14 = Console_18
+ shift control keycode 14 = VoidSymbol
+ alt keycode 14 = Console_6
+ control alt keycode 14 = Console_6
+keycode 15 =
+keycode 16 = F7 F17 Console_19 F8
+ alt keycode 16 = Console_7
+ control alt keycode 16 = Console_7
+keycode 17 = F8 F18 Console_20
+ alt keycode 17 = Console_8
+ control alt keycode 17 = Console_8
+keycode 18 = F9
+ shift keycode 18 = F19
+ altgr keycode 18 = Console_21
+ shift control keycode 18 = VoidSymbol
+ alt keycode 18 = Console_9
+ control alt keycode 18 = Console_9
+keycode 19 = Alt
+keycode 20 = Up
+keycode 21 = Pause
+keycode 22 =
+keycode 23 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 23 = Scroll_Lock
+keycode 24 = Left
+ alt keycode 24 = Decr_Console
+keycode 25 =
+keycode 26 =
+keycode 27 = Down
+keycode 28 = Right
+ alt keycode 28 = Incr_Console
+keycode 29 = Escape Escape
+ alt keycode 29 = Meta_Escape
+keycode 30 = one exclam
+ alt keycode 30 = Meta_one
+keycode 31 = two quotedbl twosuperior nul nul Meta_two
+keycode 32 = three section threesuperior
+ control keycode 32 = Escape
+ alt keycode 32 = Meta_three
+keycode 33 = four dollar dollar Control_backslash
+ alt keycode 33 = Meta_four
+keycode 34 = five percent
+ control keycode 34 = Control_bracketright
+ alt keycode 34 = Meta_five
+keycode 35 = six ampersand
+ control keycode 35 = Control_asciicircum
+ alt keycode 35 = Meta_six
+keycode 36 = seven slash braceleft Control_underscore
+ alt keycode 36 = Meta_seven
+keycode 37 = eight parenleft bracketleft Delete
+ alt keycode 37 = Meta_eight
+keycode 38 = nine parenright bracketright
+ alt keycode 38 = Meta_nine
+keycode 39 = zero equal braceright
+ alt keycode 39 = Meta_zero
+keycode 40 = ssharp question backslash Control_underscore Control_underscore Meta_minus
+keycode 41 = dead_acute dead_grave
+ alt keycode 41 = Meta_equal
+keycode 42 = asciicircum degree
+ control keycode 42 = nul
+ alt keycode 42 = Meta_grave
+keycode 43 = Delete Delete
+ control keycode 43 = BackSpace
+ alt keycode 43 = Meta_Delete
+keycode 44 = Insert
+keycode 45 = equal
+keycode 46 = KP_Divide
+keycode 47 = KP_Multiply
+keycode 48 =
+keycode 49 =
+keycode 50 = KP_Period
+ control alt keycode 50 = Boot
+keycode 51 =
+keycode 52 = Find
+keycode 53 = Tab Tab
+ alt keycode 53 = Meta_Tab
+keycode 54 = +q +Q at
+keycode 55 = w
+keycode 56 = +e +E Hex_E Control_e Control_e Meta_e Meta_Control_e
+keycode 57 = r
+keycode 58 = t
+keycode 59 = z
+keycode 60 = u
+keycode 61 = i
+keycode 62 = o
+keycode 63 = p
+keycode 64 = +udiaeresis +Udiaeresis
+ control keycode 64 = Escape
+ alt keycode 64 = Meta_bracketleft
+keycode 65 = plus asterisk asciitilde Control_bracketright
+ alt keycode 65 = Meta_bracketright
+keycode 66 = Delete Delete
+ control keycode 66 = BackSpace
+keycode 67 = Compose
+ alt keycode 67 = Meta_Delete
+keycode 68 = KP_7
+ altgr keycode 68 = Hex_7
+ alt keycode 68 = Ascii_7
+keycode 69 = KP_8
+ altgr keycode 69 = Hex_8
+ alt keycode 69 = Ascii_8
+keycode 70 = KP_9
+ altgr keycode 70 = Hex_9
+ alt keycode 70 = Ascii_9
+keycode 71 = KP_Subtract
+keycode 72 =
+keycode 73 =
+keycode 74 = Select
+keycode 75 =
+keycode 76 = Control
+keycode 77 = +a +A Hex_A Control_a Control_a Meta_a Meta_Control_a
+keycode 78 = s
+keycode 79 = +d +D Hex_D Control_d Control_d Meta_d Meta_Control_d
+keycode 80 = +f +F Hex_F Control_f Control_f Meta_f Meta_Control_f
+keycode 81 = g
+keycode 82 = h
+keycode 83 = j
+keycode 84 = k
+keycode 85 = l
+keycode 86 = +odiaeresis +Odiaeresis
+ alt keycode 86 = Meta_semicolon
+keycode 87 = +adiaeresis +Adiaeresis
+ control keycode 87 = Control_g
+ alt keycode 87 = Meta_apostrophe
+keycode 88 = numbersign apostrophe grave
+ control keycode 88 = Control_backslash
+ alt keycode 88 = Meta_backslash
+keycode 89 = Return
+ alt keycode 89 = Meta_Control_m
+keycode 90 = KP_Enter
+keycode 91 = KP_4
+ altgr keycode 91 = Hex_4
+ alt keycode 91 = Ascii_4
+keycode 92 = KP_5
+ altgr keycode 92 = Hex_5
+ alt keycode 92 = Ascii_5
+keycode 93 = KP_6
+ altgr keycode 93 = Hex_6
+ alt keycode 93 = Ascii_6
+keycode 94 = KP_0
+ altgr keycode 94 = Hex_0
+ alt keycode 94 = Ascii_0
+keycode 95 =
+keycode 96 = Prior
+ shift keycode 96 = Scroll_Backward
+keycode 97 =
+keycode 98 = Num_Lock
+keycode 99 = Shift
+keycode 100 = y
+keycode 101 = x
+keycode 102 = +c +C Hex_C Control_c Control_c Meta_c Meta_Control_c
+keycode 103 = v
+keycode 104 = +b +B Hex_B Control_b Control_b Meta_b Meta_Control_b
+keycode 105 = n
+keycode 106 = +m +M mu Control_m
+keycode 107 = comma semicolon
+ alt keycode 107 = Meta_comma
+keycode 108 = period colon
+ control keycode 108 = Compose
+ alt keycode 108 = Meta_period
+keycode 109 = minus underscore
+ control keycode 109 = Delete
+ alt keycode 109 = Meta_slash
+keycode 110 = Shift
+keycode 111 = Linefeed
+keycode 112 = KP_1
+ altgr keycode 112 = Hex_1
+ alt keycode 112 = Ascii_1
+keycode 113 = KP_2
+ altgr keycode 113 = Hex_2
+ alt keycode 113 = Ascii_2
+keycode 114 = KP_3
+ altgr keycode 114 = Hex_3
+ alt keycode 114 = Ascii_3
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 = Help
+keycode 119 = Caps_Lock
+keycode 120 =
+keycode 121 = space space
+ control keycode 121 = nul
+ alt keycode 121 = Meta_space
+keycode 122 =
+keycode 123 = Next
+ shift keycode 123 = Scroll_Forward
+keycode 124 = less greater bar
+keycode 125 = KP_Add
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/sun/sunt5-es.kmap b/keymaps/sun/sunt5-es.kmap
new file mode 100644
index 0000000..e5755d1
--- /dev/null
+++ b/keymaps/sun/sunt5-es.kmap
@@ -0,0 +1,264 @@
+# Sun Type 5 Spanish keyboard mapping
+#
+# Eduardo Casino <eduardo@medusa.es>
+#
+# Derived somehow from Jon Tombs' Spanish keyboard:
+# Jon Tombs <jon@gtex02.us.es> with corrections from
+# Julio Sanchez <jsanchez@gmv.es>
+#
+keymaps 0-2,4-5,8-9,12
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 1 =
+keycode 2 =
+keycode 3 =
+keycode 4 =
+keycode 5 = F1
+ shift keycode 5 = F11
+ altgr keycode 5 = Console_13
+ shift control keycode 5 = VoidSymbol
+ alt keycode 5 = Console_1
+ control alt keycode 5 = Console_1
+keycode 6 = F2
+ shift keycode 6 = F12
+ altgr keycode 6 = Console_14
+ shift control keycode 6 = VoidSymbol
+ alt keycode 6 = Console_2
+ control alt keycode 6 = Console_2
+keycode 7 = F10
+ shift keycode 7 = F20
+ altgr keycode 7 = Console_22
+ shift control keycode 7 = VoidSymbol
+ alt keycode 7 = Console_10
+ control alt keycode 7 = Console_10
+keycode 8 = F3
+ shift keycode 8 = F13
+ altgr keycode 8 = Console_15
+ shift control keycode 8 = VoidSymbol
+ alt keycode 8 = Console_3
+ control alt keycode 8 = Console_3
+keycode 9 = F11
+ altgr keycode 9 = Console_23
+ shift control keycode 9 = VoidSymbol
+ alt keycode 9 = Console_11
+ control alt keycode 9 = Console_11
+keycode 10 = F4
+ shift keycode 10 = F14
+ altgr keycode 10 = Console_16
+ shift control keycode 10 = VoidSymbol
+ alt keycode 10 = Console_4
+ control alt keycode 10 = Console_4
+keycode 11 = F12
+ altgr keycode 11 = Console_24
+ shift control keycode 11 = VoidSymbol
+ alt keycode 11 = Console_12
+ control alt keycode 11 = Console_12
+keycode 12 = F5
+ shift keycode 12 = F15
+ altgr keycode 12 = Console_17
+ shift control keycode 12 = VoidSymbol
+ alt keycode 12 = Console_5
+ control alt keycode 12 = Console_5
+keycode 13 = AltGr
+keycode 14 = F6
+ shift keycode 14 = F16
+ altgr keycode 14 = Console_18
+ shift control keycode 14 = VoidSymbol
+ alt keycode 14 = Console_6
+ control alt keycode 14 = Console_6
+keycode 15 =
+keycode 16 = F7 F17 Console_19 F8
+ alt keycode 16 = Console_7
+ control alt keycode 16 = Console_7
+keycode 17 = F8 F18 Console_20
+ alt keycode 17 = Console_8
+ control alt keycode 17 = Console_8
+keycode 18 = F9
+ shift keycode 18 = F19
+ altgr keycode 18 = Console_21
+ shift control keycode 18 = VoidSymbol
+ alt keycode 18 = Console_9
+ control alt keycode 18 = Console_9
+keycode 19 = Alt
+keycode 20 = Up
+keycode 21 = Pause
+keycode 22 =
+keycode 23 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 23 = Scroll_Lock
+keycode 24 = Left
+ alt keycode 24 = Decr_Console
+keycode 25 =
+keycode 26 =
+keycode 27 = Down
+keycode 28 = Right
+ alt keycode 28 = Incr_Console
+keycode 29 = Escape Escape
+ alt keycode 29 = Meta_Escape
+keycode 30 = one exclam bar
+ alt keycode 30 = Meta_one
+keycode 31 = two quotedbl at
+ control keycode 31 = nul
+ alt keycode 31 = Meta_two
+keycode 32 = three periodcentered numbersign
+ control keycode 32 = Escape
+ alt keycode 32 = Meta_three
+keycode 33 = four dollar asciicircum
+ control keycode 33 = Control_backslash
+ alt keycode 33 = Meta_four
+keycode 34 = five percent asciitilde
+ control keycode 34 = Control_bracketright
+ alt keycode 34 = Meta_five
+keycode 35 = six ampersand notsign
+ control keycode 35 = Control_asciicircum
+ alt keycode 35 = Meta_six
+keycode 36 = seven slash braceleft
+ control keycode 36 = Control_underscore
+ alt keycode 36 = Meta_seven
+keycode 37 = eight parenleft bracketleft
+ control keycode 37 = Delete
+ alt keycode 37 = Meta_eight
+keycode 38 = nine parenright bracketright
+ alt keycode 38 = Meta_nine
+keycode 39 = zero equal braceright
+ alt keycode 39 = Meta_zero
+keycode 40 = apostrophe question grave
+ control keycode 40 = Control_underscore
+ alt keycode 40 = Meta_minus
+keycode 41 = exclamdown questiondown asciitilde
+ alt keycode 41 = Meta_equal
+keycode 42 = masculine ordfeminine backslash
+ control keycode 42 = nul
+ alt keycode 42 = Meta_grave
+keycode 43 = Delete Delete
+ control keycode 43 = BackSpace
+ alt keycode 43 = Meta_Delete
+keycode 44 = Insert
+keycode 45 = equal
+keycode 46 = KP_Divide
+keycode 47 = KP_Multiply
+keycode 48 =
+keycode 49 =
+keycode 50 = KP_Period
+ control alt keycode 50 = Boot
+keycode 51 =
+keycode 52 = Find
+keycode 53 = Tab Tab
+ alt keycode 53 = Meta_Tab
+keycode 54 = q
+keycode 55 = w
+keycode 56 = +e +E Hex_E Control_e Control_e Meta_e Meta_Control_e
+keycode 57 = r
+keycode 58 = t
+keycode 59 = y
+keycode 60 = u
+keycode 61 = i
+keycode 62 = o
+keycode 63 = p
+keycode 64 = dead_grave dead_circumflex bracketleft
+ control keycode 64 = Escape
+ alt keycode 64 = Meta_bracketleft
+keycode 65 = plus asterisk bracketright
+ control keycode 65 = Control_bracketright
+ alt keycode 65 = Meta_bracketright
+keycode 66 = Delete Delete
+ control keycode 66 = BackSpace
+keycode 67 = Compose
+ alt keycode 67 = Meta_Delete
+keycode 68 = KP_7
+ altgr keycode 68 = Hex_7
+ alt keycode 68 = Ascii_7
+keycode 69 = KP_8
+ altgr keycode 69 = Hex_8
+ alt keycode 69 = Ascii_8
+keycode 70 = KP_9
+ altgr keycode 70 = Hex_9
+ alt keycode 70 = Ascii_9
+keycode 71 = KP_Subtract
+keycode 72 =
+keycode 73 =
+keycode 74 = Select
+keycode 75 =
+keycode 76 = Control
+keycode 77 = +a +A Hex_A Control_a Control_a Meta_a Meta_Control_a
+keycode 78 = s
+keycode 79 = +d +D Hex_D Control_d Control_d Meta_d Meta_Control_d
+keycode 80 = +f +F Hex_F Control_f Control_f Meta_f Meta_Control_f
+keycode 81 = g
+keycode 82 = h
+keycode 83 = j
+keycode 84 = k
+keycode 85 = l
+keycode 86 = ntilde Ntilde
+ alt keycode 86 = Meta_semicolon
+keycode 87 = dead_acute dead_diaeresis braceleft
+ control keycode 87 = Control_g
+ alt keycode 87 = Meta_apostrophe
+keycode 88 = ccedilla Ccedilla braceright
+ control keycode 88 = Control_backslash
+ alt keycode 88 = Meta_backslash
+ shift alt keycode 88 = Meta_asciitilde
+keycode 89 = Return
+ alt keycode 89 = Meta_Control_m
+keycode 90 = KP_Enter
+keycode 91 = KP_4
+ altgr keycode 91 = Hex_4
+ alt keycode 91 = Ascii_4
+keycode 92 = KP_5
+ altgr keycode 92 = Hex_5
+ alt keycode 92 = Ascii_5
+keycode 93 = KP_6
+ altgr keycode 93 = Hex_6
+ alt keycode 93 = Ascii_6
+keycode 94 = KP_0
+ altgr keycode 94 = Hex_0
+ alt keycode 94 = Ascii_0
+keycode 95 =
+keycode 96 = Prior
+ shift keycode 96 = Scroll_Backward
+keycode 97 =
+keycode 98 = Num_Lock
+keycode 99 = Shift
+keycode 100 = z
+keycode 101 = x
+keycode 102 = +c +C Hex_C Control_c Control_c Meta_c Meta_Control_c
+keycode 103 = v
+keycode 104 = +b +B Hex_B Control_b Control_b Meta_b Meta_Control_b
+keycode 105 = n
+keycode 106 = m
+keycode 107 = comma semicolon
+ alt keycode 107 = Meta_comma
+ shift alt keycode 107 = Meta_less
+keycode 108 = period colon
+ alt keycode 108 = Meta_period
+ shift alt keycode 108 = Meta_greater
+keycode 109 = minus underscore
+ control keycode 109 = Delete
+ alt keycode 109 = Meta_slash
+keycode 110 = Shift
+keycode 111 = Linefeed
+keycode 112 = KP_1
+ altgr keycode 112 = Hex_1
+ alt keycode 112 = Ascii_1
+keycode 113 = KP_2
+ altgr keycode 113 = Hex_2
+ alt keycode 113 = Ascii_2
+keycode 114 = KP_3
+ altgr keycode 114 = Hex_3
+ alt keycode 114 = Ascii_3
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 = Help
+keycode 119 = Caps_Lock
+keycode 120 =
+keycode 121 = space space
+ control keycode 121 = nul
+ alt keycode 121 = Meta_space
+keycode 122 =
+keycode 123 = Next
+ shift keycode 123 = Scroll_Forward
+keycode 124 = less greater
+keycode 125 = KP_Add
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/sun/sunt5-fi-latin1.kmap b/keymaps/sun/sunt5-fi-latin1.kmap
new file mode 100644
index 0000000..379dace
--- /dev/null
+++ b/keymaps/sun/sunt5-fi-latin1.kmap
@@ -0,0 +1,253 @@
+# Sun Type 5 Finnish keyboard mapping
+#
+# Riku Meskanen <mesrik@cc.jyu.fi>
+#
+# $Id: sun5-fi-latin1.map,v 1.2 1997/01/09 09:03:59 mesrik Exp $
+#
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+
+keycode 1 =
+keycode 2 =
+keycode 3 =
+keycode 4 =
+keycode 5 = F1
+ shift keycode 5 = F11
+ altgr keycode 5 = Console_13
+ shift control keycode 5 = VoidSymbol
+ alt keycode 5 = Console_1
+ control alt keycode 5 = Console_1
+keycode 6 = F2
+ shift keycode 6 = F12
+ altgr keycode 6 = Console_14
+ shift control keycode 6 = VoidSymbol
+ alt keycode 6 = Console_2
+ control alt keycode 6 = Console_2
+keycode 7 = F10
+ shift keycode 7 = F20
+ altgr keycode 7 = Console_22
+ shift control keycode 7 = VoidSymbol
+ alt keycode 7 = Console_10
+ control alt keycode 7 = Console_10
+keycode 8 = F3
+ shift keycode 8 = F13
+ altgr keycode 8 = Console_15
+ shift control keycode 8 = VoidSymbol
+ alt keycode 8 = Console_3
+ control alt keycode 8 = Console_3
+keycode 9 = F11
+ altgr keycode 9 = Console_23
+ shift control keycode 9 = VoidSymbol
+ alt keycode 9 = Console_11
+ control alt keycode 9 = Console_11
+keycode 10 = F4
+ shift keycode 10 = F14
+ altgr keycode 10 = Console_16
+ shift control keycode 10 = VoidSymbol
+ alt keycode 10 = Console_4
+ control alt keycode 10 = Console_4
+keycode 11 = F12
+ altgr keycode 11 = Console_24
+ shift control keycode 11 = VoidSymbol
+ alt keycode 11 = Console_12
+ control alt keycode 11 = Console_12
+keycode 12 = F5
+ shift keycode 12 = F15
+ altgr keycode 12 = Console_17
+ shift control keycode 12 = VoidSymbol
+ alt keycode 12 = Console_5
+ control alt keycode 12 = Console_5
+keycode 13 = AltGr
+keycode 14 = F6
+ shift keycode 14 = F16
+ altgr keycode 14 = Console_18
+ shift control keycode 14 = VoidSymbol
+ alt keycode 14 = Console_6
+ control alt keycode 14 = Console_6
+keycode 15 =
+keycode 16 = F7 F17 Console_19 F8
+ alt keycode 16 = Console_7
+ control alt keycode 16 = Console_7
+keycode 17 = F8 F18 Console_20
+ alt keycode 17 = Console_8
+ control alt keycode 17 = Console_8
+keycode 18 = F9
+ shift keycode 18 = F19
+ altgr keycode 18 = Console_21
+ shift control keycode 18 = VoidSymbol
+ alt keycode 18 = Console_9
+ control alt keycode 18 = Console_9
+keycode 19 = Alt
+keycode 20 = Up
+keycode 21 = Pause
+keycode 22 =
+keycode 23 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 23 = Scroll_Lock
+keycode 24 = Left
+ alt keycode 24 = Decr_Console
+keycode 25 =
+keycode 26 =
+keycode 27 = Down
+keycode 28 = Right
+ alt keycode 28 = Incr_Console
+keycode 29 = Escape Escape
+ alt keycode 29 = Meta_Escape
+keycode 30 = one exclam
+ alt keycode 30 = Meta_one
+keycode 31 = two quotedbl at nul nul Meta_two
+keycode 32 = three numbersign pound
+ control keycode 32 = Escape
+ alt keycode 32 = Meta_three
+keycode 33 = four dollar dollar Control_backslash
+ alt keycode 33 = Meta_four
+keycode 34 = five percent
+ control keycode 34 = Control_bracketright
+ alt keycode 34 = Meta_five
+keycode 35 = six ampersand
+ control keycode 35 = Control_asciicircum
+ alt keycode 35 = Meta_six
+keycode 36 = seven slash braceleft Control_underscore
+ alt keycode 36 = Meta_seven
+keycode 37 = eight parenleft bracketleft Delete
+ alt keycode 37 = Meta_eight
+keycode 38 = nine parenright bracketright
+ alt keycode 38 = Meta_nine
+keycode 39 = zero equal braceright
+ alt keycode 39 = Meta_zero
+keycode 40 = plus question backslash Control_underscore Control_underscore Meta_minus
+keycode 41 = dead_acute dead_grave
+ alt keycode 41 = Meta_equal
+keycode 42 = section onehalf
+ control keycode 42 = nul
+ alt keycode 42 = Meta_grave
+keycode 43 = Delete Delete
+ control keycode 43 = BackSpace
+ alt keycode 43 = Meta_Delete
+keycode 44 = Insert
+keycode 45 = equal
+keycode 46 = KP_Divide
+keycode 47 = KP_Multiply
+keycode 48 =
+keycode 49 =
+keycode 50 = KP_Period
+ control alt keycode 50 = Boot
+keycode 51 =
+keycode 52 = Find
+keycode 53 = Tab Tab
+ alt keycode 53 = Meta_Tab
+keycode 54 = q
+keycode 55 = w
+keycode 56 = +e +E Hex_E Control_e Control_e Meta_e Meta_Control_e
+keycode 57 = r
+keycode 58 = t
+keycode 59 = y
+keycode 60 = u
+keycode 61 = i
+keycode 62 = o
+keycode 63 = p
+keycode 64 = +aring +Aring
+ control keycode 64 = Escape
+ alt keycode 64 = Meta_bracketleft
+keycode 65 = dead_diaeresis dead_circumflex dead_tilde Control_bracketright
+ alt keycode 65 = Meta_bracketright
+keycode 66 = Delete Delete
+ control keycode 66 = BackSpace
+keycode 67 = Compose
+ alt keycode 67 = Meta_Delete
+keycode 68 = KP_7
+ altgr keycode 68 = Hex_7
+ alt keycode 68 = Ascii_7
+keycode 69 = KP_8
+ altgr keycode 69 = Hex_8
+ alt keycode 69 = Ascii_8
+keycode 70 = KP_9
+ altgr keycode 70 = Hex_9
+ alt keycode 70 = Ascii_9
+keycode 71 = KP_Subtract
+keycode 72 =
+keycode 73 =
+keycode 74 = Select
+keycode 75 =
+keycode 76 = Control
+keycode 77 = +a +A Hex_A Control_a Control_a Meta_a Meta_Control_a
+keycode 78 = s
+keycode 79 = +d +D Hex_D Control_d Control_d Meta_d Meta_Control_d
+keycode 80 = +f +F Hex_F Control_f Control_f Meta_f Meta_Control_f
+keycode 81 = g
+keycode 82 = h
+keycode 83 = j
+keycode 84 = k
+keycode 85 = l
+keycode 86 = +odiaeresis +Odiaeresis
+ alt keycode 86 = Meta_semicolon
+keycode 87 = +adiaeresis +Adiaeresis
+ control keycode 87 = Control_g
+ alt keycode 87 = Meta_apostrophe
+keycode 88 = apostrophe asterisk grave
+ control keycode 88 = Control_backslash
+ alt keycode 88 = Meta_backslash
+keycode 89 = Return
+ alt keycode 89 = Meta_Control_m
+keycode 90 = KP_Enter
+keycode 91 = KP_4
+ altgr keycode 91 = Hex_4
+ alt keycode 91 = Ascii_4
+keycode 92 = KP_5
+ altgr keycode 92 = Hex_5
+ alt keycode 92 = Ascii_5
+keycode 93 = KP_6
+ altgr keycode 93 = Hex_6
+ alt keycode 93 = Ascii_6
+keycode 94 = KP_0
+ altgr keycode 94 = Hex_0
+ alt keycode 94 = Ascii_0
+keycode 95 =
+keycode 96 = Prior
+ shift keycode 96 = Scroll_Backward
+keycode 97 =
+keycode 98 = Num_Lock
+keycode 99 = Shift
+keycode 100 = z
+keycode 101 = x
+keycode 102 = +c +C Hex_C Control_c Control_c Meta_c Meta_Control_c
+keycode 103 = v
+keycode 104 = +b +B Hex_B Control_b Control_b Meta_b Meta_Control_b
+keycode 105 = n
+keycode 106 = m
+keycode 107 = comma semicolon
+ alt keycode 107 = Meta_comma
+keycode 108 = period colon
+ control keycode 108 = Compose
+ alt keycode 108 = Meta_period
+keycode 109 = minus underscore
+ control keycode 109 = Delete
+ alt keycode 109 = Meta_slash
+keycode 110 = Shift
+keycode 111 = Linefeed
+keycode 112 = KP_1
+ altgr keycode 112 = Hex_1
+ alt keycode 112 = Ascii_1
+keycode 113 = KP_2
+ altgr keycode 113 = Hex_2
+ alt keycode 113 = Ascii_2
+keycode 114 = KP_3
+ altgr keycode 114 = Hex_3
+ alt keycode 114 = Ascii_3
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 = Help
+keycode 119 = Caps_Lock
+keycode 120 =
+keycode 120 =
+keycode 121 = space space
+ control keycode 121 = nul
+ alt keycode 121 = Meta_space
+keycode 122 =
+keycode 123 = Next
+ shift keycode 123 = Scroll_Forward
+keycode 124 = less greater bar
+keycode 125 = KP_Add
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/sun/sunt5-fr-latin1.kmap b/keymaps/sun/sunt5-fr-latin1.kmap
new file mode 100644
index 0000000..83e38a6
--- /dev/null
+++ b/keymaps/sun/sunt5-fr-latin1.kmap
@@ -0,0 +1,283 @@
+# Keyboard map for the Sun Type4/Type5 keyboards
+# found on SparcStations
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+#
+#
+# Stop/L1
+keycode 0x01 =
+# SND_LOWER
+keycode 0x02 =
+# Encore/L2
+keycode 0x03 =
+# SND_LOUDER
+keycode 0x04 =
+keycode 0x05 = F1 F11 Console_13
+ control keycode 0x05 = F1
+ alt keycode 0x05 = Console_1
+ control alt keycode 0x05 = Console_1
+keycode 0x06 = F2 F12 Console_14
+ control keycode 0x06 = F2
+ alt keycode 0x06 = Console_2
+ control alt keycode 0x06 = Console_2
+keycode 0x07 = F10 F20 Console_22
+ control keycode 0x07 = F10
+ alt keycode 0x07 = Console_10
+ control alt keycode 0x07 = Console_10
+keycode 0x08 = F3 F13 Console_15
+ control keycode 0x08 = F3
+ alt keycode 0x08 = Console_3
+ control alt keycode 0x08 = Console_3
+keycode 0x09 = F11 F11 Console_23
+ control keycode 0x09 = F11
+ alt keycode 0x09 = Console_11
+ control alt keycode 0x09 = Console_11
+keycode 0x0a = F4 F14 Console_16
+ control keycode 0x0a = F4
+ alt keycode 0x0a = Console_4
+ control alt keycode 0x0a = Console_4
+keycode 0x0b = F12 F12 Console_24
+ control keycode 0x0b = F12
+ alt keycode 0x0b = Console_12
+ control alt keycode 0x0b = Console_12
+keycode 0x0c = F5 F15 Console_17
+ control Keycode 0x0c = F5
+ alt keycode 0x0c = Console_5
+ control alt keycode 0x0c = Console_5
+keycode 0x0d = AltGr
+keycode 0x0e = F6 F16 Console_18
+ control keycode 0x0e = F6
+ alt keycode 0x0e = Console_6
+ control alt keycode 0x0e = Console_6
+# BLANK KEY on type 5 keyboards
+keycode 0x0f =
+keycode 0x10 = F7 F17 Console_19
+ control keycode 0x10 = F7
+ alt keycode 0x10 = Console_7
+ control alt keycode 0x10 = Console_7
+keycode 0x11 = F8 F18 Console_20
+ control keycode 0x11 = F8
+ alt keycode 0x11 = Console_8
+ control alt keycode 0x11 = Console_8
+keycode 0x12 = F9 F19 Console_21
+ control keycode 0x12 = F9
+ alt keycode 0x12 = Console_9
+ control alt keycode 0x12 = Console_9
+keycode 0x13 = Alt
+keycode 0x14 = Up
+keycode 0x15 = Pause
+# Print Screen
+keycode 0x16 =
+keycode 0x17 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 0x17 = Show_State
+ alt keycode 0x17 = Scroll_Lock
+keycode 0x18 = Left
+ alt keycode 0x18 = Decr_Console
+# Props/L3
+keycode 0x19 =
+# Annuler/L4
+keycode 0x1a =
+keycode 0x1b = Down
+keycode 0x1c = Right
+ alt keycode 0x1c = Incr_Console
+keycode 0x1d = Escape Escape
+ alt keycode 0x1d = Meta_Escape
+keycode 0x1e = ampersand one
+ alt keycode 0x1e = Meta_one
+keycode 0x1f = eacute two asciitilde
+ control keycode 0x1f = nul
+ shift control keycode 0x1f = nul
+ alt keycode 0x1f = Meta_two
+keycode 0x20 = quotedbl three numbersign
+ control keycode 0x20 = Escape
+ alt keycode 0x20 = Meta_three
+keycode 0x21 = apostrophe four braceleft
+ control keycode 0x21 = Control_backslash
+ alt keycode 0x21 = Meta_four
+keycode 0x22 = parenleft five bracketleft
+ control keycode 0x22 = Control_bracketright
+ alt keycode 0x22 = Meta_five
+keycode 0x23 = minus six bar
+ control keycode 0x23 = Control_asciicircum
+ alt keycode 0x23 = Meta_six
+keycode 0x24 = egrave seven grave
+ control keycode 0x24 = Control_underscore
+ alt keycode 0x24 = Meta_seven
+keycode 0x25 = underscore eight backslash
+ control keycode 0x25 = Delete
+ alt keycode 0x25 = Meta_eight
+keycode 0x26 = ccedilla nine asciicircum
+ alt keycode 0x26 = Meta_nine
+keycode 0x27 = agrave zero at
+ alt keycode 0x27 = Meta_zero
+keycode 0x28 = parenright degree bracketright
+ control keycode 0x28 = Control_underscore
+ shift control keycode 0x28 = Control_underscore
+ alt keycode 0x28 = Meta_minus
+keycode 0x29 = equal plus braceright
+ alt keycode 0x29 = Meta_equal
+keycode 0x2a = twosuperior
+ control keycode 0x2a = nul
+ alt keycode 0x2a = Meta_grave
+# Is marked as BackSpace but we define it as delete just like the i386
+# keyboard maps does
+keycode 0x2b = Delete Delete
+ control keycode 0x2b = BackSpace
+ alt keycode 0x2b = Meta_Delete
+keycode 0x2c = Insert
+# SND_OFF
+keycode 0x2d =
+keycode 0x2e = KP_Divide
+keycode 0x2f = KP_Multiply
+# Power ON/OFF key on type 5 keyboard
+keycode 0x30 =
+# Devant/L5
+keycode 0x31 =
+keycode 0x32 = KP_Period
+# altgr control keycode 0x32 = Boot
+ control alt keycode 0x32 = Boot
+# Copier/L6
+keycode 0x33 =
+# Home key, same difference
+keycode 0x34 = Find
+keycode 0x35 = Tab Tab
+ alt keycode 0x35 = Meta_Tab
+keycode 0x36 = a
+ altgr keycode 0x4d = Hex_A
+keycode 0x37 = z
+keycode 0x38 = e
+ altgr keycode 0x38 = Hex_E
+keycode 0x39 = r
+keycode 0x3a = t
+keycode 0x3b = y
+keycode 0x3c = u
+keycode 0x3d = i
+keycode 0x3e = o
+keycode 0x3f = p
+keycode 0x40 = dead_circumflex dead_diaeresis
+ control keycode 0x40 = Escape
+ alt keycode 0x40 = Meta_bracketleft
+keycode 0x41 = dollar sterling currency
+ control keycode 0x41 = Control_bracketright
+ alt keycode 0x41 = Meta_bracketright
+keycode 0x42 = Delete Delete
+ control keycode 0x42 = BackSpace
+ alt keycode 0x43 = Meta_Delete
+ control alt keycode 0x42 = Boot
+keycode 0x43 = Compose
+keycode 0x44 = KP_7
+ alt keycode 0x44 = Ascii_7
+ altgr keycode 0x44 = Hex_7
+keycode 0x45 = KP_8
+ alt keycode 0x45 = Ascii_8
+ altgr keycode 0x45 = Hex_8
+keycode 0x46 = KP_9
+ alt keycode 0x46 = Ascii_9
+ altgr keycode 0x46 = Hex_9
+keycode 0x47 = KP_Subtract
+# Ouvrir/L6
+keycode 0x48 =
+# Coller/L8
+keycode 0x49 =
+keycode 0x4a = Select
+# No key produces 0x4b to my knowledge
+keycode 0x4b =
+keycode 0x4c = Control
+keycode 0x4d = q
+ altgr keycode 0x4d = Hex_A
+keycode 0x4e = s
+keycode 0x4f = d
+ altgr keycode 0x4f = Hex_D
+keycode 0x50 = f
+ altgr keycode 0x50 = Hex_F
+keycode 0x51 = g
+keycode 0x52 = h
+keycode 0x53 = j
+keycode 0x54 = k
+keycode 0x55 = l
+keycode 0x56 = +m +M
+ alt keycode 0x56 = Meta_semicolon
+keycode 0x57 = ugrave percent
+ control keycode 0x57 = Control_g
+ alt keycode 0x57 = Meta_apostrophe
+keycode 0x58 = asterisk mu
+ control keycode 0x58 = Control_backslash
+ alt keycode 0x58 = Meta_backslash
+keycode 0x59 = Return
+ alt keycode 0x59 = Meta_Control_m
+keycode 0x5a = KP_Enter
+keycode 0x5b = KP_4
+ alt keycode 0x5b = Ascii_4
+ altgr keycode 0x5b = Hex_4
+keycode 0x5c = KP_5
+ alt keycode 0x5c = Ascii_5
+ altgr keycode 0x5c = Hex_5
+keycode 0x5d = KP_6
+ alt keycode 0x5d = Ascii_6
+ altgr keycode 0x5d = Hex_6
+keycode 0x5e = KP_0
+ alt keycode 0x5e = Ascii_0
+ altgr keycode 0x5e = Hex_0
+# Cher./L9
+keycode 0x5f =
+keycode 0x60 = Prior
+ shift keycode 0x60 = Scroll_Backward
+# Couper/L10
+keycode 0x61 =
+keycode 0x62 = Num_Lock
+# Linux/i386 console makes no distinction between right/left shift
+# so neither do we.
+keycode 0x63 = Shift
+keycode 0x64 = w
+keycode 0x65 = x
+keycode 0x66 = c
+ altgr keycode 0x66 = Hex_C
+keycode 0x67 = v
+keycode 0x68 = b
+ altgr keycode 0x68 = Hex_B
+keycode 0x69 = n
+keycode 0x6a = comma question
+keycode 0x6b = semicolon period
+ alt keycode 0x6b = Meta_comma
+keycode 0x6c = colon slash
+ control keycode 0x6c = Compose
+ alt keycode 0x6c = Meta_period
+keycode 0x6d = exclam section
+ control keycode 0x6d = Delete
+ alt keycode 0x6d = Meta_slash
+keycode 0x6e = Shift
+keycode 0x6f = Linefeed
+keycode 0x70 = KP_1
+ alt keycode 0x70 = Ascii_1
+ altgr keycode 0x70 = Hex_1
+keycode 0x71 = KP_2
+ alt keycode 0x71 = Ascii_2
+ altgr keycode 0x71 = Hex_2
+keycode 0x72 = KP_3
+ alt keycode 0x72 = Ascii_3
+ altgr keycode 0x72 = Hex_3
+# To my knowledge no key produces 0x73, 0x74, or 0x75
+keycode 0x73 =
+keycode 0x74 =
+keycode 0x75 =
+keycode 0x76 = Help
+keycode 0x77 = Caps_Lock
+# A True Meta-key, unused at this time
+keycode 0x78 =
+keycode 0x79 = space space
+ control keycode 0x79 = nul
+ alt keycode 0x79 = Meta_space
+# Another real Meta-key, again unused
+keycode 0x7a =
+keycode 0x7b = Next
+ shift keycode 0x7b = Scroll_Forward
+keycode 0x7c = less greater
+ alt keycode 0x7c = Meta_less
+keycode 0x7d = KP_Add
+# No keys produce the following
+keycode 0x7e =
+# keycode 0x7f is special and it means 'all keys released' and is
+# taken care of within the sun keyboard driver itself
+keycode 0x7f =
+# That's all folks...
diff --git a/keymaps/sun/sunt5-ja.kmap b/keymaps/sun/sunt5-ja.kmap
new file mode 100644
index 0000000..58090e5
--- /dev/null
+++ b/keymaps/sun/sunt5-ja.kmap
@@ -0,0 +1,281 @@
+# Japanese Sun Type5 keyboard mapping
+# Sat Sep 30 2000, Masato Bito <masato@www.nets.ce.hiroshima-cu.ac.jp>
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+#
+#
+# Stop/L1
+keycode 0x01 =
+# SND_LOWER
+keycode 0x02 =
+# Again/L2
+keycode 0x03 =
+# SND_LOUDER
+keycode 0x04 =
+keycode 0x05 = F1 F11 Console_13
+ control keycode 0x05 = F1
+ alt keycode 0x05 = Console_1
+ control alt keycode 0x05 = Console_1
+keycode 0x06 = F2 F12 Console_14
+ control keycode 0x06 = F2
+ alt keycode 0x06 = Console_2
+ control alt keycode 0x06 = Console_2
+keycode 0x07 = F10 F20 Console_22
+ control keycode 0x07 = F10
+ alt keycode 0x07 = Console_10
+ control alt keycode 0x07 = Console_10
+keycode 0x08 = F3 F13 Console_15
+ control keycode 0x08 = F3
+ alt keycode 0x08 = Console_3
+ control alt keycode 0x08 = Console_3
+keycode 0x09 = F11 F11 Console_23
+ control keycode 0x09 = F11
+ alt keycode 0x09 = Console_11
+ control alt keycode 0x09 = Console_11
+keycode 0x0a = F4 F14 Console_16
+ control keycode 0x0a = F4
+ alt keycode 0x0a = Console_4
+ control alt keycode 0x0a = Console_4
+keycode 0x0b = F12 F12 Console_24
+ control keycode 0x0b = F12
+ alt keycode 0x0b = Console_12
+ control alt keycode 0x0b = Console_12
+keycode 0x0c = F5 F15 Console_17
+ control Keycode 0x0c = F5
+ alt keycode 0x0c = Console_5
+ control alt keycode 0x0c = Console_5
+# kana
+keycode 0x0d = AltGr
+keycode 0x0e = F6 F16 Console_18
+ control keycode 0x0e = F6
+ alt keycode 0x0e = Console_6
+ control alt keycode 0x0e = Console_6
+# BLANK KEY on type 5 keyboards
+keycode 0x0f =
+keycode 0x10 = F7 F17 Console_19
+ control keycode 0x10 = F7
+ alt keycode 0x10 = Console_7
+ control alt keycode 0x10 = Console_7
+keycode 0x11 = F8 F18 Console_20
+ control keycode 0x11 = F8
+ alt keycode 0x11 = Console_8
+ control alt keycode 0x11 = Console_8
+keycode 0x12 = F9 F19 Console_21
+ control keycode 0x12 = F9
+ alt keycode 0x12 = Console_9
+ control alt keycode 0x12 = Console_9
+keycode 0x13 = Alt
+keycode 0x14 = Up
+keycode 0x15 = Pause
+# Print Screen
+keycode 0x16 =
+keycode 0x17 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 0x17 = Show_State
+ alt keycode 0x17 = Scroll_Lock
+keycode 0x18 = Left
+ alt keycode 0x18 = Decr_Console
+# Props/L3
+keycode 0x19 =
+# UNDO/L4
+keycode 0x1a =
+keycode 0x1b = Down
+keycode 0x1c = Right
+ alt keycode 0x1c = Incr_Console
+keycode 0x1d = Escape Escape
+ alt keycode 0x1d = Meta_Escape
+keycode 0x1e = one exclam
+ alt keycode 0x1e = Meta_one
+keycode 0x1f = two quotedbl
+ control keycode 0x1f = Control_g
+ alt keycode 0x1f = Meta_two
+ shift control keycode 0x1f = nul
+keycode 0x20 = three numbersign
+ control keycode 0x20 = Escape
+ alt keycode 0x20 = Meta_three
+keycode 0x21 = four dollar dollar
+ control keycode 0x21 = Control_backslash
+ alt keycode 0x21 = Meta_four
+keycode 0x22 = five percent
+ control keycode 0x22 = Control_bracketright
+ alt keycode 0x22 = Meta_five
+keycode 0x23 = six ampersand
+ control keycode 0x23 = Control_underscore
+ alt keycode 0x23 = Meta_six
+keycode 0x24 = seven apostrophe braceleft
+ alt keycode 0x24 = Meta_seven
+keycode 0x25 = eight parenleft bracketleft
+ control keycode 0x25 = Delete
+ alt keycode 0x25 = Meta_eight
+keycode 0x26 = nine parenright bracketright
+ alt keycode 0x26 = Meta_nine
+keycode 0x27 = zero asciitilde braceright
+ alt keycode 0x27 = Meta_zero
+keycode 0x28 = minus equal backslash
+ alt keycode 0x28 = Meta_minus
+keycode 0x29 = asciicircum asciitilde
+ control keycode 0x29 = Control_asciicircum
+ alt keycode 0x29 = Meta_asciicircum
+keycode 0x2a = backslash bar
+ control keycode 0x2a = Control_backslash
+ alt keycode 0x2a = Meta_backslash
+# Is marked as BackSpace but we define it as delete just like the i386
+# keyboard maps does
+keycode 0x2b = Delete Delete
+ control keycode 0x2b = BackSpace
+ alt keycode 0x2b = Meta_Delete
+keycode 0x2c = Insert
+# This is really keypad = on type 4 keyboards
+keycode 0x2d = equal
+keycode 0x2e = KP_Divide
+keycode 0x2f = KP_Multiply
+# Power ON/OFF key on type 5 keyboard
+keycode 0x30 =
+# FRONT/L5
+keycode 0x31 =
+keycode 0x32 = KP_Period
+# altgr control keycode 0x32 = Boot
+ control alt keycode 0x32 = Boot
+# COPY/L6
+keycode 0x33 =
+# Home key, same difference
+keycode 0x34 = Find
+keycode 0x35 = Tab Tab
+ alt keycode 0x35 = Meta_Tab
+keycode 0x36 = q
+keycode 0x37 = w
+keycode 0x38 = e
+ altgr keycode 0x38 = Hex_E
+keycode 0x39 = r
+keycode 0x3a = t
+keycode 0x3b = y
+keycode 0x3c = u
+keycode 0x3d = i
+keycode 0x3e = o
+keycode 0x3f = p
+keycode 0x40 = at grave
+ alt keycode 0x40 = Meta_grave
+keycode 0x41 = bracketleft braceleft
+ control keycode 0x41 = Escape
+ alt keycode 0x41 = Meta_bracketleft
+keycode 0x42 = Remove Remove
+ control alt keycode 0x42 = Boot
+keycode 0x43 = Compose
+keycode 0x44 = KP_7
+ alt keycode 0x44 = Ascii_7
+ altgr keycode 0x44 = Hex_7
+keycode 0x45 = KP_8
+ alt keycode 0x45 = Ascii_8
+ altgr keycode 0x45 = Hex_8
+keycode 0x46 = KP_9
+ alt keycode 0x46 = Ascii_9
+ altgr keycode 0x46 = Hex_9
+keycode 0x47 = KP_Subtract
+# OPEN/L6
+keycode 0x48 =
+# PASTE/L8
+keycode 0x49 =
+keycode 0x4a = Select
+# No key produces 0x4b to my knowledge
+keycode 0x4b =
+keycode 0x4c = Control
+keycode 0x4d = a
+ altgr keycode 0x4d = Hex_A
+keycode 0x4e = s
+keycode 0x4f = d
+ altgr keycode 0x4f = Hex_D
+keycode 0x50 = f
+ altgr keycode 0x50 = Hex_F
+keycode 0x51 = g
+keycode 0x52 = h
+keycode 0x53 = j
+keycode 0x54 = k
+keycode 0x55 = l
+keycode 0x56 = semicolon plus
+ alt keycode 0x56 = Meta_semicolon
+keycode 0x57 = colon asterisk
+keycode 0x58 = bracketright braceright asciitilde
+ control keycode 0x58 = Control_bracketright
+ alt keycode 0x58 = Meta_bracketright
+keycode 0x59 = Return
+ alt keycode 0x59 = Meta_Control_m
+keycode 0x5a = KP_Enter
+keycode 0x5b = KP_4
+ alt keycode 0x5b = Ascii_4
+ altgr keycode 0x5b = Hex_4
+keycode 0x5c = KP_5
+ alt keycode 0x5c = Ascii_5
+ altgr keycode 0x5c = Hex_5
+keycode 0x5d = KP_6
+ alt keycode 0x5d = Ascii_6
+ altgr keycode 0x5d = Hex_6
+keycode 0x5e = KP_0
+ alt keycode 0x5e = Ascii_0
+ altgr keycode 0x5e = Hex_0
+# FIND/L9
+keycode 0x5f =
+keycode 0x60 = Prior
+ shift keycode 0x60 = Scroll_Backward
+# CUT/L10
+keycode 0x61 =
+keycode 0x62 = Num_Lock
+# Linux/i386 console makes no distinction between right/left shift
+# so neither do we.
+keycode 0x63 = Shift
+keycode 0x64 = z
+keycode 0x65 = x
+keycode 0x66 = c
+ altgr keycode 0x66 = Hex_C
+keycode 0x67 = v
+keycode 0x68 = b
+ altgr keycode 0x68 = Hex_B
+keycode 0x69 = n
+keycode 0x6a = m
+keycode 0x6b = comma less
+ alt keycode 0x6b = Meta_comma
+keycode 0x6c = period greater
+ control keycode 0x6c = Compose
+ alt keycode 0x6c = Meta_period
+keycode 0x6d = slash question
+ control keycode 0x6d = Delete
+ alt keycode 0x6d = Meta_slash
+keycode 0x6e = Shift
+#keycode 0x6f = Linefeed
+keycode 0x6f = backslash underscore
+ control keycode 0x6f = Control_backslash
+ alt keycode 0x6f = Meta_backslash
+ shift control keycode 0x6f = Control_underscore
+keycode 0x70 = KP_1
+ alt keycode 0x70 = Ascii_1
+ altgr keycode 0x70 = Hex_1
+keycode 0x71 = KP_2
+ alt keycode 0x71 = Ascii_2
+ altgr keycode 0x71 = Hex_2
+keycode 0x72 = KP_3
+ alt keycode 0x72 = Ascii_3
+ altgr keycode 0x72 = Hex_3
+# kakutei
+keycode 0x73 =
+# henkan
+keycode 0x74 =
+# nihongo On-Off
+keycode 0x75 =
+keycode 0x76 = Help
+keycode 0x77 = Caps_Lock
+# A True Meta-key, unused at this time
+keycode 0x78 =
+keycode 0x79 = space space
+ control keycode 0x79 = nul
+ alt keycode 0x79 = Meta_space
+# Another real Meta-key, again unused
+keycode 0x7a =
+keycode 0x7b = Next
+ shift keycode 0x7b = Scroll_Forward
+# No keys produce the following
+keycode 0x7c =
+keycode 0x7d = KP_Add
+keycode 0x7e =
+# keycode 0x7f is special and it means 'all keys released' and is
+# taken care of within the sun keyboard driver itself
+keycode 0x7f =
+# That's all folks...
diff --git a/keymaps/sun/sunt5-no.kmap b/keymaps/sun/sunt5-no.kmap
new file mode 100644
index 0000000..83cc969
--- /dev/null
+++ b/keymaps/sun/sunt5-no.kmap
@@ -0,0 +1,282 @@
+# Keyboard map for the Sun Type4/Type5 keyboards
+# found on SparcStations
+keymaps 0-2,4-5,8,12
+strings as usual
+compose as usual for "iso-8859-1"
+#
+#
+# Stop/L1
+keycode 0x01 =
+# SND_LOWER
+keycode 0x02 =
+# Again/L2
+keycode 0x03 =
+# SND_LOUDER
+keycode 0x04 =
+keycode 0x05 = F1 F11 Console_13
+ control keycode 0x05 = F1
+ alt keycode 0x05 = Console_1
+ control alt keycode 0x05 = Console_1
+keycode 0x06 = F2 F12 Console_14
+ control keycode 0x06 = F2
+ alt keycode 0x06 = Console_2
+ control alt keycode 0x06 = Console_2
+keycode 0x07 = F10 F20 Console_22
+ control keycode 0x07 = F10
+ alt keycode 0x07 = Console_10
+ control alt keycode 0x07 = Console_10
+keycode 0x08 = F3 F13 Console_15
+ control keycode 0x08 = F3
+ alt keycode 0x08 = Console_3
+ control alt keycode 0x08 = Console_3
+keycode 0x09 = F11 F11 Console_23
+ control keycode 0x09 = F11
+ alt keycode 0x09 = Console_11
+ control alt keycode 0x09 = Console_11
+keycode 0x0a = F4 F14 Console_16
+ control keycode 0x0a = F4
+ alt keycode 0x0a = Console_4
+ control alt keycode 0x0a = Console_4
+keycode 0x0b = F12 F12 Console_24
+ control keycode 0x0b = F12
+ alt keycode 0x0b = Console_12
+ control alt keycode 0x0b = Console_12
+keycode 0x0c = F5 F15 Console_17
+ control Keycode 0x0c = F5
+ alt keycode 0x0c = Console_5
+ control alt keycode 0x0c = Console_5
+keycode 0x0d = AltGr
+keycode 0x0e = F6 F16 Console_18
+ control keycode 0x0e = F6
+ alt keycode 0x0e = Console_6
+ control alt keycode 0x0e = Console_6
+# BLANK KEY on type 5 keyboards
+keycode 0x0f =
+keycode 0x10 = F7 F17 Console_19
+ control keycode 0x10 = F7
+ alt keycode 0x10 = Console_7
+ control alt keycode 0x10 = Console_7
+keycode 0x11 = F8 F18 Console_20
+ control keycode 0x11 = F8
+ alt keycode 0x11 = Console_8
+ control alt keycode 0x11 = Console_8
+keycode 0x12 = F9 F19 Console_21
+ control keycode 0x12 = F9
+ alt keycode 0x12 = Console_9
+ control alt keycode 0x12 = Console_9
+keycode 0x13 = Alt
+keycode 0x14 = Up
+keycode 0x15 = Pause
+# Print Screen
+keycode 0x16 =
+keycode 0x17 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 0x17 = Show_State
+ alt keycode 0x17 = Scroll_Lock
+keycode 0x18 = Left
+ alt keycode 0x18 = Decr_Console
+# Props/L3
+keycode 0x19 =
+# UNDO/L4
+keycode 0x1a =
+keycode 0x1b = Down
+keycode 0x1c = Right
+ alt keycode 0x1c = Incr_Console
+keycode 0x1d = Escape Escape
+ alt keycode 0x1d = Meta_Escape
+keycode 0x1e = one exclam
+ alt keycode 0x1e = Meta_one
+keycode 0x1f = two quotedbl at
+ control keycode 0x1f = nul
+ shift control keycode 0x1f = nul
+ alt keycode 0x1f = Meta_two
+keycode 0x20 = three numbersign pound
+ control keycode 0x20 = Escape
+ alt keycode 0x20 = Meta_three
+keycode 0x21 = four currency dollar onequarter
+ control keycode 0x21 = Control_backslash
+ alt keycode 0x21 = Meta_four
+keycode 0x22 = five percent asciitilde
+ control keycode 0x22 = Control_bracketright
+ alt keycode 0x22 = Meta_five
+keycode 0x23 = six ampersand asciicircum
+ control keycode 0x23 = Control_asciicircum
+ alt keycode 0x23 = Meta_six
+keycode 0x24 = seven slash braceleft
+ control keycode 0x24 = Control_underscore
+ alt keycode 0x24 = Meta_seven
+keycode 0x25 = eight parenleft bracketleft
+ control keycode 0x25 = Delete
+ alt keycode 0x25 = Meta_eight
+keycode 0x26 = nine parenright bracketright
+ alt keycode 0x26 = Meta_nine
+keycode 0x27 = zero equal braceright
+ alt keycode 0x27 = Meta_zero
+keycode 0x28 = plus question plusminus
+ control keycode 0x28 = Control_underscore
+ shift control keycode 0x28 = Control_underscore
+ alt keycode 0x28 = Meta_minus
+keycode 0x29 = backslash dead_grave dead_acute
+ alt keycode 0x29 = Meta_equal
+keycode 0x2a = bar section brokenbar paragraph
+ control keycode 0x2a = nul
+ alt keycode 0x2a = Meta_grave
+# Is marked as BackSpace but we define it as delete just like the i386
+# keyboard maps does
+keycode 0x2b = Delete Delete
+ control keycode 0x2b = BackSpace
+ alt keycode 0x2b = Meta_Delete
+keycode 0x2c = Insert
+# This is really keypad = on type 4 keyboards
+keycode 0x2d = equal
+keycode 0x2e = KP_Divide
+keycode 0x2f = KP_Multiply
+# Power ON/OFF key on type 5 keyboard
+keycode 0x30 =
+# FRONT/L5
+keycode 0x31 =
+keycode 0x32 = KP_Period
+# altgr control keycode 0x32 = Boot
+ control alt keycode 0x32 = Boot
+# COPY/L6
+keycode 0x33 =
+# Home key, same difference
+keycode 0x34 = Find
+keycode 0x35 = Tab Tab
+ alt keycode 0x35 = Meta_Tab
+keycode 0x36 = q
+keycode 0x37 = w
+keycode 0x38 = e
+ altgr keycode 0x38 = Hex_E
+keycode 0x39 = r
+keycode 0x3a = t
+keycode 0x3b = y
+keycode 0x3c = u
+keycode 0x3d = i
+keycode 0x3e = o
+keycode 0x3f = p
+keycode 0x40 = aring Aring
+ control keycode 0x40 = Escape
+ alt keycode 0x40 = Meta_bracketleft
+keycode 0x41 = dead_diaeresis dead_circumflex dead_tilde
+ control keycode 0x41 = Control_bracketright
+ alt keycode 0x41 = Meta_bracketright
+keycode 0x42 = Delete Delete
+ control keycode 0x42 = BackSpace
+ alt keycode 0x43 = Meta_Delete
+ control alt keycode 0x42 = Boot
+keycode 0x43 = Compose
+keycode 0x44 = KP_7
+ alt keycode 0x44 = Ascii_7
+ altgr keycode 0x44 = Hex_7
+keycode 0x45 = KP_8
+ alt keycode 0x45 = Ascii_8
+ altgr keycode 0x45 = Hex_8
+keycode 0x46 = KP_9
+ alt keycode 0x46 = Ascii_9
+ altgr keycode 0x46 = Hex_9
+keycode 0x47 = KP_Subtract
+# OPEN/L6
+keycode 0x48 =
+# PASTE/L8
+keycode 0x49 =
+keycode 0x4a = Select
+# No key produces 0x4b to my knowledge
+keycode 0x4b =
+keycode 0x4c = Control
+keycode 0x4d = a
+ altgr keycode 0x4d = Hex_A
+keycode 0x4e = s
+keycode 0x4f = d
+ altgr keycode 0x4f = Hex_D
+keycode 0x50 = f
+ altgr keycode 0x50 = Hex_F
+keycode 0x51 = g
+keycode 0x52 = h
+keycode 0x53 = j
+keycode 0x54 = k
+keycode 0x55 = l
+keycode 0x56 = oslash Oslash
+ alt keycode 0x56 = Meta_semicolon
+keycode 0x57 = ae AE
+ control keycode 0x57 = Control_g
+ alt keycode 0x57 = Meta_apostrophe
+keycode 0x58 = apostrophe asterisk grave
+ control keycode 0x58 = Control_backslash
+ alt keycode 0x58 = Meta_backslash
+keycode 0x59 = Return
+ alt keycode 0x59 = Meta_Control_m
+keycode 0x5a = KP_Enter
+keycode 0x5b = KP_4
+ alt keycode 0x5b = Ascii_4
+ altgr keycode 0x5b = Hex_4
+keycode 0x5c = KP_5
+ alt keycode 0x5c = Ascii_5
+ altgr keycode 0x5c = Hex_5
+keycode 0x5d = KP_6
+ alt keycode 0x5d = Ascii_6
+ altgr keycode 0x5d = Hex_6
+keycode 0x5e = KP_0
+ alt keycode 0x5e = Ascii_0
+ altgr keycode 0x5e = Hex_0
+# FIND/L9
+keycode 0x5f =
+keycode 0x60 = Prior
+ shift keycode 0x60 = Scroll_Backward
+# CUT/L10
+keycode 0x61 =
+keycode 0x62 = Num_Lock
+# Linux/i386 console makes no distinction between right/left shift
+# so neither do we.
+keycode 0x63 = Shift
+keycode 0x64 = z
+keycode 0x65 = x
+keycode 0x66 = c
+ altgr keycode 0x66 = Hex_C
+keycode 0x67 = v
+keycode 0x68 = b
+ altgr keycode 0x68 = Hex_B
+keycode 0x69 = n
+keycode 0x6a = m
+keycode 0x6b = comma semicolon
+ alt keycode 0x6b = Meta_comma
+keycode 0x6c = period colon
+ control keycode 0x6c = Compose
+ alt keycode 0x6c = Meta_period
+keycode 0x6d = minus underscore
+ control keycode 0x6d = Delete
+ alt keycode 0x6d = Meta_slash
+keycode 0x6e = Shift
+keycode 0x6f = Linefeed
+keycode 0x70 = KP_1
+ alt keycode 0x70 = Ascii_1
+ altgr keycode 0x70 = Hex_1
+keycode 0x71 = KP_2
+ alt keycode 0x71 = Ascii_2
+ altgr keycode 0x71 = Hex_2
+keycode 0x72 = KP_3
+ alt keycode 0x72 = Ascii_3
+ altgr keycode 0x72 = Hex_3
+# To my knowledge no key produces 0x73, 0x74, or 0x75
+keycode 0x73 =
+keycode 0x74 =
+keycode 0x75 =
+keycode 0x76 = Help
+keycode 0x77 = Caps_Lock
+# A True Meta-key, unused at this time
+keycode 0x78 =
+keycode 0x79 = space space
+ control keycode 0x79 = nul
+ Alt keycode 0x79 = Meta_space
+# Another real Meta-key, again unused
+keycode 0x7a =
+keycode 0x7b = Next
+ shift keycode 0x7b = Scroll_Forward
+# No keys produce the following
+keycode 0x7c = less greater
+keycode 0x7d = KP_Add
+keycode 0x7e =
+# keycode 0x7f is special and it means 'all keys released' and is
+# taken care of within the sun keyboard driver itself
+keycode 0x7f =
+# That's all folks...
+
diff --git a/keymaps/sun/sunt5-ru.kmap b/keymaps/sun/sunt5-ru.kmap
new file mode 100644
index 0000000..f217b4e
--- /dev/null
+++ b/keymaps/sun/sunt5-ru.kmap
@@ -0,0 +1,383 @@
+# Russian keyboard layout for Type4/5 Sun keyboards
+# Written by Alexander V. Lukyanov <lav@yars.free.net>
+# Version 1.0
+#
+# Uses KOI8-R coding without 'jo'
+#
+keymaps 0-6,8,10,12,14
+keycode 1 =
+keycode 2 =
+keycode 3 =
+keycode 4 =
+keycode 5 = F1
+ shift keycode 5 = F11
+ alt keycode 5 = Console_1
+ control alt keycode 5 = Console_1
+ altgr shift keycode 5 = F11
+ altgr alt keycode 5 = Console_1
+ altgr control alt keycode 5 = Console_1
+keycode 6 = F2
+ shift keycode 6 = F12
+ alt keycode 6 = Console_2
+ control alt keycode 6 = Console_2
+ altgr shift keycode 6 = F12
+ altgr alt keycode 6 = Console_2
+ altgr control alt keycode 6 = Console_2
+keycode 7 = F10
+ shift keycode 7 = F20
+ alt keycode 7 = Console_10
+ control alt keycode 7 = Console_10
+ altgr shift keycode 7 = F20
+ altgr alt keycode 7 = Console_10
+ altgr control alt keycode 7 = Console_10
+keycode 8 = F3
+ shift keycode 8 = F13
+ alt keycode 8 = Console_3
+ control alt keycode 8 = Console_3
+ altgr shift keycode 8 = F13
+ altgr alt keycode 8 = Console_3
+ altgr control alt keycode 8 = Console_3
+keycode 9 = F11
+ alt keycode 9 = Console_11
+ control alt keycode 9 = Console_11
+ altgr alt keycode 9 = Console_11
+ altgr control alt keycode 9 = Console_11
+keycode 10 = F4
+ shift keycode 10 = F14
+ alt keycode 10 = Console_4
+ control alt keycode 10 = Console_4
+ altgr shift keycode 10 = F14
+ altgr alt keycode 10 = Console_4
+ altgr control alt keycode 10 = Console_4
+keycode 11 = F12
+ alt keycode 11 = Console_12
+ control alt keycode 11 = Console_12
+ altgr alt keycode 11 = Console_12
+ altgr control alt keycode 11 = Console_12
+keycode 12 = F5
+ shift keycode 12 = F15
+ alt keycode 12 = Console_5
+ control alt keycode 12 = Console_5
+ altgr shift keycode 12 = F15
+ altgr alt keycode 12 = Console_5
+ altgr control alt keycode 12 = Console_5
+keycode 13 = AltGr_Lock
+keycode 14 = F6
+ shift keycode 14 = F16
+ alt keycode 14 = Console_6
+ control alt keycode 14 = Console_6
+ altgr shift keycode 14 = F16
+ altgr alt keycode 14 = Console_6
+ altgr control alt keycode 14 = Console_6
+keycode 15 =
+keycode 16 = F7
+ shift keycode 16 = F17
+ alt keycode 16 = Console_7
+ control alt keycode 16 = Console_7
+ altgr shift keycode 16 = F17
+ altgr alt keycode 16 = Console_7
+ altgr control alt keycode 16 = Console_7
+keycode 17 = F8
+ shift keycode 17 = F18
+ alt keycode 17 = Console_8
+ control alt keycode 17 = Console_8
+ altgr shift keycode 17 = F18
+ altgr alt keycode 17 = Console_8
+ altgr control alt keycode 18 = Console_8
+keycode 18 = F9
+ shift keycode 18 = F19
+ alt keycode 18 = Console_9
+ control alt keycode 18 = Console_9
+ altgr shift keycode 18 = F19
+ altgr alt keycode 18 = Console_9
+ altgr control alt keycode 18 = Console_9
+keycode 19 = Alt
+keycode 20 = Up
+keycode 21 = Pause
+keycode 22 =
+keycode 23 = Scroll_Lock Show_Memory Show_Registers Show_State
+ alt keycode 23 = Scroll_Lock
+keycode 24 = Left
+ alt keycode 24 = Decr_Console
+ altgr alt keycode 24 = Decr_Console
+keycode 25 =
+keycode 26 =
+keycode 27 = Down
+keycode 28 = Right
+ alt keycode 28 = Incr_Console
+ altgr alt keycode 28 = Incr_Console
+keycode 29 = Escape
+ alt keycode 29 = Meta_Escape
+ altgr alt keycode 29 = Meta_Escape
+keycode 30 = one exclam one exclam
+ alt keycode 30 = Meta_one
+ altgr alt keycode 30 = Meta_one
+keycode 31 = two at two at
+ control keycode 31 = nul
+ alt keycode 31 = Meta_two
+ altgr control keycode 31 = nul
+ altgr alt keycode 31 = Meta_two
+keycode 32 = three numbersign three numbersign
+ control keycode 32 = Escape
+ alt keycode 32 = Meta_three
+ altgr control keycode 32 = Escape
+ altgr alt keycode 32 = Meta_three
+keycode 33 = four dollar four dollar
+ control keycode 33 = Control_backslash
+ alt keycode 33 = Meta_four
+ altgr control keycode 33 = Control_backslash
+ altgr alt keycode 33 = Meta_four
+keycode 34 = five percent five colon
+ control keycode 34 = Control_bracketright
+ alt keycode 34 = Meta_five
+ altgr control keycode 34 = Control_bracketright
+ altgr alt keycode 34 = Meta_five
+keycode 35 = six asciicircum six comma
+ control keycode 35 = Control_asciicircum
+ alt keycode 35 = Meta_six
+ altgr control keycode 35 = Control_asciicircum
+ altgr alt keycode 35 = Meta_six
+keycode 36 = seven ampersand seven period
+ control keycode 36 = Control_underscore
+ alt keycode 36 = Meta_seven
+ altgr alt keycode 36 = Meta_seven
+keycode 37 = eight asterisk eight semicolon
+ control keycode 37 = Delete
+ alt keycode 37 = Meta_eight
+ altgr control keycode 37 = Delete
+ altgr alt keycode 37 = Meta_eight
+keycode 38 = nine parenleft nine parenleft
+ alt keycode 38 = Meta_nine
+ altgr alt keycode 38 = Meta_nine
+keycode 39 = zero parenright zero parenright
+ alt keycode 39 = Meta_zero
+ altgr alt keycode 39 = Meta_zero
+keycode 40 = minus underscore minus underscore
+ control keycode 40 = Control_underscore
+ alt keycode 40 = Meta_minus
+ altgr control keycode 40 = Control_underscore
+ altgr alt keycode 40 = Meta_minus
+keycode 41 = equal plus equal plus
+ alt keycode 41 = Meta_equal
+ altgr alt keycode 41 = Meta_equal
+keycode 42 = grave asciitilde grave asciitilde
+ control keycode 42 = nul
+ alt keycode 42 = Meta_grave
+ altgr control keycode 42 = nul
+ altgr alt keycode 42 = Meta_grave
+keycode 43 = Delete Delete Delete Delete
+ control keycode 43 = BackSpace
+ alt keycode 43 = Meta_Delete
+ altgr control keycode 43 = BackSpace
+ altgr alt keycode 43 = Meta_Delete
+keycode 44 = Insert
+keycode 45 = equal
+keycode 46 = KP_Divide
+keycode 47 = KP_Multiply
+keycode 48 =
+keycode 49 =
+keycode 50 = KP_Period
+ control alt keycode 50 = Boot
+ altgr control alt keycode 50 = Boot
+keycode 51 =
+keycode 52 = Find
+keycode 53 = Tab Tab
+ alt keycode 53 = Meta_Tab
+ altgr alt keycode 53 = Meta_Tab
+keycode 54 = q
+ altgr keycode 54 = +0xCA
+ altgr shift keycode 54 = +0xEA
+keycode 55 = w
+ altgr keycode 55 = +0xC3
+ altgr shift keycode 55 = +0xE3
+keycode 56 = e
+ altgr keycode 56 = +0xD5
+ altgr shift keycode 56 = +0xF5
+keycode 57 = r
+ altgr keycode 57 = +0xCB
+ altgr shift keycode 57 = +0xEB
+keycode 58 = t
+ altgr keycode 58 = +0xC5
+ altgr shift keycode 58 = +0xE5
+keycode 59 = y
+ altgr keycode 59 = +0xCE
+ altgr shift keycode 59 = +0xEE
+keycode 60 = u
+ altgr keycode 60 = +0xC7
+ altgr shift keycode 60 = +0xE7
+keycode 61 = i
+ altgr keycode 61 = +0xDB
+ altgr shift keycode 61 = +0xFB
+keycode 62 = o
+ altgr keycode 62 = +0xDD
+ altgr shift keycode 62 = +0xFD
+keycode 63 = p
+ altgr keycode 63 = +0xDA
+ altgr shift keycode 63 = +0xFA
+keycode 64 = bracketleft braceleft
+ control keycode 64 = Escape
+ alt keycode 64 = Meta_bracketleft
+ altgr control keycode 64 = Escape
+ altgr alt keycode 64 = Meta_bracketleft
+ altgr keycode 64 = +0xC8
+ altgr shift keycode 64 = +0xE8
+keycode 65 = bracketright braceright
+ control keycode 65 = Control_bracketright
+ alt keycode 65 = Meta_bracketright
+ altgr control keycode 65 = Control_bracketright
+ altgr alt keycode 65 = Meta_bracketright
+ altgr keycode 65 = +0xDF
+ altgr shift keycode 65 = +0xFF
+keycode 66 = Remove
+ control alt keycode 66 = Boot
+ altgr control alt keycode 66 = Boot
+keycode 67 =
+keycode 68 = KP_7
+ alt keycode 68 = Ascii_7
+ altgr alt keycode 68 = Ascii_7
+keycode 69 = KP_8
+ alt keycode 69 = Ascii_8
+ altgr alt keycode 69 = Ascii_8
+keycode 70 = KP_9
+ alt keycode 70 = Ascii_9
+ altgr alt keycode 70 = Ascii_9
+keycode 71 = KP_Subtract
+keycode 72 =
+keycode 73 =
+keycode 74 = Select
+keycode 75 =
+keycode 76 = Control
+keycode 77 = a
+ altgr keycode 77 = +0xC6
+ altgr shift keycode 77 = +0xE6
+keycode 78 = s
+ altgr keycode 78 = +0xD9
+ altgr shift keycode 78 = +0xF9
+keycode 79 = d
+ altgr keycode 79 = +0xD7
+ altgr shift keycode 79 = +0xF7
+keycode 80 = f
+ altgr keycode 80 = +0xC1
+ altgr shift keycode 80 = +0xE1
+keycode 81 = g
+ altgr keycode 81 = +0xD0
+ altgr shift keycode 81 = +0xF0
+keycode 82 = h
+ altgr keycode 82 = +0xD2
+ altgr shift keycode 82 = +0xF2
+keycode 83 = j
+ altgr keycode 83 = +0xCF
+ altgr shift keycode 83 = +0xEF
+keycode 84 = k
+ altgr keycode 84 = +0xCC
+ altgr shift keycode 84 = +0xEC
+keycode 85 = l
+ altgr keycode 85 = +0xC4
+ altgr shift keycode 85 = +0xE4
+keycode 86 = semicolon colon
+ alt keycode 86 = Meta_semicolon
+ altgr alt keycode 86 = Meta_semicolon
+ altgr keycode 86 = +0xD6
+ altgr shift keycode 86 = +0xF6
+keycode 87 = apostrophe quotedbl
+ control keycode 87 = Control_g
+ alt keycode 87 = Meta_apostrophe
+ altgr control keycode 87 = Control_g
+ altgr alt keycode 87 = Meta_apostrophe
+ altgr keycode 87 = +0xDC
+ altgr shift keycode 87 = +0xFC
+keycode 88 = backslash bar backslash bar
+ control keycode 88 = Control_backslash
+ alt keycode 88 = Meta_backslash
+ altgr control keycode 88 = Control_backslash
+ altgr alt keycode 88 = Meta_backslash
+keycode 89 = Return
+ alt keycode 89 = Meta_Control_m
+ altgr alt keycode 89 = Meta_Control_m
+keycode 90 = KP_Enter
+keycode 91 = KP_4
+ alt keycode 91 = Ascii_4
+ altgr alt keycode 91 = Ascii_4
+keycode 92 = KP_5
+ alt keycode 92 = Ascii_5
+ altgr alt keycode 92 = Ascii_5
+keycode 93 = KP_6
+ alt keycode 93 = Ascii_6
+ altgr alt keycode 93 = Ascii_6
+keycode 94 = KP_0
+ alt keycode 94 = Ascii_0
+ altgr alt keycode 94 = Ascii_0
+keycode 95 =
+keycode 96 = Prior
+ shift keycode 96 = Scroll_Backward
+ altgr shift keycode 96 = Scroll_Backward
+keycode 97 =
+keycode 98 = Num_Lock
+keycode 99 = Shift
+keycode 100 = z
+ altgr keycode 100 = +0xD1
+ altgr shift keycode 100 = +0xF1
+keycode 101 = x
+ altgr keycode 101 = +0xDE
+ altgr shift keycode 101 = +0xFE
+keycode 102 = c
+ altgr keycode 102 = +0xD3
+ altgr shift keycode 102 = +0xF3
+keycode 103 = v
+ altgr keycode 103 = +0xCD
+ altgr shift keycode 103 = +0xED
+keycode 104 = b
+ altgr keycode 104 = +0xC9
+ altgr shift keycode 104 = +0xE9
+keycode 105 = n
+ altgr keycode 105 = +0xD4
+ altgr shift keycode 105 = +0xF4
+keycode 106 = m
+ altgr keycode 106 = +0xD8
+ altgr shift keycode 106 = +0xF8
+keycode 107 = comma less
+ alt keycode 107 = Meta_comma
+ altgr alt keycode 107 = Meta_comma
+ altgr keycode 107 = +0xC2
+ altgr shift keycode 107 = +0xE2
+keycode 108 = period greater
+# control keycode 108 = Compose
+ alt keycode 108 = Meta_period
+ altgr alt keycode 108 = Meta_period
+ altgr keycode 108 = +0xC0
+ altgr shift keycode 108 = +0xE0
+keycode 109 = slash question slash question
+ control keycode 109 = Delete
+ alt keycode 109 = Meta_slash
+ altgr control keycode 109 = Delete
+ altgr alt keycode 109 = Meta_slash
+keycode 110 = Shift
+keycode 111 = Linefeed
+keycode 112 = KP_1
+ alt keycode 112 = Ascii_1
+ altgr alt keycode 112 = Ascii_1
+keycode 113 = KP_2
+ alt keycode 113 = Ascii_2
+ altgr alt keycode 113 = Ascii_2
+keycode 114 = KP_3
+ alt keycode 114 = Ascii_3
+ altgr alt keycode 114 = Ascii_3
+keycode 115 =
+keycode 116 =
+keycode 117 =
+keycode 118 = Help
+keycode 119 = Caps_Lock
+keycode 120 =
+keycode 121 = space
+ control keycode 121 = nul
+ alt keycode 121 = Meta_space
+ altgr control keycode 121 = nul
+ altgr alt keycode 121 = Meta_space
+keycode 122 =
+keycode 123 = Next
+ shift keycode 123 = Scroll_Forward
+ altgr shift keycode 123 = Scroll_Forward
+keycode 124 =
+keycode 125 = KP_Add
+keycode 126 =
+keycode 127 =
diff --git a/keymaps/sun/sunt5-trqalt.kmap b/keymaps/sun/sunt5-trqalt.kmap
new file mode 100644
index 0000000..be9b400
--- /dev/null
+++ b/keymaps/sun/sunt5-trqalt.kmap
@@ -0,0 +1,295 @@
+# PC-like Turkish layout. Turkish letters as in Turkish Q keyboard,
+# accessible via AltGr. Encoding Latin5.
+#
+# Baurjan Ismagulov <ibr@ata.cs.hun.edu.tr>
+
+charset "iso-8859-9"
+keymaps 0-15
+strings as usual
+compose as usual for "iso-8859-1"
+
+# Stop/L1
+keycode 0x01 =
+# SND_LOWER
+keycode 0x02 =
+# Again/L2
+keycode 0x03 =
+# SND_LOUDER
+keycode 0x04 =
+keycode 0x05 = F1 F11 Console_13
+ control keycode 0x05 = F1
+ alt keycode 0x05 = Console_1
+ control alt keycode 0x05 = Console_1
+keycode 0x06 = F2 F12 Console_14
+ control keycode 0x06 = F2
+ alt keycode 0x06 = Console_2
+ control alt keycode 0x06 = Console_2
+keycode 0x07 = F10 F20 Console_22
+ control keycode 0x07 = F10
+ alt keycode 0x07 = Console_10
+ control alt keycode 0x07 = Console_10
+keycode 0x08 = F3 F13 Console_15
+ control keycode 0x08 = F3
+ alt keycode 0x08 = Console_3
+ control alt keycode 0x08 = Console_3
+keycode 0x09 = F11 F11 Console_23
+ control keycode 0x09 = F11
+ alt keycode 0x09 = Console_11
+ control alt keycode 0x09 = Console_11
+keycode 0x0a = F4 F14 Console_16
+ control keycode 0x0a = F4
+ alt keycode 0x0a = Console_4
+ control alt keycode 0x0a = Console_4
+keycode 0x0b = F12 F12 Console_24
+ control keycode 0x0b = F12
+ alt keycode 0x0b = Console_12
+ control alt keycode 0x0b = Console_12
+keycode 0x0c = F5 F15 Console_17
+ control Keycode 0x0c = F5
+ alt keycode 0x0c = Console_5
+ control alt keycode 0x0c = Console_5
+# AltGr
+keycode 0x0d = Control
+keycode 0x0e = F6 F16 Console_18
+ control keycode 0x0e = F6
+ alt keycode 0x0e = Console_6
+ control alt keycode 0x0e = Console_6
+# BLANK KEY on type 5 keyboards
+keycode 0x0f =
+keycode 0x10 = F7 F17 Console_19
+ control keycode 0x10 = F7
+ alt keycode 0x10 = Console_7
+ control alt keycode 0x10 = Console_7
+keycode 0x11 = F8 F18 Console_20
+ control keycode 0x11 = F8
+ alt keycode 0x11 = Console_8
+ control alt keycode 0x11 = Console_8
+keycode 0x12 = F9 F19 Console_21
+ control keycode 0x12 = F9
+ alt keycode 0x12 = Console_9
+ control alt keycode 0x12 = Console_9
+keycode 0x13 = Alt
+keycode 0x14 = Up
+keycode 0x15 = Pause
+# Print Screen
+keycode 0x16 =
+keycode 0x17 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 0x17 = Show_State
+ alt keycode 0x17 = Scroll_Lock
+keycode 0x18 = Left
+ alt keycode 0x18 = Decr_Console
+# Props/L3
+keycode 0x19 =
+# UNDO/L4
+keycode 0x1a =
+keycode 0x1b = Down
+keycode 0x1c = Right
+ alt keycode 0x1c = Incr_Console
+keycode 0x1d = Escape Escape
+ alt keycode 0x1d = Meta_Escape
+keycode 0x1e = one exclam
+ alt keycode 0x1e = Meta_one
+keycode 0x1f = two at at
+ control keycode 0x1f = nul
+ shift control keycode 0x1f = nul
+ alt keycode 0x1f = Meta_two
+keycode 0x20 = three numbersign dead_circumflex
+ control keycode 0x20 = Escape
+ alt keycode 0x20 = Meta_three
+keycode 0x21 = four dollar dollar
+ control keycode 0x21 = Control_backslash
+ alt keycode 0x21 = Meta_four
+keycode 0x22 = five percent
+ control keycode 0x22 = Control_bracketright
+ alt keycode 0x22 = Meta_five
+keycode 0x23 = six asciicircum
+ control keycode 0x23 = Control_asciicircum
+ alt keycode 0x23 = Meta_six
+keycode 0x24 = seven ampersand braceleft
+ control keycode 0x24 = Control_underscore
+ alt keycode 0x24 = Meta_seven
+keycode 0x25 = eight asterisk bracketleft
+ control keycode 0x25 = Delete
+ alt keycode 0x25 = Meta_eight
+keycode 0x26 = nine parenleft bracketright
+ alt keycode 0x26 = Meta_nine
+keycode 0x27 = zero parenright braceright
+ alt keycode 0x27 = Meta_zero
+keycode 0x28 = minus underscore backslash
+ control keycode 0x28 = Control_underscore
+ shift control keycode 0x28 = Control_underscore
+ alt keycode 0x28 = Meta_minus
+keycode 0x29 = equal plus
+ alt keycode 0x29 = Meta_equal
+keycode 0x2a = grave asciitilde
+ control keycode 0x2a = nul
+ alt keycode 0x2a = Meta_grave
+# Is marked as BackSpace but we define it as delete just like the i386
+# keyboard maps does
+keycode 0x2b = Delete Delete
+ control keycode 0x2b = BackSpace
+ alt keycode 0x2b = Meta_Delete
+keycode 0x2c = Insert
+# This is really keypad = on type 4 keyboards
+keycode 0x2d = equal
+keycode 0x2e = KP_Divide
+ altgr keycode 0x2e = Hex_B
+keycode 0x2f = KP_Multiply
+ altgr keycode 0x2f = Hex_C
+# Power ON/OFF key on type 5 keyboard
+keycode 0x30 =
+# FRONT/L5
+keycode 0x31 =
+keycode 0x32 = KP_Period
+ altgr control keycode 0x32 = Boot
+ control alt keycode 0x32 = Boot
+# COPY/L6
+keycode 0x33 =
+# Home key, same difference
+keycode 0x34 = Find
+keycode 0x35 = Tab Tab
+ alt keycode 0x35 = Meta_Tab
+keycode 0x36 = q
+keycode 0x37 = w
+keycode 0x38 = e
+keycode 0x39 = r
+keycode 0x3a = t
+keycode 0x3b = y
+keycode 0x3c = +u +U +ucircumflex +Ucircumflex
+ control keycode 0x3c = Control_u
+ alt keycode 0x3c = Meta_u
+ control alt keycode 0x3c = Meta_Control_u
+keycode 0x3d = +i +I dotlessi Icircumflex
+ control keycode 0x3d = Control_i
+ alt keycode 0x3d = Meta_i
+ control alt keycode 0x3d = Meta_Control_i
+keycode 0x3e = o
+keycode 0x3f = p
+keycode 0x40 = bracketleft braceleft +gbreve +Gbreve
+ control keycode 0x40 = Escape
+ alt keycode 0x40 = Meta_bracketleft
+keycode 0x41 = bracketright braceright +udiaeresis +Udiaeresis
+ control keycode 0x41 = Control_bracketright
+ alt keycode 0x41 = Meta_bracketright
+keycode 0x42 = Remove Remove
+ control keycode 0x42 = BackSpace
+ alt keycode 0x43 = Meta_Delete
+ control alt keycode 0x42 = Boot
+ altgr control keycode 0x42 = Boot
+keycode 0x43 = Compose
+keycode 0x44 = KP_7
+ alt keycode 0x44 = Ascii_7
+ altgr keycode 0x44 = Hex_7
+keycode 0x45 = KP_8
+ alt keycode 0x45 = Ascii_8
+ altgr keycode 0x45 = Hex_8
+keycode 0x46 = KP_9
+ alt keycode 0x46 = Ascii_9
+ altgr keycode 0x46 = Hex_9
+keycode 0x47 = KP_Subtract
+ altgr keycode 0x47 = Hex_D
+# OPEN/L6
+keycode 0x48 =
+# PASTE/L8
+keycode 0x49 =
+keycode 0x4a = Select
+# No key produces 0x4b to my knowledge
+keycode 0x4b =
+keycode 0x4c = Control
+keycode 0x4d = +a +A +acircumflex +Acircumflex
+ control keycode 0x4d = Control_a
+ alt keycode 0x4d = Meta_a
+ control alt keycode 0x4d = Meta_Control_a
+keycode 0x4e = s
+keycode 0x4f = d
+keycode 0x50 = f
+keycode 0x51 = g
+keycode 0x52 = h
+keycode 0x53 = j
+keycode 0x54 = k
+keycode 0x55 = l
+keycode 0x56 = semicolon colon +scedilla +Scedilla
+ alt keycode 0x56 = Meta_semicolon
+keycode 0x57 = apostrophe quotedbl icircumflex Idotabove
+ control keycode 0x57 = Control_g
+ alt keycode 0x57 = Meta_apostrophe
+keycode 0x58 = backslash bar
+ control keycode 0x58 = Control_backslash
+ alt keycode 0x58 = Meta_backslash
+keycode 0x59 = Return
+ alt keycode 0x59 = Meta_Control_m
+keycode 0x5a = KP_Enter
+ altgr keycode 0x5a = Hex_F
+keycode 0x5b = KP_4
+ alt keycode 0x5b = Ascii_4
+ altgr keycode 0x5b = Hex_4
+keycode 0x5c = KP_5
+ alt keycode 0x5c = Ascii_5
+ altgr keycode 0x5c = Hex_5
+keycode 0x5d = KP_6
+ alt keycode 0x5d = Ascii_6
+ altgr keycode 0x5d = Hex_6
+keycode 0x5e = KP_0
+ alt keycode 0x5e = Ascii_0
+ altgr keycode 0x5e = Hex_0
+# FIND/L9
+keycode 0x5f =
+keycode 0x60 = Prior
+ shift keycode 0x60 = Scroll_Backward
+# CUT/L10
+keycode 0x61 =
+keycode 0x62 = Num_Lock
+ altgr keycode 0x62 = Hex_A
+# Linux/i386 console makes no distinction between right/left shift
+# so neither do we.
+keycode 0x63 = Shift
+keycode 0x64 = z
+keycode 0x65 = x
+keycode 0x66 = c
+keycode 0x67 = v
+keycode 0x68 = b
+keycode 0x69 = n
+keycode 0x6a = m
+keycode 0x6b = comma less +odiaeresis +Odiaeresis
+ alt keycode 0x6b = Meta_comma
+keycode 0x6c = period greater +ccedilla +Ccedilla
+ control keycode 0x6c = Compose
+ alt keycode 0x6c = Meta_period
+keycode 0x6d = slash question
+ control keycode 0x6d = Delete
+ alt keycode 0x6d = Meta_slash
+keycode 0x6e = Shift
+keycode 0x6f = Linefeed
+keycode 0x70 = KP_1
+ alt keycode 0x70 = Ascii_1
+ altgr keycode 0x70 = Hex_1
+keycode 0x71 = KP_2
+ alt keycode 0x71 = Ascii_2
+ altgr keycode 0x71 = Hex_2
+keycode 0x72 = KP_3
+ alt keycode 0x72 = Ascii_3
+ altgr keycode 0x72 = Hex_3
+# To my knowledge no key produces 0x73, 0x74, or 0x75
+keycode 0x73 =
+keycode 0x74 =
+keycode 0x75 =
+keycode 0x76 = Help
+keycode 0x77 = Caps_Lock
+# Left Meta
+keycode 0x78 = Alt
+keycode 0x79 = space space
+ control keycode 0x79 = nul
+ alt keycode 0x79 = Meta_space
+# Right Meta
+keycode 0x7a = AltGr
+keycode 0x7b = Next
+ shift keycode 0x7b = Scroll_Forward
+# No keys produce the following
+keycode 0x7c =
+keycode 0x7d = KP_Add
+ altgr keycode 0x7d = Hex_E
+keycode 0x7e =
+# keycode 0x7f is special and it means 'all keys released' and is
+# taken care of within the sun keyboard driver itself
+keycode 0x7f =
+# That's all folks...
diff --git a/keymaps/sun/sunt5-uk.kmap b/keymaps/sun/sunt5-uk.kmap
new file mode 100644
index 0000000..f538690
--- /dev/null
+++ b/keymaps/sun/sunt5-uk.kmap
@@ -0,0 +1,255 @@
+! Translated from PC keytable to Sun Type 4/5 by pc2sun,
+!
+! Copyright 1996 Derrick J Brashear.
+!
+! Permission to use, copy, modify, and distribute this software
+! and its documentation for any purpose and without fee is
+! hereby granted, provided that the above copyright notice
+! and this permission notice appear in all copies and that
+! the above copyright notice appear in any keytables so
+! translated by this software, and that the author's name
+! not be used in advertising or publicity pertaining to
+! distribution of the software without specific, written prior
+! permission.
+! The author makes no representations about the suitability of
+! this software for any purpose. It is provided "as is" without
+! express or implied warranty.
+!
+! Euro support: AltGr+E is Euro, AltGr+C is Cent.
+!
+keycode 29 = Escape Escape
+ alt keycode 29 = Meta_Escape
+keycode 30 = one exclam
+ alt keycode 30 = Meta_one
+keycode 31 = two quotedbl at
+ control keycode 31 = nul
+ alt keycode 31 = Meta_two
+keycode 32 = three sterling
+ control keycode 32 = Escape
+ alt keycode 32 = Meta_three
+keycode 33 = four dollar dollar
+ control keycode 33 = Control_backslash
+ alt keycode 33 = Meta_four
+keycode 34 = five percent
+ control keycode 34 = Control_bracketright
+ alt keycode 34 = Meta_five
+keycode 35 = six asciicircum
+ control keycode 35 = Control_asciicircum
+ alt keycode 35 = Meta_six
+keycode 36 = seven ampersand braceleft
+ control keycode 36 = Control_underscore
+ alt keycode 36 = Meta_seven
+keycode 37 = eight asterisk bracketleft
+ control keycode 37 = Delete
+ alt keycode 37 = Meta_eight
+keycode 38 = nine parenleft bracketright
+ alt keycode 38 = Meta_nine
+keycode 39 = zero parenright braceright
+ alt keycode 39 = Meta_zero
+keycode 40 = minus underscore backslash
+ control keycode 40 = Control_underscore
+ alt keycode 40 = Meta_minus
+keycode 41 = equal plus
+ alt keycode 41 = Meta_equal
+keycode 43 = Delete Delete
+ control keycode 43 = Control_underscore
+ alt keycode 43 = Meta_Delete
+keycode 53 = Tab Tab
+ alt keycode 53 = Meta_Tab
+keycode 54 = q
+keycode 55 = w
+keycode 56 = e
+ altgr keycode 56 = currency
+keycode 57 = r
+keycode 58 = t
+keycode 59 = y
+keycode 60 = u
+keycode 61 = i
+keycode 62 = o
+keycode 63 = p
+keycode 64 = bracketleft braceleft
+ control keycode 64 = Escape
+ alt keycode 64 = Meta_bracketleft
+keycode 65 = bracketright braceright asciitilde
+ control keycode 65 = Control_bracketright
+ alt keycode 65 = Meta_bracketright
+keycode 89 = Return
+ alt keycode 89 = 0x080d
+keycode 76 = Control
+keycode 77 = a
+keycode 78 = s
+keycode 79 = d
+keycode 80 = f
+keycode 81 = g
+keycode 82 = h
+keycode 83 = j
+keycode 84 = k
+keycode 85 = l
+keycode 86 = semicolon colon
+ alt keycode 86 = Meta_semicolon
+keycode 87 = apostrophe at
+ control keycode 87 = Control_g
+ alt keycode 87 = Meta_apostrophe
+keycode 42 = grave asciitilde
+ control keycode 42 = nul
+ alt keycode 42 = Meta_grave
+keycode 99 = Shift
+keycode 88 = numbersign asciitilde
+ control keycode 88 = Control_backslash
+ alt keycode 88 = Meta_backslash
+ shift alt keycode 88 = Meta_asciitilde
+keycode 124 = backslash bar bar
+ control keycode 124 = Control_backslash
+ alt keycode 124 = Meta_less
+ shift alt keycode 124 = Meta_bar
+keycode 100 = z
+keycode 101 = x
+keycode 102 = c
+ altgr keycode 102 = 0xa2
+keycode 103 = v
+keycode 104 = b
+keycode 105 = n
+keycode 106 = m
+keycode 107 = comma less
+ alt keycode 107 = Meta_comma
+ shift alt keycode 107 = Meta_less
+keycode 108 = period greater
+ alt keycode 108 = Meta_period
+ shift alt keycode 108 = Meta_greater
+keycode 109 = slash question
+ control keycode 109 = Delete
+ alt keycode 109 = Meta_slash
+keycode 110 = Shift
+keycode 47 = KP_Multiply
+keycode 19 = Alt
+keycode 121 = space space
+ control keycode 121 = nul
+ alt keycode 121 = Meta_space
+keycode 119 = Caps_Lock
+keycode 5 = F1 F11 Console_13
+ control keycode 5 = F1
+ alt keycode 5 = Console_1
+ control alt keycode 5 = Console_1
+keycode 6 = F2 F12 Console_14
+ control keycode 6 = F2
+ alt keycode 6 = Console_2
+ control alt keycode 6 = Console_2
+keycode 8 = F3 F13 Console_15
+ control keycode 8 = F3
+ alt keycode 8 = Console_3
+ control alt keycode 8 = Console_3
+keycode 10 = F4 F14 Console_16
+ control keycode 10 = F4
+ alt keycode 10 = Console_4
+ control alt keycode 10 = Console_4
+keycode 12 = F5 F15 Console_17
+ control keycode 12 = F5
+ alt keycode 12 = Console_5
+ control alt keycode 12 = Console_5
+keycode 14 = F6 F16 Console_18
+ control keycode 14 = F6
+ alt keycode 14 = Console_6
+ control alt keycode 14 = Console_6
+keycode 16 = F7 F17 Console_19
+ control keycode 16 = F7
+ alt keycode 16 = Console_7
+ control alt keycode 16 = Console_7
+keycode 17 = F8 F18 Console_20
+ control keycode 17 = F8
+ alt keycode 17 = Console_8
+ control alt keycode 17 = Console_8
+keycode 18 = F9 F19 Console_21
+ control keycode 18 = F9
+ alt keycode 18 = Console_9
+ control alt keycode 18 = Console_9
+keycode 7 = F10 F20 Console_22
+ control keycode 7 = F10
+ alt keycode 7 = Console_10
+ control alt keycode 7 = Console_10
+keycode 98 = Num_Lock
+keycode 23 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 23 = Show_State
+ alt keycode 23 = Scroll_Lock
+keycode 68 = KP_7
+ alt keycode 68 = Ascii_7
+keycode 69 = KP_8
+ alt keycode 69 = Ascii_8
+keycode 70 = KP_9
+ alt keycode 70 = Ascii_9
+keycode 71 = KP_Subtract
+keycode 91 = KP_4
+ alt keycode 91 = Ascii_4
+keycode 92 = KP_5
+ alt keycode 92 = Ascii_5
+keycode 93 = KP_6
+ alt keycode 93 = Ascii_6
+keycode 125 = KP_Add
+keycode 112 = KP_1
+ alt keycode 112 = Ascii_1
+keycode 113 = KP_2
+ alt keycode 113 = Ascii_2
+keycode 114 = KP_3
+ alt keycode 114 = Ascii_3
+keycode 94 = KP_0
+ alt keycode 94 = Ascii_0
+keycode 50 = KP_Period
+ altgr control keycode 50 = Boot
+ control alt keycode 50 = Boot
+keycode 9 = F11 F11 Console_23
+ control keycode 9 = F11
+ alt keycode 9 = Console_11
+ control alt keycode 9 = Console_11
+keycode 11 = F12 F12 Console_24
+ control keycode 11 = F12
+ alt keycode 11 = Console_12
+ control alt keycode 11 = Console_12
+keycode 90 = KP_Enter
+keycode 46 = KP_Divide
+keycode 13 = AltGr
+keycode 52 = Find
+keycode 20 = Up
+keycode 96 = Prior
+ shift keycode 96 = Scroll_Backward
+keycode 24 = Left
+ alt keycode 24 = Decr_Console
+keycode 28 = Right
+ alt keycode 28 = Incr_Console
+keycode 74 = Select
+keycode 27 = Down
+keycode 123 = Next
+ shift keycode 123 = Scroll_Forward
+keycode 44 = Insert
+keycode 118 =
+keycode 21 =
+string F1 = "\033[[A"
+string F2 = "\033[[B"
+string F3 = "\033[[C"
+string F4 = "\033[[D"
+string F5 = "\033[[E"
+string F6 = "\033[17~"
+string F7 = "\033[18~"
+string F8 = "\033[19~"
+string F9 = "\033[20~"
+string F10 = "\033[21~"
+string F11 = "\033[23~"
+string F12 = "\033[24~"
+string F13 = "\033[25~"
+string F14 = "\033[26~"
+string F15 = "\033[28~"
+string F16 = "\033[29~"
+string F17 = "\033[31~"
+string F18 = "\033[32~"
+string F19 = "\033[33~"
+string F20 = "\033[34~"
+string Find = "\033[1~"
+string Insert = "\033[2~"
+string Remove = "\033[3~"
+string Select = "\033[4~"
+string Prior = "\033[5~"
+string Next = "\033[6~"
+string F21 = ""
+string F22 = ""
+string F23 = ""
+string F24 = ""
+string F25 = ""
+string F26 = ""
diff --git a/keymaps/sun/sunt5-us-cz.kmap b/keymaps/sun/sunt5-us-cz.kmap
new file mode 100644
index 0000000..e9ad5cc
--- /dev/null
+++ b/keymaps/sun/sunt5-us-cz.kmap
@@ -0,0 +1,692 @@
+# Czech keyboard map for the Sun Type4/Type5 keyboards
+# found on SparcStations
+# Tue Dec 1 1998, Jakub Jelinek <jj@ultra.linux.cz>
+# The primary map is US, secondary CZ QWERTZ.
+# The real left Meta key acts as a temporary switch to the CZ keymap,
+# the Front/L5 key acts as a lock into CZ keymap and back.
+# If you want to have CZ keymap as primary, use
+# sunt5-cz-us.map.
+# Supports Euro: AltGr+E is Euro, AltGr+C is Cent (in US keymap only),
+# Compose e = is Euro.
+keymaps 0-5,8,12,64-79
+strings as usual
+charset "iso-8859-2"
+#
+#
+# Stop/L1
+keycode 0x01 =
+# SND_LOWER
+keycode 0x02 =
+# Again/L2
+keycode 0x03 =
+# SND_LOUDER
+keycode 0x04 =
+keycode 0x05 = F1 F11 Console_13
+ control keycode 0x05 = F1
+ alt keycode 0x05 = Console_1
+ control alt keycode 0x05 = Console_1
+ CtrlL keycode 0x05 = F1
+ CtrlL shift keycode 0x05 = F11
+ CtrlL altgr keycode 0x05 = Console_13
+ CtrlL control keycode 0x05 = F1
+ CtrlL alt keycode 0x05 = Console_1
+ CtrlL control alt keycode 0x05 = Console_1
+keycode 0x06 = F2 F12 Console_14
+ control keycode 0x06 = F2
+ alt keycode 0x06 = Console_2
+ control alt keycode 0x06 = Console_2
+ CtrlL keycode 0x06 = F2
+ CtrlL shift keycode 0x06 = F12
+ CtrlL altgr keycode 0x06 = Console_14
+ CtrlL control keycode 0x06 = F2
+ CtrlL alt keycode 0x06 = Console_2
+ CtrlL control alt keycode 0x06 = Console_2
+keycode 0x07 = F10 F20 Console_22
+ control keycode 0x07 = F10
+ alt keycode 0x07 = Console_10
+ control alt keycode 0x07 = Console_10
+ CtrlL keycode 0x07 = F10
+ CtrlL shift keycode 0x07 = F20
+ CtrlL altgr keycode 0x07 = Console_22
+ CtrlL control keycode 0x07 = F10
+ CtrlL alt keycode 0x07 = Console_10
+ CtrlL control alt keycode 0x07 = Console_10
+keycode 0x08 = F3 F13 Console_15
+ control keycode 0x08 = F3
+ alt keycode 0x08 = Console_3
+ control alt keycode 0x08 = Console_3
+ CtrlL keycode 0x08 = F3
+ CtrlL shift keycode 0x08 = F13
+ CtrlL altgr keycode 0x08 = Console_15
+ CtrlL control keycode 0x08 = F3
+ CtrlL alt keycode 0x08 = Console_3
+ CtrlL control alt keycode 0x08 = Console_3
+keycode 0x09 = F11 F11 Console_23
+ control keycode 0x09 = F11
+ alt keycode 0x09 = Console_11
+ control alt keycode 0x09 = Console_11
+ CtrlL keycode 0x09 = F11
+ CtrlL shift keycode 0x09 = F11
+ CtrlL altgr keycode 0x09 = Console_23
+ CtrlL control keycode 0x09 = F11
+ CtrlL alt keycode 0x09 = Console_11
+ CtrlL control alt keycode 0x09 = Console_11
+keycode 0x0a = F4 F14 Console_16
+ control keycode 0x0a = F4
+ alt keycode 0x0a = Console_4
+ control alt keycode 0x0a = Console_4
+ CtrlL keycode 0x0a = F4
+ CtrlL shift keycode 0x0a = F14
+ CtrlL altgr keycode 0x0a = Console_16
+ CtrlL control keycode 0x0a = F4
+ CtrlL alt keycode 0x0a = Console_4
+ CtrlL control alt keycode 0x0a = Console_4
+keycode 0x0b = F12 F12 Console_24
+ control keycode 0x0b = F12
+ alt keycode 0x0b = Console_12
+ control alt keycode 0x0b = Console_12
+ CtrlL keycode 0x0b = F12
+ CtrlL shift keycode 0x0b = F12
+ CtrlL altgr keycode 0x0b = Console_12
+ CtrlL control keycode 0x0b = F12
+ CtrlL alt keycode 0x0b = Console_12
+ CtrlL control alt keycode 0x0b = Console_12
+keycode 0x0c = F5 F15 Console_17
+ control Keycode 0x0c = F5
+ alt keycode 0x0c = Console_5
+ control alt keycode 0x0c = Console_5
+ CtrlL keycode 0x0c = F5
+ CtrlL shift keycode 0x0c = F15
+ CtrlL altgr keycode 0x0c = Console_17
+ CtrlL control keycode 0x0c = F5
+ CtrlL alt keycode 0x0c = Console_5
+ CtrlL control alt keycode 0x0c = Console_5
+keycode 0x0d = AltGr
+keycode 0x0e = F6 F16 Console_18
+ control keycode 0x0e = F6
+ alt keycode 0x0e = Console_6
+ control alt keycode 0x0e = Console_6
+ CtrlL keycode 0x0e = F6
+ CtrlL shift keycode 0x0e = F16
+ CtrlL altgr keycode 0x0e = Console_18
+ CtrlL control keycode 0x0e = F6
+ CtrlL alt keycode 0x0e = Console_6
+ CtrlL control alt keycode 0x0e = Console_6
+# BLANK KEY on type 5 keyboards
+keycode 0x0f =
+keycode 0x10 = F7 F17 Console_19
+ control keycode 0x10 = F7
+ alt keycode 0x10 = Console_7
+ control alt keycode 0x10 = Console_7
+ CtrlL keycode 0x10 = F7
+ CtrlL shift keycode 0x10 = F17
+ CtrlL altgr keycode 0x10 = Console_19
+ CtrlL control keycode 0x10 = F7
+ CtrlL alt keycode 0x10 = Console_7
+ CtrlL control alt keycode 0x10 = Console_7
+keycode 0x11 = F8 F18 Console_20
+ control keycode 0x11 = F8
+ alt keycode 0x11 = Console_8
+ control alt keycode 0x11 = Console_8
+ CtrlL keycode 0x11 = F8
+ CtrlL shift keycode 0x11 = F18
+ CtrlL altgr keycode 0x11 = Console_20
+ CtrlL control keycode 0x11 = F8
+ CtrlL alt keycode 0x11 = Console_8
+ CtrlL control alt keycode 0x11 = Console_8
+keycode 0x12 = F9 F19 Console_21
+ control keycode 0x12 = F9
+ alt keycode 0x12 = Console_9
+ control alt keycode 0x12 = Console_9
+ CtrlL keycode 0x12 = F9
+ CtrlL shift keycode 0x12 = F19
+ CtrlL altgr keycode 0x12 = Console_21
+ CtrlL control keycode 0x12 = F9
+ CtrlL alt keycode 0x12 = Console_9
+ CtrlL control alt keycode 0x12 = Console_9
+keycode 0x13 = Alt
+keycode 0x14 = Up
+keycode 0x15 = Pause
+# Print Screen
+keycode 0x16 =
+keycode 0x17 = Scroll_Lock Show_Memory Show_Registers
+ control keycode 0x17 = Show_State
+ alt keycode 0x17 = Scroll_Lock
+ CtrlL keycode 0x17 = Scroll_Lock
+ CtrlL shift keycode 0x17 = Show_Memory
+ CtrlL altgr keycode 0x17 = Show_Registers
+ CtrlL control keycode 0x17 = Show_State
+ CtrlL alt keycode 0x17 = Scroll_Lock
+keycode 0x18 = Left
+ alt keycode 0x18 = Decr_Console
+ CtrlL alt keycode 0x18 = Decr_Console
+# Props/L3
+keycode 0x19 =
+# UNDO/L4
+keycode 0x1a =
+keycode 0x1b = Down
+keycode 0x1c = Right
+ alt keycode 0x1c = Incr_Console
+ CtrlL alt keycode 0x1c = Incr_Console
+keycode 0x1d = Escape Escape
+ alt keycode 0x1d = Meta_Escape
+ CtrlL keycode 0x1d = Escape
+ CtrlL alt keycode 0x1d = Meta_Escape
+keycode 0x1e = one exclam
+ alt keycode 0x1e = Meta_one
+ CtrlL keycode 0x1e = plus
+ CtrlL shift keycode 0x1e = one
+ CtrlL alt keycode 0x1e = Meta_one
+keycode 0x1f = two at at
+ control keycode 0x1f = nul
+ shift control keycode 0x1f = nul
+ alt keycode 0x1f = Meta_two
+ CtrlL keycode 0x1f = ecaron
+ CtrlL shift keycode 0x1f = two
+ CtrlL altgr keycode 0x1f = at
+ CtrlL control keycode 0x1f = nul
+ CtrlL shift control keycode 0x1f = nul
+ CtrlL alt keycode 0x1f = Meta_two
+keycode 0x20 = three numbersign
+ control keycode 0x20 = Escape
+ alt keycode 0x20 = Meta_three
+ CtrlL keycode 0x20 = scaron
+ CtrlL shift keycode 0x20 = three
+ CtrlL control keycode 0x20 = Escape
+ CtrlL alt keycode 0x20 = Meta_three
+keycode 0x21 = four dollar dollar
+ control keycode 0x21 = Control_backslash
+ alt keycode 0x21 = Meta_four
+ CtrlL keycode 0x21 = ccaron
+ CtrlL shift keycode 0x21 = four
+ CtrlL altgr keycode 0x21 = dollar
+ CtrlL control keycode 0x21 = Control_backslash
+ CtrlL alt keycode 0x21 = Meta_four
+keycode 0x22 = five percent
+ control keycode 0x22 = Control_bracketright
+ alt keycode 0x22 = Meta_five
+ CtrlL keycode 0x22 = rcaron
+ CtrlL shift keycode 0x22 = five
+ CtrlL control keycode 0x22 = Control_bracketright
+ CtrlL alt keycode 0x22 = Meta_five
+keycode 0x23 = six asciicircum
+ control keycode 0x23 = Control_asciicircum
+ alt keycode 0x23 = Meta_six
+ CtrlL keycode 0x23 = zcaron
+ CtrlL shift keycode 0x23 = six
+ CtrlL control keycode 0x23 = Control_asciicircum
+ CtrlL alt keycode 0x23 = Meta_six
+keycode 0x24 = seven ampersand braceleft
+ control keycode 0x24 = Control_underscore
+ alt keycode 0x24 = Meta_seven
+ CtrlL keycode 0x24 = yacute
+ CtrlL shift keycode 0x24 = seven
+ CtrlL altgr keycode 0x24 = braceleft
+ CtrlL control keycode 0x24 = Control_underscore
+ CtrlL alt keycode 0x24 = Meta_seven
+keycode 0x25 = eight asterisk bracketleft
+ control keycode 0x25 = Delete
+ alt keycode 0x25 = Meta_eight
+ CtrlL keycode 0x25 = aacute
+ CtrlL shift keycode 0x25 = eight
+ CtrlL altgr keycode 0x25 = bracketleft
+ CtrlL control keycode 0x25 = Delete
+ CtrlL alt keycode 0x25 = Meta_eight
+keycode 0x26 = nine parenleft bracketright
+ alt keycode 0x26 = Meta_nine
+ CtrlL keycode 0x26 = iacute
+ CtrlL shift keycode 0x26 = nine
+ CtrlL altgr keycode 0x26 = bracketright
+ CtrlL alt keycode 0x26 = Meta_nine
+keycode 0x27 = zero parenright braceright
+ alt keycode 0x27 = Meta_zero
+ CtrlL keycode 0x27 = eacute
+ CtrlL shift keycode 0x27 = zero
+ CtrlL altgr keycode 0x27 = braceright
+ CtrlL alt keycode 0x27 = Meta_zero
+keycode 0x28 = minus underscore backslash
+ control keycode 0x28 = Control_underscore
+ shift control keycode 0x28 = Control_underscore
+ alt keycode 0x28 = Meta_minus
+ CtrlL keycode 0x28 = equal
+ CtrlL shift keycode 0x28 = percent
+ CtrlL altgr keycode 0x28 = backslash
+ CtrlL control keycode 0x28 = Control_underscore
+ CtrlL shift control keycode 0x28 = Control_underscore
+ CtrlL alt keycode 0x28 = Meta_minus
+keycode 0x29 = equal plus
+ alt keycode 0x29 = Meta_equal
+ CtrlL keycode 0x29 = dead_acute
+ CtrlL shift keycode 0x29 = dead_circumflex
+ CtrlL alt keycode 0x29 = Meta_equal
+keycode 0x2a = grave asciitilde
+ control keycode 0x2a = nul
+ alt keycode 0x2a = Meta_grave
+ CtrlL keycode 0x2a = grave
+ CtrlL shift keycode 0x2a = semicolon
+ CtrlL control keycode 0x2a = nul
+ CtrlL alt keycode 0x2a = Meta_grave
+# Is marked as BackSpace but we define it as delete just like the i386
+# keyboard maps does
+keycode 0x2b = Delete Delete
+ control keycode 0x2b = BackSpace
+ alt keycode 0x2b = Meta_Delete
+ CtrlL keycode 0x2b = Delete
+ CtrlL shift keycode 0x2b = Delete
+ CtrlL control keycode 0x2b = BackSpace
+ CtrlL alt keycode 0x2b = Meta_Delete
+keycode 0x2c = Insert
+# This is really keypad = on type 4 keyboards
+keycode 0x2d = equal
+keycode 0x2e = KP_Divide
+keycode 0x2f = KP_Multiply
+# Power ON/OFF key on type 5 keyboard
+keycode 0x30 =
+# FRONT/L5
+keycode 0x31 = CtrlL_Lock
+keycode 0x32 = KP_Period
+# altgr control keycode 0x32 = Boot
+ control alt keycode 0x32 = Boot
+ CtrlL control alt keycode 0x32 = Boot
+# COPY/L6
+keycode 0x33 =
+# Home key, same difference
+keycode 0x34 = Find
+keycode 0x35 = Tab Tab
+ alt keycode 0x35 = Meta_Tab
+ CtrlL keycode 0x35 = Tab
+ CtrlL shift keycode 0x35 = Tab
+ CtrlL alt keycode 0x35 = Meta_Tab
+keycode 0x36 = q
+keycode 0x37 = w
+keycode 0x38 = e
+ altgr keycode 0x38 = currency
+ altgr shift keycode 0x38 = Hex_E
+ CtrlL altgr keycode 0x38 = currency
+ CtrlL altgr shift keycode 0x38 = Hex_E
+keycode 0x39 = r
+keycode 0x3a = t
+keycode 0x3b = y
+ CtrlL keycode 0x3b = z
+ CtrlL shift keycode 0x3b = Z
+ CtrlL altgr keycode 0x3b = z
+ CtrlL altgr shift keycode 0x3b = Z
+ CtrlL control keycode 0x3b = Control_z
+ CtrlL control shift keycode 0x3b = Control_z
+ CtrlL control altgr keycode 0x3b = Control_z
+ CtrlL control altgr shift keycode 0x3b = Control_z
+ CtrlL alt keycode 0x3b = Meta_z
+ CtrlL alt shift keycode 0x3b = Meta_Z
+ CtrlL alt altgr keycode 0x3b = Meta_z
+ CtrlL alt altgr shift keycode 0x3b = Meta_Z
+ CtrlL alt control keycode 0x3b = Meta_Control_z
+ CtrlL alt control shift keycode 0x3b = Meta_Control_z
+ CtrlL alt control altgr keycode 0x3b = Meta_Control_z
+ CtrlL alt control altgr shift keycode 0x3b = Meta_Control_z
+keycode 0x3c = u
+keycode 0x3d = i
+keycode 0x3e = o
+keycode 0x3f = p
+keycode 0x40 = bracketleft braceleft
+ control keycode 0x40 = Escape
+ alt keycode 0x40 = Meta_bracketleft
+ CtrlL keycode 0x40 = uacute
+ CtrlL shift keycode 0x40 = slash
+ CtrlL control keycode 0x40 = Escape
+ CtrlL alt keycode 0x40 = Meta_bracketleft
+keycode 0x41 = bracketright braceright asciitilde
+ control keycode 0x41 = Control_bracketright
+ alt keycode 0x41 = Meta_bracketright
+ CtrlL keycode 0x41 = parenright
+ CtrlL shift keycode 0x41 = parenleft
+ CtrlL control keycode 0x41 = Control_bracketright
+ CtrlL alt keycode 0x41 = Meta_bracketright
+keycode 0x42 = Delete Delete
+ control keycode 0x42 = BackSpace
+ alt keycode 0x42 = Meta_Delete
+ control alt keycode 0x42 = Boot
+ CtrlL keycode 0x42 = Delete
+ CtrlL shift keycode 0x42 = Delete
+ CtrlL control keycode 0x42 = BackSpace
+ CtrlL alt keycode 0x42 = Meta_Delete
+ CtrlL control alt keycode 0x42 = Boot
+keycode 0x43 = Compose
+keycode 0x44 = KP_7
+ alt keycode 0x44 = Ascii_7
+ altgr keycode 0x44 = Hex_7
+ CtrlL alt keycode 0x44 = Ascii_7
+ CtrlL altgr keycode 0x44 = Hex_7
+keycode 0x45 = KP_8
+ alt keycode 0x45 = Ascii_8
+ altgr keycode 0x45 = Hex_8
+ CtrlL alt keycode 0x45 = Ascii_8
+ CtrlL altgr keycode 0x45 = Hex_8
+keycode 0x46 = KP_9
+ alt keycode 0x46 = Ascii_9
+ altgr keycode 0x46 = Hex_9
+ CtrlL alt keycode 0x46 = Ascii_9
+ CtrlL altgr keycode 0x46 = Hex_9
+keycode 0x47 = KP_Subtract
+# OPEN/L6
+keycode 0x48 =
+# PASTE/L8
+keycode 0x49 =
+keycode 0x4a = Select
+# No key produces 0x4b to my knowledge
+keycode 0x4b =
+keycode 0x4c = Control
+keycode 0x4d = a
+ altgr keycode 0x4d = Hex_A
+ altgr shift keycode 0x4d = Hex_A
+ CtrlL altgr keycode 0x4d = Hex_A
+ CtrlL altgr shift keycode 0x4d = Hex_A
+keycode 0x4e = s
+keycode 0x4f = d
+ altgr keycode 0x4f = Hex_D
+ altgr shift keycode 0x4f = Hex_D
+ CtrlL altgr keycode 0x4f = Hex_D
+ CtrlL altgr shift keycode 0x4f = Hex_D
+keycode 0x50 = f
+ altgr keycode 0x50 = Hex_F
+ altgr shift keycode 0x50 = Hex_F
+ CtrlL altgr keycode 0x50 = Hex_F
+ CtrlL altgr shift keycode 0x50 = Hex_F
+keycode 0x51 = g
+keycode 0x52 = h
+keycode 0x53 = j
+keycode 0x54 = k
+keycode 0x55 = l
+keycode 0x56 = semicolon colon
+ alt keycode 0x56 = Meta_semicolon
+ CtrlL keycode 0x56 = uring
+ CtrlL shift keycode 0x56 = quotedbl
+ CtrlL alt keycode 0x56 = Meta_semicolon
+keycode 0x57 = apostrophe quotedbl
+ control keycode 0x57 = Control_g
+ alt keycode 0x57 = Meta_apostrophe
+ CtrlL keycode 0x57 = 0xa7
+ CtrlL shift keycode 0x57 = exclam
+ CtrlL control keycode 0x57 = Control_g
+ CtrlL alt keycode 0x57 = Meta_apostrophe
+keycode 0x58 = backslash bar
+ control keycode 0x58 = Control_backslash
+ alt keycode 0x58 = Meta_backslash
+ CtrlL keycode 0x58 = backslash
+ CtrlL shift keycode 0x58 = bar
+ CtrlL control keycode 0x58 = Control_backslash
+ CtrlL alt keycode 0x58 = Meta_backslash
+keycode 0x59 = Return
+ alt keycode 0x59 = Meta_Control_m
+ CtrlL alt keycode 0x59 = Meta_Control_m
+keycode 0x5a = KP_Enter
+keycode 0x5b = KP_4
+ alt keycode 0x5b = Ascii_4
+ altgr keycode 0x5b = Hex_4
+ CtrlL alt keycode 0x5b = Ascii_4
+ CtrlL altgr keycode 0x5b = Hex_4
+keycode 0x5c = KP_5
+ alt keycode 0x5c = Ascii_5
+ altgr keycode 0x5c = Hex_5
+ CtrlL alt keycode 0x5c = Ascii_5
+ CtrlL altgr keycode 0x5c = Hex_5
+keycode 0x5d = KP_6
+ alt keycode 0x5d = Ascii_6
+ altgr keycode 0x5d = Hex_6
+ CtrlL alt keycode 0x5d = Ascii_6
+ CtrlL altgr keycode 0x5d = Hex_6
+keycode 0x5e = KP_0
+ alt keycode 0x5e = Ascii_0
+ altgr keycode 0x5e = Hex_0
+ CtrlL alt keycode 0x5e = Ascii_0
+ CtrlL altgr keycode 0x5e = Hex_0
+# FIND/L9
+keycode 0x5f =
+keycode 0x60 = Prior
+ shift keycode 0x60 = Scroll_Backward
+ CtrlL shift keycode 0x60 = Scroll_Backward
+# CUT/L10
+keycode 0x61 =
+keycode 0x62 = Num_Lock
+# Linux/i386 console makes no distinction between right/left shift
+# so neither do we.
+keycode 0x63 = Shift
+keycode 0x64 = z
+ CtrlL keycode 0x64 = y
+ CtrlL shift keycode 0x64 = Y
+ CtrlL altgr keycode 0x64 = y
+ CtrlL altgr shift keycode 0x64 = Y
+ CtrlL control keycode 0x64 = Control_y
+ CtrlL control shift keycode 0x64 = Control_y
+ CtrlL control altgr keycode 0x64 = Control_y
+ CtrlL control altgr shift keycode 0x64 = Control_y
+ CtrlL alt keycode 0x64 = Meta_y
+ CtrlL alt shift keycode 0x64 = Meta_Y
+ CtrlL alt altgr keycode 0x64 = Meta_y
+ CtrlL alt altgr shift keycode 0x64 = Meta_Y
+ CtrlL alt control keycode 0x64 = Meta_Control_y
+ CtrlL alt control shift keycode 0x64 = Meta_Control_y
+ CtrlL alt control altgr keycode 0x64 = Meta_Control_y
+ CtrlL alt control altgr shift keycode 0x64 = Meta_Control_y
+keycode 0x65 = x
+keycode 0x66 = c
+ altgr keycode 0x66 = 0xa2
+ altgr shift keycode 0x66 = Hex_C
+ CtrlL altgr keycode 0x66 = Hex_C
+ CtrlL altgr shift keycode 0x66 = Hex_C
+keycode 0x67 = v
+keycode 0x68 = b
+ altgr keycode 0x68 = Hex_B
+ altgr shift keycode 0x68 = Hex_B
+ CtrlL altgr keycode 0x68 = Hex_B
+ CtrlL altgr shift keycode 0x68 = Hex_B
+keycode 0x69 = n
+keycode 0x6a = m
+keycode 0x6b = comma less
+ alt keycode 0x6b = Meta_comma
+ CtrlL keycode 0x6b = comma
+ CtrlL shift keycode 0x6b = question
+ CtrlL alt keycode 0x6b = Meta_comma
+keycode 0x6c = period greater
+ control keycode 0x6c = Compose
+ alt keycode 0x6c = Meta_period
+ CtrlL keycode 0x6c = period
+ CtrlL shift keycode 0x6c = colon
+ CtrlL control keycode 0x6c = Compose
+ CtrlL alt keycode 0x6c = Meta_period
+keycode 0x6d = slash question
+ control keycode 0x6d = Delete
+ alt keycode 0x6d = Meta_slash
+ CtrlL keycode 0x6d = minus
+ CtrlL shift keycode 0x6d = underscore
+ CtrlL control keycode 0x6d = Delete
+ CtrlL alt keycode 0x6d = Meta_slash
+keycode 0x6e = Shift
+keycode 0x6f = Linefeed
+keycode 0x70 = KP_1
+ alt keycode 0x70 = Ascii_1
+ altgr keycode 0x70 = Hex_1
+ CtrlL alt keycode 0x70 = Ascii_1
+ CtrlL altgr keycode 0x70 = Hex_1
+keycode 0x71 = KP_2
+ alt keycode 0x71 = Ascii_2
+ altgr keycode 0x71 = Hex_2
+ CtrlL alt keycode 0x71 = Ascii_2
+ CtrlL altgr keycode 0x71 = Hex_2
+keycode 0x72 = KP_3
+ alt keycode 0x72 = Ascii_3
+ altgr keycode 0x72 = Hex_3
+ CtrlL alt keycode 0x72 = Ascii_3
+ CtrlL altgr keycode 0x72 = Hex_3
+# To my knowledge no key produces 0x73, 0x74, or 0x75
+keycode 0x73 =
+keycode 0x74 =
+keycode 0x75 =
+keycode 0x76 = Help
+keycode 0x77 = Caps_Lock
+keycode 0x78 = CtrlL
+keycode 0x79 = space space
+ control keycode 0x79 = nul
+ alt keycode 0x79 = Meta_space
+ CtrlL keycode 0x79 = space
+ CtrlL shift keycode 0x79 = space
+ CtrlL control keycode 0x79 = nul
+ CtrlL alt keycode 0x79 = Meta_space
+keycode 0x7a = Pause
+keycode 0x7b = Next
+ shift keycode 0x7b = Scroll_Forward
+ CtrlL shift keycode 0x7b = Scroll_Forward
+# No keys produce the following
+keycode 0x7c =
+keycode 0x7d = KP_Add
+keycode 0x7e =
+# keycode 0x7f is special and it means 'all keys released' and is
+# taken care of within the sun keyboard driver itself
+keycode 0x7f =
+# That's all folks...
+# Compose sequences
+# This should work for latin1 and latin2,
+# unfortunately some keys compose sequences had to be modified
+# a little bit, so that both latin1 and latin2 can be shared,
+# particularly " something has been replaced by : something
+# in latin1 composes.
+compose ',' 'A' to '¡'
+compose '`' 'A' to 'À'
+compose '\'' 'A' to 'Á'
+compose '^' 'A' to 'Â'
+compose 'v' 'A' to 'Ã'
+compose '~' 'A' to 'Ã'
+compose '"' 'A' to 'Ä'
+compose ':' 'A' to 'Ä'
+compose '0' 'A' to 'Å'
+compose 'A' 'A' to 'Å'
+compose 'O' 'A' to 'Å'
+compose ',' 'a' to '±'
+compose '`' 'a' to 'à'
+compose '\'' 'a' to 'á'
+compose '^' 'a' to 'â'
+compose 'v' 'a' to 'ã'
+compose '~' 'a' to 'ã'
+compose '"' 'a' to 'ä'
+compose ':' 'a' to 'ä'
+compose '0' 'a' to 'å'
+compose 'a' 'a' to 'å'
+compose 'o' 'a' to 'å'
+compose '\'' 'C' to 'Æ'
+compose ',' 'C' to 'Ç'
+compose '^' 'C' to 'È'
+compose 'v' 'C' to 'È'
+compose '\'' 'c' to 'æ'
+compose ',' 'c' to 'ç'
+compose '^' 'c' to 'è'
+compose 'v' 'c' to 'è'
+compose '^' 'D' to 'Ï'
+compose 'v' 'D' to 'Ï'
+compose '-' 'D' to 'Ð'
+compose '^' 'd' to 'ï'
+compose 'v' 'd' to 'ï'
+compose '-' 'd' to 'ð'
+compose 'A' 'E' to 'Æ'
+compose '`' 'E' to 'È'
+compose '\'' 'E' to 'É'
+compose ',' 'E' to 'Ê'
+compose '"' 'E' to 'Ë'
+compose '"' 'E' to 'Ë'
+compose '^' 'E' to 'Ì'
+compose 'v' 'E' to 'Ì'
+compose 'a' 'e' to 'æ'
+compose '`' 'e' to 'è'
+compose '\'' 'e' to 'é'
+compose ',' 'e' to 'ê'
+compose '"' 'e' to 'ë'
+compose ':' 'e' to 'ë'
+compose '^' 'e' to 'ì'
+compose 'v' 'e' to 'ì'
+compose 'T' 'H' to 'Þ'
+compose 't' 'h' to 'þ'
+compose '`' 'I' to 'Ì'
+compose '\'' 'I' to 'Í'
+compose '^' 'I' to 'Î'
+compose '"' 'I' to 'Ï'
+compose ':' 'I' to 'Ï'
+compose '`' 'i' to 'ì'
+compose '\'' 'i' to 'í'
+compose '^' 'i' to 'î'
+compose '"' 'i' to 'ï'
+compose ':' 'i' to 'ï'
+compose 'i' 'j' to 'ÿ'
+compose '/' 'L' to '£'
+compose '^' 'L' to '¥'
+compose '\'' 'L' to 'Å'
+compose '\'' 'l' to 'å'
+compose '/' 'l' to '³'
+compose '^' 'l' to 'µ'
+compose '\'' 'N' to 'Ñ'
+compose '~' 'N' to 'Ñ'
+compose '^' 'N' to 'Ò'
+compose 'v' 'N' to 'Ò'
+compose '\'' 'n' to 'ñ'
+compose '~' 'n' to 'ñ'
+compose '^' 'n' to 'ò'
+compose 'v' 'n' to 'ò'
+compose '`' 'O' to 'Ò'
+compose '\'' 'O' to 'Ó'
+compose '^' 'O' to 'Ô'
+compose '"' 'O' to 'Õ'
+compose '~' 'O' to 'Õ'
+compose ':' 'O' to 'Ö'
+compose '/' 'O' to 'Ø'
+compose '`' 'o' to 'ò'
+compose '\'' 'o' to 'ó'
+compose '^' 'o' to 'ô'
+compose '"' 'o' to 'õ'
+compose '~' 'o' to 'õ'
+compose ':' 'o' to 'ö'
+compose '/' 'o' to 'ø'
+compose '\'' 'R' to 'À'
+compose '^' 'R' to 'Ø'
+compose 'v' 'R' to 'Ø'
+compose '\'' 'r' to 'à'
+compose '^' 'r' to 'ø'
+compose 'v' 'r' to 'ø'
+compose '\'' 'S' to '¦'
+compose '^' 'S' to '©'
+compose 'v' 'S' to '©'
+compose ',' 'S' to 'ª'
+compose 'S' 'S' to 'ß'
+compose '\'' 's' to '¶'
+compose '^' 's' to '¹'
+compose 'v' 's' to '¹'
+compose ',' 's' to 'º'
+compose 's' 's' to 'ß'
+compose '^' 'T' to '«'
+compose 'v' 'T' to '«'
+compose '^' 't' to '»'
+compose 'v' 't' to '»'
+compose ',' 'T' to 'Þ'
+compose ',' 't' to 'þ'
+compose '^' 'U' to 'Ù'
+compose 'o' 'U' to 'Ù'
+compose '`' 'U' to 'Ù'
+compose '\'' 'U' to 'Ú'
+compose '"' 'U' to 'Û'
+compose ':' 'U' to 'Ü'
+compose '^' 'u' to 'ù'
+compose 'o' 'u' to 'ù'
+compose '`' 'u' to 'ù'
+compose '\'' 'u' to 'ú'
+compose '"' 'u' to 'û'
+compose ':' 'u' to 'ü'
+compose '\'' 'Y' to 'Ý'
+compose '\'' 'y' to 'ý'
+compose '"' 'y' to 'ÿ'
+compose ':' 'y' to 'ÿ'
+compose '\'' 'Z' to '¬'
+compose '^' 'Z' to '®'
+compose 'v' 'Z' to '®'
+compose '.' 'Z' to '¯'
+compose '\'' 'z' to '¼'
+compose '^' 'z' to '¾'
+compose 'v' 'z' to '¾'
+compose '.' 'z' to '¿'
+compose 's' 'z' to 'ß'
+compose 'e' '=' to '¤'
diff --git a/keymaps/sun/sunt6-uk.kmap b/keymaps/sun/sunt6-uk.kmap
new file mode 100644
index 0000000..096b4e9
--- /dev/null
+++ b/keymaps/sun/sunt6-uk.kmap
@@ -0,0 +1,24 @@
+# UK Sun type 6 keyboard mapping.
+# Dave Love <d.love@dl.ac.uk> 2002-09-26
+# Public domain.
+
+# The non-ASCII keys marked are sterling, notsign, brokenbar, euro.
+# Also assume cent to go with Euro.
+# This is like the type 5 version, but assumes Latin-9, so we can get
+# `euro' out of it. `brokenbar', marked on the `grave' key won't DTRT.
+
+charset "iso-8859-15"
+include "sun-uk.inc"
+
+# These rules attempt to DTRT for Latin-9 too. The t5 keymap already includes
+# them, but we want them now with the right encoding.
+include "compose.latin1.inc.gz"
+
+keycode 33 = four dollar euro Control_backslash
+ alt keycode 33 = Meta_four
+ shift alt keycode 33 = Meta_dollar
+# brokenbar is marked on the key, but isn't in Latin-9.
+keycode 42 = grave notsign
+ alt keycode 42 = Meta_grave
+keycode 56 = +e +E euro Control_e Control_e Control_e Meta_e Meta_E Meta_Control_e
+keycode 102 = +c +C cent Control_c Control_c Control_c Meta_c Meta_C Meta_Control_c
diff --git a/local-scripts/make-fallbacks b/local-scripts/make-fallbacks
new file mode 100755
index 0000000..94c8f98
--- /dev/null
+++ b/local-scripts/make-fallbacks
@@ -0,0 +1,59 @@
+#!/bin/bash
+# -*- sh -*-
+
+# Takes on stdin a file formated like the official UnicodeData list;
+# Writes on stdout a fallback table suitable for `consolechars -k'
+
+# Note: we assume all diacrs match a non-diacr !
+
+if [ $# != 3 ]
+then
+ echo >&2 "Usage: $(basename $0) FULL_PATTERN REDUCTED_PATTERN TRANSLATION"
+ echo >&2 " < /usr/share/unicode/UnicodeData.txt >out.fallback"
+ exit 1
+fi
+
+FULL_GREP_PATTERN=$1
+REDUCTED_PATTERN=$2
+TRANSLATION=$3
+
+FULL_SED_PATTERN=$(echo ${FULL_GREP_PATTERN} | sed -e 's/?/\\{0,1\\}/g' -e 's/\([()|]\)/\\\1/g')
+
+FILE=/tmp/file.$$
+cut -d\; -f1,2 >$FILE
+
+cat << EOF
+#
+# Fallback file from chars matching:
+# '${FULL_GREP_PATTERN}'
+# to chars matching:
+# '${REDUCTED_PATTERN}'
+# using as a translation rule:
+# '${TRANSLATION}'
+#
+# Auto-generated by $(basename $0) from UnicodeData list
+#
+# ** DO NOT EDIT MANUALLY **
+#
+
+EOF
+
+cat < $FILE |
+ # select only targeted lines
+ egrep -f <(echo ";${FULL_GREP_PATTERN}$") |
+ # filter out those we want to reduct to
+ egrep -v -f <(echo ";${REDUCTED_PATTERN}$") |
+ # translate into wished reduction, and keep orig name as 3rd field
+ sed -f <(echo "s/;${FULL_SED_PATTERN}$/;${TRANSLATION}\0/") |
+ # translate into wished unicode
+ sed -f <(
+ # construct a sed filter that adds their unicodes to reduction names
+ egrep < $FILE ";${REDUCTED_PATTERN}$" |
+ awk -F\; '{print "s/;" $2 ";/;U+" $1 "\\0/"}'
+ ) |
+ # filter out lines that did not give a reducted pattern
+ grep ';U+' |
+ # format lines in fallback-file syntax
+ awk -F\; '{print "# " $4 " : " $3 "\nU+" $1 " " $2}'
+
+rm $FILE
diff --git a/local-scripts/make-fallbacks.pl b/local-scripts/make-fallbacks.pl
new file mode 100755
index 0000000..389aa3e
--- /dev/null
+++ b/local-scripts/make-fallbacks.pl
@@ -0,0 +1,86 @@
+#!/usr/bin/perl
+
+#
+# Parse command-line
+#
+
+$PATTERN=$ARGV[0];
+shift @ARGV;
+@TRANSLATIONS = @ARGV;
+
+#
+# Parse each input line
+#
+
+my %unicodes = (); # label => code for each char matching $PATTARN
+my @fallbacks = (); # array of fallback entries, each of which is stored as
+ # a hash whose keys are "labels" and "codes", and values
+ # are refs to arrays.
+
+UNICODE: while (<STDIN>) {
+# ($code, $label, $categ, $comClass,
+# $bidiClass, $decompos, $decDigit, $digit,
+# $numeric, $mirror, $oldName, $comment,
+# $upper, $lower, $title) = split (/;/);
+
+ ($code, $label, $categ, undef,
+ undef, undef, undef, undef,
+ undef, undef, undef, undef,
+ undef, undef, undef) = split (/;/);
+
+ # skip control chars
+ next UNICODE if (index ($categ, "C") == 0);
+
+ # if this line is interesting
+ if ($label =~ m/$PATTERN/) {
+ # store the char in the hash for future use
+ $unicodes{$label} = $code;
+
+ # create a new fallback entry
+ unshift (@fallbacks, {});
+ $fallbacks[0]{labels} = [$label];
+
+ # compute the accepted transformed char-labels
+ for ($j = 0; $j <= $#TRANSLATIONS; $j++) {
+ $transl = $label;
+ $transl =~ s/$PATTERN/eval"\"$TRANSLATIONS[$j]\""/e;
+ push (@{$fallbacks[0]{labels}}, $transl);
+ }
+ next UNICODE; # don't try to match with a smaller pattern
+ }
+}
+
+# use Data::Dumper;
+# print (Dumper(\@fallbacks));
+# exit 0;
+
+# process collected data into .fallback format
+FB_ENTRY: foreach $fallback (@fallbacks) {
+ # cleanup fallback line
+ my $tmp = []; # clean version of $fallback->{labels}
+ my $code;
+ foreach $char (@{$fallback->{labels}}) {
+ if (($code = $unicodes{$char}) and not (grep (/$code/, @{$fallback->{codes}}))) {
+ push (@$tmp, $char);
+ push (@{$fallback->{codes}}, $code);
+ }
+ }
+ $fallback->{labels} = $tmp;
+
+ # if fallback entry only has one char (ie. no fallback), drop it
+ if ($#{$fallback->{codes}} == 0) {
+ next FB_ENTRY;
+ }
+
+ # describing comment line
+ foreach $char (@{$fallback->{labels}}) {
+ printf ("# %s ", $char);
+ }
+ print "\n";
+
+ # the entry itself
+ foreach $char (@{$fallback->{labels}}) {
+ printf ("U+%s ", $unicodes{$char});
+ }
+ print "\n";
+}
diff --git a/local-scripts/make-fallbacks.pl-old-cli b/local-scripts/make-fallbacks.pl-old-cli
new file mode 100755
index 0000000..5e7489d
--- /dev/null
+++ b/local-scripts/make-fallbacks.pl-old-cli
@@ -0,0 +1,77 @@
+#!/usr/bin/perl
+
+# latin_diacr patterns:
+# 'LATIN (SMALL|CAPITAL) (LETTER|LIGATURE) ((LONG|OPEN|DOTLESS) )?([^ ;]+)( DIGRAPH)?( WITH ([^ ;]+)( AND ([ ;]+))?)?'
+# 'LATIN $1 $2 $3$5$6 WITH $8'
+# 'LATIN (SMALL|CAPITAL) (LETTER|LIGATURE) ((LONG|OPEN|DOTLESS) )?([^ ;]+)( DIGRAPH)?( WITH [^ ;]+)?'
+# 'LATIN $1 $2 $3$5$6'
+# 'LATIN (SMALL|CAPITAL) (LETTER|LIGATURE) ((LONG|OPEN|DOTLESS) )?[^ ;]+( DIGRAPH)?'
+# 'LATIN $1 $2 $5$6'
+# 'LATIN (SMALL|CAPITAL) (LETTER|LIGATURE) [^ ;]+( DIGRAPH)?'
+
+# latin_diacr_HOPEFULL_PATTERN='LATIN'
+
+#($FULL_PATTERN, $REDUCTED_PATTERN, $TRANSLATION) = @ARGV;
+#printf (" => `%s'\n =>`%s'\n =>`%s'\n", $FULL_PATTERN, $REDUCTED_PATTERN, $TRANSLATION);
+
+#
+# Parse command-line: fill @PATTERNS and @TRANSLATION alternatively
+#
+
+# @PATTERNS=();
+# @TRANSLATIONS=();
+
+# $arg_parity = 0;
+# foreach $arg (@ARGV) {
+# if ($arg_parity == 1) {
+# push @TRANSLATIONS, $arg;
+# } else {
+# push @PATTERNS, $arg;
+# }
+# $arg_parity = not $arg_parity;
+# }
+
+$PATTERNS=$ARGV[0];
+shift @ARGV;
+@TRANSLATIONS = @ARGV;
+
+use Data::Dumper;
+$Data::Dumper::Indent = 3;
+$Data::Dumper::Terse = 1;
+#printf ("\@PATTERNS = %s\@TRANSLATIONS = %s\n", Dumper(\@PATTERNS), Dumper(\@TRANSLATIONS));
+printf ("\$PATTERNS = %s\@TRANSLATIONS = %s\n", Dumper($PATTERNS), Dumper(\@TRANSLATIONS));
+exit 0;
+
+#
+# Parse each input line
+#
+
+UNICODE: while (<STDIN>) {
+# ($code, $label, $categ, $comClass,
+# $bidiClass, $decompos, $decDigit, $digit,
+# $numeric, $mirror, $oldName, $comment,
+# $upper, $lower, $title) = split (/;/);
+
+ ($code, $label, $categ, undef,
+ undef, undef, undef, undef,
+ undef, undef, undef, undef,
+ undef, undef, undef) = split (/;/);
+
+ # skip control chars
+ next UNICODE if (index ($categ, "C") == 0);
+
+ for ($i = 0; $i < $#PATTERNS; $i++) {
+ if ($label =~ m/^$PATTERNS[$i]$/) {
+ printf ("# `%s'", $label);
+ for ($j = $i; $j <= $#TRANSLATIONS; $j++) {
+ $transl = $label;
+ $transl =~ s/^$PATTERNS[$i]$/eval"\"$TRANSLATIONS[$j]\""/e;
+ printf (" : `%s'", $transl);
+ }
+ print "\n";
+ next UNICODE; # don't try to match with a smaller pattern
+ } else {
+ printf ("# *SKIPPED* `%s'\n", $label);
+ }
+ }
+}
diff --git a/local-scripts/make-nofallbacks b/local-scripts/make-nofallbacks
new file mode 100755
index 0000000..5c046a6
--- /dev/null
+++ b/local-scripts/make-nofallbacks
@@ -0,0 +1,37 @@
+#!/bin/bash
+# -*- sh -*-
+
+# Takes on stdin a file formated like the official UnicodeData list;
+# Writes on stdout a list of chars that don't get a fallback
+
+if [ $# != 2 ]
+then
+ echo >&2 "Usage: $(basename $0) FULL_PATTERN HOPEFULL_PATTERN"
+ echo >&2 " < /usr/share/unicode/UnicodeData.txt >out.nofallback"
+ exit 1
+fi
+
+FULL_PATTERN=$1
+HOPEFULL_PATTERN=$2
+
+FILE=/tmp/file.$$
+cut -d\; -f1,2 >$FILE
+
+cat << EOF
+#
+# List of characters matching:
+# '${HOPEFULL_PATTERN}'
+# that don't get a fallback using:
+# FULL_PATTERN='${FULL_PATTERN}'
+#
+# Auto-generated by $(basename $0) from UnicodeData list
+#
+# ** DO NOT EDIT MANUALLY **
+#
+
+EOF
+
+egrep < $FILE -f <(echo ";${HOPEFULL_PATTERN}") |
+ egrep -v -f <(echo ";${FULL_PATTERN}$")
+
+rm $FILE
diff --git a/local-scripts/make-nofallbacks.pl b/local-scripts/make-nofallbacks.pl
new file mode 100755
index 0000000..dc95942
--- /dev/null
+++ b/local-scripts/make-nofallbacks.pl
@@ -0,0 +1,22 @@
+#!/usr/bin/perl
+
+($PATTERN, $HOPEFULL_PATTERN) = @ARGV;
+
+UNICODE: while (<STDIN>) {
+# ($code, $label, $categ, $comClass,
+# $bidiClass, $decompos, $decDigit, $digit,
+# $numeric, $mirror, $oldName, $comment,
+# $upper, $lower, $title) = split (/;/);
+
+ ($code, $label, $categ, undef,
+ undef, undef, undef, undef,
+ undef, undef, undef, undef,
+ undef, undef, undef) = split (/;/);
+
+ # skip control chars
+ next UNICODE if (index ($categ, "C") == 0);
+
+ if (($label =~ m/$HOPEFULL_PATTERN/) and ($label !~ m/$PATTERN/)) {
+ print "$code;$label\n";
+ }
+}
diff --git a/missing b/missing
new file mode 100755
index 0000000..7789652
--- /dev/null
+++ b/missing
@@ -0,0 +1,190 @@
+#! /bin/sh
+# Common stub for a few missing GNU programs while installing.
+# Copyright (C) 1996, 1997 Free Software Foundation, Inc.
+# Franc,ois Pinard <pinard@iro.umontreal.ca>, 1996.
+
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2, or (at your option)
+# any later version.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
+# 02111-1307, USA.
+
+if test $# -eq 0; then
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+fi
+
+case "$1" in
+
+ -h|--h|--he|--hel|--help)
+ echo "\
+$0 [OPTION]... PROGRAM [ARGUMENT]...
+
+Handle \`PROGRAM [ARGUMENT]...' for when PROGRAM is missing, or return an
+error status if there is no known handling for PROGRAM.
+
+Options:
+ -h, --help display this help and exit
+ -v, --version output version information and exit
+
+Supported PROGRAM values:
+ aclocal touch file \`aclocal.m4'
+ autoconf touch file \`configure'
+ autoheader touch file \`config.h.in'
+ automake touch all \`Makefile.in' files
+ bison create \`y.tab.[ch]', if possible, from existing .[ch]
+ flex create \`lex.yy.c', if possible, from existing .c
+ lex create \`lex.yy.c', if possible, from existing .c
+ makeinfo touch the output file
+ yacc create \`y.tab.[ch]', if possible, from existing .[ch]"
+ ;;
+
+ -v|--v|--ve|--ver|--vers|--versi|--versio|--version)
+ echo "missing - GNU libit 0.0"
+ ;;
+
+ -*)
+ echo 1>&2 "$0: Unknown \`$1' option"
+ echo 1>&2 "Try \`$0 --help' for more information"
+ exit 1
+ ;;
+
+ aclocal)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified \`acinclude.m4' or \`configure.in'. You might want
+ to install the \`Automake' and \`Perl' packages. Grab them from
+ any GNU archive site."
+ touch aclocal.m4
+ ;;
+
+ autoconf)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified \`configure.in'. You might want to install the
+ \`Autoconf' and \`GNU m4' packages. Grab them from any GNU
+ archive site."
+ touch configure
+ ;;
+
+ autoheader)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified \`acconfig.h' or \`configure.in'. You might want
+ to install the \`Autoconf' and \`GNU m4' packages. Grab them
+ from any GNU archive site."
+ files=`sed -n 's/^[ ]*A[CM]_CONFIG_HEADER(\([^)]*\)).*/\1/p' configure.in`
+ test -z "$files" && files="config.h"
+ touch_files=
+ for f in $files; do
+ case "$f" in
+ *:*) touch_files="$touch_files "`echo "$f" |
+ sed -e 's/^[^:]*://' -e 's/:.*//'`;;
+ *) touch_files="$touch_files $f.in";;
+ esac
+ done
+ touch $touch_files
+ ;;
+
+ automake)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified \`Makefile.am', \`acinclude.m4' or \`configure.in'.
+ You might want to install the \`Automake' and \`Perl' packages.
+ Grab them from any GNU archive site."
+ find . -type f -name Makefile.am -print |
+ sed 's/\.am$/.in/' |
+ while read f; do touch "$f"; done
+ ;;
+
+ bison|yacc)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified a \`.y' file. You may need the \`Bison' package
+ in order for those modifications to take effect. You can get
+ \`Bison' from any GNU archive site."
+ rm -f y.tab.c y.tab.h
+ if [ $# -ne 1 ]; then
+ eval LASTARG="\${$#}"
+ case "$LASTARG" in
+ *.y)
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" y.tab.c
+ fi
+ SRCFILE=`echo "$LASTARG" | sed 's/y$/h/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" y.tab.h
+ fi
+ ;;
+ esac
+ fi
+ if [ ! -f y.tab.h ]; then
+ echo >y.tab.h
+ fi
+ if [ ! -f y.tab.c ]; then
+ echo 'main() { return 0; }' >y.tab.c
+ fi
+ ;;
+
+ lex|flex)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified a \`.l' file. You may need the \`Flex' package
+ in order for those modifications to take effect. You can get
+ \`Flex' from any GNU archive site."
+ rm -f lex.yy.c
+ if [ $# -ne 1 ]; then
+ eval LASTARG="\${$#}"
+ case "$LASTARG" in
+ *.l)
+ SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'`
+ if [ -f "$SRCFILE" ]; then
+ cp "$SRCFILE" lex.yy.c
+ fi
+ ;;
+ esac
+ fi
+ if [ ! -f lex.yy.c ]; then
+ echo 'main() { return 0; }' >lex.yy.c
+ fi
+ ;;
+
+ makeinfo)
+ echo 1>&2 "\
+WARNING: \`$1' is missing on your system. You should only need it if
+ you modified a \`.texi' or \`.texinfo' file, or any other file
+ indirectly affecting the aspect of the manual. The spurious
+ call might also be the consequence of using a buggy \`make' (AIX,
+ DU, IRIX). You might want to install the \`Texinfo' package or
+ the \`GNU make' package. Grab either from any GNU archive site."
+ file=`echo "$*" | sed -n 's/.*-o \([^ ]*\).*/\1/p'`
+ if test -z "$file"; then
+ file=`echo "$*" | sed 's/.* \([^ ]*\) *$/\1/'`
+ file=`sed -n '/^@setfilename/ { s/.* \([^ ]*\) *$/\1/; p; q; }' $file`
+ fi
+ touch $file
+ ;;
+
+ *)
+ echo 1>&2 "\
+WARNING: \`$1' is needed, and you do not seem to have it handy on your
+ system. You might have modified some files without having the
+ proper tools for further handling them. Check the \`README' file,
+ it often tells you about the needed prerequirements for installing
+ this package. You may also peek at any GNU archive site, in case
+ some other package would contain this missing \`$1' program."
+ exit 1
+ ;;
+esac
+
+exit 0
diff --git a/mkinstalldirs b/mkinstalldirs
new file mode 100755
index 0000000..4f58503
--- /dev/null
+++ b/mkinstalldirs
@@ -0,0 +1,40 @@
+#! /bin/sh
+# mkinstalldirs --- make directory hierarchy
+# Author: Noah Friedman <friedman@prep.ai.mit.edu>
+# Created: 1993-05-16
+# Public domain
+
+# $Id: mkinstalldirs,v 1.13 1999/01/05 03:18:55 bje Exp $
+
+errstatus=0
+
+for file
+do
+ set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'`
+ shift
+
+ pathcomp=
+ for d
+ do
+ pathcomp="$pathcomp$d"
+ case "$pathcomp" in
+ -* ) pathcomp=./$pathcomp ;;
+ esac
+
+ if test ! -d "$pathcomp"; then
+ echo "mkdir $pathcomp"
+
+ mkdir "$pathcomp" || lasterr=$?
+
+ if test ! -d "$pathcomp"; then
+ errstatus=$lasterr
+ fi
+ fi
+
+ pathcomp="$pathcomp/"
+ done
+done
+
+exit $errstatus
+
+# mkinstalldirs ends here
diff --git a/prog_main_compressor.h b/prog_main_compressor.h
new file mode 100644
index 0000000..4be3b59
--- /dev/null
+++ b/prog_main_compressor.h
@@ -0,0 +1,9 @@
+/* This file was automatically generated by autoconf */
+/* with the ct_CHECK_WITH_PROGS macro */
+
+/* DO NOT EDIT BY HAND */
+
+#define MAIN_COMPRESSOR_GZIP (1 << 0)
+#define MAIN_COMPRESSOR_LZOP (1 << 1)
+#define MAIN_COMPRESSOR_BZIP2 (1 << 2)
+#define MAIN_COMPRESSOR_COMPRESS (1 << 3)