summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Bilunov <dbilunov@mirantis.com>2015-12-16 17:37:52 +0300
committerDmitry Bilunov <dbilunov@mirantis.com>2015-12-17 12:09:23 +0300
commit95a5cfb6f17ebac692d0937fc3fc301d3259dda2 (patch)
tree24c097e8f8aa574f2d3ec294a02b970b74627bde
parentc5cbe939d6fcebd0a239b5ed0da158ceca33bde5 (diff)
Do not hardcode scancodes that change isolinux boot params
We have a "skipfuelmenu" variable in virtualbox scripts, which allows to skip "fuelmenu" step during the installation procedure. This option is enabled by default. Currently, we have a hardcoded variable $boot_line, which contains scan codes, passed by VirtualBox into isolinux on an emulated keyboard. We should generate these scancodes from a user specified line instead of hardcoding them. Partial-Bug: 1525967 Change-Id: Ia2419b5e2eaa4b30cd2876112d7c080abbebcba5
-rwxr-xr-xactions/master-node-create-and-install.sh6
-rw-r--r--dumpkeys.cache1348
-rw-r--r--functions/translate.sh84
3 files changed, 1436 insertions, 2 deletions
diff --git a/actions/master-node-create-and-install.sh b/actions/master-node-create-and-install.sh
index 33b5b1c..29d5ec8 100755
--- a/actions/master-node-create-and-install.sh
+++ b/actions/master-node-create-and-install.sh
@@ -24,6 +24,7 @@ source ./config.sh
24source ./functions/vm.sh 24source ./functions/vm.sh
25source ./functions/network.sh 25source ./functions/network.sh
26source ./functions/product.sh 26source ./functions/product.sh
27source ./functions/translate.sh
27 28
28# Create master node for the product 29# Create master node for the product
29# Get variables "host_nic_name" for the master node 30# Get variables "host_nic_name" for the master node
@@ -49,8 +50,9 @@ if [ ${headless} -eq 1 ]; then
49fi 50fi
50 51
51if [ "$skipfuelmenu" = "yes" ]; then 52if [ "$skipfuelmenu" = "yes" ]; then
52 # " vmlinuz initrd=initrd.img biosdevname=0 ks=cdrom:/ks.cfg ip=10.20.0.2 gw=10.20.0.1 dns1=10.20.0.1 netmask=255.255.255.0 hostname=fuel.domain.tld showmenu=no" line is coded 53 cmdline="$(grep 'append initrd' ../iso/isolinux/isolinux.cfg -m1 2> /dev/null | sed -e 's/^[ ]*append//')"
53 boot_line=" 39 b9 2f af 32 b2 26 a6 17 97 31 b1 16 96 2c ac 39 b9 17 97 31 b1 17 97 14 94 13 93 20 a0 0d 8d 17 97 31 b1 17 97 14 94 13 93 20 a0 34 b4 17 97 32 b2 22 a2 39 b9 30 b0 17 97 18 98 1f 9f 20 a0 12 92 2f af 31 b1 1e 9e 32 b2 12 92 0d 8d 0b 8b 39 b9 25 a5 1f 9f 0d 8d 2e ae 20 a0 13 93 18 98 32 b2 2a 27 a7 aa 35 b5 25 a5 1f 9f 34 b4 2e ae 21 a1 22 a2 39 b9 17 97 19 99 0d 8d 02 82 0b 8b 34 b4 03 83 0b 8b 34 b4 0b 8b 34 b4 03 83 39 b9 22 a2 11 91 0d 8d 02 82 0b 8b 34 b4 03 83 0b 8b 34 b4 0b 8b 34 b4 02 82 39 b9 20 a0 31 b1 1f 9f 02 82 0d 8d 02 82 0b 8b 34 b4 03 83 0b 8b 34 b4 0b 8b 34 b4 02 82 39 b9 31 b1 12 92 14 94 32 b2 1e 9e 1f 9f 25 a5 0d 8d 03 83 06 86 06 86 34 b4 03 83 06 86 06 86 34 b4 03 83 06 86 06 86 34 b4 0b 8b 39 b9 23 a3 18 98 1f 9f 14 94 31 b1 1e 9e 32 b2 12 92 0d 8d 21 a1 16 96 12 92 26 a6 34 b4 20 a0 18 98 32 b2 1e 9e 17 97 31 b1 34 b4 14 94 26 a6 20 a0 39 b9 1f 9f 23 a3 18 98 11 91 32 b2 12 92 31 b1 16 96 0d 8d 31 b1 18 98 1c 9c" 54 cmdline="${cmdline:- initrd=initrd.img net.ifnames=0 biosdevname=0 ks=hd:sr0:/ks.cfg ip=10.20.0.2::10.20.0.1:255.255.255.0:fuel.domain.tld:eth0:off::: dns1=10.20.0.1 selinux=0}"
55 boot_line="$(translate "$cmdline showmenu=no"$'\n')"
54fi 56fi
55 57
56# Start virtual machine with the master node 58# Start virtual machine with the master node
diff --git a/dumpkeys.cache b/dumpkeys.cache
new file mode 100644
index 0000000..1f7de9b
--- /dev/null
+++ b/dumpkeys.cache
@@ -0,0 +1,1348 @@
1keymaps 0-255
2keycode 1 = Escape Escape Escape
3 control keycode 1 = Escape
4 shift control keycode 1 = Escape
5 altgr control keycode 1 = Escape
6 alt keycode 1 = Meta_Escape
7 shift alt keycode 1 = Meta_Escape
8 control alt keycode 1 = Meta_Escape
9keycode 2 = one exclam
10 alt keycode 2 = Meta_one
11 shift alt keycode 2 = Meta_exclam
12keycode 3 = two at at
13 control keycode 3 = nul
14 shift control keycode 3 = nul
15 alt keycode 3 = Meta_two
16 shift alt keycode 3 = Meta_at
17 control alt keycode 3 = Meta_nul
18keycode 4 = three numbersign
19 control keycode 4 = Escape
20 alt keycode 4 = Meta_three
21 shift alt keycode 4 = Meta_numbersign
22keycode 5 = four dollar dollar
23 control keycode 5 = Control_backslash
24 alt keycode 5 = Meta_four
25 shift alt keycode 5 = Meta_dollar
26 control alt keycode 5 = Meta_Control_backslash
27keycode 6 = five percent
28 control keycode 6 = Control_bracketright
29 alt keycode 6 = Meta_five
30 shift alt keycode 6 = Meta_percent
31keycode 7 = six asciicircum
32 control keycode 7 = Control_asciicircum
33 alt keycode 7 = Meta_six
34 shift alt keycode 7 = Meta_asciicircum
35keycode 8 = seven ampersand braceleft
36 control keycode 8 = Control_underscore
37 alt keycode 8 = Meta_seven
38 shift alt keycode 8 = Meta_ampersand
39 control alt keycode 8 = Meta_Control_underscore
40keycode 9 = eight asterisk bracketleft
41 control keycode 9 = Delete
42 alt keycode 9 = Meta_eight
43 shift alt keycode 9 = Meta_asterisk
44 control alt keycode 9 = Meta_Delete
45keycode 10 = nine parenleft bracketright
46 alt keycode 10 = Meta_nine
47 shift alt keycode 10 = Meta_parenleft
48keycode 11 = zero parenright braceright
49 alt keycode 11 = Meta_zero
50 shift alt keycode 11 = Meta_parenright
51keycode 12 = minus underscore backslash
52 control keycode 12 = Control_underscore
53 shift control keycode 12 = Control_underscore
54 alt keycode 12 = Meta_minus
55 shift alt keycode 12 = Meta_underscore
56 control alt keycode 12 = Meta_Control_underscore
57keycode 13 = equal plus
58 alt keycode 13 = Meta_equal
59 shift alt keycode 13 = Meta_plus
60keycode 14 = Delete Delete Delete
61 control keycode 14 = Delete
62 shift control keycode 14 = Delete
63 altgr control keycode 14 = Delete
64 alt keycode 14 = Meta_Delete
65 shift alt keycode 14 = Meta_Delete
66 control alt keycode 14 = Meta_Delete
67keycode 15 = Tab Meta_Tab Tab
68 control keycode 15 = Tab
69 shift control keycode 15 = Tab
70 altgr control keycode 15 = Tab
71 alt keycode 15 = Meta_Tab
72 shift alt keycode 15 = Tab
73 control alt keycode 15 = Meta_Tab
74keycode 16 = +q +Q +q
75 control keycode 16 = Control_q
76 shift control keycode 16 = Control_q
77 altgr control keycode 16 = Control_q
78 alt keycode 16 = Meta_q
79 shift alt keycode 16 = Meta_Q
80 control alt keycode 16 = Meta_Control_q
81keycode 17 = +w +W +w
82 control keycode 17 = Control_w
83 shift control keycode 17 = Control_w
84 altgr control keycode 17 = Control_w
85 alt keycode 17 = Meta_w
86 shift alt keycode 17 = Meta_W
87 control alt keycode 17 = Meta_Control_w
88keycode 18 = +e +E +e
89 control keycode 18 = Control_e
90 shift control keycode 18 = Control_e
91 altgr control keycode 18 = Control_e
92 alt keycode 18 = Meta_e
93 shift alt keycode 18 = Meta_E
94 control alt keycode 18 = Meta_Control_e
95keycode 19 = +r +R +r
96 control keycode 19 = Control_r
97 shift control keycode 19 = Control_r
98 altgr control keycode 19 = Control_r
99 alt keycode 19 = Meta_r
100 shift alt keycode 19 = Meta_R
101 control alt keycode 19 = Meta_Control_r
102keycode 20 = +t +T +t
103 control keycode 20 = Control_t
104 shift control keycode 20 = Control_t
105 altgr control keycode 20 = Control_t
106 alt keycode 20 = Meta_t
107 shift alt keycode 20 = Meta_T
108 control alt keycode 20 = Meta_Control_t
109keycode 21 = +y +Y +y
110 control keycode 21 = Control_y
111 shift control keycode 21 = Control_y
112 altgr control keycode 21 = Control_y
113 alt keycode 21 = Meta_y
114 shift alt keycode 21 = Meta_Y
115 control alt keycode 21 = Meta_Control_y
116keycode 22 = +u +U +u
117 control keycode 22 = Control_u
118 shift control keycode 22 = Control_u
119 altgr control keycode 22 = Control_u
120 alt keycode 22 = Meta_u
121 shift alt keycode 22 = Meta_U
122 control alt keycode 22 = Meta_Control_u
123keycode 23 = +i +I +i
124 control keycode 23 = Tab
125 shift control keycode 23 = Tab
126 altgr control keycode 23 = Tab
127 alt keycode 23 = Meta_i
128 shift alt keycode 23 = Meta_I
129 control alt keycode 23 = Meta_Tab
130keycode 24 = +o +O +o
131 control keycode 24 = Control_o
132 shift control keycode 24 = Control_o
133 altgr control keycode 24 = Control_o
134 alt keycode 24 = Meta_o
135 shift alt keycode 24 = Meta_O
136 control alt keycode 24 = Meta_Control_o
137keycode 25 = +p +P +p
138 control keycode 25 = Control_p
139 shift control keycode 25 = Control_p
140 altgr control keycode 25 = Control_p
141 alt keycode 25 = Meta_p
142 shift alt keycode 25 = Meta_P
143 control alt keycode 25 = Meta_Control_p
144keycode 26 = bracketleft braceleft
145 control keycode 26 = Escape
146 alt keycode 26 = Meta_bracketleft
147 shift alt keycode 26 = Meta_braceleft
148keycode 27 = bracketright braceright asciitilde
149 control keycode 27 = Control_bracketright
150 alt keycode 27 = Meta_bracketright
151 shift alt keycode 27 = Meta_braceright
152 control alt keycode 27 = Meta_Control_bracketright
153keycode 28 = Return Return Return
154 control keycode 28 = Return
155 shift control keycode 28 = Return
156 altgr control keycode 28 = Return
157 alt keycode 28 = Meta_Control_m
158 shift alt keycode 28 = Return
159 control alt keycode 28 = Return
160keycode 29 = Control Control Control
161 control keycode 29 = Control
162 shift control keycode 29 = Control
163 altgr control keycode 29 = Control
164 alt keycode 29 = Control
165 shift alt keycode 29 = Control
166 control alt keycode 29 = Control
167keycode 30 = +a +A +a
168 control keycode 30 = Control_a
169 shift control keycode 30 = Control_a
170 altgr control keycode 30 = Control_a
171 alt keycode 30 = Meta_a
172 shift alt keycode 30 = Meta_A
173 control alt keycode 30 = Meta_Control_a
174keycode 31 = +s +S +s
175 control keycode 31 = Control_s
176 shift control keycode 31 = Control_s
177 altgr control keycode 31 = Control_s
178 alt keycode 31 = Meta_s
179 shift alt keycode 31 = Meta_S
180 control alt keycode 31 = Meta_Control_s
181keycode 32 = +d +D +d
182 control keycode 32 = Control_d
183 shift control keycode 32 = Control_d
184 altgr control keycode 32 = Control_d
185 alt keycode 32 = Meta_d
186 shift alt keycode 32 = Meta_D
187 control alt keycode 32 = Meta_Control_d
188keycode 33 = +f +F +f
189 control keycode 33 = Control_f
190 shift control keycode 33 = Control_f
191 altgr control keycode 33 = Control_f
192 alt keycode 33 = Meta_f
193 shift alt keycode 33 = Meta_F
194 control alt keycode 33 = Meta_Control_f
195keycode 34 = +g +G +g
196 control keycode 34 = Control_g
197 shift control keycode 34 = Control_g
198 altgr control keycode 34 = Control_g
199 alt keycode 34 = Meta_g
200 shift alt keycode 34 = Meta_G
201 control alt keycode 34 = Meta_Control_g
202keycode 35 = +h +H +h
203 control keycode 35 = BackSpace
204 shift control keycode 35 = BackSpace
205 altgr control keycode 35 = BackSpace
206 alt keycode 35 = Meta_h
207 shift alt keycode 35 = Meta_H
208 control alt keycode 35 = Meta_BackSpace
209keycode 36 = +j +J +j
210 control keycode 36 = Linefeed
211 shift control keycode 36 = Linefeed
212 altgr control keycode 36 = Linefeed
213 alt keycode 36 = Meta_j
214 shift alt keycode 36 = Meta_J
215 control alt keycode 36 = Meta_Linefeed
216keycode 37 = +k +K +k
217 control keycode 37 = Control_k
218 shift control keycode 37 = Control_k
219 altgr control keycode 37 = Control_k
220 alt keycode 37 = Meta_k
221 shift alt keycode 37 = Meta_K
222 control alt keycode 37 = Meta_Control_k
223keycode 38 = +l +L +l
224 control keycode 38 = Control_l
225 shift control keycode 38 = Control_l
226 altgr control keycode 38 = Control_l
227 alt keycode 38 = Meta_l
228 shift alt keycode 38 = Meta_L
229 control alt keycode 38 = Meta_Control_l
230keycode 39 = semicolon colon
231 alt keycode 39 = Meta_semicolon
232 shift alt keycode 39 = Meta_colon
233keycode 40 = apostrophe quotedbl
234 control keycode 40 = Control_g
235 alt keycode 40 = Meta_apostrophe
236 shift alt keycode 40 = Meta_quotedbl
237keycode 41 = grave asciitilde
238 control keycode 41 = nul
239 alt keycode 41 = Meta_grave
240 shift alt keycode 41 = Meta_asciitilde
241keycode 42 = Shift Shift Shift
242 control keycode 42 = Shift
243 shift control keycode 42 = Shift
244 altgr control keycode 42 = Shift
245 alt keycode 42 = Shift
246 shift alt keycode 42 = Shift
247 control alt keycode 42 = Shift
248keycode 43 = backslash bar
249 control keycode 43 = Control_backslash
250 alt keycode 43 = Meta_backslash
251 shift alt keycode 43 = Meta_bar
252keycode 44 = +z +Z +z
253 control keycode 44 = Control_z
254 shift control keycode 44 = Control_z
255 altgr control keycode 44 = Control_z
256 alt keycode 44 = Meta_z
257 shift alt keycode 44 = Meta_Z
258 control alt keycode 44 = Meta_Control_z
259keycode 45 = +x +X +x
260 control keycode 45 = Control_x
261 shift control keycode 45 = Control_x
262 altgr control keycode 45 = Control_x
263 alt keycode 45 = Meta_x
264 shift alt keycode 45 = Meta_X
265 control alt keycode 45 = Meta_Control_x
266keycode 46 = +c +C
267 control keycode 46 = Control_c
268 shift control keycode 46 = Control_c
269 altgr control keycode 46 = Control_c
270 alt keycode 46 = Meta_c
271 shift alt keycode 46 = Meta_C
272 control alt keycode 46 = Meta_Control_c
273keycode 47 = +v +V +v
274 control keycode 47 = Control_v
275 shift control keycode 47 = Control_v
276 altgr control keycode 47 = Control_v
277 alt keycode 47 = Meta_v
278 shift alt keycode 47 = Meta_V
279 control alt keycode 47 = Meta_Control_v
280keycode 48 = +b +B +b
281 control keycode 48 = Control_b
282 shift control keycode 48 = Control_b
283 altgr control keycode 48 = Control_b
284 alt keycode 48 = Meta_b
285 shift alt keycode 48 = Meta_B
286 control alt keycode 48 = Meta_Control_b
287keycode 49 = +n +N +n
288 control keycode 49 = Control_n
289 shift control keycode 49 = Control_n
290 altgr control keycode 49 = Control_n
291 alt keycode 49 = Meta_n
292 shift alt keycode 49 = Meta_N
293 control alt keycode 49 = Meta_Control_n
294keycode 50 = +m +M +m
295 control keycode 50 = Control_m
296 shift control keycode 50 = Control_m
297 altgr control keycode 50 = Control_m
298 alt keycode 50 = Meta_m
299 shift alt keycode 50 = Meta_M
300 control alt keycode 50 = Meta_Control_m
301keycode 51 = comma less
302 alt keycode 51 = Meta_comma
303 shift alt keycode 51 = Meta_less
304keycode 52 = period greater
305 alt keycode 52 = Meta_period
306 shift alt keycode 52 = Meta_greater
307keycode 53 = slash question
308 control keycode 53 = Control_underscore
309 shift control keycode 53 = Delete
310 alt keycode 53 = Meta_slash
311 shift alt keycode 53 = Meta_question
312keycode 54 = Shift Shift Shift
313 control keycode 54 = Shift
314 shift control keycode 54 = Shift
315 altgr control keycode 54 = Shift
316 alt keycode 54 = Shift
317 shift alt keycode 54 = Shift
318 control alt keycode 54 = Shift
319keycode 55 = KP_Multiply KP_Multiply Hex_C
320 control keycode 55 = KP_Multiply
321 shift control keycode 55 = KP_Multiply
322 altgr control keycode 55 = KP_Multiply
323 alt keycode 55 = KP_Multiply
324 shift alt keycode 55 = KP_Multiply
325 control alt keycode 55 = KP_Multiply
326keycode 56 = Alt Alt Alt
327 control keycode 56 = Alt
328 shift control keycode 56 = Alt
329 altgr control keycode 56 = Alt
330 alt keycode 56 = Alt
331 shift alt keycode 56 = Alt
332 control alt keycode 56 = Alt
333keycode 57 = space space space
334 control keycode 57 = nul
335 shift control keycode 57 = space
336 altgr control keycode 57 = space
337 alt keycode 57 = Meta_space
338 shift alt keycode 57 = Meta_space
339 control alt keycode 57 = Meta_nul
340keycode 58 = Caps_Lock Caps_Lock Caps_Lock
341 control keycode 58 = Caps_Lock
342 shift control keycode 58 = Caps_Lock
343 altgr control keycode 58 = Caps_Lock
344 alt keycode 58 = Caps_Lock
345 shift alt keycode 58 = Caps_Lock
346 control alt keycode 58 = Caps_Lock
347keycode 59 = F1 F13 Console_13
348 control keycode 59 = F25
349 alt keycode 59 = Console_1
350 control alt keycode 59 = Console_1
351keycode 60 = F2 F14 Console_14
352 control keycode 60 = F26
353 alt keycode 60 = Console_2
354 control alt keycode 60 = Console_2
355keycode 61 = F3 F15 Console_15
356 control keycode 61 = F27
357 alt keycode 61 = Console_3
358 control alt keycode 61 = Console_3
359keycode 62 = F4 F16 Console_16
360 control keycode 62 = F28
361 alt keycode 62 = Console_4
362 control alt keycode 62 = Console_4
363keycode 63 = F5 F17 Console_17
364 control keycode 63 = F29
365 alt keycode 63 = Console_5
366 control alt keycode 63 = Console_5
367keycode 64 = F6 F18 Console_18
368 control keycode 64 = F30
369 alt keycode 64 = Console_6
370 control alt keycode 64 = Console_6
371keycode 65 = F7 F19 Console_19
372 control keycode 65 = F31
373 alt keycode 65 = Console_7
374 control alt keycode 65 = Console_7
375keycode 66 = F8 F20 Console_20
376 control keycode 66 = F32
377 alt keycode 66 = Console_8
378 control alt keycode 66 = Console_8
379keycode 67 = F9 F21 Console_21
380 control keycode 67 = F33
381 alt keycode 67 = Console_9
382 control alt keycode 67 = Console_9
383keycode 68 = F10 F22 Console_22
384 control keycode 68 = F34
385 alt keycode 68 = Console_10
386 control alt keycode 68 = Console_10
387keycode 69 = Num_Lock Num_Lock Hex_A
388 control keycode 69 = Num_Lock
389 shift control keycode 69 = Num_Lock
390 altgr control keycode 69 = Num_Lock
391 alt keycode 69 = Num_Lock
392 shift alt keycode 69 = Num_Lock
393 control alt keycode 69 = Num_Lock
394keycode 70 = Scroll_Lock Show_Memory Show_Registers
395 control keycode 70 = Show_State
396 alt keycode 70 = Scroll_Lock
397keycode 71 = KP_7 KP_7 Hex_7
398 control keycode 71 = KP_7
399 shift control keycode 71 = KP_7
400 altgr control keycode 71 = KP_7
401 alt keycode 71 = Ascii_7
402 shift alt keycode 71 = KP_7
403 control alt keycode 71 = KP_7
404keycode 72 = KP_8 KP_8 Hex_8
405 control keycode 72 = KP_8
406 shift control keycode 72 = KP_8
407 altgr control keycode 72 = KP_8
408 alt keycode 72 = Ascii_8
409 shift alt keycode 72 = KP_8
410 control alt keycode 72 = KP_8
411keycode 73 = KP_9 KP_9 Hex_9
412 control keycode 73 = KP_9
413 shift control keycode 73 = KP_9
414 altgr control keycode 73 = KP_9
415 alt keycode 73 = Ascii_9
416 shift alt keycode 73 = KP_9
417 control alt keycode 73 = KP_9
418keycode 74 = KP_Subtract KP_Subtract Hex_D
419 control keycode 74 = KP_Subtract
420 shift control keycode 74 = KP_Subtract
421 altgr control keycode 74 = KP_Subtract
422 alt keycode 74 = KP_Subtract
423 shift alt keycode 74 = KP_Subtract
424 control alt keycode 74 = KP_Subtract
425keycode 75 = KP_4 KP_4 Hex_4
426 control keycode 75 = KP_4
427 shift control keycode 75 = KP_4
428 altgr control keycode 75 = KP_4
429 alt keycode 75 = Ascii_4
430 shift alt keycode 75 = KP_4
431 control alt keycode 75 = KP_4
432keycode 76 = KP_5 KP_5 Hex_5
433 control keycode 76 = KP_5
434 shift control keycode 76 = KP_5
435 altgr control keycode 76 = KP_5
436 alt keycode 76 = Ascii_5
437 shift alt keycode 76 = KP_5
438 control alt keycode 76 = KP_5
439keycode 77 = KP_6 KP_6 Hex_6
440 control keycode 77 = KP_6
441 shift control keycode 77 = KP_6
442 altgr control keycode 77 = KP_6
443 alt keycode 77 = Ascii_6
444 shift alt keycode 77 = KP_6
445 control alt keycode 77 = KP_6
446keycode 78 = KP_Add KP_Add Hex_E
447 control keycode 78 = KP_Add
448 shift control keycode 78 = KP_Add
449 altgr control keycode 78 = KP_Add
450 alt keycode 78 = KP_Add
451 shift alt keycode 78 = KP_Add
452 control alt keycode 78 = KP_Add
453keycode 79 = KP_1 KP_1 Hex_1
454 control keycode 79 = KP_1
455 shift control keycode 79 = KP_1
456 altgr control keycode 79 = KP_1
457 alt keycode 79 = Ascii_1
458 shift alt keycode 79 = KP_1
459 control alt keycode 79 = KP_1
460keycode 80 = KP_2 KP_2 Hex_2
461 control keycode 80 = KP_2
462 shift control keycode 80 = KP_2
463 altgr control keycode 80 = KP_2
464 alt keycode 80 = Ascii_2
465 shift alt keycode 80 = KP_2
466 control alt keycode 80 = KP_2
467keycode 81 = KP_3 KP_3 Hex_3
468 control keycode 81 = KP_3
469 shift control keycode 81 = KP_3
470 altgr control keycode 81 = KP_3
471 alt keycode 81 = Ascii_3
472 shift alt keycode 81 = KP_3
473 control alt keycode 81 = KP_3
474keycode 82 = KP_0 KP_0 Hex_0
475 control keycode 82 = KP_0
476 shift control keycode 82 = KP_0
477 altgr control keycode 82 = KP_0
478 alt keycode 82 = Ascii_0
479 shift alt keycode 82 = KP_0
480 control alt keycode 82 = KP_0
481keycode 83 = KP_Period KP_Period KP_Period
482 control keycode 83 = KP_Period
483 shift control keycode 83 = KP_Period
484 altgr control keycode 83 = Boot
485 alt keycode 83 = KP_Period
486 shift alt keycode 83 = KP_Period
487 control alt keycode 83 = Boot
488keycode 84 = Last_Console Last_Console Last_Console
489 control keycode 84 = Last_Console
490 shift control keycode 84 = Last_Console
491 altgr control keycode 84 = Last_Console
492 alt keycode 84 = Last_Console
493 shift alt keycode 84 = Last_Console
494 control alt keycode 84 = Last_Console
495keycode 86 = less greater bar
496 alt keycode 86 = Meta_less
497 shift alt keycode 86 = Meta_greater
498keycode 87 = F11 F23 Console_23
499 control keycode 87 = F35
500 alt keycode 87 = Console_11
501 control alt keycode 87 = Console_11
502keycode 88 = F12 F24 Console_24
503 control keycode 88 = F36
504 alt keycode 88 = Console_12
505 control alt keycode 88 = Console_12
506keycode 96 = KP_Enter KP_Enter Hex_F
507 control keycode 96 = KP_Enter
508 shift control keycode 96 = KP_Enter
509 altgr control keycode 96 = KP_Enter
510 alt keycode 96 = KP_Enter
511 shift alt keycode 96 = KP_Enter
512 control alt keycode 96 = KP_Enter
513keycode 97 = Control Control Control
514 control keycode 97 = Control
515 shift control keycode 97 = Control
516 altgr control keycode 97 = Control
517 alt keycode 97 = Control
518 shift alt keycode 97 = Control
519 control alt keycode 97 = Control
520keycode 98 = KP_Divide KP_Divide Hex_B
521 control keycode 98 = KP_Divide
522 shift control keycode 98 = KP_Divide
523 altgr control keycode 98 = KP_Divide
524 alt keycode 98 = KP_Divide
525 shift alt keycode 98 = KP_Divide
526 control alt keycode 98 = KP_Divide
527keycode 99 = Compose Compose Compose
528 control keycode 99 = Control_backslash
529 shift control keycode 99 = Compose
530 altgr control keycode 99 = Compose
531 alt keycode 99 = Control_backslash
532 shift alt keycode 99 = Compose
533 control alt keycode 99 = Meta_Control_backslash
534keycode 100 = AltGr AltGr AltGr
535 control keycode 100 = AltGr
536 shift control keycode 100 = AltGr
537 altgr control keycode 100 = AltGr
538 alt keycode 100 = Compose
539 shift alt keycode 100 = AltGr
540 control alt keycode 100 = AltGr
541keycode 101 = Break Break Break
542 control keycode 101 = Break
543 shift control keycode 101 = Break
544 altgr control keycode 101 = Break
545 alt keycode 101 = Break
546 shift alt keycode 101 = Break
547 control alt keycode 101 = Break
548keycode 102 = Find Find Find
549 control keycode 102 = Find
550 shift control keycode 102 = Find
551 altgr control keycode 102 = Find
552 alt keycode 102 = Find
553 shift alt keycode 102 = Find
554 control alt keycode 102 = Find
555keycode 103 = Up Up Up
556 control keycode 103 = Up
557 shift control keycode 103 = Up
558 altgr control keycode 103 = Up
559 alt keycode 103 = KeyboardSignal
560 shift alt keycode 103 = Up
561 control alt keycode 103 = Up
562keycode 104 = Prior Scroll_Backward Prior
563 control keycode 104 = Prior
564 shift control keycode 104 = Prior
565 altgr control keycode 104 = Prior
566 alt keycode 104 = Prior
567 shift alt keycode 104 = Prior
568 control alt keycode 104 = Prior
569keycode 105 = Left Left Left
570 control keycode 105 = Left
571 shift control keycode 105 = Left
572 altgr control keycode 105 = Left
573 alt keycode 105 = Decr_Console
574 shift alt keycode 105 = Left
575 control alt keycode 105 = Left
576keycode 106 = Right Right Right
577 control keycode 106 = Right
578 shift control keycode 106 = Right
579 altgr control keycode 106 = Right
580 alt keycode 106 = Incr_Console
581 shift alt keycode 106 = Right
582 control alt keycode 106 = Right
583keycode 107 = Select Select Select
584 control keycode 107 = Select
585 shift control keycode 107 = Select
586 altgr control keycode 107 = Select
587 alt keycode 107 = Select
588 shift alt keycode 107 = Select
589 control alt keycode 107 = Select
590keycode 108 = Down Down Down
591 control keycode 108 = Down
592 shift control keycode 108 = Down
593 altgr control keycode 108 = Down
594 alt keycode 108 = Down
595 shift alt keycode 108 = Down
596 control alt keycode 108 = Down
597keycode 109 = Next Scroll_Forward Next
598 control keycode 109 = Next
599 shift control keycode 109 = Next
600 altgr control keycode 109 = Next
601 alt keycode 109 = Next
602 shift alt keycode 109 = Next
603 control alt keycode 109 = Next
604keycode 110 = Insert Insert Insert
605 control keycode 110 = Insert
606 shift control keycode 110 = Insert
607 altgr control keycode 110 = Insert
608 alt keycode 110 = Insert
609 shift alt keycode 110 = Insert
610 control alt keycode 110 = Insert
611keycode 111 = Remove Remove Remove
612 control keycode 111 = Remove
613 shift control keycode 111 = Remove
614 altgr control keycode 111 = Boot
615 alt keycode 111 = Remove
616 shift alt keycode 111 = Remove
617 control alt keycode 111 = Boot
618keycode 112 = Macro Macro Macro
619 control keycode 112 = Macro
620 shift control keycode 112 = Macro
621 alt keycode 112 = Macro
622 control alt keycode 112 = Macro
623keycode 113 = F13 F13 F13
624 control keycode 113 = F13
625 shift control keycode 113 = F13
626 alt keycode 113 = F13
627 control alt keycode 113 = F13
628keycode 114 = F14 F14 F14
629 control keycode 114 = F14
630 shift control keycode 114 = F14
631 alt keycode 114 = F14
632 control alt keycode 114 = F14
633keycode 115 = Help Help Help
634 control keycode 115 = Help
635 shift control keycode 115 = Help
636 alt keycode 115 = Help
637 control alt keycode 115 = Help
638keycode 116 = Do Do Do
639 control keycode 116 = Do
640 shift control keycode 116 = Do
641 alt keycode 116 = Do
642 control alt keycode 116 = Do
643keycode 117 = F17 F17 F17
644 control keycode 117 = F17
645 shift control keycode 117 = F17
646 alt keycode 117 = F17
647 control alt keycode 117 = F17
648keycode 118 = KP_MinPlus KP_MinPlus KP_MinPlus
649 control keycode 118 = KP_MinPlus
650 shift control keycode 118 = KP_MinPlus
651 alt keycode 118 = KP_MinPlus
652 control alt keycode 118 = KP_MinPlus
653keycode 119 = Pause Pause Pause
654 control keycode 119 = Pause
655 shift control keycode 119 = Pause
656 altgr control keycode 119 = Pause
657 alt keycode 119 = Pause
658 shift alt keycode 119 = Pause
659 control alt keycode 119 = Pause
660keycode 125 = Decr_Console Decr_Console Decr_Console
661 control keycode 125 = Decr_Console
662 shift control keycode 125 = Decr_Console
663 altgr control keycode 125 = Decr_Console
664 alt keycode 125 = Decr_Console
665 shift alt keycode 125 = Decr_Console
666 control alt keycode 125 = Decr_Console
667keycode 126 = Incr_Console Incr_Console Incr_Console
668 control keycode 126 = Incr_Console
669 shift control keycode 126 = Incr_Console
670 altgr control keycode 126 = Incr_Console
671 alt keycode 126 = Incr_Console
672 shift alt keycode 126 = Incr_Console
673 control alt keycode 126 = Incr_Console
674keycode 127 = Last_Console Last_Console Last_Console
675 control keycode 127 = Last_Console
676 shift control keycode 127 = Last_Console
677 altgr control keycode 127 = Last_Console
678 alt keycode 127 = Last_Console
679 shift alt keycode 127 = Last_Console
680 control alt keycode 127 = Last_Console
681keycode 128 = nul nul nul
682 control keycode 128 = nul
683 shift control keycode 128 = nul
684 alt keycode 128 = nul
685 control alt keycode 128 = nul
686keycode 129 = nul nul nul
687 control keycode 129 = nul
688 shift control keycode 129 = nul
689 alt keycode 129 = nul
690 control alt keycode 129 = nul
691keycode 130 = nul nul nul
692 control keycode 130 = nul
693 shift control keycode 130 = nul
694 alt keycode 130 = nul
695 control alt keycode 130 = nul
696keycode 131 = nul nul nul
697 control keycode 131 = nul
698 shift control keycode 131 = nul
699 alt keycode 131 = nul
700 control alt keycode 131 = nul
701keycode 132 = nul nul nul
702 control keycode 132 = nul
703 shift control keycode 132 = nul
704 alt keycode 132 = nul
705 control alt keycode 132 = nul
706keycode 133 = nul nul nul
707 control keycode 133 = nul
708 shift control keycode 133 = nul
709 alt keycode 133 = nul
710 control alt keycode 133 = nul
711keycode 134 = nul nul nul
712 control keycode 134 = nul
713 shift control keycode 134 = nul
714 alt keycode 134 = nul
715 control alt keycode 134 = nul
716keycode 135 = nul nul nul
717 control keycode 135 = nul
718 shift control keycode 135 = nul
719 alt keycode 135 = nul
720 control alt keycode 135 = nul
721keycode 136 = nul nul nul
722 control keycode 136 = nul
723 shift control keycode 136 = nul
724 alt keycode 136 = nul
725 control alt keycode 136 = nul
726keycode 137 = nul nul nul
727 control keycode 137 = nul
728 shift control keycode 137 = nul
729 alt keycode 137 = nul
730 control alt keycode 137 = nul
731keycode 138 = nul nul nul
732 control keycode 138 = nul
733 shift control keycode 138 = nul
734 alt keycode 138 = nul
735 control alt keycode 138 = nul
736keycode 139 = nul nul nul
737 control keycode 139 = nul
738 shift control keycode 139 = nul
739 alt keycode 139 = nul
740 control alt keycode 139 = nul
741keycode 140 = nul nul nul
742 control keycode 140 = nul
743 shift control keycode 140 = nul
744 alt keycode 140 = nul
745 control alt keycode 140 = nul
746keycode 141 = nul nul nul
747 control keycode 141 = nul
748 shift control keycode 141 = nul
749 alt keycode 141 = nul
750 control alt keycode 141 = nul
751keycode 142 = nul nul nul
752 control keycode 142 = nul
753 shift control keycode 142 = nul
754 alt keycode 142 = nul
755 control alt keycode 142 = nul
756keycode 143 = nul nul nul
757 control keycode 143 = nul
758 shift control keycode 143 = nul
759 alt keycode 143 = nul
760 control alt keycode 143 = nul
761keycode 144 = nul nul nul
762 control keycode 144 = nul
763 shift control keycode 144 = nul
764 alt keycode 144 = nul
765 control alt keycode 144 = nul
766keycode 145 = nul nul nul
767 control keycode 145 = nul
768 shift control keycode 145 = nul
769 alt keycode 145 = nul
770 control alt keycode 145 = nul
771keycode 146 = nul nul nul
772 control keycode 146 = nul
773 shift control keycode 146 = nul
774 alt keycode 146 = nul
775 control alt keycode 146 = nul
776keycode 147 = nul nul nul
777 control keycode 147 = nul
778 shift control keycode 147 = nul
779 alt keycode 147 = nul
780 control alt keycode 147 = nul
781keycode 148 = nul nul nul
782 control keycode 148 = nul
783 shift control keycode 148 = nul
784 alt keycode 148 = nul
785 control alt keycode 148 = nul
786keycode 149 = nul nul nul
787 control keycode 149 = nul
788 shift control keycode 149 = nul
789 alt keycode 149 = nul
790 control alt keycode 149 = nul
791keycode 150 = nul nul nul
792 control keycode 150 = nul
793 shift control keycode 150 = nul
794 alt keycode 150 = nul
795 control alt keycode 150 = nul
796keycode 151 = nul nul nul
797 control keycode 151 = nul
798 shift control keycode 151 = nul
799 alt keycode 151 = nul
800 control alt keycode 151 = nul
801keycode 152 = nul nul nul
802 control keycode 152 = nul
803 shift control keycode 152 = nul
804 alt keycode 152 = nul
805 control alt keycode 152 = nul
806keycode 153 = nul nul nul
807 control keycode 153 = nul
808 shift control keycode 153 = nul
809 alt keycode 153 = nul
810 control alt keycode 153 = nul
811keycode 154 = nul nul nul
812 control keycode 154 = nul
813 shift control keycode 154 = nul
814 alt keycode 154 = nul
815 control alt keycode 154 = nul
816keycode 155 = nul nul nul
817 control keycode 155 = nul
818 shift control keycode 155 = nul
819 alt keycode 155 = nul
820 control alt keycode 155 = nul
821keycode 156 = nul nul nul
822 control keycode 156 = nul
823 shift control keycode 156 = nul
824 alt keycode 156 = nul
825 control alt keycode 156 = nul
826keycode 157 = nul nul nul
827 control keycode 157 = nul
828 shift control keycode 157 = nul
829 alt keycode 157 = nul
830 control alt keycode 157 = nul
831keycode 158 = nul nul nul
832 control keycode 158 = nul
833 shift control keycode 158 = nul
834 alt keycode 158 = nul
835 control alt keycode 158 = nul
836keycode 159 = nul nul nul
837 control keycode 159 = nul
838 shift control keycode 159 = nul
839 alt keycode 159 = nul
840 control alt keycode 159 = nul
841keycode 160 = nul nul nul
842 control keycode 160 = nul
843 shift control keycode 160 = nul
844 alt keycode 160 = nul
845 control alt keycode 160 = nul
846keycode 161 = nul nul nul
847 control keycode 161 = nul
848 shift control keycode 161 = nul
849 alt keycode 161 = nul
850 control alt keycode 161 = nul
851keycode 162 = nul nul nul
852 control keycode 162 = nul
853 shift control keycode 162 = nul
854 alt keycode 162 = nul
855 control alt keycode 162 = nul
856keycode 163 = nul nul nul
857 control keycode 163 = nul
858 shift control keycode 163 = nul
859 alt keycode 163 = nul
860 control alt keycode 163 = nul
861keycode 164 = nul nul nul
862 control keycode 164 = nul
863 shift control keycode 164 = nul
864 alt keycode 164 = nul
865 control alt keycode 164 = nul
866keycode 165 = nul nul nul
867 control keycode 165 = nul
868 shift control keycode 165 = nul
869 alt keycode 165 = nul
870 control alt keycode 165 = nul
871keycode 166 = nul nul nul
872 control keycode 166 = nul
873 shift control keycode 166 = nul
874 alt keycode 166 = nul
875 control alt keycode 166 = nul
876keycode 167 = nul nul nul
877 control keycode 167 = nul
878 shift control keycode 167 = nul
879 alt keycode 167 = nul
880 control alt keycode 167 = nul
881keycode 168 = nul nul nul
882 control keycode 168 = nul
883 shift control keycode 168 = nul
884 alt keycode 168 = nul
885 control alt keycode 168 = nul
886keycode 169 = nul nul nul
887 control keycode 169 = nul
888 shift control keycode 169 = nul
889 alt keycode 169 = nul
890 control alt keycode 169 = nul
891keycode 170 = nul nul nul
892 control keycode 170 = nul
893 shift control keycode 170 = nul
894 alt keycode 170 = nul
895 control alt keycode 170 = nul
896keycode 171 = nul nul nul
897 control keycode 171 = nul
898 shift control keycode 171 = nul
899 alt keycode 171 = nul
900 control alt keycode 171 = nul
901keycode 172 = nul nul nul
902 control keycode 172 = nul
903 shift control keycode 172 = nul
904 alt keycode 172 = nul
905 control alt keycode 172 = nul
906keycode 173 = nul nul nul
907 control keycode 173 = nul
908 shift control keycode 173 = nul
909 alt keycode 173 = nul
910 control alt keycode 173 = nul
911keycode 174 = nul nul nul
912 control keycode 174 = nul
913 shift control keycode 174 = nul
914 alt keycode 174 = nul
915 control alt keycode 174 = nul
916keycode 175 = nul nul nul
917 control keycode 175 = nul
918 shift control keycode 175 = nul
919 alt keycode 175 = nul
920 control alt keycode 175 = nul
921keycode 176 = nul nul nul
922 control keycode 176 = nul
923 shift control keycode 176 = nul
924 alt keycode 176 = nul
925 control alt keycode 176 = nul
926keycode 177 = nul nul nul
927 control keycode 177 = nul
928 shift control keycode 177 = nul
929 alt keycode 177 = nul
930 control alt keycode 177 = nul
931keycode 178 = nul nul nul
932 control keycode 178 = nul
933 shift control keycode 178 = nul
934 alt keycode 178 = nul
935 control alt keycode 178 = nul
936keycode 179 = nul nul nul
937 control keycode 179 = nul
938 shift control keycode 179 = nul
939 alt keycode 179 = nul
940 control alt keycode 179 = nul
941keycode 180 = nul nul nul
942 control keycode 180 = nul
943 shift control keycode 180 = nul
944 alt keycode 180 = nul
945 control alt keycode 180 = nul
946keycode 181 = nul nul nul
947 control keycode 181 = nul
948 shift control keycode 181 = nul
949 alt keycode 181 = nul
950 control alt keycode 181 = nul
951keycode 182 = nul nul nul
952 control keycode 182 = nul
953 shift control keycode 182 = nul
954 alt keycode 182 = nul
955 control alt keycode 182 = nul
956keycode 183 = nul nul nul
957 control keycode 183 = nul
958 shift control keycode 183 = nul
959 alt keycode 183 = nul
960 control alt keycode 183 = nul
961keycode 184 = nul nul nul
962 control keycode 184 = nul
963 shift control keycode 184 = nul
964 alt keycode 184 = nul
965 control alt keycode 184 = nul
966keycode 185 = nul nul nul
967 control keycode 185 = nul
968 shift control keycode 185 = nul
969 alt keycode 185 = nul
970 control alt keycode 185 = nul
971keycode 186 = nul nul nul
972 control keycode 186 = nul
973 shift control keycode 186 = nul
974 alt keycode 186 = nul
975 control alt keycode 186 = nul
976keycode 187 = nul nul nul
977 control keycode 187 = nul
978 shift control keycode 187 = nul
979 alt keycode 187 = nul
980 control alt keycode 187 = nul
981keycode 188 = nul nul nul
982 control keycode 188 = nul
983 shift control keycode 188 = nul
984 alt keycode 188 = nul
985 control alt keycode 188 = nul
986keycode 189 = nul nul nul
987 control keycode 189 = nul
988 shift control keycode 189 = nul
989 alt keycode 189 = nul
990 control alt keycode 189 = nul
991keycode 190 = nul nul nul
992 control keycode 190 = nul
993 shift control keycode 190 = nul
994 alt keycode 190 = nul
995 control alt keycode 190 = nul
996keycode 191 = nul nul nul
997 control keycode 191 = nul
998 shift control keycode 191 = nul
999 alt keycode 191 = nul
1000 control alt keycode 191 = nul
1001keycode 192 = nul nul nul
1002 control keycode 192 = nul
1003 shift control keycode 192 = nul
1004 alt keycode 192 = nul
1005 control alt keycode 192 = nul
1006keycode 193 = nul nul nul
1007 control keycode 193 = nul
1008 shift control keycode 193 = nul
1009 alt keycode 193 = nul
1010 control alt keycode 193 = nul
1011keycode 194 = nul nul nul
1012 control keycode 194 = nul
1013 shift control keycode 194 = nul
1014 alt keycode 194 = nul
1015 control alt keycode 194 = nul
1016keycode 195 = nul nul nul
1017 control keycode 195 = nul
1018 shift control keycode 195 = nul
1019 alt keycode 195 = nul
1020 control alt keycode 195 = nul
1021keycode 196 = nul nul nul
1022 control keycode 196 = nul
1023 shift control keycode 196 = nul
1024 alt keycode 196 = nul
1025 control alt keycode 196 = nul
1026keycode 197 = nul nul nul
1027 control keycode 197 = nul
1028 shift control keycode 197 = nul
1029 alt keycode 197 = nul
1030 control alt keycode 197 = nul
1031keycode 198 = nul nul nul
1032 control keycode 198 = nul
1033 shift control keycode 198 = nul
1034 alt keycode 198 = nul
1035 control alt keycode 198 = nul
1036keycode 199 = nul nul nul
1037 control keycode 199 = nul
1038 shift control keycode 199 = nul
1039 alt keycode 199 = nul
1040 control alt keycode 199 = nul
1041keycode 200 = nul nul nul
1042 control keycode 200 = nul
1043 shift control keycode 200 = nul
1044 alt keycode 200 = nul
1045 control alt keycode 200 = nul
1046keycode 201 = nul nul nul
1047 control keycode 201 = nul
1048 shift control keycode 201 = nul
1049 alt keycode 201 = nul
1050 control alt keycode 201 = nul
1051keycode 202 = nul nul nul
1052 control keycode 202 = nul
1053 shift control keycode 202 = nul
1054 alt keycode 202 = nul
1055 control alt keycode 202 = nul
1056keycode 203 = nul nul nul
1057 control keycode 203 = nul
1058 shift control keycode 203 = nul
1059 alt keycode 203 = nul
1060 control alt keycode 203 = nul
1061keycode 204 = nul nul nul
1062 control keycode 204 = nul
1063 shift control keycode 204 = nul
1064 alt keycode 204 = nul
1065 control alt keycode 204 = nul
1066keycode 205 = nul nul nul
1067 control keycode 205 = nul
1068 shift control keycode 205 = nul
1069 alt keycode 205 = nul
1070 control alt keycode 205 = nul
1071keycode 206 = nul nul nul
1072 control keycode 206 = nul
1073 shift control keycode 206 = nul
1074 alt keycode 206 = nul
1075 control alt keycode 206 = nul
1076keycode 207 = nul nul nul
1077 control keycode 207 = nul
1078 shift control keycode 207 = nul
1079 alt keycode 207 = nul
1080 control alt keycode 207 = nul
1081keycode 208 = nul nul nul
1082 control keycode 208 = nul
1083 shift control keycode 208 = nul
1084 alt keycode 208 = nul
1085 control alt keycode 208 = nul
1086keycode 209 = nul nul nul
1087 control keycode 209 = nul
1088 shift control keycode 209 = nul
1089 alt keycode 209 = nul
1090 control alt keycode 209 = nul
1091keycode 210 = nul nul nul
1092 control keycode 210 = nul
1093 shift control keycode 210 = nul
1094 alt keycode 210 = nul
1095 control alt keycode 210 = nul
1096keycode 211 = nul nul nul
1097 control keycode 211 = nul
1098 shift control keycode 211 = nul
1099 alt keycode 211 = nul
1100 control alt keycode 211 = nul
1101keycode 212 = nul nul nul
1102 control keycode 212 = nul
1103 shift control keycode 212 = nul
1104 alt keycode 212 = nul
1105 control alt keycode 212 = nul
1106keycode 213 = nul nul nul
1107 control keycode 213 = nul
1108 shift control keycode 213 = nul
1109 alt keycode 213 = nul
1110 control alt keycode 213 = nul
1111keycode 214 = nul nul nul
1112 control keycode 214 = nul
1113 shift control keycode 214 = nul
1114 alt keycode 214 = nul
1115 control alt keycode 214 = nul
1116keycode 215 = nul nul nul
1117 control keycode 215 = nul
1118 shift control keycode 215 = nul
1119 alt keycode 215 = nul
1120 control alt keycode 215 = nul
1121keycode 216 = nul nul nul
1122 control keycode 216 = nul
1123 shift control keycode 216 = nul
1124 alt keycode 216 = nul
1125 control alt keycode 216 = nul
1126keycode 217 = nul nul nul
1127 control keycode 217 = nul
1128 shift control keycode 217 = nul
1129 alt keycode 217 = nul
1130 control alt keycode 217 = nul
1131keycode 218 = nul nul nul
1132 control keycode 218 = nul
1133 shift control keycode 218 = nul
1134 alt keycode 218 = nul
1135 control alt keycode 218 = nul
1136keycode 219 = nul nul nul
1137 control keycode 219 = nul
1138 shift control keycode 219 = nul
1139 alt keycode 219 = nul
1140 control alt keycode 219 = nul
1141keycode 220 = nul nul nul
1142 control keycode 220 = nul
1143 shift control keycode 220 = nul
1144 alt keycode 220 = nul
1145 control alt keycode 220 = nul
1146keycode 221 = nul nul nul
1147 control keycode 221 = nul
1148 shift control keycode 221 = nul
1149 alt keycode 221 = nul
1150 control alt keycode 221 = nul
1151keycode 222 = nul nul nul
1152 control keycode 222 = nul
1153 shift control keycode 222 = nul
1154 alt keycode 222 = nul
1155 control alt keycode 222 = nul
1156keycode 223 = nul nul nul
1157 control keycode 223 = nul
1158 shift control keycode 223 = nul
1159 alt keycode 223 = nul
1160 control alt keycode 223 = nul
1161keycode 224 = nul nul nul
1162 control keycode 224 = nul
1163 shift control keycode 224 = nul
1164 alt keycode 224 = nul
1165 control alt keycode 224 = nul
1166keycode 225 = nul nul nul
1167 control keycode 225 = nul
1168 shift control keycode 225 = nul
1169 alt keycode 225 = nul
1170 control alt keycode 225 = nul
1171keycode 226 = nul nul nul
1172 control keycode 226 = nul
1173 shift control keycode 226 = nul
1174 alt keycode 226 = nul
1175 control alt keycode 226 = nul
1176keycode 227 = nul nul nul
1177 control keycode 227 = nul
1178 shift control keycode 227 = nul
1179 alt keycode 227 = nul
1180 control alt keycode 227 = nul
1181keycode 228 = nul nul nul
1182 control keycode 228 = nul
1183 shift control keycode 228 = nul
1184 alt keycode 228 = nul
1185 control alt keycode 228 = nul
1186keycode 229 = nul nul nul
1187 control keycode 229 = nul
1188 shift control keycode 229 = nul
1189 alt keycode 229 = nul
1190 control alt keycode 229 = nul
1191keycode 230 = nul nul nul
1192 control keycode 230 = nul
1193 shift control keycode 230 = nul
1194 alt keycode 230 = nul
1195 control alt keycode 230 = nul
1196keycode 231 = nul nul nul
1197 control keycode 231 = nul
1198 shift control keycode 231 = nul
1199 alt keycode 231 = nul
1200 control alt keycode 231 = nul
1201keycode 232 = nul nul nul
1202 control keycode 232 = nul
1203 shift control keycode 232 = nul
1204 alt keycode 232 = nul
1205 control alt keycode 232 = nul
1206keycode 233 = nul nul nul
1207 control keycode 233 = nul
1208 shift control keycode 233 = nul
1209 alt keycode 233 = nul
1210 control alt keycode 233 = nul
1211keycode 234 = nul nul nul
1212 control keycode 234 = nul
1213 shift control keycode 234 = nul
1214 alt keycode 234 = nul
1215 control alt keycode 234 = nul
1216keycode 235 = nul nul nul
1217 control keycode 235 = nul
1218 shift control keycode 235 = nul
1219 alt keycode 235 = nul
1220 control alt keycode 235 = nul
1221keycode 236 = nul nul nul
1222 control keycode 236 = nul
1223 shift control keycode 236 = nul
1224 alt keycode 236 = nul
1225 control alt keycode 236 = nul
1226keycode 237 = nul nul nul
1227 control keycode 237 = nul
1228 shift control keycode 237 = nul
1229 alt keycode 237 = nul
1230 control alt keycode 237 = nul
1231keycode 238 = nul nul nul
1232 control keycode 238 = nul
1233 shift control keycode 238 = nul
1234 alt keycode 238 = nul
1235 control alt keycode 238 = nul
1236keycode 239 = nul nul nul
1237 control keycode 239 = nul
1238 shift control keycode 239 = nul
1239 alt keycode 239 = nul
1240 control alt keycode 239 = nul
1241keycode 240 = nul nul nul
1242 control keycode 240 = nul
1243 shift control keycode 240 = nul
1244 alt keycode 240 = nul
1245 control alt keycode 240 = nul
1246keycode 241 = nul nul nul
1247 control keycode 241 = nul
1248 shift control keycode 241 = nul
1249 alt keycode 241 = nul
1250 control alt keycode 241 = nul
1251keycode 242 = nul nul nul
1252 control keycode 242 = nul
1253 shift control keycode 242 = nul
1254 alt keycode 242 = nul
1255 control alt keycode 242 = nul
1256keycode 243 = nul nul nul
1257 control keycode 243 = nul
1258 shift control keycode 243 = nul
1259 alt keycode 243 = nul
1260 control alt keycode 243 = nul
1261keycode 244 = nul nul nul
1262 control keycode 244 = nul
1263 shift control keycode 244 = nul
1264 alt keycode 244 = nul
1265 control alt keycode 244 = nul
1266keycode 245 = nul nul nul
1267 control keycode 245 = nul
1268 shift control keycode 245 = nul
1269 alt keycode 245 = nul
1270 control alt keycode 245 = nul
1271keycode 246 = nul nul nul
1272 control keycode 246 = nul
1273 shift control keycode 246 = nul
1274 alt keycode 246 = nul
1275 control alt keycode 246 = nul
1276keycode 247 = nul nul nul
1277 control keycode 247 = nul
1278 shift control keycode 247 = nul
1279 alt keycode 247 = nul
1280 control alt keycode 247 = nul
1281keycode 248 = nul nul nul
1282 control keycode 248 = nul
1283 shift control keycode 248 = nul
1284 alt keycode 248 = nul
1285 control alt keycode 248 = nul
1286keycode 249 = nul nul nul
1287 control keycode 249 = nul
1288 shift control keycode 249 = nul
1289 alt keycode 249 = nul
1290 control alt keycode 249 = nul
1291keycode 250 = nul nul nul
1292 control keycode 250 = nul
1293 shift control keycode 250 = nul
1294 alt keycode 250 = nul
1295 control alt keycode 250 = nul
1296keycode 251 = nul nul nul
1297 control keycode 251 = nul
1298 shift control keycode 251 = nul
1299 alt keycode 251 = nul
1300 control alt keycode 251 = nul
1301keycode 252 = nul nul nul
1302 control keycode 252 = nul
1303 shift control keycode 252 = nul
1304 alt keycode 252 = nul
1305 control alt keycode 252 = nul
1306keycode 253 = nul nul nul
1307 control keycode 253 = nul
1308 shift control keycode 253 = nul
1309 alt keycode 253 = nul
1310 control alt keycode 253 = nul
1311keycode 254 = nul nul nul
1312 control keycode 254 = nul
1313 shift control keycode 254 = nul
1314 alt keycode 254 = nul
1315 control alt keycode 254 = nul
1316keycode 255 = nul nul nul
1317 control keycode 255 = nul
1318 shift control keycode 255 = nul
1319 alt keycode 255 = nul
1320 control alt keycode 255 = nul
1321string F1 = "\033[[A"
1322string F2 = "\033[[B"
1323string F3 = "\033[[C"
1324string F4 = "\033[[D"
1325string F5 = "\033[[E"
1326string F6 = "\033[17~"
1327string F7 = "\033[18~"
1328string F8 = "\033[19~"
1329string F9 = "\033[20~"
1330string F10 = "\033[21~"
1331string F11 = "\033[23~"
1332string F12 = "\033[24~"
1333string F13 = "\033[25~"
1334string F14 = "\033[26~"
1335string F15 = "\033[28~"
1336string F16 = "\033[29~"
1337string F17 = "\033[31~"
1338string F18 = "\033[32~"
1339string F19 = "\033[33~"
1340string F20 = "\033[34~"
1341string Find = "\033[1~"
1342string Insert = "\033[2~"
1343string Remove = "\033[3~"
1344string Select = "\033[4~"
1345string Prior = "\033[5~"
1346string Next = "\033[6~"
1347string Macro = "\033[M"
1348string Pause = "\033[P"
diff --git a/functions/translate.sh b/functions/translate.sh
new file mode 100644
index 0000000..7045ca7
--- /dev/null
+++ b/functions/translate.sh
@@ -0,0 +1,84 @@
1#!/bin/bash -eu
2# AT translated set 2 encoder
3
4type xxd > /dev/null || exit 1
5
6if ! test -f dumpkeys.cache; then
7 sudo dumpkeys --keys-only > dumpkeys.cache
8fi
9
10# XXX: hardcoded values are generated by:
11#make_break_shift="$(eval echo \$at_table_$(echo -n Shift | xxd -ps))"
12#make_shift="${make_break_shift% *}"
13#break_shift="${make_break_shift#* }"
14
15make_shift=36
16break_shift=b6
17
18map_set() {
19 # $1 - keycode
20 # $2 - normal value
21 # $3 - shifted value
22 [ "${2}${3}" = "nulnul" ] && return 1
23 make=$(printf %02x "$1")
24 break=$(printf %02x "$(($1 | 128))")
25 eval "at_table_$(echo -n "${3#+}" | xxd -ps)='$make_shift $make $break $break_shift'"
26 eval "at_table_$(echo -n "${2#+}" | xxd -ps)='$make $break'"
27}
28
29map_alias() {
30 # $1,$3,$5,... - names
31 # $2,$4,$6,... - aliases
32 while [ -n "$1" -a -n "$2" ]; do
33 eval "at_table_$(echo -n "${2#+}" | xxd -ps)=\${at_table_$(echo -n "${1#+}" | xxd -ps)}"
34 shift
35 shift
36 done
37}
38
39# at_table_$normal = n
40# at_table_$shifted = n
41while read keycode n _ normal shifted rest; do
42 [ "$keycode" = "keycode" ] || continue
43 map_set "${n}" "${normal}" "${shifted}"
44done < dumpkeys.cache
45
46# Extra mapping
47map_alias \
48 one 1 exclam '!' \
49 two 2 at '@' \
50 three 3 numbersign '#' \
51 four 4 dollar '$' \
52 five 5 percent '%' \
53 six 6 asciicircum '^' \
54 seven 7 ampersand '&' \
55 eight 8 asterisk '*' \
56 nine 9 parenleft '(' \
57 zero 0 parenright ')' \
58 minus '-' underscore '_' \
59 equal '=' plus '+'
60
61map_alias \
62 bracketleft '[' braceleft '{' \
63 bracketright ']' braceright '}' \
64 semicolon ';' colon ':' \
65 apostrophe "'" quotedbl '"' \
66 grave '`' asciitilde '~' \
67 backslash "\\" bar '|' \
68 comma ',' less '<' \
69 period '.' greater '>' \
70 slash '/' question '?' \
71 space ' ' Return $'\n'
72
73translate() {
74 for t in $(echo -n "$*" | xxd -ps | sed -e 's/../& /g'); do
75 n="at_table_$t"
76 v="${!n}"
77 [ -z "$v" ] && echo "$0: unknown char: '$t'." >&2
78 echo -n " ${v}"
79 done
80 echo
81}
82
83[ "$(basename "$0")" = "translate.sh" ] && translate " vmlinuz initrd=initrd.img biosdevname=0 ks=cdrom:/ks.cfg ip=10.20.0.2 gw=10.20.0.1 dns1=10.20.0.1 netmask=255.255.255.0 hostname=fuel.domain.tld showmenu=no
84"