Messages in this thread Patch in this message | | | Date | Fri, 26 Jun 2009 16:44:20 +0200 (CEST) | From | "" <> | Subject | [PATCHv2] Adding rumble support to Thrustmaster Dual Trigger 3-in-1 devices |
| |
From: Rubén Aós Garralda <rubenatch@gmail.com>
This patch enables rumble in Thrustmaster Dual 3-in-1 trigger gamepads (in both PC and PS3 modes). It uses the same code as Thrustmaster FireStorm Dual Power 2/3, so it only modifies hid-core.c (to put the devices in the "forbidden list" and hid-tmff.c to add the new USB IDs.
---
Latest patch was BAAAAAD (it had a missing end of comment), please discard. New patch:
diff -uprN linux-source-2.6.30/drivers/hid/hid-core.c linux-source-test/drivers/hid/hid-core.c --- linux-source-2.6.30/drivers/hid/hid-core.c 2009-06-10 05:05:27.000000000 +0200 +++ linux-source-test/drivers/hid/hid-core.c 2009-06-26 15:33:48.000000000 +0200 @@ -1309,6 +1309,8 @@ static const struct hid_device_id hid_bl { HID_USB_DEVICE(USB_VENDOR_ID_SUNPLUS, USB_DEVICE_ID_SUNPLUS_WDESKTOP) }, { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb300) }, { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb304) }, + { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb323) }, + { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb324) }, { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb651) }, { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb654) }, { HID_USB_DEVICE(USB_VENDOR_ID_TOPSEED, USB_DEVICE_ID_TOPSEED_CYBERLINK) }, diff -uprN linux-source-2.6.30/drivers/hid/hid-tmff.c linux-source-test/drivers/hid/hid-tmff.c --- linux-source-2.6.30/drivers/hid/hid-tmff.c 2009-06-10 05:05:27.000000000 +0200 +++ linux-source-test/drivers/hid/hid-tmff.c 2009-06-26 15:35:27.000000000 +0200 @@ -236,7 +236,11 @@ err: static const struct hid_device_id tm_devices[] = { { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb300), .driver_data = (unsigned long)ff_rumble }, - { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb304), + { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb304), /* FireStorm Dual Power 2 (and 3) */ + .driver_data = (unsigned long)ff_rumble }, + { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb323), /* Dual Trigger 3-in-1 (PC Mode) */ + .driver_data = (unsigned long)ff_rumble }, + { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb324), /* Dual Trigger 3-in-1 (PS3 Mode) */ .driver_data = (unsigned long)ff_rumble }, { HID_USB_DEVICE(USB_VENDOR_ID_THRUSTMASTER, 0xb651), /* FGT Rumble Force Wheel */ .driver_data = (unsigned long)ff_rumble }, diff -uprN linux-source-2.6.30/drivers/hid/Kconfig linux-source-test/drivers/hid/Kconfig --- linux-source-2.6.30/drivers/hid/Kconfig 2009-06-10 05:05:27.000000000 +0200 +++ linux-source-test/drivers/hid/Kconfig 2009-06-26 15:58:15.000000000 +0200 @@ -268,8 +268,9 @@ config THRUSTMASTER_FF depends on USB_HID select INPUT_FF_MEMLESS help - Say Y here if you have a THRUSTMASTER FireStore Dual Power 2 or - a THRUSTMASTER Ferrari GT Rumble Force or Force Feedback Wheel. + Say Y here if you have a THRUSTMASTER FireStore Dual Power 2 or 3, + a THRUSTMASTER Dual Trigger 3-in-1 or a THRUSTMASTER Ferrari GT + Rumble Force or Force Feedback Wheel.
config ZEROPLUS_FF tristate "Zeroplus based game controller support"
| |