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

    Here is a way to select joystick for players 1-4 (global or emu specific)

    Scheduled Pinned Locked Moved Help and Support
    retroarchinputcontrollerjoystickjoypad index
    154 Posts 28 Posters 134.6k 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.
    • hansolo77H
      hansolo77
      last edited by

      So I'm now waist deep in my RetroPie setup. My plan, though I'm not there yet, is to have this all in an NES case. Currently I have an XBox 360 dongle. But I also have 2 NES controllers (which will use the original ports connected to an internal USB cable). In the future, I plan on adding 2 DB9 (Sega/Atari) plugs using USB as well. So my question is, would this script enable me to have control with the Xbox controller as the primary, then use the NES controllers as secondary for just NES, and then the Sega/etc for just those systems? In theory, allowing me to use either/or. Or is it going to be set as a permanant "You set it to use NES, so the XBOX no longer works till you return to ES".

      Who's Scruffy Looking?

      meleuM 1 Reply Last reply Reply Quote 0
      • meleuM
        meleu @hansolo77
        last edited by

        @hansolo77 said in Here is a way to select joystick for players 1-4 (global or emu specific):

        would this script enable me to have control with the Xbox controller as the primary, then use the NES controllers as secondary for just NES, and then the Sega/etc for just those systems?

        yes.

        In theory, allowing me to use either/or. Or is it going to be set as a permanant "You set it to use NES, so the XBOX no longer works till you return to ES".

        Sorry. I didn't understand this last part...

        You can set any controller to be the player1-4. The script don't care (actually don't know) about the details of your controller. If the Operational System detects a device as a joystick, the script will give you the option to set it for player1-4, globally or core specific.

        One thing to note is: if the controller you set to be, let's say, the player2 is not connected, then RetroArch will get the "second controller detected by the Operational System and set it to control the player2". The problem it's hard to be sure which controller is the second when you have a lot of them connected to the system (using any of these methods: USB, Bluetooth or GPIO).

        I hope this info can answer your questions.

        Cheers!

        • Useful topics
        • joystick-selection tool
        • rpie-art tool
        • achievements I made
        1 Reply Last reply Reply Quote 0
        • hansolo77H
          hansolo77
          last edited by

          Thanks. I guess what I'm really wanting to know is if I set an NES controller to be player 1 for NES, does that disable using the Xbox controller, or can I still use that as my controller too? It's easier for me to just use the Xbox controller, but I want to have the flexibility of using the original controllers when I want to.

          Who's Scruffy Looking?

          meleuM 1 Reply Last reply Reply Quote 0
          • meleuM
            meleu @hansolo77
            last edited by

            @hansolo77 It's not possible to set more than one controller to control the same player in RetroArch.

            But you can easily change the controller on-the-fly, using the way I shared here: https://retropie.org.uk/forum/topic/3882/change-retroarch-controllers-index-on-the-fly-with-no-issues

            • Useful topics
            • joystick-selection tool
            • rpie-art tool
            • achievements I made
            1 Reply Last reply Reply Quote 0
            • meleuM
              meleu
              last edited by

              Just a small improvement embellishment...

              A github user submitted a PR with the EmojiOne's joystick icon to use as an image for the joystick-selection tool in emulationstation. I liked it. :-)

              joystick

              Anyone who wants to see this icon, just update:

              git clone https://github.com/meleu/RetroPie-joystick-selection
              cd RetroPie-joystick-selection
              bash install.sh
              

              By the way, I'm planning to write a RetroPie script module for the tool to make it easier to update the scripts with no need to use keyboard or SSH, maybe it can be accepted. :-)

              • Useful topics
              • joystick-selection tool
              • rpie-art tool
              • achievements I made
              1 Reply Last reply Reply Quote 0
              • mercifulhackerM
                mercifulhacker
                last edited by

                @meleu Thank you so much for this! I tried recalbox on a lark, and I hated the lack of support and emulation, but I loved the GUI and ease of setup.

                This really helps me bridge the gap and make my retropie setup easier.

                Here's a little puzzle: How can I set a "preferred priority" with the controllers.

                E.g. I have GPIO buttons set as "GPIO Controller". Whenever I plug in a new controller I want the new controller to be Player 1, and the GPIO Controller to be player 2.

                When I plug in a 3rd controller, it bumps everything back so that GPIO is player 3, and so on.

                Any ideas on how I could accomplish this? Or would it just be simpler to assign the controllers as I plug them in?

                Thanks again!

                meleuM 1 Reply Last reply Reply Quote 0
                • meleuM
                  meleu @mercifulhacker
                  last edited by

                  @mercifulhacker I think it's doable, but it's not the best approach. I'm planning some improvements, but first I need to get enough time... I'll let you guys know.

                  • Useful topics
                  • joystick-selection tool
                  • rpie-art tool
                  • achievements I made
                  1 Reply Last reply Reply Quote 1
                  • D
                    Dochartaigh
                    last edited by

                    Sorry if I missed this, but are you able to choose a certain USB port be player 1 (or 2, or 3, etc), AND have a unique mapping for the controller on that USB port (whose key mappings may be different than an identical controller in another port)?

                    A common problem for me is my cheap generic SNES controllers use the same exact chip (with the same PID and VID) as my very nice Hyperkin 6-button Sega Genesis controller. So it's impossible to use the SNES with the Genesis controller at the same time as the button mappings (which are linked to the identical PID/VID both controllers have) are totally messed up because they have totally different button layouts.

                    meleuM 1 Reply Last reply Reply Quote 0
                    • meleuM
                      meleu @Dochartaigh
                      last edited by meleu

                      @Dochartaigh said in Here is a way to select joystick for players 1-4 (global or emu specific):

                      are you able to choose a certain USB port be player 1 (or 2, or 3, etc), AND have a unique mapping for the controller on that USB port (whose key mappings may be different than an identical controller in another port)?

                      Sorry but it's beyond the scope of this tool.

                      Start another topic describing your problem again and we can try to solve it (don't forget to read and follow the advice in the read-this-first post).

                      edit: look if you can extrapolate this info to your scenario: https://retropie.org.uk/forum/topic/6500/anyway-to-configure-two-joystick-mappings-that-use-the-same-device-name

                      • Useful topics
                      • joystick-selection tool
                      • rpie-art tool
                      • achievements I made
                      D 1 Reply Last reply Reply Quote 0
                      • D
                        Dochartaigh @meleu
                        last edited by

                        @meleu

                        Sorry but it's beyond the scope of this tool.

                        Start another topic describing your problem again and we can try to solve it

                        Already have a topic on it, if not two, with exactly that same issue as the topic you linked to (and probably HUNDREDS of others have). Nothing can be done when two devices use the same PID/VID I've been told - thought maybe mapping to the USB port number itself instead of the controller could be possible...

                        Not to hijack, but this is a HUGE detriment to RetroPie. Probably 90% of casual RetroPie users are going to use the cheap SNES style controllers they get off eBay and Amazon and AliExpress, right? Most of those use the same chip, and a good percentage of them are wired differently...so RetroPie, for most people, can't be played by more than 1 person at a time unless you have identical, matched controllers, bought at the same exact time (I've even had the SAME EXACT BRAND/model, different batches, wired differently from each other - crazy!). That's kinda crippling, don't you think? (not everybody buys iBuffalo SNES controllers...which were up to $25/each on Amazon over the holidays!)

                        dankcushionsD 1 Reply Last reply Reply Quote 0
                        • dankcushionsD
                          dankcushions Global Moderator @Dochartaigh
                          last edited by

                          @Dochartaigh if you want us to debug your issue please respond to my question in your own thread: https://retropie.org.uk/forum/topic/6264/you-have-to-use-identical-controllers-for-multiplayer-games-please-prove-me-wrong/6

                          a full sudo lsusb will establish what your options are in the current framework.

                          D 1 Reply Last reply Reply Quote 0
                          • D
                            Dochartaigh @dankcushions
                            last edited by

                            @dankcushions
                            lol, you already replied on the other topic saying something to the effect of "if they use the same VID and PID [as I've stated] nothing can be done". - I'm simply re-stating this is a big deal which effects tons of people (including the ~18 people I've made Pi's for....we recently had to do a bulk shipment of SNES controllers since everybody was buying them on their own and couldn't get them to work together...waste of time, money, and effort).

                            dankcushionsD 1 Reply Last reply Reply Quote 0
                            • dankcushionsD
                              dankcushions Global Moderator @Dochartaigh
                              last edited by

                              @Dochartaigh said in Here is a way to select joystick for players 1-4 (global or emu specific):

                              @dankcushions
                              lol, you already replied on the other topic saying something to the effect of "if they use the same VID and PID [as I've stated] nothing can be done". - I'm simply re-stating this is a big deal which effects tons of people (including the ~18 people I've made Pi's for....we recently had to do a bulk shipment of SNES controllers since everybody was buying them on their own and couldn't get them to work together...waste of time, money, and effort).

                              if you give me the lsusb i can see the whole dump of info given by the device. even if pid/vid are the same, maybe the name is different, or at least we can get a documented example of the problem.

                              also see https://github.com/RetroPie/RetroPie-Setup/issues/1798

                              anyway, that's the last i read about it on this thread. see you in the other...

                              1 Reply Last reply Reply Quote 0
                              • meleuM
                                meleu
                                last edited by meleu

                                I've added an option to disable player2-4 (disabling player1 is not a good idea). It fixes an issue reported by @obsidianspider here.

                                Update your scripts:

                                git clone https://github.com/meleu/RetroPie-joystick-selection
                                cd RetroPie-joystick-selection
                                bash install.sh
                                

                                Now I've realized that I need to code an Update procedure for this tool (or better yet, make a RetroPie scriptmodule for it).

                                Cheers.

                                • Useful topics
                                • joystick-selection tool
                                • rpie-art tool
                                • achievements I made
                                1 Reply Last reply Reply Quote 0
                                • meleuM
                                  meleu
                                  last edited by meleu

                                  I've edited the OP with this info about the new installation and update method:

                                  Installation

                                  [26-March-2017] The installation procedure has changed! Now it works as a RetroPie scriptmodule. It has the advantage of having update/remove procedure.

                                  Download the RetroPie scriptmodule:

                                  curl https://raw.githubusercontent.com/meleu/RetroPie-joystick-selection/master/install.sh -o ~/RetroPie-Setup/scriptmodules/supplementary/joystick-selection.sh
                                  

                                  And then execute the retropie_setup.sh script:

                                  sudo ~/RetroPie-Setup/retropie_setup.sh
                                  

                                  To install the joystick-selection tool, go to

                                  Manage packages >> Manage experimental packages >> joystick-selection >> Install from source

                                  After that you are ready to use it via RetroPie menu in emulationstation.

                                  Update

                                  After installing, you can update it through RetroPie-Setup. First execute retropie_setup.sh script:

                                  sudo ~/RetroPie-Setup/retropie_setup.sh
                                  

                                  To update the joystick-selection tool, go to

                                  Manage packages >> Manage experimental packages >> joystick-selection >> Update from source

                                  • Useful topics
                                  • joystick-selection tool
                                  • rpie-art tool
                                  • achievements I made
                                  AlexMurphyA 1 Reply Last reply Reply Quote 1
                                  • AlexMurphyA
                                    AlexMurphy Banned @meleu
                                    last edited by AlexMurphy

                                    @meleu Great work. I'm a big fan of this piece of of software and it has helped me and many others out a lot. Any chance of it becoming part of the RetroPie configuration menu? (EDIT: As a default) It seems like it is something that would be of use.

                                    meleuM 1 Reply Last reply Reply Quote 0
                                    • meleuM
                                      meleu @AlexMurphy
                                      last edited by meleu

                                      @AlexMurphy said in Here is a way to select joystick for players 1-4 (global or emu specific):

                                      Any chance of it becoming part of the RetroPie configuration menu?

                                      After the new installation method the tool will be available in emulationstation retropie menu and in RetroPie-Setup "Configuration/tools". Is it what you're saying?

                                      • Useful topics
                                      • joystick-selection tool
                                      • rpie-art tool
                                      • achievements I made
                                      1 Reply Last reply Reply Quote 0
                                      • meleuM
                                        meleu
                                        last edited by

                                        Hey pixel theme users! @Rookervik created a really cool icon to use as emulationstation icon. I've added it to the repository:

                                        icon_pixel_friendly

                                        Here is how it looks:

                                        icon_in_pixel_theme

                                        • Useful topics
                                        • joystick-selection tool
                                        • rpie-art tool
                                        • achievements I made
                                        1 Reply Last reply Reply Quote 2
                                        • meleuM
                                          meleu
                                          last edited by

                                          The joystick-selection installation script is now part of @zerojay 's RetroPie-Extra repository

                                          • Useful topics
                                          • joystick-selection tool
                                          • rpie-art tool
                                          • achievements I made
                                          1 Reply Last reply Reply Quote 1
                                          • TMNTturtlguyT
                                            TMNTturtlguy
                                            last edited by

                                            @meleu I just tried to install this on a new build and it is not working for me. I followed your instructions, downloaded and installed through retropie-setup, everything is great. The only problem is that it doesn't show up on my retropie menu. I have to go into manage packages/manage experimental packages/joystick-selection and then i can open it from there and it works. I took a look at my ~/RetroPie/retropiemenu folder and it does not show up in there.

                                            It does show up in ~/RetroPie-Setup/scriptmodules/supplemenatary obviously since that is where i can access it from. It is also located in /opt/retropie/supplementary/joystick-selection

                                            just for fun i tried to move joystick-selection.sh to the retropiemenu and open it, it won't function. I then tried the old chmod +x on it, still wont run. I am guessing that it also needs the other parts that are in the folder to work properly.

                                            Any thoughts as to why this won't show up on my retropie menu?

                                            Thanks

                                            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.