Bug 7070 - xpad driver doesn't support DDR pads
Summary: xpad driver doesn't support DDR pads
Status: RESOLVED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: USB (show other bugs)
Hardware: i386 Linux
: P2 normal
Assignee: Greg Kroah-Hartman
URL:
Keywords:
Depends on:
Blocks: USB
  Show dependency tree
 
Reported: 2006-08-29 08:46 UTC by Adam Buchbinder
Modified: 2006-10-26 00:16 UTC (History)
1 user (show)

See Also:
Kernel Version: 2.6.16
Subsystem:
Regression: ---
Bisected commit-id:


Attachments

Description Adam Buchbinder 2006-08-29 08:46:34 UTC
Most recent kernel where this bug did not occur: None
Distribution: Ubuntu
Hardware Environment: Any xbox-type DDR pad.
Software Environment: Use jstest to test functionality.
Problem Description: The dance pads I'm using require that the up and down, or
left and right buttons be hit simultaneously. If the directional buttons are
interpreted as axes, this is impossible. To fix, USB IDs for dance pads should
trigger different behavior; also, it should be possible to pass an option to the
driver to force DDR-type behavior (axes mapped to buttons), as well.

There have been patches available for this behavior, but they are out of date.
The following is a patch for 2.6.11.4 that implements the above-described
behavior for a slightly earlier API.

http://einsteinsbreakfast.com/demos/xpad-mappings.diff
Comment 1 Greg Kroah-Hartman 2006-08-29 14:58:09 UTC
Care to forward port that patch, and/or get the original author of it to 
do so and send the linux-usb-developers?  It needs to be in the form
specified in Documentation/SubmittingPatches.
Comment 2 Adam Buchbinder 2006-10-26 00:14:15 UTC
The patch was signed off, in modified form, by Dmitry Torokhov, Andrew Morton
and Greg Kroah-Hartman and reposted to the LKML. It's in the mainline kernel now:

http://www.kernel.org/git/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commit;h=deb8ee43a23d48116cb23eb8dd1de2348efb1e80

Note You need to log in before you can comment on or make changes to this bug.