mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Anssi Hannula <dmitry.torokhov@gmail.com>
To: unlisted-recipients:; (no To-header on input)
Cc: linux-kernel@vger.kernel.org, jkosina@suse.cz, akpm@linux-foundation.org
Subject: [PATCH 13/37] Input: xpad - fix inverted Y and RY axes
Date: Thu, 3 Apr 2008 16:18:23 -0400	[thread overview]
Message-ID: <97f09cb53da583cefc1ce2930de8f64b52cfc54b.1208783694.git.dmitry.torokhov@gmail.com> (raw)
In-Reply-To: <cover.1208783694.git.dmitry.torokhov@gmail.com>

The commit ae91d10aab2762f81733e9194cb56eff99c8d808 inverted Y and RY
axes on xbox360 so that up is positive and down is negative.
This is wrong, as axes on game controllers have up as negative per
convention. Also, even xpad itself reports HAT0X with up as negative.

Fix that by inverting them again.

Also, according to http://bugzilla.kernel.org/show_bug.cgi?id=10337 the
original xbox controllers also have the Y and RY axes inverted.
Fix that by inverting them as well.

Cc: Brian Magnuson <bdmagnuson@gmail.com>
Signed-off-by: Anssi Hannula <anssi.hannula@gmail.com>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
---
 drivers/input/joystick/xpad.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/input/joystick/xpad.c b/drivers/input/joystick/xpad.c
index 6288c4f..316d987 100644
--- a/drivers/input/joystick/xpad.c
+++ b/drivers/input/joystick/xpad.c
@@ -236,13 +236,13 @@ static void xpad_process_packet(struct usb_xpad *xpad, u16 cmd, unsigned char *d
 	input_report_abs(dev, ABS_X,
 			 (__s16) le16_to_cpup((__le16 *)(data + 12)));
 	input_report_abs(dev, ABS_Y,
-			 (__s16) le16_to_cpup((__le16 *)(data + 14)));
+			 ~(__s16) le16_to_cpup((__le16 *)(data + 14)));
 
 	/* right stick */
 	input_report_abs(dev, ABS_RX,
 			 (__s16) le16_to_cpup((__le16 *)(data + 16)));
 	input_report_abs(dev, ABS_RY,
-			 (__s16) le16_to_cpup((__le16 *)(data + 18)));
+			 ~(__s16) le16_to_cpup((__le16 *)(data + 18)));
 
 	/* triggers left/right */
 	input_report_abs(dev, ABS_Z, data[10]);
@@ -330,13 +330,13 @@ static void xpad360_process_packet(struct usb_xpad *xpad,
 	input_report_abs(dev, ABS_X,
 			 (__s16) le16_to_cpup((__le16 *)(data + 6)));
 	input_report_abs(dev, ABS_Y,
-			 (__s16) le16_to_cpup((__le16 *)(data + 8)));
+			 ~(__s16) le16_to_cpup((__le16 *)(data + 8)));
 
 	/* right stick */
 	input_report_abs(dev, ABS_RX,
 			 (__s16) le16_to_cpup((__le16 *)(data + 10)));
 	input_report_abs(dev, ABS_RY,
-			 (__s16) le16_to_cpup((__le16 *)(data + 12)));
+			 ~(__s16) le16_to_cpup((__le16 *)(data + 12)));
 
 	/* triggers left/right */
 	input_report_abs(dev, ABS_Z, data[4]);
-- 
1.5.5.rc2.6.gf58d



  parent reply	other threads:[~2008-04-21 13:21 UTC|newest]

