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