summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGiulio Camuffo <giulio.camuffo@jollamobile.com>2014-09-27 22:00:14 +0300
committerGiulio Camuffo <giulio.camuffo@jollamobile.com>2014-09-28 20:05:50 +0200
commit5f718c7d04d44c3878018e8070b18cf0e7486eb0 (patch)
tree4a34424b8c3ec16e37ffe59e14d96ef60927c7c3
parentbe93c343c581c3375b2fe4412ff7b2c76f8df253 (diff)
Send also repeat key release events
We were sending only key press events for the key autorepeat, going out of sync with the release events. Xorg sends both relase and press auto repeat events, do so here too. Change-Id: I41a9bfaff50afea779a7572220f6a01b507e95ac Reviewed-by: Laszlo Agocs <laszlo.agocs@digia.com>
-rw-r--r--src/client/qwaylandinputdevice.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/client/qwaylandinputdevice.cpp b/src/client/qwaylandinputdevice.cpp
index 5198a9e31..6ec7b5df4 100644
--- a/src/client/qwaylandinputdevice.cpp
+++ b/src/client/qwaylandinputdevice.cpp
@@ -817,6 +817,18 @@ void QWaylandInputDevice::Keyboard::keyboard_key(uint32_t serial, uint32_t time,
void QWaylandInputDevice::repeatKey()
{
mRepeatTimer.setInterval(25);
+
+ QWindowSystemInterface::handleExtendedKeyEvent(mKeyboard->mFocus->window(),
+ mKeyboard->mRepeatTime, QEvent::KeyRelease, mKeyboard->mRepeatKey,
+ modifiers(),
+ mKeyboard->mRepeatCode,
+#ifndef QT_NO_WAYLAND_XKB
+ mKeyboard->mRepeatSym, mKeyboard->mNativeModifiers,
+#else
+ 0, 0,
+#endif
+ mKeyboard->mRepeatText, true);
+
QWindowSystemInterface::handleExtendedKeyEvent(mKeyboard->mFocus->window(),
mKeyboard->mRepeatTime, QEvent::KeyPress, mKeyboard->mRepeatKey,
modifiers(),