-
Notifications
You must be signed in to change notification settings - Fork 34
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 motion movements ignored #29
Comments
By looking at some taihen code ("module.c"), I wrote inside the plugin some lines to get accessible modules. Here is the output: "SceMotion" isn't an accessible module. However, undocumented "SceMotionDev" module exists. My guess is that "SceMotion" is just a "helper" for "SceMotionDev" and it is loaded only in application context. |
Hello xerpi, Thank you for you clarification. From this knowledge (thanks to your code ;-) ), I was able to create plugins for PS TV which catch DS3/4 controllers BlueTooth signal, retrieve accelerometer/gyroscope sensor data and interpret them for "SceMotion" calls. Here is the code: It would have been better to directly hook "SceMotionDev" calls and inject sensors retrieved data but those functions are not documented. Do you know any procedure to "understand" how an undocumented function works? (I mean, at least, knowing the function signature) Those plugins also work on a real PS Vita with "ds3vita" and "ds4vita". However, with "ds3vita", motion sensors data seems to much spaced over time. The PS TV driver for DS3 doesn't have this issue: do you think it could be related to the data sent through call "ds3_set_operational"? Anyway, it is not an important usecase :-). Thank you again for your sources, I wouldn't be able to do it without them! |
Hello,
DS4 motion movement seem to be ignored. When I tried to activate logs and add a log inside "SceMotion_sceMotionGetState", there was no call detected. Then I add log at the hook point:
BIND_FUNC_EXPORT_HOOK(SceMotion_sceMotionGetState, KERNEL_PID, "SceMotion", TAI_ANY_LIBRARY, 0xBDB32767);
LOG("sceMotionGetState hook result: %d\n", SceMotion_sceMotionGetState_hook_uid);
log_flush();
It returns a negative value (which means that the hook have failed). Do you have any idea why this function hook fails? I tried it on Enso and on default Henkaku.
Thank you for your help!
The text was updated successfully, but these errors were encountered: