RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Different controllers using the same configuration file

    Scheduled Pinned Locked Moved Help and Support
    controllerconfigs
    20 Posts 4 Posters 1.8k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • langestL
      langest
      last edited by langest

      When launching snes it looks like this:

      [INFO] [udev]: Plugged pad: Generic X-Box pad (3853:220) on port #0.
      [INFO] [udev]: Pad #0 (/dev/input/event2) supports force feedback.
      [INFO] [udev]: Pad #0 (/dev/input/event2) supports 16 force feedback effects.
      [INFO] [Autoconf]: 4 profiles found.
      [INFO] [autoconf]: selected configuration: /home/pi/.config/retroarch/autoconfig/Generic X-Box pad.cfg
      [INFO] [udev]: Plugged pad: USB Gamepad  (2064:3) on port #1.
      [INFO] [udev]: Pad #1 (/dev/input/event0) supports 0 force feedback effects.
      [INFO] [Autoconf]: 4 profiles found.
      [INFO] [autoconf]: selected configuration: /home/pi/.config/retroarch/autoconfig/SnesGamepad.cfg
      [INFO] [udev]: Plugged pad: USB Gamepad  (121:17) on port #2.
      [INFO] [udev]: Pad #2 (/dev/input/event3) supports 0 force feedback effects.
      [INFO] [Autoconf]: 4 profiles found.
      [INFO] [autoconf]: selected configuration: /home/pi/.config/retroarch/autoconfig/SnesGamepad.cfg
      [INFO] [udev]: Plugged pad: usb gamepad            (2064:58625) on port #3.
      [INFO] [udev]: Pad #3 (/dev/input/event1) supports 0 force feedback effects.
      [INFO] [Autoconf]: 4 profiles found.
      [INFO] [autoconf]: selected configuration: /home/pi/.config/retroarch/autoconfig/usb gamepad           .cfg
      

      And the previous one you commented on is when running psx emulator.

      I have configured the order of the pads in the setup script config/tools->configedit->config basic->snes/psx. There it shows that the PS2 controller is pad#1 and that snes is pad#2. Pad #3 is my generic nes controller.
      So for some reason it loads the PS2 config for the wrong pad on psx and double snes config on snes.

      Edit: I added the ids myself

      1 Reply Last reply Reply Quote 0
      • BuZzB
        BuZz administrators @mitu
        last edited by

        @mitu said in Different controllers using the same configuration file:

        The VID:PID in the .cfg files have been generated by the ES input configuration or you added them yourself ?

        the autoconfiguration doesn't handle devices with the same name, nor the vid/pid - those have to be done manually.

        To help us help you - please make sure you read the sticky topics before posting - https://retropie.org.uk/forum/topic/3/read-this-first

        1 Reply Last reply Reply Quote 1
        • langestL
          langest
          last edited by

          An other strange thing is that they seem to work fine in ES. They only load incorrect config when starting emulation.

          1 Reply Last reply Reply Quote 0
          • langestL
            langest
            last edited by

            I found a solution.
            Not the prettiest one, but it works.
            Since the vid:pid was not enough to identify the controllers I found that you can also use input_device_display_name to identify a controller.
            As it happens it does not work for my PS2 controller but it works for the Snes controller. Thus I configured the Snes controller with the display name and use the default options to match the PS2 controller.

            I hope that makes sense in case someone runs into the same problem and finds this thread. :)

            Thank you for the help mitu!

            1 Reply Last reply Reply Quote 0
            • mituM
              mitu Global Moderator
              last edited by mitu

              I thought that - taking into account what @buzz said, you could pick the VID:PID from the RetroArch output and configure them into the .cfg files instead of the ones generated by Emulationstation autoconfiguration. I was rather curious to see if that would work.
              I'm glad you found a solution, maybe you'd care to experiment a little bit more to satisfy my curiousity :).

              1 Reply Last reply Reply Quote 0
              • langestL
                langest
                last edited by

                I tried it and still, for some reason, it didn't work.

                1 Reply Last reply Reply Quote 1
                • langestL
                  langest
                  last edited by

                  I had the same issue again with the RPi4.

                  I managed to solve it by using the VID:PID.
                  The tricky part was to identify which of the controllers had which pid in the retroarch menu since both are identified as USB Controller. This is not the same vid:pid shown by lsusb(!).
                  Then I put the pid:vid at the top of the config files.
                  So I tried one way and it didn't work, so I tried the other and now both controllers work.

                  Note to myself:
                  PS2 controller has

                  input_vendor_id = 2064                                                                                                                                                                                            
                  input_product_id = 3
                  

                  SNES controller has

                  input_vendor_id = 121                                                                                                                                                                                             
                  input_product_id = 17
                  
                  1 Reply Last reply Reply Quote 0
                  • mituM
                    mitu Global Moderator
                    last edited by

                    @langest said in Different controllers using the same configuration file:

                    This is not the same vid:pid shown by lsusb(!).

                    They kind of are, since lsusb shows the hex (base 16) values:

                    0079:11 (base 16) = 121:17 (base 10)
                    810:3 (base 16) = 2064:3 (base 10)

                    Ref: http://www.binaryhexconverter.com/hex-to-decimal-converter.

                    1 Reply Last reply Reply Quote 1
                    • langestL
                      langest
                      last edited by

                      Alright, I see. But how can you tell if you don't know? The numbers are not prefixed with 0x and the man page doesn't give you any hints.

                      1 Reply Last reply Reply Quote 0
                      • X
                        XeroOmega
                        last edited by XeroOmega

                        I'm having the same issue,
                        i have 4 controllers, 2 nes(clone)(usb), 2 genesis(8bitdo)(usb wifi dongle).
                        they share the same name,"USB Gamepad ", vendor 0079, product 0011.
                        They both use "USB Gamepad .cfg"
                        I've been trying to get around this for a while now.

                        (8bitdo m30 2.4g)
                        cat /proc/bus/input/devices
                        I: Bus=0003 Vendor=0079 Product=0011 Version=0110
                        N: Name="USB Gamepad "
                        P: Phys=usb-0000:01:00.0-1.4.3/input0
                        S: Sysfs=/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.4/1-1.4.3/1-1.4.3:1.0/0003:0079:0011.0003/input/input2
                        U: Uniq=
                        H: Handlers=js1 event1
                        B: PROP=0
                        B: EV=1b
                        B: KEY=3ff 0 0 0 0 0 0 0 0 0
                        B: ABS=3
                        B: MSC=10

                        (generic usb nes controller clone)
                        I: Bus=0003 Vendor=0079 Product=0011 Version=0110
                        N: Name="USB Gamepad "
                        P: Phys=usb-0000:01:00.0-1.4.4/input0
                        S: Sysfs=/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.4/1-1.4.4/1-1.4.4:1.0/0003:0079:0011.0005/input/input4
                        U: Uniq=
                        H: Handlers=js2 event2
                        B: PROP=0
                        B: EV=1b
                        B: KEY=3ff 0 0 0 0 0 0 0 0 0
                        B: ABS=3
                        B: MSC=10

                        (8bitdo m30 2.4g)
                        udevadm info -q all -n /dev/input/event[1]
                        P: /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.4/1-1.4.3/1-1.4.3:1.0/0003:0079:0011.0003/input/input2/event1
                        N: input/event1
                        L: 0
                        S: input/by-id/usb-0079_USB_Gamepad-event-joystick
                        S: input/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.4.3:1.0-event-joystick
                        E: DEVPATH=/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.4/1-1.4.3/1-1.4.3:1.0/0003:0079:0011.0003/input/input2/event1
                        E: DEVNAME=/dev/input/event1
                        E: MAJOR=13
                        E: MINOR=65
                        E: SUBSYSTEM=input
                        E: USEC_INITIALIZED=5712528
                        E: ID_INPUT=1
                        E: ID_INPUT_JOYSTICK=1
                        E: ID_VENDOR=0079
                        E: ID_VENDOR_ENC=0079
                        E: ID_VENDOR_ID=0079
                        E: ID_MODEL=USB_Gamepad
                        E: ID_MODEL_ENC=USB\x20Gamepad\x20
                        E: ID_MODEL_ID=0011
                        E: ID_REVISION=0105
                        E: ID_SERIAL=0079_USB_Gamepad
                        E: ID_TYPE=hid
                        E: ID_BUS=usb
                        E: ID_USB_INTERFACES=:030000:
                        E: ID_USB_INTERFACE_NUM=00
                        E: ID_USB_DRIVER=usbhid
                        E: ID_PATH=platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.4.3:1.0
                        E: ID_PATH_TAG=platform-fd500000_pcie-pci-0000_01_00_0-usb-0_1_4_3_1_0
                        E: ID_FOR_SEAT=input-platform-fd500000_pcie-pci-0000_01_00_0-usb-0_1_4_3_1_0
                        E: LIBINPUT_DEVICE_GROUP=3/79/11:usb-0000:01:00.0-1.4
                        E: DEVLINKS=/dev/input/by-id/usb-0079_USB_Gamepad-event-joystick /dev/input/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.4.3:1.0-event-joystick
                        E: TAGS=:uaccess:seat:

                        (generic usb nes controller clone)
                        udevadm info -q all -n /dev/input/event[2]
                        P: /devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.4/1-1.4.4/1-1.4.4:1.0/0003:0079:0011.0005/input/input4/event2
                        N: input/event2
                        L: 0
                        S: input/by-id/usb-0079_USB_Gamepad-event-joystick
                        S: input/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.4.4:1.0-event-joystick
                        E: DEVPATH=/devices/platform/scb/fd500000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0/usb1/1-1/1-1.4/1-1.4.4/1-1.4.4:1.0/0003:0079:0011.0005/input/input4/event2
                        E: DEVNAME=/dev/input/event2
                        E: MAJOR=13
                        E: MINOR=66
                        E: SUBSYSTEM=input
                        E: USEC_INITIALIZED=93696483560
                        E: ID_INPUT=1
                        E: ID_INPUT_JOYSTICK=1
                        E: ID_VENDOR=0079
                        E: ID_VENDOR_ENC=0079
                        E: ID_VENDOR_ID=0079
                        E: ID_MODEL=USB_Gamepad
                        E: ID_MODEL_ENC=USB\x20Gamepad\x20
                        E: ID_MODEL_ID=0011
                        E: ID_REVISION=0106
                        E: ID_SERIAL=0079_USB_Gamepad
                        E: ID_TYPE=hid
                        E: ID_BUS=usb
                        E: ID_USB_INTERFACES=:030000:
                        E: ID_USB_INTERFACE_NUM=00
                        E: ID_USB_DRIVER=usbhid
                        E: ID_PATH=platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.4.4:1.0
                        E: ID_PATH_TAG=platform-fd500000_pcie-pci-0000_01_00_0-usb-0_1_4_4_1_0
                        E: ID_FOR_SEAT=input-platform-fd500000_pcie-pci-0000_01_00_0-usb-0_1_4_4_1_0
                        E: LIBINPUT_DEVICE_GROUP=3/79/11:usb-0000:01:00.0-1.4
                        E: DEVLINKS=/dev/input/by-id/usb-0079_USB_Gamepad-event-joystick /dev/input/by-path/platform-fd500000.pcie-pci-0000:01:00.0-usb-0:1.4.4:1.0-event-joystick
                        E: TAGS=:seat:uaccess:

                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        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.