Several pads of different kinds
-
@alien said in Several pads of different kinds:
Any idea, please?
Did you configure your gamepads in EmulationStation, as explained in Controller Configuration ? This should create configurations for each controller for both EmulationStation and the emulators.
One thing to check - are your controllers named similarly, despite the different layout ?
-
@djmoss , @Alien - I think that it's working for me, in the EmulationStation UI at least. (Version 4.7.1)
I've got 4 Sega Saturn/Genesis 6 button controllers plugged in and one XBox One controller. They all work fine to control the EmulationStation UI with the button configurations that I expect. In a RetroArch game, the Xbox controller is always player 1, and the Sega controllers can control player 2, etc.
Is that what you need? (Usually I end up unplugging the Xbox controller until I want joysticks.)
-
@alien About the setup... when EmulationStation sets up the controller configuration it creates a .cfg file in /opt/retropie/configs/all/retroarch/autoconfig/
The file has the "Device Name" at the top and the device name is also used as the name of the config file. If both of your pads have the same name then you'll only have one filename (.cfg and .bak) in /opt/retropie/configs/all/retroarch/autoconfig/
Have you looked in that folder to see what gets created after you do the input configuration?
-
@busywait What I suspect it's happening is that both controllers have the same name - there were a few reported cases here in the forums. The vendor took one off-the-shelf BT/USB chips and didn't bother to personalise its HID name, so both controllers - although with different button/joystick layouts - end up with the same configuration file, which obviously causes conflicts.
-
@mitu Were the Vendor Id and Product Id numbers also the same?
This example of a retroarch autoconfig file shows that they can be included in the file format:
https://github.com/libretro/retroarch-joypad-autoconfig/blob/master/dinput/SNES%20USB%20Gamepad.cfgCan RetroArch make use of that extra info if it's there? (And, sorry if this is going off-topic, or maybe it's helpful :D )
-
@busywait said in Several pads of different kinds:
@mitu Were the Vendor Id and Product Id numbers also the same?
Could me, but let's not get ahead of ourselves :).
-
@mitu Thanks men, that's exactly what occurs! Both my pad have the same name. What shall I do, then?
-
@mitu But no, they don't share their IDs. But maybe my other ones do... I'll check that later, when the first two are sorted up. Cheers!
-
@alien said in Several pads of different kinds:
@mitu Thanks men, that's exactly what occurs! Both my pad have the same name. What shall I do, then?
If they have different Vendor/Model IDs, then configure them one by one, then rename the auto-config files in
\\retropie\configs\all\retroarch-joypads\
- configure the SNES controller, then rename it's
.cfg
by adding-snes
to it (i.e.mycontroller.cfg
becomesmycontroller-snes.cfg
). - same for the N64 controller.
You should get the 2
.cfg
files for each controller. Edit each file and add 2 lines withinput_vendor_id = "x" input_product_id = "y"
x
andy
you can determine by runningcat /proc/bus/input/devices
and choosing the Vendor/Model numbers, then converting them decimal using http://www.binaryhexconverter.com/hex-to-decimal-converter. An example is on how the new lines should look is here.See if adding the vendor/model ids to the configuration file makes RetroArch pick the correct auto-configuration for the gamepads.
- configure the SNES controller, then rename it's
-
I tried this, unfortunately I lose the A button which is used to select options. Hence I can not play a game anymore. Weird... Any ideas, please?
-
I mean: I lose it both on SNES pads and on N64 pads...
-
You mean, in game or in EmulationStation ?
-
In EmulationStation, which means I can not select an emulator or a game anymore... :-(
-
The last configured controller should work in EmulationStation, since its configuration is kept. Didn't this work before ?
-
@mitu Yes, it worked before but since I did the advised setup I have this strange behavior.
I've just realized that the A (selection) button works in the menu of EmulationStation which appears with start button. But it does not select an emulator (when this menu is closed): when on the home page, the A button only skips to the next emulator, so I can not enter in the emulator game selection menu. I'm lost...
-
Save the
.cfg
files you created, then reset your input configuration from RetroPie-Setup -> Configuration/Tools -> Emulationstation. After you reset the configuration, configure just the SNES pad, make sure you can navigate and operate EmulationStation. Copy back (to their original location) the.cfg
files and then start an emulator and see if the SNES controller works. -
@mitu I've just resetted the configuration, I'll let you know how the remaining goes.
-
I've done as advised and the result is the same: it works well with the SNES pad and it doesn't work anymore with the N64 pad (no more A button). BUT they share IDs, actually: I was looking at the wrong device previously, sorry.
What shall I do, now?
-
The real joke being that I have 2 more SNES pads with the same ID...
-
You can use the SNES controller for most games and navigating EmulationStation and enable the N64 controller just for N64 games.
Create a
joypad
folder in\\retropie\configs\n64\
and copy your N63 controller.cfg
file that you saved.
Add at the beginning of the\\retropie\configs\n64\retroarch.cfg
file:joypad_autoconfig_dir="/opt/retropie/configs/n64/joypad" input_player1_joypad_index=1 input_player1_joypad_index=0
This will make the 2nd controller (the N64 one) act as Player 1 and apply the joypad auto-configuration file you copied. You can still use the SNES style controller for other games and for navigating EmulationStation.
The real joke being that I have 2 more SNES pads with the same ID..
That shouldn't be a problem if they're identical.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.