[quake3-bugzilla] [Bug 4551] 360 Gamepad support

bugzilla-daemon at icculus.org bugzilla-daemon at icculus.org
Tue Oct 19 02:42:26 EDT 2010


http://bugzilla.icculus.org/show_bug.cgi?id=4551

Zachary J. Slater <zakk at icculus.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEW                         |ASSIGNED

--- Comment #1 from use.less01 at gmail.com 2010-02-19 04:21:34 EST ---
Created an attachment (id=2305)
 --> (http://bugzilla.icculus.org/attachment.cgi?id=2305)
Enable analog joystick support.

I've split and enhanced this patch.

This first one, enableanalogjoy.diff, re-enables using analog axes from the
joystick, instead of converting them into keyboard commands.  This is tied to a
new cvar, in_joystickUseAnalog.

Just applying this patch exposes a couple of bugs.  First, the forward and back
directions are reversed, and second, the sensitivity is way too high for yaw.

The second patch, customjoyaxes.diff, solves those bugs, uploading after this.

--- Comment #2 from use.less01 at gmail.com 2010-02-19 04:24:22 EST ---
Created an attachment (id=2306)
 --> (http://bugzilla.icculus.org/attachment.cgi?id=2306)
Add customizable joystick axes

--- Comment #3 from use.less01 at gmail.com 2010-02-19 04:27:12 EST ---
The second patch, customjoyaxes.diff, solves those bugs, by adding additional
cvars, since there are no guarantees where and in what direction axes go in
SDL.

These cvars are:
  -j_forward, analogue to m_forward, for forward movement speed/direction.
  -j_side, analogue to m_side, for side movement speed/direction.
  -j_pitch, analogue to m_pitch, for pitch rotation speed/direction.
  -j_yaw, analogue to m_yaw, for yaw rotation speed/direction.
  -j_forward_axis, selects which joystick axis controls forward/back.
  -j_side_axis, selects which joystick axis controls left/right.
  -j_pitch_axis, selects which joystick axis controls pitch.
  -j_yaw_axis, selects which joystick axis controls yaw.

After this, 360 gamepad support is almost complete, except for the weirdness
with the left and right triggers being the same axis.  That can be fixed by
changing one line after applying the first two patches:

sdl_input.c, line 810:
            if (!in_joystickUseAnalog->integer)
to:
            if (i == AXIS_UP || !in_joystickUseAnalog->integer)

which changes the Z axis into keys.

--- Comment #4 from Zachary J. Slater <zakk at icculus.org> 2010-10-19 02:42:24 EDT ---
Cool, will look at this later.

-- 
Configure bugmail: http://bugzilla.icculus.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the quake3-bugzilla mailing list