From 2ae431b4fb4460cc222f059a343dd8ecade8e1ea Mon Sep 17 00:00:00 2001 From: Nic Gaffney Date: Fri, 16 Feb 2024 21:17:51 -0600 Subject: Forgot to add these last time womp womp --- src/kernel/keyboard/isr.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src/kernel/keyboard/isr.c') diff --git a/src/kernel/keyboard/isr.c b/src/kernel/keyboard/isr.c index 223bf9f..de7415c 100644 --- a/src/kernel/keyboard/isr.c +++ b/src/kernel/keyboard/isr.c @@ -1,4 +1,5 @@ #include "asm.h" +#include "exceptions.h" #include "print.h" #include "str.h" #include @@ -14,8 +15,7 @@ void keyboard_handler() { unsigned char sc = inb(0x60); uint8_t isheld = shift_held != 0; - char c = ((isheld | capslock) & !(isheld & capslock)) ? SCANCODES[sc] - : scancodes[sc]; + char c = (isheld ^ capslock) ? SCANCODES[sc] : scancodes[sc]; if (capslock & (!isheld) && !isalpha(c)) c = scancodes[sc]; @@ -45,5 +45,9 @@ void keyboard_handler() { capslock = !capslock; break; } + + if (shift_held && sc == 0xE0) + panic("Test panic"); + outb(0x20, 0x20); } -- cgit v1.2.3