-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Fix joypad demo for Godot 4.x #943
Conversation
If embedded windows are used, and RemapWizard/Mapping is focused, it seems to be marking gamepad input as handled so it never reaches remap_wizard.gd::_input in the parent node. Disabling "handle input locally" in RemapWizard/Mapping doesn't seem to have any effect. Switching to native windows seems to fix the issue, but this will not work for HTML5 platforms
…subwindow was focused
…input and analog drift
I cannot reproduce that, at least on windows and with a couple of xinput and dinput gamepads. I don't have a PS5 one. Can you add |
I've just tested this again (all testing was done on Linux). It looks like it works as-is on 4.2.dev godotengine/godot@6758a7f8c but not on 4.1.1.stable (which also prints lots of threading warnings). I guess we can assume this to be an engine bug and merge the demo update anyway. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you for this! Tested, works great. I pushed a few small tweaks to the UI layout and code style.
This fixes a number of issues preventing to use the remap feature:
.pressed
appeared where.button_pressed
was meantInput detection only works with native subwindows. I couldn't get it to work when using embedded subwindows. The subwindow seems to stop event propagation even with handle_input_locally disabled. You can workaround it by clicking outside the remap window before pressing a button but it should get a proper fixChecking the Godot source code it seems to be by design. Subwindows will always handle input when focused. Managed to fix it by connecting to Window.window_input