Are there any plans to allow configuring more than one input type? Are there any plans to allow users to save a configured input as a config file or similar?
Of the several different emulators that I’ve tried over the years, they’ve all offered a way to either configure multiple types of input (keyboard, gamepad and others), a way to save configured input as a file that could be loaded later or imported into later versions or onto a friend’s PC, or both.
Currently, Citra does not really have a way to save a configured input. We can configure it. But if we want to change it, then the old configuration is permanently lost and must be re-configured manually.
This is particularly troublesome to me because I sometimes find the need to reconfigure my input - configuring a gamepad, temporarily switching back to keyboard defaults, and then switching back to the gamepad (which I much prefer). As you can imagine, this is a hassle - particular when one has to do this more than once or twice.
Why do I have to switch back to a keyboard, you might ask? My gamepad has a slightly finicky cord and, sometimes, the connection is lost. Unfortunately, when this happens, Citra forgets that I had a gamepad and I can no longer use it - even after I unplug it and plug it back in. The only way for Citra to recognize my gamepad after this happens is to shut down Citra and restart it. However, if this happens when I’m not at a save point, I will lose all of my progress! I’d much rather switch back to keyboard long enough to save, then restart Citra.
Are there any plans to allow configuring more than one input type
I have plans to allow per game configuration settings.
no, you can also just open up the config and click okay, which will force a reload of the controllers. controller hot plugging is something i’m working on (and is a few months out probably)
I’m afraid this doesn’t actually happen. I’m on the latest canary and this does NOT work. The only thing that helps is completely relaunching citra, even if I reopen the config tab 50 times and click okay it still won’t re-recognize my gamepad. Using a wireless x360 pad in case that makes any difference.
it depends on whether your controller reconnects to the same port. you see, windows is responsible for assigning the controller to a specific port, and in my experience, when most controllers disconnect and reconnect, windows will reuse that same port for the controller. BUT in some cases, it’ll reassign the controllers to different ports after it reconnects. To test for this, next time your controller reconnects in citra, open up the config, go to input, and try to bind a button to your controller. When I did this, I noticed that the same controller that used to be “Joy 0” was now “Joy 1” until I restarted citra. When this happens, its not enough just to click okay and force a reload, but for many people it is enough.
(Just to be clear, my proposed changes will not use controller ports as an identifier, but will look at a combination of several things to try to get a unique controller identifier)