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