From be3274c49d0ca5e31daa855c4c109d830fdead67 Mon Sep 17 00:00:00 2001 From: Aleksa Vuckovic Date: Fri, 5 Aug 2022 03:14:51 +0200 Subject: interrupts --- kernel/keyboard.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 kernel/keyboard.c (limited to 'kernel/keyboard.c') diff --git a/kernel/keyboard.c b/kernel/keyboard.c new file mode 100644 index 0000000..105c3a8 --- /dev/null +++ b/kernel/keyboard.c @@ -0,0 +1,20 @@ +#include +#include +#include +#include +#include + +#define KEYBOARD_DATA_PORT 0x60 +#define KEYBOARD_STATUS_PORT 0x64 + +uint8_t i = 0; + +void keyboard_handler(void) +{ + uint8_t status = inb(KEYBOARD_STATUS_PORT); + if (!(status & 0x1)) { + return; + } + uint8_t keycode = inb(KEYBOARD_DATA_PORT); + fb_draw_character(fb, keycode, 0, 0, RED, BLACK); +} -- cgit v1.2.3