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

    Several pads of different kinds

    Scheduled Pinned Locked Moved Help and Support
    padsetup
    34 Posts 4 Posters 4.4k 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 @busywait
      last edited by

      @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.

      busywaitB A 2 Replies Last reply Reply Quote 0
      • busywaitB
        busywait @mitu
        last edited by busywait

        @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.cfg

        Can 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 )

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

          @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 :).

          A 1 Reply Last reply Reply Quote 0
          • A
            Alien @mitu
            last edited by

            @mitu Thanks men, that's exactly what occurs! Both my pad have the same name. What shall I do, then?

            mituM 1 Reply Last reply Reply Quote 0
            • A
              Alien @mitu
              last edited by

              @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!

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

                @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 becomes mycontroller-snes.cfg).
                • same for the N64 controller.

                You should get the 2 .cfg files for each controller. Edit each file and add 2 lines with

                input_vendor_id = "x"
                input_product_id = "y"
                

                x and y you can determine by running cat /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.

                1 Reply Last reply Reply Quote 0
                • A
                  Alien
                  last edited by

                  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?

                  1 Reply Last reply Reply Quote 0
                  • A
                    Alien
                    last edited by

                    I mean: I lose it both on SNES pads and on N64 pads...

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

                      You mean, in game or in EmulationStation ?

                      1 Reply Last reply Reply Quote 0
                      • A
                        Alien
                        last edited by

                        In EmulationStation, which means I can not select an emulator or a game anymore... :-(

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

                          The last configured controller should work in EmulationStation, since its configuration is kept. Didn't this work before ?

                          A 1 Reply Last reply Reply Quote 0
                          • A
                            Alien @mitu
                            last edited by

                            @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...

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

                              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.

                              A 1 Reply Last reply Reply Quote 0
                              • A
                                Alien @mitu
                                last edited by

                                @mitu I've just resetted the configuration, I'll let you know how the remaining goes.

                                A 1 Reply Last reply Reply Quote 0
                                • A
                                  Alien @Alien
                                  last edited by

                                  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?

                                  A mituM 2 Replies Last reply Reply Quote 0
                                  • A
                                    Alien @Alien
                                    last edited by

                                    The real joke being that I have 2 more SNES pads with the same ID...

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

                                      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.

                                      A 1 Reply Last reply Reply Quote 0
                                      • A
                                        Alien @mitu
                                        last edited by

                                        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?

                                        A mituM 2 Replies Last reply Reply Quote 0
                                        • A
                                          Alien @Alien
                                          last edited by

                                          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"
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • mituM
                                            mitu Global Moderator @Alien
                                            last edited by

                                            @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.

                                            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.