From 0e83c992c301de60b95c00969233bcedd6f96396 Mon Sep 17 00:00:00 2001 From: Connor McLaughlin Date: Mon, 31 Jan 2022 22:46:37 +1000 Subject: [PATCH] InputManager/XInput: Fix inverted/incorrect axes --- pcsx2/Frontend/XInputSource.cpp | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) 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