1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 18:57:45 +00:00

Flesh out keyboard event support a bit more.

This commit is contained in:
Andreas Kling 2019-01-21 07:05:31 +01:00
parent 76a2881793
commit aefbbeb3cb
7 changed files with 196 additions and 84 deletions

View file

@ -158,12 +158,9 @@ void WSEventLoop::drain_keyboard()
auto& screen = WSScreen::the();
auto& keyboard = Keyboard::the();
while (keyboard.can_read(*m_server_process)) {
byte data[2];
ssize_t nread = keyboard.read(*m_server_process, (byte*)data, sizeof(data));
ASSERT(nread == sizeof(data));
Keyboard::Key key;
key.character = data[0];
key.modifiers = data[1];
screen.on_receive_keyboard_data(key);
Keyboard::Event event;
ssize_t nread = keyboard.read(*m_server_process, (byte*)&event, sizeof(Keyboard::Event));
ASSERT(nread == sizeof(Keyboard::Event));
screen.on_receive_keyboard_data(event);
}
}