Details
-
Bug
-
Resolution: Unresolved
-
P3: Somewhat important
-
5.15.7, 6.x
-
None
-
Wayland
-
-
5e76a9569 (dev), 9800c6353 (dev), a8aa76242 (6.6)
Description
In a similar fashion to QTBUG-90611, Qt does not translate some modified key presses (i.e. key presses while a modifier is held) correctly when the current layout is one of several non-English layouts.
For example, the "`" key (as in QTBUG-90611) generates a ";" in the Czech and Hebrew layouts. When a modifier is held and that key is pressed, in both English and Russian layouts, QXkbCommon::keysymToQtKey() generates Key_QuoteLeft, but under Czech and Hebrew layouts, it generates Key_Semicolon.
Compare, for example, the same for the ";" QWERTY key - when CTRL is held and that key is pressed under English it generates Key_Semicolon, and the same under both Russian, Czech and Hebrew.
Other keys that may present issues are QWERTY "q" and "w", which under the Hebrew layout, when CTRL is held generate Key_Slash and Key_Apostrophe (respectively) while under English, Russian and Czech these generate the correct Key_Q and Key_W.
Attachments
Issue Links
- relates to
-
QTBUG-90611 Shortcut Alt+` is not working with non US layout
- Closed
-
QTBUG-112736 Research how shortcuts relate to keyboard layouts and localizations
- Open
-
QTBUG-25703 QKeyEvent::matches() to recognize different keyboard layouts.
- Reported
- links to
Gerrit Reviews
For Gerrit Dashboard: QTBUG-108761 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
448173,8 | xkbcommon: make shortcuts persistent across layouts | dev | qt/qtbase | Status: MERGED | +2 | 0 |
507078,5 | revert "xkbcommon: make shortcuts persistent across layouts" | dev | qt/qtbase | Status: MERGED | -1 | 0 |
508367,2 | revert "xkbcommon: make shortcuts persistent across layouts" | 6.6 | qt/qtbase | Status: MERGED | +2 | 0 |