On the web export of a Godot project opened in an Android browser, LineEdit and SpinBox elements either do not react to on-screen keyboard input or react to it erratically, dumping previously typed text when certain keys are pressed. The exact behavior is difficult to circumscribe as its reaction to any keypress seems to depend on a number of factors such as pervious input, keyboard used etc., but here are some of the observations I made:
Input fields don't seem to react to GBoard (Google Keyboard) input
The input does seem to get cached somewhere though, as it's dumped as soon as I switch to Samsung Keyboard and press a key
Samsung Keyboard input sometimes works properly, but this seems to be temporary and I don't know the exact steps to make this happen
Samsung Keyboard seems to not be able to type any digits, but all digits that were typed (regardless of being backspaced) are suddenly displayed if a latin character is entered, after which you can enter one digit properly before this behavior repeats
Samsung Keyboard doesn't seem to be able to enter any special characters (hashmarks, curly braces etc.) what so ever, not even with the technique in the above point
Turning off Predictive Text on Samsung Keyboard makes it completely unable to type, the same as GBoard
Using a physical keyboard on Android Web works fine, but buggy behavior resumes when switching back to touch keyboard
Using the on-screen keyboard on Windows works fine
Tested versions
v4.3.stable.official [77dcf97d8] v4.4.dev5.official [9e6098432]
System information
Galaxy A52s 5G - One UI 6.1 - Samsung Keyboard 5.8.20.7 - GBoard 14.8.05.686567880-release-arm64-v8a - Android 14 Build/UP1A.231005.007 - Kernel 5.4.254 - Brave 1.73.89, Chromium 131.0.6778.69
Issue description
On the web export of a Godot project opened in an Android browser,
LineEdit
andSpinBox
elements either do not react to on-screen keyboard input or react to it erratically, dumping previously typed text when certain keys are pressed. The exact behavior is difficult to circumscribe as its reaction to any keypress seems to depend on a number of factors such as pervious input, keyboard used etc., but here are some of the observations I made:https://github.com/user-attachments/assets/062a2c2f-aef1-48cf-8170-d7ac5f4b2db0
Steps to reproduce
Additionally you should also access the same export on a desktop browser and verify that inputs do work properly there
Minimal reproduction project (MRP)
line_edit_bug_web_android.zip
The MRP is also hosted for quick access from mobile (running on v4.3.stable.official): https://godot-bugtest-html.vercel.app/