Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

In game glitch custom arcade buttons.



  • Hi,

    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.
    -Thomas



  • have you tried remapping the controls in emulationstation and/or emulator menu?


  • Global Moderator

    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?


  • Global Moderator

    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-joypads that 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 Hotkey during 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.


  • Global Moderator

    @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).

    8dde674b-e8d4-4629-9e44-a4366af8f179-image.png



  • @mitu
    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?


  • Global Moderator

    @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_hotkey is set to nul (i.e. no hotkey) in the global retroarch.cfg.
    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 alt or esc.



  • @mitu ,

    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?

    a9dc6852-07dd-4a30-a307-54c9cba50a7c-image.png


  • Global Moderator

    Can you try adding it just like in the config file - input_enable_hotkey_btn ?

    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/all and the one in /opt/retropie/configs/arcade.



  • @mitu
    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?


  • Global Moderator

    @Thomas_N said in In game glitch custom arcade buttons.:

    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.



  • @mitu
    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...


  • Global Moderator

    @Thomas_N It would be easier to just post the URLs to those logs...



  • @mitu

    Runcommand.log
    https://pastebin.com/M69Wj7ka

    Retroarch.cfg (snes)
    https://pastebin.com/V0W51jtS

    Retroarch.cfg (all)
    https://pastebin.com/utVhkxWP

    Here you go.


  • Global Moderator

    I see in both .cfg file you have input_enable_hotkey = "c", but your snes config 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 snes stock retroarch.cfg

    # 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.cfg file, there's no need to add it again on the snes system.



  • @mitu
    If I delete the snes cfg file, will it break everything or will It make a clean new one?


  • Global Moderator

    @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...



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.