godotengine / godot

Godot Engine – Multi-platform 2D and 3D game engine
https://godotengine.org
MIT License
88.92k stars 20.16k forks source link

PS5 controller doesn't work in 4.3-stable #95588

Open fkallevik opened 1 month ago

fkallevik commented 1 month ago

Tested versions

System information

Godot v4.3.stable - macOS 14.3.1 - GLES3 (Compatibility) - Apple M1 Max - Apple M1 Max (10 Threads)

Issue description

PS5 controller no longer registers any inputs after updating from Godot 4.2-stable to 4.3-stable. No errors in console. Installed 4.2 again and confirmed the PS5 controller works again in that version.

Steps to reproduce

Run "2D Platformer Demo" in Godot 4.3-stable w/ a PS5 controller connected and try playing w/ PS5 controller.

Minimal reproduction project (MRP)

2d_platformer.zip

AThousandShips commented 1 month ago

Can you check if it happens in 4.2.2? To compare with a supported version

bruvzg commented 1 month ago

I can't reproduce it, PS5 controller seems to be working (macOS 14.6.1). The menu in the 2D Platformer demo seems to behaving strangely, so there might be an issue with input map in the demo.

Joysticks demo detect all inputs correctly, so controller mapping should be fine as well.

Edit: Demo input map is definitly off:

Screenshot 2024-08-15 at 23 33 26
egnrse commented 4 weeks ago

I have the same Problem on Win10 after updating to 4.3 (from 4.2) it doesn't work anymore. The keyboard controls work fine though. Godot recognizes the input of the controller if I want add another action to my project, but if I start it (with F5) the controller input seems to be ignored. image

fkallevik commented 4 weeks ago

@AThousandShips PS5 controller also works in version 4.2.2-stable

fkallevik commented 4 weeks ago

I did a git bisect bad 4.3-stable && git bisect good 4.2.2-stable and it seems the bug was introduced in: [07313a08f41146e30005acfa784bdf005d23750b] Migrate macos controller API to GameController.h

bruvzg commented 4 weeks ago

Migrate macos controller API to GameController.h

This commit removed old deprecated controller API in favor of new API.

Are you connecting the controller via Bluetooth? I'm not sure if wired connections are supported by the new API. Check if your controller is visible in the System Preferences.

Screenshot 2024-08-16 at 19 56 32
fkallevik commented 4 weeks ago

The controller shows up in System Preferences "Game Controllers". I tested both wired and Bluetooth now and neither works in Godot 4.3. The controller does vibrate when clicking "Identify" for both wired and wireless, and the controller works in Steam games w/ either connection type (tested in Celeste).

Perryplats commented 4 weeks ago

Just want to add on that my Xbox series controller is having the same issue, but for some reason my ps5 controller does not (on Windows)

egnrse commented 1 day ago

I could fix my problem (on windows 10, godot installed over steam) by disabling the steam controller input before launching godot.