[Scummvm-git-logs] scummvm master -> 59506440548e3e7b6acbaefb9f8ef5d5fd34f8d1

ccawley2011 ccawley2011 at gmail.com
Mon Jan 20 16:20:19 UTC 2020


This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .

Summary:
5950644054 ANDROID: Check the KeyEvent source instead of using getRmbGuard()


Commit: 59506440548e3e7b6acbaefb9f8ef5d5fd34f8d1
    https://github.com/scummvm/scummvm/commit/59506440548e3e7b6acbaefb9f8ef5d5fd34f8d1
Author: Cameron Cawley (ccawley2011 at gmail.com)
Date: 2020-01-20T16:19:49Z

Commit Message:
ANDROID: Check the KeyEvent source instead of using getRmbGuard()

Changed paths:
    backends/platform/android/org/scummvm/scummvm/MouseHelper.java
    backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java


diff --git a/backends/platform/android/org/scummvm/scummvm/MouseHelper.java b/backends/platform/android/org/scummvm/scummvm/MouseHelper.java
index b0f81a7..40af18a 100644
--- a/backends/platform/android/org/scummvm/scummvm/MouseHelper.java
+++ b/backends/platform/android/org/scummvm/scummvm/MouseHelper.java
@@ -1,6 +1,7 @@
 package org.scummvm.scummvm;
 
 import android.view.InputDevice;
+import android.view.KeyEvent;
 import android.view.MotionEvent;
 import android.view.SurfaceView;
 import android.view.View;
@@ -11,7 +12,6 @@ import android.view.View;
 public class MouseHelper {
 	private View.OnHoverListener _listener;
 	private ScummVM _scummvm;
-	private long _rmbGuardTime;
 	private boolean _rmbPressed;
 	private boolean _lmbPressed;
 	private boolean _mmbPressed;
@@ -51,6 +51,14 @@ public class MouseHelper {
 		main_surface.setOnHoverListener(_listener);
 	}
 
+	public static boolean isMouse(KeyEvent e) {
+		int source = e.getSource();
+
+		return ((source & InputDevice.SOURCE_MOUSE) == InputDevice.SOURCE_MOUSE) ||
+		       ((source & InputDevice.SOURCE_STYLUS) == InputDevice.SOURCE_STYLUS) ||
+		       ((source & InputDevice.SOURCE_TOUCHPAD) == InputDevice.SOURCE_TOUCHPAD);
+	}
+
 	public static boolean isMouse(MotionEvent e) {
 		if (e == null) {
 			return false;
@@ -109,7 +117,6 @@ public class MouseHelper {
 			if (_rmbPressed) {
 				// right mouse button was released just now
 				_scummvm.pushEvent(ScummVMEvents.JE_RMB_UP, (int)e.getX(), (int)e.getY(), e.getButtonState(), 0, 0, 0);
-				_rmbGuardTime = System.currentTimeMillis();
 			}
 
 			_rmbPressed = false;
@@ -134,14 +141,4 @@ public class MouseHelper {
 
 		return true;
 	}
-
-	/**
-	 * Checks whether right mouse button is pressed or was pressed just previously. This is used to prevent sending
-	 * extra back key on right mouse click which is the default behaviour in some platforms.
-	 *
-	 * @return true if right mouse button is (or was in the last 200ms) pressed
-	 */
-	public boolean getRmbGuard() {
-		return _rmbPressed || _rmbGuardTime + 200 > System.currentTimeMillis();
-	}
 }
diff --git a/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java b/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java
index 9c8dd16..9d76bc2 100644
--- a/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java
+++ b/backends/platform/android/org/scummvm/scummvm/ScummVMEvents.java
@@ -104,7 +104,7 @@ public class ScummVMEvents implements
 
 		if (keyCode == KeyEvent.KEYCODE_BACK) {
 			if (_mouseHelper != null) {
-				if (_mouseHelper.getRmbGuard()) {
+				if (MouseHelper.isMouse(e)) {
 					// right mouse button was just clicked which sends an extra back button press (which should be ignored)
 					return true;
 				}




More information about the Scummvm-git-logs mailing list