Picade button mapping issues

Hi guys,

I’ve just got a picade for Christmas, I set it up the other day and have put in a preloaded sd card. The problem is when I set the button configuration it doesn’t set the buttons correctly. It seems one of the button fast forwards a game and one slows it down and also there is no way I can actually start a game. I just don’t know what to do to get it working right. I hope someone can help as I’ve been so looking forward to playing it. :)

Thanks in advance

I’m not sure what a “preloaded sd card” is, so if you can give more details on that it may help.

When you say you “set the button configuration” are you talking about going through the Emulation Station’s “Configure Input” wizard, where you move the joystick and push the arcade buttons to assign them to up/down/left/right, Start, Select, etc?

Hi, the sd card has retropie already installed plus the roms. Yes when in emulationstation I assign the buttons as described on a previous thread but once configured they don’t work as they should. For example I cannot add coins/credits to a game so I’m unable to play a game. As the button that I assigned to be that the coins/1 up button doesn’t work. But if I press the right shift button on the keyboard it would add the credits. I hope that makes a little sense, I’m new to all of this.

Thanks again

What should happen is that the Picade button you assign to the ‘Select’ function in the wizard should add a coin when you’re in an arcade game.

With the pre-loaded sd card, did you have to run the Picade script to install the XHAT driver? I ask because if the driver was pre-installed, it may have non-standard key strokes assigned to buttons, and that may be causing a conflict somewhere.

Hi yeah I entered the picade script for the xhat driver when I set it up I just assumed I would need to do that. Is there a way a could un-assign the pre installed one? I looked in the driver packages on retropie and it says that the xpad driver is selected.

Best to check before you do anything else. Quit Emulation Station to go to a command line, then move the joystick and press the arcade buttons to see what keys they produce. The image below shows what they should be:

ps. not my image, it was posted by another user on the forum. Sorry I can’t remember who, but thanks go to them if they see this.

I also started with a pre-loaded SD Card and run into the same issues. I could not set up the button mapping, nothing really worked. I took screenshots and videos when I wanted to add a coin. There were also a lot of bezels that were redundant as the display is 4:3 anyway and not widescreen. I ended up saving all the roms and metadata and set up a fresh install of Retropie, installed the driver and did the button mapping and copied over the roms afterwards. Took some time but not everything works. These pre-loaded cards have all kind of extras installed you don´t need and the button re-mapping is a pain in the a**

Good Luck!

Maybe the pre-loaded cards have some non-standard/old key bindings configured in RetroArch. If these are the same as some of the keys that the XHAT uses for the Picade buttons, that could explain the odd behaviour of the buttons.

Thanks for all the help here, so can you reconfigure the key bindings and if so where would I do that?

So would I remove everything of the sd and save this to the laptop. Then plug the sd card in empty? And then run retropie, install the driver, configure the buttons. Then put all the information back on the sd card? And it should work?


It’s only a guess that the RetroArch key bindings might be the problem. If you want look into that, go to the RetrpPie page in Emulation Station and select the RetroArch option. Then from the main menu go to Settings, then Input, then Hotkey binds.

If you want to start from scratch with a standard RetroPie installation, you need to follow the instructions on Pimoroni’s Picade page. You download the RetroPie image, flash it to the sd card, boot the system using that card, then install the driver, configure buttons, etc. This will wipe everything currently on the card, so if you want to keep the roms you need to copy them off the card before you start, then copy them back to the card at the end. This is what Will described above, and he says he copied the metadata as well, but I’m not sure what that is.

How do I enter the retroarch option as it won’t let me enter it from emulationstation to see the hotkey binds? There doesn’t seem an option for that?

If you use the joystick left/right to go through the various game systems in Emulation Station, there should be a page titled RetroPie. This should have about a dozen options (Audio, Bluetooth, etc) one of which should be RetroArch.

