Closed eleonore122 closed 4 months ago
i have a custom SDL binding that works for the controller in lutris for example, but adding it to gamecontrollerdb.txt doesn't seem to actually affect anything. if anyone can offer guidance on where to go with this problem i'd be happy to tackle it myself, but looking through the code i can't figure out exactly what needs changing to reflect the new mapping being added
but adding it to gamecontrollerdb.txt doesn't seem to actually affect anything.
Did you recompile Godot after adding it? The file is embedded in the binary at build-time.
If you can't build Godot, you can also use the environment variable override as mentioned here: https://docs.godotengine.org/en/stable/tutorials/inputs/controllers_gamepads_joysticks.html#my-controller-has-incorrectly-mapped-buttons-or-axes
i did recompile, and nothing changed. setting the environment variable also didn't solve the issue. setting the mapping directly in script with Input.set_joy_mapping() also doesn't have any effect
okay i did find the issue, it seems the program i was using to create the SDL config was reporting a different GUID for the controller than godot was recognizing. that really should have been something i checked sooner
Tested versions
Reproducible in 4.3 beta 1 and 4.2.2 stable. haven't checked other versions
System information
Godot v4.3.beta1 - Manjaro Linux #1 SMP PREEMPT_DYNAMIC Mon Jun 10 09:50:04 UTC 2024 - Wayland - Vulkan (Forward+) - dedicated AMD Radeon RX 6700 XT (RADV NAVI22) () - AMD Ryzen 7 3700X 8-Core Processor (16 Threads)
Issue description
put simply nearly all of the inputs on the dualsense edge controller are read incorrectly by godot. i also have a standard dualsense controller which 100% works.
Examples of inputs that are being read wrong: Left Bumper -> Joypad Button 4(Back, Sony Select, Xbox Back, Nintendo -) Right Bumper -> Joybad Button 5(Guide, Sony PS, Xbox Home) Left Trigger -> Joypad Axis +/- (Right stick left/right, joystick 1 left/right) Left trigger state changes for depressing or releasing the button Right Trigger -> especially interesting because depressing the button is read correctly, but releasing it is read as Joypad axis 5-(Joystick 2 up) PS button -> right bumper
Left stick is read entirely correctly, as are circle and cross, however every other input is registering as something it shouldn't.
Steps to reproduce
plug in dualsense edge controller, open input map settings, add a new action, and register the inputs for that action
Minimal reproduction project (MRP)
this problem is appearing in completely new projects, and existing projects as well.