prism2.device: Compiler delint
[AROS.git] / workbench / devs / keymaps / pc105_p.c
blob1355f6e158ef7be6c75ac1c3530381aa9d9e7cfa
1 /*
2 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: Portuguese PC105 Keymap
6 Lang: English
7 */
9 #include <devices/keymap.h>
11 STATIC char keymapname[] = "pc105_p";
13 STATIC CONST UBYTE lokeymaptypes[];
14 STATIC CONST IPTR lokeymap[];
15 STATIC CONST UBYTE locapsable[];
16 STATIC CONST UBYTE lorepeatable[];
18 STATIC CONST UBYTE hikeymaptypes[];
19 STATIC CONST IPTR hikeymap[];
20 STATIC CONST UBYTE hicapsable[];
21 STATIC CONST UBYTE hirepeatable[];
23 CONST struct KeyMapNode km =
26 NULL, NULL, 0, 0, keymapname
29 (UBYTE *)lokeymaptypes,
30 (IPTR *)lokeymap,
31 (UBYTE *)locapsable,
32 (UBYTE *)lorepeatable,
33 (UBYTE *)hikeymaptypes,
34 (IPTR *)hikeymap,
35 (UBYTE *)hicapsable,
36 (UBYTE *)hirepeatable
40 #undef N
41 #undef S
42 #undef A
43 #undef C
44 #undef D
45 #undef V
46 #undef ST
47 #undef NOP
49 #define N KC_NOQUAL
50 #define S KCF_SHIFT
51 #define A KCF_ALT
52 #define C KCF_CONTROL
53 #define D KCF_DEAD
54 #define V KC_VANILLA
55 #define ST KCF_STRING
56 #define NOP KCF_NOP
58 #define EUR 0xA4 /* ISO 8859-15: Euro = 164 = 0xA4) */
60 STATIC CONST UBYTE lokeymaptypes[] =
62 S|A, /* 00 left of 1 */
63 S|A, /* 01 1 */
64 V, /* 02 2 */
65 V, /* 03 3 */
66 S|A, /* 04 4 */
67 S|A, /* 05 */
68 S|A, /* 06 */
69 S|A, /* 07 */
70 S|A, /* 08 */
71 S|A, /* 09 */
72 S|A, /* 0A */
73 S|A, /* 0B Right of 0 */
74 S|A, /* 0C 2nd right of 0 */
75 N, /* 0D 3rd right of 0 */
76 N, /* 0E undef */
77 S|A, /* 0F NUM 0 */
79 V, /* 10 q */
80 V, /* 11 w */
81 D|V, /* 12 e */
82 V, /* 13 r */
83 V, /* 14 t */
84 V, /* 15 y */
85 D|V, /* 16 u */
86 D|V, /* 17 i */
87 D|V, /* 18 o */
88 V, /* 19 p */
90 S|A, /* 1A + * */
91 D|S|A, /* 1B ´ ` */
92 N, /* 1C undefined */
93 N, /* 1D NUM 1 */
94 N, /* 1E NUM 2 */
95 N, /* 1F NUM 3 */
97 D|V, /* 20 a */
98 V, /* 21 s */
99 V, /* 22 d */
100 V, /* 23 f */
101 V, /* 24 g */
102 V, /* 25 h */
103 V, /* 26 j */
104 V, /* 27 k */
105 V, /* 28 l */
106 S|A, /* 29 ç */
108 S|A, /* 2A º ª */
109 D|S|A, /* 2B ~ ^ */
110 N, /* 2C undefined */
111 N, /* 2D NUM 4 */
112 N, /* 2E NUM 5 */
113 N, /* 2F NUM 6 */
114 S|A, /* 30 < > */
115 V, /* 31 z */
116 V, /* 32 x */
117 V, /* 33 c */
118 V, /* 34 v */
119 V, /* 35 b */
120 V, /* 36 n */
122 V, /* 37 m */
123 S|A, /* 38 , ; */
124 S|A, /* 39 . : */
125 S, /* 3A - _ */
126 N, /* 3B undefined */
127 N, /* 3C NUM . */
128 N, /* 3D NUM 7 */
129 N, /* 3E NUM 8 */
130 N, /* 3F NUM 9 */
133 STATIC CONST UBYTE hikeymaptypes[] =
135 D|S, /* 40 SPACE */
136 N, /* 41 BACKSPACE */
137 ST|S, /* 42 TAB */
138 N, /* 43 ENTER */
139 C, /* 44 RETURN */
140 A, /* 45 ESCAPE */
141 N, /* 46 DEL */
142 ST|S, /* 47 INSERT ?? */
143 ST|S, /* 48 PAGE UP ?? */
144 ST|S, /* 49 PAGE DOWN ?? */
145 N, /* 4A NUMERIC PAD - */
146 ST|S, /* 4B F11 ?? */
147 ST|S, /* 4C CURSORUP*/
148 ST|S, /* 4D CURSORDOWN */
149 ST|S, /* 4E CURSORRIGHT */
150 ST|S, /* 4F CURSORLEFT */
151 ST|S, /* 50 F1 */
152 ST|S, /* 51 F2 */
153 ST|S, /* 52 F3 */
154 ST|S, /* 53 F4 */
155 ST|S, /* 54 F5 */
156 ST|S, /* 55 F6 */
157 ST|S, /* 56 F7 */
158 ST|S, /* 57 F8 */
159 ST|S, /* 58 F9 */
160 ST|S, /* 59 F10 */
161 NOP, /* 5A NUMLOCK */
162 N, /* 5B NUMPAD ) */
163 N, /* 5C NUMPAD / */
164 N, /* 5D NUMPAD * */
165 N, /* 5E NUMPAD + */
166 ST, /* 5F HELP */
167 NOP, /* 60 LEFT SHIFT*/
168 NOP, /* 61 RIGHT SHIFT */
169 NOP, /* 62 CAPS LOCK */
170 NOP, /* 63 CONTROL */
171 NOP, /* 64 LALT */
172 NOP, /* 65 RALT */
173 NOP, /* 66 LCOMMAND */
174 NOP, /* 67 RCOMMAND */
175 NOP, /* 68 LEFT MOUSE BUTTON*/
176 NOP, /* 69 RIGHT MOUSE BUTTON */
177 NOP, /* 6A MIDDLE MOUSE BUTTON */
178 NOP, /* 6B */
179 NOP, /* 6C */
180 NOP, /* 6D */
181 ST|A, /* 6E PAUSE/BREAK ??*/
182 ST|S, /* 6F F12 ?? */
183 ST|C, /* 70 HOME ?? */
184 ST|C, /* 71 END ?? */
185 NOP, /* 72 */
186 NOP, /* 73 */
187 NOP, /* 74 */
188 NOP, /* 75 */
189 NOP, /* 76 */
190 NOP, /* 77 */
191 NOP, /* 78 */
192 NOP, /* 79 */
193 NOP, /* 7A */
194 NOP, /* 7B */
195 NOP, /* 7C */
196 NOP, /* 7D */
197 NOP, /* 7E */
198 NOP /* 7F */
201 #undef N
202 #undef S
203 #undef A
204 #undef C
205 #undef D
206 #undef V
207 #undef ST
208 #undef NOP
210 #undef STRING
211 #undef DEAD
212 #undef BYTES
214 #define STRING(x) (IPTR)x
215 #define DEAD(x) (IPTR)x
216 #define BYTES(b0, b1, b2, b3) \
217 (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0)
219 /* dead symbols
221 1= ´
222 2 = `
223 3 = ^
224 4 = ~
225 5 = "
226 6 = °
230 STATIC CONST UBYTE a_descr[] =
232 DPF_MOD, 0x10,
233 DPF_MOD, 0x17,
234 0, 'æ', /* 0xE6 */
235 0, 'Æ', /* 0xC6 */
236 0, 0x01,
237 0, 0x01,
238 0, 0x81,
239 0, 0x81,
241 'a', 'á' /*0xE1*/, 'à' /*0xE0*/, 'â' /*0xE2*/, 'ã' /*0xE3*/, 'ä' /*0xE4*/, 'å' /*0xE5*/,
243 'A', 'Á' /*0xC1*/, 'À' /*0xC0*/, 'Â' /*0xC2*/, 'Ã' /*0xC3*/, 'Ä' /*0xC4*/, 'Å' /*0xC5*/
246 STATIC CONST UBYTE e_descr[] =
248 DPF_MOD, 0x10,
249 DPF_MOD, 0x17,
250 0, EUR,
251 0, '¢',
252 0, 0x05,
253 0, 0x05,
254 0, 0x85,
255 0, 0x85,
257 'e', 'é' /*0xE9*/, 'è' /*0xE8*/, 'ê' /*0xEA*/, 'e', 'ë' /*0xEB*/, 'e',
259 'E', 'É' /*0xC9*/, 'È' /*0xC8*/, 'Ê' /*0xCA*/, 'E', 'Ë' /*0xCB*/, 'E'
262 STATIC CONST UBYTE u_descr[] =
264 DPF_MOD, 0x10,
265 DPF_MOD, 0x17,
266 0, 'µ', /* 0xB5 */
267 0, 'µ', /* 0xB5 */
268 0, 0x15,
269 0, 0x15,
270 0, 0x95,
271 0, 0x95,
273 'u', 'ú' /*0xFA*/, 'ù' /*0xF9*/, 'û' /*0xFB*/, 'u', 'ü' /*0xFC*/, 'u',
275 'U', 'Ú' /*0xDA*/, 'Ù' /*0xD9*/, 'Û' /*0xDB*/, 'U', 'Ü' /*0xDC*/, 'U'
278 STATIC CONST UBYTE i_descr[] =
280 DPF_MOD, 0x10,
281 DPF_MOD, 0x17,
282 0, '¡', /* 0xA1 */
283 0, '¦', /* 0xA6 */
284 0, 0x09,
285 0, 0x09,
286 0, 0x89,
287 0, 0x89,
289 'i', 'í' /*0xED*/, 'ì' /*0xEC*/, 'î' /*0xEE*/, 'i', 'ï' /*0xEF*/, 'i',
291 'I', 'Í' /*0xCD*/, 'Ì' /*0xCC*/, 'Î' /*0xCE*/, 'I', 'Ï' /*0xCF*/, 'I'
294 STATIC CONST UBYTE o_descr[] =
296 DPF_MOD, 0x10,
297 DPF_MOD, 0x17,
298 0, 'ø', /* 0xF8 */
299 0, 'Ø', /* 0xD8 */
300 0, 0x0F,
301 0, 0x0F,
302 0, 0x8F,
303 0, 0x8F,
305 'o', 'ó' /*0xF3*/, 'ò' /*0xF2*/, 'ô' /*0xF4*/, 'õ' /*0xF5*/, 'ö' /*0xF6*/, 'o',
307 'O', 'Ó' /*0xD3*/, 'Ò' /*0xD2*/, 'Ô' /*0xD4*/, 'Õ' /*0xD5*/, 'Ö' /*0xD6*/, 'O'
310 STATIC CONST UBYTE space_descr[] =
312 DPF_MOD, 0x4,
313 0, 0XA0,
315 ' ', '´' /*0xB4*/, '`','^','~', '¨' /*0xA8*/, '°' /*0xB0*/
318 STATIC CONST UBYTE KEY1B_descr[] =
320 DPF_DEAD, 1,
321 DPF_DEAD, 2,
322 DPF_DEAD, 1,
323 DPF_DEAD, 2
326 STATIC CONST UBYTE KEY2B_descr[] =
328 DPF_DEAD, 4, /* 0, '~', */
329 DPF_DEAD, 3, /* 0, '^', */
330 DPF_DEAD, 4,
331 DPF_DEAD, 3
334 STATIC CONST IPTR lokeymap[] =
336 BYTES('|','\\', '|','\\'), /* 00 Left of 1 Key */
337 BYTES('¹', '¹', '!', '1'), /* 01 1 */
338 BYTES('@', '@', '"', '2'), /* 02 2 */
339 BYTES('£', '£', '#', '3'), /* 03 3 */
340 BYTES('§', '§', '$', '4'), /* 04 4 */
341 BYTES('%', '5', '%', '5'), /* 05 5 */
342 BYTES('&', '6', '&', '6'), /* 06 6 */
343 BYTES('{', '{', '/', '7'), /* 07 7 */
344 BYTES('[', '[', '(', '8'), /* 08 8 */
345 BYTES(']', ']', ')', '9'), /* 09 9 */
346 BYTES('}', '}', '=', '0'), /* 0A 0 */
347 BYTES('?','\'', '?','\''), /* 0B Right of 0 */
348 BYTES('»', '«', '»', '«'), /* 0C 2nd right of 0 */
349 BYTES('|', '|', '|', '|'), /* 0D 3rd right of 0 */
350 BYTES(0, 0, 0, 0), /* 0E undefined */
351 BYTES('0', '0', '0', '0'), /* 0F NUM 0 */
353 BYTES('Q', 'q', 'Q', 'q'), /* 10 */
354 BYTES('W', 'w', 'W', 'w'), /* 11 */
355 DEAD(e_descr), /* 12 */
356 BYTES('R', 'r', 'R', 'r'), /* 13 */
357 BYTES('T', 't', 'T', 't'), /* 14 */
358 BYTES('Y', 'y', 'Y', 'y'), /* 15 */
359 DEAD(u_descr), /* 16 */
360 DEAD(i_descr), /* 17 */
361 DEAD(o_descr), /* 18 */
362 BYTES('Þ', 'þ', 'P', 'p'), /* 19 */
363 BYTES('*', '+', '*', '+'), /* 1A */
364 DEAD(KEY1B_descr), /* 1B */
365 BYTES(0, 0, 0, 0), /* 1C undefined */
366 BYTES('1', '1', '1', '1'), /* 1D NUM 1*/
367 BYTES('2', '2', '2', '2'), /* 1E NUM 2*/
368 BYTES('3', '3', '3', '3'), /* 1F NUM 3*/
370 DEAD(a_descr), /* 20 */
371 BYTES('S', 's', 'S', 's'), /* 21 */
372 BYTES('D', 'd', 'D', 'd'), /* 22 */
373 BYTES('F', 'f', 'F', 'f'), /* 23 */
374 BYTES('G', 'g', 'G', 'g'), /* 24 */
375 BYTES('H', 'h', 'H', 'h'), /* 25 */
376 BYTES('J', 'j', 'J', 'j'), /* 26 */
377 BYTES('K', 'k', 'K', 'k'), /* 27 */
378 BYTES('L', 'l', 'L', 'l'), /* 28 */
379 BYTES('Ç', 'ç', 'Ç', 'ç'), /* 29 */
381 BYTES('ª', 'º', 'ª', 'º'), /* 2A */
382 DEAD(KEY2B_descr), /* 2B */
383 BYTES(0, 0, 0, 0), /* 2C undefined */
384 BYTES('4', '4', '4', '4'), /* 2D NUM 4 */
385 BYTES('5', '5', '5', '5'), /* 2E NUM 5 */
386 BYTES('6', '6', '6', '6'), /* 2F NUM 6 */
387 BYTES('¦', '|', '>', '<'), /* 30 */
388 BYTES('Z', 'z', 'Z', 'z'), /* 31 */
389 BYTES('X', 'x', 'X', 'x'), /* 32 */
390 BYTES('C', 'c', 'C', 'c'), /* 33 */
391 BYTES('V', 'v', 'V', 'v'), /* 34 */
392 BYTES('B', 'b', 'B', 'b'), /* 35 */
393 BYTES('N', 'n', 'N', 'n'), /* 36 */
395 BYTES('M', 'm', 'M', 'm'), /* 37 */
396 BYTES(';', ',', ';', ','), /* 38 */
397 BYTES(':', '.', ':', '.'), /* 39 */
398 BYTES('_', '-', '_', '-'), /* 3A */
399 BYTES(0, 0, 0, 0), /* 3B */
400 BYTES('.', '.', '.', '.'), /* 3C NUM . */
401 BYTES('7', '7', '7', '7'), /* 3D NUM 7 */
402 BYTES('8', '8', '8', '8'), /* 3E NUM 8 */
403 BYTES('9', '9', '9', '9'), /* 3F NUM 9 */
406 #include "standard.h"
408 STATIC CONST IPTR hikeymap[] =
410 DEAD(space_descr), /* 40 SPACE */
411 BYTES(8, 8, 8, 8), /* 41 BACKSPACE*/
412 STRING(tab_descr), /* 42 TAB */
413 BYTES(13, 13, 13, 13), /* 43 ENTER */
414 BYTES(0, 0, 10, 13), /* 44 RETURN */
415 BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */
416 BYTES(127, 127, 127, 127), /* 46 DEL */
417 STRING(insert_descr), /* 47 INSERT ?? */
418 STRING(pageup_descr), /* 48 PAGEUP ?? */
419 STRING(pagedown_descr), /* 49 PAGEDOWN ?? */
420 BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */
421 STRING(f11_descr), /* 4B F11 ?? */
422 STRING(up_descr), /* 4C CURSOR UP*/
423 STRING(down_descr), /* 4D CURSOR DOWN*/
424 STRING(right_descr), /* 4E CURSOR RIGHT */
425 STRING(left_descr), /* 4F CURSOR LEFT */
426 STRING(f1_descr), /* 50 F1 */
427 STRING(f2_descr), /* 51 */
428 STRING(f3_descr), /* 52 */
429 STRING(f4_descr), /* 53 */
430 STRING(f5_descr), /* 54 */
431 STRING(f6_descr), /* 55 */
432 STRING(f7_descr), /* 56 */
433 STRING(f8_descr), /* 57 */
434 STRING(f9_descr), /* 58 */
435 STRING(f10_descr), /* 59 */
436 BYTES(0, 0, 0, 0), /* 5A */
437 BYTES('/', '/', '/', '/'), /* 5B */
438 BYTES('*', '*', '*', '*'), /* 5C */
439 BYTES('-', '-', '-', '-'), /* 5D */
440 BYTES('+', '+', '+', '+'), /* 5E */
441 STRING(help_descr), /* 5F HELP */
442 BYTES(0, 0, 0, 0), /* 60 */
443 BYTES(0, 0, 0, 0), /* 61 */
444 BYTES(0, 0, 0, 0), /* 62 */
445 BYTES(0, 0, 0, 0), /* 63 */
446 BYTES(0, 0, 0, 0), /* 64 */
447 BYTES(0, 0, 0, 0), /* 65 */
448 BYTES(0, 0, 0, 0), /* 66 */
449 BYTES(0, 0, 0, 0), /* 67 */
450 BYTES(0, 0, 0, 0), /* 68 */
451 BYTES(0, 0, 0, 0), /* 69 */
452 BYTES(0, 0, 0, 0), /* 6A */
453 BYTES(0, 0, 0, 0), /* 6B */
454 BYTES(0, 0, 0, 0), /* 6C */
455 BYTES(0, 0, 0, 0), /* 6D */
456 STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */
457 STRING(f12_descr), /* 6F F12 ?? */
458 STRING(home_descr), /* 70 HOME ?? */
459 STRING(end_descr), /* 71 END ?? */
460 BYTES(0, 0, 0, 0), /* 72 */
461 BYTES(0, 0, 0, 0), /* 73 */
462 BYTES(0, 0, 0, 0), /* 74 */
463 BYTES(0, 0, 0, 0), /* 75 */
464 BYTES(0, 0, 0, 0), /* 76 */
465 BYTES(0, 0, 0, 0), /* 77 */
466 BYTES(0, 0, 0, 0), /* 78 */
467 BYTES(0, 0, 0, 0), /* 79 */
468 BYTES(0, 0, 0, 0), /* 7A */
469 BYTES(0, 0, 0, 0), /* 7B */
470 BYTES(0, 0, 0, 0), /* 7C */
471 BYTES(0, 0, 0, 0), /* 7D */
472 BYTES(0, 0, 0, 0), /* 7E */
473 BYTES(0, 0, 0, 0), /* 7F */
476 #undef SETBITS
478 #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \
479 (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7)
481 STATIC CONST UBYTE locapsable[] =
483 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */
484 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */
486 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */
487 SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */
489 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */
490 SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 28 - 2F */
492 SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */
493 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */
496 STATIC CONST UBYTE hicapsable[] =
498 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */
499 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */
501 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */
502 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */
504 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */
505 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */
507 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */
508 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */
511 STATIC CONST UBYTE lorepeatable[] =
513 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */
514 SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */
516 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */
517 SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */
519 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */
520 SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */
522 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */
523 SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */
526 STATIC CONST UBYTE hirepeatable[] =
528 SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */
529 SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */
531 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */
532 SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */
534 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */
535 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */
537 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */
538 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */