1 1.3 christos /* $NetBSD: lk201reg.h,v 1.3 2005/12/11 12:21:20 christos Exp $ */ 2 1.1 drochner 3 1.2 perry /* 4 1.1 drochner * command keycodes for Digital LK200/LK400 series keyboards. 5 1.1 drochner */ 6 1.1 drochner 7 1.1 drochner /* 8 1.1 drochner * special keycodes 9 1.1 drochner */ 10 1.1 drochner #define LK_POWER_UP 0x01 11 1.1 drochner #define LK_KEY_R_SHIFT 0xab 12 1.1 drochner #define LK_KEY_SHIFT 0xae 13 1.1 drochner #define LK_KEY_LOCK 0xb0 14 1.1 drochner #define LK_KEY_CONTROL 0xaf 15 1.1 drochner #define LK_KEY_R_ALT 0xb2 16 1.1 drochner #define LK_KEY_UP 0xb3 17 1.1 drochner #define LK_KEY_REPEAT 0xb4 18 1.1 drochner #define LK_KEY_HOLD 0x56 /* F1 */ 19 1.1 drochner #define LK_KDOWN_ERROR 0x3d /* key down on powerup error */ 20 1.1 drochner #define LK_POWER_ERROR 0x3e /* keyboard failure on pwrup tst*/ 21 1.1 drochner #define LK_OUTPUT_ERROR 0xb5 /* keystrokes lost during inhbt */ 22 1.1 drochner #define LK_INPUT_ERROR 0xb6 /* garbage command to keyboard */ 23 1.1 drochner #define LK_LOWEST 0x56 /* lowest significant keycode */ 24 1.1 drochner 25 1.1 drochner /* 26 1.1 drochner * keyboard commands 27 1.1 drochner */ 28 1.1 drochner #define LK_UPDOWN 0x86 /* bits for setting lk201 modes */ 29 1.1 drochner #define LK_AUTODOWN 0x82 30 1.1 drochner #define LK_DOWN 0x80 31 1.1 drochner #define LK_DEFAULTS 0xd3 /* reset mode settings */ 32 1.1 drochner #define LK_AR_ENABLE 0xe3 /* global auto repeat enable */ 33 1.1 drochner #define LK_CL_ENABLE 0x1b /* keyclick enable */ 34 1.1 drochner #define LK_CL_DISABLE 0x99 /* keyclick disable */ 35 1.1 drochner #define LK_CCL_ENABLE 0xbb /* enable keyclick for CTRL */ 36 1.1 drochner #define LK_CCL_DISABLE 0xb9 /* disable keyclick for CTRL */ 37 1.1 drochner #define LK_KBD_ENABLE 0x8b /* keyboard enable */ 38 1.1 drochner #define LK_BELL_ENABLE 0x23 /* enable the bell */ 39 1.1 drochner #define LK_BELL_DISABLE 0xa1 /* disable the bell */ 40 1.1 drochner #define LK_LED_ENABLE 0x13 /* light led */ 41 1.1 drochner #define LK_LED_DISABLE 0x11 /* turn off led */ 42 1.1 drochner #define LK_RING_BELL 0xa7 /* ring keyboard bell */ 43 1.1 drochner #define LK_LED_1 0x81 /* led bits */ 44 1.1 drochner #define LK_LED_2 0x82 45 1.1 drochner #define LK_LED_3 0x84 46 1.1 drochner #define LK_LED_4 0x88 47 1.1 drochner #define LK_LED_WAIT 0x81 48 1.1 drochner #define LK_LED_COMP 0x82 49 1.1 drochner #define LK_LED_LOCK 0x84 50 1.1 drochner #define LK_LED_HOLD 0x88 51 1.1 drochner #define LK_LED_ALL 0x8f 52 1.1 drochner #define LK_HELP 0x7c /* help key */ 53 1.1 drochner #define LK_DO 0x7d /* do key */ 54 1.1 drochner #define LK_DIV6_START 0xad /* start of div 6 */ 55 1.1 drochner #define LK_DIV5_END 0xb2 /* end of div 5 */ 56 1.1 drochner #define LK_ENABLE_401 0xe9 /* turn on LK401 mode */ 57 1.1 drochner #define LK_MODE_CHANGE 0xba /* mode change ack */ 58 1.1 drochner 59 1.1 drochner /* max volume is 0, lowest is 0x7 */ 60 1.1 drochner #define LK_PARAM_VOLUME(v) (0x80|((v)&0x7)) 61 1.1 drochner 62 1.1 drochner /* mode command details */ 63 1.1 drochner #define LK_CMD_MODE(m,div) ((m)|((div)<<3)) 64