aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVille Aakko <ville.aakko@gmail.com>2014-11-05 09:13:51 -0500
committerJiri Kosina <jkosina@suse.cz>2014-11-05 09:13:59 -0500
commit7bb9d643651180f081cfcc1ed43ff685eda8a358 (patch)
tree2632463a405dcb8375ecc249e358ad74bf83a954
parent6354b7e25b7617f71a2b544be82c399013b13917 (diff)
HID: saitek: quirk for Saitek R.A.T.7 works with R.A.T.9 too
I have tested HID quirk for Saitek R.A.T.7 with my R.A.T. 9. It works fine for me. Attached patch makes the necessary changes to use the quirk on the R.A.T.9 too, and necessary Kconfig changes too. I have stylized the Kconfig option name to include Mad Catz in the option name, as (at least some of) the devices are marketed under Mad Catz brand. Signed-off-by: Ville Aakko <ville.aakko@gmail.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-rw-r--r--drivers/hid/Kconfig3
-rw-r--r--drivers/hid/hid-core.c1
-rw-r--r--drivers/hid/hid-ids.h1
-rw-r--r--drivers/hid/hid-saitek.c4
4 files changed, 7 insertions, 2 deletions
diff --git a/drivers/hid/Kconfig b/drivers/hid/Kconfig
index f42df4dd58d2..3a3f29c0cc36 100644
--- a/drivers/hid/Kconfig
+++ b/drivers/hid/Kconfig
@@ -629,7 +629,7 @@ config HID_ROCCAT
629 support for its special functionalities. 629 support for its special functionalities.
630 630
631config HID_SAITEK 631config HID_SAITEK
632 tristate "Saitek non-fully HID-compliant devices" 632 tristate "Saitek (Mad Catz) non-fully HID-compliant devices"
633 depends on HID 633 depends on HID
634 ---help--- 634 ---help---
635 Support for Saitek devices that are not fully compliant with the 635 Support for Saitek devices that are not fully compliant with the
@@ -637,6 +637,7 @@ config HID_SAITEK
637 637
638 Supported devices: 638 Supported devices:
639 - PS1000 Dual Analog Pad 639 - PS1000 Dual Analog Pad
640 - R.A.T.9 Gaming Mouse
640 - R.A.T.7 Gaming Mouse 641 - R.A.T.7 Gaming Mouse
641 - M.M.O.7 Gaming Mouse 642 - M.M.O.7 Gaming Mouse
642 643
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index 946540e1764d..1af93ca42226 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1906,6 +1906,7 @@ static const struct hid_device_id hid_have_special_driver[] = {
1906 { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_PS1000) }, 1906 { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_PS1000) },
1907 { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_RAT7) }, 1907 { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_RAT7) },
1908 { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_MMO7) }, 1908 { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_MMO7) },
1909 { HID_USB_DEVICE(USB_VENDOR_ID_MADCATZ, USB_DEVICE_ID_MADCATZ_RAT9) },
1909#endif 1910#endif
1910 { HID_USB_DEVICE(USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_IR_REMOTE) }, 1911 { HID_USB_DEVICE(USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_IR_REMOTE) },
1911 { HID_USB_DEVICE(USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_WIRELESS_KBD_MOUSE) }, 1912 { HID_USB_DEVICE(USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_WIRELESS_KBD_MOUSE) },
diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index cd9c9e96cf0e..08cf4e75c3bb 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -617,6 +617,7 @@
617 617
618#define USB_VENDOR_ID_MADCATZ 0x0738 618#define USB_VENDOR_ID_MADCATZ 0x0738
619#define USB_DEVICE_ID_MADCATZ_BEATPAD 0x4540 619#define USB_DEVICE_ID_MADCATZ_BEATPAD 0x4540
620#define USB_DEVICE_ID_MADCATZ_RAT9 0x1709
620 621
621#define USB_VENDOR_ID_MCC 0x09db 622#define USB_VENDOR_ID_MCC 0x09db
622#define USB_DEVICE_ID_MCC_PMD1024LS 0x0076 623#define USB_DEVICE_ID_MCC_PMD1024LS 0x0076
diff --git a/drivers/hid/hid-saitek.c b/drivers/hid/hid-saitek.c
index 69cca1476a0c..5632c54eadf0 100644
--- a/drivers/hid/hid-saitek.c
+++ b/drivers/hid/hid-saitek.c
@@ -7,7 +7,7 @@
7 * (This module is based on "hid-ortek".) 7 * (This module is based on "hid-ortek".)
8 * Copyright (c) 2012 Andreas Hübner 8 * Copyright (c) 2012 Andreas Hübner
9 * 9 *
10 * R.A.T.7, M.M.O.7 (USB gaming mice): 10 * R.A.T.7, R.A.T.9, M.M.O.7 (USB gaming mice):
11 * Fixes the mode button which cycles through three constantly pressed 11 * Fixes the mode button which cycles through three constantly pressed
12 * buttons. All three press events are mapped to one button and the 12 * buttons. All three press events are mapped to one button and the
13 * missing release event is generated immediately. 13 * missing release event is generated immediately.
@@ -179,6 +179,8 @@ static const struct hid_device_id saitek_devices[] = {
179 .driver_data = SAITEK_FIX_PS1000 }, 179 .driver_data = SAITEK_FIX_PS1000 },
180 { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_RAT7), 180 { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_RAT7),
181 .driver_data = SAITEK_RELEASE_MODE_RAT7 }, 181 .driver_data = SAITEK_RELEASE_MODE_RAT7 },
182 { HID_USB_DEVICE(USB_VENDOR_ID_MADCATZ, USB_DEVICE_ID_MADCATZ_RAT9),
183 .driver_data = SAITEK_RELEASE_MODE_RAT7 },
182 { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_MMO7), 184 { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_MMO7),
183 .driver_data = SAITEK_RELEASE_MODE_MMO7 }, 185 .driver_data = SAITEK_RELEASE_MODE_MMO7 },
184 { } 186 { }