1*0cf4c60bSad /* $NetBSD: wskbdmap_lk201.c,v 1.6 2002/03/13 15:21:30 ad Exp $ */ 2dca6ccc8Slukem 3dca6ccc8Slukem #include <sys/cdefs.h> 4*0cf4c60bSad __KERNEL_RCSID(0, "$NetBSD: wskbdmap_lk201.c,v 1.6 2002/03/13 15:21:30 ad Exp $"); 5ffa2207eSdrochner 6ffa2207eSdrochner #include <sys/types.h> 7ffa2207eSdrochner #include <dev/wscons/wsksymdef.h> 8ffa2207eSdrochner #include <dev/wscons/wsksymvar.h> 9ffa2207eSdrochner #include <dev/dec/wskbdmap_lk201.h> 10ffa2207eSdrochner 11ed3f310cSdrochner #define KC(n) KS_KEYCODE((n) - MIN_LK201_KEY) 12ffa2207eSdrochner 13*0cf4c60bSad static const keysym_t lkkbd_keydesc_us[] = { 14ffa2207eSdrochner /* pos command normal shifted */ 15ffa2207eSdrochner KC(86), KS_Cmd_Screen0, KS_f1, 16ffa2207eSdrochner KC(87), KS_Cmd_Screen1, KS_f2, 17ffa2207eSdrochner KC(88), KS_Cmd_Screen2, KS_f3, 18ffa2207eSdrochner KC(89), KS_Cmd_Screen3, KS_f4, 19ffa2207eSdrochner KC(90), KS_Cmd_Screen4, KS_f5, 20ffa2207eSdrochner KC(100), KS_Cmd_Screen5, KS_f6, 21ffa2207eSdrochner KC(101), KS_Cmd_Screen6, KS_f7, 22ffa2207eSdrochner KC(102), KS_Cmd_Screen7, KS_f8, 23ffa2207eSdrochner KC(103), KS_Cmd_Screen8, KS_f9, 24ffa2207eSdrochner KC(104), KS_Cmd_Screen9, KS_f10, 25ffa2207eSdrochner KC(113), KS_Cmd_Debugger, KS_Escape, /* F11 */ 26ffa2207eSdrochner KC(114), KS_f12, 27ffa2207eSdrochner KC(115), KS_f13, 28ffa2207eSdrochner KC(116), KS_f14, 29ffa2207eSdrochner KC(124), KS_Help, 3023eb2da7Sragge KC(125), KS_Cmd, KS_Execute, 31ffa2207eSdrochner KC(128), KS_f17, 32ffa2207eSdrochner KC(129), KS_f18, 33ffa2207eSdrochner KC(130), KS_f19, 34ffa2207eSdrochner KC(131), KS_f20, 35ffa2207eSdrochner KC(138), KS_Find, 36ffa2207eSdrochner KC(139), KS_Insert, 3724e6cd94Sdrochner KC(140), KS_KP_Delete, 38ffa2207eSdrochner KC(141), KS_Select, 39ffa2207eSdrochner KC(142), KS_Prior, 40ffa2207eSdrochner KC(143), KS_Next, 41ffa2207eSdrochner KC(146), KS_KP_0, 42ffa2207eSdrochner KC(148), KS_KP_Decimal, 43ffa2207eSdrochner KC(149), KS_KP_Enter, 44ffa2207eSdrochner KC(150), KS_KP_1, 45ffa2207eSdrochner KC(151), KS_KP_2, 46ffa2207eSdrochner KC(152), KS_KP_3, 47ffa2207eSdrochner KC(153), KS_KP_4, 48ffa2207eSdrochner KC(154), KS_KP_5, 49ffa2207eSdrochner KC(155), KS_KP_6, 50ffa2207eSdrochner KC(156), KS_KP_Separator, 51ffa2207eSdrochner KC(157), KS_KP_7, 52ffa2207eSdrochner KC(158), KS_KP_8, 53ffa2207eSdrochner KC(159), KS_KP_9, 54ffa2207eSdrochner KC(160), KS_KP_Subtract, 55ffa2207eSdrochner KC(161), KS_KP_F1, 56ffa2207eSdrochner KC(162), KS_KP_F2, 57ffa2207eSdrochner KC(163), KS_KP_F3, 58ffa2207eSdrochner KC(164), KS_KP_F4, 59ffa2207eSdrochner KC(167), KS_Left, 60ffa2207eSdrochner KC(168), KS_Right, 61ffa2207eSdrochner KC(169), KS_Down, 62ffa2207eSdrochner KC(170), KS_Up, 63ffa2207eSdrochner KC(174), KS_Shift_L, 64ffa2207eSdrochner KC(175), KS_Cmd1, KS_Control_L, 65ffa2207eSdrochner KC(176), KS_Caps_Lock, 66ffa2207eSdrochner KC(177), KS_Cmd2, KS_Multi_key, /* (left) compose */ 6724e6cd94Sdrochner KC(188), KS_Delete, 68ffa2207eSdrochner KC(189), KS_Return, 69ffa2207eSdrochner KC(190), KS_Tab, 70ffa2207eSdrochner KC(191), KS_grave, KS_asciitilde, 71ffa2207eSdrochner KC(192), KS_1, KS_exclam, 72ffa2207eSdrochner KC(193), KS_q, 73ffa2207eSdrochner KC(194), KS_a, 74ffa2207eSdrochner KC(195), KS_z, 75ffa2207eSdrochner KC(197), KS_2, KS_at, 76ffa2207eSdrochner KC(198), KS_w, 77ffa2207eSdrochner KC(199), KS_s, 78ffa2207eSdrochner KC(200), KS_x, 79ffa2207eSdrochner KC(201), KS_less, KS_greater, 80ffa2207eSdrochner KC(203), KS_3, KS_numbersign, 81ffa2207eSdrochner KC(204), KS_e, 82ffa2207eSdrochner KC(205), KS_d, 83ffa2207eSdrochner KC(206), KS_c, 84ffa2207eSdrochner KC(208), KS_4, KS_dollar, 85ffa2207eSdrochner KC(209), KS_r, 86ffa2207eSdrochner KC(210), KS_f, 87ffa2207eSdrochner KC(211), KS_v, 88ffa2207eSdrochner KC(212), KS_space, 89ffa2207eSdrochner KC(214), KS_5, KS_percent, 90ffa2207eSdrochner KC(215), KS_t, 91ffa2207eSdrochner KC(216), KS_g, 92ffa2207eSdrochner KC(217), KS_b, 93ffa2207eSdrochner KC(219), KS_6, KS_asciicircum, 94ffa2207eSdrochner KC(220), KS_y, 95ffa2207eSdrochner KC(221), KS_h, 96ffa2207eSdrochner KC(222), KS_n, 97ffa2207eSdrochner KC(224), KS_7, KS_ampersand, 98ffa2207eSdrochner KC(225), KS_u, 99ffa2207eSdrochner KC(226), KS_j, 100ffa2207eSdrochner KC(227), KS_m, 101ffa2207eSdrochner KC(229), KS_8, KS_asterisk, 102ffa2207eSdrochner KC(230), KS_i, 103ffa2207eSdrochner KC(231), KS_k, 104ffa2207eSdrochner KC(232), KS_comma, KS_less, 105ffa2207eSdrochner KC(234), KS_9, KS_parenleft, 106ffa2207eSdrochner KC(235), KS_o, 107ffa2207eSdrochner KC(236), KS_l, 108ffa2207eSdrochner KC(237), KS_period, KS_greater, 109ffa2207eSdrochner KC(239), KS_0, KS_parenright, 110ffa2207eSdrochner KC(240), KS_p, 111ffa2207eSdrochner KC(242), KS_semicolon, KS_colon, 112ffa2207eSdrochner KC(243), KS_slash, KS_question, 113ffa2207eSdrochner KC(245), KS_equal, KS_plus, 114ffa2207eSdrochner KC(246), KS_bracketright, KS_braceright, 115ffa2207eSdrochner KC(247), KS_backslash, KS_bar, 116ffa2207eSdrochner KC(249), KS_minus, KS_underscore, 117ffa2207eSdrochner KC(250), KS_bracketleft, KS_braceleft, 118ffa2207eSdrochner KC(251), KS_apostrophe, KS_quotedbl, 119ffa2207eSdrochner }; 120ffa2207eSdrochner 121*0cf4c60bSad static const keysym_t lkkbd_keydesc_us_lk401[] = { 122ffa2207eSdrochner KC(171), KS_Shift_R, 123ffa2207eSdrochner KC(172), KS_Cmd2, KS_Alt_L, 124ffa2207eSdrochner KC(173), KS_Multi_key, /* right compose */ 125ffa2207eSdrochner KC(177), KS_Multi_key, /* left compose, not "cmd" */ 126ffa2207eSdrochner KC(178), KS_Alt_R, 127ffa2207eSdrochner }; 128ffa2207eSdrochner 129ffa2207eSdrochner #define KBD_MAP(name, base, map) \ 130ffa2207eSdrochner { name, base, sizeof(map)/sizeof(keysym_t), map } 131ffa2207eSdrochner 132*0cf4c60bSad const struct wscons_keydesc lkkbd_keydesctab[] = { 133*0cf4c60bSad KBD_MAP(KB_US, 0, lkkbd_keydesc_us), 134*0cf4c60bSad KBD_MAP(KB_US | KB_LK401, KB_US, lkkbd_keydesc_us_lk401), 135ffa2207eSdrochner {0, 0, 0, 0} 136ffa2207eSdrochner }; 137ffa2207eSdrochner 138ffa2207eSdrochner #undef KBD_MAP 139ffa2207eSdrochner #undef KC 140