1270310Sse# Keyboard map for Central European languages under FreeBSD.
2270310Sse# Created by G. Adam Stanislav <adam@whizkidtech.net>
331028Sache#
431028Sache# Version 1.0 - 1999-03-18
531028Sache#
631028Sache# $FreeBSD$
731028Sache#
831028Sache# This map uses the US QWERTY keyboard for its basic layout.
931028Sache# It adds a "third row" to the top of the PC keyboard. To
1043334Syokota# access the third row, press and hold the Alt key, then
1131028Sache# strike a key in the top row.
12270310Sse#
1331028Sache# Note that some of the third-row keys produce characters.
14270310Sse# Others must be followed by another keystroke resulting
15270310Sse# in accented characters. To print the accent mark alone,
16270310Sse# press the space bar after pressing and releasing the
1731028Sache# alt-accent mark key.
18270310Sse#
1931028Sache# In most cases I have mapped a key to a character or an
20270310Sse# accent mark because the key on the US QWERTY keyboard
21270310Sse# somewhat resembles the result.
22270310Sse#
2331028Sache# In addition to the top row, three keys on the numeric keypad
2431028Sache# are mapped for the use with IS 8859-2 when combined with the
2531028Sache# Alt key: The dot (del) key combined with alt will print a
2631028Sache# comma instead of a dot; alt-/ will show the division mark,
2731028Sache# and alt-* the multpilication sign.
2831028Sache#
2931028Sache# You can see the layout here:
3031028Sache#
3131028Sache# alt-` �� (ogonek) and alt-~ �� (cedilla)
3231028Sache#   Examples: ����������
3331028Sache# alt-! �� (German double s)
3431028Sache# alt-@ �� (degree)
35270310Sse# alt-# �� (currency)
36270310Sse# alt-$ �� (section, called paragraf in most CE languages)
3731028Sache# alt-% �� (umlaut, dve bodky)
3831028Sache#   Examples: ��������
3931028Sache# alt-^ ^ (circumflex, vok����)
4031028Sache#   Examples: ������
4131028Sache# alt-& �� (hyphen, poml��ka, rozde��ovacie znamienko)
4231028Sache# alt-* �� (ring)
4331028Sache#   Examples: ����
4431028Sache# alt-( �� (Hungarian long umlaut)
4531028Sache#   Examples: ����
46270310Sse# alt-) �� (dot accent)
47270310Sse#   Examples: ����
48270310Sse# alt-- �� (acute, d����e��, ����rka)
49270310Sse#   Examples: ������������������
50270310Sse# alt-= �� (caron, m��k��e��, h����ek) and alt-+ �� (breve)
5131028Sache#   Examples: ����������������
52270310Sse# alt-\ / (slash)
5331028Sache#   Examples: ����
5431028Sache# alt-/ [on numeric keypad] ��
5531028Sache# alt-* [on numeric keypad] ��
5631028Sache# alt-. [on numeric keypad] ,
5731028Sache#
5831028Sache# This layout offers access to the entire character set of
59270310Sse# ISO 8859-2, used by Slovak, Czech, German, Polish, Croatian,
6031028Sache# Slovenian, Rumanian, Hungarian, and probably other languages,
6131028Sache# while remaining fully compatible with the default US QWERTY
6231028Sache# keyboard.
6331028Sache#
6443334Syokota#                                                         alt
6531028Sache# scan                       cntrl          alt    alt   cntrl lock
6632822Syokota# code  base   shift  cntrl  shift  alt    shift  cntrl  shift state
6731028Sache# ------------------------------------------------------------------
6831028Sache  000   nop    nop    nop    nop    nop    nop    nop    nop     O
6931028Sache  001   esc    esc    esc    esc    esc    esc    debug  esc     O
7031028Sache  002   '1'    '!'    nop    nop    0xdf   0xdf   nop    nop     O
7131028Sache  003   '2'    '@'    nul    nul    0xb0   0xb0   nul    nul     O
7231028Sache  004   '3'    '#'    nop    nop    0xa4   0xa4   nop    nop     O
7331028Sache  005   '4'    '$'    nop    nop    0xa7   0xa7   nop    nop     O
7431028Sache  006   '5'    '%'    nop    nop    duml   duml   nop    nop     O
7531028Sache  007   '6'    '^'    rs     rs     dcir   dcir   rs     rs      O
7631028Sache  008   '7'    '&'    nop    nop    0xad   0xad   nop    nop     O
7731028Sache  009   '8'    '*'    nop    nop    drin   drin   nop    nop     O
7831028Sache  010   '9'    '('    nop    nop    ddac   ddac   nop    nop     O
7931028Sache  011   '0'    ')'    nop    nop    ddot   ddot   nop    nop     O
8031028Sache  012   '-'    '_'    us     us     dacu   dacu   us     us      O
8131028Sache  013   '='    '+'    nop    nop    dcar   dbre   nop    nop     O
8231028Sache  014   bs     bs     del    del    bs     bs     del    del     O
8331028Sache  015   ht     btab   nop    nop    ht     btab   nop    nop     O
8431028Sache  016   'q'    'Q'    dc1    dc1    'q'    'Q'    dc1    dc1     C
8531028Sache  017   'w'    'W'    etb    etb    'w'    'W'    etb    etb     C
8631028Sache  018   'e'    'E'    enq    enq    'e'    'E'    enq    enq     C
8731028Sache  019   'r'    'R'    dc2    dc2    'r'    'R'    dc2    dc2     C
8831028Sache  020   't'    'T'    dc4    dc4    't'    'T'    dc4    dc4     C
8931028Sache  021   'y'    'Y'    em     em     'y'    'Y'    em     em      C
9031028Sache  022   'u'    'U'    nak    nak    'u'    'U'    nak    nak     C
9131028Sache  023   'i'    'I'    ht     ht     'i'    'I'    ht     ht      C
9231028Sache  024   'o'    'O'    si     si     'o'    'O'    si     si      C
9343334Syokota  025   'p'    'P'    dle    dle    'p'    'P'    dle    dle     C
9431028Sache  026   '['    '{'    esc    esc    '['    '{'    esc    esc     O
9531028Sache  027   ']'    '}'    gs     gs     ']'    '}'    gs     gs      O
9631028Sache  028   cr     cr     nl     nl     cr     cr     nl     nl      O
9731028Sache  029   lctrl  lctrl  lctrl  lctrl  lctrl  lctrl  lctrl  lctrl   O
9831028Sache  030   'a'    'A'    soh    soh    'a'    'A'    soh    soh     C
9931028Sache  031   's'    'S'    dc3    dc3    's'    'S'    dc3    dc3     C
10031028Sache  032   'd'    'D'    eot    eot    'd'    'D'    eot    eot     C
10174119Sache  033   'f'    'F'    ack    ack    'f'    'F'    ack    ack     C
10231028Sache  034   'g'    'G'    bel    bel    'g'    'G'    bel    bel     C
10331028Sache  035   'h'    'H'    bs     bs     'h'    'H'    bs     bs      C
10431028Sache  036   'j'    'J'    nl     nl     'j'    'J'    nl     nl      C
10531028Sache  037   'k'    'K'    vt     vt     'k'    'k'    vt     vt      C
10631028Sache  038   'l'    'L'    ff     ff     'l'    'L'    ff     ff      C
10731028Sache  039   ';'    ':'    nop    nop    ';'    ':'    nop    nop     O
10831028Sache  040   '''    '"'    nop    nop    '''    '"'    nop    nop     O
10931028Sache  041   '`'    '~'    nop    nop    dogo   dced   nop    nop     O
11031028Sache  042   lshift lshift lshift lshift lshift lshift lshift lshift  O
11174119Sache  043   '\'    '|'    fs     fs     dsla   dsla   fs     fs      O
112270310Sse  044   'z'    'Z'    sub    sub    'z'    'Z'    sub    sub     C
11343334Syokota  045   'x'    'X'    can    can    'x'    'X'    can    can     C
11443334Syokota  046   'c'    'C'    etx    etx    'c'    'C'    etx    etx     C
11543334Syokota  047   'v'    'V'    syn    syn    'v'    'V'    syn    syn     C
11643334Syokota  048   'b'    'B'    stx    stx    'b'    'B'    stx    stx     C
11743334Syokota  049   'n'    'N'    so     so     'n'    'N'    so     so      C
118  050   'm'    'M'    cr     cr     'm'    'M'    cr     cr      C
119  051   ','    '<'    nop    nop    ','    '<'    nop    nop     O
120  052   '.'    '>'    nop    nop    '.'    '>'    nop    nop     O
121  053   '/'    '?'    nop    nop    '/'    '?'    nop    nop     O
122  054   rshift rshift rshift rshift rshift rshift rshift rshift  O
123  055   '*'    '*'    '*'    '*'    0xd7   0xd7   0xd7   0xd7    O
124  056   lalt   lalt   lalt   lalt   lalt   lalt   lalt   lalt    O
125  057   ' '    ' '    nul    ' '    ' '    ' '    susp   ' '     O
126  058   clock  clock  clock  clock  clock  clock  clock  clock   O
127  059   fkey01 fkey13 fkey25 fkey37 scr01  scr11  scr01  scr11   O
128  060   fkey02 fkey14 fkey26 fkey38 scr02  scr12  scr02  scr12   O
129  061   fkey03 fkey15 fkey27 fkey39 scr03  scr13  scr03  scr13   O
130  062   fkey04 fkey16 fkey28 fkey40 scr04  scr14  scr04  scr14   O
131  063   fkey05 fkey17 fkey29 fkey41 scr05  scr15  scr05  scr15   O
132  064   fkey06 fkey18 fkey30 fkey42 scr06  scr16  scr06  scr16   O
133  065   fkey07 fkey19 fkey31 fkey43 scr07  scr07  scr07  scr07   O
134  066   fkey08 fkey20 fkey32 fkey44 scr08  scr08  scr08  scr08   O
135  067   fkey09 fkey21 fkey33 fkey45 scr09  scr09  scr09  scr09   O
136  068   fkey10 fkey22 fkey34 fkey46 scr10  scr10  scr10  scr10   O
137  069   nlock  nlock  nlock  nlock  nlock  nlock  nlock  nlock   O
138  070   slock  slock  slock  slock  slock  slock  slock  slock   O
139  071   fkey49 '7'    '7'    '7'    '7'    '7'    '7'    '7'     N
140  072   fkey50 '8'    '8'    '8'    '8'    '8'    '8'    '8'     N
141  073   fkey51 '9'    '9'    '9'    '9'    '9'    '9'    '9'     N
142  074   fkey52 '-'    '-'    '-'    '-'    '-'    '-'    '-'     N
143  075   fkey53 '4'    '4'    '4'    '4'    '4'    '4'    '4'     N
144  076   fkey54 '5'    '5'    '5'    '5'    '5'    '5'    '5'     N
145  077   fkey55 '6'    '6'    '6'    '6'    '6'    '6'    '6'     N
146  078   fkey56 '+'    '+'    '+'    '+'    '+'    '+'    '+'     N
147  079   fkey57 '1'    '1'    '1'    '1'    '1'    '1'    '1'     N
148  080   fkey58 '2'    '2'    '2'    '2'    '2'    '2'    '2'     N
149  081   fkey59 '3'    '3'    '3'    '3'    '3'    '3'    '3'     N
150  082   fkey60 '0'    '0'    '0'    '0'    '0'    '0'    '0'     N
151  083   del    '.'    '.'    '.'    ','    ','    boot   boot    N
152  084   nop    nop    nop    nop    nop    nop    nop    nop     O
153  085   nop    nop    nop    nop    nop    nop    nop    nop     O
154  086   nop    nop    nop    nop    nop    nop    nop    nop     O
155  087   fkey11 fkey23 fkey35 fkey47 scr11  scr11  scr11  scr11   O
156  088   fkey12 fkey24 fkey36 fkey48 scr12  scr12  scr12  scr12   O
157  089   cr     cr     nl     nl     cr     cr     nl     nl      O
158  090   rctrl  rctrl  rctrl  rctrl  rctrl  rctrl  rctrl  rctrl   O
159  091   '/'    '/'    '/'    '/'    0xf7   0xf7   0xf7   0xf7    N
160  092   nscr   pscr   debug  debug  nop    nop    nop    nop     O
161  093   ralt   ralt   ralt   ralt   ralt   ralt   ralt   ralt    O
162  094   fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49  O
163  095   fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50  O
164  096   fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51  O
165  097   fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53  O
166  098   fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55  O
167  099   fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57  O
168  100   fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58  O
169  101   fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59  O
170  102   fkey60 paste  fkey60 fkey60 fkey60 fkey60 fkey60 fkey60  O
171  103   fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot   fkey61  O
172  104   slock  saver  slock  saver  susp   nop    susp   nop     O
173  105   fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62  O
174  106   fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63  O
175  107   fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64  O
176  108   nop    nop    nop    nop    nop    nop    nop    nop     O
177
178  dacu 0xb4    ( 'a'    0xe1    ) ( 'A'    0xc1    )
179               ( 'c'    0x0107  ) ( 'C'    0x0106  )
180               ( 'e'    0xe9    ) ( 'E'    0xc9    )
181               ( 'i'    0xed    ) ( 'I'    0xcd    )
182               ( 'l'    0x013a  ) ( 'L'    0x0139  )
183               ( 'n'    0x0144  ) ( 'N'    0x0143  )
184               ( 'o'    0xf3    ) ( 'O'    0xd3    )
185               ( 'r'    0x0155  ) ( 'R'    0x0154  )
186               ( 's'    0x015b  ) ( 'S'    0x015a  )
187               ( 'u'    0xfa    ) ( 'U'    0xda    )
188               ( 'y'    0xfd    ) ( 'Y'    0xdd    )
189               ( 'z'    0x017a  ) ( 'Z'    0x0179  )
190
191  dcir '^'     ( 'a'    0xe2    ) ( 'A'    0xc2    )
192               ( 'i'    0xee    ) ( 'I'    0xce    )
193               ( 'o'    0xf4    ) ( 'O'    0xd4    )
194
195  dbre 0x02d8  ( 'a'    0x0103  ) ( 'A'    0x0102  )
196               ( 'c'    0x010d  ) ( 'C'    0x010c  )
197               ( 'd'    0x010f  ) ( 'D'    0x010e  )
198               ( 'e'    0x011b  ) ( 'E'    0x011a  )
199               ( 'l'    0x013e  ) ( 'L'    0x013d  )
200               ( 'n'    0x0148  ) ( 'N'    0x0147  )
201               ( 'r'    0x0159  ) ( 'R'    0x0158  )
202               ( 's'    0x0161  ) ( 'S'    0x0160  )
203               ( 't'    0x0165  ) ( 'T'    0x0164  )
204               ( 'z'    0x017e  ) ( 'Z'    0x017d  )
205
206  ddot 0x02d9  ( 'z'    0x017c  ) ( 'Z'    0x017b  )
207
208  duml 0xa8    ( 'a'    0xe4    ) ( 'A'    0xc4    )
209               ( 'e'    0xeb    ) ( 'E'    0xcb    )
210               ( 'o'    0xf6    ) ( 'O'    0xd6    )
211               ( 'u'    0xfc    ) ( 'U'    0xdc    )
212
213  dsla '/'     ( 'd'    0x0111  ) ( 'D'    0x0110  )
214               ( 'l'    0x0142  ) ( 'L'    0x0141  )
215
216  drin 0xb0    ( 'u'    0x016f  ) ( 'U'    0x016e  )
217
218  dced 0xb8    ( 'a'    0x0105  ) ( 'A'    0x0104  )
219               ( 'c'    0xe7    ) ( 'C'    0xc7    )
220               ( 'e'    0x0119  ) ( 'E'    0x0118  )
221               ( 's'    0x015f  ) ( 'S'    0x015e  )
222               ( 't'    0x0163  ) ( 'T'    0x0162  )
223
224  ddac 0x02dd  ( 'o'    0x0151  ) ( 'O'    0x0150  )
225               ( 'u'    0x0171  ) ( 'U'    0x0170  )
226
227  dogo 0x02db  ( 'a'    0x0105  ) ( 'A'    0x0104  )
228               ( 'c'    0xe7    ) ( 'C'    0xc7    )
229               ( 'e'    0x0119  ) ( 'E'    0x0118  )
230               ( 's'    0x015f  ) ( 'S'    0x015e  )
231               ( 't'    0x0163  ) ( 'T'    0x0162  )
232
233  dcar 0x02c7  ( 'a'    0x0103  ) ( 'A'    0x0102  )
234               ( 'c'    0x010d  ) ( 'C'    0x010c  )
235               ( 'd'    0x010f  ) ( 'D'    0x010e  )
236               ( 'e'    0x011b  ) ( 'E'    0x011a  )
237               ( 'l'    0x013e  ) ( 'L'    0x013d  )
238               ( 'n'    0x0148  ) ( 'N'    0x0147  )
239               ( 'r'    0x0159  ) ( 'R'    0x0158  )
240               ( 's'    0x0161  ) ( 'S'    0x0160  )
241               ( 't'    0x0165  ) ( 'T'    0x0164  )
242               ( 'z'    0x017e  ) ( 'Z'    0x017d  )
243