diff options
Diffstat (limited to 'chips/lk201.h')
-rw-r--r-- | chips/lk201.h | 241 |
1 files changed, 0 insertions, 241 deletions
diff --git a/chips/lk201.h b/chips/lk201.h deleted file mode 100644 index 5c7bbba..0000000 --- a/chips/lk201.h +++ /dev/null @@ -1,241 +0,0 @@ -/* - * Mach Operating System - * Copyright (c) 1991,1990 Carnegie Mellon University - * All Rights Reserved. - * - * Permission to use, copy, modify and distribute this software and its - * documentation is hereby granted, provided that both the copyright - * notice and this permission notice appear in all copies of the - * software, derivative works or modified versions, and any portions - * thereof, and that both notices appear in supporting documentation. - * - * CARNEGIE MELLON ALLOWS FREE USE OF THIS SOFTWARE IN ITS "AS IS" - * CONDITION. CARNEGIE MELLON DISCLAIMS ANY LIABILITY OF ANY KIND FOR - * ANY DAMAGES WHATSOEVER RESULTING FROM THE USE OF THIS SOFTWARE. - * - * Carnegie Mellon requests users of this software to return to - * - * Software Distribution Coordinator or Software.Distribution@CS.CMU.EDU - * School of Computer Science - * Carnegie Mellon University - * Pittsburgh PA 15213-3890 - * - * any improvements or extensions that they make and grant Carnegie Mellon - * the rights to redistribute these changes. - */ -/* - * File: lk201.h - * Author: Alessandro Forin, Carnegie Mellon University - * Date: 9/90 - * - * Definitions for the LK201 Keyboard Driver - */ - -/* - * KeyCodes generated by the LK201 board - * (labels as in the lk201-AA USA model) - */ - -#define LK_MINCODE 0x56 - /* Function keys */ -#define LK_F1 0x56 /* div 10 */ -#define LK_F2 0x57 -#define LK_F3 0x58 -#define LK_F4 0x59 -#define LK_F5 0x5a -#define LK_F6 0x64 /* div 11 */ -#define LK_F7 0x65 -#define LK_F8 0x66 -#define LK_F9 0x67 -#define LK_F10 0x68 -#define LK_F11 0x71 /* div 12 */ -#define LK_ESC LK_F11 -#define LK_F12 0x72 -#define LK_BS LK_F12 -#define LK_F13 0x73 -#define LK_LF LK_F13 -#define LK_F14 0x74 -#define LK_HELP 0x7c /* div 13 */ -#define LK_DO 0x7d -#define LK_F17 0x80 /* div 14 */ -#define LK_F18 0x81 -#define LK_F19 0x82 -#define LK_F20 0x83 - /* Editing keys */ -#define LK_FIND 0x8a /* div 9 */ -#define LK_INSERT 0x8b -#define LK_REMOVE 0x8c -#define LK_SELECT 0x8d -#define LK_PREV_SCREEN 0x8e -#define LK_NEXT_SCREEN 0x8f - /* Numeric keypad */ -#define LK_KP_0 0x92 /* div 2 */ -#define LK_KP_DOT 0x94 -#define LK_KP_ENTER 0x95 -#define LK_KP_1 0x96 -#define LK_KP_2 0x97 -#define LK_KP_3 0x98 -#define LK_KP_4 0x99 -#define LK_KP_5 0x9a -#define LK_KP_6 0x9b -#define LK_KP_COMMA 0x9c -#define LK_KP_7 0x9d -#define LK_KP_8 0x9e -#define LK_KP_9 0x9f -#define LK_KP_MINUS 0xa0 -#define LK_KP_PF1 0xa1 -#define LK_KP_PF2 0xa2 -#define LK_KP_PF3 0xa3 -#define LK_KP_PF4 0xa4 - /* Cursor keys */ -#define LK_LEFT 0xa7 /* div 7 */ -#define LK_RIGHT 0xa8 -#define LK_DOWN 0xa9 /* div 8 */ -#define LK_UP 0xaa - /* Shift & Co. */ -#define LK_R_SHIFT 0xab /* lk401 */ -#define LK_L_ALT 0xac /* lk401 */ -#define LK_R_COMPOSE 0xad /* lk401 */ -#define LK_SHIFT 0xae /* div 6 */ -#define LK_CNTRL 0xaf -#define LK_LOCK 0xb0 /* div 5 */ -#define LK_ALT 0xb1 -#define LK_R_ALT 0xb2 /* lk401 */ - /* Special codes */ -#define LK_ALLUP 0xb3 -#define LK_REPEAT 0xb4 -#define LK_OUTPUT_ERR 0xb5 -#define LK_INPUT_ERR 0xb6 -#define LK_KDBLOCK_ACK 0xb7 -#define LK_TESTMODE_ACK 0xb8 -#define LK_PFX_KEYDOWN 0xb9 -#define LK_MODECHG_ACK 0xba - /* Delete & Co. */ -#define LK_DEL 0xbc /* div 3 */ -#define LK_RETURN 0xbd /* div 4 */ -#define LK_TAB 0xbe - /* Graphic keys */ - -#define LK_TILDE 0xbf /* div 2 */ -#define LK_1 0xc0 -#define LK_Q 0xc1 -#define LK_A 0xc2 -#define LK_Z 0xc3 -#define LK_2 0xc5 -#define LK_W 0xc6 -#define LK_S 0xc7 -#define LK_X 0xc8 -#define LK_LESSGRT 0xc9 -#define LK_3 0xcb -#define LK_E 0xcc -#define LK_D 0xcd -#define LK_C 0xce -#define LK_4 0xd0 -#define LK_R 0xd1 -#define LK_F 0xd2 -#define LK_V 0xd3 -#define LK_SP 0xd4 -#define LK_5 0xd6 -#define LK_T 0xd7 -#define LK_G 0xd8 -#define LK_B 0xd9 -#define LK_6 0xdb -#define LK_Y 0xdc -#define LK_H 0xdd -#define LK_N 0xde -#define LK_7 0xe0 /* div 1 */ -#define LK_U 0xe1 -#define LK_J 0xe2 -#define LK_M 0xe3 -#define LK_8 0xe5 -#define LK_I 0xe6 -#define LK_K 0xe7 -#define LK_DQUOTE 0xe8 -#define LK_9 0xea -#define LK_O 0xeb -#define LK_L 0xec -#define LK_DOT 0xed -#define LK_0 0xef -#define LK_P 0xf0 -#define LK_COLON 0xf2 -#define LK_QMARK 0xf3 -#define LK_PLUS 0xf5 -#define LK_RBRACKET 0xf6 -#define LK_VBAR 0xf7 -#define LK_MINUS 0xf9 -#define LK_LBRACKET 0xfa -#define LK_COMMA 0xfb - - -/* - * Commands to the keyboard processor - */ - -#define LK_PARAM 0x80 /* start/end parameter list */ - -#define LK_CMD_RESUME 0x8b -#define LK_CMD_INHIBIT 0xb9 -#define LK_CMD_LEDS_ON 0x13 /* 1 param: led bitmask */ -#define LK_CMD_LEDS_OFF 0x11 /* 1 param: led bitmask */ -#define LK_CMD_DIS_KEYCLK 0x99 -#define LK_CMD_ENB_KEYCLK 0x1b /* 1 param: volume */ -#define LK_CMD_DIS_CTLCLK 0xb9 -#define LK_CMD_ENB_CTLCLK 0xbb -#define LK_CMD_SOUND_CLK 0x9f -#define LK_CMD_DIS_BELL 0xa1 -#define LK_CMD_ENB_BELL 0x23 /* 1 param: volume */ -#define LK_CMD_BELL 0xa7 -#define LK_CMD_TMP_NORPT 0xc1 -#define LK_CMD_ENB_RPT 0xe3 -#define LK_CMD_DIS_RPT 0xe1 -#define LK_CMD_RPT_TO_DOWN 0xd9 -#define LK_CMD_REQ_ID 0xab -#define LK_CMD_POWER_UP 0xfd -#define LK_CMD_TEST_MODE 0xcb -#define LK_CMD_SET_DEFAULTS 0xd3 - -/* there are 4 leds, represent them in the low 4 bits of a byte */ -#define LK_PARAM_LED_MASK(ledbmap) (LK_PARAM|(ledbmap)) - -/* max volume is 0, lowest is 0x7 */ -#define LK_PARAM_VOLUME(v) (LK_PARAM|((v)&0x7)) - -/* mode set command(s) details */ -#define LK_MODE_DOWN 0x0 -#define LK_MODE_RPT_DOWN 0x2 -#define LK_MODE_DOWN_UP 0x6 -#define LK_CMD_MODE(m,div) (LK_PARAM|(div<<3)|m) - - -/* - * Keyboard set_status codes and arguments - */ - -/* Send a command packet to the lk201 */ -typedef struct { - unsigned char len; /* how many params */ - unsigned char command; /* cmd to lk201 */ - unsigned char params[2]; /* extra params */ -} lk201_cmd_t; -#define LK201_SEND_CMD _IOW('q', 5, lk201_cmd_t)/* keybd. per. cmd */ - -/* Control rotation of lk201 leds */ -#define LK201_LED_PATTERN _IOW('q', 119, int) /* cylon, ... */ -# define LED_COUNT 1 /* led counter */ -# define LED_ROTATE 2 /* led rotate */ -# define LED_CYLON 3 /* led cylon mode */ - -#define LK201_LED_INTERVAL _IOW('q', 120, int) /* refresh interval */ -# define LED_OFF 0 /* no led movement */ - -/* Map the caps-lock key to act as the control key (skinny-fingers) */ -#define LK201_mapLOCKtoCNTRL _IOW('q', 121, int) /* 1 or 0 */ - -/* Remap a lk201 keycode to a different (ASCII) translation */ -typedef struct { - unsigned char in_keyval; - unsigned char shifted; - unsigned char out_keyval; - unsigned char meta; -} KeyMap; -#define LK201_REMAP_KEY _IOW('q', 122, KeyMap) /* 1 or 0 */ |