HID: saitek: quirk for Saitek R.A.T.7 works with R.A.T.9 too
authorVille Aakko <ville.aakko@gmail.com>
Wed, 5 Nov 2014 14:13:51 +0000 (15:13 +0100)
committerJiri Kosina <jkosina@suse.cz>
Wed, 5 Nov 2014 14:13:59 +0000 (15:13 +0100)
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>
drivers/hid/Kconfig
drivers/hid/hid-core.c
drivers/hid/hid-ids.h
drivers/hid/hid-saitek.c

index f42df4dd58d285dff4eac05ba9ff7e8688bf4de9..3a3f29c0cc360e848a9c655bc6b9c17c9c7b0ae0 100644 (file)
@@ -629,7 +629,7 @@ config HID_ROCCAT
        support for its special functionalities.
 
 config HID_SAITEK
-       tristate "Saitek non-fully HID-compliant devices"
+       tristate "Saitek (Mad Catz) non-fully HID-compliant devices"
        depends on HID
        ---help---
        Support for Saitek devices that are not fully compliant with the
@@ -637,6 +637,7 @@ config HID_SAITEK
 
        Supported devices:
        - PS1000 Dual Analog Pad
+       - R.A.T.9 Gaming Mouse
        - R.A.T.7 Gaming Mouse
        - M.M.O.7 Gaming Mouse
 
index 946540e1764d30ece81c9525745645c4e9112e5c..1af93ca42226da128fff370f9387fb8db3112f5b 100644 (file)
@@ -1906,6 +1906,7 @@ static const struct hid_device_id hid_have_special_driver[] = {
        { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_PS1000) },
        { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_RAT7) },
        { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_MMO7) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_MADCATZ, USB_DEVICE_ID_MADCATZ_RAT9) },
 #endif
        { HID_USB_DEVICE(USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_IR_REMOTE) },
        { HID_USB_DEVICE(USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_WIRELESS_KBD_MOUSE) },
index cd9c9e96cf0ef838618a95438afa0794f82b1eb5..08cf4e75c3bb0d8bdac4877763da5615f6055381 100644 (file)
 
 #define USB_VENDOR_ID_MADCATZ          0x0738
 #define USB_DEVICE_ID_MADCATZ_BEATPAD  0x4540
+#define USB_DEVICE_ID_MADCATZ_RAT9     0x1709
 
 #define USB_VENDOR_ID_MCC              0x09db
 #define USB_DEVICE_ID_MCC_PMD1024LS    0x0076
index 69cca1476a0ccd19b5e9b65de4e809af2c865043..5632c54eadf0206faee31afefc99235763c37e14 100644 (file)
@@ -7,7 +7,7 @@
  *  (This module is based on "hid-ortek".)
  *  Copyright (c) 2012 Andreas Hübner
  *
- *  R.A.T.7, M.M.O.7 (USB gaming mice):
+ *  R.A.T.7, R.A.T.9, M.M.O.7 (USB gaming mice):
  *  Fixes the mode button which cycles through three constantly pressed
  *  buttons. All three press events are mapped to one button and the
  *  missing release event is generated immediately.
@@ -179,6 +179,8 @@ static const struct hid_device_id saitek_devices[] = {
                .driver_data = SAITEK_FIX_PS1000 },
        { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_RAT7),
                .driver_data = SAITEK_RELEASE_MODE_RAT7 },
+       { HID_USB_DEVICE(USB_VENDOR_ID_MADCATZ, USB_DEVICE_ID_MADCATZ_RAT9),
+               .driver_data = SAITEK_RELEASE_MODE_RAT7 },
        { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_MMO7),
                .driver_data = SAITEK_RELEASE_MODE_MMO7 },
        { }