Check for SYS/GL during library init. Reason is that
[AROS.git] / workbench / devs / keymaps / pc105_bg.c
blob53c2365f5fd37ff4c5c13b7e809b8b69653606b1
1 /*
2 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
3 $Id$
5 Desc: Bulgarian BDS PC105 Keymap
6 Lang: English
7 */
9 #include "common.h"
11 DEFINE_KEYMAP("pc105_bg")
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 /*---- 1st QWERTY row - 0x00 to 0x0F */
190 BYTES(0xA6,0x7E,'~' ,'`' ),
191 BYTES(0xB9,0xB1,'!' ,'1' ),
192 BYTES(0xB2,'@' ,0x22,'2' ),
193 BYTES(0xB3,0xA1,'+' ,'3' ),
194 BYTES(0xBC,'$' ,';' ,'4' ),
195 BYTES(0xBD,0xBF,'%' ,'5' ),
196 BYTES(0xBE,0x5E,'=' ,'6' ),
197 BYTES(0x83,'&' ,':' ,'7' ),
198 BYTES(0xAB,0x8B,'/' ,'8' ),
199 BYTES(0xBB,0x9B,'_' ,'9' ),
200 BYTES(0x84,0x82,0xAA,'0' ),
201 BYTES(0x93,0x91,'I' ,'-' ),
202 BYTES(0x94,0x92,'V' ,'.' ),
203 BYTES(0xA6,0x7E,')' ,'(' ),
204 BYTES(0, 0, 0, 0 ),
205 BYTES('0', '0', '0', '0'),
206 /*---- 2nd QWERTY row - 0x10 to 0x1F */
207 BYTES('Q' ,'q' ,0xC9,',' ),
208 BYTES('W' ,'w' ,0xD3,0xF3),
209 BYTES('E' ,'e' ,0xC5,0xE5),
210 BYTES('R' ,'r' ,0xC8,0xE8),
211 BYTES('T' ,'t' ,0xD8,0xF8),
212 BYTES('Y' ,'y' ,0xD9,0xF9),
213 BYTES('U' ,'u' ,0xCA,0xEA),
214 BYTES('I' ,'i' ,0xD1,0xF1),
215 BYTES('O' ,'o' ,0xC4,0xE4),
216 BYTES('P' ,'p' ,0xC7,0xE7),
217 BYTES('{' ,'[' ,0xD6,0xF6),
218 BYTES('}' ,']' ,0xA7,';' ),
219 BYTES(0, 0, 0, 0 ),
220 BYTES('1', '1', '1', '1'),
221 BYTES('2', '2', '2', '2'),
222 BYTES('3', '3', '3', '3'),
223 /*---- 3rd QWERTY row - 0x20 to 0x2F */
224 BYTES('A' ,'a' ,0xDC,0xFC),
225 BYTES('S' ,'s' ,0xDF,0xFF),
226 BYTES('D' ,'d' ,0xC0,0xE0),
227 BYTES('F' ,'f' ,0xCE,0xEE),
228 BYTES('G' ,'g' ,0xC6,0xE6),
229 BYTES('H' ,'h' ,0xC3,0xE3),
230 BYTES('J' ,'j' ,0xD2,0xF2),
231 BYTES('K' ,'k' ,0xCD,0xED),
232 BYTES('L' ,'l' ,0xC2,0xE2),
233 BYTES(':' ,';' ,0xCC,0xEC),
234 BYTES(0x22,0x27,0xD7,0xF7),
235 BYTES(0x7C,0x5C,0x2F,0x5C),
236 BYTES(0, 0, 0, 0 ),
237 BYTES('4', '4', '4', '4'),
238 BYTES('5', '5', '5', '5'),
239 BYTES('6', '6', '6', '6'),
240 /*---- 4th QWERTY row - 0x30 to 0x3F */
241 BYTES('>' ,'<' ,'|' ,'\\'),
242 BYTES('Z' ,'z' ,0xDE,0xFE),
243 BYTES('X' ,'x' ,0xC9,0xE9),
244 BYTES('C' ,'c' ,0xDA,0xFA),
245 BYTES('V' ,'v' ,0xDD,0xFD),
246 BYTES('B' ,'b' ,0xD4,0xF4),
247 BYTES('N' ,'n' ,0xD5,0xF5),
248 BYTES('M' ,'m' ,0xCF,0xEF),
249 BYTES('<' ,',' ,0xD0,0xF0),
250 BYTES('>' ,'.' ,0xCB,0xEB),
251 BYTES('?' ,'/' ,0xC1,0xE1),
252 BYTES(0, 0, 0, 0 ),
253 BYTES(',', '.', ',', '.'),
254 BYTES('7', '7', '7', '7'),
255 BYTES('8', '8', '8', '8'),
256 BYTES('9', '9', '9', '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(0, 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(1, 1, 1, 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 */