Controls not working in game, ok on Retropie
I have a Picade and I'm struggling to get the controls working within libretro emulator core games such as SNES and GBA. I can navigate the main Retropie menu using the joystick, A/B/Start/Select buttons without issue, but when I launch a game, nothing works. I then have to reboot the my RPi 3 to exit.
Using a fresh Retropie 4.1 image, I configure the buttons during the initial setup. These map to default keyboard keys as defined within the Picade PCB:
D-Pad Up = Key Up
D-Pad Down = Key Down
D-Pad Left = Key Left
D-Pad Right = Key Right
Start = S
Select = C
A = Z
B = Left Shift
X = left alt
Y = left ctrl
Left trigger = X
Right trigger = Space
I can see that these are stored within /home/pi/.emulationstation/es_input.cfg and if I delete this file I'm prompted to set my controller up again.
Looking at the Retroarch Configuration wiki page, it implies that AutoConfigurations are stored in /opt/retropie/configs/all/retroarch-joypads, but I see nothing in there at all. Could this be why the controller isn't working within games?
pi@retropie:/opt/retropie/configs/all/retroarch-joypads $ ls -al
drwxr-xr-x 2 pi pi 4096 Nov 5 21:26 .
drwxr-xr-x 14 pi pi 4096 Jan 5 21:56 ..
What should I do to troubleshoot this please?
Thanks in advance.
@jarrah if you have deleted the
es_input.cfgfile you will have broken the automatic configuration of retroarch - you should reset it via retropie-setup (configuration / tools -> emulationstation)
keyboard mapped controls are configured in
I have 2 x picades (which map to keyboard0, and it's enough to just configure in Emulation Station for it to be setup, so it must be due to you removing the
Good point, i'll burn a fresh image and try again. Thanks!
@BuZz Hmm, after writing a fresh Retropie 4.1 image I still have the same problem unfortunately.
I can see my keyboard mapped controls in /opt/retropie/configs/all/retroarch.cfg, as shown below:
input_player1_a = "z"
input_player1_b = "shift"
input_player1_y = "ctrl"
input_player1_x = "alt"
input_player1_start = "s"
input_player1_select = "c"
input_player1_l = "q"
input_player1_r = "w"
input_player1_left = "left"
input_player1_right = "right"
input_player1_up = "up"
input_player1_down = "down"
input_player1_l2 = "x"
input_player1_r2 = "space"
Also of more interest, I can control the game using a wireless keyboard with the same mapped keys. For example I can move up and down a game menu using arrow keys on my keyboard, but there's no response at all from the picade joystick (even though it works in Retropie). Odd!
Not sure what the problem might be - have you unplugged all other controllers/keyboards ?
Does it make a difference if you update RetroArch from source ?
if you run
showkeyfrom a terminal does it show any other keys pressed (In case there is a button pressed that is interfering due to an issue with wiring / picade pcb)
Which picade are you using ? Does it use the picade hat or the USB connected PCB ?
Thank you for the advice, i'll do some testing. At the moment I'm using the Picade HAT, so i'll rewire back to the USB PCB to see if that helps.
To close this issue, a bug was found in Picade HAT software which has now been fixed. See http://forums.pimoroni.com/t/picade-hat-joystick-not-detected-w-out-usb-keyboard-plugged-in/3704/30