So.. I was mumbling over Omkiron and the no deadzones problem.
After a hint of one of the ReactOS contributor, I realized: there's nothing actually broken.
Controllers with analog sticks just weren't a thing back then (only a year after Sony started to bundle Dualshocks with PS1).
In March 1999 Microsoft had no kind of recommendation on this side, even if some of their own products had built-in accelerometers that could hardly be kept to 0.
After checking dx3, dx5, dx6, dx7, dx8, dx9 documentation I realized that if any, the CLSID drop made in the latest update DI ever got could explain why Xinput Plus (dinput8.dll
, remember?) doesn't work. Older interfaces aren't accessed.
So... I just guess we need a tool that can work with that. And I wonder if the mapper introduced in dx8 also supported remapping in older versions.
trivia: dead zones support was present in the API starting from dx1
EDIT: I wonder why XInput+ claims to support DInput5 and newer (which Omikron indeed is).. but it doesn't work
EDIT2: Ok, it seems there are precisely 4 main version of DirectInput interface: 0x0300, 0x0500 (aforementioned), 0x0700 and 0x0800. And 7 sub-versions, with some caveats
EDIT3: other possibly relevant info
EDIT 4: other hacks