Aussiedroid / AD-EDWarthogEnhancedScript

An Advanced & Highly Customisable Elite Dangerous Thrustmaster Warthog Script + ED Bindings Pack that utilises Modifiers, allowing for all commands to be easily accessible on the HOTAS. Includes many Quality of Life features to get the most enjoyment out of ED!
https://steamcommunity.com/sharedfiles/filedetails/?id=769637037
70 stars 24 forks source link

JS_DEADZONE has no effect #9

Closed Berndserk closed 4 years ago

Berndserk commented 4 years ago

Hi,

I was trying to set a deadzone for the joystick using the variable JS_DEADZONE as described but it has no effect whatsoever. There is simply no deadzone on my stick, which makes it practically unusable for me in FA OFF. I tested it in the device analyzer and there is zero deadzone on the stick. I tested the throttle dead zone, increased, decreased it -> works but not the one for the stick. I tried the checkbox to enable/disable hardware deadzone in the Target Software, also no difference.

regards Bernd

PS: Awesome Job! I love your script! I will also file a feature request for some addition :-D

Aussiedroid commented 4 years ago

Hi Berndserk,

Thanks for the bug report. It should still be working, but I haven't played for a time now. I am in a bit of transition with my cockpit unplugged so cannot test right now directly.

Are you seeing this in the beta or live game?

It should be getting set via (AD_EDHardware @ line 17->) when you toggle the Joystick Curve mode:

SetSCurve(&Joystick, JOYX, 0, JS_DEADZONE, 0, JS_CURVE[profile], JS_ZOOM[profile]); SetSCurve(&Joystick, JOYY, 0, JS_DEADZONE, 0, JS_CURVE[profile], JS_ZOOM[profile]);

Hmm, I am wondering if this is not firing that code at all (are the joystick curves changing when using the 3-way switch?), or if the axis initialisation is overriding the value perhaps. Could try changing the following ...

See line 30-> : Change from: SetSCurve(&Joystick, JOYX, 0, 0, 0, 0, 0); SetSCurve(&Joystick, JOYY, 0, 0, 0, 0, 0); }

Change to: SetSCurve(&Joystick, JOYX, 0, JS_DEADZONE, 0, 0, 0); SetSCurve(&Joystick, JOYY, 0, JS_DEADZONE, 0, 0, 0); }

If it works please let me know, otherwise I've jotted it down to test my end though once I get things setup again. Hoping to have an update to address any beta issues or other bugs/improvements ready for the live release of Carriers.

Cheers, AD

Berndserk commented 4 years ago

Hi, i reckognized this in the device analyzer. I guess it is the same in the game... regardless of beta or live. But I applied your changes and now it works! Also when changing the curves it still works! Perfect!

Thanks, Bernd

Aussiedroid commented 4 years ago

Thanks Bernd! FA OFF is a GO! :)

Looks like the default Joystick Axis intialisation is overriding the Joystick Curve presets for some reason. Easy fix though; appreciate you letting me know it worked.

I'll test further my end once I get up and running again, and plan to add this fix to the next release.

Cheers, AD