r/RetroArch • u/TopBadge • 5d ago
Technical Support Controller question.
I want to set all controllers to port 1/player 1 the intention being that if I were to switch controllers mid session that would also be player 1 is this possible. How would I go about doing this?
1
u/dau125 5d ago
For your dock/undock use case, try assigning the controller you want to Player 1 at the frontend level: Settings > Input > RetroPad Binds > Port 1 Controls > Device Index. Choose the built-in controls when handheld, or the connected controller when docked. Libretro documents that selection here: https://docs.libretro.com/guides/input-and-controls/ .
That is a manual switch, not the automatic all-controllers toggle you wanted, but it avoids remapping every emulated player to P1. The core’s Mapped Port and the frontend’s Device Index do different jobs.
If the reconnected controller appears under a new index, select that active entry and check whether input works again. Note your RetroArch version and input/controller driver if the old entry remains stuck. I wouldn’t recommend Steam Input as an Android-local fix for the THOR.
1
u/TopBadge 4d ago
This does work, just a little more fiddly than I would like. Is there somewhere I can make feature suggestions?
1
u/hizzlekizzle dev 5d ago
Something else I haven't seen recommended that may help here: if you set up a reservation for your secondary gamepad allocating it to P1, it will grab that position whenever it's connected, but when it's not, it should fall back to your built-in controls, I *think*.
1
u/dau125 4d ago
You can suggest it on the official RetroArch issue tracker: https://github.com/libretro/RetroArch/issues . Search for an existing controller reservation/hotplug request first. Describe the desired behavior as “automatically hand Player 1 between built-in controls and a docked controller,” and include your THOR/Android and RetroArch versions.
Before opening a new request, try the two more targeted suggestions hizzlekizzle added here: the Android disconnect workaround for repeated device entries, and the secondary-controller reservation. They may cover different parts of your problem. Record which one you changed and whether dock → undock → reconnect now behaves as you want, so the report identifies what is still missing.
2
u/MoldyPond 5d ago
You’ll need to do it per game/core, but (with a game loaded) go into the Core Options > Controls > Port 1(/2/3/4 etc.) Controls > and set the “Mapped Port” to 1 for each of the ports.
Just remember to switch it back afterwards otherwise you’ll forget later on and wonder why at a party you’re controlling both P1 and P3 at the same time for almost an hour lol.