diff --git a/pcsx2/Frontend/XInputSource.cpp b/pcsx2/Frontend/XInputSource.cpp index d2186efff6..658b4421b4 100644 --- a/pcsx2/Frontend/XInputSource.cpp +++ b/pcsx2/Frontend/XInputSource.cpp @@ -331,12 +331,13 @@ void XInputSource::CheckForStateChanges(u32 index, const XINPUT_STATE& new_state ogp.field = ngp.field; \ } - CHECK_AXIS(sThumbLX, AXIS_LEFTX, -32768, 32767); - CHECK_AXIS(sThumbLY, AXIS_LEFTY, -32768, 32767); - CHECK_AXIS(sThumbRX, AXIS_RIGHTX, -32768, 32767); - CHECK_AXIS(sThumbRY, AXIS_RIGHTY, -32768, 32767); - CHECK_AXIS(bLeftTrigger, AXIS_LEFTTRIGGER, -128, 127); - CHECK_AXIS(bRightTrigger, AXIS_RIGHTTRIGGER, -128, 127); + // Y axes is inverted in XInput when compared to SDL. + CHECK_AXIS(sThumbLX, AXIS_LEFTX, 32768, 32767); + CHECK_AXIS(sThumbLY, AXIS_LEFTY, -32768, -32767); + CHECK_AXIS(sThumbRX, AXIS_RIGHTX, 32768, 32767); + CHECK_AXIS(sThumbRY, AXIS_RIGHTY, -32768, -32767); + CHECK_AXIS(bLeftTrigger, AXIS_LEFTTRIGGER, 128, 127); + CHECK_AXIS(bRightTrigger, AXIS_RIGHTTRIGGER, 128, 127); #undef CHECK_AXIS