diff options
author | Mario Roessel <[email protected]> | 2023-03-01 11:37:57 +0100 |
---|---|---|
committer | Qt Cherry-pick Bot <[email protected]> | 2023-04-20 08:04:40 +0000 |
commit | 2041157d77e91436220dcb81d94028acc2e39002 (patch) | |
tree | 383371b4176a38a74901e8be6ebc45300053a441 /src/gui/platform/unix/qxkbcommon.cpp | |
parent | 6c2355f45772a9f623fa24662b7c3781bdca88af (diff) |
QXkbCommon: set Qt::KeypadModifier when keypad button is pressed
Task-number: QTBUG-111503
Done-With: Liang Qi <[email protected]>
Change-Id: Ic7ca48ea8709d38aa83c95a9b5a7d39ff82f08c7
Reviewed-by: Eskil Abrahamsen Blomfeldt <[email protected]>
(cherry picked from commit 298c9509129cf039a1da75d5682cbe273a341590)
Reviewed-by: Qt Cherry-pick Bot <[email protected]>
Diffstat (limited to 'src/gui/platform/unix/qxkbcommon.cpp')
-rw-r--r-- | src/gui/platform/unix/qxkbcommon.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/gui/platform/unix/qxkbcommon.cpp b/src/gui/platform/unix/qxkbcommon.cpp index fd368f8282d..5596b5903a5 100644 --- a/src/gui/platform/unix/qxkbcommon.cpp +++ b/src/gui/platform/unix/qxkbcommon.cpp @@ -564,7 +564,7 @@ static int keysymToQtKey_internal(xkb_keysym_t keysym, Qt::KeyboardModifiers mod return qtKey; } -Qt::KeyboardModifiers QXkbCommon::modifiers(struct xkb_state *state) +Qt::KeyboardModifiers QXkbCommon::modifiers(struct xkb_state *state, xkb_keysym_t keysym) { Qt::KeyboardModifiers modifiers = Qt::NoModifier; @@ -577,6 +577,9 @@ Qt::KeyboardModifiers QXkbCommon::modifiers(struct xkb_state *state) if (xkb_state_mod_name_is_active(state, XKB_MOD_NAME_LOGO, XKB_STATE_MODS_EFFECTIVE) > 0) modifiers |= Qt::MetaModifier; + if (keysym >= XKB_KEY_KP_Space && keysym <= XKB_KEY_KP_9) + modifiers |= Qt::KeypadModifier; + return modifiers; } |