This patch ensures that the Logitech wheels are not initialised with
default fuzz/flat values, by marking them as multiaxis devices (rather
than joysticks).

Signed-off-by: Simon Wood <si...@mungewell.org>
---
 drivers/hid/hid-lg.c |   20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/drivers/hid/hid-lg.c b/drivers/hid/hid-lg.c
index c065598..5d3c861 100644
--- a/drivers/hid/hid-lg.c
+++ b/drivers/hid/hid-lg.c
@@ -479,6 +479,26 @@ static int lg_input_mapped(struct hid_device *hdev, struct 
hid_input *hi,
                         usage->type == EV_REL || usage->type == EV_ABS))
                clear_bit(usage->code, *bit);
 
+       /* Ensure that Logitech wheels are not given a default fuzz/flat value 
*/
+       if (usage->type == EV_ABS && (usage->code == ABS_X ||
+                       usage->code == ABS_Y || usage->code == ABS_Z ||
+                       usage->code == ABS_RZ)) {
+               switch (hdev->product) {
+               case USB_DEVICE_ID_LOGITECH_WHEEL:
+               case USB_DEVICE_ID_LOGITECH_MOMO_WHEEL:
+               case USB_DEVICE_ID_LOGITECH_DFP_WHEEL:
+               case USB_DEVICE_ID_LOGITECH_G25_WHEEL:
+               case USB_DEVICE_ID_LOGITECH_DFGT_WHEEL:
+               case USB_DEVICE_ID_LOGITECH_G27_WHEEL:
+               case USB_DEVICE_ID_LOGITECH_WII_WHEEL:
+               case USB_DEVICE_ID_LOGITECH_MOMO_WHEEL2:
+                       field->application = HID_GD_MULTIAXIS;
+                       break;
+               default:
+                       break;
+               }
+       }
+
        return 0;
 }
 
-- 
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to