diff --git a/kernel/src/keyboard.cpp b/kernel/src/keyboard.cpp index ab5c6f01..6aae9d20 100644 --- a/kernel/src/keyboard.cpp +++ b/kernel/src/keyboard.cpp @@ -306,7 +306,7 @@ char keyboard::shift_key_to_ascii(uint8_t key){ return shifted_qwertz[key]; } -keycode raw_key_to_keycode(uint8_t key){ +keycode keyboard::raw_key_to_keycode(uint8_t key){ if(key & 0x80){ key &= ~(0x80); return released_codes[key]; diff --git a/kernel/src/terminal.cpp b/kernel/src/terminal.cpp index f526135d..5b003fc9 100644 --- a/kernel/src/terminal.cpp +++ b/kernel/src/terminal.cpp @@ -72,7 +72,8 @@ void stdio::virtual_terminal::send_input(char key){ } else { // The complete processing of the key will be done by the // userspace program - raw_buffer.push(key); + auto code = keyboard::raw_key_to_keycode(key); + raw_buffer.push(static_cast(code)); if(!input_queue.empty()){ input_queue.wake_up();