Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ds4: Add workarounds for some 3rd party controllers #7059

Merged
merged 3 commits into from Dec 4, 2019
Merged

Conversation

Copy link
Contributor

@kd-11 kd-11 commented Dec 3, 2019

I was messing around with some non-OEM ds4 clone and found it has some broken HID reports, specifically 0x81 (get mac address). The actual PS4 seems to use 0x12 instead (another command to get bluetooth radio mac address) so I tried using that instead and it works. Also, the calibration data seems to be in bluetooth mode when the controller is not genuine, something which is likely fixed in the real console by just checking if value is less than 0 and not whether its connected via bluetooth, but that's an issue for another day. Checked the same changes into the linux kernel driver for ds4 and it does get the controller to work. Ofc if you get the genuine check error with something you paid full price for, just get a refund instead.

rpcs3/ds4_pad_handler.cpp Outdated Show resolved Hide resolved
kd-11 added 2 commits Dec 3, 2019
- Simplify helpers to read integers HID feature report buffers. They're
simple LE values.
- Improve calibration format detection by just checking the returned
values and not relying on bluetooth check. PS4 does not seem to do it
this way as it accepts 3rd party controllers with inverted format. The
only other request 0xA3 seems unrelated to device capabilities.
@kd-11 kd-11 merged commit d973835 into RPCS3:master Dec 4, 2019
2 checks passed
@kd-11 kd-11 deleted the ds4 branch Aug 23, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants