change RetroArch controllers index on-the-fly with no issues
meleu last edited by meleu
[UPDATED: actually in some configs it still can bring some issues. Look https://retropie.org.uk/forum/post/35243]
Hey guys, I would like to share a cool info.
RetroArch had recently got the capability to let every
connected joypadcontroller bound to a player control the RGUI (after this Pull Request). The option is
all_users_control_menuand must be explicitly set to
true(the default is
It is specially useful to change the players joypads on-the-fly with no issues through:
Main Menu -> Settings -> Input -> Input User N Binds -> User N Device Index
Before that Pull Request, the changing of the player1 joypad could bring unwanted situations (as I reported here).
To get this new feature you guys must to update RetroArch from source (instructions here). ;-)
Changed the topic title to a more appealling one! :-)
@meleu When changing the joypads, does it persist between sessions?
@mediamogul Well... only if the
config_save_on_exitis true. [please don't do it! :-) ]
please don't do it!
Hah! I've been down that dark road and I don't want a repeat. It looks like this is a nice way to change things up for a single session without having to dive in to deep with configs. Very useful when gaming with friends. Very kool.
Very useful when gaming with friends.
The https://github.com/meleu/RetroPie-joystick-selection was made for it as well! ;-)
@meleu I would even say it's better suited for the job. However, I know a few people who run somewhat vanilla RetroPie setups of their own now and it'll be nice to have a quick, out-of-the-box solution to recommend.
I know a few people who run somewhat vanilla RetroPie setups of their own now and it'll be nice to have a quick, out-of-the-box solution to recommend.
Ehrr... I understood what you mean, but it is a very new feature. One needs to reinstall RetroArch from source to get it in RetroPie. Maybe it'll be an out-of-the-box solution in the next RetroPie release.
@meleu Actually, my friends may never see it either. It's amazing how many people install something and just never update it. It can be slightly frustrating, but I try to adopt a certain level of non-involvement as long as their system isn't just plain broken, seeing as how there will always be another tweak to arguable make RetroPie run better in some way.
I was making some tests (for this user request) and realized that, unfortunately, we can still have some issues when changing the player1 controller index on-the-fly (I think it can be considered an edge-case, but it should be mentioned).
The option is "All Users Control Menu", and not "All Controllers Control Menu".
Here is a scenario showing how it can bring issues.
index = joystick ---------------- 0 = joyA 1 = joyB
input_player1_joypad_index = 1 input_player2_joypad_index = 3 # There's no joystick with index 3 currently, # then there's no device controlling player2. # All other players joypad_index are commented.
If I go to
Main Menu -> Settings -> Input -> Input User 1 Binds -> User 1 Device Index
And change it from
joyBto another value, then
joyBcan't control RGUI anymore. This happens because
joyBisn't bound to any player. So, repeating what I said, the option is "All Users Control Menu", and not "All Controllers Control Menu".
It can bring unpleasant issues, as I detailed here: https://github.com/libretro/RetroArch/issues/3014
I was too verbose in the previous post. Let me summarize:
all_users_control_menudoesn't make all plugged controllers control the menu. Actually it just makes all controllers bound to a player control the menu.
If I have a plugged controller not bound to any player, this controller can not control the menu.
Changing Device Index on-the-fly still can bring some unpleasant situations, like I detailed here (the
all_users_control_menudecreases the chance to make it happen, though).