1 // Kbdhu_Hungarian_pkf.txt
3 Copyright © 1995-2011, The AROS Development Team. All rights reserved.
6 Desc: Hungarian PC105 Keymap
10 #include <devices/keymap.h>
12 STATIC
char keymapname
[] = "pc105_h";
14 STATIC CONST UBYTE lokeymaptypes
[];
15 STATIC CONST IPTR lokeymap
[];
16 STATIC CONST UBYTE locapsable
[];
17 STATIC CONST UBYTE lorepeatable
[];
19 STATIC CONST UBYTE hikeymaptypes
[];
20 STATIC CONST IPTR hikeymap
[];
21 STATIC CONST UBYTE hicapsable
[];
22 STATIC CONST UBYTE hirepeatable
[];
24 CONST
struct KeyMapNode km
=
27 NULL
, NULL
, 0, 0, keymapname
30 (UBYTE
*)lokeymaptypes
,
33 (UBYTE
*)lorepeatable
,
34 (UBYTE
*)hikeymaptypes
,
59 #define EUR 0xA4 /* ISO 8859-15: Euro = 164 = 0xA4) */
61 STATIC CONST UBYTE lokeymaptypes
[] =
129 STATIC CONST UBYTE hikeymaptypes
[] =
132 N
, /* 41 BACKSPACE */
138 ST
|S
, /* 47 INSERT ?? */
139 ST
|S
, /* 48 PAGE UP ?? */
140 ST
|S
, /* 49 PAGE DOWN ?? */
141 N
, /* 4A NUMERIC PAD - */
142 ST
|S
, /* 4B F11 ?? */
143 ST
|S
, /* 4C CURSORUP*/
144 ST
|S
, /* 4D CURSORDOWN */
145 ST
|S
, /* 4E CURSORRIGHT */
146 ST
|S
, /* 4F CURSORLEFT */
157 NOP
, /* 5A NUMLOCK */
163 NOP
, /* 60 LEFT SHIFT*/
164 NOP
, /* 61 RIGHT SHIFT */
165 NOP
, /* 62 CAPS LOCK */
166 NOP
, /* 63 CONTROL */
169 NOP
, /* 66 LCOMMAND */
170 NOP
, /* 67 RCOMMAND */
171 NOP
, /* 68 LEFT MOUSE BUTTON*/
172 NOP
, /* 69 RIGHT MOUSE BUTTON */
173 NOP
, /* 6A MIDDLE MOUSE BUTTON */
177 ST
|A
, /* 6E PAUSE/BREAK ??*/
178 ST
|S
, /* 6F F12 ?? */
179 ST
|C
, /* 70 HOME ?? */
180 ST
|C
, /* 71 END ?? */
210 #define STRING(x) (IPTR)x
211 #define DEAD(x) (IPTR)x
212 #define BYTES(b0, b1, b2, b3) \
213 (((UBYTE)b0)<<24) | (((UBYTE)b1)<<16) | (((UBYTE)b2)<<8) | (((UBYTE)b3)<<0)
215 STATIC CONST IPTR lokeymap
[] =
217 /*---- 1st QWERTY row - 0x00 to 0x0F */
218 BYTES('.' ,'.' ,0xA7,'0' ),
219 BYTES(0x7E,0x7E,0x27,'1' ),
220 BYTES(0xA1,0xA1,0x22,'2' ),
221 BYTES(0x5E,0x5E,'+' ,'3' ),
222 BYTES(0xA2,0xA2,'!' ,'4' ),
223 BYTES(0xB0,0xB0,'%' ,'5' ),
224 BYTES(0xB2,0xB2,0x2F,'6' ),
225 BYTES(0x60,0x60,'=' ,'7' ),
226 BYTES(0xFF,0xFF,'(' ,'8' ),
227 BYTES(0xB4,0xB4,')' ,'9' ),
228 BYTES(0xBD,0xBD,0xD6,0xF6),
229 BYTES(0xA8,0xA8,0xDC,0xFC),
230 BYTES(0xB8,0xB8,0xD3,0xF3),
231 BYTES('.' ,'.' ,0xA7,'0' ),
233 BYTES('0', '0', '0', '0'),
234 /*---- 2nd QWERTY row - 0x10 to 0x1F */
235 BYTES(0x5C,0x5C,'Q' ,'q' ),
236 BYTES(0x7C,0x7C,'W' ,'w' ),
237 BYTES(0xC4,0xC4,'E' ,'e' ),
238 BYTES('.' ,'.' ,'R' ,'r' ),
239 BYTES('.' ,'.' ,'T' ,'t' ),
240 BYTES('.' ,'.' ,'Z' ,'z' ),
241 BYTES(0x80,0x80,'U' ,'u' ),
242 BYTES(0xCD,0xCD,'I' ,'i' ),
243 BYTES('.' ,'.' ,'O' ,'o' ),
244 BYTES('.' ,'.' ,'P' ,'p' ),
245 BYTES(0xF7,0xF7,0xD5,0xF5),
246 BYTES(0xD7,0xD7,0xDA,0xFA),
248 BYTES('1', '1', '1', '1'),
249 BYTES('2', '2', '2', '2'),
250 BYTES('3', '3', '3', '3'),
251 /*---- 3rd QWERTY row - 0x20 to 0x2F */
252 BYTES(0xE4,0xE4,'A' ,'a' ),
253 BYTES(0xF0,0xF0,'S' ,'s' ),
254 BYTES(0xD0,0xD0,'D' ,'d' ),
255 BYTES('[' ,'[' ,'F' ,'f' ),
256 BYTES(']' ,']' ,'G' ,'g' ),
257 BYTES('.' ,'.' ,'H' ,'h' ),
258 BYTES(0xED,0xED,'J' ,'j' ),
259 BYTES(0xB3,0xB3,'K' ,'k' ),
260 BYTES(0xA3,0xA3,'L' ,'l' ),
261 BYTES('$' ,'$' ,0xC9,0xE9),
262 BYTES(0xDF,0xDF,0xC1,0xE1),
263 BYTES(0xA4,0xA4,0xDB,0xFB),
265 BYTES('4', '4', '4', '4'),
266 BYTES('5', '5', '5', '5'),
267 BYTES('6', '6', '6', '6'),
268 /*---- 4th QWERTY row - 0x30 to 0x3F */
269 BYTES('<' ,'<' ,0xCD,0xED),
270 BYTES('>' ,'>' ,'Y' ,'y' ),
271 BYTES('#' ,'#' ,'X' ,'x' ),
272 BYTES('&' ,'&' ,'C' ,'c' ),
273 BYTES('@' ,'@' ,'V' ,'v' ),
274 BYTES('{' ,'{' ,'B' ,'b' ),
275 BYTES('}' ,'}' ,'N' ,'n' ),
276 BYTES('<' ,'<' ,'M' ,'m' ),
277 BYTES(';' ,';' ,'?' ,',' ),
278 BYTES('>' ,'>' ,':' ,'.' ),
279 BYTES('*' ,'*' ,'_' ,'-' ),
281 BYTES(',', '.', ',', '.'),
282 BYTES('7', '7', '7', '7'),
283 BYTES('8', '8', '8', '8'),
284 BYTES('9', '9', '9', '9'),
287 #include "standard.h"
289 STATIC CONST IPTR hikeymap
[] =
291 BYTES(' ', ' ', ' ', ' '), /* 40 */
292 BYTES(8, 8, 8, 8), /* 41 BACKSPACE*/
293 STRING(tab_descr
), /* 42 TAB */
294 BYTES(13, 13, 13, 13), /* 43 ENTER */
295 BYTES(0, 0, 10, 13), /* 44 RETURN */
296 BYTES(0, 0, 0x9B, 27), /* 45 ESCAPE */
297 BYTES(127, 127, 127, 127), /* 46 DEL */
298 STRING(insert_descr
), /* 47 INSERT ?? */
299 STRING(pageup_descr
), /* 48 PAGEUP ?? */
300 STRING(pagedown_descr
), /* 49 PAGEDOWN ?? */
301 BYTES('-', '-', '-', '-'), /* 4A NUMPAD - */
302 STRING(f11_descr
), /* 4B F11 ?? */
303 STRING(up_descr
), /* 4C CURSOR UP*/
304 STRING(down_descr
), /* 4D CURSOR DOWN*/
305 STRING(right_descr
), /* 4E CURSOR RIGHT */
306 STRING(left_descr
), /* 4F CURSOR LEFT */
307 STRING(f1_descr
), /* 50 F1 */
308 STRING(f2_descr
), /* 51 */
309 STRING(f3_descr
), /* 52 */
310 STRING(f4_descr
), /* 53 */
311 STRING(f5_descr
), /* 54 */
312 STRING(f6_descr
), /* 55 */
313 STRING(f7_descr
), /* 56 */
314 STRING(f8_descr
), /* 57 */
315 STRING(f9_descr
), /* 58 */
316 STRING(f10_descr
), /* 59 */
317 BYTES(0, 0, 0, 0), /* 5A */
318 BYTES('/', '/', '/', '/'), /* 5B */
319 BYTES('*', '*', '*', '*'), /* 5C */
320 BYTES('-', '-', '-', '-'), /* 5D */
321 BYTES('+', '+', '+', '+'), /* 5E */
322 STRING(help_descr
), /* 5F HELP */
323 BYTES(0, 0, 0, 0), /* 60 */
324 BYTES(0, 0, 0, 0), /* 61 */
325 BYTES(0, 0, 0, 0), /* 62 */
326 BYTES(0, 0, 0, 0), /* 63 */
327 BYTES(0, 0, 0, 0), /* 64 */
328 BYTES(0, 0, 0, 0), /* 65 */
329 BYTES(0, 0, 0, 0), /* 66 */
330 BYTES(0, 0, 0, 0), /* 67 */
331 BYTES(0, 0, 0, 0), /* 68 */
332 BYTES(0, 0, 0, 0), /* 69 */
333 BYTES(0, 0, 0, 0), /* 6A */
334 BYTES(0, 0, 0, 0), /* 6B */
335 BYTES(0, 0, 0, 0), /* 6C */
336 BYTES(0, 0, 0, 0), /* 6D */
337 STRING(pausebreak_descr
), /* 6E PAUSE/BREAK ?? */
338 STRING(f12_descr
), /* 6F F12 ?? */
339 STRING(home_descr
), /* 70 HOME ?? */
340 STRING(end_descr
), /* 71 END ?? */
341 BYTES(0, 0, 0, 0), /* 72 */
342 BYTES(0, 0, 0, 0), /* 73 */
343 BYTES(0, 0, 0, 0), /* 74 */
344 BYTES(0, 0, 0, 0), /* 75 */
345 BYTES(0, 0, 0, 0), /* 76 */
346 BYTES(0, 0, 0, 0), /* 77 */
347 BYTES(0, 0, 0, 0), /* 78 */
348 BYTES(0, 0, 0, 0), /* 79 */
349 BYTES(0, 0, 0, 0), /* 7A */
350 BYTES(0, 0, 0, 0), /* 7B */
351 BYTES(0, 0, 0, 0), /* 7C */
352 BYTES(0, 0, 0, 0), /* 7D */
353 BYTES(0, 0, 0, 0), /* 7E */
354 BYTES(0, 0, 0, 0), /* 7F */
359 #define SETBITS(b0, b1, b2, b3, b4, b5, b6, b7) \
360 (b0<<0)|(b1<<1)|(b2<<2)|(b3<<3)|(b4<<4)|(b5<<5)|(b6<<6)|(b7<<7)
362 STATIC CONST UBYTE locapsable
[] =
364 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 00 - 07 */
365 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 08 - 0F */
367 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */
368 SETBITS(1, 1, 0, 0, 0, 0, 0, 0), /* 18 - 1F */
370 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */
371 SETBITS(1, 0, 0, 0, 0, 0, 0, 0), /* 28 - 2F */
373 SETBITS(0, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */
374 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 38 - 3F */
377 STATIC CONST UBYTE hicapsable
[] =
379 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 40 - 47 */
380 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 48 - 4F */
382 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */
383 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 58 - 5F */
385 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */
386 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */
388 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */
389 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */
392 STATIC CONST UBYTE lorepeatable
[] =
394 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 00 - 07 */
395 SETBITS(1, 1, 1, 1, 1, 1, 0, 1), /* 08 - 0F */
397 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 10 - 17 */
398 SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 18 - 1F */
400 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 20 - 27 */
401 SETBITS(1, 1, 1, 1, 0, 1, 1, 1), /* 28 - 2F */
403 SETBITS(1, 1, 1, 1, 1, 1, 1, 1), /* 30 - 37 */
404 SETBITS(1, 1, 1, 0, 1, 1, 1, 1) /* 38 - 3F */
407 STATIC CONST UBYTE hirepeatable
[] =
409 SETBITS(1, 1, 1, 0, 0, 0, 1, 0), /* 40 - 47 */
410 SETBITS(1, 1, 0, 0, 1, 1, 1, 1), /* 48 - 4F */
412 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 50 - 57 */
413 SETBITS(0, 0, 1, 1, 1, 1, 1, 0), /* 58 - 5F */
415 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 60 - 67 */
416 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 68 - 6F */
418 SETBITS(0, 0, 0, 0, 0, 0, 0, 0), /* 70 - 77 */
419 SETBITS(0, 0, 0, 0, 0, 0, 0, 0) /* 78 - 7F */