I am using batocera x86 64 bit version 5.23 2019/09/02 20:04
Installed on hard drive.
So I have tried using different wireless controllers and all have the same weird issue.
The issue is that the controller's id number keeps shifting after exiting a game or when the controller goes to "sleep" and is powered back on.
To further explain:
If I turn the controller on from batocera's initial boot it shows up as "#0 PC CONTROLLER" in the controller menu. If it says this it works perfect, no matter what game/emulator I use. When I exit whichever game I'm playing, back at emulation station it shows up as "#1 PC CONTROLLER". If it has any number other than 0 for the id number it still works fine in emulation station but is completely inoperable in any game/emulator, forcing me to exit the emulator with the keyboard's exit key (usually the escape key works). Every time I exit a different game from it not working the controller works fine in emulation station, but shows up with another id number. (The id number increases each time by 1, so if it was 2 before launching game it becomes 3 after exiting back to emulation station)
A couple more important details:
I always make sure under emulation station's controller menu that my controller is selected for the player 1 controls, even if it has a different id number. Only number 0 will allow me to have control in any game though.
I have the same outcome with my "PC CONTROLLER" which has its own USB dongle, and with PS3 controllers which are working otherwise well with a Bluetooth USB dongle.
I do have a remedy for this issue, but it involves rebooting the computer after exiting a game or waking the controller back up. This gets annoying quickly though, especially if I pause a game and walk away from the computer only to come back to an inop controller. Thankfully I tend to use a save state everytime I pause my game, so at least I don't have to lose progress in game just because I walked away for a couple minutes. Still is annoying to have to exit the emulator with the keyboard and then initiate a reboot from the emulation station menu every time this happens.
Is there a simple fix for this issue?
Or is there a way to make batocera/emulation station give a controller a static id number, instead of it assigning a new number on each reconnect?