From 0067bf1b3ec07139854f15c113468abd1e582e39 Mon Sep 17 00:00:00 2001 From: Mike <7153163+hackbar@users.noreply.github.com> Date: Tue, 28 Nov 2017 19:53:17 -0800 Subject: [PATCH] Android: Handle missing mappings for the Moga Pro 2 HID controller. It seems to report the GENERIC_1 axis stuck at 1. --- .../dolphinemu/utils/ControllerMappingHelper.java | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/ControllerMappingHelper.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/ControllerMappingHelper.java index 1cdc07604a..69edc7a448 100644 --- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/ControllerMappingHelper.java +++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/ControllerMappingHelper.java @@ -45,6 +45,14 @@ public class ControllerMappingHelper return 0.0f; } } + else if (isMogaPro2Hid(inputDevice)) + { + // This controller has a broken axis that reports a constant value. Ignore it. + if (axis == MotionEvent.AXIS_GENERIC_1) + { + return 0.0f; + } + } return value; } @@ -59,4 +67,10 @@ public class ControllerMappingHelper // Microsoft Xbox One controller return inputDevice.getVendorId() == 0x45e && inputDevice.getProductId() == 0x2e0; } + + private boolean isMogaPro2Hid(InputDevice inputDevice) + { + // Moga Pro 2 HID + return inputDevice.getVendorId() == 0x20d6 && inputDevice.getProductId() == 0x6271; + } }