diff --git a/UI/GamepadEmu.cpp b/UI/GamepadEmu.cpp index a76e2b7df0..8a039fe17f 100644 --- a/UI/GamepadEmu.cpp +++ b/UI/GamepadEmu.cpp @@ -143,8 +143,10 @@ void PSPDpad::ProcessTouch(float x, float y, bool down) { int ctrlMask = 0; int lastDown = down_; + + bool fourWay = g_Config.bDisableDpadDiagonals || rad < 1.25f; if (down) { - if (g_Config.bDisableDpadDiagonals) { + if (fourWay) { int direction = (int)(floorf((atan2f(dy, dx) / (2 * M_PI) * 4) + 0.5f)) & 3; switch (direction) { case 0: ctrlMask |= CTRL_RIGHT; break;