/* * @author xamidev * @brief PS/2 Keyboard driver * @license GPL-3.0-only */ #ifndef PS2_H #define PS2_H void keyboard_handler(); #define SHIFT_PRESSED_BIT 0b00000001 #define ALT_PRESSED_BIT 0b00000010 #define CTRL_PRESSED_BIT 0b00000100 enum SpecialKeys { SHIFT = 255, ALT = 254, CTRL = 253 }; enum SpecialScancodes { LEFT_SHIFT_PRESSED = 0x2A, LEFT_SHIFT_RELEASED = 0xAA, RIGHT_SHIFT_PRESSED = 0x36, RIGHT_SHIFT_RELEASED = 0xB6, CTRL_PRESSED = 0x1D, CTRL_RELEASED = 0x9D, ALT_PRESSED = 0x38, ALT_RELEASED = 0xB8 }; enum KeyboardLayout { US, FR }; void keyboard_init(unsigned char layout); #endif