Added non-breaking space support
[AROS.git] / workbench / devs / keymaps / pc105_cdn.c
blob17ec2340bf3f29f8d332df37aef654cd6e50f00b
1 // Kbdca_FrenchCanadian_pkf.txt
2 /*
3 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
4 $Id$
6 Desc: French Canadian Dominion PC105 Keymap
7 Lang: English
8 */
10 #include "common.h"
12 DEFINE_KEYMAP("pc105_cdn")
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[] =
190 /*---- 1st QWERTY row - 0x00 to 0x0F */
191 BYTES(0x93,0x5C,0x7C,'#' ),
192 BYTES(0x94,0xB1,'!' ,'1' ),
193 BYTES(0x99,'@' ,0x22,'2' ),
194 BYTES(0xB6,0xA3,0x2F,'3' ),
195 BYTES(0xA3,0xA2,'$' ,'4' ),
196 BYTES(0xBC,0xA4,'%' ,'5' ),
197 BYTES(0xBD,0xAC,'?' ,'6' ),
198 BYTES(0xBE,0xA6,'&' ,'7' ),
199 BYTES('.' ,0xB2,'*' ,'8' ),
200 BYTES('.' ,0xB3,'(' ,'9' ),
201 BYTES(0xAF,0xBC,')' ,'0' ),
202 BYTES(0xA6,0xBD,'_' ,'-' ),
203 BYTES(0x88,0xBE,'+' ,'=' ),
204 BYTES(0x93,0x5C,0x7C,'#' ),
205 BYTES(0, 0, 0, 0 ),
206 BYTES('0', '0', '0', '0'),
207 /*---- 2nd QWERTY row - 0x10 to 0x1F */
208 BYTES(0x91,0x84,'Q' ,'q' ),
209 BYTES(0x92,0x82,'W' ,'w' ),
210 BYTES(0x89,0x80,'E' ,'e' ),
211 BYTES('.' ,0xAE,'R' ,'r' ),
212 BYTES('.' ,0x86,'T' ,'t' ),
213 BYTES('.' ,'.' ,'Y' ,'y' ),
214 BYTES(0xD8,0xF8,'U' ,'u' ),
215 BYTES('.' ,0xBF,'I' ,'i' ),
216 BYTES('.' ,0xA7,'O' ,'o' ),
217 BYTES('.' ,0xB6,'P' ,'p' ),
218 BYTES(0xB0,'[' ,0x5E,0x5E),
219 BYTES(0xB1,']' ,0xA8,0xB8),
220 BYTES(0, 0, 0, 0 ),
221 BYTES('1', '1', '1', '1'),
222 BYTES('2', '2', '2', '2'),
223 BYTES('3', '3', '3', '3'),
224 /*---- 3rd QWERTY row - 0x20 to 0x2F */
225 BYTES(0xC5,0xE5,'A' ,'a' ),
226 BYTES(0x8A,0x9A,'S' ,'s' ),
227 BYTES(0xD0,0xF0,'D' ,'d' ),
228 BYTES(0xDE,0xFE,'F' ,'f' ),
229 BYTES('.' ,0xA9,'G' ,'g' ),
230 BYTES(0xAA,0xBA,'H' ,'h' ),
231 BYTES('.' ,0xAC,'J' ,'j' ),
232 BYTES(0x8C,0x9C,'K' ,'k' ),
233 BYTES(0xC6,0xE6,'L' ,'l' ),
234 BYTES('.' ,0x7E,':' ,';' ),
235 BYTES('.' ,'{' ,0x60,0x60),
236 BYTES('.' ,'}' ,'>' ,'<' ),
237 BYTES(0, 0, 0, 0 ),
238 BYTES('4', '4', '4', '4'),
239 BYTES('5', '5', '5', '5'),
240 BYTES('6', '6', '6', '6'),
241 /*---- 4th QWERTY row - 0x30 to 0x3F */
242 BYTES('.' ,0xB0,0xBB,0xAB),
243 BYTES(0x87,0xA5,'Z' ,'z' ),
244 BYTES(0xA4,0xD7,'X' ,'x' ),
245 BYTES(0xC7,0xE7,'C' ,'c' ),
246 BYTES(0x8B,0xAB,'V' ,'v' ),
247 BYTES(0x95,0xB7,'B' ,'b' ),
248 BYTES(0x9B,0xBB,'N' ,'n' ),
249 BYTES('.' ,0xB5,'M' ,'m' ),
250 BYTES(0xB8,0xAF,0x27,',' ),
251 BYTES(0xF7,0xAD,0x22,'.' ),
252 BYTES(0x96,0xB4,0xC9,0xE9),
253 BYTES(0, 0, 0, 0 ),
254 BYTES(',', '.', ',', '.'),
255 BYTES('7', '7', '7', '7'),
256 BYTES('8', '8', '8', '8'),
257 BYTES('9', '9', '9', '9'),
260 #include "standard.h"
262 STATIC CONST IPTR hikeymap[] =
264 BYTES(0xA0, 0xA0, ' ', ' '),/* 40 SPACE */
265 BYTES(8, 8, 8, 8), /* 41 BACKSPACE */
266 STRING(tab_descr), /* 42 TAB */
267 BYTES(13, 13, 13, 13), /* 43 ENTER */
268 BYTES(0, 0, 10, 13), /* 44 RETURN */
269 BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */
270 BYTES(127, 127, 127, 127), /* 46 DEL */
271 STRING(insert_descr), /* 47 INSERT ?? */
272 STRING(pageup_descr), /* 48 PAGEUP ?? */
273 STRING(pagedown_descr), /* 49 PAGEDOWN ?? */
274 BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */
275 STRING(f11_descr), /* 4B F11 ?? */
276 STRING(up_descr), /* 4C CURSOR UP*/
277 STRING(down_descr), /* 4D CURSOR DOWN*/
278 STRING(right_descr), /* 4E CURSOR RIGHT */
279 STRING(left_descr), /* 4F CURSOR LEFT */
280 STRING(f1_descr), /* 50 F1 */
281 STRING(f2_descr), /* 51 */
282 STRING(f3_descr), /* 52 */
283 STRING(f4_descr), /* 53 */
284 STRING(f5_descr), /* 54 */
285 STRING(f6_descr), /* 55 */
286 STRING(f7_descr), /* 56 */
287 STRING(f8_descr), /* 57 */
288 STRING(f9_descr), /* 58 */
289 STRING(f10_descr), /* 59 */
290 BYTES(0, 0, 0, 0), /* 5A */
291 BYTES('/', '/', '/', '/'), /* 5B */
292 BYTES('*', '*', '*', '*'), /* 5C */
293 BYTES('-', '-', '-', '-'), /* 5D */
294 BYTES('+', '+', '+', '+'), /* 5E */
295 STRING(help_descr), /* 5F HELP */
296 BYTES(0, 0, 0, 0), /* 60 */
297 BYTES(0, 0, 0, 0), /* 61 */
298 BYTES(0, 0, 0, 0), /* 62 */
299 BYTES(0, 0, 0, 0), /* 63 */
300 BYTES(0, 0, 0, 0), /* 64 */
301 BYTES(0, 0, 0, 0), /* 65 */
302 BYTES(0, 0, 0, 0), /* 66 */
303 BYTES(0, 0, 0, 0), /* 67 */
304 BYTES(0, 0, 0, 0), /* 68 */
305 BYTES(0, 0, 0, 0), /* 69 */
306 BYTES(0, 0, 0, 0), /* 6A */
307 BYTES(0, 0, 0, 0), /* 6B */
308 BYTES(0, 0, 0, 0), /* 6C */
309 BYTES(0, 0, 0, 0), /* 6D */
310 STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */
311 STRING(f12_descr), /* 6F F12 ?? */
312 STRING(home_descr), /* 70 HOME ?? */
313 STRING(end_descr), /* 71 END ?? */
314 BYTES(0, 0, 0, 0), /* 72 */
315 BYTES(0, 0, 0, 0), /* 73 */
316 BYTES(0, 0, 0, 0), /* 74 */
317 BYTES(0, 0, 0, 0), /* 75 */
318 BYTES(0, 0, 0, 0), /* 76 */
319 BYTES(0, 0, 0, 0), /* 77 */
320 BYTES(0, 0, 0, 0), /* 78 */
321 BYTES(0, 0, 0, 0), /* 79 */
322 BYTES(0, 0, 0, 0), /* 7A */
323 BYTES(0, 0, 0, 0), /* 7B */
324 BYTES(0, 0, 0, 0), /* 7C */
325 BYTES(0, 0, 0, 0), /* 7D */
326 BYTES(0, 0, 0, 0), /* 7E */
327 BYTES(0, 0, 0, 0), /* 7F */
330 #undef SETBITS
332 #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \
333 (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7)
335 STATIC CONST UBYTE locapsable[] =
337 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */
338 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */
340 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */
341 SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */
343 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */
344 SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */
346 SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */
347 SETBITS(0, 0, 1, 0, 0, 0, 0, 0) /* 38 - 3F */
350 STATIC CONST UBYTE hicapsable[] =
352 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */
353 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */
355 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */
356 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */
358 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */
359 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */
361 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */
362 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */
365 STATIC CONST UBYTE lorepeatable[] =
367 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */
368 SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */
370 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */
371 SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */
373 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */
374 SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */
376 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */
377 SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */
380 STATIC CONST UBYTE hirepeatable[] =
382 SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */
383 SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */
385 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */
386 SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */
388 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */
389 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */
391 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */
392 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */