From: Simon Wood Date: Wed, 20 Feb 2013 03:25:12 +0000 (-0700) Subject: HID: LG: Prevent the Logitech Gaming Wheels deadzone X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=94b3f712fe2cd5c33d57ca0ab9604d2402bc72cd;p=linux-beck.git HID: LG: Prevent the Logitech Gaming Wheels deadzone 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 Signed-off-by: Jiri Kosina --- diff --git a/drivers/hid/hid-lg.c b/drivers/hid/hid-lg.c index c06559803fd8..5d3c861e2c5b 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; }