Thoughts on how controllers work in RetroPie
-
I stopped using RetroPie for a while because I was messing with my new Steam Deck instead. I tried RetroDeck on there for a while to get a similar experience to what RetroPie does, but found that RetroDeck is very very hostile to any attempt to map custom buttons and will re-write anything custom after every update. Eww, gross!! I could not deal with that.
So I ended up uninstalling RetroDeck, installing the emulators individually and accessing them in Game Mode using ES-DE. THAT did the trick! I got my custom button mapping to stay mapped across updates and everything just works as expected now.
And now I'm coming back to RetroPie on my Raspberry PI 400 and finding that ... things are bad. Kind of like they were with RetroDeck in that the button mappings pretty much don't work. There's always some vital button that should work and doesn't. For instance, my 8bitdo controllers have a couple of perfectly good extra buttons for activating the menu, only those aren't being recognized by EmulationStation, which is telling RetroArch to use my Start and Select to activate the RetroArch menu. What.
Even if I ignore that, I find that triggers and analog sticks have to be re-enabled in the RetroArch menu every time I try to play something from PS1. Eww, gross.
It seems like maybe the whole relationship of controllers to EmulationStation to RetroArch should be re-examined. Maybe instead of EmulationStation changing RetroArch's controls, it should be the other way around? Maybe RetroArch should handle controller mapping, and EmulationStation should load its controller mapping from RetroArch's settings.
Would it be possible to set it up like that instead? -
Right now, the documentation here https://retropie.org.uk/docs/8Bitdo-Controller/ gives advice which seems kind of wrong.
First of all, you shouldn't be using Bluetooth at all. It has too much input lag for gaming. Maybe if all you want to play is visual novels or watch movies with Kodi then Bluetooth is fine but for anything video game related that has actual game in it which isn't just a video, you shouldn't be using Bluetooth at all AFAIK. Too much input lag. Use a wire.
Second, it suggests that you can go in and edit the RetroArch controller configuration files. Well, maybe. Until the next time you plug a controller in and then RetroPie's EmulationStation will overwrite those files with whatever it thinks your controller mapping should be, completely undoing all your hard work.
There's got to be a better way to handle this whole aspect of RetroPie from a design perspective.
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.