summaryrefslogtreecommitdiffstats
path: root/src/plugins/platforms/wayland_common/qwaylandqtkey.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/platforms/wayland_common/qwaylandqtkey.cpp')
-rw-r--r--src/plugins/platforms/wayland_common/qwaylandqtkey.cpp41
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 76d91c790..d9f2071ec 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
-};
-