master
1/* $NetBSD: lk201.h,v 1.9 2005/12/11 12:21:20 christos Exp $ */
2
3
4/*
5 * Ascii values of command keys.
6 */
7#define KBD_TAB '\t'
8#define KBD_DEL 127
9#define KBD_RET '\r'
10
11/*
12 * Define "hardware-independent" codes for the control, shift, meta and
13 * function keys. Codes start after the last 7-bit ASCII code (127)
14 * and are assigned in an arbitrary order.
15 */
16#define KBD_NOKEY 128
17
18#define KBD_F1 201
19#define KBD_F2 202
20#define KBD_F3 203
21#define KBD_F4 204
22#define KBD_F5 205
23#define KBD_F6 206
24#define KBD_F7 207
25#define KBD_F8 208
26#define KBD_F9 209
27#define KBD_F10 210
28#define KBD_F11 211
29#define KBD_F12 212
30#define KBD_F13 213
31#define KBD_F14 214
32#define KBD_HELP 215
33#define KBD_DO 216
34#define KBD_F17 217
35#define KBD_F18 218
36#define KBD_F19 219
37#define KBD_F20 220
38
39#define KBD_FIND 221
40#define KBD_INSERT 222
41#define KBD_REMOVE 223
42#define KBD_SELECT 224
43#define KBD_PREVIOUS 225
44#define KBD_NEXT 226
45
46#define KBD_KP_ENTER 227
47#define KBD_KP_F1 228
48#define KBD_KP_F2 229
49#define KBD_KP_F3 230
50#define KBD_KP_F4 231
51#define KBD_LEFT 232
52#define KBD_RIGHT 233
53#define KBD_DOWN 234
54#define KBD_UP 235
55
56#define KBD_CONTROL 236
57#define KBD_SHIFT 237
58#define KBD_CAPSLOCK 238
59#define KBD_ALTERNATE 239
60
61
62
63/*
64 * Definitions for the Keyboard and mouse.
65 */
66/*
67 * Special key values.
68 */
69#define KEY_R_SHIFT 0xab
70#define KEY_SHIFT 0xae
71#define KEY_CONTROL 0xaf
72#define KEY_CAPSLOCK 0xb0
73#define KEY_R_ALT 0xb2
74#define KEY_UP 0xb3
75#define KEY_REPEAT 0xb4
76#define KEY_F1 0x56
77#define KEY_COMMAND KEY_F1
78
79/*
80 * Lk201/301 keyboard
81 */
82#define LK_UPDOWN 0x86 /* bits for setting lk201 modes */
83#define LK_AUTODOWN 0x82
84#define LK_DOWN 0x80
85#define LK_DEFAULTS 0xd3 /* reset mode settings */
86#define LK_AR_ENABLE 0xe3 /* global auto repeat enable */
87#define LK_CL_ENABLE 0x1b /* keyclick enable */
88#define LK_KBD_ENABLE 0x8b /* keyboard enable */
89#define LK_BELL_ENABLE 0x23 /* the bell */
90#define LK_LED_ENABLE 0x13 /* light led */
91#define LK_LED_DISABLE 0x11 /* turn off led */
92#define LK_RING_BELL 0xa7 /* ring keyboard bell */
93#define LED_1 0x81 /* led bits */
94#define LED_2 0x82
95#define LED_3 0x84
96#define LED_4 0x88
97#define LED_ALL 0x8f
98#define LK_HELP 0x7c /* help key */
99#define LK_DO 0x7d /* do key */
100#define LK_KDOWN_ERROR 0x3d /* key down on powerup error */
101#define LK_POWER_ERROR 0x3e /* keyboard failure on pwrup tst*/
102#define LK_OUTPUT_ERROR 0xb5 /* keystrokes lost during inhbt */
103#define LK_INPUT_ERROR 0xb6 /* garbage command to keyboard */
104#define LK_LOWEST 0x56 /* lowest significant keycode */
105
106/* max volume is 0, lowest is 0x7 */
107#define LK_PARAM_VOLUME(v) (0x80|((v)&0x7))
108
109/* mode command details */
110#define LK_CMD_MODE(m,div) ((m)|((div)<<3))
111
112
113/*
114 * Command characters for the mouse.
115 */
116#define MOUSE_SELF_TEST 'T'
117#define MOUSE_INCREMENTAL 'R'
118
119/*
120 * Mouse output bits.
121 *
122 * MOUSE_START_FRAME Start of report frame bit.
123 * MOUSE_X_SIGN Sign bit for X.
124 * MOUSE_Y_SIGN Sign bit for Y.
125 * MOUSE_X_OFFSET X offset to start cursor at.
126 * MOUSE_Y_OFFSET Y offset to start cursor at.
127 */
128#define MOUSE_START_FRAME 0x80
129#define MOUSE_X_SIGN 0x10
130#define MOUSE_Y_SIGN 0x08
131
132/*
133 * Definitions for mouse buttons
134 */
135#define EVENT_LEFT_BUTTON 0x01
136#define EVENT_MIDDLE_BUTTON 0x02
137#define EVENT_RIGHT_BUTTON 0x03
138#define RIGHT_BUTTON 0x01
139#define MIDDLE_BUTTON 0x02
140#define LEFT_BUTTON 0x04
141
142#ifdef _KERNEL
143extern int LKgetc(dev_t dev);
144extern void lkdivert(int (*getc_fn)(dev_t dev), dev_t dev);
145#endif