LibInput: Add support for right super and application keys
This commit is contained in:
@@ -151,16 +151,18 @@ namespace Kernel::Input
|
||||
uint16_t toggle_mask = 0;
|
||||
switch (dummy_event.key)
|
||||
{
|
||||
case Key::LeftShift: modifier_mask = KeyModifier::LShift; break;
|
||||
case Key::RightShift: modifier_mask = KeyModifier::RShift; break;
|
||||
case Key::LeftCtrl: modifier_mask = KeyModifier::LCtrl; break;
|
||||
case Key::RightCtrl: modifier_mask = KeyModifier::RCtrl; break;
|
||||
case Key::LeftAlt: modifier_mask = KeyModifier::LAlt; break;
|
||||
case Key::RightAlt: modifier_mask = KeyModifier::RAlt; break;
|
||||
case Key::LeftShift: modifier_mask = KeyModifier::LShift; break;
|
||||
case Key::RightShift: modifier_mask = KeyModifier::RShift; break;
|
||||
case Key::LeftCtrl: modifier_mask = KeyModifier::LCtrl; break;
|
||||
case Key::RightCtrl: modifier_mask = KeyModifier::RCtrl; break;
|
||||
case Key::LeftAlt: modifier_mask = KeyModifier::LAlt; break;
|
||||
case Key::RightAlt: modifier_mask = KeyModifier::RAlt; break;
|
||||
case Key::LeftSuper: modifier_mask = KeyModifier::LSuper; break;
|
||||
case Key::RightSuper: modifier_mask = KeyModifier::RSuper; break;
|
||||
|
||||
case Key::ScrollLock: toggle_mask = KeyModifier::ScrollLock; break;
|
||||
case Key::NumLock: toggle_mask = KeyModifier::NumLock; break;
|
||||
case Key::CapsLock: toggle_mask = KeyModifier::CapsLock; break;
|
||||
case Key::ScrollLock: toggle_mask = KeyModifier::ScrollLock; break;
|
||||
case Key::NumLock: toggle_mask = KeyModifier::NumLock; break;
|
||||
case Key::CapsLock: toggle_mask = KeyModifier::CapsLock; break;
|
||||
|
||||
default: break;
|
||||
}
|
||||
|
||||
@@ -95,7 +95,9 @@ namespace Kernel::Input
|
||||
m_scancode_to_keycode_normal[0x38] = keycode_normal(4, 2);
|
||||
m_scancode_to_keycode_normal[0x39] = keycode_normal(4, 3);
|
||||
m_scancode_to_keycode_extended[0x38] = keycode_normal(4, 4);
|
||||
m_scancode_to_keycode_extended[0x1D] = keycode_normal(4, 5);
|
||||
m_scancode_to_keycode_extended[0x5C] = keycode_normal(4, 5);
|
||||
m_scancode_to_keycode_extended[0x5D] = keycode_normal(4, 6);
|
||||
m_scancode_to_keycode_extended[0x1D] = keycode_normal(4, 7);
|
||||
|
||||
m_scancode_to_keycode_normal[0x45] = keycode_numpad(0, 0);
|
||||
m_scancode_to_keycode_extended[0x35] = keycode_numpad(0, 1);
|
||||
@@ -208,7 +210,9 @@ namespace Kernel::Input
|
||||
m_scancode_to_keycode_normal[0x11] = keycode_normal(4, 2);
|
||||
m_scancode_to_keycode_normal[0x29] = keycode_normal(4, 3);
|
||||
m_scancode_to_keycode_extended[0x11] = keycode_normal(4, 4);
|
||||
m_scancode_to_keycode_extended[0x14] = keycode_normal(4, 5);
|
||||
m_scancode_to_keycode_extended[0x27] = keycode_normal(4, 5);
|
||||
m_scancode_to_keycode_extended[0x2F] = keycode_normal(4, 6);
|
||||
m_scancode_to_keycode_extended[0x14] = keycode_normal(4, 7);
|
||||
|
||||
m_scancode_to_keycode_normal[0x77] = keycode_numpad(0, 0);
|
||||
m_scancode_to_keycode_extended[0x4A] = keycode_numpad(0, 1);
|
||||
@@ -321,7 +325,9 @@ namespace Kernel::Input
|
||||
m_scancode_to_keycode_normal[0x19] = keycode_normal(4, 2);
|
||||
m_scancode_to_keycode_normal[0x29] = keycode_normal(4, 3);
|
||||
m_scancode_to_keycode_normal[0x39] = keycode_normal(4, 4);
|
||||
m_scancode_to_keycode_normal[0x58] = keycode_normal(4, 5);
|
||||
m_scancode_to_keycode_normal[0x8C] = keycode_normal(4, 5);
|
||||
m_scancode_to_keycode_normal[0x8D] = keycode_normal(4, 6);
|
||||
m_scancode_to_keycode_normal[0x58] = keycode_normal(4, 7);
|
||||
|
||||
m_scancode_to_keycode_normal[0x76] = keycode_numpad(0, 0);
|
||||
m_scancode_to_keycode_normal[0x4A] = keycode_numpad(0, 1);
|
||||
|
||||
@@ -56,6 +56,8 @@ namespace Kernel
|
||||
READ_MODIFIER(0xE4, KeyModifier::RCtrl);
|
||||
READ_MODIFIER(0xE2, KeyModifier::LAlt);
|
||||
READ_MODIFIER(0xE6, KeyModifier::RAlt);
|
||||
READ_MODIFIER(0xE3, KeyModifier::LSuper);
|
||||
READ_MODIFIER(0xE7, KeyModifier::RSuper);
|
||||
#undef READ_MODIFIER
|
||||
|
||||
#define READ_TOGGLE(scancode, key_modifier) \
|
||||
@@ -340,8 +342,10 @@ namespace Kernel
|
||||
s_scancode_to_keycode[0xE3] = keycode_normal(4, 1);
|
||||
s_scancode_to_keycode[0xE2] = keycode_normal(4, 2);
|
||||
s_scancode_to_keycode[0x2C] = keycode_normal(4, 3);
|
||||
s_scancode_to_keycode[0xE6] = keycode_normal(4, 5);
|
||||
s_scancode_to_keycode[0xE4] = keycode_normal(4, 6);
|
||||
s_scancode_to_keycode[0xE6] = keycode_normal(4, 4);
|
||||
s_scancode_to_keycode[0xE7] = keycode_normal(4, 5);
|
||||
s_scancode_to_keycode[0x65] = keycode_normal(5, 6);
|
||||
s_scancode_to_keycode[0xE4] = keycode_normal(4, 7);
|
||||
|
||||
s_scancode_to_keycode[0x52] = keycode_normal(5, 0);
|
||||
s_scancode_to_keycode[0x50] = keycode_normal(5, 1);
|
||||
|
||||
Reference in New Issue
Block a user