Player 2 Controller in RA Not Working

controller
retroarch

#1

Hi all,

I am a long time lurker and have only just signed up for an account a week ago. I absolutely LOVE Retroarch, it is amazing. Occasionally I will hit a bump but they have always been overcome. I just have one issue I wish to post and see if anyone is knowledgable and kind enough to assist.

I have a Hori FC4 that I have used without issue in RA (I currently have 1.7.6). Its’ setting in User 1 Binds are:

User 1 Device Type: RetroPad User 1 Analog to Digital Type: Left Analog User 1 Device Index: Fighting Commander (#1)

The settings I have on the controller itself are PS4 and DP.

The second controller I have just purchased is the Hori FC5. In the User 2 Binds, I feel like I have tried a combination of everything above but RA does not want to cooperate. I have used the Update Joypad Profile in the Online Updater. I have not messed with any Driver settings because everything works just fine with the Hori FC4 as player 1. Regarding Drivers, however, my Input is set on dinput and my Joypad is set on xinput. I have read many forum posts about people having problems with their player 2 controllers, but a lot of them seem to be non-PC related.

Also, I have DS4 on my PC and even though I have my two Hori FIghting Commander controller set on PS4, DS4 says no controllers are present. Despite this, my Hori FC4 has always worked as previously stated so I would not guess that would have anything to do with it but wanted to put as much information as I can in order to aid in anyone able to point me in the correct direction. My PC recognises both controllers as Devices and P{rinters shows two FIghting Commanders. I am not sure though if that may be the issue as Retroarch may be seeing them as the same controller?

Is anyone able to help with this? Thank you kindly.


#2

When you plug the pad in, does it print any yellow text at the bottom? If you go to settings > input > user 1 input binds and cycle through the device index with your keyboard, are both pads listed as options? Does the FC5 show up if the FC4 isn’t plugged in?


#3

@hunterk

When I plug the controller in, down the bottom, in yellow text, it says Fighting Commander (3853 / 184) not configured, then Fighting Commander (3853 / 132 not configured then Fighting Commander (3853 / 184) not configured again.

To answer your second question “If you go to settings > input > user 1 input binds and cycle through the device index with your keyboard, are both pads listed as options?” I launched a Nintendo 64 game and went to settings > input > User 1 input binds and when I went to see what controllers were present under the User 1 Device Index something happened that has happened on my Retroarch before, which is I pressed left on the keyboard the toggle through and all of a sudden the menu starts automatically scrolling through at a very fast pace and then I can no longer use F1 to go back into Retroarch’s menu as it does not work.

I use Launchbox and have a custom config for every system so when that happens I have to delete the custom config file for that system and set it all up again. Though, prior to that little hiccup just happening when I would toggle through the User 1 Device Index it shows a Fighting Commander (#1), Fighting Commander (#2) and Fighting Commander (#3).

To answer your third question, “Does the FC5 show up if the FC4 isn’t plugged in?” I unplugged my FC4 then launched an Atari 2600 game and the FC5 then worked as player 1. So I am pretty sure that indicates that Retroarch is seeing the FC4 and FC5 as the same controller even though standalone MAME can tell them apart. Also, when I unplugged the FC4 and only had the FC5 plugged in the User 1 Device Index only showed the option for Fighting Commander (with no number next to it or disable.

EDIT: When I flick the switch on the FC5 to PC the User 2 Device Index gives the option of XInput Controller (User 1) but it does not let me manually input buttons.

EDIT 2: This would not have anything to do with drivers would it? In my Device Manager under Human Interface Devices it has 2 controllers and I read here about XInput drivers but I do not know if that would pertain to my problem. It says both controllers are up to date with the latest/best driver.

EDIT 3: I just checked in my C:\Windows\System32 and I have various xinput .dll files. I know this might have nothing to do with it but I am just trying to provide as much information as possible to help yourself and others help me.

Thank you very much for your reply and time, I appreciate any help in resolving this as it has been bugging me for some time now.


#4

For your scrolling thing, you shouldn’t need to delete any config files. Just unplugging the offending controller should resolve it.

Ok, when it says “not configured” that means there’s no autoconfig profile for that pad. You need to plug it in, then using your keyboard, go to settings > input > user 1 input binds and then default all (just to be sure you’re at defaults) and then ‘bind all’. Go through all of the buttons and just timeout the ones that don’t apply. When it’s done, go to ‘save autoconfig’. After it saves, hit ‘default all’ again and quit out of RetroArch. Re-launch it and it should say the pad is “configured” and it should work properly. If not, go through the process again, as it sometimes takes 2 loops for some unknown reason.


#5

@hunterk

Thank you once again for replying. I followed your instructions and that did configure player 1. Player 1 has always worked okay but it is nice to know that it is now properly configured. I actually did not think it was going to work at the last step where you hit ‘default all’ again because it changed the menu back to what looks like keyboard keys but it still worked.

Unfortunately, this did not do anything for the player two issue. When I go to User 2 Input although it still gives FIghting Commander #2 & #3 as options it will not let me enter or change anything. It is still the case that nothing happens with player 2 as I am guessing it still sees them as the same controller. Surely there must be a fix to this but obviously what I have no clue.


#6

Ok, since the autoconfig is created now and works properly, you plug in the pad and it says “hori fighting commander 5 configured”?

If so, what happens if you start with one plugged in and then plug the second one in after it’s up and running? It should configure it and apply it to player 2.


#7

@hunterk

Now when I launch Retroarch from Launchbox with just the player 1 controller (FC4) plugged in it says FIghting Commander configured in port #0 . So, that is all good, for player 1.

Then, whilst Retroarch is still open (I had a NES game running whilst doing this), I plug the player 2 controller (FC5) in and it says FIghting Commander configured in port #0 then FIghting Commander configured in port #2 and then FIghting Commander configured in port #1.

I go to User 2 Input and same as always it does not let me do a single thing. I tried every possible combination of User 2 Device Type, User 2 Analog To Digital Type and User 2 Device Index and nothing. It does not let me select User 2 Bind Default All as well.

Sorry but I feel like I have done a combination of everything settings-wise in User 2 Input Binds plus the settings/switches on my FC5. If only it just recognize them as separate controllers as I feel that is the problem, maybe.


#8

I did not think it would do anything but I exited out of Controller Companion and DS4 before trying this again and it made no difference. I feel like I am running out of things to try, haha. Oy vey!


#9

Is it recognizing them as the same pad, then? Do both the 4 and the 5 have the same vid/pid values in the autoconfig profiles it’s using?


#10

@hunterk Sorry but I am not sure how to check that. Is that the yellow text displayed down the bottom upon startup or plugging in a controller or checked in the RA menu somewhere? Thank you.


#11

If you go into your autoconfig directory and look in the folder for your gamepad driver (probably xinput) and then look for your gamepads, you can open those files in wordpad and it should have lines for vid and pid. This is how RetroArch identifies pads.


#12

@hunterk Thank you, in the xinput folder there is a file Fighting Commander.cfg which has the following:

input_driver = "xinput"
input_device = "Fighting Commander"
input_vendor_id = "3853"
input_product_id = "184"
input_b_btn = "1"
input_start_btn = "9"
input_up_btn = "h0up"
input_down_btn = "h0down"
input_left_btn = "h0left"
input_right_btn = "h0right"
input_a_btn = "2"

In the same xinput folder, there is a file named HORI_Fighting_Commander_4.cfg. I did search for vid and pid in the document and there was nothing in that one. Same thing for a file named HORI_Fighting_Commander_4.cfg in the udev folder.

There is a file named HORI_Fighting_Commander_PS4-044_PC.cfg in the udev folder which has the following in it:

# Hex vid:pid is found using "dmesg -w" or "tail -f /var/log/syslog" and converted to Decimal using http://www.binaryhexconverter.com/hex-to-decimal-converter
# Hex vid:pid = 0f0d:0086 -> Decimal vid:pid = 3853:134

HORI_Fighting_Commander_PS4-044_4.cfg in the udev folder which has the following:

# Hex vid:pid is found using "dmesg -w" or "tail -f /var/log/syslog" and converted to Decimal using http://www.binaryhexconverter.com/hex-to-decimal-converter
# Hex vid:pid = 0f0d:0084 -> Decimal vid:pid = 3853:132

HORI_Fighting_Commander_PS4-044_3.cfg in the udev folder which has the following:

# Hex vid:pid is found using "dmesg -w" or "tail -f /var/log/syslog" and converted to Decimal using http://www.binaryhexconverter.com/hex-to-decimal-converter
# Hex vid:pid = 0f0d:0085 -> Decimal vid:pid = 3853:133

Then, lastly, there is another file named HORI_Fighting_Commander_4.cfg but this time in the udev folder which has no mention of vid or pid.

Thank you kindly, I hope this might shed some light on it all.


#13

I just wanted to let you know too regarding my earlier post:

I went to see what controllers were present under the User 1 Device Index something happened that has happened on my Retroarch before, which is I pressed left on the keyboard the toggle through and all of a sudden the menu starts automatically scrolling through at a very fast pace and then I can no longer use F1 to go back into Retroarch’s menu as it does not work.

Then you answered:

For your scrolling thing, you shouldn’t need to delete any config files. Just unplugging the offending controller should resolve it.

I just had it happen again and pulling the controller out did not fix the problem. I had to delete my config file and set it all up again. This time it happened whilst in the genesis_plus_gx core.

I have decided to keep my Hori FC5 as a spare controller and I am just going to suck it up and purchase an XBOX controller to have as my player 2 controller because I have gotten nowhere with my issue.


#14

This is ridiculous. I just purchased an official XBOX One and Logitech F310 controller and they both do not work as the two player controller. I went into Retroarch Input 2 Binds and the XBOX One controller is an option when it is plugged in but it does not let me bind buttons for it. What the heck is going on with my Retroarch? This is beyond frustrating.


#15

Okay, the XBOX One controller is working as it is doing its’ auto config thing. So, it still will not let me manually bind buttons. Is that just how it is when a controller is setup to auto config?


#16

It should let you bind buttons, but you don’t want to, typically. If it’s being autoconfigured, you shouldn’t need to mess with settings > input at all. Any re-mapping you need to do for cores should happen in quick menu > controls.


#17

@hunterk

I was a little hasty with my ‘this is ridiculous’ remark. The first thing I did was try to manually configure the controller because I’ve never had a controller before that RA ‘supported’ as in auto configured. I’ve only played a NES & GEN game but the XBOX One obviously knows what to do. I’d still like to rectify the Hori FC5 issue but for now I can play two player games now so all is good, thank you.