The hotkeys should only work when pressed at the same time as the hotkey button. For example, on my system the hotkey for ‘fast forward toggle’ is space. The XHAT driver uses the space key for one of the game buttons, so when I press that button at the same time as the hotkey, the game goes into fast forward mode. If I press that button without the hotkey it does nothing.

With metadata I meant the images, videos etc.

Of course you can try to figure these issues out. I also tried it but gave up after a while. So I copied all the roms, meta data (the folders with the images etc.) as well as the BIOS files to my computer via Wifi (took some time :-)). After that I did a clean install of Retropie, installed the driver, set up the controls and copied the roms, meta data and BIOS files back (also via Wifi), restarted and everything worked. I just had to manuyll install some emulators and change the order of the systems in Retropie. Please note that for Arcade games you might have to change the name of FBA to FBNeo, as it is not called FB Alpha any more, but FB Neo (many Arcade Rom sets use the old name).

Thanks Will I’m copying all the Roms and other data on to my pc now. It’s looks like it’s gonna take a long time to download. But I feel as well it’s the only way it’s going to work for me. I’ll come back and give you guys an update once it’s done. Again thanks for all the help and advice you’ve given.



Hi Madmain,

Not sure if you figured this out.
I have recently had similar problems with pre-built sd card images. Here are my notes from fixing this (maybe will help you):

(1) Configuring the control input:

From emulation station input configuration I mapped the following:

Input Configuration

D-Pad Up: up [joy up] -> “up”
D-Pad Down: [joy down] -> “down”
D-Pad Left: [joy left] -> “left”
D-Pad Right: [joy right] -> “right”
Start: [front right button] -> “o”
Select: [front left button] -> “i”
A: [button 6] -> “x”
B: [button 5] -> “z”
X: [button 2] -> “left-alt”
Y: [button 1] -> “left-ctl”
LS: [button 4] -> “left-shift”
RS: [button 3] -> “space”
LT: [side left] -> “ESC”
RT: [side right] -> “RETURN”
Hot Key: [front left button] -> “i”

Note: the xhat pretends to be a keyboard and essentially maps the joy and buttons to certain “keyboard” keys. The quoted values above show these interpretted keys (you can also see this in the emulation station input configuration screen). These values are what you need for retroarch configuration. See later.

(2) Retro Arch Configuration

There are really two files to consider per system:


Where <system> could be snes or arcade, etc.
The system specific retroarch.cfg files override the “all” retroarch.cfg. But you need to consider both.

ssh to your pi and manually edit these.

You mentioned that you had fast forward mapped to start. You need to purge (set value to “nul”) any mapping to the interpretted key presses. So somewhere in those files I suspect that “o” was mapped to some fast forward configuration. I’ll reiterate this: MAKE SURE THE KEY PRESSES ARE NOT DUPLICATED ELSEWHERE IN THE RETROARCH.CFG FILES! Sorry for shouting, took me ages to work this out.

I had specific problems with arcade exiting. I had to modify the following:

input_exit_emulator = “o” -> input_exit_emulator = “escape”

Here are some of the other mappings I played with in the retroarch.cfg files:


Turn them off!

input_overlay_enable = “false”
framecount_show = “false”

More Bezels

Had to rename *.cfg file to remove bevel.


And likewise for Gameboy Advance

Save and Load

retroarch.cfg changes:

input_save_state = “space”
input_load_state = “x”
input_enable_hotkey = “i”
input_state_slot_decrease = “left”
input_state_slot_increase = “right”

(3) Just some other random stuff I need to do to make prebuild image more to my taste (these are my raw notes copied here, so hopefully is understandable):


Change Theme to eudora-bigshot (install via retropie menu)

  • Set using es menu Main->UI-Settings->
  • Restart es

Megadrive NOT Genesis


Comment out:

Didn’t work:

/etc/emulationstation/themes/eudora-bigshot/megadrive/theme.xml [change to point at megadrive logo]

Boot Banner Removal

rm /etc/motd


Place mp3 in /roms/music

Good luck,