Dolphin, the GameCube and Wii emulator - Forums

Full Version: Request - Have Gamecube controller profiles not be device specific
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Currently from what I can tell, any Gamecube controller profile I make has an assigned device. In my case, I have two PS3 controllers that I can connect with a bluetooth adapter. However, one controller is always designated as controller 1 (or Xinput/0/Gamepad) and the other is always designated as controller 2 (or Xinput/1/Gamepad). This is regardless of if only one of them is on or both.

Now the issue I'm having:

There are times where I would like to play a one player game, but controller 1 is out of battery. So I'll want to grab controller 2 and use that. However, because of how Dolphin is set up, I technically need two profiles for every game (one for controller 1 and one for controller 2). But then when it comes time to using the game-specific config file, I need to have it call certain profile, but now there are two.

I've tried setting states for both Ports 1 and 2, but I can't ever get controller 2 to work in a single player game without having to manually change Port 1 to use device 'Xinput/1/Gamepad'.

Maybe the confusion is that there seems to be Ports, Pads, Devices, and Profiles. My main goal is to be able to have one profile for every game, but then be able to have either controller (1 or 2) use that profile regardless if both controllers are active or only one.

I'd love to hear people's thoughts on this.
Well that's an odd request. Well, the profiles have to be device specific, because it is mapping a physical device. But there is another way!

Set up your controller with the first controller (device: Xinput/0) and then right click a button. Select Xinput/1 in the device slot of that button, then select the button you wish to use in the left pan, and press "| OR" on the right. If you did it right, it should look like...

Code:
'Button A' | 'Xinput/1/Gamepad:Button A'

Now, you can press that emulated button on either physical device and it will work! The only downside is that you have to repeat that for all of the buttons, but you wouldn't have to mess with it again, and you can swap controllers as much as you want.
(08-29-2015, 04:00 AM)MaJoR Wrote: [ -> ]Well that's an odd request. Well, the profiles have to be device specific, because it is mapping a physical device. But there is another way!

Set up your controller with the first controller (device: Xinput/0) and then right click a button. Select Xinput/1 in the device slot of that button, then select the button you wish to use in the left pan, and press "| OR" on the right. If you did it right, it should look like...


Code:
'Button A' | 'Xinput/1/Gamepad:Button A'

Now, you can press that emulated button on either physical device and it will work! The only downside is that you have to repeat that for all of the buttons, but you wouldn't have to mess with it again, and you can swap controllers as much as you want.

Ah, very clever! That definitely works.

However, I'm finding there is a downside to it. While it allows both controllers to work for 1-player games, now in 2-player games that profile would cause the controller to control both players.

I guess I have to create three profiles? 'Device 1,' 'Device 2,' 'Device 1or2' where 'Device 1or2' has the button config you mentioned above.
Yep yep, you can use controller profiles to easily turn this on and off.