2 # Kim Norgaard <jasen@jasen.dk>, Denmark.
5 # Redistribution and use in source and binary forms, with or without
6 # modification, are permitted provided that the following conditions
8 # 1. Redistributions of source code must retain the above copyright
9 # notice, this list of conditions and the following disclaimer as
10 # the first lines of this file unmodified.
11 # 2. Redistributions in binary form must reproduce the above copyright
12 # notice, this list of conditions and the following disclaimer in the
13 # documentation and/or other materials provided with the distribution.
15 # THIS SOFTWARE IS PROVIDED BY KIM NOORGAARD ``AS IS'' AND ANY EXPRESS OR
16 # IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
17 # OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
18 # IN NO EVENT SHALL KIM NOORGAARD BE LIABLE FOR ANY DIRECT, INDIRECT,
19 # INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
20 # NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
21 # DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
22 # THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
23 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
24 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
27 # scan cntrl alt alt cntrl lock
28 # code base shift cntrl shift alt shift cntrl shift state
29 # ------------------------------------------------------------------
30 000 nop nop nop nop nop nop nop nop O
31 001 esc esc esc esc esc esc debug esc O
32 002 '1' '!' nop nop 161 185 nop nop O
33 003 '2' '"' nul nul '@' 178 nul nul O
34 004 '3' '#' nop nop 158 179 nop nop O
35 005 '4' 164 nop nop '$' 164 nop nop O
36 006 '5' '%' nop nop '5' '%' nop nop O
37 007 '6' '&' nop nop '6' '&' nop nop O
38 008 '7' '/' nop nop '{' '/' nop nop O
39 009 '8' '(' esc esc '[' '8' esc esc O
40 010 '9' ')' gs gs ']' ')' gs gs O
41 011 '0' '=' nop nop '}' '=' nop nop O
42 012 '+' '?' nop nop '+' 191 nop nop O
43 013 dacu dgra nop nop '|' '`' nop nop O
44 014 bs bs del del bs bs del del O
45 015 ht btab nop nop ht btab nop nop O
46 016 'q' 'Q' dc1 dc1 'q' 'Q' dc1 dc1 C
47 017 'w' 'W' etb etb 'w' 'W' etb etb C
48 018 'e' 'E' enq enq 164 'E' enq enq C
49 019 'r' 'R' dc2 dc2 'r' 'R' dc2 dc2 C
50 020 't' 'T' dc4 dc4 't' 'T' dc4 dc4 C
51 021 'y' 'Y' em em 'y' 'Y' em em C
52 022 'u' 'U' nak nak 'u' 'U' nak nak C
53 023 'i' 'I' ht ht 'i' 'I' ht ht C
54 024 'o' 'O' si si 'o' 'O' si si C
55 025 'p' 'P' dle dle 'p' 'P' dle dle C
56 026 229 197 nop nop 134 143 nop nop C
57 027 duml dcir rs rs dtil '^' rs rs O
58 028 cr cr nl nl cr cr nl nl O
59 029 lctrl lctrl lctrl lctrl lctrl lctrl lctrl lctrl O
60 030 'a' 'A' soh soh 'a' 'A' soh soh C
61 031 's' 'S' dc3 dc3 223 'S' dc3 dc3 C
62 032 'd' 'D' eot eot 'd' 'D' eot eot C
63 033 'f' 'F' ack ack 'f' 'F' ack ack C
64 034 'g' 'G' bel bel 'g' 'G' bel bel C
65 035 'h' 'H' bs bs 'h' 'H' bs bs C
66 036 'j' 'J' nl nl 'j' 'J' nl nl C
67 037 'k' 'K' vt vt 'k' 'K' vt vt C
68 038 'l' 'L' ff ff 'l' 'L' ff ff C
69 039 230 198 nop nop 145 146 nop nop C
70 040 248 216 nop nop 155 157 nop nop C
71 041 189 167 nop nop 189 167 nop nop O
72 042 lshift lshift lshift lshift lshift lshift lshift lshift O
73 043 ''' '*' nop nop ''' '*' nop nop O
74 044 'z' 'Z' sub sub 'z' 'Z' sub sub C
75 045 'x' 'X' can can 'x' 'X' can can C
76 046 'c' 'C' etx etx 'c' 'C' etx etx C
77 047 'v' 'V' syn syn 'v' 'V' syn syn C
78 048 'b' 'B' stx stx 'b' 'B' stx stx C
79 049 'n' 'N' so so 'n' 'N' so so C
80 050 'm' 'M' cr cr 'm' 'M' cr cr C
81 051 ',' ';' nop nop ',' ';' nop nop O
82 052 '.' ':' nop nop '.' ':' nop nop O
83 053 '-' '_' us us '-' '_' us us O
84 054 rshift rshift rshift rshift rshift rshift rshift rshift O
85 055 '*' '*' '*' '*' '*' '*' '*' '*' O
86 056 lalt lalt lalt lalt lalt lalt lalt lalt O
87 057 ' ' ' ' nul ' ' ' ' ' ' susp ' ' O
88 058 clock clock clock clock clock clock clock clock O
89 059 fkey01 fkey13 fkey25 fkey37 scr01 scr11 scr01 scr11 O
90 060 fkey02 fkey14 fkey26 fkey38 scr02 scr12 scr02 scr12 O
91 061 fkey03 fkey15 fkey27 fkey39 scr03 scr13 scr03 scr13 O
92 062 fkey04 fkey16 fkey28 fkey40 scr04 scr14 scr04 scr14 O
93 063 fkey05 fkey17 fkey29 fkey41 scr05 scr15 scr05 scr15 O
94 064 fkey06 fkey18 fkey30 fkey42 scr06 scr16 scr06 scr16 O
95 065 fkey07 fkey19 fkey31 fkey43 scr07 scr07 scr07 scr07 O
96 066 fkey08 fkey20 fkey32 fkey44 scr08 scr08 scr08 scr08 O
97 067 fkey09 fkey21 fkey33 fkey45 scr09 scr09 scr09 scr09 O
98 068 fkey10 fkey22 fkey34 fkey46 scr10 scr10 scr10 scr10 O
99 069 nlock nlock nlock nlock nlock nlock nlock nlock O
100 070 slock slock slock slock slock slock slock slock O
101 071 fkey49 '7' '7' '7' '7' '7' '7' '7' N
102 072 fkey50 '8' '8' '8' '8' '8' '8' '8' N
103 073 fkey51 '9' '9' '9' '9' '9' '9' '9' N
104 074 fkey52 '-' '-' '-' '-' '-' '-' '-' N
105 075 fkey53 '4' '4' '4' '4' '4' '4' '4' N
106 076 fkey54 '5' '5' '5' '5' '5' '5' '5' N
107 077 fkey55 '6' '6' '6' '6' '6' '6' '6' N
108 078 fkey56 '+' '+' '+' '+' '+' '+' '+' N
109 079 fkey57 '1' '1' '1' '1' '1' '1' '1' N
110 080 fkey58 '2' '2' '2' '2' '2' '2' '2' N
111 081 fkey59 '3' '3' '3' '3' '3' '3' '3' N
112 082 fkey60 '0' '0' '0' '0' '0' '0' '0' N
113 083 del '.' '.' '.' '.' '.' boot boot N
114 084 nop nop nop nop nop nop nop nop O
115 085 nop nop nop nop nop nop nop nop O
116 086 '<' '>' fs fs '\' '>' fs fs O
117 087 fkey11 fkey23 fkey35 fkey47 scr11 scr11 scr11 scr11 O
118 088 fkey12 fkey24 fkey36 fkey48 scr12 scr12 scr12 scr12 O
119 089 cr cr nl nl cr cr nl nl O
120 090 rctrl rctrl rctrl rctrl rctrl rctrl rctrl rctrl O
121 091 '/' '/' '/' '/' '/' '/' '/' '/' O
122 092 nscr pscr debug debug nop nop nop nop O
123 093 ralt ralt ralt ralt ralt ralt ralt ralt O
124 094 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 fkey49 O
125 095 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 fkey50 O
126 096 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 fkey51 O
127 097 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 fkey53 O
128 098 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 fkey55 O
129 099 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 fkey57 O
130 100 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 fkey58 O
131 101 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 fkey59 O
132 102 fkey60 paste fkey60 fkey60 fkey60 fkey60 fkey60 fkey60 O
133 103 fkey61 fkey61 fkey61 fkey61 fkey61 fkey61 boot fkey61 O
134 104 slock saver slock saver susp nop susp nop O
135 105 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 fkey62 O
136 106 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 fkey63 O
137 107 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 fkey64 O
138 108 nop nop nop nop nop nop nop nop O
140 duml '"' ( 'a' 228 ) ( 'A' 196 ) ( 'e' 235 ) ( 'E' 203 )
141 ( 'i' 239 ) ( 'I' 207 ) ( 'o' 246 ) ( 'O' 214 )
142 ( 'u' 252 ) ( 'U' 220 ) ( 'y' 255 )
143 dcir '^' ( 'a' 226 ) ( 'A' 194 ) ( 'e' 234 ) ( 'E' 202 )
144 ( 'i' 238 ) ( 'I' 206 ) ( 'o' 244 ) ( 'O' 212 )
145 ( 'u' 251 ) ( 'U' 219 )
146 dtil '~' ( 'a' 227 ) ( 'A' 195 ) ( 'n' 241 ) ( 'N' 209 )
147 ( 'o' 245 ) ( 'O' 213 )
148 dgra '`' ( 'a' 224 ) ( 'A' 192 ) ( 'e' 232 ) ( 'E' 200 )
149 ( 'i' 236 ) ( 'I' 204 ) ( 'o' 242 ) ( 'O' 210 )
150 ( 'u' 249 ) ( 'U' 217 )
151 dacu ''' ( 'a' 225 ) ( 'A' 193 ) ( 'e' 233 ) ( 'E' 201 )
152 ( 'i' 237 ) ( 'I' 205 ) ( 'o' 243 ) ( 'O' 211 )
153 ( 'u' 250 ) ( 'U' 218 ) ( 'y' 253 ) ( 'Y' 221 )
154 drin 176 ( 'a' 229 ) ( 'A' 197 )
155 dced 184 ( 'c' 231 ) ( 'C' 199 )