Tuesday, December 30, 2008

ThrustMaster Firestorm Dual Power 3 - Rumble

To get rumble to work on the ThrustMaster Firestorm Dual Power 3 gamepad (044f:b304) one has to send it a control message of the form (libusb syntax):

usb_control_msg(handle, 0x21, 0x09, 0x02, 0x00, { left_motor, right_motor, 0x00, 0x00 }, 4, 0);

Just figured that one out with USBlyzer, which seems a lot more robust then the Free Software alternatives like USB Snoopy, which used to bluescreen my box anytime I did something like unplugging a gamepad while it was running.

Edit: I just noticed that there are different versions of the Dual Power 3 gamepad ( 044f:b312). For this different version the rumble message is a little different (i.e. low/high bytes are flipped for value):

usb_control_msg(handle, 0x21, 0x09, 0x0200, 0x00, { left_motor, right_motor, 0x00, 0x00 }, 4, 0);

No comments: