1
\$\begingroup\$

I actually try to make my PS4 Pad rumble. I get the pad capabilities with

DIDEVCAPS capabilities;
capabilities.dwSize = sizeof(DIDEVCAPS);
ps4pad->GetCapabilities(&capabilities);

the next step is to check if the flag DIDC_FORCEFEEDBACK is ok

But capabilities.dwFlags & DIDC_FORCEFEEDBACK always return false.

As my pad is a ps4, I know it support feedback.

Have you an idea why it's return false, what I missed?

\$\endgroup\$
2
2
\$\begingroup\$

Windows lacks DirectInput support for DS4 gamepads. In general there's no standard way to do haptics for HID gamepads, and the DS4 isn't even really a standard HID gamepad.

To get this working in Chrome I had to send the vibration commands as raw HID packets:

https://cs.chromium.org/chromium/src/device/gamepad/dualshock4_controller_base.cc?l=45

https://cs.chromium.org/chromium/src/device/gamepad/dualshock4_controller_win.cc?l=38

You can also use third-party drivers like DS4Windows to make your DS4 behave like an XInput device.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.