Any way to change emulation station buttons without messing with retropad?
-
So I just finished a bartop arcade setup from a kit I bought after spending about six months or so tinkering around with Retropie on a TV setup. My question involves to what extent the following can be customized without screwing things up otherwise:
(1) emulation station buttons for starting a game (defaults to button mapped to “a”) and calling the emulation station options menu (defaults to button mapped to “start”)
(2) reicast exit mapping (stand-alone reicast) (input mapped to “select” right now)
(3) n64 hot keys for exit, save, load state
(4) retroarch menu button (default set to hotkey+x)Everything “works” as is but I have a vision for an ideal control setup that would be intuitive and user-friendly for anyone walking up to the machine.
I don’t want to mess with how the Retropad has been mapped, since all of the regular in-game controls work for me- this is just about changing menu/hotkey functions. Any help appreciated!So in an “ideal” world for me, here would be the relevant control changes:
(1) in emulation station, the button mapped to “start” would start a game. This would be intuitive since my control panel graphics label a “start” key and that is also the start key in-game. So naturally someone who comes up to the cabinet would think that button is used to choose a game rather than the bottom mapped to “a.” Is this possible?
(2) in emulation station, the button mapped to L2/left trigger (which is one of the four “administrative” buttons on the front of the control panel) would bring up the options menu, which defaults to “start” button normally. Is that change possible? Then I could label that button “menu.”
(3) in retroarch, change the button to bring up the retro arch menu (default: select/hotkey + button mapped to X) to select/hotkey + button mapped to L2/left trigger. That would be consistent with (2) above making this a true “menu” button. Note: I know about the Retroarch GUI hotkey input mapping option but can’t figure out which mapping pertains to bringing up the retroarch menu. I plan to use the same feature to change the save state, load state, and exit hotkeys to the other administrative buttons if the rest of this works out so not asking for help with that)
(3) in standalone reicast I used the configuration/tools menu to choose select as the exit emulator button. Is there any way to make this a hotkey/select + button marked as R2/Right Trigger (2 button combo) rather than just the select button? This would be consistent with making one of the administrative buttons (R2/Right Trigger) a universal exit button. I guess what I could do if setting 2 button combo is not possible would be just to set exit as the R2/Right trigger button and the user would be none the wiser that actually they didn’t need to press the coin button to exit). Also just to confirm - no way to use save/load states on reicast, right?
(4) In N64 I am using the stand alone mupen64plus emulator and made sure I turned on the auto input hotkeys config option. So I can presently exit the emulator with the buttons mapped to select and start. Any way to change this to select/hotkey plus R2/Right Trigger and change save/load states to hotkey plus Buttons mapped to L3 an R3, which are the other two “administrative” buttons on the front of the control panel?
So as you can see in my ideal setup, the start button would start games in emulation station, coin/select would remain the hotkey in every emulator, and you could use the hotkey button plus one of the four administrative buttons in the front to exit the emulator, save state, load state (where those functions are available), and the menu button would work alone in emulation station to bring up the menu and with a hotkey in retroarch emulators to bring up the retroarch menu.
Setup:
Pi Model or other hardware: 3b+
Power Supply used: (If using a Pi): official supply
RetroPie Version Used: 4.4
Built From: Pre made SD Image on RetroPie website
USB Devices connected: Xin Mo 2 player with modification to boot.txt for usb quirks that makes it recognized as 2 player with one usb cord, Logitech wireless keyboard
Controller used: each player has a joystick, 6 face buttons, coin, start, and then there are four administrative buttons on the front of the panel that I mapped to player 1 L2, R2, L3 and R3.
Error messages received: N/A - no errors
Emulator: (Name of emulator - if applicable): I am using lr-Mame-2003-plus, lr-fbalpha, default lr Genesis, snes, psx emulators, reicast (stand-alone) and mupen64plus (stand-alone). -
For (1) and (2), you could maintain separate mappings for ES and emulators, but you'll have to re-configure your input twice and save the RetroArch auto-configuration between the mapping operations. The ES mapping is stored in
~/.emulationstation/es_input.cfg
, so configure your buttons as you'd like them to be in ES, save thees_input.cfg
, then configure again with the 'natural' mapping (like you have it now). Replace thees_input.cfg
with the version you saved from the previous mapping configuration.For (3), you can change the 'Menu' mapping in
/opt/retropie/configs/all/retroarch-joypads/<controller>.cfg
, by modifying theinput_menu_toggle_btn
mapping.For (2nd 3) (Reicast mapping) I have no idea, but you can configure your controls from the Reicast package in the RetroPie-setup script - it has a Configuration/Tools sub-menu which will take you to the controller configuration script. The 'default' configuration is auto-generated based on your selection in Emulationstation's input mapping dialog.
For (4) - take a look at the Docs page for Mupen63plus. I think you need to modify the
mupen64plus.cfg
configuration file and change how the bindings are mapped to the events you wish to modify (Joy Mapping Stop
,Joy Mapping Save State
,Joy Mapping Load State
).Please note that any configuration of the gamepad in Emulationstation will also automatically produce the gamepad configuration files for RetroArch (the ones in
/opt/retropie/configs/all/retroarch-joypads
), Mupen64plus and Reicast, so if you manually modify those files make sure you save them before using the gamepad configuration in ES, because they will most likely be overwritten. -
@mitu got it, thanks! I think for changing emulation station this is a little too intimidating for me to try on the bartop since I have it fully working now without issues - a bit worried something will go wrong and my controls will get all jacked up between all the switches since as you note re-doing the emulation station input config with my ideal setup would regenerate the retropads and even though in theory re-doing it the second time would “reset” the controls I am worried something would glitch. Part of it is I count myself lucky I got all the XinMo stuff working on all emulators pretty easily what with all the posts I read in advance about people’s arcade controls not working for this or that.
But maybe I will at least remap the exit emulator hotkey since it seems I will be able to do that relatively easy across retroarch, reicast and mupen64plus and maybe get save/load working that way as well for retroarch and mupen . Seems a “low tech” solution for my start button to start a game dilemma would be just to create a label on the control panel for the button I have mapped to “a” that says “choose game.”
In time I may use my console-based retropie to try out the emulation station remapping but maybe I will also bide my time and someone will create an easy GUI for custom mapping emulation station menu functions only. Seems from some videos attract mode might have something like that so maybe someday! You guys are always improving this thing!
Thanks again for your time.
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.