Nintendont icon indicating copy to clipboard operation
Nintendont copied to clipboard

Rumble (Vibrations) support for HID controllers via USB

Open yongyang007 opened this issue 3 years ago • 3 comments

I have checked the HID_controllers.h and HID.c, I found that Nintendont should support rumble for those HID controllers via USB with a default (VID:PID)

  • Nintendo Wii U GameCube Controller Adapter (057E:0337)
  • DualShock 3 (054C:0268)
  • Generic USB Gamepad (0079:0006)
  • PS2 Controller (0810:0001) And there is a ini file in controllerconfigs, using the same Rumble data with (0810:0001)
  • Gravis Eliminator AfterShock (047D:4006)

Unfortunately I don't have these devices to test if Rumble works on Nintendont for HID controllers via USB .

What I want to confirm that:

  1. Does nintendont support rumble for any HID controller via USB theoretically? (if I have this data that can make the device rumble)
  2. How do I get those data via my controller? (e.g. through HIDAPI)
  3. How do I know which RumbleType I need to select? (I didn't understand the difference between HIDCTRLRumble and HIDIRQRumble)

yongyang007 avatar Apr 25 '22 13:04 yongyang007

yes dualshock 3 and wiiugc adapter do rumble through usb, those rumbles are hardcoded in nintendont itself, fix94 made rumble be available through the ini but i dont think anyone ever figured out how he got those values for the generic usb gamepad, so no idea, if anyone ever figures out how fix94 got those values i would be interested too.

carnage702 avatar Apr 25 '22 14:04 carnage702

Hi, @carnage702 , do you know how to send an Output Report to HID via USB by Nintendont? I get the DS4 rumble Output Report from https://github.com/TheBITLINK/WebHID-DS4/blob/585ca5ae76058e5f85473fcce2b63582d01f2292/src/index.ts And try to use it with void HIDCTRLRumble(u32 Enable) , but it doesn't work on my DS4. I think I have misunderstood how to convert rumble output report to the Rumble values using in Nintendont. It was difficult for me to read the underlying with C.

yongyang007 avatar May 31 '22 09:05 yongyang007

Hi, @carnage702 , do you know how to send an Output Report to HID via USB by Nintendont? I get the DS4 rumble Output Report from https://github.com/TheBITLINK/WebHID-DS4/blob/585ca5ae76058e5f85473fcce2b63582d01f2292/src/index.ts And try to use it with void HIDCTRLRumble(u32 Enable) , but it doesn't work on my DS4. I think I have misunderstood how to convert rumble output report to the Rumble values using in Nintendont. It was difficult for me to read the underlying with C.

i have no idea how to convert it, the only person that did it was fix94 himself so i dont think anyone knows how to actually use the rumble hid stuff on the ini.

carnage702 avatar May 31 '22 16:05 carnage702