diff options
| author | outfoxxed <outfoxxed@outfoxxed.me> | 2025-07-08 09:56:40 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-08 18:56:40 +0200 |
| commit | 78e9eddfb6bfbc6b103fc60c9831b23ef252886b (patch) | |
| tree | 4daf06580d89dec717a282c4ec8729285241c8e8 /src/devices/Keyboard.cpp | |
| parent | 2f34ef141b0728857d2a6f777c608dfe4c207733 (diff) | |
core: use new typed signals from hu (#10853)
Diffstat (limited to 'src/devices/Keyboard.cpp')
| -rw-r--r-- | src/devices/Keyboard.cpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/devices/Keyboard.cpp b/src/devices/Keyboard.cpp index 70abe54d..9ce37e6b 100644 --- a/src/devices/Keyboard.cpp +++ b/src/devices/Keyboard.cpp @@ -23,24 +23,22 @@ CKeyboard::CKeyboard(SP<Aquamarine::IKeyboard> keeb) : m_keyboard(keeb) { if (!keeb) return; - m_listeners.destroy = keeb->events.destroy.registerListener([this](std::any d) { + m_listeners.destroy = keeb->events.destroy.listen([this] { m_keyboard.reset(); m_events.destroy.emit(); }); - m_listeners.key = keeb->events.key.registerListener([this](std::any d) { - auto E = std::any_cast<Aquamarine::IKeyboard::SKeyEvent>(d); - + m_listeners.key = keeb->events.key.listen([this](const Aquamarine::IKeyboard::SKeyEvent& event) { m_keyboardEvents.key.emit(SKeyEvent{ - .timeMs = E.timeMs, - .keycode = E.key, - .state = E.pressed ? WL_KEYBOARD_KEY_STATE_PRESSED : WL_KEYBOARD_KEY_STATE_RELEASED, + .timeMs = event.timeMs, + .keycode = event.key, + .state = event.pressed ? WL_KEYBOARD_KEY_STATE_PRESSED : WL_KEYBOARD_KEY_STATE_RELEASED, }); - updateXkbStateWithKey(E.key + 8, E.pressed); + updateXkbStateWithKey(event.key + 8, event.pressed); }); - m_listeners.modifiers = keeb->events.modifiers.registerListener([this](std::any d) { + m_listeners.modifiers = keeb->events.modifiers.listen([this] { updateModifiersState(); m_keyboardEvents.modifiers.emit(SModifiersEvent{ |
