xref: /netbsd/sys/dev/dec/lk201.h (revision bf9ec67e)
1 /*	$NetBSD: lk201.h,v 1.7 1999/03/19 18:34:01 ad 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
143 extern int LKgetc __P((dev_t dev));
144 extern void lkdivert __P ((int (*getc_fn)(dev_t dev), dev_t dev));
145 #endif
146