summaryrefslogtreecommitdiffstats
path: root/src/client/qwaylandinputdevice.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/client/qwaylandinputdevice.cpp')
-rw-r--r--src/client/qwaylandinputdevice.cpp15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/client/qwaylandinputdevice.cpp b/src/client/qwaylandinputdevice.cpp
index 4f72d6146..43c5807d4 100644
--- a/src/client/qwaylandinputdevice.cpp
+++ b/src/client/qwaylandinputdevice.cpp
@@ -157,9 +157,9 @@ QWaylandInputDevice::Touch::~Touch()
wl_touch_destroy(object());
}
-QWaylandInputDevice::QWaylandInputDevice(QWaylandDisplay *display, uint32_t id)
+QWaylandInputDevice::QWaylandInputDevice(QWaylandDisplay *display, int version, uint32_t id)
: QObject()
- , QtWayland::wl_seat(display->wl_registry(), id, 2)
+ , QtWayland::wl_seat(display->wl_registry(), id, qMin(version, 2))
, mQDisplay(display)
, mDisplay(display->wl_display())
, mCaps(0)
@@ -771,6 +771,17 @@ void QWaylandInputDevice::Keyboard::repeatKey()
{
mRepeatTimer.setInterval(25);
QWindowSystemInterface::handleExtendedKeyEvent(mFocus->window(),
+ mRepeatTime, QEvent::KeyRelease, mRepeatKey,
+ modifiers(),
+ mRepeatCode,
+#ifndef QT_NO_WAYLAND_XKB
+ mRepeatSym, mNativeModifiers,
+#else
+ 0, 0,
+#endif
+ mRepeatText, true);
+
+ QWindowSystemInterface::handleExtendedKeyEvent(mFocus->window(),
mRepeatTime, QEvent::KeyPress, mRepeatKey,
modifiers(),
mRepeatCode,