Controller medley on Pi4
Specs: Pi 4 2 GB
Power Supply used: yes a good one ;)
RetroPie Version Used: 4.5.3, EmulationStation - v2.9.0rp, retroarch 1.7.6
Built From: mainly followed this guide: https://www.tomshardware.com/news/raspberry-pi-4-game-emulators,40102.html
USB Devices connected: See next!
Controller used: Logitech Gamepad F710 (instance ID: 3, device index: 0), wireless with dongle
DragonRise Inc. Generic USB Joystick (instance ID: 4, device index: 1) -- arcade sticks
DragonRise Inc. Generic USB Joystick (instance ID: 5, device index: 2)
Followed guide for inserting controller F710: https://github.com/RetroPie/RetroPie-Setup/wiki/Logitech-Controller
First I have to say that everthing woked fine until I decided to buy a new controller for the kids->the Gamepad F710. After inserting the controller I did the button setting in the emulstation and within the emulstation controller and arcade sticks were ok but when starting a game the controller was not working at all. So I did a research on the net and found out that it was known problemf from earlier builds (back then in 2015) where the solution was to siwtch to udev mode in the cfg file. For me the new cfg files seems ok.
Then I did some configuration in retroarch (more exactly I defined the inputs and bindings wihtin retroarch) but from this point the shortcuts in games like select + R1 for saving or select+start for leaving the game aren't working any more and I can't find a way to bring them back. ( I found the option to bring retroarch screen in the game, so at least leaving the games is possible)
After I messed this up I decided to switch the ports on the PI. The dragon sticks were at the beginning on USB 3, so I switched them to USB2 and the dongle for the controller to the USB 3 plug with the result, that now I'm only able to play with the controller but not with the sticks anymore. funny, isn't it....
If someone has a hint, I'd be very happy.
Thanks a lot!
@jimmi4u somehow I'm thinking that this is normal behaviour. Is there an option to switch controllers for player1 within retroarch or ingame? All controllers are set up correcty and are found by retroarch (are showing up within starting in yellow letters in the left bottom corner) so maybe it's only a matter of switching the controllers somehow?...
icebear81 last edited by
Check out https://github.com/meleu/RetroPie-joystick-selection
There are several posts here on it, as is the developer.
If Im tracking correctly, RetroPi uses the first controller found. You can hard code the controller per console in retroarch, but if it is not plugged in, there is no fallback. With Joystick Select, you get the graceful fallback
Hi thanks, I did that already.
I suppose I have to configure the joypads for every console, so that won't be a prob. But do you know how to put back the hotkeys to default, so that select + start is working again?
jupiter last edited by jupiter
In case you're looking in the wrong place, I'm pretty sure your RetroArch mappings for each controller are in: /opt/retropie/configs/all/retroarch/autoconfig/
Here's my nicely-arranged config file for my Logitech Gamepad 310 (tho I've physically moved my buttons to an SNES configuration so these might not be exactly yours). The hotkey mapping your specifically asking about is "input_enable_hotkey_btn".
Also there's a switch on the controller labeled X and D, which you probably want to keep it on X otherwise button output is shifted, and the device is mapped as a separate controller called "Logitech Logitech Dual Action".
(I've hacked access to the RetroArch Menu and Reset hotkey combos by putting the "_" in front of those mappings. This way pushing those buttons doesn't send out that mapping command, making your RPi kid and public friendly. On another note, in a similar fashion I've also disabled Emulation Station admin menus and changed the Enter/Back buttons from A/B to Start/Select at /opt/retropie/configs/all/emulationstation/es_input.cfg)
My "/opt/retropie/configs/all/retroarch/autoconfig/Logitech Gamepad F310.cfg" file:
input_device = "Logitech Gamepad F310"
input_driver = "udev"
input_enable_hotkey_btn = "8"
input_exit_emulator_btn = "9"
_input_menu_toggle_btn = "3"
_input_reset_btn = "0"
input_load_state_btn = "4"
input_save_state_btn = "5"
input_state_slot_increase_btn = "h0right"
input_state_slot_decrease_btn = "h0left"
input_up_btn = "h0up"
input_down_btn = "h0down"
input_left_btn = "h0left"
input_right_btn = "h0right"
input_select_btn = "8"
input_start_btn = "9"
input_a_btn = "1"
input_b_btn = "0"
input_x_btn = "3"
input_y_btn = "2"
input_l_btn = "4"
input_r_btn = "5"
input_l2_btn = "6"
input_r2_btn = "7"
input_l3_btn = "11"
input_r3_btn = "12"
input_l_y_plus_axis = "+1"
input_l_y_minus_axis = "-1"
input_l_x_plus_axis = "+0"
input_l_x_minus_axis = "-0"
input_r_y_plus_axis = "+3"
input_r_y_minus_axis = "-3"
input_r_x_plus_axis = "+2"
input_r_x_minus_axis = "-2"
@jimmi4u You problem might be that the gamepad is not P1, hence it's not active on the current system. That goes for all the controllers - if the F710 is P1, then it work, but the others don't work anymore.
If you want to control the order, try @meleu's joystick ordering tool - https://github.com/meleu/RetroPie-joystick-selection.