summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/keyboard.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/keyboard.c b/src/keyboard.c
index b956e11..d971f8d 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -219,19 +219,21 @@ uint32_t keyboard_handle_interrupt( interrupt_handler_t *handler, uint32_t esp )
scan_code &= ~SCAN_CODE_BREAK_CODE;
- keycode_t key_code;
- scancode_set_t code_set = SCANCODE_SET_NORMAL;
if( scan_code == SCAN_CODE_LEFT_SHIFT ||
scan_code == SCAN_CODE_RIGHT_SHIFT ) {
if( break_code ) {
keyboard->shift = false;
} else {
keyboard->shift = true;
- code_set = SCANCODE_SET_SHIFT;
}
}
- key_code = scancode_to_keycode( code_set, scan_code );
+ scancode_set_t code_set = SCANCODE_SET_NORMAL;
+ if( keyboard->shift ) {
+ code_set = SCANCODE_SET_SHIFT;
+ }
+
+ keycode_t key_code = scancode_to_keycode( code_set, scan_code );
printf( "KBD SCAN:0x%X S:%d B:%d S:%d T:0x%X '%c' 0x%X\n",
scan_code, code_set, break_code, keyboard->shift,