17ba08f81SStefan Eßer# Keyboard map for Central European languages under FreeBSD. 27ba08f81SStefan Eßer# Created by G. Adam Stanislav <adam@whizkidtech.net> 37ba08f81SStefan Eßer# 47ba08f81SStefan Eßer# Version 1.0 - 1999-03-18 57ba08f81SStefan Eßer# 67ba08f81SStefan Eßer# 7*fdd869bdSStefan Eßer# This map uses a QWERTZ keyboard for its basic layout. 87ba08f81SStefan Eßer# It adds a "third row" to the top of the PC keyboard. To 97ba08f81SStefan Eßer# access the third row, press and hold the Alt key, then 107ba08f81SStefan Eßer# strike a key in the top row. 117ba08f81SStefan Eßer# 127ba08f81SStefan Eßer# Note that some of the third-row keys produce characters. 137ba08f81SStefan Eßer# Others must be followed by another keystroke resulting 147ba08f81SStefan Eßer# in accented characters. To print the accent mark alone, 157ba08f81SStefan Eßer# press the space bar after pressing and releasing the 167ba08f81SStefan Eßer# alt-accent mark key. 177ba08f81SStefan Eßer# 187ba08f81SStefan Eßer# In most cases I have mapped a key to a character or an 197ba08f81SStefan Eßer# accent mark because the key on the US QWERTY keyboard 207ba08f81SStefan Eßer# somewhat resembles the result. 217ba08f81SStefan Eßer# 227ba08f81SStefan Eßer# In addition to the top row, three keys on the numeric keypad 237ba08f81SStefan Eßer# are mapped for the use with IS 8859-2 when combined with the 247ba08f81SStefan Eßer# Alt key: The dot (del) key combined with alt will print a 257ba08f81SStefan Eßer# comma instead of a dot; alt-/ will show the division mark, 267ba08f81SStefan Eßer# and alt-* the multpilication sign. 277ba08f81SStefan Eßer# 287ba08f81SStefan Eßer# You can see the layout here: 297ba08f81SStefan Eßer# 307ba08f81SStefan Eßer# alt-` ˛ (ogonek) and alt-~ ¸ (cedilla) 317ba08f81SStefan Eßer# Examples: ęąţçş 327ba08f81SStefan Eßer# alt-! ß (German double s) 337ba08f81SStefan Eßer# alt-@ ° (degree) 347ba08f81SStefan Eßer# alt-# ¤ (currency) 357ba08f81SStefan Eßer# alt-$ § (section, called paragraf in most CE languages) 367ba08f81SStefan Eßer# alt-% ¨ (umlaut, dve bodky) 377ba08f81SStefan Eßer# Examples: äüöë 387ba08f81SStefan Eßer# alt-^ ^ (circumflex, vokáň) 397ba08f81SStefan Eßer# Examples: ôâî 407ba08f81SStefan Eßer# alt-& (hyphen, pomlčka, rozdeľovacie znamienko) 417ba08f81SStefan Eßer# alt-* ° (ring) 427ba08f81SStefan Eßer# Examples: ůŮ 437ba08f81SStefan Eßer# alt-( ˝ (Hungarian long umlaut) 447ba08f81SStefan Eßer# Examples: őű 457ba08f81SStefan Eßer# alt-) ˙ (dot accent) 467ba08f81SStefan Eßer# Examples: żŻ 477ba08f81SStefan Eßer# alt-- ´ (acute, dĺžeň, čárka) 487ba08f81SStefan Eßer# Examples: áśéíúńźŕĺ 497ba08f81SStefan Eßer# alt-= ˇ (caron, mäkčeň, háček) and alt-+ ˘ (breve) 507ba08f81SStefan Eßer# Examples: ăčřľďťňž 517ba08f81SStefan Eßer# alt-\ / (slash) 527ba08f81SStefan Eßer# Examples: đł 537ba08f81SStefan Eßer# alt-/ [on numeric keypad] ÷ 547ba08f81SStefan Eßer# alt-* [on numeric keypad] × 557ba08f81SStefan Eßer# alt-. [on numeric keypad] , 567ba08f81SStefan Eßer# 577ba08f81SStefan Eßer# This layout offers access to the entire character set of 587ba08f81SStefan Eßer# ISO 8859-2, used by Slovak, Czech, German, Polish, Croatian, 597ba08f81SStefan Eßer# Slovenian, Rumanian, Hungarian, and probably other languages, 60*fdd869bdSStefan Eßer# while remaining mostly compatible with the default US QWERTY 617ba08f81SStefan Eßer# keyboard. 627ba08f81SStefan Eßer# 637ba08f81SStefan Eßer# alt 647ba08f81SStefan Eßer# scan cntrl alt alt cntrl lock 657ba08f81SStefan Eßer# code base shift cntrl shift alt shift cntrl shift state 667ba08f81SStefan Eßer# ------------------------------------------------------------------ 677ba08f81SStefan Eßer 000 nop nop nop nop nop nop nop nop O 687ba08f81SStefan Eßer 001 esc esc esc esc esc esc debug esc O 697ba08f81SStefan Eßer 002 '1' '!' nop nop 0xdf 0xdf nop nop O 707ba08f81SStefan Eßer 003 '2' '@' nul nul 0xb0 0xb0 nul nul O 717ba08f81SStefan Eßer 004 '3' '#' nop nop 0xa4 0xa4 nop nop O 727ba08f81SStefan Eßer 005 '4' '$' nop nop 0xa7 0xa7 nop nop O 737ba08f81SStefan Eßer 006 '5' '%' nop nop duml duml nop nop O 747ba08f81SStefan Eßer 007 '6' '^' rs rs dcir dcir rs rs O 757ba08f81SStefan Eßer 008 '7' '&' nop nop 0xad 0xad nop nop O 767ba08f81SStefan Eßer 009 '8' '*' nop nop drin drin nop nop O 777ba08f81SStefan Eßer 010 '9' '(' nop nop ddac ddac nop nop O 787ba08f81SStefan Eßer 011 '0' ')' nop nop ddot ddot nop nop O 797ba08f81SStefan Eßer 012 '-' '_' us us dacu dacu us us O 807ba08f81SStefan Eßer 013 '=' '+' nop nop dcar dbre nop nop O 817ba08f81SStefan Eßer 014 bs bs del del bs bs del del O 827ba08f81SStefan Eßer 015 ht btab nop nop ht btab nop nop O 837ba08f81SStefan Eßer 016 'q' 'Q' dc1 dc1 'q' 'Q' dc1 dc1 C 847ba08f81SStefan Eßer 017 'w' 'W' etb etb 'w' 'W' etb etb C 857ba08f81SStefan Eßer 018 'e' 'E' enq enq 'e' 'E' enq enq C 867ba08f81SStefan Eßer 019 'r' 'R' dc2 dc2 'r' 'R' dc2 dc2 C 877ba08f81SStefan Eßer 020 't' 'T' dc4 dc4 't' 'T' dc4 dc4 C 88*fdd869bdSStefan Eßer 021 'z' 'Z' sub sub 'z' 'Z' sub sub C 897ba08f81SStefan Eßer 022 'u' 'U' nak nak 'u' 'U' nak nak C 907ba08f81SStefan Eßer 023 'i' 'I' ht ht 'i' 'I' ht ht C 917ba08f81SStefan Eßer 024 'o' 'O' si si 'o' 'O' si si C 927ba08f81SStefan Eßer 025 'p' 'P' dle dle 'p' 'P' dle dle C 937ba08f81SStefan Eßer 026 '[' '{' esc esc '[' '{' esc esc O 947ba08f81SStefan Eßer 027 ']' '}' gs gs ']' '}' gs gs O 957ba08f81SStefan Eßer 028 cr cr nl nl cr cr nl nl O 967ba08f81SStefan Eßer 029 lctrl lctrl lctrl lctrl lctrl lctrl lctrl lctrl O 977ba08f81SStefan Eßer 030 'a' 'A' soh soh 'a' 'A' soh soh C 987ba08f81SStefan Eßer 031 's' 'S' dc3 dc3 's' 'S' dc3 dc3 C 997ba08f81SStefan Eßer 032 'd' 'D' eot eot 'd' 'D' eot eot C 1007ba08f81SStefan Eßer 033 'f' 'F' ack ack 'f' 'F' ack ack C 1017ba08f81SStefan Eßer 034 'g' 'G' bel bel 'g' 'G' bel bel C 1027ba08f81SStefan Eßer 035 'h' 'H' bs bs 'h' 'H' bs bs C 1037ba08f81SStefan Eßer 036 'j' 'J' nl nl 'j' 'J' nl nl C 1047ba08f81SStefan Eßer 037 'k' 'K' vt vt 'k' 'k' vt vt C 1057ba08f81SStefan Eßer 038 'l' 'L' ff ff 'l' 'L' ff ff C 1067ba08f81SStefan Eßer 039 ';' ':' nop nop ';' ':' nop nop O 1077ba08f81SStefan Eßer 040 ''' '"' nop nop ''' '"' nop nop O 1087ba08f81SStefan Eßer 041 '`' '~' nop nop dogo dced nop nop O 1097ba08f81SStefan Eßer 042 lshift lshift lshift lshift lshift lshift lshift lshift O 1107ba08f81SStefan Eßer 043 '\' '|' fs fs dsla dsla fs fs O 111*fdd869bdSStefan Eßer 044 'y' 'Y' em em 'y' 'Y' em em C 1127ba08f81SStefan Eßer 045 'x' 'X' can can 'x' 'X' can can C 1137ba08f81SStefan Eßer 046 'c' 'C' etx etx 'c' 'C' etx etx C 1147ba08f81SStefan Eßer 047 'v' 'V' syn syn 'v' 'V' syn syn C 1157ba08f81SStefan Eßer 048 'b' 'B' stx stx 'b' 'B' stx stx C 1167ba08f81SStefan Eßer 049 'n' 'N' so so 'n' 'N' so so C 1177ba08f81SStefan Eßer 050 'm' 'M' cr cr 'm' 'M' cr cr C 1187ba08f81SStefan Eßer 051 ',' '<' nop nop ',' '<' nop nop O 1197ba08f81SStefan Eßer 052 '.' '>' nop nop '.' '>' nop nop O 1207ba08f81SStefan Eßer 053 '/' '?' nop nop '/' '?' nop nop O 1217ba08f81SStefan Eßer 054 rshift rshift rshift rshift rshift rshift rshift rshift O 1227ba08f81SStefan Eßer 055 '*' '*' '*' '*' 0xd7 0xd7 0xd7 0xd7 O 1237ba08f81SStefan Eßer 056 lalt lalt lalt lalt lalt lalt lalt lalt O 1247ba08f81SStefan Eßer 057 ' ' ' ' nul ' ' ' ' ' ' susp ' ' O 1257ba08f81SStefan Eßer 058 clock clock clock clock clock clock clock clock O 1267ba08f81SStefan Eßer 059 fkey01 fkey13 fkey25 fkey37 scr01 scr11 scr01 scr11 O 1277ba08f81SStefan Eßer 060 fkey02 fkey14 fkey26 fkey38 scr02 scr12 scr02 scr12 O 1287ba08f81SStefan Eßer 061 fkey03 fkey15 fkey27 fkey39 scr03 scr13 scr03 scr13 O 1297ba08f81SStefan Eßer 062 fkey04 fkey16 fkey28 fkey40 scr04 scr14 scr04 scr14 O 1307ba08f81SStefan Eßer 063 fkey05 fkey17 fkey29 fkey41 scr05 scr15 scr05 scr15 O 1317ba08f81SStefan Eßer 064 fkey06 fkey18 fkey30 fkey42 scr06 scr16 scr06 scr16 O 1327ba08f81SStefan Eßer 065 fkey07 fkey19 fkey31 fkey43 scr07 scr07 scr07 scr07 O 1337ba08f81SStefan Eßer 066 fkey08 fkey20 fkey32 fkey44 scr08 scr08 scr08 scr08 O 1347ba08f81SStefan Eßer 067 fkey09 fkey21 fkey33 fkey45 scr09 scr09 scr09 scr09 O 1357ba08f81SStefan Eßer 068 fkey10 fkey22 fkey34 fkey46 scr10 scr10 scr10 scr10 O 1367ba08f81SStefan Eßer 069 nlock nlock nlock nlock nlock nlock nlock nlock O 1377ba08f81SStefan Eßer 070 slock slock slock slock slock slock slock slock O 1387ba08f81SStefan Eßer 071 fkey49 '7' '7' '7' '7' '7' '7' '7' N 1397ba08f81SStefan Eßer 072 fkey50 '8' '8' '8' '8' '8' '8' '8' N 1407ba08f81SStefan Eßer 073 fkey51 '9' '9' '9' '9' '9' '9' '9' N 1417ba08f81SStefan Eßer 074 fkey52 '-' '-' '-' '-' '-' '-' '-' N 1427ba08f81SStefan Eßer 075 fkey53 '4' '4' '4' '4' '4' '4' '4' N 1437ba08f81SStefan Eßer 076 fkey54 '5' '5' '5' '5' '5' '5' '5' N 1447ba08f81SStefan Eßer 077 fkey55 '6' '6' '6' '6' '6' '6' '6' N 1457ba08f81SStefan Eßer 078 fkey56 '+' '+' '+' '+' '+' '+' '+' N 1467ba08f81SStefan Eßer 079 fkey57 '1' '1' '1' '1' '1' '1' '1' N 1477ba08f81SStefan Eßer 080 fkey58 '2' '2' '2' '2' '2' '2' '2' N 1487ba08f81SStefan Eßer 081 fkey59 '3' '3' '3' '3' '3' '3' '3' N 1497ba08f81SStefan Eßer 082 fkey60 '0' '0' '0' '0' '0' '0' '0' N 1507ba08f81SStefan Eßer 083 del '.' '.' '.' ',' ',' boot boot N 1517ba08f81SStefan Eßer 084 nop nop nop nop nop nop nop nop O 1527ba08f81SStefan Eßer 085 nop nop nop nop nop nop nop nop O 1537ba08f81SStefan Eßer 086 nop nop nop nop nop nop nop nop O 1547ba08f81SStefan Eßer 087 fkey11 fkey23 fkey35 fkey47 scr11 scr11 scr11 scr11 O 1557ba08f81SStefan Eßer 088 fkey12 fkey24 fkey36 fkey48 scr12 scr12 scr12 scr12 O 1567ba08f81SStefan Eßer 089 cr cr nl nl cr cr nl nl O 1577ba08f81SStefan Eßer 090 rctrl rctrl rctrl rctrl rctrl rctrl rctrl rctrl O 1587ba08f81SStefan Eßer 091 '/' '/' '/' '/' 0xf7 0xf7 0xf7 0xf7 N 1597ba08f81SStefan Eßer 092 nscr pscr debug debug nop nop nop nop O 1607ba08f81SStefan Eßer 093 ralt ralt ralt ralt ralt ralt ralt ralt O 1617ba08f81SStefan Eßer 094 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 O 1627ba08f81SStefan Eßer 095 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 O 1637ba08f81SStefan Eßer 096 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 O 1647ba08f81SStefan Eßer 097 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 O 1657ba08f81SStefan Eßer 098 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 O 1667ba08f81SStefan Eßer 099 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 O 1677ba08f81SStefan Eßer 100 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 O 1687ba08f81SStefan Eßer 101 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 O 1697ba08f81SStefan Eßer 102 fkey60 paste fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 O 1707ba08f81SStefan Eßer 103 fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot fkey61 O 1717ba08f81SStefan Eßer 104 slock saver slock saver susp nop susp nop O 1727ba08f81SStefan Eßer 105 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 O 1737ba08f81SStefan Eßer 106 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 O 1747ba08f81SStefan Eßer 107 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 O 1757ba08f81SStefan Eßer 108 nop nop nop nop nop nop nop nop O 1767ba08f81SStefan Eßer 1777ba08f81SStefan Eßer dacu 0xb4 ( 'a' 0xe1 ) ( 'A' 0xc1 ) 1787ba08f81SStefan Eßer ( 'c' 0x0107 ) ( 'C' 0x0106 ) 1797ba08f81SStefan Eßer ( 'e' 0xe9 ) ( 'E' 0xc9 ) 1807ba08f81SStefan Eßer ( 'i' 0xed ) ( 'I' 0xcd ) 1817ba08f81SStefan Eßer ( 'l' 0x013a ) ( 'L' 0x0139 ) 1827ba08f81SStefan Eßer ( 'n' 0x0144 ) ( 'N' 0x0143 ) 1837ba08f81SStefan Eßer ( 'o' 0xf3 ) ( 'O' 0xd3 ) 1847ba08f81SStefan Eßer ( 'r' 0x0155 ) ( 'R' 0x0154 ) 1857ba08f81SStefan Eßer ( 's' 0x015b ) ( 'S' 0x015a ) 1867ba08f81SStefan Eßer ( 'u' 0xfa ) ( 'U' 0xda ) 1877ba08f81SStefan Eßer ( 'y' 0xfd ) ( 'Y' 0xdd ) 1887ba08f81SStefan Eßer ( 'z' 0x017a ) ( 'Z' 0x0179 ) 1897ba08f81SStefan Eßer 1907ba08f81SStefan Eßer dcir '^' ( 'a' 0xe2 ) ( 'A' 0xc2 ) 1917ba08f81SStefan Eßer ( 'i' 0xee ) ( 'I' 0xce ) 1927ba08f81SStefan Eßer ( 'o' 0xf4 ) ( 'O' 0xd4 ) 1937ba08f81SStefan Eßer 1947ba08f81SStefan Eßer dbre 0x02d8 ( 'a' 0x0103 ) ( 'A' 0x0102 ) 1957ba08f81SStefan Eßer ( 'c' 0x010d ) ( 'C' 0x010c ) 1967ba08f81SStefan Eßer ( 'd' 0x010f ) ( 'D' 0x010e ) 1977ba08f81SStefan Eßer ( 'e' 0x011b ) ( 'E' 0x011a ) 1987ba08f81SStefan Eßer ( 'l' 0x013e ) ( 'L' 0x013d ) 1997ba08f81SStefan Eßer ( 'n' 0x0148 ) ( 'N' 0x0147 ) 2007ba08f81SStefan Eßer ( 'r' 0x0159 ) ( 'R' 0x0158 ) 2017ba08f81SStefan Eßer ( 's' 0x0161 ) ( 'S' 0x0160 ) 2027ba08f81SStefan Eßer ( 't' 0x0165 ) ( 'T' 0x0164 ) 2037ba08f81SStefan Eßer ( 'z' 0x017e ) ( 'Z' 0x017d ) 2047ba08f81SStefan Eßer 205*fdd869bdSStefan Eßer ddot 0x02d9 ( 'z' 0x017c ) ( 'Z' 0x017b ) 2067ba08f81SStefan Eßer 2077ba08f81SStefan Eßer duml 0xa8 ( 'a' 0xe4 ) ( 'A' 0xc4 ) 2087ba08f81SStefan Eßer ( 'e' 0xeb ) ( 'E' 0xcb ) 2097ba08f81SStefan Eßer ( 'o' 0xf6 ) ( 'O' 0xd6 ) 2107ba08f81SStefan Eßer ( 'u' 0xfc ) ( 'U' 0xdc ) 2117ba08f81SStefan Eßer 2127ba08f81SStefan Eßer dsla '/' ( 'd' 0x0111 ) ( 'D' 0x0110 ) 2137ba08f81SStefan Eßer ( 'l' 0x0142 ) ( 'L' 0x0141 ) 2147ba08f81SStefan Eßer 2157ba08f81SStefan Eßer drin 0xb0 ( 'u' 0x016f ) ( 'U' 0x016e ) 2167ba08f81SStefan Eßer 2177ba08f81SStefan Eßer dced 0xb8 ( 'a' 0x0105 ) ( 'A' 0x0104 ) 2187ba08f81SStefan Eßer ( 'c' 0xe7 ) ( 'C' 0xc7 ) 2197ba08f81SStefan Eßer ( 'e' 0x0119 ) ( 'E' 0x0118 ) 2207ba08f81SStefan Eßer ( 's' 0x015f ) ( 'S' 0x015e ) 2217ba08f81SStefan Eßer ( 't' 0x0163 ) ( 'T' 0x0162 ) 2227ba08f81SStefan Eßer 2237ba08f81SStefan Eßer ddac 0x02dd ( 'o' 0x0151 ) ( 'O' 0x0150 ) 2247ba08f81SStefan Eßer ( 'u' 0x0171 ) ( 'U' 0x0170 ) 2257ba08f81SStefan Eßer 2267ba08f81SStefan Eßer dogo 0x02db ( 'a' 0x0105 ) ( 'A' 0x0104 ) 2277ba08f81SStefan Eßer ( 'c' 0xe7 ) ( 'C' 0xc7 ) 2287ba08f81SStefan Eßer ( 'e' 0x0119 ) ( 'E' 0x0118 ) 2297ba08f81SStefan Eßer ( 's' 0x015f ) ( 'S' 0x015e ) 2307ba08f81SStefan Eßer ( 't' 0x0163 ) ( 'T' 0x0162 ) 2317ba08f81SStefan Eßer 2327ba08f81SStefan Eßer dcar 0x02c7 ( 'a' 0x0103 ) ( 'A' 0x0102 ) 2337ba08f81SStefan Eßer ( 'c' 0x010d ) ( 'C' 0x010c ) 2347ba08f81SStefan Eßer ( 'd' 0x010f ) ( 'D' 0x010e ) 2357ba08f81SStefan Eßer ( 'e' 0x011b ) ( 'E' 0x011a ) 2367ba08f81SStefan Eßer ( 'l' 0x013e ) ( 'L' 0x013d ) 2377ba08f81SStefan Eßer ( 'n' 0x0148 ) ( 'N' 0x0147 ) 2387ba08f81SStefan Eßer ( 'r' 0x0159 ) ( 'R' 0x0158 ) 2397ba08f81SStefan Eßer ( 's' 0x0161 ) ( 'S' 0x0160 ) 2407ba08f81SStefan Eßer ( 't' 0x0165 ) ( 'T' 0x0164 ) 2417ba08f81SStefan Eßer ( 'z' 0x017e ) ( 'Z' 0x017d ) 242