From e5bdb7011be06b05d166e9375a9b94c971e125ba Mon Sep 17 00:00:00 2001 From: german77 Date: Sun, 30 Apr 2023 22:34:26 -0600 Subject: android: fix deadzone calculation --- .../main/java/org/yuzu/yuzu_emu/utils/InputHandler.kt | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/InputHandler.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/InputHandler.kt index 4303939ef..78b978fb5 100644 --- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/InputHandler.kt +++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/utils/InputHandler.kt @@ -76,10 +76,18 @@ class InputHandler { // Adjust range of joystick val deadzone = 0.15f - val deadzoneFactor = 1.0f / r * (r - deadzone) / (1.0f - deadzone) - var x = xAxis * deadzoneFactor - var y = yAxis * deadzoneFactor - r *= deadzoneFactor + var x = xAxis + var y = yAxis + + if (r > deadzone) { + val deadzoneFactor = 1.0f / r * (r - deadzone) / (1.0f - deadzone) + x *= deadzoneFactor + y *= deadzoneFactor + r *= deadzoneFactor + } else { + x = 0.0f + y = 0.0f + } // Normalize joystick if (r > 1.0f) { -- cgit v1.2.3