Controller mapping different in emulators
I'm trying to configure 2 different kinds of controllers (using retropie-4.4 for my rpi2) and I can't seem to figure it out. In Emulation Station and RetroArch GUI both are correctly mapped but ingame on any emulation the mapping seems to have changed again.
One controller is a Terios T3 bluetooth controller and the other one a Logitech Dual Action USB gamepad. Both buttons mapping are completely different. The same physical buttons have different button mappings for example "L1" is button 6 on gamepad 1 and button 8 on gamepad 2.
When I check /opt/retropie/configs/all/retroarch-joypads I can see that both files are there. I cross-checked the mapping in both files by testing the controllers with
jstest /dev/input/js0and js1 and it's an identical match.
In /opt/retropie/configs/all/emulationstation/es_input.cfg both controllers are there with correct mapping.
When I check the retroarch.cfg files in the emulators folders they all have "input_remapping_directory" uncommented so it should take my controller mapping.
In my desperation I tried running "Basic install" in the RetroPie-Setup script but that didn't resolve anything.
I'm at a loss here.
Any help would be greatly appreciated.
ingame on any emulation the mapping seems to have changed again.
What does this mean ? Can you give an example - game, buttons, etc - what is changed ? If you use one controller at a time, does it work fine ?
Please also add the info requested in https://retropie.org.uk/forum/topic/3/read-this-first.
First things first, my info:
Pi Model or other hardware: RPi 2
Power Supply used: 5V 2.1A with grade A cable
RetroPie Version Used: 4.4
Built From: Pre made SD Image on RetroPie website (retropie-4.4-rpi2_rpi3.img)
USB Devices connected: Logitech Dual Action USB gamepad, 1x Logitech K400 wireless keyboard, USB bluetooth dongle
Controller used: Terios T3, Logitech Dual Action USB gamepad
Error messages received: None
My Logitech USB gamepad seems to work properly now, maybe I was mistaken and it did work correctly. I'll try to pay better attention to those important details in the future. My Terios T3 is still not OK though.
Below the configs in RGUI (Device Index Gamepad = Terios T3 and Device Index Logitech Logitec... = Logitech USB gamepad)
As you can see for the Terios T1 gamepad the A-button for example is mapped to "0" and B-button is "1". This checks out when running
This works in EmulationStation as expected and I'm also able to navigate in the RetroArch menu using these controls.
When I enter a game (any game, any emulator) the Logitech controllers seems to keep the correct mapping but my Terios controller goes haywire. None of the buttons do anything (D-pad does work) except for my B-button which is now the mapped to START for some reason.
When I open the RetroArch menu ingame (for example Contra 3 on SNES) I can see the buttons are still mapped correctly but the behaviour of the buttons has changed. When I press "A" on my controller it doesn't work. When I press "B" it's suddenly START.
I don't know where to look anymore, the configuration seems OK, the emulators inherit the button mapping as expected but it almost seems that the buttons are not the same anymore. Where pushing down on the B-button would translate to "1" in EmulationStation and RetroArch, it's translating that to "11" ingame.
Did you, by any chance, enabled 'Save config on exit' in RetroArch or used the 'Save Configuration' menu ?
Save config on exit'
used the 'Save Configuration' menu'
Yes after the problem was already there
@hushkin How large is the
/opt/retropie/configs/snes/retroarch.cfgfile ? It should be about 4 lines, but if you saved the config it might be very large. I'd suggest to reset it to its default contents (see below) and re-start a SNES game to check if the 2nd gamepad works fine.
# 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"
It's the same as the code you provided. The issue is also not limited to SNES. It's affecting all emulators. I'm using all the default emulators that came with the system.
I might try to reflash Retropie to see if it fixes the issue. If that doesn't work I'll try another release.
@hushkin Instead of re-flashing you could just reset the controller configuration and start over with it. You can reset them from the
emulationstationpackage in the RetroPie-Setup script. After that, ES should prompt you to re-configure them again. Try starting with the problematic controller and see who it behaves.