#ifndef _PS2_KEYBOARD_H #define _PS2_KEYBOARD_H #include #include typedef enum { KEY_NONE = 0, KEY_ARROW_UP = 0xFC, KEY_ARROW_DOWN, KEY_ARROW_LEFT, KEY_ARROW_RIGHT, /* Note: add more special keys here */ } special_key; typedef enum { KEY_UP = 0x1E, KEY_DOWN = 0x1F, KEY_RIGHT = 0x1C, KEY_LEFT = 0x1D, } lower_key; typedef void (*ps2_hook_t)(char); void keyboard_init(void); void keyboard_handler(void); char get_char(void); uint16_t get_key(void); char* get_string(void); char* kbd_gets(void); bool setup_hook(ps2_hook_t func); bool remove_hook(ps2_hook_t func); #endif