Thread overview: 50+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-21 13:14 [PATCH 00/37] Input queue for 2.6.26 merge window Dmitry Torokhov
2008-03-10 10:08 ` [PATCH 27/37] Input: aiptek - add support for Genius G-PEN 560 tablet Guryanov Dmitry
2008-03-10 12:40 ` [PATCH 28/37] Input: add Zhen Hua driver Martin Kebert
2008-03-10 12:43 ` [PATCH 29/37] Input: fix ordering in joystick Makefile Jiri Kosina
2008-04-21 13:40   ` Jiri Kosina
2008-04-21 16:20     ` Dmitry Torokhov
2008-04-21 14:22   ` Adrian Bunk
2008-04-21 15:39     ` Dmitry Torokhov
2008-04-21 15:54       ` Adrian Bunk
2008-04-02  4:41 ` [PATCH 01/37] Input: remove private member from input_dev structure Dmitry Torokhov
2008-04-02  4:42 ` [PATCH 02/37] Input: locomokbd - add 'off' button support for Sharp Collie/Poodle Helge Deller
2008-04-02  4:43 ` [PATCH 03/37] Input: ads7846 - simplify support of external vREF (and ads7843) David Brownell
2008-04-02  4:51 ` [PATCH 04/37] Input: add support for WM97xx familty touchscreens Mark Brown
2008-04-02  4:51 ` [PATCH 05/37] Input: WM97xx - add chip driver for WM9705 touchscreen Mark Brown
2008-04-02  4:51 ` [PATCH 06/37] Input: WM97xx - add chip driver for WM9712 touchscreen Mark Brown
2008-04-02  4:51 ` [PATCH 07/37] Input: WM97xx - add chip driver for WM97123 touchscreen Mark Brown
2008-04-02  4:51 ` [PATCH 08/37] Input: WM97xx - add support for streaming mode on Mainstone Mark Brown
2008-04-02 14:02 ` [PATCH 09/37] Input: appletouch - add product IDs for the 4th generation MacBooks Tobias Mueller
2008-04-02 15:22 ` [PATCH 10/37] Input: tosakbd - fix suspend Dmitry Baryshkov
2008-04-03 20:17 ` [PATCH 11/37] Input: xpad - match xbox 360 devices with interface info Anssi Hannula
2008-04-03 20:18 ` [PATCH 12/37] Input: xpad - fix dpad handling of unknown devices Anssi Hannula
2008-04-03 20:18 ` Anssi Hannula [this message]
2008-04-03 20:18 ` [PATCH 14/37] Input: xpad - add more xbox 360 controller ids Anssi Hannula
2008-04-03 20:18 ` [PATCH 15/37] Input: xpad - do not report nonexistent buttons for xbox360 Anssi Hannula
2008-04-03 20:18 ` [PATCH 16/37] Input: xpad - enable force feedback on xbox 360 controllers only Anssi Hannula
2008-04-03 20:19 ` [PATCH 17/37] Input: xpad - drop obsolete driver versioning Anssi Hannula
2008-04-03 20:19 ` [PATCH 18/37] Input: xpad - add support for wireless xbox360 controllers Brian Magnuson
2008-04-03 20:19 ` [PATCH 19/37] Input: xpad - don't use GFP_ATOMIC Oliver Neukum
2008-04-04 19:31 ` [PATCH 20/37] Input: usbtouchscreen - don't use DMA on stack Oliver Neukum
2008-04-15  5:30 ` [PATCH 21/37] Input: put ledstate in the keyboard notifier Karl Dahlke
2008-04-15  5:30 ` [PATCH 22/37] Input: add PS/2 serio driver for AVR32 devices Hans-Christian Egtvedt
2008-04-21 13:33   ` Hans-Christian Egtvedt
2008-04-21 15:39     ` Dmitry Torokhov
2008-04-15  5:31 ` [PATCH 23/37] Input: gpio_keys - irq handling cleanup David Brownell
2008-04-15  5:31 ` [PATCH 24/37] Input: omap-keypad - fix build warning David Brownell
2008-04-15  5:31 ` [PATCH 25/37] Input: xpad - set proper buffer length for outgoing requests Michael Gruber
2008-04-15  5:31 ` [PATCH 26/37] Input: wacom - implement suspend and autosuspend Oliver Neukum
2008-04-17 13:24 ` [PATCH 30/37] Input: wm97xx-core - only schedule interrupt handler if not already scheduled Mark Brown
2008-04-17 13:24 ` [PATCH 31/37] Input: wm97xx-core - use IRQF_SAMPLE_RANDOM Mark Brown
2008-04-17 13:24 ` [PATCH 32/37] Input: wm97xx-core - support use as a wakeup source Mark Brown
2008-04-17 13:28 ` [PATCH 33/37] Input: drivers/char/keyboard.c - use time_after Julia Lawall
2008-04-18  4:24 ` [PATCH 34/37] Input: add MODULE_ALIAS() to hotpluggable platform modules Kay Sievers
2008-04-18  4:25 ` [PATCH 35/37] Input: bf54x-keys - add infrastructure for keypad wakeups Michael Hennerich
2008-04-18  4:25 ` [PATCH 36/37] Input: i8042 - fix incorrect usage of strncpy and strncat Roel Kluin
2008-04-18  4:25 ` [PATCH 37/37] Input: mac_hid - add lockdep annotation to emumousebtn Peter Zijlstra
2008-04-21 15:11 ` [PATCH 00/37] Input queue for 2.6.26 merge window Henrique de Moraes Holschuh
2008-04-21 15:44   ` Dmitry Torokhov
2008-04-21 16:58     ` Henrique de Moraes Holschuh
2008-04-26 13:24 ` [build bug] " Ingo Molnar
2008-04-27  4:07   ` Dmitry Torokhov

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=97f09cb53da583cefc1ce2930de8f64b52cfc54b.1208783694.git.dmitry.torokhov@gmail.com \
    --to=dmitry.torokhov@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=jkosina@suse.cz \
    --cc=linux-kernel@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®