J2Kbr / GtunerIV

Gtuner IV - Titan Two's software bug report.
http://www.consoletuner.com
25 stars 4 forks source link

[Feature Request] DSU server #396

Closed AeliusSaionji closed 3 years ago

AeliusSaionji commented 3 years ago

Hello!

This is not very important, but it would be nice to have. The DSU protocol is used to deliver controller data (specifically useful for gyro, accel) directly to emulators. As far as I know, Cemu (WiiU), Citra (3DS), and Dolphin (Wii) currently support it.

It seems well documented: https://v1993.github.io/cemuhook-protocol/

From dolphin's wiki page on the subject:

Dolphin can act as a client of the DSU protocol (often referred as CemuHook Motion Provider protocol), which enables the emulator to receive motion and input data from compatible applications implementing the server-side part of the protocol. Those servers works as a middle-man between specific input devices and client applications like Dolphin in order to provide motion data not accessible through the other input APIs Dolphin supports, like DInput, XInput and SDL, although they also provide data from normal buttons and axes as well.

Challenges without DSU, as I understand it:

*so long as DS4Windows is outputting a virtual DS4, NOT a virtual 360 controller. For whatever reason, Gtuner's device capture fails to register triggers from DS4Windows' virtual 360 controller.

tl;dr, if Gtuner supported acting as a DSU server, Gtuner would have the ability to communicate gyro, accel, and pointer information directly into supported emulators.

Thanks!

AeliusSaionji commented 3 years ago

It only occurred to me after submitting: a significant portion of this feature request can be accomplished by setting the Titan's output to DS4, and then using DS4Windows as the DSU server.

However, perhaps an integrated DSU server would still be beneficial. I leave it to your discretion.

J2Kbr commented 3 years ago

Thank you for your suggestion and considerations. Provided this is a very niche use and, as pointed out, there is alredy a working solution (Titan Two configured to output as DS4 + DS4Windows as the DSU server) and, possibly, this will also work via Gtuner's Virtual controller, I will close this request. With sufficent user's demand to have q internal DSU server we can reopen this feature request and consider the implementation. Thank you.