Skip to content

Instantly share code, notes, and snippets.

@alexras
Created August 5, 2011 06:15
Show Gist options
  • Save alexras/1127002 to your computer and use it in GitHub Desktop.
Save alexras/1127002 to your computer and use it in GitHub Desktop.
This file configures MAME to use four controllers (I use XBox 360 wireless controllers) as inputs
<?xml version="1.0"?>
<!-- This file configures MAME to use four controllers (I use XBox 360 wireless controllers) as inputs -->
<mameconfig version="10">
<system name="default">
<input>
<port type="P1_JOYSTICK_UP">
<newseq type="standard">
JOYCODE_1_YAXIS_UP_SWITCH
</newseq>
</port>
<port type="P1_JOYSTICK_DOWN">
<newseq type="standard">
JOYCODE_1_YAXIS_DOWN_SWITCH
</newseq>
</port>
<port type="P1_JOYSTICK_LEFT">
<newseq type="standard">
JOYCODE_1_XAXIS_LEFT_SWITCH
</newseq>
</port>
<port type="P1_JOYSTICK_RIGHT">
<newseq type="standard">
JOYCODE_1_XAXIS_RIGHT_SWITCH
</newseq>
</port>
<port type="P1_BUTTON1">
<newseq type="standard">
JOYCODE_1_BUTTON12
</newseq>
</port>
<port type="P1_BUTTON2">
<newseq type="standard">
JOYCODE_1_BUTTON14
</newseq>
</port>
<port type="P1_BUTTON3">
<newseq type="standard">
JOYCODE_1_BUTTON15
</newseq>
</port>
<port type="P1_BUTTON4">
<newseq type="standard">
JOYCODE_1_BUTTON13
</newseq>
</port>
<port type="P1_BUTTON5">
<newseq type="standard">
JOYCODE_1_BUTTON9
</newseq>
</port>
<port type="P1_BUTTON6">
<newseq type="standard">
JOYCODE_1_BUTTON10
</newseq>
</port>
<port type="P1_BUTTON7">
<newseq type="standard">
JOYCODE_1_RYAXIS_POS_SWITCH
</newseq>
</port>
<port type="P1_BUTTON8">
<newseq type="standard">
JOYCODE_1_RZAXIS_POS_SWITCH
</newseq>
</port>
<port type="P1_START">
<newseq type="standard">
JOYCODE_1_BUTTON5
</newseq>
</port>
<port type="P1_SELECT">
<newseq type="standard">
JOYCODE_1_BUTTON8
</newseq>
</port>
<port type="P2_JOYSTICK_UP">
<newseq type="standard">
JOYCODE_2_YAXIS_UP_SWITCH
</newseq>
</port>
<port type="P2_JOYSTICK_DOWN">
<newseq type="standard">
JOYCODE_2_YAXIS_DOWN_SWITCH
</newseq>
</port>
<port type="P2_JOYSTICK_LEFT">
<newseq type="standard">
JOYCODE_2_XAXIS_LEFT_SWITCH
</newseq>
</port>
<port type="P2_JOYSTICK_RIGHT">
<newseq type="standard">
JOYCODE_2_XAXIS_RIGHT_SWITCH
</newseq>
</port>
<port type="P2_BUTTON1">
<newseq type="standard">
JOYCODE_2_BUTTON12_SWITCH
</newseq>
</port>
<port type="P2_BUTTON2">
<newseq type="standard">
JOYCODE_2_BUTTON14_SWITCH
</newseq>
</port>
<port type="P2_BUTTON3">
<newseq type="standard">
JOYCODE_2_BUTTON15_SWITCH
</newseq>
</port>
<port type="P2_BUTTON4">
<newseq type="standard">
JOYCODE_2_BUTTON13_SWITCH
</newseq>
</port>
<port type="P2_BUTTON5">
<newseq type="standard">
JOYCODE_2_BUTTON9_SWITCH
</newseq>
</port>
<port type="P2_BUTTON6">
<newseq type="standard">
JOYCODE_2_BUTTON10_SWITCH
</newseq>
</port>
<port type="P2_BUTTON7">
<newseq type="standard">
JOYCODE_2_RYAXIS_POS_SWITCH
</newseq>
</port>
<port type="P2_BUTTON8">
<newseq type="standard">
JOYCODE_2_RZAXIS_POS_SWITCH
</newseq>
</port>
<port type="P2_START">
<newseq type="standard">
JOYCODE_2_BUTTON5_SWITCH
</newseq>
</port>
<port type="P2_SELECT">
<newseq type="standard">
JOYCODE_2_BUTTON8_SWITCH
</newseq>
</port>
<port type="P3_JOYSTICK_UP">
<newseq type="standard">
JOYCODE_3_YAXIS_UP_SWITCH
</newseq>
</port>
<port type="P3_JOYSTICK_DOWN">
<newseq type="standard">
JOYCODE_3_YAXIS_DOWN_SWITCH
</newseq>
</port>
<port type="P3_JOYSTICK_LEFT">
<newseq type="standard">
JOYCODE_3_XAXIS_LEFT_SWITCH
</newseq>
</port>
<port type="P3_JOYSTICK_RIGHT">
<newseq type="standard">
JOYCODE_3_XAXIS_RIGHT_SWITCH
</newseq>
</port>
<port type="P3_BUTTON1">
<newseq type="standard">
JOYCODE_3_BUTTON12_SWITCH
</newseq>
</port>
<port type="P3_BUTTON2">
<newseq type="standard">
JOYCODE_3_BUTTON14_SWITCH
</newseq>
</port>
<port type="P3_BUTTON3">
<newseq type="standard">
JOYCODE_3_BUTTON15_SWITCH
</newseq>
</port>
<port type="P3_BUTTON4">
<newseq type="standard">
JOYCODE_3_BUTTON13_SWITCH
</newseq>
</port>
<port type="P3_BUTTON5">
<newseq type="standard">
JOYCODE_3_BUTTON9_SWITCH
</newseq>
</port>
<port type="P3_BUTTON6">
<newseq type="standard">
JOYCODE_3_BUTTON10_SWITCH
</newseq>
</port>
<port type="P3_BUTTON7">
<newseq type="standard">
JOYCODE_3_RYAXIS_POS_SWITCH
</newseq>
</port>
<port type="P3_BUTTON8">
<newseq type="standard">
JOYCODE_3_RZAXIS_POS_SWITCH
</newseq>
</port>
<port type="P3_START">
<newseq type="standard">
JOYCODE_3_BUTTON5_SWITCH
</newseq>
</port>
<port type="P3_SELECT">
<newseq type="standard">
JOYCODE_3_BUTTON8_SWITCH
</newseq>
</port>
<port type="P4_JOYSTICK_UP">
<newseq type="standard">
JOYCODE_4_YAXIS_UP_SWITCH
</newseq>
</port>
<port type="P4_JOYSTICK_DOWN">
<newseq type="standard">
JOYCODE_4_YAXIS_DOWN_SWITCH
</newseq>
</port>
<port type="P4_JOYSTICK_LEFT">
<newseq type="standard">
JOYCODE_4_XAXIS_LEFT_SWITCH
</newseq>
</port>
<port type="P4_JOYSTICK_RIGHT">
<newseq type="standard">
JOYCODE_4_XAXIS_RIGHT_SWITCH
</newseq>
</port>
<port type="P4_BUTTON1">
<newseq type="standard">
JOYCODE_4_BUTTON12_SWITCH
</newseq>
</port>
<port type="P4_BUTTON2">
<newseq type="standard">
JOYCODE_4_BUTTON14_SWITCH
</newseq>
</port>
<port type="P4_BUTTON3">
<newseq type="standard">
JOYCODE_4_BUTTON15_SWITCH
</newseq>
</port>
<port type="P4_BUTTON4">
<newseq type="standard">
JOYCODE_4_BUTTON13_SWITCH
</newseq>
</port>
<port type="P4_BUTTON5">
<newseq type="standard">
JOYCODE_4_BUTTON9_SWITCH
</newseq>
</port>
<port type="P4_BUTTON6">
<newseq type="standard">
JOYCODE_4_BUTTON10_SWITCH
</newseq>
</port>
<port type="P4_BUTTON7">
<newseq type="standard">
JOYCODE_4_RYAXIS_POS_SWITCH
</newseq>
</port>
<port type="P4_BUTTON8">
<newseq type="standard">
JOYCODE_4_RZAXIS_POS_SWITCH
</newseq>
</port>
<port type="P4_START">
<newseq type="standard">
JOYCODE_4_BUTTON5_SWITCH
</newseq>
</port>
<port type="P4_SELECT">
<newseq type="standard">
JOYCODE_4_BUTTON8_SWITCH
</newseq>
</port>
<port type="START1">
<newseq type="standard">
JOYCODE_1_BUTTON5
</newseq>
</port>
<port type="START2">
<newseq type="standard">
JOYCODE_2_BUTTON5_SWITCH
</newseq>
</port>
<port type="START3">
<newseq type="standard">
JOYCODE_3_BUTTON5_SWITCH
</newseq>
</port>
<port type="START4">
<newseq type="standard">
JOYCODE_4_BUTTON5_SWITCH
</newseq>
</port>
<port type="COIN1">
<newseq type="standard">
JOYCODE_1_BUTTON6
</newseq>
</port>
<port type="COIN2">
<newseq type="standard">
JOYCODE_2_BUTTON6_SWITCH
</newseq>
</port>
<port type="COIN3">
<newseq type="standard">
JOYCODE_3_BUTTON6_SWITCH
</newseq>
</port>
<port type="COIN4">
<newseq type="standard">
JOYCODE_4_BUTTON6_SWITCH
</newseq>
</port>
<port type="UI_UP">
<newseq type="standard">
KEYCODE_UP OR JOYCODE_1_YAXIS_UP_SWITCH OR JOYCODE_2_YAXIS_UP_SWITCH OR JOYCODE_3_YAXIS_UP_SWITCH OR JOYCODE_4_YAXIS_UP_SWITCH
</newseq>
</port>
<port type="UI_DOWN">
<newseq type="standard">
KEYCODE_DOWN OR JOYCODE_1_YAXIS_DOWN_SWITCH OR JOYCODE_2_YAXIS_DOWN_SWITCH OR JOYCODE_3_YAXIS_DOWN_SWITCH OR JOYCODE_4_YAXIS_DOWN_SWITCH
</newseq>
</port>
<port type="UI_LEFT">
<newseq type="standard">
KEYCODE_LEFT OR JOYCODE_1_XAXIS_LEFT_SWITCH OR JOYCODE_2_XAXIS_LEFT_SWITCH OR JOYCODE_3_XAXIS_LEFT_SWITCH OR JOYCODE_4_XAXIS_LEFT_SWITCH
</newseq>
</port>
<port type="UI_RIGHT">
<newseq type="standard">
KEYCODE_RIGHT OR JOYCODE_1_XAXIS_RIGHT_SWITCH OR JOYCODE_2_XAXIS_RIGHT_SWITCH OR JOYCODE_3_XAXIS_RIGHT_SWITCH OR JOYCODE_4_XAXIS_RIGHT_SWITCH
</newseq>
</port>
<port type="UI_SELECT">
<newseq type="standard">
KEYCODE_ENTER OR JOYCODE_1_BUTTON5 OR JOYCODE_2_BUTTON5_SWITCH OR JOYCODE_3_BUTTON5_SWITCH OR JOYCODE_4_BUTTON5_SWITCH
</newseq>
</port>
<port type="UI_CANCEL">
<newseq type="standard">
KEYCODE_ESC OR JOYCODE_1_BUTTON11 OR JOYCODE_2_BUTTON11_SWITCH OR JOYCODE_3_BUTTON11_SWITCH OR JOYCODE_4_BUTTON11_SWITCH
</newseq>
</port>
</input>
</system>
</mameconfig>
Copy link

ghost commented Nov 30, 2017

Just to let anyone (who finds this now) know, MAME supports XInput natively. This config is obsoleted and won't work well with newer MAME builds from mid-2016 or so.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment