File indexing completed on 2025-05-11 08:23:41
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019 #ifndef _I386_KEYBOARD_H
0020 #define _I386_KEYBOARD_H
0021
0022 #include <i386_io.h>
0023
0024 #define KEYBOARD_IRQ 1
0025 #define DISABLE_KBD_DURING_INTERRUPTS 0
0026
0027 extern int pckbd_setkeycode(unsigned int scancode, unsigned int keycode);
0028 extern int pckbd_getkeycode(unsigned int scancode);
0029 extern int pckbd_translate(unsigned char scancode, unsigned char *keycode,
0030 char raw_mode);
0031 extern char pckbd_unexpected_up(unsigned char keycode);
0032 extern void pckbd_leds(unsigned char leds);
0033 extern void pckbd_init_hw(void);
0034 extern unsigned char pckbd_sysrq_xlate[128];
0035
0036 #define kbd_setkeycode pckbd_setkeycode
0037 #define kbd_getkeycode pckbd_getkeycode
0038 #define kbd_translate pckbd_translate
0039 #define kbd_unexpected_up pckbd_unexpected_up
0040 #define kbd_leds pckbd_leds
0041 #define kbd_init_hw pckbd_init_hw
0042 #define kbd_sysrq_xlate pckbd_sysrq_xlate
0043
0044 #define SYSRQ_KEY 0x54
0045
0046
0047 #define kbd_request_region()
0048 #define kbd_request_irq(handler)
0049
0050
0051 #define kbd_read_input() inb(KBD_DATA_REG)
0052 #define kbd_read_status() inb(KBD_STATUS_REG)
0053 #define kbd_write_output(val) outb(val, KBD_DATA_REG)
0054 #define kbd_write_command(val) outb(val, KBD_CNTL_REG)
0055
0056
0057 #define kbd_pause() do { } while(0)
0058
0059
0060
0061
0062
0063 #define AUX_IRQ 12
0064
0065 #define aux_request_irq(hand, dev_id)
0066
0067 #define aux_free_irq(dev_id)
0068
0069
0070
0071
0072
0073
0074
0075
0076
0077
0078
0079
0080
0081 #undef KBD_REPORT_ERR
0082 #define KBD_REPORT_UNKN
0083 #define KBD_REPORT_TIMEOUTS
0084 #undef KBD_IS_FOCUS_9000
0085 #undef INITIALIZE_MOUSE
0086
0087 #define KBD_INIT_TIMEOUT 1000
0088 #define KBC_TIMEOUT 250
0089 #define KBD_TIMEOUT 1000
0090
0091
0092
0093
0094
0095 extern unsigned char pckbd_read_mask;
0096 extern unsigned char aux_device_present;
0097
0098
0099
0100
0101
0102 #define KBD_STATUS_REG 0x64
0103 #define KBD_CNTL_REG 0x64
0104 #define KBD_DATA_REG 0x60
0105
0106
0107
0108
0109
0110 #define KBD_CCMD_READ_MODE 0x20
0111 #define KBD_CCMD_WRITE_MODE 0x60
0112 #define KBD_CCMD_GET_VERSION 0xA1
0113 #define KBD_CCMD_MOUSE_DISABLE 0xA7
0114 #define KBD_CCMD_MOUSE_ENABLE 0xA8
0115 #define KBD_CCMD_TEST_MOUSE 0xA9
0116 #define KBD_CCMD_SELF_TEST 0xAA
0117 #define KBD_CCMD_KBD_TEST 0xAB
0118 #define KBD_CCMD_KBD_DISABLE 0xAD
0119 #define KBD_CCMD_KBD_ENABLE 0xAE
0120 #define KBD_CCMD_WRITE_AUX_OBUF 0xD3
0121
0122 #define KBD_CCMD_WRITE_MOUSE 0xD4
0123
0124
0125
0126
0127
0128 #define KBD_CMD_SET_LEDS 0xED
0129 #define KBD_CMD_SET_RATE 0xF3
0130 #define KBD_CMD_ENABLE 0xF4
0131 #define KBD_CMD_DISABLE 0xF5
0132 #define KBD_CMD_RESET 0xFF
0133
0134
0135
0136
0137
0138 #define KBD_REPLY_POR 0xAA
0139 #define KBD_REPLY_ACK 0xFA
0140 #define KBD_REPLY_RESEND 0xFE
0141
0142
0143
0144
0145
0146 #define KBD_STAT_OBF 0x01
0147 #define KBD_STAT_IBF 0x02
0148 #define KBD_STAT_SELFTEST 0x04
0149 #define KBD_STAT_CMD 0x08
0150 #define KBD_STAT_UNLOCKED 0x10
0151 #define KBD_STAT_MOUSE_OBF 0x20
0152 #define KBD_STAT_GTO 0x40
0153 #define KBD_STAT_PERR 0x80
0154
0155 #define AUX_STAT_OBF (KBD_STAT_OBF | KBD_STAT_MOUSE_OBF)
0156
0157
0158
0159
0160
0161 #define KBD_MODE_KBD_INT 0x01
0162 #define KBD_MODE_MOUSE_INT 0x02
0163 #define KBD_MODE_SYS 0x04
0164 #define KBD_MODE_NO_KEYLOCK 0x08
0165 #define KBD_MODE_DISABLE_KBD 0x10
0166 #define KBD_MODE_DISABLE_MOUSE 0x20
0167 #define KBD_MODE_KCC 0x40
0168 #define KBD_MODE_RFU 0x80
0169
0170
0171
0172
0173
0174 #define AUX_SET_RES 0xE8
0175 #define AUX_SET_SCALE11 0xE6
0176 #define AUX_SET_SCALE21 0xE7
0177 #define AUX_GET_SCALE 0xE9
0178 #define AUX_SET_STREAM 0xEA
0179 #define AUX_SET_SAMPLE 0xF3
0180 #define AUX_ENABLE_DEV 0xF4
0181 #define AUX_DISABLE_DEV 0xF5
0182 #define AUX_RESET 0xFF
0183 #define AUX_ACK 0xFA
0184
0185 #define AUX_BUF_SIZE 2048
0186
0187
0188
0189
0190 #define mark_bh(x)
0191
0192 #endif