-
-
Notifications
You must be signed in to change notification settings - Fork 21.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Tab navigation in a Vector3 inspector property doesn't properly give focus to spinboxes (DisplayServer regression) #37723
Comments
This comment was marked as outdated.
This comment was marked as outdated.
The field is properly edited when you press Enter after tabbing. Should be easy to fix, but maybe current behavior is already ok? |
Having to press Enter sometimes after pressing Tab to edit the next field is not ok. |
Godot 4 alpha 12 I'm experiencing a very similar issue on mac. Tab navigation is practically unusable in alpha 12, while it works perfectly fine in the stable version. Pressing tab in the inspector can yield three different outcomes with a seemingly random occurrence: All obtained by pressing tab or shift-tab. Only the middle actually allows you to edit the selected field with keystrokes. The issue seems to be not limited to just Vector3s. |
I think this is caused by #58490, but I did not try running a build before/after the commit. There seems to be two independent issues, either of which can happen, when switching focus via tab:
My assumption is that there are some notifications or signals which get emitted as soon as we tell the OS to show/hide the window, but there's race conditions. Those then either cause the messages to get out of order, producing invalid state. Or they arrive too early/late, causing certain actions to not succeed (such as which element gets focus next, or hiding the old popup before showing the new one). I've tried debugging this a fair bit, but I'm not sure how to proceed. |
Since the issue I opened was closed for being a duplicate, I'm just sharing a visualization of the bug and some insights I've had. It seems that the field you are tabbing from has an impact on how the next field is selected.
The field is "Focused", but cannot accept input until you press "spacebar" or "enter", because there is no caret/cursor.
This corresponds to @RedMser's suggestion 2. Further example of bugNobody else that I can see has reported this bug occuring in the Scene tree, but it exists there as well. Expected behaviourMouse clicking on Node Y while in Rename State on Node X should instantly exit Rename State on Node X, and select Node Y. This worked in Godot 3.5, shown below. Actual Behaviour |
* This ensures that the tab key usage is correct in all situations in EditorSpinSlider * The ESC key can also close the lineedit popup. I can't find a proper issue to fix, but partially solves the concerns raised in godotengine#37723.
* This ensures that the tab key usage is correct in all situations in EditorSpinSlider * The ESC key can also close the lineedit popup. I can't find a proper issue to fix, but partially solves the concerns raised in godotengine#37723.
Godot 4 b3310a0
Windows 10 64 bits
Using the tab key to focus X, Y and Z parts of a Vector3 property in the inspector doesn't seem to work properly. In 3.2.1 it focuses each field one after the other by allowing to type numbers immediately. In master, it visually gives focus, but typing numbers doesn't work.
Spatial
transform
property and click on theX
spinbox. Observe you can input numbers normally.Tab
key. Observe theY
field now looks focused, but typing numbers does nothing.Tab
again. ObserveZ
is now focused and this time typing numbers works again. Sometimes it still doesn't work, not sure why.The text was updated successfully, but these errors were encountered: