Details
-
Bug
-
Resolution: Fixed
-
P2: Important
-
6.5.3, 6.6.2, 6.7
-
-
25852624e (dev), bdca63dba (6.8), 0d1ebc468 (6.7), dc71864d4 (dev), b48b0dba6 (6.8), 8ff35d679 (6.7), 3f9f22591 (tqtc/lts-6.5)
-
2024wk26s2FOQtforAndroid, 2024wk38s2FOQtforAndroid, 2024wk32s2FOQtforAndroid, 2024wk40s3FOQtforAndroid, 2024wk44s3FOQtforAndroid
Description
After focusing a TextField or Button with a touch and (back)tabbing to change UI focus to another UI element, pressing space no longer activates the button.
Minimal app included as App-1.qml, with reproduction videos described in the comments.
Looks like changing to a TextField has caused this bug for a long time, but only recently has begun to reproduce by pressing Buttons as well.
Steps to reproduce
- Move focus to first button with Tab
- Press space -> Text updates to denote successful button activation
- Touch/tap 2nd button -> Text updates, 2nd button is now focused
- Move focus to 3rd button with Tab
- Press space -> nothing happens.
Expected result
User should be able to use HW keyboard normally after touching the UI.
Actual result
After touching the UI, HW input no longer works normally.
Original report:
Qt 6.7 introduced an issue with hardware keyboard input on Android. More specifically on ChromeOS. Even though this platform is not officially supported, this is a regression from Qt 6.6 --> Qt 6.7.
In the attached MWE, once a "click" event via touchscreen or mouse is done, the hardware keyboard input is faulty. All inputs which make sense in a text input field (digits, chars, space, ...) are not dispatched to the actual app. Return/Enter and special keys like Tab, Ctrl, and Shift are still received by the app.
This results in an issue with keyboard navigation as the focus can be changed via Tab/Backtab but no "activation" using Space is possible. Strangely this is not the case on an Android Smartphone when inputting with a bluetooth keyboard. All input events are propagated to the app and the correct text input field, too.
To clarify, this problem makes the combined usage of the mouse/touchscreen and keyboard navigation unusable as activation of elements with Space does no longer work.
Several commits from QTBUG-118139 modified the handling of text input on Android. I'm still trying to figure out if/what broke the behavior on ChromeOS.
Attachments
For Gerrit Dashboard: QTBUG-126187 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
575625,10 | Android: Do not request focus on window touch | dev | qt/qtbase | Status: MERGED | +2 | 0 |
580410,2 | Android: Do not request focus on window touch | 6.8 | qt/qtbase | Status: MERGED | +2 | 0 |
581379,4 | Android: Do not request focus on window touch | 6.7 | qt/qtbase | Status: MERGED | +2 | 0 |
583007,3 | Android: Clear QtEditText focus after keyboard is hidden | dev | qt/qtbase | Status: MERGED | +2 | 0 |
584350,2 | Android: Clear QtEditText focus after keyboard is hidden | 6.8 | qt/qtbase | Status: MERGED | +2 | 0 |
584445,3 | Android: Clear QtEditText focus after keyboard is hidden | 6.7 | qt/qtbase | Status: MERGED | +2 | 0 |
597430,6 | Android: Clear focus on QtEditText after hiding keyboard | tqtc/lts-6.5 | qt/tqtc-qtbase | Status: MERGED | +2 | 0 |