Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

authored by

Ville Aakko and committed by
Jiri Kosina
7bb9d643 6354b7e2

+7 -2
+2 -1
drivers/hid/Kconfig
··· 629 629 support for its special functionalities. 630 630 631 631 config HID_SAITEK 632 - tristate "Saitek non-fully HID-compliant devices" 632 + tristate "Saitek (Mad Catz) non-fully HID-compliant devices" 633 633 depends on HID 634 634 ---help--- 635 635 Support for Saitek devices that are not fully compliant with the ··· 637 637 638 638 Supported devices: 639 639 - PS1000 Dual Analog Pad 640 + - R.A.T.9 Gaming Mouse 640 641 - R.A.T.7 Gaming Mouse 641 642 - M.M.O.7 Gaming Mouse 642 643
+1
drivers/hid/hid-core.c
··· 1906 1906 { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_PS1000) }, 1907 1907 { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_RAT7) }, 1908 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 1910 #endif 1910 1911 { HID_USB_DEVICE(USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_IR_REMOTE) }, 1911 1912 { HID_USB_DEVICE(USB_VENDOR_ID_SAMSUNG, USB_DEVICE_ID_SAMSUNG_WIRELESS_KBD_MOUSE) },
+1
drivers/hid/hid-ids.h
··· 617 617 618 618 #define USB_VENDOR_ID_MADCATZ 0x0738 619 619 #define USB_DEVICE_ID_MADCATZ_BEATPAD 0x4540 620 + #define USB_DEVICE_ID_MADCATZ_RAT9 0x1709 620 621 621 622 #define USB_VENDOR_ID_MCC 0x09db 622 623 #define USB_DEVICE_ID_MCC_PMD1024LS 0x0076
+3 -1
drivers/hid/hid-saitek.c
··· 7 7 * (This module is based on "hid-ortek".) 8 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 11 * Fixes the mode button which cycles through three constantly pressed 12 12 * buttons. All three press events are mapped to one button and the 13 13 * missing release event is generated immediately. ··· 178 178 { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_PS1000), 179 179 .driver_data = SAITEK_FIX_PS1000 }, 180 180 { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_RAT7), 181 + .driver_data = SAITEK_RELEASE_MODE_RAT7 }, 182 + { HID_USB_DEVICE(USB_VENDOR_ID_MADCATZ, USB_DEVICE_ID_MADCATZ_RAT9), 181 183 .driver_data = SAITEK_RELEASE_MODE_RAT7 }, 182 184 { HID_USB_DEVICE(USB_VENDOR_ID_SAITEK, USB_DEVICE_ID_SAITEK_MMO7), 183 185 .driver_data = SAITEK_RELEASE_MODE_MMO7 },