2 differents controllers, same name
-
Hello,
Is there a way for Retropie to make a difference between 2 controllers with the same name ?
I searched a lot on this but didn't found anything who could works.Raspberry 3b+
Retropie : Linux retropie 4.14.30-v7+
USB Controller SNES layout - name : [usb gamepad ]
USB Controller N64 layout - name : [usb gamepad ]When I plug both at the same time I can see that :
/opt/retropie/configs/all/retroarch-joypads/usb gamepad .cfg
input_device = "usb gamepad " input_driver = "udev" input_r_y_plus_btn = "2" input_r_x_minus_btn = "3" input_l_btn = "6" input_load_state_btn = "6" input_start_btn = "9" input_exit_emulator_btn = "9" input_r_y_minus_btn = "0" input_down_axis = "+1" input_r_btn = "7" input_save_state_btn = "7" input_right_axis = "+0" input_state_slot_increase_axis = "+0" input_left_axis = "-0" input_state_slot_decrease_axis = "-0" input_l2_btn = "8" input_up_axis = "-1" input_a_btn = "5" input_b_btn = "4" input_reset_btn = "4" input_enable_hotkey_btn = "6" input_r_x_plus_btn = "1"
/opt/retropie/configs/n64/InputAutoCfg.ini
; usb gamepad _START [usb gamepad ] plugged = True plugin = 2 mouse = False AnalogDeadzone = 4096,4096 AnalogPeak = 32768,32768 Mempak switch = Rumblepak switch = C Button U = button(0) C Button R = button(1) C Button D = button(2) C Button L = button(3) A Button = button(5) B Button = button(4) L Trig = button(6) R Trig = button(7) Z Trig = button(8) Start = button(9) X Axis = axis(0-, 0+) Y Axis = axis(1-, 1+) ; usb gamepad _END
$ lsusb Bus 001 Device 006: Bus 001 Device 008: ID 0810:e501 Personal Communication Systems, Inc. Bus 001 Device 005: Bus 001 Device 007: ID 0810:e501 Personal Communication Systems, Inc. Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp. SMSC9512/9514 Fast Ethernet Adapter Bus 001 Device 002: ID 0424:9514 Standard Microsystems Corp. SMC9514 Hub Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Unfortunatly SNES controller input(5) doesn't match with N64 Controller input(5) etc
That means when I configure one of them, it unconfigure the other one.
Someone already solve this issue ?
Thanks !
-
@airdine You could save your config for each controller - as configured through the Emulationstation input configuration - and then manually modify the configuration file as documented on the N64 page.
Another option would be to 'mask' these controllers using the Xboxdrv and give them different names (see the 2C section about changing the device name). -
Thanks,
Second solution is what I was seeking without to be able to found.
Nice mitu !
-
@airdine I've the same f*$% problem!!! Did u solve it by masking the controller using Xboxdrv and then giving them different names??? If so, can you help me, this is driving me mad...
I think the problem is that the system asigns the same name ( usb gamepad) ralated to the same .cfg file, for every usb gamepad I have (I have 5 different ones) and I don't think they have the same generic firmaware or whatever... -
@katzumoto Actually, many "different" standard usb devices have the same chips and/or firmware in them and thus, register as the same product in the system.
Setting up the xboxdrv is thoroughly described in the link from @mitu two posts above yours. Although you may have to read all of it to setup the driver, section 2C deals with renaming for separate identification of multiple identical controllers.
You should work through the instructions and then post any remaining questions or obstacles that come up in a new thread about your problem. Its usually better than using an old thread from someone else, even if it's thematically related.
-
Is this really the easiest way to change the name of controllers? Following the steps listed in xboxdv instructions seem like overkill and over my head frankly.
I have two 8bitdo controllers, SN30 and a DIY mod PS1 controller and they have the same name unfortunately, szmy-power Ltd. Joypad.
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.