From b87ca71103a62ea4ccde364a05e9e70122ba723b Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sat, 14 Sep 2019 20:08:26 -0700 Subject: [PATCH] Treat all InputDevices as external on the Tinker Board --- .../com/limelight/binding/input/ControllerHandler.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/app/src/main/java/com/limelight/binding/input/ControllerHandler.java b/app/src/main/java/com/limelight/binding/input/ControllerHandler.java index 4becbb62..6cc4c0b2 100644 --- a/app/src/main/java/com/limelight/binding/input/ControllerHandler.java +++ b/app/src/main/java/com/limelight/binding/input/ControllerHandler.java @@ -335,6 +335,13 @@ public class ControllerHandler implements InputManager.InputDeviceListener, UsbD } private static boolean isExternal(InputDevice dev) { + // The ASUS Tinker Board inaccurately reports Bluetooth gamepads as internal, + // causing shouldIgnoreBack() to believe it should pass through back as a + // navigation event for any attached gamepads. + if (Build.MODEL.equals("Tinker Board")) { + return true; + } + if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.Q) { // Landroid/view/InputDevice;->isExternal()Z is officially public on Android Q return dev.isExternal();