Please do not post a support request without first reading and following the advice in

Gamepad Config - Buttons not recognized - Pi Zero

  • Hello there,

    I was trying to set up a Retropie system as my vacation project and ran into the following issue.

    When I start the system after the installation of retropie it asks me to configure my gamepad.

    It detected all gamepads I plugged in.
    I can hold down a button to start the configuration process.
    But when I try to configure the buttons no button presses are recognized.

    My system:
    Pi Model or other hardware: (B, B+, 2 B, 3, X86 PC etc..)
    Raspberry Pi Zero W
    Power Supply used: (If using a Pi)
    OTB-R07-0525 // 5V / 2.5A
    RetroPie Version Used (eg 3.6, 3.8.1, 4.1 - do not write latest):
    Built From: (Pre made SD Image on RetroPie website, Berryboot, or on top of existing OS etc.. - please provide the filename of any image used)
    Downloaded from Retropie-Website on 30.07.2020
    Used balenaEtcher to write the image on a Sandisk 64GB Micro SD-Card (FAT32)
    USB Devices connected:
    Amazon Basics USB 2.0 4-Port Ultra Mini Hub via Micro-USB-Adapter
    Generic ASUS Keyboard
    Controller used:
    iNNEXT USB SNES Controller
    PS4-Controller via USB-Cable
    an old speedlink USB-Controller
    Error messages received:
    Guide used: (Mention if you followed a guide)

    What I tried already:

    • Switched the Power Supply to an Samsung Tablet Power Supply (5V / 2.0A)
      --> nothing changed
    • Switched the SD-Card (first I tried a Sandisk 64GB MicroSD-Card which I formated to FAT32 using Mini Tool Partition Wizard Free; then I tried an older Sandisk 16 GB)
      --> nothing changed
    • Switched the USB-Hub to a TUSITA 3-Port Charging OTG Host Cable Cord Adapter (Modelno. KR-AP-1 )
      --> nothing changed
    • I ran "jstest"
      --> the input of all controllers was recognized
    • I did a new installation using Raspberry Pi Imager
      --> nothing changed

    I tried everything I could think of.

    I really hope someone can help me with my problem.

    Thank you in advance!

  • Global Moderator

    If jstest works for a controller, it should be recognized and configured by EmulationStation also.
    Exit EmulationStation (F4) and then run emulationstation --debug from the command line, then try to configure the gamepad. Post the resulting log file (from $HOME/.emulationstation/es_log.txt) to

  • @mitu
    Thank you for your response :-)

    I tried out what you asked.

    1. I used the debug-command emulationstation --debug
      Which resulted in a reboot of emulationstation
    2. I pressed F4 to reenter the command line and used $HOME/.emulationstation/es_log.txt
      and I got this response:
      -bash: /home/pi/.emulationstation/es_log.txt: Permission denied

    Could the missing permission be part of the issue?

  • Global Moderator

    @christalclear said in Gamepad Config - Buttons not recognized - Pi Zero:

    Could the missing permission be part of the issue?

    No, it's not a permissions issue - you're trying to execute a text file, which is not executable.

    You need to open the file with a text editor to see its contents. The same file is accessible via file shares at \\retropie\configs\all\emulationstation. Open it with a text editor and post the contents on, then provide the link you get from the site here.

  • I didnt know how to access it via file shares.

    Therefore I had to view it via nano and use a picture-to-text-tool to convert it into text form.

    I hope it will suffice.

  • Global Moderator

    Did you try to configure the gamepad in EmulationStation, after starting it with --debug ? I see the gamepad is detected:

    	Feb 13 16:23:16 lulZ:	Added unconfigured joystick USD Gamepad (G111D: 03000000790000001100000010010000, instance ID: O dtuice ihdtx: 0)

  • I dont think that I did

  • I tried again.

    This time it even recognized the first button.

    But then there was no more response.

    I couldnt even enter command line with F4.

  • Global Moderator

    My guess is that the USB hub disconnects during configuration. If you have Wi-Fi enabled, can you also enable SSH and try connecting to the system before you do the configuration, then run dmesg -w and look to see if any error messages appear on the screen during the configuration ?

  • So I enabled WIFI and SSH and successfully connected with the Pi using WinSCP.

    It needed to reboot three time because my keyboard was not recognized again.

    I ran dmesg -w but there were no obvious error messages.

  • Global Moderator

    Can you run dmesg > $HOME/RetroPie/roms/dmesg.txt after booting and then browse to \\retropie\roms\ and post the dmesg.txt file's contents on ?

  • I did what you asked.

  • Global Moderator

    Looking at the system log you posted, I don't see any errors. The hub is detected and so is the keyboard and the gamepad. There are no error or disconnects like I imagined.

  • Gotta be honest... I dont know what to do next...

    Could it be an issue with the Raspberry Pi Zero itself?

  • Global Moderator

    I don't think the Pi is faulty.
    You could manually create the input configuration - based on the values reported by jstest - and adding it to \\retropie\configs\all\emulationstation\es_input.cfg.

    Can you add the following lines to the file, before the last line with </inputList>:

    <inputConfig type="joystick" deviceName="Sony Interactive Entertainment Wireless Controller" deviceGUID="030000004c050000cc09000011810000"
        <input name="rightanalogup" type="axis" id="4" value="-1"/>
        <input name="rightanalogdown" type="axis" id="4" value="1"/>
        <input name="rightanalogright" type="axis" id="3" value="1"/>
        <input name="rightanalogleft" type="axis" id="3" value="-1"/>
        <input name="pageup" type="button" id="4" value="1"/>
        <input name="pagedown" type="button" id="5" value="1"/>
        <input name="up" type="hat" id="0" value="1"/>
        <input name="left" type="hat" id="0" value="8"/>
        <input name="down" type="hat" id="0" value="4"/>
        <input name="right" type="hat" id="0" value="2"/>
        <input name="select" type="button" id="8" value="1"/>
        <input name="start" type="button" id="9" value="1"/>
        <input name="y" type="button" id="3" value="1"/>
        <input name="x" type="button" id="2" value="1"/>
        <input name="b" type="button" id="0" value="1"/>
        <input name="a" type="button" id="1" value="1"/>
        <input name="leftanalogdown" type="axis" id="1" value="1"/>
        <input name="leftanalogup" type="axis" id="1" value="-1"/>
        <input name="leftanalogright" type="axis" id="0" value="1"/>
        <input name="leftanalogleft" type="axis" id="0" value="-1"/>

    This should configure a PS4 Dualshock controller - see if, after adding these lines and restarting EmulationStation, your PS4 controller is recognized and functioning.

  • I used WinSCP to SSH into the Pi.

    I could not find the directory that you suggested.

    Did I do something wrong?

  • Global Moderator

    The \\retropie\configs\all\emulationstation path is for using File Shares to access the Pi.
    If you're using SSH/SCP, then the same folder can be accessed at $HOME/.emulationstation or at /opt/retropie/configs/all/emulationstation.

  • I added the lines.

    The es_input.cfg file looks now like this.

    But the PS4-Controller is still not recognized after rebooting.

  • Global Moderator

    The file looks right, but I still can't pinpoint why this doesn't work.
    Can you run again emulationstation --debug and then post the log (now with the new configuration file) ?

  • Here is the new es_log.txt

    After running emulationstation --debug I tried to configure the PS4-Controller.

    It recognized the first button press but after that I got a error message.

    I recieved that message a couple of times now.

    I already checked the gpu_split which seemed to be ok.
    It was set to the same values as in the documentation.



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.