summaryrefslogtreecommitdiff
path: root/Source/Android/app/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Android/app/src/main/java')
-rw-r--r--Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java
index 4688cbce05..7fede2a7d4 100644
--- a/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java
+++ b/Source/Android/app/src/main/java/org/dolphinemu/dolphinemu/activities/EmulationActivity.java
@@ -735,7 +735,16 @@ public final class EmulationActivity extends AppCompatActivity
int axis = range.getAxis();
float origValue = event.getAxisValue(axis);
float value = mControllerMappingHelper.scaleAxis(input, axis, origValue);
- NativeLibrary.onGamePadMoveEvent(input.getDescriptor(), axis, value);
+ // If the input is still in the "flat" area, that means it's really zero.
+ // This is used to compensate for imprecision in joysticks.
+ if (Math.abs(value) > range.getFlat())
+ {
+ NativeLibrary.onGamePadMoveEvent(input.getDescriptor(), axis, value);
+ }
+ else
+ {
+ NativeLibrary.onGamePadMoveEvent(input.getDescriptor(), axis, 0.0f);
+ }
}
return true;