Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

RetroPie with Two Dual X-Arcade Joysticks

Repo for setting up RetroPie with two dual-joystick X-Arcades. Includes the configuration file, retroarch.cfg, which has been tested and works with the exact hardware and software setups below.

dual x-arcade joysticks with retropie

Hardware Requirements

  • Raspberry Pi b+
  • 2 X-Arcade Dual Joysticks
  • ps/2 keyboard (old style keyboard connection, wikipedia)

Software Requirements

Steps to get it up and running

  1. Install RetroPie as per this fantastic lifehacker post.
    • NOTE: Do NOT do step three
  2. SSH into your RetroPie and open retroarch.cfg
    • location: /opt/retropie/configs/all/retroarch.cfg
  3. Connect your second X-Arcade to a computer and the ps/2 keyboard to the x-arcade
    • you only need to connect it to a computer to power the X-Arcade
  4. Follow X-Gaming's joystick programming instructions and program the second X-Arcade to match the Player 3 and Player 4 keyboard setups.
  5. Reboot RasPi
  6. Profit

A note on Arcade Mames

For whatever reason, the mapping doesn't match in Mame. For instance, for player one the joysticks are up/down/left/right, not the keypad numbers.

To fix, connect a keyboard to your RasPi and go update the system-wide controls while inside any MAME game by hitting tab. Test your games...I ran into a few other MAME's that needed updating.

Just do it. You know this is your whole weekend plan anyway.

What's different in this retroarch.cfg

Configuration for four players:

This programming matches my X-Arcade configuration.

input_exit_emulator = esc
input_player1_a = z
input_player1_b = shift
input_player1_down = keypad2
input_player1_l = space
input_player1_left = keypad4
input_player1_r = x
input_player1_right = keypad6
input_player1_select = num5
input_player1_start = num1
input_player1_up = keypad8
input_player1_x = alt
input_player1_y = ctrl
input_player2_a = e
input_player2_b = w
input_player2_down = f
input_player2_l = q
input_player2_left = d
input_player2_r = [
input_player2_right = g
input_player2_select = num6
input_player2_start = num2
input_player2_up = r
input_player2_x = s
input_player2_y = a
input_player3_a = keypad0
input_player3_b = o
input_player3_down = k
input_player3_l = enter
input_player3_left = j
input_player3_r = t
input_player3_right = l
input_player3_select = num7
input_player3_start = num3
input_player3_up = i
input_player3_x = rshift
input_player3_y = rctrl
input_player4_a = keypad5
input_player4_b = m
input_player4_down = n
input_player4_l = h
input_player4_left = v
input_player4_r = keypad7
input_player4_right = u
input_player4_select = num8
input_player4_start = num4
input_player4_up = y
input_player4_x = keypad1
input_player4_y = b

What buttons am I smashing?

This is what X-Arcade uses for it's default button-to-keyboard mapping x-arcade default buttons

This is the setup for what the system understands you to be clicking:

x-arcade left buttons x-arcade right buttons

Create your own chart!



Repo for setting up RetroPie with two dual-joystick X-Arcades






No releases published


No packages published