Added non-breaking space support
[AROS.git] / workbench / devs / keymaps / pc105_irl.c
blob616347c585e85aec00224db6da0dfb202b938e0d
1 // Kbdir_EnglishIreland_pkf.txt
2 /*
3 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
4 $Id$
6 Desc: English Irish PC105 Keymap
7 Lang: English
8 */
10 #include "common.h"
12 DEFINE_KEYMAP("pc105_irl")
14 #undef N
15 #undef S
16 #undef A
17 #undef C
18 #undef D
19 #undef V
20 #undef ST
21 #undef NOP
23 #define N KC_NOQUAL
24 #define S KCF_SHIFT
25 #define A KCF_ALT
26 #define C KCF_CONTROL
27 #define D KCF_DEAD
28 #define V KC_VANILLA
29 #define ST KCF_STRING
30 #define NOP KCF_NOP
32 #define EUR 0xA4 /* ISO 8859-15: Euro = 164 = 0xA4) */
34 STATIC CONST UBYTE lokeymaptypes[] =
36 S, /* 00 */
37 S, /* 01 */
38 S|A, /* 02 */
39 S|A, /* 03 */
40 S|A, /* 04 */
41 S, /* 05 */
42 S, /* 06 */
43 S, /* 07 */
44 S, /* 08 */
45 S, /* 09 */
46 S, /* 0A */
47 S, /* 0B */
48 S, /* 0C */
49 N, /* 0D */
50 N, /* 0E */
51 S|A, /* 0F */
52 V, /* 10 q */
53 V, /* 11 w */
54 V, /* 12 e */
55 V, /* 13 r */
56 V, /* 14 t */
57 V, /* 15 z */
58 V, /* 16 u */
59 V, /* 17 i */
60 V, /* 18 o */
61 V, /* 19 p */
62 S, /* 1A */
63 S|A, /* 1B */
64 S|A, /* 1C */
65 S|A, /* 1D */
66 S|A, /* 1E */
67 S|A, /* 1F */
68 V, /* 20 a */
69 V, /* 21 s */
70 V, /* 22 d */
71 V, /* 23 f */
72 V, /* 24 g */
73 V, /* 25 h */
74 V, /* 26 j */
75 V, /* 27 k */
76 V, /* 28 l */
77 S, /* 29 */
78 S, /* 2A */
79 S, /* 2B */
80 N, /* 2C */
81 N, /* 2D */
82 N, /* 2E */
83 N, /* 2F */
84 S|A, /* 30 */
85 V, /* 31 y */
86 V, /* 32 x */
87 V, /* 33 c */
88 V, /* 34 v */
89 V, /* 35 b */
90 V, /* 36 n */
91 V, /* 37 m */
92 S|A, /* 38 */
93 S|A, /* 39 */
94 S, /* 3A */
95 N, /* 3B */
96 N, /* 3C */
97 N, /* 3D */
98 N, /* 3E */
99 N, /* 3F */
102 STATIC CONST UBYTE hikeymaptypes[] =
104 N, /* 40 SPACE */
105 N, /* 41 BACKSPACE */
106 ST|S, /* 42 TAB */
107 N, /* 43 ENTER */
108 C, /* 44 RETURN */
109 A, /* 45 ESCAPE */
110 N, /* 46 DEL */
111 ST|S, /* 47 INSERT ?? */
112 ST|S, /* 48 PAGE UP ?? */
113 ST|S, /* 49 PAGE DOWN ?? */
114 N, /* 4A NUMERIC PAD - */
115 ST|S, /* 4B F11 ?? */
116 ST|S, /* 4C CURSORUP*/
117 ST|S, /* 4D CURSORDOWN */
118 ST|S, /* 4E CURSORRIGHT */
119 ST|S, /* 4F CURSORLEFT */
120 ST|S, /* 50 F1 */
121 ST|S, /* 51 F2 */
122 ST|S, /* 52 F3 */
123 ST|S, /* 53 F4 */
124 ST|S, /* 54 F5 */
125 ST|S, /* 55 F6 */
126 ST|S, /* 56 F7 */
127 ST|S, /* 57 F8 */
128 ST|S, /* 58 F9 */
129 ST|S, /* 59 F10 */
130 NOP, /* 5A NUMLOCK */
131 N, /* 5B NUMPAD ) */
132 N, /* 5C NUMPAD / */
133 N, /* 5D NUMPAD * */
134 N, /* 5E NUMPAD + */
135 ST, /* 5F HELP */
136 NOP, /* 60 LEFT SHIFT*/
137 NOP, /* 61 RIGHT SHIFT */
138 NOP, /* 62 CAPS LOCK */
139 NOP, /* 63 CONTROL */
140 NOP, /* 64 LALT */
141 NOP, /* 65 RALT */
142 NOP, /* 66 LCOMMAND */
143 NOP, /* 67 RCOMMAND */
144 NOP, /* 68 LEFT MOUSE BUTTON*/
145 NOP, /* 69 RIGHT MOUSE BUTTON */
146 NOP, /* 6A MIDDLE MOUSE BUTTON */
147 NOP, /* 6B */
148 NOP, /* 6C */
149 NOP, /* 6D */
150 ST|A, /* 6E PAUSE/BREAK ??*/
151 ST|S, /* 6F F12 ?? */
152 ST|C, /* 70 HOME ?? */
153 ST|C, /* 71 END ?? */
154 NOP, /* 72 */
155 NOP, /* 73 */
156 NOP, /* 74 */
157 NOP, /* 75 */
158 NOP, /* 76 */
159 NOP, /* 77 */
160 NOP, /* 78 */
161 NOP, /* 79 */
162 NOP, /* 7A */
163 NOP, /* 7B */
164 NOP, /* 7C */
165 NOP, /* 7D */
166 NOP, /* 7E */
167 NOP /* 7F */
170 #undef N
171 #undef S
172 #undef A
173 #undef C
174 #undef D
175 #undef V
176 #undef ST
177 #undef NOP
179 #undef STRING
180 #undef DEAD
181 #undef BYTES
183 #define STRING(x) (IPTR)x
184 #define DEAD(x) (IPTR)x
185 #define BYTES(b0, b1, b2, b3) \
186 (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0)
188 STATIC CONST IPTR lokeymap[] ={
189 /*---- 1st QWERTY row - 0x00 to 0x0F */
190 BYTES(0xA6,0xA6,0xAC,0x60),
191 BYTES(0xB9,0xA1,'!' ,'1' ),
192 BYTES(0xB2,0xB1,0x22,'2' ),
193 BYTES(0xB3,'.' ,0xA3,'3' ),
194 BYTES(0xBC,EUR ,'$' ,'4' ),
195 BYTES(0xBD,0xA7,'%' ,'5' ),
196 BYTES(0xBE,0x83,0x5E,'6' ),
197 BYTES('.' ,'{' ,'&' ,'7' ),
198 BYTES('.' ,'[' ,'*' ,'8' ),
199 BYTES('.' ,']' ,'(' ,'9' ),
200 BYTES(0xB0,'}' ,')' ,'0' ),
201 BYTES(0x86,0xBF,'_' ,'-' ),
202 BYTES(0x87,'.' ,'+' ,'=' ),
203 BYTES(0xA6,0xA6,0xAC,0x60),
204 BYTES(0, 0, 0, 0 ),
205 BYTES('0', '0', '0', '0'),
206 /*---- 2nd QWERTY row - 0x10 to 0x1F */
207 BYTES(0xD8,0xF8,'Q' ,'q' ),
208 BYTES('.' ,'.' ,'W' ,'w' ),
209 BYTES(0xC9,0xE9,'E' ,'e' ),
210 BYTES(0xA9,0xAE,'R' ,'r' ),
211 BYTES(0x89,0x99,'T' ,'t' ),
212 BYTES('.' ,'.' ,'Y' ,'y' ),
213 BYTES(0xDA,0xFA,'U' ,'u' ),
214 BYTES(0xCD,0xED,'I' ,'i' ),
215 BYTES(0xD3,0xF3,'O' ,'o' ),
216 BYTES(0xC6,0xE6,'P' ,'p' ),
217 BYTES(0x8C,0x9C,'{' ,'[' ),
218 BYTES(0xB8,0xA8,'}' ,']' ),
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(0xC1,0xE1,'A' ,'a' ),
225 BYTES(0xA4,0xDF,'S' ,'s' ),
226 BYTES(0xD0,0xF0,'D' ,'d' ),
227 BYTES(0xDE,0xFE,'F' ,'f' ),
228 BYTES('.' ,'.' ,'G' ,'g' ),
229 BYTES('.' ,'.' ,'H' ,'h' ),
230 BYTES(0x97,0x96,'J' ,'j' ),
231 BYTES(0x84,0x82,'K' ,'k' ),
232 BYTES(0x93,0x91,'L' ,'l' ),
233 BYTES(0x94,0x92,':' ,';' ),
234 BYTES(0x60,0xB4,'@' ,0x27),
235 BYTES(0x5E,0x7E,0x7E,'#' ),
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('.' ,0x7C,0x7C,0x5C),
242 BYTES(0x87,0xA5,'Z' ,'z' ),
243 BYTES(0xA4,0xD7,'X' ,'x' ),
244 BYTES(0xC7,0xE7,'C' ,'c' ),
245 BYTES(0x8B,0xAB,'V' ,'v' ),
246 BYTES(0x95,0xB7,'B' ,'b' ),
247 BYTES(0x9B,0xBB,'N' ,'n' ),
248 BYTES('.' ,0xB5,'M' ,'m' ),
249 BYTES('.' ,'.' ,'<' ,',' ),
250 BYTES(0xF7,0x85,'>' ,'.' ),
251 BYTES(0x96,0x97,'?' ,0x2F),
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(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 */