wskbdmap_lk201.c revision 1.6 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