From e7d96f0ac2ec273b567d77ef54e811afc3597eb3 Mon Sep 17 00:00:00 2001 From: Cameron Gutman Date: Sat, 13 May 2017 10:33:47 -0700 Subject: [PATCH 1/2] Explicitly set resizeableActivity=true so DeX will let us run in a resizeable window --- app/src/main/AndroidManifest.xml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index cd11763f..66d3373f 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -40,8 +40,12 @@ android:name="com.sec.android.support.multiwindow" android:value="true" /> + + @@ -56,6 +60,7 @@ Date: Tue, 16 May 2017 02:07:54 +0100 Subject: [PATCH 2/2] Fix issue with ipega controller not capturing keypresses on Samsung phones. (#386) --- app/src/main/java/com/limelight/Game.java | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/app/src/main/java/com/limelight/Game.java b/app/src/main/java/com/limelight/Game.java index ca91137e..13787966 100644 --- a/app/src/main/java/com/limelight/Game.java +++ b/app/src/main/java/com/limelight/Game.java @@ -575,8 +575,13 @@ public class Game extends Activity implements SurfaceHolder.Callback, } boolean handled = false; - if (event.getDevice() == null || - event.getDevice().getKeyboardType() != InputDevice.KEYBOARD_TYPE_ALPHABETIC) { + + boolean detectedGamepad = event.getDevice() == null ? false : + ((event.getDevice().getSources() & InputDevice.SOURCE_JOYSTICK) != 0 || + (event.getDevice().getSources() & InputDevice.SOURCE_GAMEPAD) != 0); + if (detectedGamepad || (event.getDevice() == null || + event.getDevice().getKeyboardType() != InputDevice.KEYBOARD_TYPE_ALPHABETIC + )) { // Always try the controller handler first, unless it's an alphanumeric keyboard device. // Otherwise, controller handler will eat keyboard d-pad events. handled = controllerHandler.handleButtonDown(event); @@ -614,8 +619,12 @@ public class Game extends Activity implements SurfaceHolder.Callback, } boolean handled = false; - if (event.getDevice() == null || - event.getDevice().getKeyboardType() != InputDevice.KEYBOARD_TYPE_ALPHABETIC) { + boolean detectedGamepad = event.getDevice() == null ? false : + ((event.getDevice().getSources() & InputDevice.SOURCE_JOYSTICK) != 0 || + (event.getDevice().getSources() & InputDevice.SOURCE_GAMEPAD) != 0); + if (detectedGamepad || (event.getDevice() == null || + event.getDevice().getKeyboardType() != InputDevice.KEYBOARD_TYPE_ALPHABETIC + )) { // Always try the controller handler first, unless it's an alphanumeric keyboard device. // Otherwise, controller handler will eat keyboard d-pad events. handled = controllerHandler.handleButtonUp(event);