19#define MOD_LCTRL 0x01U
20#define MOD_RCTRL 0x02U
22#define MOD_LSHIFT 0x04U
23#define MOD_RSHIFT 0x08U
24#define MOD_SHIFT 0x4CU
28#define MOD_CAPSLOCK 0x40U
29#define MOD_NUMLOCK 0x80U
36#define KB_BUFFER_SIZE 256
This is a basic header files with FrostWing specific short forms and basically a good for life header...
Header file for Hardware Abstraction Layer -> Source from GoGX OS.
Interrupts handler header.
int getc_nonblock(void)
Non-blocking getc from keyboard buffer.
uint8_t getmodifiers(void)
Gets the current modifiers (like lshift, rshift, etc.).
void keyboard_init(void)
Initalizes the RingBuffer to store the characters.
void process_keyboard(InterruptFrame *frame)
This is a function that is ran even when the sleep() function is called.
uint8_t getc(void)
Gets the last pressed char.
void keyboard_flush_buffer(void)
Clears pending keyboard input so stale keypresses are discarded.
int handle_char_from_scancode(uint8_t data)
Converts the scancode passed to it to ASCII characters.
char scancode_to_char(int scancode, bool uppercase)
Converts the scancode to character.