Kernel: Fix USB keyboard Scroll lock
I was using 8 bit modifier and ScrollLock bit does not fit this. Also I was not generating ScrollLock keypresses
This commit is contained in:
parent
d0452a3510
commit
4dd6c85df2
|
@ -31,7 +31,7 @@ namespace Kernel
|
|||
|
||||
BAN::Array<bool, 0x100> m_keyboard_state { false };
|
||||
BAN::Array<bool, 0x100> m_keyboard_state_temp { false };
|
||||
uint8_t m_toggle_mask { 0 };
|
||||
uint16_t m_toggle_mask { 0 };
|
||||
|
||||
BAN::Optional<uint8_t> m_repeat_scancode;
|
||||
uint8_t m_repeat_modifier { 0 };
|
||||
|
|
|
@ -31,7 +31,7 @@ namespace Kernel
|
|||
// FIXME: RawKeyEvent probably should only contain keycode.
|
||||
// Modifier should be determined when converting to KeyEvent.
|
||||
|
||||
uint8_t modifier = 0;
|
||||
uint16_t modifier = 0;
|
||||
|
||||
#define READ_MODIFIER(scancode, key_modifier) \
|
||||
if (m_keyboard_state_temp[scancode]) \
|
||||
|
@ -238,6 +238,7 @@ namespace Kernel
|
|||
s_scancode_to_keycode[0x4D] = keycode_function(17);
|
||||
s_scancode_to_keycode[0x4B] = keycode_function(18);
|
||||
s_scancode_to_keycode[0x4E] = keycode_function(19);
|
||||
s_scancode_to_keycode[0x47] = keycode_function(20);
|
||||
|
||||
s_scancode_to_keycode[0x53] = keycode_numpad(0, 0);
|
||||
s_scancode_to_keycode[0x54] = keycode_numpad(0, 1);
|
||||
|
|
Loading…
Reference in New Issue