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/VirtualKeyboard.cpp | |
| parent | 2f34ef141b0728857d2a6f777c608dfe4c207733 (diff) | |
core: use new typed signals from hu (#10853)
Diffstat (limited to 'src/devices/VirtualKeyboard.cpp')
| -rw-r--r-- | src/devices/VirtualKeyboard.cpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/devices/VirtualKeyboard.cpp b/src/devices/VirtualKeyboard.cpp index 9952847a..ea21a22b 100644 --- a/src/devices/VirtualKeyboard.cpp +++ b/src/devices/VirtualKeyboard.cpp @@ -14,15 +14,14 @@ CVirtualKeyboard::CVirtualKeyboard(SP<CVirtualKeyboardV1Resource> keeb_) : m_key if (!keeb_) return; - m_listeners.destroy = keeb_->m_events.destroy.registerListener([this](std::any d) { + m_listeners.destroy = keeb_->m_events.destroy.listen([this] { m_keyboard.reset(); m_events.destroy.emit(); }); - m_listeners.key = keeb_->m_events.key.registerListener([this](std::any d) { m_keyboardEvents.key.emit(d); }); - m_listeners.modifiers = keeb_->m_events.modifiers.registerListener([this](std::any d) { - auto E = std::any_cast<SModifiersEvent>(d); - updateModifiers(E.depressed, E.latched, E.locked, E.group); + m_listeners.key = keeb_->m_events.key.listen([this](const auto& event) { m_keyboardEvents.key.emit(event); }); + m_listeners.modifiers = keeb_->m_events.modifiers.listen([this](const SModifiersEvent& event) { + updateModifiers(event.depressed, event.latched, event.locked, event.group); m_keyboardEvents.modifiers.emit(SModifiersEvent{ .depressed = m_modifiersState.depressed, .latched = m_modifiersState.latched, @@ -30,15 +29,14 @@ CVirtualKeyboard::CVirtualKeyboard(SP<CVirtualKeyboardV1Resource> keeb_) : m_key .group = m_modifiersState.group, }); }); - m_listeners.keymap = keeb_->m_events.keymap.registerListener([this](std::any d) { - auto E = std::any_cast<SKeymapEvent>(d); + m_listeners.keymap = keeb_->m_events.keymap.listen([this](const SKeymapEvent& event) { if (m_xkbKeymap) xkb_keymap_unref(m_xkbKeymap); - m_xkbKeymap = xkb_keymap_ref(E.keymap); + m_xkbKeymap = xkb_keymap_ref(event.keymap); m_keymapOverridden = true; updateXKBTranslationState(m_xkbKeymap); updateKeymapFD(); - m_keyboardEvents.keymap.emit(d); + m_keyboardEvents.keymap.emit(event); }); m_deviceName = keeb_->m_name; |
