diff --git a/Kernel/API/KeyCode.h b/Kernel/API/KeyCode.h index 0fd33a62b1..eab009d07d 100644 --- a/Kernel/API/KeyCode.h +++ b/Kernel/API/KeyCode.h @@ -142,6 +142,7 @@ enum KeyModifier { struct KeyEvent { KeyCode key { Key_Invalid }; + u8 map_entry_index { 0 }; u32 scancode { 0 }; u32 code_point { 0 }; u8 flags { 0 }; diff --git a/Kernel/Devices/HID/KeyboardDevice.cpp b/Kernel/Devices/HID/KeyboardDevice.cpp index 9c893ac9a6..8fb25f0a40 100644 --- a/Kernel/Devices/HID/KeyboardDevice.cpp +++ b/Kernel/Devices/HID/KeyboardDevice.cpp @@ -299,6 +299,7 @@ void KeyboardDevice::handle_scan_code_input_event(ScanCodeEvent event) Event queued_event; queued_event.key = key; + queued_event.map_entry_index = event.scan_code_value & 0xFF; queued_event.scancode = event.e0_prefix ? 0xe000 + event.scan_code_value : event.scan_code_value; queued_event.flags = m_modifiers; queued_event.e0_prefix = event.e0_prefix;