Skip to content
A script to let the user choose the controllers for RetroArch players 1-4
Branch: master
Clone or download
meleu Merge pull request #33 from cmitu/master
Quote dirname arguments - fixes the menu script creation
Latest commit 8863d0f Mar 29, 2019

README.md

RetroPie-joystick-selection

A script to let the user choose the controllers to use for RetroArch players 1-4. It shows several user-friendly dialog boxes to perform this task. You can set the global and/or the system specific configuration.

The joystick selection has two methods of work:

  1. The traditional joystick selection by its index number
  2. The new joystick selection by name method

The advantage of the selection by name method is that there is no need to care about the joystick connection order. You can configure your "Generic USB SNES gamepad" to be the player1 no matter what USB port you use. Or, better yet, configure your "Fancy Bluetooth joypad" to be the player1 no matter what was the order it was paired or how many USB joysticks are connected.

It was made for use with RetroPie only.

Installation

[30-June-2017] The installation procedure has changed (again)!

Some people were having issues with the previous installation procedure, then I changed it to simplify things.

  1. If you're on EmulationStation, press F4 to go to the Command Line Interface.

  2. Download the install.sh script, and launch it:

curl https://raw.githubusercontent.com/meleu/RetroPie-joystick-selection/master/install.sh -o install.sh
bash install.sh
  1. The script will automatically download the joystick-selection scriptmodule and install everything you need. After installation you can safely delete the install.sh file:
rm install.sh
  1. After that you are ready to use it via RetroPie menu in emulationstation:
emulationstation

Update

After installing, you can update it through RetroPie-Setup.

To update the joystick-selection tool, go to RetroPie-Setup and:

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

Donate

If you would like to buy me a beer and say thanks, click the button below.

paypal

Screenshots

Main menu:

main-meu

Global configuration (with no configs):

config-all-unset

Joystick selection screen:

joy-select

Global configuration (by index method, all 4 joysticks are set):

config-all-index

Global configuration (by name method, all 4 joysticks are set):

config-all-configured

Systems menu (I have just a few of them installed):

system-menu

System specific (by index method, some joysticks are set):

config-nes-index

System specific (by name method, some joysticks are set):

config-nes

Known Issues

  • If you are using joysticks with equal names, then, yes, the connection order matters.
  • [This issue doesn't happen if you use the joystick selection by name method] If the joystick list order changes (adding/removing devices), your configuration changes too. So you have to run joystick_selection.sh again.
  • [This is RetroArch issue. It doesn't happen because of the joystick selection tool] Due to the dynamic nature of bluetooth connections, if you configure a bluetooth joystick as Player 1, and somehow lose the connection during a game, if you don't have a keyboard plugged in it'll be annoying to exit RetroArch (connect to RetroPie via ssh and kill RetroArch process. If your raspi isn't on the LAN, :( I think you'll have to unplug your power supply.).
You can’t perform that action at this time.