Open magwe opened 8 years ago
One way to work around this would be to fork your input directory and create a core override for your NES core that points to the forked directory containing the NES autoconfig.
I just noticed that this is a duplicate of an issue filed in https://github.com/libretro/retroarch-joypad-autoconfig/issues/214 Needs to be resolved in RetroArch though..
I have the same problem. All my 3 controllers from DataFrog has identical VID/PID, but it's totally different: NES, SNES and Genesis-like ones. I have no idea how to separate configs on them.
There's no solution. With identical vid/pid, RetroArch thinks they're identical pads.
@hizzlekizzle I think @magwe's idea is great. After controller is connected, if there are multiple autoconfig files for similar VID/PID controller, window appears with something like "There are several config files for your controller, press these buttons to check witch mapping will be used" and such buttons: D-Pad left D-Pad up B A Left trigger (just wait 3 seconds if no such button)
I think that's quite enough for initial config.
There are a few USB controller chips that are popular among makers of low end clones of console gamepads where the same vendorID and productID is used for multiple gamepads with different button configurations. Dragonrise 0079:0006 is one of these and the one below is another. The controller chip below is the only one where I own two different controllers that I can verify that there is no difference with lsusb -v on linux between a NES and SNES gamepad. I expect that the same USB encoder is used in PS controllers as well as there are two unmapped buttons left in the SNES controller.
The NES gamepad maps B=0,A=1 The SNES gamepad maps X=0,A=1,B=2,Y=3
When there are multiple autoconfig files that match an input device the user should be allowed to chose which one to use. A semi automatic way to do this would be to find a button that is mapped differently by the two gamepads and ask the user to press it. (in this case the "B" button.) From the registered button press the correct mapping could be chosen.