diff options
Diffstat (limited to 'src/plugins/platforms/wayland_common/qwaylandqtkey.cpp')
-rw-r--r-- | src/plugins/platforms/wayland_common/qwaylandqtkey.cpp | 41 |
1 files changed, 14 insertions, 27 deletions
diff --git a/src/plugins/platforms/wayland_common/qwaylandqtkey.cpp b/src/plugins/platforms/wayland_common/qwaylandqtkey.cpp index 76d91c79..d9f2071e 100644 --- a/src/plugins/platforms/wayland_common/qwaylandqtkey.cpp +++ b/src/plugins/platforms/wayland_common/qwaylandqtkey.cpp @@ -42,34 +42,26 @@ #include "qwaylandqtkey.h" #include "qwaylandinputdevice.h" -#include "wayland-qtkey-extension-client-protocol.h" - QT_USE_NAMESPACE QWaylandQtKeyExtension::QWaylandQtKeyExtension(QWaylandDisplay *display, uint32_t id) - : m_display(display) + : QtWayland::qt_key_extension(display->wl_registry(), id) + , m_display(display) { - m_qtkey = static_cast<struct wl_qtkey_extension *>(wl_registry_bind(display->wl_registry(), id, &wl_qtkey_extension_interface, 1)); - wl_qtkey_extension_add_listener(m_qtkey, &qtkey_listener, this); } -void QWaylandQtKeyExtension::handle_qtkey(void *data, - struct wl_qtkey_extension *ext, - uint32_t time, - uint32_t type, - uint32_t key, - uint32_t modifiers, - uint32_t nativeScanCode, - uint32_t nativeVirtualKey, - uint32_t nativeModifiers, - const char *text, - uint32_t autorep, - uint32_t count) +void QWaylandQtKeyExtension::key_extension_qtkey(uint32_t time, + uint32_t type, + uint32_t key, + uint32_t modifiers, + uint32_t nativeScanCode, + uint32_t nativeVirtualKey, + uint32_t nativeModifiers, + const QString &text, + uint32_t autorep, + uint32_t count) { - Q_UNUSED(ext); - QWaylandQtKeyExtension *self = static_cast<QWaylandQtKeyExtension *>(data); - - QList<QWaylandInputDevice *> inputDevices = self->m_display->inputDevices(); + QList<QWaylandInputDevice *> inputDevices = m_display->inputDevices(); if (inputDevices.isEmpty()) { qWarning("wl_qtkey_extension: handle_qtkey: No input device"); return; @@ -85,11 +77,6 @@ void QWaylandQtKeyExtension::handle_qtkey(void *data, QWindow *window = win->window(); QWindowSystemInterface::handleExtendedKeyEvent(window, time, QEvent::Type(type), key, Qt::KeyboardModifiers(modifiers), - nativeScanCode, nativeVirtualKey, nativeModifiers, QString::fromUtf8(text), + nativeScanCode, nativeVirtualKey, nativeModifiers, text, autorep, count); } - -const struct wl_qtkey_extension_listener QWaylandQtKeyExtension::qtkey_listener = { - QWaylandQtKeyExtension::handle_qtkey -}; - |