#include "pic/keyboard.h" #include "io.h" #include "utils/ring_buffer.h" static struct ring_buffer keyboard_buffer = { 0 }; void add_key_to_buffer(void) { uint8_t key = inb(KEYBOARD_IO); write_entry(&keyboard_buffer, key); } int getkey(void) { uint8_t key = read_entry(&keyboard_buffer); if (!key) return -1; return key; }