diff options
author | Nicolas Fella <nicolas.fella@kde.org> | 2024-01-24 01:39:24 +0100 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2024-02-01 01:44:14 +0000 |
commit | 17e46725c5971a3067d5abd5506fde6c03d0935f (patch) | |
tree | 93d6ee4740415e35e34d12efa00bb20523851727 | |
parent | 20fb0e7dd53a00dd7f4721a0b712e5554cb268fd (diff) |
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>
-rw-r--r-- | src/client/qwaylandinputdevice.cpp | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/client/qwaylandinputdevice.cpp b/src/client/qwaylandinputdevice.cpp index c552988de..988e37e30 100644 --- a/src/client/qwaylandinputdevice.cpp +++ b/src/client/qwaylandinputdevice.cpp @@ -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); |