revert between 56095 -> 55830 in arch
[AROS.git] / workbench / devs / keymaps / pc104_il.c
blobd88254b705ca8fd472afbea10e025a1f5378a552
1 // https://upload.wikimedia.org/wikipedia/en/8/8a/Hebrew_keyboard_layout.png
2 /*
3 Copyright © 1995-2016, The AROS Development Team. All rights reserved.
4 $Id$
6 Desc: Hebrew PC104/PC101 Keymap
7 Lang: English
8 */
10 #include "common.h"
12 DEFINE_KEYMAP("pc104_il")
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 D|S, /* 1A */
63 D|S, /* 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 rlm_descr[] =
104 0, ']',
105 0, '}',
106 0, '[',
107 0, '{',
108 0, 0xFE,
109 0, 0x1B,
110 0, 0x9B,
111 0, 0x9B
114 STATIC CONST UBYTE lrm_descr[] =
116 0, '[',
117 0, '{',
118 0, ']',
119 0, '}',
120 0, 0xFD,
121 0, 0x1D,
122 0, 0x9D,
123 0, 0x9D
126 STATIC CONST UBYTE hikeymaptypes[] =
128 N, /* 40 SPACE */
129 N, /* 41 BACKSPACE */
130 ST|S, /* 42 TAB */
131 N, /* 43 ENTER */
132 C, /* 44 RETURN */
133 A, /* 45 ESCAPE */
134 N, /* 46 DEL */
135 ST|S, /* 47 INSERT ?? */
136 ST|S, /* 48 PAGE UP ?? */
137 ST|S, /* 49 PAGE DOWN ?? */
138 N, /* 4A NUMERIC PAD - */
139 ST|S, /* 4B F11 ?? */
140 ST|S, /* 4C CURSORUP*/
141 ST|S, /* 4D CURSORDOWN */
142 ST|S, /* 4E CURSORRIGHT */
143 ST|S, /* 4F CURSORLEFT */
144 ST|S, /* 50 F1 */
145 ST|S, /* 51 F2 */
146 ST|S, /* 52 F3 */
147 ST|S, /* 53 F4 */
148 ST|S, /* 54 F5 */
149 ST|S, /* 55 F6 */
150 ST|S, /* 56 F7 */
151 ST|S, /* 57 F8 */
152 ST|S, /* 58 F9 */
153 ST|S, /* 59 F10 */
154 NOP, /* 5A NUMLOCK */
155 N, /* 5B NUMPAD ) */
156 N, /* 5C NUMPAD / */
157 N, /* 5D NUMPAD * */
158 N, /* 5E NUMPAD + */
159 ST, /* 5F HELP */
160 NOP, /* 60 LEFT SHIFT*/
161 NOP, /* 61 RIGHT SHIFT */
162 NOP, /* 62 CAPS LOCK */
163 NOP, /* 63 CONTROL */
164 NOP, /* 64 LALT */
165 NOP, /* 65 RALT */
166 NOP, /* 66 LCOMMAND */
167 NOP, /* 67 RCOMMAND */
168 NOP, /* 68 LEFT MOUSE BUTTON*/
169 NOP, /* 69 RIGHT MOUSE BUTTON */
170 NOP, /* 6A MIDDLE MOUSE BUTTON */
171 NOP, /* 6B */
172 NOP, /* 6C */
173 NOP, /* 6D */
174 ST|A, /* 6E PAUSE/BREAK ??*/
175 ST|S, /* 6F F12 ?? */
176 ST|C, /* 70 HOME ?? */
177 ST|C, /* 71 END ?? */
178 NOP, /* 72 */
179 NOP, /* 73 */
180 NOP, /* 74 */
181 NOP, /* 75 */
182 NOP, /* 76 */
183 NOP, /* 77 */
184 NOP, /* 78 */
185 NOP, /* 79 */
186 NOP, /* 7A */
187 NOP, /* 7B */
188 NOP, /* 7C */
189 NOP, /* 7D */
190 NOP, /* 7E */
191 NOP /* 7F */
194 #undef N
195 #undef S
196 #undef A
197 #undef C
198 #undef D
199 #undef V
200 #undef ST
201 #undef NOP
203 #undef STRING
204 #undef DEAD
205 #undef BYTES
207 #define STRING(x) (IPTR)x
208 #define DEAD(x) (IPTR)x
209 #define BYTES(b0, b1, b2, b3) \
210 (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0)
212 STATIC CONST IPTR lokeymap[] =
214 BYTES('~', '`', '~', ';'), /* 00 Left of 1 Key */
215 BYTES('!', '1', '!', '1'), /* 01 1 */
216 BYTES('@', '2', '@', '2'), /* 02 2 */
217 BYTES('#', '3', '#', '3'), /* 03 3 */
218 BYTES('$', '4', '$', '4'), /* 04 4 */
219 BYTES('%', '5', '%', '5'), /* 05 5 */
220 BYTES('^', '6', '^', '6'), /* 06 6 */
221 BYTES('&', '7', '&', '7'), /* 07 7 */
222 BYTES('*', '8', '*', '8'), /* 08 8 */
223 BYTES('(', '9', ')', '9'), /* 09 9 */
224 BYTES(')', '0', '(', '0'), /* 0A 0 */
225 BYTES('_', '-', '_', '-'), /* 0B Right of 0 */
226 BYTES('+', '=', '+', '='), /* 0C 2nd right of 0 */
227 BYTES('|', '\\', '|', '\\'), /* 0D 3rd right of 0 */
228 BYTES(0, 0, 0, 0), /* 0E undefined */
229 BYTES('0', '0', '0', '0'), /* 0F NUM 0 */
230 BYTES('@', '@', 'Q', '/'), /* 10 */
231 BYTES('W', 'w', 'W','\''), /* 11 */
232 BYTES('É', 'é', 'E',0xF7), /* 12 */
233 BYTES('®', '®', 'R',0xF8), /* 13 */
234 BYTES('Ô', 'ô', 'T',0xE0), /* 14 */
235 BYTES('Y', 'y', 'Y',0xE8), /* 15 */
236 BYTES('Ú', 'ú', 'U',0xE5), /* 16 */
237 BYTES('Í', 'í', 'I',0xEF), /* 17 */
238 BYTES('Ó', 'ó', 'O',0xED), /* 18 */
239 BYTES('P', 'p', 'P',0xF4), /* 19 */
241 DEAD(rlm_descr), /* 1A */
242 DEAD(lrm_descr), /* 1B */
243 BYTES(0, 0, 0, 0), /* 1C undefined */
244 BYTES('1', '1', '1', '1'), /* 1D NUM 1*/
245 BYTES('2', '2', '2', '2'), /* 1E NUM 2*/
246 BYTES('3', '3', '3', '3'), /* 1F NUM 3*/
248 BYTES('Á', 'á', 'A',0xF9), /* 20 */
249 BYTES('S', 's', 'S',0xE3), /* 21 */
250 BYTES('D', 'd', 'D',0xE2), /* 22 */
251 BYTES('F', 'f', 'F',0xEB), /* 23 */
252 BYTES('G', 'g', 'G',0xE2), /* 24 */
253 BYTES('H', 'h', 'H',0xE9), /* 25 */
254 BYTES('J', 'j', 'J',0xE7), /* 26 */
255 BYTES('K', 'k', 'K',0xEC), /* 27 */
256 BYTES('L', 'l', 'L',0xEA), /* 28 */
258 BYTES(':', ';', ':', ';'), /* 29 */
259 BYTES('"','\'', '"', ','), /* 2A */
260 BYTES(0, 0, 0, 0), /* 2B undefined */
261 BYTES(0, 0, 0, 0), /* 2C undefined */
262 BYTES('4', '4', '4', '4'), /* 2D NUM 4 */
263 BYTES('5', '5', '5', '5'), /* 2E NUM 5 */
264 BYTES('6', '6', '6', '6'), /* 2F NUM 6 */
265 BYTES(0, 0, 0, 0), /* 30 undefined */
266 BYTES('Z', 'z', 'Z',0xE6), /* 31 */
267 BYTES('X', 'x', 'X',0xF1), /* 32 */
268 BYTES('©', '©', 'C',0xE1), /* 33 */
269 BYTES('V', 'v', 'V',0xE4), /* 34 */
270 BYTES('B', 'b', 'B',0xF0), /* 35 */
271 BYTES('¯', '­', 'N',0xEE), /* 36 */
272 BYTES('µ', 'µ', 'M',0xF6), /* 37 */
274 BYTES('<', ',', '>',0xFA), /* 38 */
275 BYTES('>', '.', '<',0xF5), /* 39 */
276 BYTES('?', '/', '?', '.'), /* 3A */
277 BYTES(0, 0, 0, 0), /* 3B */
278 BYTES('.', '.', '.', '.'), /* 3C NUM . */
279 BYTES('7', '7', '7', '7'), /* 3D NUM 7 */
280 BYTES('8', '8', '8', '8'), /* 3E NUM 8 */
281 BYTES('9', '9', '9', '9'), /* 3F NUM 9 */
284 #include "standard.h"
286 STATIC CONST IPTR hikeymap[] =
288 BYTES(0xA0, 0xA0, ' ', ' '),/* 40 SPACE */
289 BYTES(8, 8, 8, 8), /* 41 BACKSPACE */
290 STRING(tab_descr), /* 42 TAB */
291 BYTES(13, 13, 13, 13), /* 43 ENTER */
292 BYTES(0, 0, 10, 13), /* 44 RETURN */
293 BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */
294 BYTES(127, 127, 127, 127), /* 46 DEL */
295 STRING(insert_descr), /* 47 INSERT ?? */
296 STRING(pageup_descr), /* 48 PAGEUP ?? */
297 STRING(pagedown_descr), /* 49 PAGEDOWN ?? */
298 BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */
299 STRING(f11_descr), /* 4B F11 ?? */
300 STRING(up_descr), /* 4C CURSOR UP*/
301 STRING(down_descr), /* 4D CURSOR DOWN*/
302 STRING(right_descr), /* 4E CURSOR RIGHT */
303 STRING(left_descr), /* 4F CURSOR LEFT */
304 STRING(f1_descr), /* 50 F1 */
305 STRING(f2_descr), /* 51 */
306 STRING(f3_descr), /* 52 */
307 STRING(f4_descr), /* 53 */
308 STRING(f5_descr), /* 54 */
309 STRING(f6_descr), /* 55 */
310 STRING(f7_descr), /* 56 */
311 STRING(f8_descr), /* 57 */
312 STRING(f9_descr), /* 58 */
313 STRING(f10_descr), /* 59 */
314 BYTES(0, 0, 0, 0), /* 5A */
315 BYTES('/', '/', '/', '/'), /* 5B */
316 BYTES('*', '*', '*', '*'), /* 5C */
317 BYTES('-', '-', '-', '-'), /* 5D */
318 BYTES('+', '+', '+', '+'), /* 5E */
319 STRING(help_descr), /* 5F HELP */
320 BYTES(0, 0, 0, 0), /* 60 */
321 BYTES(0, 0, 0, 0), /* 61 */
322 BYTES(0, 0, 0, 0), /* 62 */
323 BYTES(0, 0, 0, 0), /* 63 */
324 BYTES(0, 0, 0, 0), /* 64 */
325 BYTES(0, 0, 0, 0), /* 65 */
326 BYTES(0, 0, 0, 0), /* 66 */
327 BYTES(0, 0, 0, 0), /* 67 */
328 BYTES(0, 0, 0, 0), /* 68 */
329 BYTES(0, 0, 0, 0), /* 69 */
330 BYTES(0, 0, 0, 0), /* 6A */
331 BYTES(0, 0, 0, 0), /* 6B */
332 BYTES(0, 0, 0, 0), /* 6C */
333 BYTES(0, 0, 0, 0), /* 6D */
334 STRING(pausebreak_descr), /* 6E PAUSE/BREAK ?? */
335 STRING(f12_descr), /* 6F F12 ?? */
336 STRING(home_descr), /* 70 HOME ?? */
337 STRING(end_descr), /* 71 END ?? */
338 BYTES(0, 0, 0, 0), /* 72 */
339 BYTES(0, 0, 0, 0), /* 73 */
340 BYTES(0, 0, 0, 0), /* 74 */
341 BYTES(0, 0, 0, 0), /* 75 */
342 BYTES(0, 0, 0, 0), /* 76 */
343 BYTES(0, 0, 0, 0), /* 77 */
344 BYTES(0, 0, 0, 0), /* 78 */
345 BYTES(0, 0, 0, 0), /* 79 */
346 BYTES(0, 0, 0, 0), /* 7A */
347 BYTES(0, 0, 0, 0), /* 7B */
348 BYTES(0, 0, 0, 0), /* 7C */
349 BYTES(0, 0, 0, 0), /* 7D */
350 BYTES(0, 0, 0, 0), /* 7E */
351 BYTES(0, 0, 0, 0), /* 7F */
354 #undef SETBITS
356 #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \
357 (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7)
359 STATIC CONST UBYTE locapsable[] =
361 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */
362 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */
364 SETBITS(0, 0, 1, 1, 1, 1, 1, 1), /* 10 - 17 */
365 SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */
367 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */
368 SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */
370 SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */
371 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */
374 STATIC CONST UBYTE hicapsable[] =
376 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */
377 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */
379 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */
380 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */
382 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */
383 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */
385 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */
386 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */
389 STATIC CONST UBYTE lorepeatable[] =
391 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */
392 SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */
394 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */
395 SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */
397 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */
398 SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */
400 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */
401 SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */
404 STATIC CONST UBYTE hirepeatable[] =
406 SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */
407 SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */
409 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */
410 SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */
412 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */
413 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */
415 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */
416 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */