USBGamepad RetroArch controller buttons mapping

Home Forums RetroPie Project Everything else related to the RetroPie Project USBGamepad RetroArch controller buttons mapping

RetroPie has a new website and forum. Please visit for the new site. The new forum is located at This forum is left here as a read-only archive.

This topic contains 5 replies, has 3 voices, and was last updated by Profile photo of phonetic phonetic 2 years, 1 month ago.

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
  • #91607
    Profile photo of phonetic

    Hi everybody,

    I’m running RetroPie 2.6.0 on a Raspberry Pi 2. No problems until I got me one of those retro SNES-style controllers. I’ve been using a Gravis Gamepad Pro up until then and it worked flawlessly, but I can’t seem to get that retro controller to work. It simply registers as USBGamepad, mapped the buttons for emulation station and that worked, I went on and registered it as a new RetroArch controller, which seemed to work, but when I run a game, the buttons are messed up, A for example resets the game etc. I tried editing the USBGamepad.cfg that seemed to be the root of the problem, since there the A button was also set for input_reset_btn, so I set the value of that to blank. Buuuuuut that didn’t do the trick.
    Does anyone know which config I have to edit to get it to work again?
    Help is greatly apprechiated.

    Profile photo of Floob

    You could post up your controller file and perhaps we can see the issue.

    This may help:

    RetroPie help guides -->
    Please read this before asking for help -->

    Profile photo of phonetic

    There you go:

    input_device = "USB Gamepad "
    input_driver = "udev"
    input_b_btn = "2"
    input_y_btn = "3"
    input_select_btn = "8"
    input_start_btn = "9"
    input_up_axis = "-1"
    input_down_axis = "+1"
    input_left_axis = "-0"
    input_right_axis = "+0"
    input_a_btn = "1"
    input_x_btn = "0"
    input_l_btn = "4"
    input_r_btn = "6"
    input_enable_hotkey_btn = "8"
    input_exit_emulator_btn = "9"
    input_menu_toggle_btn = "0"
    input_load_state_btn = "4"
    input_save_state_btn = "6"
    input_reset_btn = "2"
    input_state_slot_increase_axis = "+0"
    input_state_slot_decrease_axis = "-0"

    That’s the config generated, seems alright, but when I start a RetroArch emulator, the hotkey button seems to be pressed permanently and can’t be toggled. Even if I remove the entries for hotkeys, there is no change.
    I tried overriding the paths, no effect.

    With the Gravis gamepad it worked without problems, yet I had issues in EmulationStation where when returning from an emulator it behaved like the ‘up’ button was permanently pressed.

    Anyway, where do I have to change the button mappings to see an effect?

    Profile photo of barbudreadmon

    Probably a conflict between different autoconfig files for adapter named “USB Gamepad ”
    Remove input_device.
    Add (correct) input_vendor_id and input_product_id.
    lsusb will return vendor_id and product_id in hexadecimal, you just have to turn them to decimal.

    • This reply was modified 2 years, 1 month ago by Profile photo of barbudreadmon barbudreadmon.
    Profile photo of Floob

    Can you post your /opt/retropie/configs/all/retroarch.cfg as an attachment?
    You might simply need to change
    input_enable_hotkey = nul
    input_enable_hotkey = alt

    RetroPie help guides -->
    Please read this before asking for help -->

    Profile photo of phonetic

    Thanks guys, apparently there has been a conflict between controller configs.
    I set input_enable_hotkey to alt and I could finally use the pad, but the buttons were all mixed up. Then I deleted all controller config files except the ones I’m using, and voilá, it’s working. Strange, since there was no other config file with that name.
    Be that as it may, it’s working. For now. Thanks again.

Viewing 6 posts - 1 through 6 (of 6 total)

Forums are currently read only - please visit the new RetroPie forums at

Skip to toolbar