diff --git a/Source/OpenTK/Platform/Windows/XInputJoystick.cs b/Source/OpenTK/Platform/Windows/XInputJoystick.cs index 2e21adfe..0ffed2a7 100644 --- a/Source/OpenTK/Platform/Windows/XInputJoystick.cs +++ b/Source/OpenTK/Platform/Windows/XInputJoystick.cs @@ -59,10 +59,10 @@ namespace OpenTK.Platform.Windows state.SetIsConnected(true); state.SetAxis(JoystickAxis.Axis0, (short)xstate.GamePad.ThumbLX); - state.SetAxis(JoystickAxis.Axis1, (short)(-xstate.GamePad.ThumbLY)); + state.SetAxis(JoystickAxis.Axis1, (short)Math.Min(short.MaxValue, -xstate.GamePad.ThumbLY)); state.SetAxis(JoystickAxis.Axis2, (short)Common.HidHelper.ScaleValue(xstate.GamePad.LeftTrigger, 0, byte.MaxValue, short.MinValue, short.MaxValue)); state.SetAxis(JoystickAxis.Axis3, (short)xstate.GamePad.ThumbRX); - state.SetAxis(JoystickAxis.Axis4, (short)(-xstate.GamePad.ThumbRY)); + state.SetAxis(JoystickAxis.Axis4, (short)Math.Min(short.MaxValue, -xstate.GamePad.ThumbRY)); state.SetAxis(JoystickAxis.Axis5, (short)Common.HidHelper.ScaleValue(xstate.GamePad.RightTrigger, 0, byte.MaxValue, short.MinValue, short.MaxValue)); state.SetButton(JoystickButton.Button0, (xstate.GamePad.Buttons & XInputButtons.A) != 0);