3 #include <ddk/ntddkbd.h>
4 #include <ddk/ntdd8042.h>
7 /*-----------------------------------------------------
9 * --------------------------------------------------*/
10 typedef struct _DEVICE_EXTENSION
13 PI8042_KEYBOARD_INITIALIZATION_ROUTINE InitializationHookCallback;
14 PI8042_KEYBOARD_ISR IsrHookCallback;
17 } DEVICE_EXTENSION, *PDEVICE_EXTENSION;
23 #define KEYBOARD_IRQ 1
24 #define KBD_BUFFER_SIZE 32
25 #define KBD_WRAP_MASK 0x1F
27 #define disable() __asm__("cli\n\t")
28 #define enable() __asm__("sti\n\t")
30 #define ALT_PRESSED (LEFT_ALT_PRESSED | RIGHT_ALT_PRESSED)
31 #define CTRL_PRESSED (LEFT_CTRL_PRESSED | RIGHT_CTRL_PRESSED)
35 * Keyboard controller ports
38 #define KBD_DATA_PORT 0x60
39 #define KBD_CTRL_PORT 0x64
46 #define KBD_READ_MODE 0x20
47 #define KBD_WRITE_MODE 0x60
48 #define KBD_SELF_TEST 0xAA
49 #define KBD_LINE_TEST 0xAB
50 #define KBD_CTRL_ENABLE 0xAE
56 #define KBD_ENABLE 0xF4
57 #define KBD_DISABLE 0xF5
58 #define KBD_RESET 0xFF
66 #define KBD_BATCC 0xAA
70 * Controller status register bits
83 #define KBD_LED_SCROLL 0x01
84 #define KBD_LED_NUM 0x02
85 #define KBD_LED_CAPS 0x04
87 #endif // _KEYBOARD_H_