client: use current modifiers in repeat keys

This amends 97232a3fd8970a072e36ac3d080ce828dd9243fb .

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>
This commit is contained in:
Liang Qi 2024-03-08 10:20:10 +01:00
parent d3adcc073a
commit 4446f4571a
2 changed files with 5 additions and 8 deletions

View File

@ -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();

View File

@ -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;