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