[PATCH 2/2] hid: Don't sign-extend 16-bit values.
z.figura12 at gmail.com
Tue Feb 12 00:06:23 CST 2019
Okay, through playing around with hid and xinput tests I've managed to
determine the root cause, which is that xinput's scaling logic is kind
of broken. In particular it scales X value coordinates to the range
[-32767, 32768], which breaks when the controller is held all the way to
the right (which often is not physically "all the way to the right")
because 32768 wraps around to negative. The reason this worked before is
because of some quirks involving signed multiply. I've sent some patches
which should address this.
More information about the wine-devel