trimmtrabb
Participant
Post count: 480

Hi, most of the emulators are configured with retroarch.cfg, which is a config file located in /home/pi/RetroPie/configs/all/

Here is the skeleton retroarch.cfg which shows all the options you can configure: https://github.com/libretro/RetroArch/blob/master/retroarch.cfg (anything with a # is commented out)

To define controls for your two gamepads you need to edit your retroarch.cfg via command line or SSH:

nano /home/pi/RetroPie/configs/all/retroarch.cfg

Here is the joypad section of my retroarch.cfg for example, set up for a Xbox 360 pad:

input_player1_joypad_index = "0"
input_player1_b_btn = "1"
input_player1_y_btn = "3"
input_player1_select_btn = "8"
input_player1_start_btn = "9"
input_player1_up_axis = "-5"
input_player1_down_axis = "+5"
input_player1_left_axis = "-4"
input_player1_right_axis = "+4"
input_player1_a_btn = "0"
input_player1_x_btn = "2"
input_player1_l_btn = "4"
input_player1_r_btn = "5"
input_player1_l2_btn = "6"
input_player1_r2_btn = "7"
input_player1_l3_btn = "11"
input_player1_r3_btn = "12"
input_player1_l_x_plus_axis = "+0"
input_player1_l_x_minus_axis = "-0"
input_player1_l_y_plus_axis = "+1"
input_player1_l_y_minus_axis = "-1"
input_player1_r_x_plus_axis = "+2"
input_player1_r_x_minus_axis = "-2"
input_player1_r_y_plus_axis = "+3"
input_player1_r_y_minus_axis = "-3"

input_enable_hotkey_btn = "8"
input_exit_emulator_btn = "9"

input_enable_hotkey_btn = "8"
input_save_state_btn = "5"

input_enable_hotkey_btn = "8"
input_load_state_btn = "4"

input_enable_hotkey_btn = "8"
input_state_slot_increase_btn = "7"

input_enable_hotkey_btn = "8"
input_state_slot_decrease_btn ="6"

input_enable_hotkey_btn = "8" 
input_menu_toggle_btn = "3"

You can use the above as a template (depending on how many buttons you have) but you need to determine which buttons are what on your controller. You can install the jtest utility:

sudo apt-get install joystick

and then run:

jstest /dev/input/js0

To add 2 player controls to your retroarch.cfg, just copy the player 1 controls and paste underneath. Then change input_player1_joypad_index = “0”
to input_player2_joypad_index = “1”

All keymaps need to change to input_player2 instead on input_player1, for example input_player2_b_btn = “1” etc

Hope this helps!