summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--android-project/app/src/main/java/org/libsdl/app/SDLControllerManager.java53
1 files changed, 13 insertions, 40 deletions
diff --git a/android-project/app/src/main/java/org/libsdl/app/SDLControllerManager.java b/android-project/app/src/main/java/org/libsdl/app/SDLControllerManager.java
index cccc6462fb..d3329c9447 100644
--- a/android-project/app/src/main/java/org/libsdl/app/SDLControllerManager.java
+++ b/android-project/app/src/main/java/org/libsdl/app/SDLControllerManager.java
@@ -620,51 +620,24 @@ class SDLGenericMotionListener_API24 extends SDLGenericMotionListener_API12 {
@Override
public boolean onGenericMotion(View v, MotionEvent event) {
- float x, y;
- int action;
-
- switch ( event.getSource() ) {
- case InputDevice.SOURCE_JOYSTICK:
- case InputDevice.SOURCE_GAMEPAD:
- case InputDevice.SOURCE_DPAD:
- return SDLControllerManager.handleJoystickMotionEvent(event);
- case InputDevice.SOURCE_MOUSE:
- if (!SDLActivity.mSeparateMouseAndTouch) {
- break;
- }
- action = event.getActionMasked();
- switch (action) {
- case MotionEvent.ACTION_SCROLL:
- x = event.getAxisValue(MotionEvent.AXIS_HSCROLL, 0);
- y = event.getAxisValue(MotionEvent.AXIS_VSCROLL, 0);
- SDLActivity.onNativeMouse(0, action, x, y, false);
- return true;
-
- case MotionEvent.ACTION_HOVER_MOVE:
- if (mRelativeModeEnabled) {
- x = event.getAxisValue(MotionEvent.AXIS_RELATIVE_X);
- y = event.getAxisValue(MotionEvent.AXIS_RELATIVE_Y);
- }
- else {
- x = event.getX(0);
- y = event.getY(0);
- }
-
- SDLActivity.onNativeMouse(0, action, x, y, mRelativeModeEnabled);
+ // Handle relative mouse mode
+ if (mRelativeModeEnabled) {
+ if (event.getSource() == InputDevice.SOURCE_MOUSE) {
+ if (SDLActivity.mSeparateMouseAndTouch) {
+ int action = event.getActionMasked();
+ if (action == MotionEvent.ACTION_HOVER_MOVE) {
+ float x = event.getAxisValue(MotionEvent.AXIS_RELATIVE_X);
+ float y = event.getAxisValue(MotionEvent.AXIS_RELATIVE_Y);
+ SDLActivity.onNativeMouse(0, action, x, y, true);
return true;
-
- default:
- break;
+ }
}
- break;
-
- default:
- break;
+ }
}
- // Event was not managed
- return false;
+ // Event was not managed, call SDLGenericMotionListener_API12 method
+ return super.onGenericMotion(v, event);
}
@Override