Take for example, the Xbox One controller. XInput returns joystick input along 2 axis (x & y). I'm not sure if the hardware just measures voltage across 2 axis or not, I'm not very knowledgeable in the hardware domain.
I'm unsure what data processing is done by API's like XInput already - but since the deadzone is still prevalent, I'm assuming XInput does very little input massaging.
I'm wondering what the "proper" way to process this data is (not limited to just input from XInput - but joystick input in general). Ex:
- Should the deadzone be clipped circularly or rectangularly?
- What type of low-pass filter should be applied, if any? Maybe a moving average?
- Should a bias be introduced into the input based on the resting input?