1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-22 22:15:08 +00:00

Kernel: Add scancode value to KeyEvent

This commit is contained in:
Hüseyin ASLITÜRK 2020-05-30 22:16:04 +03:00 committed by Andreas Kling
parent ed20800320
commit 46b92fa173
2 changed files with 3 additions and 1 deletions

View file

@ -30,8 +30,8 @@
#include <AK/Types.h> #include <AK/Types.h>
#include <Kernel/Arch/i386/CPU.h> #include <Kernel/Arch/i386/CPU.h>
#include <Kernel/Devices/KeyboardDevice.h> #include <Kernel/Devices/KeyboardDevice.h>
#include <Kernel/TTY/VirtualConsole.h>
#include <Kernel/IO.h> #include <Kernel/IO.h>
#include <Kernel/TTY/VirtualConsole.h>
//#define KEYBOARD_DEBUG //#define KEYBOARD_DEBUG
@ -475,6 +475,7 @@ void KeyboardDevice::key_state_changed(u8 raw, bool pressed)
Event event; Event event;
event.key = key; event.key = key;
event.scancode = m_has_e0_prefix ? 0xe000 + raw : raw;
event.character = static_cast<u8>(character); event.character = static_cast<u8>(character);
event.flags = m_modifiers; event.flags = m_modifiers;
if (pressed) if (pressed)

View file

@ -160,6 +160,7 @@ enum KeyModifier {
struct KeyEvent { struct KeyEvent {
KeyCode key { Key_Invalid }; KeyCode key { Key_Invalid };
u32 scancode { 0 };
u8 character { 0 }; u8 character { 0 };
u8 flags { 0 }; u8 flags { 0 };
bool alt() const { return flags & Mod_Alt; } bool alt() const { return flags & Mod_Alt; }