flyinghead / flycast

Flycast is a multiplatform Sega Dreamcast, Naomi, Naomi 2 and Atomiswave emulator
GNU General Public License v2.0
1.36k stars 167 forks source link

[V2.2] [WINDOWS] no response when using XBOX controller with DS4 controller #1389

Open Tartifless opened 7 months ago

Tartifless commented 7 months ago

Please Note: This form is the minimum required information for submitting bugs.
Removing this form may lead to your issue being closed until it is completed.

Platform / OS / Hardware: Windows 11 PRO (genuine with key)

Github hash:

Hardware: INTEL 12th gen mobile + NVIDIA 3050 RTX + XBOX One S controller + dualshock 4 (both connected BT)

Description of the Issue Using flycast 2.2 public build. When using individually each controllers, they work fine and i can control all games without issues. Same happens when using 2 XBOX controllers. However, as soon as the dualshock is introduced in combination with one or both XBOX controllers, no inputs work anymore and the screen displays wrong controller names:

Case of 2 XBOX + 1 DS4: image

Case of 1 XBOX and 1 DS1: image

Working cases with only the 2 XBOX controllers: image

And with only the DS4: image

Debugging Steps Tested 1) connected all 3 controllers and noticed that 2 PS4 controllers + 1 XBOX controller appeared Tried to perform mappings for all 3 lines with all 3 physical controllers : none responded

2) close flycast and delet emu.cfg, restart with DS4 shut down Working correctly : both XBOX controllers are assigned to A and B ports and can be configured

3) close flycast and delet emu.cfg, restart with 1 DS4 and 1 XBOX controller PS4 Controller appearing twice, tried to perform mappings for all 2 lines : none responded

4) close flycast and delet emu.cfg, restart with only DS4 connected All working fine

Logs Gathered

No logs

flyinghead commented 7 months ago

Please try with the latest master build since SDL has been upgraded a few times since v2.2.

Tartifless commented 7 months ago

Downloaded last master : image

Same behaviour: image

Not sure the issue is with SDL, as the library supports PS4 controller since multiple versions.

Tartifless commented 7 months ago

Made an additional test: image

With this, i am able to setup controller in port C, and it detects buttons of 2 controllers:

As you see : image

Here i have defined up on the DS4 and down on the XBOX controller

I think the index has issues, as SDL and dinput do not share the same indexes, the joystick instance messes up the devices. 2 devices merged into 1.

The device in port A is not configurable, on any of the controllers.

Tartifless commented 7 months ago

Here are my device numbers: XBOX dark :

XBOX white :

DS4 :