summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java
diff options
context:
space:
mode:
authorMike <7153163+hackbar@users.noreply.github.com>2017-11-28 19:53:17 -0800
committerMike <7153163+hackbar@users.noreply.github.com>2017-11-28 19:57:50 -0800
commit0067bf1b3ec07139854f15c113468abd1e582e39 (patch)
treeed9df9e4021070280466098f8164624d83a83b62 /Source/Android/app/src/main/java
parent7c96e51bc89b43c8df3a1e14839894cd04fea2b4 (diff)
Android: Handle missing mappings for the Moga Pro 2 HID controller.
It seems to report the GENERIC_1 axis stuck at 1.
Diffstat (limited to 'Source/Android/app/src/main/java')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/utils/ControllerMappingHelper.java14
1 files changed, 14 insertions, 0 deletions
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;
+ }
}