store the pre-alphacomposit hook and allow it to be queried.
[AROS.git] / workbench / devs / keymaps / pc105_d.c
blobb151f7cde465120ed872f3aa3b482f72479d75f6
1 /*
2 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: Deutsch (German) PC105 Keymap
6 Lang: English
7 */
9 #include "common.h"
11 DEFINE_KEYMAP("pc105_d")
13 #undef N
14 #undef S
15 #undef A
16 #undef C
17 #undef D
18 #undef V
19 #undef ST
20 #undef NOP
22 #define N KC_NOQUAL
23 #define S KCF_SHIFT
24 #define A KCF_ALT
25 #define C KCF_CONTROL
26 #define D KCF_DEAD
27 #define V KC_VANILLA
28 #define ST KCF_STRING
29 #define NOP KCF_NOP
31 #define EUR 0xA4 /* ISO 8859-15: Euro = 164 = 0xA4) */
33 STATIC CONST UBYTE lokeymaptypes[] =
35 D|V, /* 00 */
36 S|A, /* 01 */
37 S|A, /* 02 */
38 S|A, /* 03 */
39 S|A, /* 04 */
40 S|A, /* 05 */
41 S|A, /* 06 */
42 S|A, /* 07 */
43 S|A, /* 08 */
44 S|A, /* 09 */
45 S|A, /* 0A */
46 V, /* 0B */
47 D|S|A, /* 0C */
48 V, /* 0D */
49 NOP, /* 0E */
50 N, /* 0F */
51 V, /* 10 q */
52 V, /* 11 w */
53 D|V, /* 12 e */
54 V, /* 13 r */
55 V, /* 14 t */
56 V, /* 15 z */
57 D|V, /* 16 u */
58 D|V, /* 17 i */
59 D|V, /* 18 o */
60 V, /* 19 p */
61 V, /* 1A */
62 V, /* 1B */
63 NOP, /* 1C */
64 N, /* 1D */
65 N, /* 1E */
66 N, /* 1F */
67 D|V, /* 20 a */
68 V, /* 21 s */
69 V, /* 22 d */
70 D|V, /* 23 f */
71 D|V, /* 24 g */
72 D|V, /* 25 h */
73 D|V, /* 26 j */
74 D|V, /* 27 k */
75 V, /* 28 l */
76 S|A, /* 29 */
77 S|A, /* 2A */
78 V, /* 2B */
79 NOP, /* 2C */
80 N, /* 2D */
81 N, /* 2E */
82 N, /* 2F */
83 S|A, /* 30 */
84 D|V, /* 31 y */
85 V, /* 32 x */
86 V, /* 33 c */
87 V, /* 34 v */
88 V, /* 35 b */
89 D|V, /* 36 n */
90 V, /* 37 m */
91 S|A, /* 38 */
92 S|A, /* 39 */
93 V, /* 3A */
94 NOP, /* 3B */
95 N, /* 3C */
96 N, /* 3D */
97 N, /* 3E */
98 N, /* 3F */
101 STATIC CONST UBYTE hikeymaptypes[] =
103 D|A, /* 40 SPACE */
104 N, /* 41 BACKSPACE */
105 ST|S, /* 42 TAB */
106 N, /* 43 ENTER */
107 C, /* 44 RETURN */
108 A, /* 45 ESCAPE */
109 N, /* 46 DEL */
110 ST|S, /* 47 INSERT ?? */
111 ST|S, /* 48 PAGE UP ?? */
112 ST|S, /* 49 PAGE DOWN ?? */
113 N, /* 4A NUMERIC PAD - */
114 ST|S, /* 4B F11 ?? */
115 ST|S, /* 4C CURSORUP*/
116 ST|S, /* 4D CURSORDOWN */
117 ST|S, /* 4E CURSORRIGHT */
118 ST|S, /* 4F CURSORLEFT */
119 ST|S, /* 50 F1 */
120 ST|S, /* 51 F2 */
121 ST|S, /* 52 F3 */
122 ST|S, /* 53 F4 */
123 ST|S, /* 54 F5 */
124 ST|S, /* 55 F6 */
125 ST|S, /* 56 F7 */
126 ST|S, /* 57 F8 */
127 ST|S, /* 58 F9 */
128 ST|S, /* 59 F10 */
129 NOP, /* 5A NUMLOCK */
130 N, /* 5B NUMPAD ) */
131 N, /* 5C NUMPAD / */
132 N, /* 5D NUMPAD * */
133 N, /* 5E NUMPAD + */
134 ST, /* 5F HELP */
135 NOP, /* 60 LEFT SHIFT*/
136 NOP, /* 61 RIGHT SHIFT */
137 NOP, /* 62 CAPS LOCK */
138 NOP, /* 63 CONTROL */
139 NOP, /* 64 LALT */
140 NOP, /* 65 RALT */
141 NOP, /* 66 LCOMMAND */
142 NOP, /* 67 RCOMMAND */
143 NOP, /* 68 LEFT MOUSE BUTTON*/
144 NOP, /* 69 RIGHT MOUSE BUTTON */
145 NOP, /* 6A MIDDLE MOUSE BUTTON */
146 NOP, /* 6B */
147 NOP, /* 6C */
148 NOP, /* 6D */
149 ST|A, /* 6E PAUSE/BREAK ??*/
150 ST|S, /* 6F F12 ?? */
151 ST|C, /* 70 HOME ?? */
152 ST|C, /* 71 END ?? */
153 NOP, /* 72 */
154 NOP, /* 73 */
155 NOP, /* 74 */
156 NOP, /* 75 */
157 NOP, /* 76 */
158 NOP, /* 77 */
159 NOP, /* 78 */
160 NOP, /* 79 */
161 NOP, /* 7A */
162 NOP, /* 7B */
163 NOP, /* 7C */
164 NOP, /* 7D */
165 NOP, /* 7E */
166 NOP /* 7F */
169 #undef N
170 #undef S
171 #undef A
172 #undef C
173 #undef D
174 #undef V
175 #undef ST
176 #undef NOP
178 #undef STRING
179 #undef DEAD
180 #undef BYTES
182 #define STRING(x) (IPTR)x
183 #define DEAD(x) (IPTR)x
184 #define BYTES(b0, b1, b2, b3) \
185 (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0)
187 /* dead symbols
189 1= ´
190 2 = `
191 3 = ^
192 4 = ~
193 5 = "
194 6 = °
198 STATIC CONST UBYTE a_descr[] =
200 DPF_MOD, 0x10,
201 DPF_MOD, 0x25,
202 0, 'æ', /* 0xE6 */
203 0, 'Æ', /* 0xC6 */
204 0, 0x01,
205 0, 0x01,
206 0, 0x81,
207 0, 0x81,
209 'a' , 'á' /*0xE1*/, 'à' /*0xE0*/, 'â' /*0xE2*/, 'ã' /*0xE3*/, 'ä' /*0xE4*/, 'å' /*0xE5*/,
210 'á' /*0xE1*/, 'á' /*0xE1*/, 'â' /*0xE2*/, 'á' /*0xE1*/, 'á' /*0xE1*/, 'á' /*0xE1*/, 'á' /*0xE1*/,
211 'à' /*0xE0*/, 'â' /*0xE2*/, 'à' /*0xE0*/, 'à' /*0xE0*/, 'à' /*0xE0*/, 'à' /*0xE0*/, 'à' /*0xE0*/,
213 'A', 'Á' /*0xC1*/, 'À' /*0xC0*/, 'Â' /*0xC2*/, 'Ã' /*0xC3*/, 'Ä' /*0xC4*/, 'Å' /*0xC5*/,
214 'Á' /*0xC1*/, 'Á' /*0xC1*/, 'Â' /*0xC2*/, 'Á' /*0xC1*/, 'Á' /*0xC1*/, 'Á' /*0xC1*/, 'Á' /*0xC1*/,
215 'À' /*0xC0*/, 'Â' /*0xC2*/, 'À' /*0xC0*/, 'À' /*0xC0*/, 'À' /*0xC0*/, 'À' /*0xC0*/, 'À' /*0xC0*/
218 STATIC CONST UBYTE e_descr[] =
220 DPF_MOD, 0x10,
221 DPF_MOD, 0x25,
222 0, EUR,
223 0, '¢',
224 0, 0x05,
225 0, 0x05,
226 0, 0x85,
227 0, 0x85,
229 'e', 'é' /*0xE9*/, 'è' /*0xE8*/, 'ê' /*0xEA*/, 'e', 'ë' /*0xEB*/, 'e',
230 'é' /*0xE9*/, 'é' /*0xE9*/, 'ê' /*0xEA*/, 'é' /*0xE9*/, 'é' /*0xE9*/, 'é' /*0xE9*/, 'é' /*0xE9*/,
231 'è' /*0xE8*/, 'ê' /*0xEA*/, 'è' /*0xE8*/, 'è' /*0xE8*/, 'è' /*0xE8*/, 'è' /*0xE8*/, 'è' /*0xE8*/,
233 'E', 'É' /*0xC9*/, 'È' /*0xC8*/, 'Ê' /*0xCA*/, 'E', 'Ë' /*0xCB*/, 'E',
234 'É' /*0xC9*/, 'É' /*0xC9*/, 'Ê' /*0xCA*/, 'É' /*0xC9*/, 'É' /*0xC9*/, 'É' /*0xC9*/, 'É' /*0xC9*/,
235 'È' /*0xC8*/, 'Ê' /*0xCA*/, 'È' /*0xC8*/, 'È' /*0xC8*/, 'È' /*0xC8*/, 'È' /*0xC8*/, 'È' /*0xC8*/
238 STATIC CONST UBYTE u_descr[] =
240 DPF_MOD, 0x10,
241 DPF_MOD, 0x25,
242 0, 'µ', /* 0xB5 */
243 0, 'µ', /* 0xB5 */
244 0, 0x15,
245 0, 0x15,
246 0, 0x95,
247 0, 0x95,
249 'u', 'ú' /*0xFA*/, 'ù' /*0xF9*/, 'û' /*0xFB*/, 'u', 'ü' /*0xFC*/, 'u',
250 'ú' /*0xFA*/, 'ú' /*0xFA*/, 'û' /*0xFB*/, 'ú' /*0xFA*/, 'ú' /*0xFA*/, 'ú' /*0xFA*/, 'ú' /*0xFA*/,
251 'ù' /*0xF9*/, 'û' /*0xFB*/, 'ù' /*0xF9*/, 'ù' /*0xF9*/, 'ù' /*0xF9*/, 'ù' /*0xF9*/, 'ù' /*0xF9*/,
253 'U', 'Ú' /*0xDA*/, 'Ù' /*0xD9*/, 'Û' /*0xDB*/, 'U', 'Ü' /*0xDC*/, 'U',
254 'Ú' /*0xDA*/, 'Ú' /*0xDA*/, 'Û' /*0xDB*/, 'Ú' /*0xDA*/, 'Ú' /*0xDA*/, 'Ú' /*0xDA*/, 'Ú' /*0xDA*/,
255 'Ù' /*0xD9*/, 'Û' /*0xDB*/, 'Ù' /*0xD9*/, 'Ù' /*0xD9*/, 'Ù' /*0xD9*/, 'Ù' /*0xD9*/, 'Ù' /*0xD9*/
258 STATIC CONST UBYTE i_descr[] =
260 DPF_MOD, 0x10,
261 DPF_MOD, 0x25,
262 0, '¡', /* 0xA1 */
263 0, '¦', /* 0xA6 */
264 0, 0x09,
265 0, 0x09,
266 0, 0x89,
267 0, 0x89,
269 'i', 'í' /*0xED*/, 'ì' /*0xEC*/, 'î' /*0xEE*/, 'i', 'ï' /*0xEF*/, 'i',
270 'í' /*0xED*/, 'í' /*0xED*/, 'î' /*0xEE*/, 'í' /*0xED*/, 'í' /*0xED*/, 'í' /*0xED*/, 'í' /*0xED*/,
271 'ì' /*0xEC*/, 'î' /*0xEE*/, 'ì' /*0xEC*/, 'ì' /*0xEC*/, 'ì' /*0xEC*/, 'ì' /*0xEC*/, 'ì' /*0xEC*/,
273 'I', 'Í' /*0xCD*/, 'Ì' /*0xCC*/, 'Î' /*0xCE*/, 'I', 'Ï' /*0xCF*/, 'I',
274 'Í' /*0xCD*/, 'Í' /*0xCD*/, 'Î' /*0xCE*/, 'Í' /*0xCD*/, 'Í' /*0xCD*/, 'Í' /*0xCD*/, 'Í' /*0xCD*/,
275 'Ì' /*0xCC*/, 'Î' /*0xCE*/, 'Ì' /*0xCC*/, 'Ì' /*0xCC*/, 'Ì' /*0xCC*/, 'Ì' /*0xCC*/, 'Ì' /*0xCC*/
278 STATIC CONST UBYTE o_descr[] =
280 DPF_MOD, 0x10,
281 DPF_MOD, 0x25,
282 0, 'ø', /* 0xF8 */
283 0, 'Ø', /* 0xD8 */
284 0, 0x0F,
285 0, 0x0F,
286 0, 0x8F,
287 0, 0x8F,
289 'o', 'ó' /*0xF3*/, 'ò' /*0xF2*/, 'ô' /*0xF4*/, 'õ' /*0xF5*/, 'ö' /*0xF6*/, 'o',
290 'ó' /*0xF3*/, 'ó' /*0xF3*/, 'ô' /*0xF4*/, 'ó' /*0xF3*/, 'ó' /*0xF3*/, 'ó' /*0xF3*/, 'ó' /*0xF3*/,
291 'ò' /*0xF2*/, 'ô' /*0xF4*/, 'ò' /*0xF2*/, 'ò' /*0xF2*/, 'ò' /*0xF2*/, 'ò' /*0xF2*/, 'ò' /*0xF2*/,
293 'O', 'Ó' /*0xD3*/, 'Ò' /*0xD2*/, 'Ô' /*0xD4*/, 'Õ' /*0xD5*/, 'Ö' /*0xD6*/, 'O',
294 'Ó' /*0xD3*/, 'Ó' /*0xD3*/, 'Ô' /*0xD4*/, 'Ó' /*0xD3*/, 'Ó' /*0xD3*/, 'Ó' /*0xD3*/, 'Ó' /*0xD3*/,
295 'Ò' /*0xD2*/, 'Ô' /*0xD4*/, 'Ò' /*0xD2*/, 'Ò' /*0xD2*/, 'Ò' /*0xD2*/, 'Ò' /*0xD2*/, 'Ò' /*0xD2*/
298 STATIC CONST UBYTE y_descr[] =
300 DPF_MOD, 0x10,
301 DPF_MOD, 0x25,
302 0, '±',
303 0, '¬',
304 0, 0x19,
305 0, 0x19,
306 0, 0x99,
307 0, 0x99,
309 'y', 'ý', 'y', 'y', 'y', 'ÿ', 'y',
310 'ý', 'ý', 'ý', 'ý', 'ý', 'ý', 'ý',
311 'y', 'y', 'y', 'y', 'y', 'y', 'y',
313 'Y', 'Ý', 'Y', 'Y', 'Y', 'Y', 'Y',
314 'Ý', 'Ý', 'Ý', 'Ý', 'Ý', 'Ý', 'Ý',
315 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y'
318 STATIC CONST UBYTE n_descr[] =
320 DPF_MOD, 0x10,
321 DPF_MOD, 0x25,
322 0, '­',
323 0, '¯',
324 0, 0x0E,
325 0, 0x0E,
326 0, 0x8E,
327 0, 0x8E,
329 'n', 'n', 'n', 'n', 'ñ', 'n', 'n',
330 'n', 'n', 'n', 'n', 'n', 'n', 'n',
331 'n', 'n', 'n', 'n', 'n', 'n', 'n',
333 'N', 'N', 'N', 'N', 'Ñ', 'N', 'N',
334 'N', 'N', 'N', 'N', 'N', 'N', 'N',
335 'N', 'N', 'N', 'N', 'N', 'N', 'N'
338 STATIC CONST UBYTE f_descr[] =
340 0, 'f',
341 0, 'F',
342 DPF_DEAD, 1 + (7 << DP_2DFACSHIFT),
343 DPF_DEAD, 1 + (7 << DP_2DFACSHIFT),
344 0, 0x06,
345 0, 0x06,
346 0, 0x86,
347 0, 0x86
350 STATIC CONST UBYTE g_descr[] =
352 0, 'g',
353 0, 'G',
354 DPF_DEAD, 2 + (7 << DP_2DFACSHIFT),
355 DPF_DEAD, 2 + (7 << DP_2DFACSHIFT),
356 0, 0x07,
357 0, 0x07,
358 0, 0x87,
359 0, 0x87
362 STATIC CONST UBYTE h_descr[] =
364 0, 'h',
365 0, 'H',
366 DPF_DEAD, 3,
367 DPF_DEAD, 3,
368 0, 0x08,
369 0, 0x08,
370 0, 0x88,
371 0, 0x88
374 STATIC CONST UBYTE j_descr[] =
376 0, 'j',
377 0, 'J',
378 DPF_DEAD, 4,
379 DPF_DEAD, 4,
380 0, 0x0A,
381 0, 0x0A,
382 0, 0x8A,
383 0, 0x8A,
386 STATIC CONST UBYTE k_descr[] =
388 0, 'k',
389 0, 'K',
390 DPF_DEAD, 5,
391 DPF_DEAD, 5,
392 0, 0x0B,
393 0, 0x0B,
394 0, 0x8B,
395 0, 0x8B,
398 STATIC CONST UBYTE key00_descr[] =
400 0, '^', // normal state can't be made a dead key
401 0, '°',
402 DPF_DEAD, 3,
403 DPF_DEAD, 6,
404 0, 0,
405 0, 0,
406 0, 0,
407 0, 0
410 STATIC CONST UBYTE key0c_descr[] =
412 DPF_DEAD, 1 + (7 << DP_2DFACSHIFT),
413 DPF_DEAD, 2 + (7 << DP_2DFACSHIFT),
414 0, '=',
415 0, '+'
418 STATIC CONST IPTR lokeymap[] =
420 DEAD(key00_descr), /* 00 Left of 1 Key */
421 BYTES('!', '¹', '!', '1'), /* 01 1 */
422 BYTES('@', '²', '"', '2'), /* 02 2 */
423 BYTES('#', '³', '§', '3'), /* 03 3 */
424 BYTES('¢', '°', '$', '4'), /* 04 4 */
425 BYTES('%', '¼', '%', '5'), /* 05 5 */
426 BYTES('^', '½', '&', '6'), /* 06 6 */
427 BYTES('¾', '{', '/', '7'), /* 07 7 */
428 BYTES('*', '[', '(', '8'), /* 08 8 */
429 BYTES('«', ']', ')', '9'), /* 09 9 */
430 BYTES('»', '}', '=', '0'), /* 0A 0 */
431 BYTES('|', '\\', '?', 'ß'), /* 0B Right of 0 */
432 DEAD(key0c_descr), /* 0C 2nd right of 0 */
433 BYTES('`', '`', '\'', '#'), /* 0D 3rd right of 0 */
434 BYTES(0, 0, 0, 0), /* 0E undefined */
435 BYTES(0, 0, 0, '0'), /* 0F NUM 0 */
436 BYTES('@', '@', 'Q', 'q'), /* 10 */
437 BYTES('°', '°', 'W', 'w'), /* 11 */
438 DEAD(e_descr), /* 12 */
439 BYTES('®', '®', 'R', 'r'), /* 13 */
440 BYTES('Þ', 'þ', 'T', 't'), /* 14 */
441 BYTES('¥', EUR, 'Z', 'z'), /* 15 */
442 DEAD(u_descr), /* 16 */
443 DEAD(i_descr), /* 17 */
444 DEAD(o_descr), /* 18 */
445 BYTES('¶', '¶', 'P', 'p'), /* 19 */
447 BYTES('{', '[', 'Ü', 'ü'), /* 1A */
448 BYTES('*', '~', '*', '+'), /* 1B */
449 BYTES(0, 0, 0, 0), /* 1C undefined */
450 BYTES(0, 0, 0, '1'), /* 1D NUM 1*/
451 BYTES(0, 0, 0, '2'), /* 1E NUM 2*/
452 BYTES(0, 0, 0, '3'), /* 1F NUM 3*/
454 DEAD(a_descr), /* 20 */
455 BYTES('§', 'ß', 'S', 's'), /* 21 */
456 BYTES('Ð', 'ð', 'D', 'd'), /* 22 */
457 DEAD(f_descr), /* 23 */
458 DEAD(g_descr), /* 24 */
459 DEAD(h_descr), /* 25 */
460 DEAD(j_descr), /* 26 */
461 DEAD(k_descr), /* 27 */
462 BYTES('£', '£', 'L', 'l'), /* 28 */
464 BYTES(':', ';', 'Ö', 'ö'), /* 29 */
465 BYTES('"', '\'', 'Ä', 'ä'), /* 2A */
466 BYTES('`', '`', '\'', '#'), /* 2B */
467 BYTES(0, 0, 0, 0), /* 2C undefined */
468 BYTES(0, 0, 0, '4'), /* 2D NUM 4 */
469 BYTES(0, 0, 0, '5'), /* 2E NUM 5 */
470 BYTES(0, 0, 0, '6'), /* 2F NUM 6 */
471 BYTES('¦', '|', '>', '<'), /* 30 */
472 DEAD(y_descr), /* 31 */
473 BYTES('÷', '×', 'X', 'x'), /* 32 */
474 BYTES('Ç', 'ç', 'C', 'c'), /* 33 */
475 BYTES('ª', 'ª', 'V', 'v'), /* 34 */
476 BYTES('º', 'º', 'B', 'b'), /* 35 */
477 DEAD(n_descr), /* 36 */
478 BYTES('µ', 'µ', 'M', 'm'), /* 37 */
480 BYTES('<', ',', ';', ','), /* 38 */
481 BYTES('>', '.', ':', '.'), /* 39 */
482 BYTES('?', '/', '_', '-'), /* 3A */
483 BYTES(0, 0, 0, 0), /* 3B */
484 BYTES(0, 0, 0, ','), /* 3C NUM . */
485 BYTES(0, 0, 0, '7'), /* 3D NUM 7 */
486 BYTES(0, 0, 0, '8'), /* 3E NUM 8 */
487 BYTES(0, 0, 0, '9'), /* 3F NUM 9 */
490 #include "standard.h"
492 STATIC CONST UBYTE space_descr[] =
494 DPF_MOD, 0x4,
495 0, 0XA0,
497 ' ', '´' /*0xB4*/, '`', '^', '~', '¨' /*0xA8*/, '°' /*0xB0*/,
498 '´' /*0xB4*/, '´' /*0xB4*/, '^', '´' /*0xB4*/, '´' /*0xB4*/, '´' /*0xB4*/, '´' /*0xB4*/,
499 '`', '^', '`', '`', '`', '`', '`'
502 STATIC CONST IPTR hikeymap[] =
504 DEAD(space_descr), /* 40 */
505 BYTES(8, 8, 8, 8), /* 41 BACKSPACE*/
506 STRING(tab_descr), /* 42 TAB */
507 BYTES(13, 13, 13, 13), /* 43 ENTER */
508 BYTES(0, 0, 10, 13), /* 44 RETURN */
509 BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */
510 BYTES(127, 127, 127, 127), /* 46 DEL */
511 STRING(insert_descr), /* 47 INSERT ?? */
512 STRING(pageup_descr), /* 48 PAGEUP ?? */
513 STRING(pagedown_descr), /* 49 PAGEDOWN ?? */
514 BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */
515 STRING(f11_descr), /* 4B F11 ?? */
516 STRING(up_descr), /* 4C CURSOR UP*/
517 STRING(down_descr), /* 4D CURSOR DOWN*/
518 STRING(right_descr), /* 4E CURSOR RIGHT */
519 STRING(left_descr), /* 4F CURSOR LEFT */
520 STRING(f1_descr), /* 50 F1 */
521 STRING(f2_descr), /* 51 */
522 STRING(f3_descr), /* 52 */
523 STRING(f4_descr), /* 53 */
524 STRING(f5_descr), /* 54 */
525 STRING(f6_descr), /* 55 */
526 STRING(f7_descr), /* 56 */
527 STRING(f8_descr), /* 57 */
528 STRING(f9_descr), /* 58 */
529 STRING(f10_descr), /* 59 */
530 BYTES(0, 0, 0, 0), /* 5A */
531 BYTES('/', '/', '/', '/'), /* 5B */
532 BYTES('*', '*', '*', '*'), /* 5C */
533 BYTES('-', '-', '-', '-'), /* 5D */
534 BYTES('+', '+', '+', '+'), /* 5E */
535 STRING(help_descr), /* 5F HELP */
536 BYTES(0, 0, 0, 0), /* 60 */
537 BYTES(0, 0, 0, 0), /* 61 */
538 BYTES(0, 0, 0, 0), /* 62 */
539 BYTES(0, 0, 0, 0), /* 63 */
540 BYTES(0, 0, 0, 0), /* 64 */
541 BYTES(0, 0, 0, 0), /* 65 */
542 BYTES(0, 0, 0, 0), /* 66 */
543 BYTES(0, 0, 0, 0), /* 67 */
544 BYTES(0, 0, 0, 0), /* 68 */
545 BYTES(0, 0, 0, 0), /* 69 */
546 BYTES(0, 0, 0, 0), /* 6A */
547 BYTES(0, 0, 0, 0), /* 6B */
548 BYTES(0, 0, 0, 0), /* 6C */
549 BYTES(0, 0, 0, 0), /* 6D */
550 STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */
551 STRING(f12_descr), /* 6F F12 ?? */
552 STRING(home_descr), /* 70 HOME ?? */
553 STRING(end_descr), /* 71 END ?? */
554 BYTES(0, 0, 0, 0), /* 72 */
555 BYTES(0, 0, 0, 0), /* 73 */
556 BYTES(0, 0, 0, 0), /* 74 */
557 BYTES(0, 0, 0, 0), /* 75 */
558 BYTES(0, 0, 0, 0), /* 76 */
559 BYTES(0, 0, 0, 0), /* 77 */
560 BYTES(0, 0, 0, 0), /* 78 */
561 BYTES(0, 0, 0, 0), /* 79 */
562 BYTES(0, 0, 0, 0), /* 7A */
563 BYTES(0, 0, 0, 0), /* 7B */
564 BYTES(0, 0, 0, 0), /* 7C */
565 BYTES(0, 0, 0, 0), /* 7D */
566 BYTES(0, 0, 0, 0), /* 7E */
567 BYTES(0, 0, 0, 0), /* 7F */
570 #undef SETBITS
572 #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \
573 (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7)
575 STATIC CONST UBYTE locapsable[] =
577 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */
578 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */
580 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */
581 SETBITS(1, 1, 1, 0, 0, 0, 0, 0), /* 18 - 1F */
583 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */
584 SETBITS(1, 1, 1, 0, 0, 0, 0, 0), /* 28 - 2F */
586 SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */
587 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */
590 STATIC CONST UBYTE hicapsable[] =
592 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */
593 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */
595 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */
596 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */
598 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */
599 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */
601 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */
602 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */
605 STATIC CONST UBYTE lorepeatable[] =
607 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */
608 SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */
610 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */
611 SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */
613 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */
614 SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */
616 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */
617 SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */
620 STATIC CONST UBYTE hirepeatable[] =
622 SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */
623 SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */
625 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */
626 SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */
628 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */
629 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */
631 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */
632 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */