diff --git a/Core/HLE/sceCtrl.cpp b/Core/HLE/sceCtrl.cpp index d38bd48151..7d032010f4 100644 --- a/Core/HLE/sceCtrl.cpp +++ b/Core/HLE/sceCtrl.cpp @@ -161,11 +161,11 @@ void __CtrlSetAnalog(float x, float y, int stick) { std::lock_guard guard(ctrlMutex); if (stick == 0) { - ctrlCurrent.analog[0] = (u8)(x * 127.f + 128.f); - ctrlCurrent.analog[1] = (u8)(-y * 127.f + 128.f); + ctrlCurrent.analog[0] = (u8)(x * 127.5f + 128.f); + ctrlCurrent.analog[1] = (u8)(-y * 127.5f + 128.f); } else { - ctrlCurrent.analogRight[0] = (u8)(x * 127.f + 128.f); - ctrlCurrent.analogRight[1] = (u8)(-y * 127.f + 128.f); + ctrlCurrent.analogRight[0] = (u8)(x * 127.5f + 128.f); + ctrlCurrent.analogRight[1] = (u8)(-y * 127.5f + 128.f); } }