Hi, for some reason RA is not creating an autoconfig file for this adapter. I’m using this adapter w/ an original NES controller. I plug it in, and RA says “NES PC Gamepad not configured”. OK, so i go into the input menu and manually configure it, controller then works fine with my Nestopia core. I then tried “User 1 Save Autoconfig” which it reports it did successfully. BUT when i exit out of RA or the game, go back in and it’s back to square one again. And the odd thing is the “bind default all” for the controller are keyboard mappings, not controller buttons. (User 1 b button: Key:Z, Select: rshift, etc) I also tried saving a core override after configuring the controller, no dice. The really weird thing is it saves the autoconfig file under “USB,2-axis 8-button gamepad”…shouldn’t it be under “NES PC Gamepad”? My iBuffalo SNES USB gamepad is recognized in RA User1 Device Index as USB, 2 axis 8 button gamepad…is there a conflict somehow? I tried completely disconnecting the iBuffalo SNES pad, reconnecting Tomee adapter, no change. Any ideas?
No ideas at all? Is it a bug or…? You can configure the NES controller and use it for Nestopia, but when you save the core override (after saving it immediately “forgets” the mappings) or exit out of Nestopia and change games, the gamepad’s mappings go back to just keyboard keys, NOT buttons, and it always says it’s “not configured” when i launch RA.
Overrides won’t save input stuff, you have to do it in the autoconfig. Try doing the steps 2x, as some people have reported that the file doesn’t actually save the first time.
The name of the file is less important than the vid/pid, which are contained inside the file. If you have another one that’s potentially conflicting, peek inside and see if the vid and pid match, as well, which could indeed indicate a conflict.
Hi hunterk, thanks for the quick response. Actually, i found that this problem is persisting after unplugging the other controller completely. (iBuffalo SNES controller) This controller refuses to be “remembered” after numerous attempts at saving the autoconfig for it after setting the button assignments. I saved the retroarch config and the core override in desperation to try to get it to work
I thought it was odd that it immediately forgets the button mapping and stops working when i saved the core override, which is why i mentioned it. Exiting the core/RA/saving the core override makes RA forget the mappings and set it to keyboard keys instead. Is there some auto config file/override file i should edit somewhere to start fresh? The controller works just fine on my Retropie setup, oddly.
You can try deleting the contents of your autoconfig directory (whatever it’s set to in settings > directory) and the re-fetch them from the online updater. Barring that, you could disable autoconfigs entirely, but it sounds like you’re swapping controllers frequently, so that might not be a good option for you. If you’re using a frontend, you could disable autoconfig and hard-map your inputs and then use the frontend to load different config files for your different systems/cores.
I’ve had similar problems. What you need to do is
unplug all controllers except the one you want to configure. Don’t load any core.
Go set it up in Input settings
Bind default all
Now if you go under input you should see Auto: Whatever.
If that doesn’t work, go into your autoconfig folder and look at the file that you made in a text editor and see that it is actually being created. Sort by last modified so you know which one is actually being edited. The “USB 2-axis” is definitely the ibuffalo, and I"ve confirmed that RA will overwrite the wrong autoconfig as noted here: https://github.com/libretro/RetroArch/issues/3578
You could also change the input driver from xinput to dinput instead.
Here is a link about it: New gamepad autoconf process
Ok, vookvook’s idea worked, although I don’t get why. The remaining problem is that i can carefully set them up, and they both finally work. Now i try plugging in my Mayflash N64 controller adapter and it blows them both up - back to square one. I even tried a fresh Retroarch as well. I think I’m just going to give up on having multiple controllers - obviously a bug somewhere. Tried my SNES usb controller adapter in place of the iBuffalo SNES controller and same issues also, so it’s something w/ Retroarch - unless plugging them into the same powered USB hub could cause issues?
RetroArch tells controllers apart by the vid/pid. If the adapters all have the same vid/pid, RetroArch will think they’re all the same. In which case, don’t get mad at RetroArch, get mad at the manufacturer for trying to skimp.
Thanks for the very helpful info hunterk - that made me run USBLogview to see what the devices are being recognized as when connecting - and sure enough, my Mayflash SNES and N64 USB adapters come up as the exact same thing with vid/pid. Sigh. I don’t suppose there’s a way to somehow manually edit these within RA, or am i screwed if i want to run both on the same system? At least i know why i’ve been chasing my tail here anyway.
You can disable autoconfig and then hard-map each pad to its own config, then either load the config manually before you switch controllers or use a separate launcher like emulationstation or whatever to specify the config at launch time with the -c /path/to/config.cfg CLI switch.
Awesome. What config file am I looking for (default path I can find it?) Thanks again! You have a PayPal address for donations, etc? You always seem to answer my q’s and it’s much appreciated.
OK if I understood your problem it is that you have two controllers with the same PID/VID (one n64 and one snes) and they are conflicting. I have an idea of how to fix it but it might not work or it might. You will just have to try it because I could be wrong about anything I’m about to type, but I think it would work.
Though hunterk is of course correct, one thing that i noticed is that in RA if you use xinput as your controller driver, then Retroarch is able to detect the controller not only by the PID/VID but can use the name instead. (You can confirm this behavior by making an autoconfig for your buffalo pad, then edit the autconfig in notepad, and comment out or delete the vendor id and pid lines – The controller will still autoconfigure). I’m not sure exactly what name the RA xinput driver looks at for the autoconfig, but I believe the following solution could work without messing with separate RA config files and disabling autoconfig. Try this:
Setting up two controllers with the same VID/PID with xinput:
- Make sure settings>drivers controller driver is set to xinput.
- Configure the first controller (SNES) as I described above, verify it works and displays (Auto: xxxx) ins settings input as expected…
- Go into to Retroarch\autoconfig\xinput and back up the autoconfig (For example, “Mayflash SNES adapter.cfg” or whatever its called), then edit in notepad, deleting or commenting out the VID/PID lines.
- Now, go and create a profile for the second (n64) controller and verify it is autoconfiguring.
- Go into Retroarch\autoconfig\xinput and find the n64 controller autoconfig (“Mayflash n64 adapter.cfg”), delete the VID/PID lines as well.
- If I’m correct then retroarch will ignore the VID/PID for the autoconfigure of these two controllers and will only base it on the name the USB device is reporting (i’m not an expert on the USB terminology, but the devices do report some kind of name that it seems RA can autoconfigure based on). Then your conflicting VID/PID controllers would work, and you should be able to get your other controllers to work as well.
Please let me know if it works.
Also just as FYI when you are manually creating autoconfig you can do some nice stuff like create custom labels and autoconfigurng hotkeys by editing the config manually (can’t do it in the GUI). For example here is my iBuffalo SNES autoconfig: USB,2-axis 8-button gamepad .cfg
input_driver = "xinput" input_device = "USB,2-axis 8-button gamepad " input_vendor_id = "1411" input_product_id = "8288" # Config input_b_btn = "1" input_y_btn = "3" input_select_btn = "6" input_start_btn = "7" input_up_axis = "-1" input_down_axis = "+1" input_left_axis = "-0" input_right_axis = "+0" input_a_btn = "0" input_x_btn = "2" input_l_btn = "4" input_r_btn = "5" # Hotkeys input_enable_hotkey_btn = "6" input_menu_toggle_btn = "7" input_toggle_fast_forward_btn = "2" input_save_state_btn = "5" input_load_state_btn = "4" input_state_slot_increase_axis = "+0" input_state_slot_decrease_axis = "-0" # Labels input_b_btn_label = "B" input_y_btn_label = "Y" input_select_btn_label = "Select" input_start_btn_label = "Start" input_a_btn_label = "A" input_x_btn_label = "X" input_l_btn_label = "L" input_r_btn_label = "R" input_up_axis_label = "D-Pad Up" input_down_axis_label = "D-Pad Down" input_left_axis_label = "D-Pad Left" input_right_axis_label = "D-Pad Right"
Thanks vookvook - unfortunately, i’ve found it’s recognized with the same name too in RA. For now, I will just use my iBuffalo gamepads instead to avoid the conflict. I did implement some of your hotkeys with my controllers - much appreciated! I think i’ll disable autoconfig and just launch RA with my frontend (Launchbox).
That said, is there a switch to turn off autoconfig, and does anyone know how to launch multiple config files per core with my frontend? I used hunterk’s example and it seemed to work to launch the controller config file, but RA launched without my core-specific overlay, filters, etc (RA didn’t retain my core-specific settings i had saved before). How do i launch these core override cfg files and my hard-mapped controller cfg at the same time? (Multiple “-c /path/to/config.cfg” CLI switches?)
There a switch for autoconfigs in input settings.
Apologies for jumping on an old thread but I can’t create a new one yet as a new member. I’ve got Retroarch on my PC and I’m using a Tomee SNES adapter to USB.
Retroarch recognises it perfectly and says it is configured. I’ve confirmed all buttons work and can get it working with NES games (albeit it confuses buttons B for A, so I have to switch them). I use the NEStopia core.
However, with SNES games (using the SNES9x, 2010, despite also acknowledging the controller as “configured” when loading the game, it only accepts the D pad, start, select and Y. No other buttons are acknowledged. Is there anything obvious I may be missing?
Complicating factors may be that I’m on an old version of Retroarch (1.9.12 msvc2010?) to ensure compatibility with my Windows XP machine. But before I even think about exploring issues caused by that I wanted to check first that I’m not missing something obvious and stupid with the above named cores.
Thanks in advance for any assistance.