Problems with generic usb controllers and input manger

Hello!

I’m having some issues with unity’s input manager coupled with a generic usb gamepad.
I’m trying to get a generic usb SNES controller to work within my game, but there’s a problem with getting directional input from the d-pad (axis input).

The problem is that the axises (X & Y) “resting” value is at -1.
When i push all the way to right/down i get 1, but pushing all the way left/up i still get -1.

When i calibrate the controller in windows the axises are centered at 0, but when pushed to the left/up they go all the way to -2, while only going to 1 when i push right/down.

Is there any way of fixing this without switching to an xbox controller?

Thanks.

Edit:
I’ve fiddled with gravity, deadzone and sensitivity with no success.

There’s nothing you can do to change the raw values Unity’s giving for those axes. It means the device’s HID report information is either bad or in a format Unity’s HID implementation does not support. You can try a free trial of Rewired. My HID implementation supports more odd devices than Unity’s and might be able to read those axes properly.