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 f42df4d..3a3f29c 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 946540e..1af93ca 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 cd9c9e9..08cf4e7 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 69cca14..5632c54 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 },
        { }