Cannot setup my controller

I am trying to set up my Hori FC USB controller in RA on my Windows 10 PC and I am failing. I see that in RA’s autoconfig folder, it does mention Hori controllers. Some of the buttons work, but not in the configuration I would like. I know RA does a great job at automatically configuring common controllers like XBOX ones; however, I find it incredibly frustrating and unintuitive for less common controllers. MY Hori controller has a switch that you pick between PS4, PS3 and PC mode; I have tried all of them but to no avail. The main reason I wish to set up this particular controller is that it has a six-button layout on the face, for fighting games, because I cannot stand fighting games with shoulder buttons. Anyway, would someone be so kind as to tell me how to manually config buttons in RA? Thanks in advance.

I will mention that I successfully set up this controller years ago, but I have just returned to RA after a long time away from it and cannot remember how I got it to work. Also, something odd is going on with this controller as I just tried to set it up in MAME and some of the buttons are doing two things at once like a normal action button and adding a coin or fast forwarding.

The different modes typically just report different vendor and product IDs (vid/pid), so pick one that isn’t erroneously recognized already (probably PC mode), then go to settings > input > retropad binds > port 1 controls. Since you’ve already messed with inputs, hit ‘reset to default controls’ to clear any/all of that out, then go down and bind the retropad inputs as indicated by the name/pic.

The only confusing part is going to be putting the 5th and 6th face buttons on the shoulder buttons–L1 and R1–but that’s not too crazy. Most cores expect you to map like YXL / BAR, I think.

Once that’s done, ‘save controller profile’, then hit ‘reset to default controls’ again. Quit RetroArch and then reopen it and see if everything is recognized and autoconfigured properly.

1 Like

I opened SFII on the SEGA Genesis, followed your instructions, and it worked! The only part I was sceptical about was hitting ‘reset to default controls’ again as I thought that would have wiped what I just configured out, but it worked. Thank you very much! However, I then opened a NES game and no controls worked. Is it likely that I will have to do that for every core? I wouldn’t mind if I did; though. is there a way to change and save controls for different cores or directories?

No, the retropad mapping is universal. I don’t know why it wouldn’t work for NES games (or any other core).

You can move core functions around on the retropad abstraction in quick menu > controls while a core+content is loaded.

1 Like

I don’t understand why RA is so versatile and great in nearly every way, but I have always found it so difficult to map controls in it. I managed to get the SEGA Genesis working, but nothing else wants to work, it is so strange. I might delete all the autoconfigs and then switch my controller over to PS4 setting and see if I can get it to work on that setting.

The Hori FC is working best on the PC setting, but on the PC setting the home button on the controller works as key  + G which brings up the game bar, ugh! Therefore, JoyToKey doesn’t recognise the home button and I cannot program it to be esc, or anything else.

I should say, as well, that I downloaded the latest DS4 and it will not recognise my controller.

If you have JoyToKey running, that can cause weird behavior as it intercepts gamepad events and triggers sometimes-redundant/sometimes-conflicting keyboard events.

The only thing I can think of that would mess with inputs when you load a different core would be if you have input changes saved to a core override.

1 Like

I do have core and directory-specific saves; however, that was all done before I started to attempt the controls. All my previous saves were only to save shaders, screen overlays and screen positionings.

I turned on my PC this morning and tried SMB via the Nestopia core and it was working. D-pad, select, start, A and B were all functioning as they should; B was mapped to the X button on the controller and A was mapped to the O, which is perfect.

Then I tried a Game Boy game via the Gambette core and nothing was responding. I closed RA and opened the same Game Boy game again and still nothing. Then, I opened the game a third time and everything was working; however, B and A were mapped to the X and Triangle buttons, which isn’t comfortable. This is a great example as this is where a lot of my difficulties lay, even now that the controller seems to be recognised, mapping controls in RA have always been a thorn in my side. When you have a core opened and go to Quick Menu > Controls > Port 1 Controls and press Enter to go into a specific button, like the A button, there does not appear to be any way to press a button on your controller to map that button, it just has a menu to select from. Am I missing something?

Thank you for your replies, I appreciate the help very much.

Correct, the quick menu > controls menu doesn’t listen for inputs, it just has a list that you pick from for which core function you want applied to each of your actual/retropad buttons.

Which version of RetroArch are you using? There was a weird bug with 1.16.0 that caused inputs to go crazy if you use analogs in the menu. I’m not sure if that’s what’s happening here, but can you try a nightly build and see if it treats you any differently?

1 Like

I am indeed using RA version 1.16.0. I will try a nightly and see how it goes; thank you.

EDIT: Nightly version is still 1.16.0, so I’ll wait a day or two to see if that changes and try again.

It’s probably not going to change that number, actually. If you’re using a nightly build, it’s already updated.

We had a couple of 1.16.0 releases to fix bugs that were not revealed/apparent until the initial release.

1 Like

Oh okay, I didn’t realise that is how it worked; thanks. I use the Stellar RA Nightly Updater software. I just updated it but the controls still are all over the place. I might have a look at my config files to see if I can delete any inputs that may have been saved to see if starting fresh might help.

1 Like

if you open your config file and delete all of the lines that start with “input_”, it’ll get you back to a clean slate as far as global inputs are concerned. This will not touch any input changes saved into overrides or autoconfig profiles, though, unless you delete those files, as well.

1 Like

When going to Quick Menu > Controls, you can only select a button from a menu, instead of pressing a button on your controller to pick from. So, do you know if you can go to Settings > Inputs, make changes there, and then go to Overrides and save those changes for each core?

Yes, that’s correct. You select the core function that is triggered by the button.

You can, but it’s a bad idea. That’s what the remaps are for.

1 Like

Thank you very much for your help. I finally have my controller working now. I ended up completely deleting Retroarch and started with a fresh Nightly download and install, which means a lot of work setting it all back up again, but at least it is working and I know what I will have done and saved.

1 Like