#82793
white-elephant
Participant

Hi,

Just tackled a similar issue, with a wired GPIO nes pads and USB snes pads.

What made them all work with properly was:

1. deleting (or commenting) the “input_player#_whatever=” in the
/opt/retropie/configs/all/retroarch.cfg
2. making seperate configuration files for each type of joystick in the
/opt/retropie/emulators/RetroArch/configs/

for example, I made this file for my USB snes pad:
/opt/retropie/emulators/RetroArch/configs/USBGamepad.cfg


input_device = "USB Gamepad "
input_driver = "udev"

input_a_btn = "1"
input_b_btn = "2"
input_x_btn = "0"
input_y_btn = "3"
input_l_btn = "4"
input_r_btn = "5"
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_enable_hotkey_btn = "8"
input_exit_emulator_btn = "9"

and my GPIO nes controller has another file (it’s a Japanese Famicom, and different from US wiring)
/opt/retropie/emulators/RetroArch/configs/NESpad.cfg


input_device = "NES pad"
input_driver = "udev"

input_b_btn = "1"
input_select_btn = "2"
input_start_btn = "3"
input_up_axis = "-1"
input_down_axis = "+1"
input_left_axis = "-0"
input_right_axis = "+0"
input_a_btn = "0"

input_enable_hotkey_btn = "2"
input_exit_emulator_btn = "3"

* I got the name of the device from running:
udevadm info --query=all --n /dev/input/js0 --attribute-walk