diff options
author | Simon Wood <simon@mungewell.org> | 2013-02-19 20:25:12 -0700 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2013-02-20 10:19:10 +0100 |
commit | 94b3f712fe2cd5c33d57ca0ab9604d2402bc72cd (patch) | |
tree | cf678e05c0f9626fd57ace493f96be97ec6b1783 /drivers/hid/hid-lg.c | |
parent | b5836246c127ce1f0afe9790537b94c71efd2d2a (diff) | |
download | lwn-94b3f712fe2cd5c33d57ca0ab9604d2402bc72cd.tar.gz lwn-94b3f712fe2cd5c33d57ca0ab9604d2402bc72cd.zip |
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 <simon@mungewell.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'drivers/hid/hid-lg.c')
-rw-r--r-- | drivers/hid/hid-lg.c | 20 |
1 files changed, 20 insertions, 0 deletions
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; } |