From: Anssi Hannula <anssi.hannula@gmail.com>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: linux-input@vger.kernel.org, Anssi Hannula <anssi.hannula@gmail.com>
Subject: [patch 1/7] xpad: fix dpad handling of unknown devices
Date: Mon, 17 Mar 2008 21:22:51 +0200 [thread overview]
Message-ID: <20080317192844.062733658@gmail.com> (raw)
In-Reply-To: 20080317192250.208635026@gmail.com
[-- Attachment #1: xpad-fix-unknown-dpad-handling.diff --]
[-- Type: text/plain, Size: 2006 bytes --]
For devices not specifically listed in xpad.c, xpad->dpad_mapping
is initially set to MAP_DPAD_UNKNOWN. In xpad_probe() it gets changed
to either MAP_DPAD_TO_BUTTONS or MAP_DPAD_TO_AXES, depending on the
module parameter dpad_to_buttons.
However, MAP_DPAD_UNKNOWN is defined as -1, while the field is u8.
This results in actual value of 255, causing the MAP_DPAD_UNKNOWN
check in xpad_probe() to fail.
Fix that by defining MAP_DPAD_UNKNOWN as 2 instead.
Also, setting module parameter dpad_to_buttons to 1 should obviously
map dpad to buttons, while the default behaviour (0) should be to map
dpad to axes. However, dpad_to_buttons is directly assigned to
xpad->dpad_mapping, and as MAP_DPAD_TO_BUTTONS is 0, the actual
behaviour is reversed.
Fix that by negating dpad_to_buttons in assignment.
Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com>
---
drivers/input/joystick/xpad.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Index: linux-2.6.25-rc3-mm1-xpad/drivers/input/joystick/xpad.c
===================================================================
--- linux-2.6.25-rc3-mm1-xpad.orig/drivers/input/joystick/xpad.c 2008-03-05 01:48:17.000000000 +0200
+++ linux-2.6.25-rc3-mm1-xpad/drivers/input/joystick/xpad.c 2008-03-05 01:52:52.000000000 +0200
@@ -87,7 +87,7 @@
but we map them to axes when possible to simplify things */
#define MAP_DPAD_TO_BUTTONS 0
#define MAP_DPAD_TO_AXES 1
-#define MAP_DPAD_UNKNOWN -1
+#define MAP_DPAD_UNKNOWN 2
#define XTYPE_XBOX 0
#define XTYPE_XBOX360 1
@@ -653,7 +653,7 @@ static int xpad_probe(struct usb_interfa
xpad->dpad_mapping = xpad_device[i].dpad_mapping;
xpad->xtype = xpad_device[i].xtype;
if (xpad->dpad_mapping == MAP_DPAD_UNKNOWN)
- xpad->dpad_mapping = dpad_to_buttons;
+ xpad->dpad_mapping = !dpad_to_buttons;
if (xpad->xtype == XTYPE_UNKNOWN)
xpad->xtype = (intf->cur_altsetting->desc.bInterfaceClass == USB_CLASS_VENDOR_SPEC);
xpad->dev = input_dev;
--
Anssi Hannula
next prev parent reply other threads:[~2008-03-17 19:28 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-03-17 19:22 [patch 0/7] updates for xpad Anssi Hannula
2008-03-17 19:22 ` Anssi Hannula [this message]
2008-03-17 19:22 ` [patch 2/7] xpad: fix inverted Y and RY axes on xbox360 devices Anssi Hannula
2008-03-28 18:07 ` [patch 2/7, rev2] xpad: fix inverted Y and RY axes Anssi Hannula
2008-03-17 19:22 ` [patch 3/7] xpad: add more xbox 360 controller ids Anssi Hannula
2008-03-17 19:22 ` [patch 4/7] xpad: do not report nonexistent buttons for xbox360 Anssi Hannula
2008-03-17 19:22 ` [patch 5/7] xpad: enable force feedback on xbox 360 controllers only Anssi Hannula
2008-03-17 19:22 ` [patch 6/7] xpad: drop obsolete driver versioning Anssi Hannula
2008-03-17 19:22 ` [patch 7/7] xpad: add support for wireless xbox360 controllers Anssi Hannula
2008-04-03 20:26 ` [patch 0/7] updates for xpad Dmitry Torokhov
2008-04-03 20:44 ` Anssi Hannula
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20080317192844.062733658@gmail.com \
--to=anssi.hannula@gmail.com \
--cc=dmitry.torokhov@gmail.com \
--cc=linux-input@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.