diff options
| author | James Barnett <noreply@jamesbarnett.xyz> | 2019-05-26 19:28:27 +0100 |
|---|---|---|
| committer | James Barnett <noreply@jamesbarnett.xyz> | 2019-05-26 19:28:27 +0100 |
| commit | bd77381c27ef5b61bf1c123efef3895b98a7a615 (patch) | |
| tree | ba798b442305ad4e174d79cf5bb7a822b7e1e2e9 /kernel/io/keyboard/keyboard_handler.c | |
| parent | eb4de24523e8f0832daae89a083844c8e9a261e9 (diff) | |
| download | tinyOS-bd77381c27ef5b61bf1c123efef3895b98a7a615.tar.xz tinyOS-bd77381c27ef5b61bf1c123efef3895b98a7a615.zip | |
Proxy keypress from kernel to focused program
Diffstat (limited to 'kernel/io/keyboard/keyboard_handler.c')
| -rw-r--r-- | kernel/io/keyboard/keyboard_handler.c | 15 |
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); } } |