TASEmulators / fceux

FCEUX, a NES Emulator
http://fceux.com
GNU General Public License v2.0
1.22k stars 252 forks source link

2x PS3 controller - one config only after relaunching fceux #398

Open radzix88 opened 3 years ago

radzix88 commented 3 years ago

I have 2 separate PS3 controllers (they have different MAC address and name in BT manager). Fceux recognize them as "PS3 Controller" (with the same GUID). Both works fine with fceux, but only one config is saved in file (depends of which one was changed last). After exit and relaunching fceux both controllers has the same config and I have to change it manually every time. 1 2

mjbudd77 commented 3 years ago

I don't think this is a bug in fceux. If the GUID is the same between the controllers, then there is no way to tell them apart. This more seems like an inconsistency between two different controller manufacturers.

IPeluchito commented 2 years ago

In my case, when I restart Windows 11 the emulator changes the identifier JS 0,1... by JS 255 and I have to reconfigure the controls again... I have Dualshock 4 and use it via bluetooth with DS4Windows

zeromus commented 2 years ago

@mjbudd77 are you sure guids are supposed to be different for different controller instances of the same controller type? I'm not so sure.... you would tell them apart by the enumeration order or other integer ID or handle given to you by the joystick API youre using

mjbudd77 commented 2 years ago

@zeromus , SDL maintains a database of default controller button mappings based on GUID. That is what my assumptions are based off of. I have seen that SDL added a function to obtain a controller serial number in later versions. The serial number may allow for these controllers to be identified separately. It would require changes to the Qt gui load/save button mapping code and maybe an SDL2 version upgrade.

zeromus commented 2 years ago

ok, seems like that will be needed to fix that, then.