Emulationstation seems to add its own controls
-
- Pi Model or other hardware: 1B+
- RetroPie Version Used: 4.3.11
- Built From: manual install (link) on Raspbian 9 (stretch)
- USB Devices connected: two controllers, a keyboard.
- Error messages received: none
- Emulator: all non-libretro ones.
- How to replicate the problem: simply start a game and it's unplayable!
When I try to play a game via Emulationstation (ES) then, no matter what's in the emulator specific config file, then certain buttons are mapped to two things. For example: in Mame the "up" button also tries to load a save game! This makes Mame completely unplayable. If I start Mame from the command line (read: outside of Emulationstation) w/ the same Mame config file then everything's fine. But when I play games via Emulation station the buttons are have double functions.
How can I fix this? I've seen some joystic-specific ES setting files in
/opt/retropie/configs/all/emulationstation
w/ weird mappings in them. Some of those files:es_input.cfg
. And the dir/opt/retropie/configs/all/retroarch-joypads
with the filesUSB,2-axis 8-button gamepad .cfg
andThrustmaster T Mini Wireless.cfg
. There are a lot of ES joystick settings files so I think that they must be set in some way via a special application.Example of
/opt/retropie/configs/all/retroarch-joypads/USB,2-axis 8-button gamepad .cfg
:input_device = "USB,2-axis 8-button gamepad " input_driver = "udev" input_l_btn = "4" input_load_state_btn = "4" input_start_btn = "7" input_exit_emulator_btn = "7" input_down_axis = "+1" input_r_btn = "5" input_save_state_btn = "5" input_right_axis = "+0" input_state_slot_increase_axis = "+0" input_select_btn = "6" input_left_axis = "-0" input_state_slot_decrease_axis = "-0" input_up_axis = "-1" input_a_btn = "0" input_b_btn = "1" input_reset_btn = "1" input_enable_hotkey_btn = "6" input_x_btn = "2" input_menu_toggle_btn = "2" input_y_btn = "3"
Why are both input_x_btn and input_menu_toggle_btn set to "2"?
-
Why are both input_x_btn and input_menu_toggle_btn set to "2"?
that's normal. the latter is only active when your hotkey (6) is pressed.
https://github.com/RetroPie/RetroPie-Setup/wiki/RetroArch-Configuration#default-joypad-hotkeys
-
@meneer-jansen Once you finish configuring a controller in ES, it runs a few scripts to transform the input mapping you configured into other emulators' input config. One of them is RetroArch - the configs generated are stored in
/opt/retropie/configs/all/retroarch-joypads
as you've noticed - other is Mupen64plus. Basically in the folder above, any gamepad you ever configured will have a RA.cfg
file. The list of these scripts - https://github.com/RetroPie/RetroPie-Setup/tree/master/scriptmodules/supplementary/emulationstation/configscripts.However, your problem doesn't come from here - since you mention that mapping is not correct for non-libretro. Each non-lr emulator has its own config file or configuration menu, which you have to use/configure to get the desired mapping.
You didn't mention the emulator you're having problems - which MAME emulator is ? Pifba, MAME4All ? -
@mitu said in Emulationstation seems to add its own controls:
@meneer-jansen Once you finish configuring a controller in ES, it runs a few scripts to transform the input mapping you configured into other emulators' input config. One of them is RetroArch - the configs generated are stored in
/opt/retropie/configs/all/retroarch-joypads
as you've noticed - other is Mupen64plus. Basically in the folder above, any gamepad you ever configured will have a RA.cfg
file. The list of these scripts - https://github.com/RetroPie/RetroPie-Setup/tree/master/scriptmodules/supplementary/emulationstation/configscripts.However, your problem doesn't come from here - since you mention that mapping is not correct for non-libretro. Each non-lr emulator has its own config file or configuration menu, which you have to use/configure to get the desired mapping.
You didn't mention the emulator you're having problems - which MAME emulator is ? Pifba, MAME4All ?The problem emulators were advance-mame and pcsx-rearmed (for the Playstation 1). I did a lot of reconfiguring for Advance-Mame the other night. Deleted double config files, created symlinks to one of them, changed the way ES starts the game, etc. Appeared to solve the problem. Emulatinstation works extremely (over)complicated.
On pcsx-rearmed the up button keeps on showing the frames per second. Even outside of ES. Idug through it's settings file but I cannot for the life of me find double setting for the up button.
Thank y'all for the explanations and tips: I marked this topic as solved.
-
@meneer-jansen said in [solved] Emulationstation seems to add its own controls:
Emulatinstation works extremely (over)complicated.
Your problems have nothing to do with Emulationstation, but with the emulators used. All that ES does when you start the game is run the command configured in
es_systems.cfg
and nothing more, the rest is up to the Runcommand script and the emulator itself.
Glad you managed to solve things, now go play ! -
Bloody Hell. Experienced the same thing in Mame4all. Why do I need Mame4all? Because I want to play one of my favorite childhood games: Gyruss. I own a Pi 1 and the LR (LibRetro) versions om Mame wont run acceptable. AdvMame does run well, except for Gyruss.
Anyway, started Gyruss, configured my gamepad to work w/ it and started to play. But no matter what I changed concerning configuration (i.e. in Mame4all itself or via the config files): every time the frameskip setting was activated if I used the up or right button from either of my controllers (apart from steering my space ship up or right). Deleted the file /opt/retropie/configs/mame-mame4all/cfg/default.cfg. Because of this Mame4all created (a clean version of) that file again itself in the same dir. Same problem. Then I copied siad binary, non editable, file from my old SD card that had Retropie on it and Boom! It worked. Apparently it created its own corrupt settings file that could not be put right.
Now what does this mean if you ask me? I cannot explain this in any other way than that the Mame4All binary is compiled wrongly from source or that the version of the source code that Retropie uses is corrupt. At the moment I'm compiling Mame4All from source, but that takes hours on a Pi 1. I'll let know how that worked out.
I still have the same sort of problem w. pcsx-rearmed for the PS1. No idea how to solve that one. Any suggestions?
P.S. The amount of reconfiguring, troubleshooting and testing of Retropie I've had to do the last few days is staggering. Took me tens and tens of hours.
-
Blimey! Compiled Mame4All from source. Prolem persisted and workaround via copying old config file didn't work, re-installed Mame4All from binary and still workaround won't work. WTF?!
-
Blimey, blimey, blimey, blimey, blimey and blimey again! I swear that I'm not a paranoid schizophrenic, but I deleted the config files in /opt/retropie/configs/mame-mame4all/cfg/ rebooted a few times and the erroneous behavior was gone and my settings were not gone even though I deleted the settings files...
Now for that weird behavior from pcsx-rearmed. Maybe that will disappear itself too.
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.