1194084Sedwin# Copyright (c) 2004
2194084Sedwin#         Kim Norgaard <jasen@jasen.dk>, Denmark.
3194084Sedwin#     All rights reserved.
4194084Sedwin#
5194084Sedwin# Redistribution and use in source and binary forms, with or without
6194084Sedwin# modification, are permitted provided that the following conditions
7194084Sedwin# are met:
8194084Sedwin# 1. Redistributions of source code must retain the above copyright
9194084Sedwin#    notice, this list of conditions and the following disclaimer as
10194084Sedwin#    the first lines of this file unmodified.
11194084Sedwin# 2. Redistributions in binary form must reproduce the above copyright
12194084Sedwin#    notice, this list of conditions and the following disclaimer in the
13194084Sedwin#    documentation and/or other materials provided with the distribution.
14194084Sedwin#
15194084Sedwin# THIS SOFTWARE IS PROVIDED BY KIM NOORGAARD ``AS IS'' AND ANY EXPRESS OR
16194084Sedwin# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17194084Sedwin# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18194084Sedwin# IN NO EVENT SHALL KIM NOORGAARD BE LIABLE FOR ANY DIRECT, INDIRECT,
19194084Sedwin# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20194084Sedwin# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21194084Sedwin# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22194084Sedwin# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23194084Sedwin# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24194084Sedwin# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
25194084Sedwin#
26194084Sedwin# $FreeBSD$
27194084Sedwin
28194084Sedwin# scan                       cntrl          alt    alt   cntrl lock
29194084Sedwin# code  base   shift  cntrl  shift  alt    shift  cntrl  shift state
30194084Sedwin# ------------------------------------------------------------------
31194084Sedwin  000   nop    nop    nop    nop    nop    nop    nop    nop     O
32194084Sedwin  001   esc    esc    esc    esc    esc    esc    debug  esc     O
33270114Sse  002   '1'    '!'    nop    nop    0xa1   0xb9   nop    nop     O
34270114Sse  003   '2'    '"'    nul    nul    '@'    0xb2   nul    nul     O
35270114Sse  004   '3'    '#'    nop    nop    0x9e   0xb3   nop    nop     O
36270310Sse  005   '4'    0xa4   nop    nop    '$'    0xa4   nop    nop     O
37194084Sedwin  006   '5'    '%'    nop    nop    '5'    '%'    nop    nop     O
38194084Sedwin  007   '6'    '&'    nop    nop    '6'    '&'    nop    nop     O
39194084Sedwin  008   '7'    '/'    nop    nop    '{'    '/'    nop    nop     O
40194084Sedwin  009   '8'    '('    esc    esc    '['    '8'    esc    esc     O
41194084Sedwin  010   '9'    ')'    gs     gs     ']'    ')'    gs     gs      O
42194084Sedwin  011   '0'    '='    nop    nop    '}'    '='    nop    nop     O
43270114Sse  012   '+'    '?'    nop    nop    '+'    0xbf   nop    nop     O
44194084Sedwin  013   dacu   dgra   nop    nop    '|'    '`'    nop    nop     O
45194084Sedwin  014   bs     bs     del    del    bs     bs     del    del     O
46194084Sedwin  015   ht     btab   nop    nop    ht     btab   nop    nop     O
47194084Sedwin  016   'q'    'Q'    dc1    dc1    'q'    'Q'    dc1    dc1     C
48194084Sedwin  017   'w'    'W'    etb    etb    'w'    'W'    etb    etb     C
49270114Sse  018   'e'    'E'    enq    enq    0x20ac 'E'    enq    enq     C
50194084Sedwin  019   'r'    'R'    dc2    dc2    'r'    'R'    dc2    dc2     C
51194084Sedwin  020   't'    'T'    dc4    dc4    't'    'T'    dc4    dc4     C
52194084Sedwin  021   'y'    'Y'    em     em     'y'    'Y'    em     em      C
53194084Sedwin  022   'u'    'U'    nak    nak    'u'    'U'    nak    nak     C
54194084Sedwin  023   'i'    'I'    ht     ht     'i'    'I'    ht     ht      C
55194084Sedwin  024   'o'    'O'    si     si     'o'    'O'    si     si      C
56194084Sedwin  025   'p'    'P'    dle    dle    'p'    'P'    dle    dle     C
57270114Sse  026   0xe5   0xc5   nop    nop    0x86   0x8f   nop    nop     C
58270114Sse  027   duml   dcir   rs     rs     dtil   '^'    rs     rs      O
59194084Sedwin  028   cr     cr     nl     nl     cr     cr     nl     nl      O
60194084Sedwin  029   lctrl  lctrl  lctrl  lctrl  lctrl  lctrl  lctrl  lctrl   O
61194084Sedwin  030   'a'    'A'    soh    soh    'a'    'A'    soh    soh     C
62270114Sse  031   's'    'S'    dc3    dc3    0xdf   'S'    dc3    dc3     C
63194084Sedwin  032   'd'    'D'    eot    eot    'd'    'D'    eot    eot     C
64194084Sedwin  033   'f'    'F'    ack    ack    'f'    'F'    ack    ack     C
65194084Sedwin  034   'g'    'G'    bel    bel    'g'    'G'    bel    bel     C
66194084Sedwin  035   'h'    'H'    bs     bs     'h'    'H'    bs     bs      C
67194084Sedwin  036   'j'    'J'    nl     nl     'j'    'J'    nl     nl      C
68194084Sedwin  037   'k'    'K'    vt     vt     'k'    'K'    vt     vt      C
69194084Sedwin  038   'l'    'L'    ff     ff     'l'    'L'    ff     ff      C
70270114Sse  039   0xe6   0xc6   nop    nop    0x91   0x92   nop    nop     C
71270114Sse  040   0xf8   0xd8   nop    nop    0x9b   0x9d   nop    nop     C
72270310Sse  041   0xbd   0xa7   nop    nop    0xbd   0xa7   nop    nop     O
73194084Sedwin  042   lshift lshift lshift lshift lshift lshift lshift lshift  O
74194084Sedwin  043   '''    '*'    nop    nop    '''    '*'    nop    nop     O
75194084Sedwin  044   'z'    'Z'    sub    sub    'z'    'Z'    sub    sub     C
76194084Sedwin  045   'x'    'X'    can    can    'x'    'X'    can    can     C
77194084Sedwin  046   'c'    'C'    etx    etx    'c'    'C'    etx    etx     C
78194084Sedwin  047   'v'    'V'    syn    syn    'v'    'V'    syn    syn     C
79194084Sedwin  048   'b'    'B'    stx    stx    'b'    'B'    stx    stx     C
80194084Sedwin  049   'n'    'N'    so     so     'n'    'N'    so     so      C
81194084Sedwin  050   'm'    'M'    cr     cr     'm'    'M'    cr     cr      C
82194084Sedwin  051   ','    ';'    nop    nop    ','    ';'    nop    nop     O
83194084Sedwin  052   '.'    ':'    nop    nop    '.'    ':'    nop    nop     O
84194084Sedwin  053   '-'    '_'    us     us     '-'    '_'    us     us      O
85194084Sedwin  054   rshift rshift rshift rshift rshift rshift rshift rshift  O
86194084Sedwin  055   '*'    '*'    '*'    '*'    '*'    '*'    '*'    '*'     O
87194084Sedwin  056   lalt   lalt   lalt   lalt   lalt   lalt   lalt   lalt    O
88194084Sedwin  057   ' '    ' '    nul    ' '    ' '    ' '    susp   ' '     O
89194084Sedwin  058   clock  clock  clock  clock  clock  clock  clock  clock   O
90194084Sedwin  059   fkey01 fkey13 fkey25 fkey37 scr01  scr11  scr01  scr11   O
91194084Sedwin  060   fkey02 fkey14 fkey26 fkey38 scr02  scr12  scr02  scr12   O
92194084Sedwin  061   fkey03 fkey15 fkey27 fkey39 scr03  scr13  scr03  scr13   O
93194084Sedwin  062   fkey04 fkey16 fkey28 fkey40 scr04  scr14  scr04  scr14   O
94194084Sedwin  063   fkey05 fkey17 fkey29 fkey41 scr05  scr15  scr05  scr15   O
95194084Sedwin  064   fkey06 fkey18 fkey30 fkey42 scr06  scr16  scr06  scr16   O
96194084Sedwin  065   fkey07 fkey19 fkey31 fkey43 scr07  scr07  scr07  scr07   O
97194084Sedwin  066   fkey08 fkey20 fkey32 fkey44 scr08  scr08  scr08  scr08   O
98194084Sedwin  067   fkey09 fkey21 fkey33 fkey45 scr09  scr09  scr09  scr09   O
99194084Sedwin  068   fkey10 fkey22 fkey34 fkey46 scr10  scr10  scr10  scr10   O
100194084Sedwin  069   nlock  nlock  nlock  nlock  nlock  nlock  nlock  nlock   O
101194084Sedwin  070   slock  slock  slock  slock  slock  slock  slock  slock   O
102194084Sedwin  071   fkey49 '7'    '7'    '7'    '7'    '7'    '7'    '7'     N
103194084Sedwin  072   fkey50 '8'    '8'    '8'    '8'    '8'    '8'    '8'     N
104194084Sedwin  073   fkey51 '9'    '9'    '9'    '9'    '9'    '9'    '9'     N
105194084Sedwin  074   fkey52 '-'    '-'    '-'    '-'    '-'    '-'    '-'     N
106194084Sedwin  075   fkey53 '4'    '4'    '4'    '4'    '4'    '4'    '4'     N
107194084Sedwin  076   fkey54 '5'    '5'    '5'    '5'    '5'    '5'    '5'     N
108194084Sedwin  077   fkey55 '6'    '6'    '6'    '6'    '6'    '6'    '6'     N
109194084Sedwin  078   fkey56 '+'    '+'    '+'    '+'    '+'    '+'    '+'     N
110194084Sedwin  079   fkey57 '1'    '1'    '1'    '1'    '1'    '1'    '1'     N
111194084Sedwin  080   fkey58 '2'    '2'    '2'    '2'    '2'    '2'    '2'     N
112194084Sedwin  081   fkey59 '3'    '3'    '3'    '3'    '3'    '3'    '3'     N
113194084Sedwin  082   fkey60 '0'    '0'    '0'    '0'    '0'    '0'    '0'     N
114194084Sedwin  083   del    '.'    '.'    '.'    '.'    '.'    boot   boot    N
115194084Sedwin  084   nop    nop    nop    nop    nop    nop    nop    nop     O
116194084Sedwin  085   nop    nop    nop    nop    nop    nop    nop    nop     O
117194084Sedwin  086   '<'    '>'    fs     fs     '\'    '>'    fs     fs      O
118194084Sedwin  087   fkey11 fkey23 fkey35 fkey47 scr11  scr11  scr11  scr11   O
119194084Sedwin  088   fkey12 fkey24 fkey36 fkey48 scr12  scr12  scr12  scr12   O
120194084Sedwin  089   cr     cr     nl     nl     cr     cr     nl     nl      O
121194084Sedwin  090   rctrl  rctrl  rctrl  rctrl  rctrl  rctrl  rctrl  rctrl   O
122194084Sedwin  091   '/'    '/'    '/'    '/'    '/'    '/'    '/'    '/'     O
123194084Sedwin  092   nscr   pscr   debug  debug  nop    nop    nop    nop     O
124194084Sedwin  093   ralt   ralt   ralt   ralt   ralt   ralt   ralt   ralt    O
125194084Sedwin  094   fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49  O
126194084Sedwin  095   fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50  O
127194084Sedwin  096   fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51  O
128194084Sedwin  097   fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53  O
129194084Sedwin  098   fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55  O
130194084Sedwin  099   fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57  O
131194084Sedwin  100   fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58  O
132194084Sedwin  101   fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59  O
133194084Sedwin  102   fkey60 paste  fkey60 fkey60 fkey60 fkey60 fkey60 fkey60  O
134270114Sse  103   fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot   fkey61  O
135194084Sedwin  104   slock  saver  slock  saver  susp   nop    susp   nop     O
136194084Sedwin  105   fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62  O
137194084Sedwin  106   fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63  O
138194084Sedwin  107   fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64  O
139194084Sedwin  108   nop    nop    nop    nop    nop    nop    nop    nop     O
140194084Sedwin
141270114Sse  duml '"'     ( 'a'    0xe4    ) ( 'A'    0xc4    ) ( 'e'    0xeb    ) ( 'E'    0xcb    )
142270114Sse               ( 'i'    0xef    ) ( 'I'    0xcf    ) ( 'o'    0xf6    ) ( 'O'    0xd6    )
143270114Sse               ( 'u'    0xfc    ) ( 'U'    0xdc    ) ( 'y'    0xff    )
144270114Sse
145270114Sse  dcir '^'     ( 'a'    0xe2    ) ( 'A'    0xc2    ) ( 'e'    0xea    ) ( 'E'    0xca    )
146270114Sse               ( 'i'    0xee    ) ( 'I'    0xce    ) ( 'o'    0xf4    ) ( 'O'    0xd4    )
147270114Sse               ( 'u'    0xfb    ) ( 'U'    0xdb    )
148270114Sse
149270114Sse  dtil '~'     ( 'a'    0xe3    ) ( 'A'    0xc3    ) ( 'n'    0xf1    ) ( 'N'    0xd1    )
150270114Sse               ( 'o'    0xf5    ) ( 'O'    0xd5    )
151270114Sse
152270114Sse  dgra '`'     ( 'a'    0xe0    ) ( 'A'    0xc0    ) ( 'e'    0xe8    ) ( 'E'    0xc8    )
153270114Sse               ( 'i'    0xec    ) ( 'I'    0xcc    ) ( 'o'    0xf2    ) ( 'O'    0xd2    )
154270114Sse               ( 'u'    0xf9    ) ( 'U'    0xd9    )
155270114Sse
156270310Sse  dacu '''     ( 'a'    0xe1    ) ( 'A'    0xc1    ) ( 'e'    0xe9    ) ( 'E'    0xc9    )
157270114Sse               ( 'i'    0xed    ) ( 'I'    0xcd    ) ( 'o'    0xf3    ) ( 'O'    0xd3    )
158270114Sse               ( 'u'    0xfa    ) ( 'U'    0xda    ) ( 'y'    0xfd    ) ( 'Y'    0xdd    )
159270114Sse
160270114Sse  drin 0xb0    ( 'a'    0xe5    ) ( 'A'    0xc5    )
161270114Sse
162270114Sse  dced 0xb8    ( 'c'    0xe7    ) ( 'C'    0xc7    )
163