Controllers conflict (MS and Sony style)

Hello gentlemen, I tried but I didn’t find the ideal solution. Scenario: Windows PC, RetroArch 1.8.9 (tested on 1.9.0), X-Box 360 controllers, all working.

I recently bought a PC controller named “DoubleShock 4 Wired Controller”. Windows recognizes it perfectly as “PC Gamepad” and other emulators as well.

Inside RetroArch it appears as “(PC Gamepad (30021/4386) not configured.” Going to: “Settings -> Input -> Port 1 Controls” it appears in “Device Index” and I can configure it manually.

Then the problem arises. When I disconnect the “DoubleShock 4 Wired Controller” and connect the X-Box 360 controller, the button mapping is changed. “Double Shock 4” messes up the automatic mapping of the X-Box 360 controller buttons.

Question 1: There is a way to resolve this and make sure that one does not conflict with the other.

Question 2: Where is the controller configuration file? so that I can make a backup before trying to configure again because I had to reinstall all RetroArch from scratch.

Thank you and sorry for this long text, but I needed to explain the situation well.

The autoconfig profiles you create go into the ‘autoconfig’ directory. What has likely happened is that the profile is getting saved with the same vid/pid data as the default 360 profile.

Thank you for your time in answering me. I understood what happened but I didn’t understand how I can solve it. Is there a solution in this case?

Assuming you’re using the default xinput gamepad driver, the conflicting autoconfig profile should be in the ‘xinput’ directory. You can always re-download them from the online updater, so no worries about nuking the original ones.

Well, how do you tell a person who is kindly trying to help you that you are an idiot and do not understand his explanation?

Mr. hunterk, your explanations were very technical for me, so I still don’t figure out how to proceed how that the two controllers (“X-Box 360 and” DoubleShock 4 Wired Controller ") work together without one not unset the other.

Thank you for your time and, if you can be more precise, I appreciate it.

Ok, in writing out instructions, I re-read your original post and I think I misunderstood your issue before.

I was thinking you were making an autoconfig profile that was then conflicting with your 360 pad, but on second look, it appears you’re just mapping the pad and then moving on, correct? If so, this is to be expected that it will affect your 360 mapping, as well, but it’s an easy fix:

With your DoubleShock plugged in, go to settings > input > port 1 binds/controls and hit ‘reset to default controls’, then go to ‘set all controls’ and bind your inputs. Once it’s all mapped, go to ‘save controller profile’ and once it says it saved successfully, ‘reset to default controls’ again.

Now, close RetroArch, and when you reopen it, it should recognize your DoubleShock and automatically configure it, and if you unplug it and plug in your 360 pad, it should be configured properly, as well.


Even after 7 months the conflict still remains. I need to erase the entire Retroarch folder so I can have X-BOX control working as at first.

I looked for video on Libretro’s YouTube channel but I didn’t find a solution. When I plug any other control in the retroarch. I mapping the buttons, I saved this mapping. By plugging the X-Box control again, it is uncomfortable.

I thank you for the kindness of Mr. Hunterk, but it didn’t work here with me, certainly I don’t understand his explanation. (Windows PC with Retoarch v1.10.3).

I will continue to seek a solution.

hunterk is right, you need to create a autoconfig file for every controller, what you are doing now (correct me if im wrong) is saving your mapping to the main retroarch.cfg, but you need to make a unique controller cfg the way retroarch knows which file belongs to each controller is by the vid and pid numbers (30021/4386 in your case). i recommend deleting all the cfg files from the autoconfig folder and just download the ones you need from here:

if you can’t find yours just take something similar and change it, the most important lines are the vid and pid, the rest can be tweaked in the menu.

Mr. haimbilia, thanks for answering.

Is creating these files that complicated? So complicated to the point that it is not possible to be described here in the forum?

And could you explain to me what the terms “vid” and “pid” that you wrote?

More than one year later, I finally managed to configure two different controls like Player 1 on RetroArch, without interfering with each other. Follows explanation of how to proceed.

1 - Plug a control that is being recognized by the RetroArch, or use your keyboard for this purpose.

2 - Go to the Setting Menu -> Input -> Port 1 Controls -> Set All Controls.

3 - Set up each control button according to your preference. Remember, the RetroArch uses a control layout that is a mix of SNES and PSX control

4 - Once configured, trigger the “Save Controller Profile” option on that same menu on that same screen.

5 - Without disconnecting your control (very important), trigger “Reset to Default Controls”.

6 - Close the RetroArch and you’re done. After that, the unconfigured control will be identified normally, and may be exchanged for another control even with the active retroarch.

I would like to thank everyone who tried to help me, the gentlemen Hunterk and Haimbilia. Many times, their knowledge is so vast that they do not realize that there are idiots like me, that they need a simpler explanation.

I would make an explanatory video but I don’t have enough knowledge for it. But I am available to help anyone who has not intended my explanation.