From d261bcea8955358ebe8e0c7e7a04a6ac883d85bd Mon Sep 17 00:00:00 2001 From: Marvin Borner Date: Sun, 16 Aug 2020 20:15:55 +0200 Subject: Added scancode list and resolver --- kernel/drivers/keyboard.c | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'kernel/drivers') diff --git a/kernel/drivers/keyboard.c b/kernel/drivers/keyboard.c index 6405018..1cf103a 100644 --- a/kernel/drivers/keyboard.c +++ b/kernel/drivers/keyboard.c @@ -4,18 +4,19 @@ #include #include #include +#include char keymap[128]; void keyboard_handler() { - u8 scan_code = inb(0x60); + u32 scancode = (u32)inb(0x60); - if (scan_code > 128) - return; + // TODO: Support multi-byte scancodes + /* printf("%x %x %x %x\n", scancode, inb(0x60), inb(0x60), inb(0x60)); */ - if ((scan_code & 0x80) == 0) { // PRESS - event_trigger(EVENT_KEYBOARD, NULL); + if ((scancode & 0x80) == 0) { // PRESS + event_trigger(EVENT_KEYBOARD, (u32 *)scancode); } } -- cgit v1.2.3