Check for SYS/GL during library init. Reason is that
[AROS.git] / workbench / devs / keymaps / pc104_usa.c
blob0cd85f25680e39a0b2562d151f2bc815e393436e
1 /*
2 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: US PC104/PC101 Keymap
6 Lang: English
7 */
9 #include "common.h"
11 DEFINE_KEYMAP("pc104_usa")
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 S, /* 00 */
36 S, /* 01 */
37 S|A, /* 02 */
38 S|A, /* 03 */
39 S|A, /* 04 */
40 S, /* 05 */
41 S, /* 06 */
42 S, /* 07 */
43 S, /* 08 */
44 S, /* 09 */
45 S, /* 0A */
46 S, /* 0B */
47 S, /* 0C */
48 N, /* 0D */
49 N, /* 0E */
50 S|A, /* 0F */
51 V, /* 10 q */
52 V, /* 11 w */
53 V, /* 12 e */
54 V, /* 13 r */
55 V, /* 14 t */
56 V, /* 15 z */
57 V, /* 16 u */
58 V, /* 17 i */
59 V, /* 18 o */
60 V, /* 19 p */
61 S, /* 1A */
62 S|A, /* 1B */
63 S|A, /* 1C */
64 S|A, /* 1D */
65 S|A, /* 1E */
66 S|A, /* 1F */
67 V, /* 20 a */
68 V, /* 21 s */
69 V, /* 22 d */
70 V, /* 23 f */
71 V, /* 24 g */
72 V, /* 25 h */
73 V, /* 26 j */
74 V, /* 27 k */
75 V, /* 28 l */
76 S, /* 29 */
77 S, /* 2A */
78 S, /* 2B */
79 N, /* 2C */
80 N, /* 2D */
81 N, /* 2E */
82 N, /* 2F */
83 S|A, /* 30 */
84 V, /* 31 y */
85 V, /* 32 x */
86 V, /* 33 c */
87 V, /* 34 v */
88 V, /* 35 b */
89 V, /* 36 n */
90 V, /* 37 m */
91 S|A, /* 38 */
92 S|A, /* 39 */
93 S, /* 3A */
94 N, /* 3B */
95 N, /* 3C */
96 N, /* 3D */
97 N, /* 3E */
98 N, /* 3F */
101 STATIC CONST UBYTE hikeymaptypes[] =
103 N, /* 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 STATIC CONST IPTR lokeymap[] =
189 BYTES('~', '`', '~', '`'), /* 00 Left of 1 Key */
190 BYTES('!', '1', '!', '1'), /* 01 1 */
191 BYTES('@', '2', '@', '2'), /* 02 2 */
192 BYTES('#', '3', '#', '3'), /* 03 3 */
193 BYTES('$', '4', '$', '4'), /* 04 4 */
194 BYTES('%', '5', '%', '5'), /* 05 5 */
195 BYTES('^', '6', '^', '6'), /* 06 6 */
196 BYTES('&', '7', '&', '7'), /* 07 7 */
197 BYTES('*', '8', '*', '8'), /* 08 8 */
198 BYTES('(', '9', '(', '9'), /* 09 9 */
199 BYTES(')', '0', ')', '0'), /* 0A 0 */
200 BYTES('_', '-', '_', '-'), /* 0B Right of 0 */
201 BYTES('+', '=', '+', '='), /* 0C 2nd right of 0 */
202 BYTES('|', '\\', '|', '\\'), /* 0D 3rd right of 0 */
203 BYTES(0, 0, 0, 0), /* 0E undefined */
204 BYTES('0', '0', '0', '0'), /* 0F NUM 0 */
205 BYTES('@', '@', 'Q', 'q'), /* 10 */
206 BYTES('W', 'w', 'W', 'w'), /* 11 */
207 BYTES('É', 'é', 'E', 'e'), /* 12 */
208 BYTES('®', '®', 'R', 'r'), /* 13 */
209 BYTES('Ô', 'ô', 'T', 't'), /* 14 */
210 BYTES('Y', 'y', 'Y', 'y'), /* 15 */
211 BYTES('Ú', 'ú', 'U', 'u'), /* 16 */
212 BYTES('Í', 'í', 'I', 'i'), /* 17 */
213 BYTES('Ó', 'ó', 'O', 'o'), /* 18 */
214 BYTES('P', 'p', 'P', 'p'), /* 19 */
216 BYTES('{', '[', '{', '['), /* 1A */
217 BYTES('}', ']', '}', ']'), /* 1B */
218 BYTES(0, 0, 0, 0), /* 1C undefined */
219 BYTES('1', '1', '1', '1'), /* 1D NUM 1*/
220 BYTES('2', '2', '2', '2'), /* 1E NUM 2*/
221 BYTES('3', '3', '3', '3'), /* 1F NUM 3*/
223 BYTES('Á', 'á', 'A', 'a'), /* 20 */
224 BYTES('S', 's', 'S', 's'), /* 21 */
225 BYTES('D', 'd', 'D', 'd'), /* 22 */
226 BYTES('F', 'f', 'F', 'f'), /* 23 */
227 BYTES('G', 'g', 'G', 'g'), /* 24 */
228 BYTES('H', 'h', 'H', 'h'), /* 25 */
229 BYTES('J', 'j', 'J', 'j'), /* 26 */
230 BYTES('K', 'k', 'K', 'k'), /* 27 */
231 BYTES('L', 'l', 'L', 'l'), /* 28 */
233 BYTES(':', ';', ':', ';'), /* 29 */
234 BYTES('"','\'', '"','\''), /* 2A */
235 BYTES(0, 0, 0, 0), /* 2B undefined */
236 BYTES(0, 0, 0, 0), /* 2C undefined */
237 BYTES('4', '4', '4', '4'), /* 2D NUM 4 */
238 BYTES('5', '5', '5', '5'), /* 2E NUM 5 */
239 BYTES('6', '6', '6', '6'), /* 2F NUM 6 */
240 BYTES(0, 0, 0, 0), /* 30 undefined */
241 BYTES('Z', 'z', 'Z', 'z'), /* 31 */
242 BYTES('X', 'x', 'X', 'x'), /* 32 */
243 BYTES('©', '©', 'C', 'c'), /* 33 */
244 BYTES('V', 'v', 'V', 'v'), /* 34 */
245 BYTES('B', 'b', 'B', 'b'), /* 35 */
246 BYTES('¯', '­', 'N', 'n'), /* 36 */
247 BYTES('µ', 'µ', 'M', 'm'), /* 37 */
249 BYTES('<', ',', '<', ','), /* 38 */
250 BYTES('>', '.', '>', '.'), /* 39 */
251 BYTES('?', '/', '?', '/'), /* 3A */
252 BYTES(0, 0, 0, 0), /* 3B */
253 BYTES('.', '.', '.', '.'), /* 3C NUM . */
254 BYTES('7', '7', '7', '7'), /* 3D NUM 7 */
255 BYTES('8', '8', '8', '8'), /* 3E NUM 8 */
256 BYTES('9', '9', '9', '9'), /* 3F NUM 9 */
259 #include "standard.h"
261 STATIC CONST IPTR hikeymap[] =
263 BYTES(0xA0, 0xA0, ' ', ' '),/* 40 SPACE */
264 BYTES(8, 8, 8, 8), /* 41 BACKSPACE */
265 STRING(tab_descr), /* 42 TAB */
266 BYTES(13, 13, 13, 13), /* 43 ENTER */
267 BYTES(0, 0, 10, 13), /* 44 RETURN */
268 BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */
269 BYTES(127, 127, 127, 127), /* 46 DEL */
270 STRING(insert_descr), /* 47 INSERT ?? */
271 STRING(pageup_descr), /* 48 PAGEUP ?? */
272 STRING(pagedown_descr), /* 49 PAGEDOWN ?? */
273 BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */
274 STRING(f11_descr), /* 4B F11 ?? */
275 STRING(up_descr), /* 4C CURSOR UP*/
276 STRING(down_descr), /* 4D CURSOR DOWN*/
277 STRING(right_descr), /* 4E CURSOR RIGHT */
278 STRING(left_descr), /* 4F CURSOR LEFT */
279 STRING(f1_descr), /* 50 F1 */
280 STRING(f2_descr), /* 51 */
281 STRING(f3_descr), /* 52 */
282 STRING(f4_descr), /* 53 */
283 STRING(f5_descr), /* 54 */
284 STRING(f6_descr), /* 55 */
285 STRING(f7_descr), /* 56 */
286 STRING(f8_descr), /* 57 */
287 STRING(f9_descr), /* 58 */
288 STRING(f10_descr), /* 59 */
289 BYTES(0, 0, 0, 0), /* 5A */
290 BYTES('/', '/', '/', '/'), /* 5B */
291 BYTES('*', '*', '*', '*'), /* 5C */
292 BYTES('-', '-', '-', '-'), /* 5D */
293 BYTES('+', '+', '+', '+'), /* 5E */
294 STRING(help_descr), /* 5F HELP */
295 BYTES(0, 0, 0, 0), /* 60 */
296 BYTES(0, 0, 0, 0), /* 61 */
297 BYTES(0, 0, 0, 0), /* 62 */
298 BYTES(0, 0, 0, 0), /* 63 */
299 BYTES(0, 0, 0, 0), /* 64 */
300 BYTES(0, 0, 0, 0), /* 65 */
301 BYTES(0, 0, 0, 0), /* 66 */
302 BYTES(0, 0, 0, 0), /* 67 */
303 BYTES(0, 0, 0, 0), /* 68 */
304 BYTES(0, 0, 0, 0), /* 69 */
305 BYTES(0, 0, 0, 0), /* 6A */
306 BYTES(0, 0, 0, 0), /* 6B */
307 BYTES(0, 0, 0, 0), /* 6C */
308 BYTES(0, 0, 0, 0), /* 6D */
309 STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */
310 STRING(f12_descr), /* 6F F12 ?? */
311 STRING(home_descr), /* 70 HOME ?? */
312 STRING(end_descr), /* 71 END ?? */
313 BYTES(0, 0, 0, 0), /* 72 */
314 BYTES(0, 0, 0, 0), /* 73 */
315 BYTES(0, 0, 0, 0), /* 74 */
316 BYTES(0, 0, 0, 0), /* 75 */
317 BYTES(0, 0, 0, 0), /* 76 */
318 BYTES(0, 0, 0, 0), /* 77 */
319 BYTES(0, 0, 0, 0), /* 78 */
320 BYTES(0, 0, 0, 0), /* 79 */
321 BYTES(0, 0, 0, 0), /* 7A */
322 BYTES(0, 0, 0, 0), /* 7B */
323 BYTES(0, 0, 0, 0), /* 7C */
324 BYTES(0, 0, 0, 0), /* 7D */
325 BYTES(0, 0, 0, 0), /* 7E */
326 BYTES(0, 0, 0, 0), /* 7F */
329 #undef SETBITS
331 #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \
332 (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7)
334 STATIC CONST UBYTE locapsable[] =
336 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */
337 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */
339 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */
340 SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */
342 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */
343 SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */
345 SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */
346 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */
349 STATIC CONST UBYTE hicapsable[] =
351 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */
352 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */
354 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */
355 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */
357 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */
358 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */
360 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */
361 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */
364 STATIC CONST UBYTE lorepeatable[] =
366 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */
367 SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */
369 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */
370 SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */
372 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */
373 SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */
375 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */
376 SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */
379 STATIC CONST UBYTE hirepeatable[] =
381 SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */
382 SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */
384 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */
385 SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */
387 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */
388 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */
390 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */
391 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */