Kernel: Cleanup PS2 mouse button event generation

This commit is contained in:
Bananymous 2025-04-01 22:59:02 +03:00
parent 95f262b3e6
commit 2e3b917192
1 changed files with 8 additions and 16 deletions

View File

@ -108,20 +108,12 @@ namespace Kernel::Input
m_byte_index = 0; m_byte_index = 0;
auto button_index_to_button = constexpr MouseButton bit_to_button[] {
[](int index) -> MouseButton MouseButton::Left,
{ MouseButton::Right,
if (index == 0) MouseButton::Middle,
return MouseButton::Left; MouseButton::Extra1,
if (index == 1) MouseButton::Extra2,
return MouseButton::Right;
if (index == 2)
return MouseButton::Middle;
if (index == 3)
return MouseButton::Extra1;
if (index == 4)
return MouseButton::Extra2;
ASSERT_NOT_REACHED();
}; };
if (new_button_mask != m_button_mask) if (new_button_mask != m_button_mask)
@ -133,7 +125,7 @@ namespace Kernel::Input
MouseEvent event; MouseEvent event;
event.type = MouseEventType::MouseButtonEvent; event.type = MouseEventType::MouseButtonEvent;
event.button_event.button = button_index_to_button(i); event.button_event.button = bit_to_button[i];
event.button_event.pressed = !!(new_button_mask & (1 << i)); event.button_event.pressed = !!(new_button_mask & (1 << i));
add_event(BAN::ConstByteSpan::from(event)); add_event(BAN::ConstByteSpan::from(event));
} }