Android: Fix DS4 dpad mapping

This commit is contained in:
Connor McLaughlin 2021-03-14 20:48:10 +10:00
parent dea713e243
commit 429ab9ffa2

View File

@ -120,15 +120,15 @@ public class ControllerBindingDialog extends AlertDialog {
for (int axisIndex = 0; axisIndex < motionEventList.size(); axisIndex++) { for (int axisIndex = 0; axisIndex < motionEventList.size(); axisIndex++) {
final int axisCode = motionEventList.get(axisIndex).getAxis(); final int axisCode = motionEventList.get(axisIndex).getAxis();
// these are binary, so start at zero if (event.getHistorySize() > 0)
if (axisCode == MotionEvent.AXIS_HAT_X || axisCode == MotionEvent.AXIS_HAT_Y) axisValues[axisIndex] = event.getHistoricalAxisValue(axisCode, 0);
else if (axisCode == MotionEvent.AXIS_HAT_X || axisCode == MotionEvent.AXIS_HAT_Y)
axisValues[axisIndex] = 0.0f; axisValues[axisIndex] = 0.0f;
else else
axisValues[axisIndex] = event.getAxisValue(axisCode); axisValues[axisIndex] = event.getAxisValue(axisCode);
} }
mStartingAxisValues.put(deviceId, axisValues); mStartingAxisValues.put(deviceId, axisValues);
return false;
} }
final float[] axisValues = mStartingAxisValues.get(deviceId); final float[] axisValues = mStartingAxisValues.get(deviceId);