diff options
author | Liang Qi <liang.qi@qt.io> | 2024-03-08 10:20:10 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2024-03-10 19:14:20 +0100 |
commit | 9ae6b38fef8a8ee7b3fbc0311216c8fa3b3e1d8f (patch) | |
tree | 1055d761ca72dfcad233e487cb63a2ca4746438b /src | |
parent | fc3df6d3d62759e7abd2518792a77a1daf3fb6c8 (diff) |
client: use current modifiers in repeat keys
This amends 35880c7e1021a379e3cdd4005edd53472b63856c .
Fixes: QTBUG-123007
Pick-to: 6.7 6.6 6.5 6.2 5.15
Change-Id: I3b4e5d4a8304fd57558eec3897562895c294aadd
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Diffstat (limited to 'src')
-rw-r--r-- | src/client/qwaylandinputdevice.cpp | 11 | ||||
-rw-r--r-- | src/client/qwaylandinputdevice_p.h | 2 |
2 files changed, 5 insertions, 8 deletions
diff --git a/src/client/qwaylandinputdevice.cpp b/src/client/qwaylandinputdevice.cpp index 6f421febd..7406e3469 100644 --- a/src/client/qwaylandinputdevice.cpp +++ b/src/client/qwaylandinputdevice.cpp @@ -69,11 +69,12 @@ QWaylandInputDevice::Keyboard::Keyboard(QWaylandInputDevice *p) return; } mRepeatTimer.setInterval(1000 / mRepeatRate); - handleKey(mRepeatKey.time, QEvent::KeyRelease, mRepeatKey.key, mRepeatKey.modifiers, - mRepeatKey.code, mRepeatKey.nativeVirtualKey, mRepeatKey.nativeModifiers, + Qt::KeyboardModifiers modifiers = this->modifiers(); + handleKey(mRepeatKey.time, QEvent::KeyRelease, mRepeatKey.key, modifiers, + mRepeatKey.code, mRepeatKey.nativeVirtualKey, this->mNativeModifiers, mRepeatKey.text, true); - handleKey(mRepeatKey.time, QEvent::KeyPress, mRepeatKey.key, mRepeatKey.modifiers, - mRepeatKey.code, mRepeatKey.nativeVirtualKey, mRepeatKey.nativeModifiers, + handleKey(mRepeatKey.time, QEvent::KeyPress, mRepeatKey.key, modifiers, + mRepeatKey.code, mRepeatKey.nativeVirtualKey, this->mNativeModifiers, mRepeatKey.text, true); }); } @@ -1354,8 +1355,6 @@ void QWaylandInputDevice::Keyboard::keyboard_key(uint32_t serial, uint32_t time, mRepeatKey.code = code; mRepeatKey.time = time; mRepeatKey.text = text; - mRepeatKey.modifiers = modifiers; - mRepeatKey.nativeModifiers = mNativeModifiers; mRepeatKey.nativeVirtualKey = sym; mRepeatTimer.setInterval(mRepeatDelay); mRepeatTimer.start(); diff --git a/src/client/qwaylandinputdevice_p.h b/src/client/qwaylandinputdevice_p.h index 67bfb9afd..cf565cb85 100644 --- a/src/client/qwaylandinputdevice_p.h +++ b/src/client/qwaylandinputdevice_p.h @@ -237,9 +237,7 @@ public: uint32_t code = 0; uint32_t time = 0 ; QString text; - Qt::KeyboardModifiers modifiers; uint32_t nativeVirtualKey = 0; - uint32_t nativeModifiers = 0; } mRepeatKey; QTimer mRepeatTimer; |