Search Issue Tracker
By Design
Votes
5
Found in [Package]
1.0.0-preview.18
Issue ID
1372774
Regression
No
UIToolkit Input Text Field is auto-selected when keys are pressed
Reproduction steps:
1. Open the user's attached project
2. Open Assets > Scenes > SampleScene
3. Go to Game View and press play
4. Press Z/Q/S/D keys and observe the behavior
Expected results: UIToolkit Input Text Field needs to be selected by clicking on the text field
Actual results: UIToolkit Input Text Field is auto-selected when keys are pressed
Reproduced in: 1.0.0-preview.18 (2020.3.20f1, 2021.1.25f1, 2021.2.0b16, 2022.1.0a12)
Could not test with: 2019.4.31f1 (UI Toolkit is not introduced yet)
Add comment
All about bugs
View bugs we have successfully reproduced, and vote for the bugs you want to see fixed most urgently.
Latest issues
- Color property '_BaseColor' missing
- Point Light source stops lighting when moved out of camera frustum in Player while having 2 directional lights in scene present, and a fog enabled by script
- Sky does not get rendered when 'CameraRelativeRendering' is disabled
- Dropdown UI elements have their Content misplaced when nested inside a Prefab containing a root object with a Canvas Component
- “'UnityMetaVertexPosition': implicit truncation of vector type" Shader warning when compilating URP ShaderGraph shaders
Resolution Note:
The ability to start using the UI using the keyboard only, without having a prior selected element, is a feature that some users are depending on, not a bug. Unless the design changes at some point in the future, it is unlikely for this to be "fixed".
That being said, there are a few ways to work around the situation mentioned in this bug. Any of the following should work:
1. set the TextField's tabIndex to -1
2. Remove the WASD (or ZQSD mentioned in the description) mapping for the Horizontal and Vertical axes in the InputManager
3. add EventSystem + StandaloneInputModule to scene, then untick the "Send Navigation Events" box.
4. panel.visualTree.RegisterCallback<NavigationMoveEvent>(e => e.PreventDefault(), TrickleDown.TrickleDown)