Posted June 25, 2021 by Lithium Ballistics
As it said: made some DirectInput support. So far:
On the values. Deadzone is set in the range scale (1.0 is the full range, so 0.1 means a 10% deadzone). Exponents are set as K in Out = exp(K * In) * n, where n is calculated internally so that Out(1.0)=1.0. The K can range from 0.1 to 50, where 0.1 makes a virtually linear output, while 50 is just an overkill top value. I feel comfortable with 2.5 but you be you, I'd say look somewhere between 2 and 4 or something.
The axis group. For being the aiming controls, yaw and pitch are applied as an axis pair. If it is incomplete (at least one axis is missing), it will fall back to the mouse. This is done this way because both the deadzone and the exponent are applied to the displacement vector, not each axis individually. For this we get a round deadzone, not a square one, and the handle direction is preserved. The method only applies to the aiming input while the movement controls and the roll axis are applied individually.