Controller not working in games even when configured for RetroArch
-
So I've just setup RetroPie on my Raspberry Pi. EmulationStation started up I configured my controller like normal and it worked in that interface. (Keyboard doesn't wanna work though.) But whenever I play any game (SNES, GB, GBC so far) it doesn't accept input. I get the yellow message in the bottom left corner stating the Xbox 360 controller is being used. And when I go into the controller config settings in the Quick Menu it says everything is configured. (And of course the controller works in the RetroArch menu.)
Model: Raspberry Pi B
Power Supply: Apple Outlet to USB
RetroPie Version: 4.1
Built From: Premade SD Image on RetroPie site
USB Devices: Logitech Keyboard (Not working), Xbox 360 Controller
Controller: Xbox 360 -
Which emulators are you using? In order for the retroarch gamepad configuration to be picked up by the emulator, the emulator has to be one of the libretro cores.
-
Well I haven't changed which emulators are used for the systems I've listed. If I check the /configs/<system>/emulators.cfg then the emulators are as follows:
GameBoy: gambatte_libretro
GameBoy Color: gambatte_libretro
NES: fceumm_libretro
SNES: snes9x2002_libretro -
I did a quick search and found these two posts that might help. If they don't solve the problem, they will at least offer some additional troubleshooting steps for you.
https://retropie.org.uk/forum/topic/2097/controller-does-not-work-in-games/7
https://retropie.org.uk/forum/topic/813/wired-xbox-360-controller-not-working-in-games/7
-
Okay so neither of those work but I have made progress in a different way.
I copied the config file (other than the name of the controller) from here to my MicrosoftX-Box360pad.cfg file and now the start and A/B buttons are sort of working. The problem is the DPad or Left/Right Analog stick work as directionals.
This is what my config was originally set as: (I forgot to state so earlier but my controller is wired)
Edit: I should also note that what I assume is labeled as the start button has the same inputs in both texts so I'm not sure why it's working in only one of them.
input_device = "Microsoft X-Box 360 pad" input_driver = "udev" input_r_y_plus_axis = "+4" input_l3_btn = "9" input_r_x_minus_axis = "-3" input_l_btn = "4" input_load_state_btn = "4" input_start_btn = "7" input_exit_emulator_btn = "7" input_l_y_minus_axis = "-1" input_up_btn = "h0up" input_r_y_minus_axis = "-4" input_a_btn = "0" input_b_btn = "1" input_reset_btn = "1" input_down_btn = "h0down" input_l_x_plus_axis = "+0" input_l_y_plus_axis = "+1" input_r_btn = "5" input_save_state_btn = "5" input_r2_axis = "-5" input_r3_btn = "10" input_right_btn = "h0right" input_state_slot_increase_btn = "h0right" input_x_btn = "2" input_menu_toggle_btn = "2" input_select_btn = "6" input_enable_hotkey_btn = "6" input_l_x_minus_axis = "-0" input_y_btn = "3" input_left_btn = "h0left" input_state_slot_decrease_btn = "h0left" input_r_x_plus_axis = "+3" input_l2_axis = "+2"
-
I've found the underlying issue for all of this not working in the first place. Somehow EmulationStation set my input_r2_axis to -5. When I changed it to +5, that's when it started working.
-
Sweet! Glad you got it sorted out!
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.