aboutsummaryrefslogtreecommitdiff
path: root/kernel/io
diff options
context:
space:
mode:
authorJames Barnett <noreply@jamesbarnett.xyz>2019-05-26 19:28:27 +0100
committerJames Barnett <noreply@jamesbarnett.xyz>2019-05-26 19:28:27 +0100
commitbd77381c27ef5b61bf1c123efef3895b98a7a615 (patch)
treeba798b442305ad4e174d79cf5bb7a822b7e1e2e9 /kernel/io
parenteb4de24523e8f0832daae89a083844c8e9a261e9 (diff)
downloadtinyOS-bd77381c27ef5b61bf1c123efef3895b98a7a615.tar.xz
tinyOS-bd77381c27ef5b61bf1c123efef3895b98a7a615.zip
Proxy keypress from kernel to focused program
Diffstat (limited to 'kernel/io')
-rw-r--r--kernel/io/keyboard/keyboard_handler.c15
1 files changed, 3 insertions, 12 deletions
diff --git a/kernel/io/keyboard/keyboard_handler.c b/kernel/io/keyboard/keyboard_handler.c
index 26b4586..e06936d 100644
--- a/kernel/io/keyboard/keyboard_handler.c
+++ b/kernel/io/keyboard/keyboard_handler.c
@@ -1,6 +1,7 @@
#include "../../interrupt_descriptor_table.h"
#include "../../gpu/text_mode/display.h"
#include "scancode_map.h"
+#include "../../../os/main.h"
extern void keyboard_handler(void);
extern char read_port(unsigned short port);
@@ -66,18 +67,8 @@ void handle_keypress() {
if(!isKeyup(scancode))
{
- char pressed_key = scancode_map[scancode];
- switch(pressed_key)
- {
- case '\b':
- scrn_backspace();
- break;
- case '\n':
- scrn_newline();
- break;
- default:
- scrn_putchar(pressed_key);
- }
+ unsigned char pressed_key = scancode_map[scancode];
+ os_proxy_keypress(pressed_key);
}
}