Gamepad priority changes causing incompatible buttons
Asked before, can't find answer. I had seen others with similar issue, I'm hoping this has been addressed.
Configured controls for all emulators with controller A (Xbox afterglow) first initially in menu, then in RGUI. Plugging in any other gamepad while Xbox (A) is plugged in, causes me to have to go into rgui and change, player 1 input back to the xbox controller (which has proper hotkey and buttons set up for that controller) because new gamepad seems to have taken priority (p1), but with the Xbox mappings. So let's say I go through this and configure (A) to player 1, and new gamepad to 2 I'm lucky if it doesn't still make itself player 1 as well, god help me I enter a game with only the xbox one plugged in and have to go plug second controller in and fix (A)
I had asked previously, thinking the actual USB port had something to do with controller priority but got no answer. I've since taped each gamepads name to side of pi to keep from swapping them. It doesn't however seem to matter. I had asked if priority is given to the controller that starts the game. As well, why doesn't it have the buttons correctly set up for it if it does end up getting player 1 priority.
Please help whoever can and thank you guys for your work.
- What determines priority of gamepad to p1, p2.....
- Why would another controller keep taking player 1's spot but not use its own button configuration.
- Why doesn't it seem like the controllers retain their individual configuration, rather than whatever emulator says player one should be, irregardless of which controller is actually plugged in.
- Any chance I can tweak this, or an option to have whoever starts the game be player 1? (Have a fight stick that I'd occasionally like to use but not have to reconfigure rgui every time to make it p1)
Re: Multiple controller issues
@reroshaggy if by rgui you mean retroarch gui you shouldn't do that, just associate your controller in Emulation Station with the right player, don't use retroarch for controls configuration
What determines priority of gamepad to p1, p2.....
SDL does. And God knows how SDL decides ...
But this can also depend on udev ...
Why would another controller keep taking player 1's spot but not use its own button configuration.
Because the button configuration is done according to the player number, not the device
Why doesn't it seem like the controllers retain their individual configuration, rather than whatever emulator says player one should be, irregardless of which controller is actually plugged in.
Errrr ... Not sure I understand you, but you're missing a few tricks ... The very first one is that recalbox setups emulators' configuration, wichever pad you plug. Reconfiguring inside the emulator may conflict somehow.
Now regarding retroarch, there are 2 tricks that could help you:
- use core remaps. Trust me, i believe that's the very best option
- use retroarch' internal autoconfiguration tool thus disabling recalbox' one
Any chance I can tweak this, or an option to have whoever starts the game be player 1? (Have a fight stick that I'd occasionally like to use but not have to reconfigure rgui every time to make it p1)
You can force players order, nothing better
Anyway, i think you may just be trying to do something the harsh way whzn tthere are some more simple methods i guess
Lot of good info here, thanks for the responses. What is the role of autoconfig in retroarch gui settings menu?
In relation to the config'ing the fightstick scenario I had previously mentioned: I plugged it in, added buttons in menu area, not rgui, according to standard ps3 fightstick layout. Went into psx and went to street fighter alpha button config. Rgui had the r2 button as the start button (which in layout is punch 3). Thus I had to configure in rgui/settings/input, the correct button layout. I'd love to just use front-end setup but emulator doesn't always agree.
@reroshaggy when mapping fighting sticks the button order is :
Y X L1
B A R1
Should work flawlessly
In case anyone reads this, this is my update.
So what I ended up doing, worked for me. I ended up making individual configs per emulator. What I found was in every config, the default mappings for keyboard controls, as well as recent gamepad configs were embedded in the config, due to the way the previous single config setup did things. I deleted all button mappings except for the keyboard controls, as well mappings for hotkeys. Then I created an autoconfig per controller, adding the hotkey assignments in that config. This made issues I had previously using my arcade controller, which has fewer buttons, null...as now I can set up my own hotkey config that makes sense for that controller.
This also fixed the emulator deciding which controller it wanted as first player, because it doesnt matter, if I wanted to pick another controller as p1, it will autoremap appropriately.
My only real hurdle was how to name the config file, to work with each emulator. I had to guesse and that took a while, as some like the different mame/libretro cores need different name configs.
Now when someone plugs in a new controller that the system doesn't know, I just set it up, and save autoconfig.