Inconsistent Output from Input.GetAxis across controllers

I am trying to set up joystick input through the Input Manager in Unity 5.1 Personal.

I have several different joysticks connected to the box I dev on. Some behave correctly, and some display a very strange error state.

What I mean by “correct” behavior is that, when the joystick is centered, each axis outputs zero. Moving the X axis left, for instance, should proportionally decrease the X axis value to a minimum of -1, and to the right should proportionally increase the X axis value to +1.

What I see instead on some devices (notably a Microsoft Sidewinder Force Feedback 2 stick, and my FrSky Taranis rc radio, which acts as a game controller when connected via usb) is that the X and Y axis “neutral” positions reads as -1. The far right extreme (for X) reads as +1, and if I move the control stick to the left, all values left of center also report as +1. The same issue occurs with all axes on the Taranis (though not the throttle on the FFB2, for some reason).

This appears consistent as I plug and unplug devices from my dev box.

Windows’ Game Controllers control panel widget reports the axes “correctly.”

Any idea what could be going on?

Hey there, I’m having the same issue with a steering wheel controller. It seems this is a bug that is not yet fixed? Did you manage to find a workaround for this problem?