Here is a way to select joystick for players 1-4 (global or emu specific)
-
@meleu so i have 2 controllers on 1 circuit. Its called "ultimate pc interface" or upci. It is inside my modified intellivision flashback. So i install the joystick selector and immidiedly set the ps3 controller wirelessly as first joystick since unlike normal bluetooth devices it is always the last controller. (Controller 3 for me) So i go into an emulator and test that the ps3 controller and works and exits the emulator. So then i turn the system off and i turn it back on after the ps3 controller shuts off. So then i go into an emulator and i have no controls (maybe i only tried to exit but i thought i tried other controls) and nothing. So i turn on the ps3 controller and use it to exit. I will test some more when i wake up.
-
@edmaul69
Oh! I think I know what's happening!
You didn't turn on the selection by name method. -
@meleu you sir are correct about that. I will try the name selection method and see how it goes.
-
@edmaul69 when using by-index method it works like a manual editing of the file. The only advantage is that you can see the index to joystick correspondence during the configuration process. But once it is finished, it puts only the index in the
retroarch.cfg
. -
@BuZz said in Here is a way to select joystick for players 1-4 (global or emu specific):
I have implemented joypad selection into the configuration editor
It would be a nice feature if we could access that configedit "Choose a player to adjust" dialog for a specific system directly as a runcommand menu option, to let the user choose joypads right before launching a game.
I was thinking in something similar with -onstart script but I think that a runcommand menu option would be more concise and elegant. Then I was trying to find a way to invoke that configedit dialog directly for a specific system retroarch.cfg, but stumbled on the iniFileEditor complexity.
Is there a way to call that dialog directly?
-
@Rion said in Here is a way to select joystick for players 1-4 (global or emu specific):
Looking forward for Joystick support and included in run command before you start a game! :)
I didn't forget your request :)
BuZz answered my question above in other thread, and currently is not possible to make what I said.
But if you update your RetroArch from source you'll be able to change the controllers on-the-fly with RGUI with no issues (following the steps I detailed here). So there's no need to work on a runcommand option for it. ;-)
I think this RetroArch feature (
all_users_control_menu
) will be present in the next RetroPie release. -
@meleu said in Here is a way to select joystick for players 1-4 (global or emu specific):
@Rion said in Here is a way to select joystick for players 1-4 (global or emu specific):
Looking forward for Joystick support and included in run command before you start a game! :)
I didn't forget your request :)
BuZz answered my question above in other thread, and currently is not possible to make what I said.
But if you update your RetroArch from source you'll be able to change the controllers on-the-fly with RGUI with no issues (following the steps I detailed here). So there's no need to work on a runcommand option for it. ;-)
I think this RetroArch feature (
all_users_control_menu
) will be present in the next RetroPie release.Yes i just saw this on Retropie Github.
retroarch - set all_users_control_menu to true by default -
@Rion great! If it's in the retropie-setup scriptmodule, it seems that BuZz updated the binaries. :-)
It's a simple but usefull feature. -
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".
-
@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!
-
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.
-
@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
-
Just a small
improvementembellishment...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. :-)
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. :-)
-
@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!
-
@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.
-
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.
-
@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
-
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!)
-
@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. -
@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).
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.