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