In game glitch custom arcade buttons.
I have recently built an arcade cabinet with inside a raspberry pie 3 with retropie on it. The cabinet has a custom controller with joysticks and arcade buttons for two players. The buttons are wired to one "IPAC 2" that converts the button inputs to a keyboard output via usb.
This all worked perfectly until recently. I have no idea what caused this but out of nowhere, weird glitches occurred. While I can still navigate through the main menu like I used to, when I start a game the controls stop working properly.
The player one joystick still works the same, but the rest of the buttons don’t. A, B, Y, left, right, select and start don't do anything. The X puts the game in and out of "Fast forward." The player two joystick, A, B, X, Y, left, select and start also don't do anything but the player two "right trigger" button freezes the screen and every time I press it again it shows the next frame.
Does anyone have any idea what is causing this and or how I can fix it?
Thanks, in advanced.
stoney66 last edited by
have you tried remapping the controls in emulationstation and/or emulator menu?
Looks like you re-mapped your controllers and disabled the hotkey, thus some of the individual buttons now act as rewind/frame advance/etc.
As @stoney66 said, remap your controller again to re-generate the RetroArch joystick auto-configuration.
Hi @mitu ,
Thanks for the reply. I have tried remapping the controls via the main menu and configure input. This didn't seem to help tough. I have also checked the "retroarch.cfg" file (for all) to see if there was something wrong there but it looks normal and just like the backup I had made. I did find that the "retroarch.cfg" file for the diferent emulators did not look the same as the file for all emulators. It also had diverent buttons assigned.
Do you know how I can change the input signals for all emulators at the same time?
The global configuration file for RetroArch is going to be different from the ones in each system's folder. If you want to re-assign your gamepad input mappings, the easiest way is through the Emulationstation input mapping dialog. Otherwise, there should be a configuration file in
/opt/retropie/configs/all/retroarch-joypadsthat contains the input 'signal' to RetroPad buttons mapping. Note that this file is automatically wrote by Emulationstation when you do the input mapping, so if you modify it by hand, it will be overwritten next time your do that.
Did you choose a
Hotkeyduring the configuration in Emulationstation ?
Where can I find the "Emulationstation input mapping dialog"? Also, there is no configuration file in /opt/retropie/configs/all/retroarch-joypads, only for the two sonly PlayStation controllers that I plug and unplug for N64 games. But not for the custom arcade controller.
And I did choose a Hotkey but, just like the other buttons, it doesn't do anything while in game.
@Thomas_N OK, so you're arcade controller is actually behaving like a keyboard - I forgot you mentioned you had an IPAC.
I think you need to enable map also the keyboard as a gamepad. In the configuration options for the RetroArch package there are a few choices about configuring the keyboard usage with RetroArch, including using a hotkey (so your buttons don't act on their own).
I have taken a look at retropie setup > configuration > retroarch > configure keyboard for use with RetroArch and everything is normal in there. Under configure keyboard hotkey behaviour it says: "Hotkey enabled. (default)". So I don't think there is a problem there.
I have manually edited the retroarch.cfg file from the snes. I have changed all the buttons to the right keyboard input and this works but the Hotkey does not function at all. Any ideas?
@Thomas_N It actually says Hotkeys enabled, meaning there is no Hotkey set and the buttons set to hotkeys (save/load/rewind/menu/etc) will trigger the actions. By default, the
input_enable_hotkeyis set to
nul(i.e. no hotkey) in the global
If you want a button to act as a hotkey, then change the value to the desired button value in that config file, or use the RetroArch configuration dialog (posted in the screenshot) to set it to
You were right, there was no button configured to the hotkey in the overall retroarch.cfg file. I have configured one now, but nothing seems to have changed.
I only use the hotkey to exit out of games (hotkey + start + select), so that is the only way I have tested it.
Any more ideas?
Can you try adding it just like in the config file -
If that doesn't work, can you post a log file (
/dev/shm/runcommand.log) of your game run taken with verbose logging from the Runcommand menu enabled ? Put it on pastebin.com, it should be quite large.
Also, post your
retroarch.cfg, both the one from
/opt/retropie/configs/alland the one in
Changing " # input_enable_hotkey_btn = " to " input_enable_hotkey_btn = "c" " dit not work. Could you explane to me how I can get my hands on the " /dev/shm/runcommand.log " file? Can I get it via SSH?
Can I get it via SSH?
Yes, it's available only through SSH and not via file shares, so you'll need WinSCP installed and SSH enabled.
I have put the runcommand.log file and both retroarch.cfg files on pastebin with the names "runcommand.log-muti", "retroarch.cfg-(snes)-muti" and "retroarch.cfg-(all)-muti".
Sorry they all say "muti", I red your name wrong...
@Thomas_N It would be easier to just post the URLs to those logs...
Here you go.
I see in both
.cfgfile you have
input_enable_hotkey = "c", but your
snesconfig file is much larger than it should be - you probably enabled 'Save Config on Exit' in RGUI or saved the configuration file from within the RGUI. The recommended way to save configuration is to use 'Core Input Remapping' from the RGUI (https://retropie.org.uk/docs/RetroArch-Configuration/#core-input-remapping).
Start from scratch with the
# Settings made here will only override settings in the global retroarch.cfg if placed above the #include line input_remapping_directory = "/opt/retropie/configs/snes/" #include "/opt/retropie/configs/all/retroarch.cfg"
and add only the things you need.
Since you already enabled the hotkey in the global
retroarch.cfgfile, there's no need to add it again on the
If I delete the snes cfg file, will it break everything or will It make a clean new one?
@Thomas_N Don't delete it, just replace its contents with text I pasted in my previous reply. It will not be automatically re-created.
@mitu Okay I've replaced everything in the snes retroarch.cfg file with what you said, everything still works but the hotkey still doesn't. It doesn't seem like anything has changed...