MrTimcakes / Unity-DirectInput

Unity Native Plugin to expose DirectX DirectInput ForceFeedback
GNU Lesser General Public License v3.0
31 stars 11 forks source link

[Help/General Question] Why are only a few devices supported? #12

Open jaimelove opened 8 months ago

jaimelove commented 8 months ago

Hello, I am tinkering with this plugin to try and prototype some force feedback steering wheel controls in a potential future unity project. I currently have two FFB capable steering wheels that are listed as not supported (Logitech MOMO Force Feedback and Moza R9) and I was wondering why only a few devices are supported. I have not yet tried my Moza R9, but in testing with my Logitech MOMO steering wheel, I can see it shows in the unity Input Debugger as both the normal joystick (the one shown anyways with the new input system) and as a DI_Logitech MOMO Racing. I assume the DI_Logitech MOMO Racing is a DirectInput wrapped virtual device version of the steering wheel. I can see it working with the X and Y axes, and I can use it as a input device in itself to input in unity. However, it is tagged as "FFBCapable\":false", even though it is FFBCapable (Is this flag created by your plugin, perhaps?). In using the sample code and sample inputactions provided, I tried to bypass the FFBCapable check, and the wheel then got recognised, but then I would get errors when I enable any of the FFB bools in the inspector of the sample code. (Error thrown from a hresult check in UpdateConstantForceSimple in DirectInputManager). I suspect there is more to this than simple flags, and I would like to know more, if you have the time to explain.

If the reason for the limited wheel support is that it has to be manually added and tested by you, I would be interested in contributing to the project with the two wheels I have at least :)

Thank you.

jaimelove commented 1 month ago

I can confirm now that new Moza R9 steering wheel does indeed work! Both as input with DI-wrapper, and FFB effects from the FFB Demo supplied. It is understandable that the old Logitech MOMO steering wheel does not work properly, as it is around 20 years old or so at this point.