How does RPCS3 handle DS3 gyro input?
Started by meerkat3




2 posts in this topic
meerkat3
Member


0
2 posts 1 threads Joined: Apr 2024
04-29-2024, 09:25 AM -
#1
RPCS3's DualShock3 handler supports the yaw-only dualshock 3 gyroscope axis for real Sony controllers. How does it implement this in Linux?

I want to get it implemented in the Dolphin emulator as well, but they say it's too hard, and that even the Linux kernel developers consider it too hard to support
https://github.com/torvalds/linux/blob/2...ny.c#L1105

I found this RPCS3 github file which seems like it could help, but I'm not a developer
https://github.com/RPCS3/rpcs3/blob/e32c...er.cpp#L83

or is there a better place to ask this question in?
thanks
Megamouse
RPCS3 Developer


0
130 posts 84 threads Joined: Aug 2017
04-29-2024, 09:00 PM -
#2
In RPCS3 neither evdev nor SDL register the gyro, as expected (since not implemented in the Linux kernel).
But we also have the DS3 handler which uses HID to fetch the input reports of the controller directly.

With this, we are able to simply fetch the value.
https://github.com/RPCS3/rpcs3/blob/e32c...er.cpp#L83

The only issue is that while some controllers work fine, others only report really small values.
We are investigating if there is simply some calibration step missing.
This post was last modified: 04-29-2024, 09:00 PM by Megamouse.
meerkat3
Member


0
2 posts 1 threads Joined: Apr 2024
05-01-2024, 07:23 AM -
#3
thank you for the answer, would you be willing to merge your DS3 handler back into the linux kernel so that other emulators can make use of it? I believe this is a relevant file: https://github.com/torvalds/linux/blob/2...ny.c#L1105

if not, is there some info i could pass on to the developers of Dolphin emulator on how they can go about implementing it (and how difficult it would be)

thanks


Forum Jump:


Users browsing this thread: 1 Guest(s)