SADX Input Mod - Fixed XInput & DInput!
v2.0.1, 10/20/17

This mod fixes issues with XInput controllers (camera problems, adds rumble) and some DirectInput controllers. It uses SDL2 to allow simultaneous usage of XInput and DirectInput controllers, and increases the maximum number of controllers from 4 (sometimes 8 depending on where you look in SADX's code) to 8.

Configuration:
To configure deadzones and the like, create a text file called "config.ini" in the mod's folder (as in, mods/input-mod, where input-mod.dll is). As for the contents, here's an example of the deadzones I use for my DualShock 4.

[Controller 1]
DeadzoneL = 4096
DeadzoneR = 4096

The deadzone can be anywhere from 0 to 32767.

You can also enable or disable radial input using the following parameters. By default, it's enabled for the left stick and disabled for the right stick.

RadialL = (0/1, 1 by default)
RadialR = (0/1, 0 by default)

And for reference, these are the default XInput deadzones.

7849 for the left stick

8689 for the right stick

30 for the triggers

Other configuration fields:

RumbleFactor - Rumble intensity factor; floating point. 1.0 by default. This value can be as low as 0.0 and as high as you want, but it might cause issues with really high values.

I suppose you're right. Last time I had tried, it didn't work, but that could have actually been DS4Windows doing its occasional "who needs button presses!" thing. I've still got the D-Pad and not-as-overbearing rumble though (which is still subject to adjustment) =P

With the help of some testers in #x-hax: fixed an integer rollover which--even though it shouldn't have, and I did many tests to ensure it didn't--caused the axes to reverse direction under certain conditions (third party controllers).

This mod is pretty awesome. Makes it a lot more natural to use a 360 controller. I'm assuming this probably works with Xbone's controller as well, but I don't feel like using that until I can get a wireless adapter for it.

Quick update. I've disabled the debug display by request (which would normally appear when LB/L1 is pressed); compatibility doesn't seem to be an issue at this point anyway. The functionality is otherwise the same.

This brings the version number to 1.3. You can grab it from the first post, or from GitHub. If you have problems with your controller, you can use the previous version (1.2) from GitHub as well, and the debug information will be available again. Alternatively, you can compile your own Debug build, but that's not the most user friendly option given that I haven't provided instructions, I suppose =P

I may or may not have been handling button presses incorrectly, so I've made it pretty much exactly the same as found in the original (albeit disassembled) code. I've also updated the mod loader to v3.2, which is now a hard requirement. You'll have to update it before you can use the latest mod.

I've also disabled per-controller rumble until I can figure out how to detect if a player is currently AI controlled.

This brings the version number to 1.4. As always, you can grab the latest version from the first post or the GitHub release page. Let me know if I broke anything.

I don't seem to be getting any rumble on my Logitech F710 Xinput controller- the rumble works fine in any other game- is the rumble disabled entirely as of now?
Also- Xinput Button Prompts for english speakers! (DL: https://u.teknik.io/MSktVp.zip)

Spoiler

Ignore that some of the buttons are incorrect in that image- they are actually correct in the download