As of today there remain a few control mapping use cases which are not addressed by the mapping system. This is a feature request to support those use cases.
"N to 1" / Multiple Gamepads to One RetroPad
Arcade games such as Robotron: 2084 feature a "Dual Joystick" control scheme where one joystick is held in each of the player's hands. In order to have a general purpose emulation system (where the two joysticks can usually be assigned to different players) that also fully supports Robotron, it is necessary to be able to map both joysticks to Player 1 on a game-by-game basis.

N64 games like Perfect Dark and Goldeneye would also benefit from this option by allowing the user to configure the Player 1 joystick for movement and Player 2 for direction for full analog movement. This is supported by some standalone emulators.
"1 to N" / One Gamepad to Multiple RetroPads
Some console games had additional features or cheats that are available for Player 1 if the player uses controls on the Player 2 gamepad of the original system -- for example, Megaman 3 on NES.
Other games, like Smash TV, require two controllers in their original versions because they are ports of "Dual Joystick" arcade games. Users with gamepads that include a joystick and a d-pad may wish to map both of the original NES d-pads to the same physical controller today.
this is very difficult
at least the 1:N part
Would you advise splitting the 1 to N into a separate bounty @fr500?
On Fri, Dec 28, 2018, 4:42 PM Andrés <[email protected] wrote:
at least the 1:N part
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/libretro/RetroArch/issues/7830#issuecomment-450432045,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ASphdjaH70u-XVv3ETVCEs_5qe0xWPW3ks5u9pBhgaJpZM4Zj5jR
.
Nah let's hope for the best
On Fri, Dec 28, 2018 at 5:00 PM markwkidd notifications@github.com wrote:
Would you advise splitting the 1 to N into a separate bounty @fr500?
On Fri, Dec 28, 2018, 4:42 PM Andrés <[email protected] wrote:
at least the 1:N part
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
<
https://github.com/libretro/RetroArch/issues/7830#issuecomment-450432045>,
or mute the thread
<
https://github.com/notifications/unsubscribe-auth/ASphdjaH70u-XVv3ETVCEs_5qe0xWPW3ks5u9pBhgaJpZM4Zj5jR.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/libretro/RetroArch/issues/7830#issuecomment-450434086,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ABpC0Aib9FhNQudjz95ZCbWjfKTAy2Iuks5u9pR5gaJpZM4Zj5jR
.
The N:1 mapping would also be wonderful since it would make Switch joycons be usable paired, I think?
So many possibilities... console games could be played dual joystick on an arcade cabinet or 2player fighting sticks
Thanks for the bump to $30 @robertvb83 !
I guess it sums up to being able to chose "controller+button" instead of just "button" when remapping ? I guess it would help dealing with "limited controller" issues indeed (in fba i always consider i'm dealing with a "full controller" with everything the retropad has to offer, so i won't hesitate to map P2 hardware joystick to P1 retropad right analog if i'm dealing with a twinstick game).
@barbudreadmon
I guess it sums up to being able to chose "controller+button" instead of just "button" when remapping ?
That seems like a straightforward and concise way to sum up the "N controllers/gamepads to 1 RetroPad" functionality. Nice.
Bounty up to $90 thanks to a $60 contribution from libretro organization bounty funds!
I really don't understand the need for this request.
At least for one input device controlling multiple retropads.
I just tried SNES9X, Contra 3, started the game in 2 player mode.
Then I went to settings and made sure that my gamepad was set the same for both players:


And now I can control both players with a single pad.
Then as a PoC I remapped my right stick to move player two

And it all works, that should cover 1 gamepad N players use case just fine (could use some touch ups but it's certainly achievable)
What's the other part of it?
Awesome, give the man the bounty (or half, because 1 to N seems solved, but N to 1 not yet).
@fr500 the other part is basically for people having bartops/cabinets, they have 2 minimalistic controllers (generally 1 stick + 6 buttons), and i think the general idea is that they want to use this setup to play twin-stick shooters and the likes (2 gamepads => 1 player).
I agree the info you where given is very vague. What is needed is the ability to map more than one physical controller to a player.
The solution of assigning two users to the same controller in settings->input works perfectly (1 to N). I verified it here: https://github.com/fr500/dosbox-svn/issues/5#issuecomment-477719061
I'm also interested in the "N to 1" feature. This is mainly helpful for emulators outside of MAME, which allows much more freedom for remapping in both 1 to N and N to 1 (although there seems to be a bug not allowing more than 4 controllers being detected for MAME in retroarch, which is not a problem in standalone MAME).
Scenario Example:
Let's say I'm using Reicast core. I want to use a fight/arcade stick for fighting / simple action games and then want to use a dual analog pad for games that need analog or anything else. Both are wired and always plugged into the computer. Allowing these controllers set to the same user / player would make configurations much easier to do Instead of trying to make another copy of the reicast core or retroarch folder as a whole.
Edit: Also added a little to the bounty.
So I guess the N:1 part could be done after all

this is basically how controllers are paired in RetroArch
Problem right now is that the top option only selects what's on the Port 1.
Instead it should show SNES Joypad (port #1)|SNES Mouse (port #1)|SNES Joypad (port #2)|SNES Joypad (port #3) I guess
Of course this would involve some work on the input drivers (and the remapper).
It's not all that trivial, because as it is right now all input is assigned.
Say you press B, a variable holding that button state then is assigned to true
b=true
But then the second gamepad that has that action assigned is not pressing b, so
b=false
Etc, so the whole thing must become additive instead.
Certainly can be done, but I don't know how long or complex it would be.
Remember after the input is polled there is the whole remapping thing (that overwrites input state too).
I was going to contribute, but the bounty donation link gives an error. =(
Application error
An error occurred in the application and your page could not be served. If you are the application owner, check your logs for details. You can do this from the Heroku CLI with the command
heroku logs --tail
Bountysource has been having some structural issues lately, but they're apparently working on it. Hopefully, things will be working again soon.
Is anyone able to ELI5 this to me, regarding why the 2nd analog stick on most modern gamepads isn't a solution for dual stick games like Robotron and SmashTV?
Because not everyone wants to use one of those.
Sorry, maybe I'm not being clear what I mean.
My understanding is that it is currently not possible to use the 2nd analog stick as the 2nd stick in a 2 stick game like Robotron.
I get that not everyone uses a controller with dual analog sticks, but would it not also be helpful to add that as an option? (or was this added at some point and I'm not aware of it?)
It seems that mapping the 1st analog stick on a gamepad to also work as an 8-way non-analog stick has existed for quite a while.
I'm wondering why this is not an option for the 2nd analog stick which exists on most gamepads.
My understanding is that it is currently not possible to use the 2nd analog stick as the 2nd stick in a 2 stick game like Robotron.
@pgbconfirmit Works fine in FBNeo, it's actually the default for twin-stick games. I guess your issue is related to the usage of MAME and its OSD, i can't help you there (i think it's actually possible though), but it doesn't sound related to the current issue.