Automatic Controller Switching

I’m on stable 1.3.6 windows 10.

When booting up Retroarch, is it possible to have Retroarch switch to the current active controller? For example, I have a Steam Link on a TV in one room that I use with the Steam controller, and on my actual PC, I typically use the NES30 Pro. However, anytime I switch between the Link and PC, I also have to manually switch the input to my current controller. Any suggestions? Is this even possible to accomplish?

Nothing automatic at the moment, but we’re hoping to make the win/lin/mac ports act like the Android port, where controllers don’t get detected/enumerated until you press a button.

That sounds perfect. I’ll keep a look out for that feature in the future.

I’m not sure how Steam Link works, but if you can enter command line parameters when launching from Steam (or create a second shortcut for when streaming with the parameters), you can use the parameters to load an alternate config file setup to your Steam controller.

The Steam Link literally just streams your PC to the Link. So it’s not using a separate instance of Steam or anything. Your two methods are good ideas. Thanks.

You could try doing it my way:

Map KEYBOARD commands as your input in RetroArch Map your controllers to Xpadder using that same keyboard layout you just created.

Done.

Doing this I can switch from any PC compatible controller instantaneously. I set it up this way because I run everything through a frontend, and I wanted to be able to play NES games with an NES controller, Genesis with a Genesis controller, etc etc.

Another words, in a future release, whatever controller we pick up will be player 1 and already configured for the system we are using?

Whichever controller you press a button on will be assigned to P1 and autoconfigured to the retropad if an autoconfig profile exists. However, RetroArch will never say “oh, this is a SNES-style controller, so I’ll use it with SNES cores” because it doesn’t know what an SNES is.

[QUOTE=SkyHighGam3r;46407]Either I didn’t explain it very well, or you don’t understand, because you just can’t get more automatic than that lol

You unplug one controller, and plug in another and it works immediately, on any game, at any moment.[/QUOTE]

Makes sense to me. This is a really slick workaround. You do lose out on PlayStation-style analog stick control though, don’t ya? Since Xpadder can’t emulate that too well.

Yeah… Xpadder doesn’t really support analogue functions sadly.

However, my solution for that was mapping the analogue sticks alone inside RA instead of Xpadder. I’ve only tested this with an X360 pad and an Xbox One pad, and it does still let me do the insta-switch.

I don’t have any USB versions of the PSX (dualshock), N64, 3D Saturn, or Dreamcast pads though, so I haven’t been able to test those yet for full compatibility with this method.

As far as digital inputs go it’s 100%, so it covers most of the systems emulated by RA. I’m gonna go look on eBay for some of those controllers actually… because now I really wanna know. Plus when I started I had a system that could barely do super mario 64, so It wasn’t a priority… but my current system plays up through PS4/X1 so It’s probably time to revisit some basics like this. lol

Ah, yeah, that could work, though perhaps throwing N64 into the mix alongside PS1 would complicate matters.

Ima try this Xpadder workaround. I’ve mostly avoided playing post-16-bit stuff (and anything in MAME that requires analog) because I didn’t want to deal with switching out my SNES-style NES30 pad with a DualShock 3 and reconfiguring the controller for games that need more buttons and/or analog inputs. And then switching back, etc.

Latest RA may(?) have some way to smoothly transition between cores/controller setups but with configs and overrides in development flux it doesn’t seem like a good time to delve into that. Waiting for the dust to clear.

man, that ‘press button to make controller active’ idea would immediately make a whole bunch of hacky scripts used by retropie and similar redundant - really cool idea!