Client: Fix Qt::KeypadModifier for key events

Use the right QXkbCommon::modifiers overload that can resolve the
modifier.

f614fdfa5dc522f805c7c061535df6a0dc7409b9 did this for wayland-server,
do the same for the client side

Pick-to: 6.7 6.6 6.5
Change-Id: Iff0c105cb31201241d4972a7772cf997cede3fc3
Reviewed-by: Liang Qi <liang.qi@qt.io>
This commit is contained in:
Nicolas Fella 2024-01-24 01:39:24 +01:00 committed by Liang Qi
parent f616c5beef
commit 21f03c33b0

View File

@ -1341,8 +1341,7 @@ void QWaylandInputDevice::Keyboard::keyboard_key(uint32_t serial, uint32_t time,
auto code = key + 8; // map to wl_keyboard::keymap_format::keymap_format_xkb_v1
xkb_keysym_t sym = xkb_state_key_get_one_sym(mXkbState.get(), code);
Qt::KeyboardModifiers modifiers = mParent->modifiers();
Qt::KeyboardModifiers modifiers = QXkbCommon::modifiers(mXkbState.get(), sym);
int qtkey = keysymToQtKey(sym, modifiers, mXkbState.get(), code);
QString text = QXkbCommon::lookupString(mXkbState.get(), code);