From 429ab9ffa2caa0d980b69f08ef44675536a6d918 Mon Sep 17 00:00:00 2001 From: Connor McLaughlin Date: Sun, 14 Mar 2021 20:48:10 +1000 Subject: [PATCH] Android: Fix DS4 dpad mapping --- .../github/stenzek/duckstation/ControllerBindingDialog.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/android/app/src/main/java/com/github/stenzek/duckstation/ControllerBindingDialog.java b/android/app/src/main/java/com/github/stenzek/duckstation/ControllerBindingDialog.java index 047301d27..bffc00079 100644 --- a/android/app/src/main/java/com/github/stenzek/duckstation/ControllerBindingDialog.java +++ b/android/app/src/main/java/com/github/stenzek/duckstation/ControllerBindingDialog.java @@ -120,15 +120,15 @@ public class ControllerBindingDialog extends AlertDialog { for (int axisIndex = 0; axisIndex < motionEventList.size(); axisIndex++) { final int axisCode = motionEventList.get(axisIndex).getAxis(); - // these are binary, so start at zero - if (axisCode == MotionEvent.AXIS_HAT_X || axisCode == MotionEvent.AXIS_HAT_Y) + if (event.getHistorySize() > 0) + axisValues[axisIndex] = event.getHistoricalAxisValue(axisCode, 0); + else if (axisCode == MotionEvent.AXIS_HAT_X || axisCode == MotionEvent.AXIS_HAT_Y) axisValues[axisIndex] = 0.0f; else axisValues[axisIndex] = event.getAxisValue(axisCode); } mStartingAxisValues.put(deviceId, axisValues); - return false; } final float[] axisValues = mStartingAxisValues.get(deviceId);