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.
    • mituM
      mitu Global Moderator
      last edited by

      The log shows the PS2 profile being picked for one of the gamepads though:

      [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/Playstation2Gamepad.cfg
      

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

      BuZzB 1 Reply Last reply Reply Quote 0
      • 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.