| From 4c72d3a0fc002489bd99d8fb0a10cc29558b083f Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Sun, 30 Aug 2020 17:48:59 -0700 |
| Subject: HID: quirks: Set INCREMENT_USAGE_ON_DUPLICATE for all Saitek X52 |
| devices |
| |
| From: Nirenjan Krishnan <nirenjan@gmail.com> |
| |
| [ Upstream commit 77df710ba633dfb6c65c65cf99ea9e084a1c9933 ] |
| |
| The Saitek X52 family of joysticks has a pair of axes that were |
| originally (by the Windows driver) used as mouse pointer controls. The |
| corresponding usage page is the Game Controls page, which is not |
| recognized by the generic HID driver, and therefore, both axes get |
| mapped to ABS_MISC. The quirk makes the second axis get mapped to |
| ABS_MISC+1, and therefore made available separately. |
| |
| One Saitek X52 device is already fixed. This patch fixes the other two |
| known devices with VID/PID 06a3:0255 and 06a3:0762. |
| |
| Signed-off-by: Nirenjan Krishnan <nirenjan@gmail.com> |
| Signed-off-by: Jiri Kosina <jkosina@suse.cz> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| drivers/hid/hid-ids.h | 2 ++ |
| drivers/hid/hid-quirks.c | 2 ++ |
| 2 files changed, 4 insertions(+) |
| |
| diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h |
| index fbc93d8dda5ed..076c20a7a6540 100644 |
| --- a/drivers/hid/hid-ids.h |
| +++ b/drivers/hid/hid-ids.h |
| @@ -1011,6 +1011,8 @@ |
| #define USB_DEVICE_ID_SAITEK_RAT9 0x0cfa |
| #define USB_DEVICE_ID_SAITEK_MMO7 0x0cd0 |
| #define USB_DEVICE_ID_SAITEK_X52 0x075c |
| +#define USB_DEVICE_ID_SAITEK_X52_2 0x0255 |
| +#define USB_DEVICE_ID_SAITEK_X52_PRO 0x0762 |
| |
| #define USB_VENDOR_ID_SAMSUNG 0x0419 |
| #define USB_DEVICE_ID_SAMSUNG_IR_REMOTE 0x0001 |
| diff --git a/drivers/hid/hid-quirks.c b/drivers/hid/hid-quirks.c |
| index 8a739ec50cc00..0440e2f6e8a3c 100644 |
| --- a/drivers/hid/hid-quirks.c |
| +++ b/drivers/hid/hid-quirks.c |
| @@ -150,6 +150,8 @@ static const struct hid_device_id hid_quirks[] = { |
| { HID_USB_DEVICE(USB_VENDOR_ID_RETROUSB, USB_DEVICE_ID_RETROUSB_SNES_RETROPORT), HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE }, |
| { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_RUMBLEPAD), HID_QUIRK_BADPAD }, |
| { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_X52), HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE }, |
| + { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_X52_2), HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE }, |
| + { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_X52_PRO), HID_QUIRK_INCREMENT_USAGE_ON_DUPLICATE }, |
| { HID_USB_DEVICE(USB_VENDOR_ID_SEMICO, USB_DEVICE_ID_SEMICO_USB_KEYKOARD2), HID_QUIRK_NO_INIT_REPORTS }, |
| { HID_USB_DEVICE(USB_VENDOR_ID_SEMICO, USB_DEVICE_ID_SEMICO_USB_KEYKOARD), HID_QUIRK_NO_INIT_REPORTS }, |
| { HID_USB_DEVICE(USB_VENDOR_ID_SENNHEISER, USB_DEVICE_ID_SENNHEISER_BTD500USB), HID_QUIRK_NOGET }, |
| -- |
| 2.25.1 |
| |