InputManager/XInput: Fix inverted/incorrect axes

This commit is contained in:
Connor McLaughlin 2022-01-31 22:46:37 +10:00 committed by refractionpcsx2
parent dac7106df8
commit 0e83c992c3
1 changed files with 7 additions and 6 deletions

View File

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