Several pads of different kinds
-
@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.
-
I did as you said but my A button still doesn't work on the SNES pad. But the N64 pad work in Emulation Station, may be I did something wrong? I was supposed to copy the N64 config file, right? Not move it?
-
Am I not supposed to identify the two pads in some way or another?
In the SNES file I have this:
input_device = "usb gamepad " input_driver = "udev" input_vendor_id = "2064" input_product_id = "58625" input_device_display_name = "SNES USB Gamepad"
and in the N64 file I don't have any USB ID:
input_device = "usb gamepad " input_driver = "udev"
-
@alien said in Several pads of different kinds:
I did as you said but my A button still doesn't work on the SNES pad.
In-game or in EmulationStation ?
But the N64 pad work in Emulation Station, may be I did something wrong? I was supposed to copy the N64 config file, right? Not move it?
The idea is to use the SNES controller as a primary controller and don't configure the N64 controller in EmulationStation. Since you have a copy of its configuration, the modifications I posted earlier would make the N64 controller work for N64 games, while leaving the SNES controller to work in the rest of the games/systems.
and in the N64 file I don't have any USB ID:
With the configuration I posted, it doesn't matter - the name should be enough for RetroArch to load the configuration of the controller.
-
I got it! I was supposed to copy the N64 config file from my backup, not from /opt/retropie/configs/all/retroarch/autoconfig
It almost works, now: I can navigate normally with the SNES pad in Emulation Station and I can play N64 games. Unfortunately, the SNES pad doesn't respond in SNES games.
Any more ideas?
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.