elishacloud / dxwrapper

Fixes compatibility issues with older games running on Windows 10/11 by wrapping DirectX dlls. Also allows loading custom libraries with the file extension .asi into game processes.
zlib License
1.16k stars 83 forks source link

Possible to add deadzone/antideadzone settings per-stick or axis for dinput/8? #97

Closed instinctualjealousy closed 1 year ago

instinctualjealousy commented 3 years ago

XInputPlus is overkill for simply setting deadzones especially when the native gamepad support of a game works fine as is, plus it's predicated on having a real or virtual xinput compatible pad, so people with dinput-only pads are left out. There are a few older games out there that have absolutely or nearly no deadzone (Daytona USA Deluxe, Crazy Taxi 3, Starsky & Hutch for example) and no way to set it in-game, which results in twitchy controls on controllers that have no or minimal firmware or driver deadzone.

I currently use https://github.com/d-b/gurumin-pad, but it has no configuration whatsoever. I was able to make multiple DLLs by figuring out the PROJECT_DEADZONE value in hex, so I didn't have to set up a build environment for such a tiny plugin. This does work for the most part, but I figured it'd be a neat feature to have in dxwrapper.

ThirteenAG's NFS widescreen fixes do include a deadzone-setting-by-percentage, if the implementation can be worked with.

mirh commented 3 years ago

Gurming pad has sources though. Can't you just try to set a different PROJECT_DEADZONE value?

instinctualjealousy commented 3 years ago

Of course. Didn't bother setting up a compile environment though just for that when I could set the project deadzone value in hex. It'd just be nicer to have more fine-grained control and have it built in dxwrapper. It's already able to do a lot for 3D and a decent bit for sound. dinputto8 is a godsend, though.

I don't think it's beyond the scope of this project, but that isn't up to me to call.

elishacloud commented 1 year ago

Thanks for the suggestion! However, I don't have any plans to do this. Closing this issue.