Retroarch seeing all controller inputs in game as hotkeys
-
PS3 Controller is bound and works fine in ES and retroarch menus. In game, however, all button presses register as the retroarch hotkey commands, and not the standard controller inputs. This is happening across all systems.
I have bound all my controller buttons for user 1 in retroarch. I can change the hotkey binds, but I cannot remove them. I even tried editing the retroarch.cfg file and changing all the hotkeys to "nul", but the problem persists. Pressing the hotkey enable button (bound to PS) does not toggle the hotkey function off. Not sure where to go from here.
I have a RPi 3B+ with the latest stretch image. All drivers/packages have been updated in the last 2 days.
I've searched for a solution to this as best I can, but it's either so odd (or so dumb) that nobody else has had this problem, or I'm just not using the correct search terms .
Thank you for any assistance you can provide.
-
Update - I tried using an xbox 360 controller with a wireless adapter. The result is the same. All in-game button presses are read as hotkey inputs. For lack of any better ideas, I bound all the hotkey functions to the same button (xbox button). This actually worked. Without hotkey bindings, the buttons work in game as they should. Apparently the "quit retroarch" function supersedes all the other functions bound to the one button, because that's what happens when I press it.
This is sort of OK for now, but without the ability to bring up the retroarch menu in game or quickly save/load savestates, it's definitely not a good solution. Does anybody have any idea how I can fix this for real?
-
It sounds like you may have never mapped a hotkey button. When that happens, a modifier key is not used, leaving all the mapped functions to their singles keys. Try remapping your controller again through Emulation Station, making sure to map the hotkey at the end.
-
I mapped the center/menu button (PS button on PS3 controller, xbox button on 360 controller) in ES. I confirmed that the hotkey map in retroarch had those buttons (16 for PS3, I think 11 for 360) mapped to hotkey enable. In both cases, retroarch had auto-mapped those buttons, which I believe is the correct behavior.
-
Do you happen to have 'save on exit' enabled?
-
Yes. I am aware it has to be manually re-enabled every time you configure retroarch as it defaults back to "no" for some reason.
-
'save on exit' is off by default, as it tends to cause situations like this, among others. Using one system that you're having problems with as an example, post the contents of
/opt/retropie/configs/chosen-system/retroarch.cfg
-
Looks like I accidentally fixed it.
Yesterday I bound all the hotkeys to the same button, since that seemed to be the only way to "free up" the other buttons for normal use. Today I went back through the retroarch hotkey binding menu and re-bound the hotkeys to the proper buttons. Now they work! Button presses register as normal button presses during gameplay, and register as hotkey presses when the hotkey enable butten is also pressed. I tested on a couple different systems to be sure, and it seems that all is now OK.
I have to assume that something was wonky in one of the cfg files, and even though it was showing hotkey bound in the menu, it wasn't actually bound and that caused the problem like you said. I guess the act of manually re-binding them fixed the issue.
Thanks for the help.
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.