Xbox Controller

Revision as of 00:24, 30 January 2007 by Linvir (talk | contribs)

This page describes configuring VO to use an Xbox controller as a joypad.

Note that this page was written based on my experience with a Controller-S in Windows XP using the XBCD driver. Users with 3rd party joypads in different OSes using different drivers may find that axis and button IDs differ from what is shown here.

First steps

Get your drivers installed, your controller plugged in and recognised, and login to VO. Hit escape, go to the controller menu, the joystick tab, and check to see if VO detected your joypad.

If it didn't, the rest of this page is useless to you. If it did, you now have a nice new config.ini entry for your controller.

Axis IDs

These are the axis IDs corresponding to the JOYXXX blocks in the first half of the config.ini entry, and to the dropdown menus in the VO joystick config menu.

"No such axis" means that this axis doesn't exist on the Xbox controller, so there's no point in setting any function to them.

RU - No such axis
RZ - No such axis
RY - right joystick, y axis
RX - right joystick, x axis
Z  - No such axis
Y  - left joystick, y axis
X  - left joystick, x axis

Button IDs

These are the button IDs corresponding to the JOYBUTTON numbers in the second half of the config.ini entry.

Though config.ini provides space for up to 23 button configurations per entry, anything above 11 is ignored for the Xbox controller as there are "only" 12 buttons, so there's no point in setting any function to them.

0  - A
1  - B
2  - X
3  - Y
4  - black
5  - white
6  - start
7  - select
8  - left joystick click
9  - right joystick click
10 - left trigger
11 - right trigger

config.ini:

This is an empty config.ini for the Xbox controller.

  • Buttons and axes that you can add binds to are marked in bold.
  • Nonexistent buttons and axes are crossed out.

It would be nicer to just remove these superfluous bits altogether, but they just get put back automatically if you do. This code block should still be okay to copy/paste, despite all the formatting.

Note that when configuring this, some axes will need to be inverted. However, I'm not sure which controls require inversion on which joysticks, so you'll have to figure that part out for yourself.

[XBCD XBox Gamepad]
enabled=1
JOYRU=NONE
Ruaxisinvert=0
Ruaxiscenter=0
Ruaxismindeadzone=-10
Ruaxisdeadzone=10
Ruaxisminsaturation=-95
Ruaxissaturation=95
JOYRZ=NONE
Rzaxisinvert=0
Rzaxiscenter=0
Rzaxismindeadzone=-10
Rzaxisdeadzone=10
Rzaxisminsaturation=-95
Rzaxissaturation=95
JOYRY=
Ryaxisinvert=0
Ryaxiscenter=0
Ryaxismindeadzone=-10
Ryaxisdeadzone=10
Ryaxisminsaturation=-95
Ryaxissaturation=95
JOYRX=
Rxaxisinvert=0
Rxaxiscenter=0
Rxaxismindeadzone=-10
Rxaxisdeadzone=10
Rxaxisminsaturation=-95
Rxaxissaturation=95
JOYZ=NONE
zaxisinvert=0
zaxiscenter=0
zaxismindeadzone=-10
zaxisdeadzone=10
zaxisminsaturation=-95
zaxissaturation=95
JOYY=
yaxisinvert=0
yaxiscenter=0
yaxismindeadzone=-10
yaxisdeadzone=10
yaxisminsaturation=-95
yaxissaturation=95
JOYX=
xaxisinvert=0
xaxiscenter=0
xaxismindeadzone=-10
xaxisdeadzone=10
xaxisminsaturation=-95
xaxissaturation=95
JOYBUTTON0=
JOYBUTTON1=
JOYBUTTON2=
JOYBUTTON3=
JOYBUTTON4=
JOYBUTTON5=
JOYBUTTON6=
JOYBUTTON7=
JOYBUTTON8=
JOYBUTTON9=
JOYBUTTON10=
JOYBUTTON11=
JOYBUTTON12=
JOYBUTTON13=
JOYBUTTON14=
JOYBUTTON15=
JOYBUTTON16=
JOYBUTTON17=
JOYBUTTON18=
JOYBUTTON19=
JOYBUTTON20=
JOYBUTTON21=
JOYBUTTON22=
JOYBUTTON23=
JOYPOV0UP=
JOYPOV0RIGHT=
JOYPOV0DOWN=
JOYPOV0LEFT=