From 29fc52cfa17dcc7327c1a081918721cd7cfcf40b Mon Sep 17 00:00:00 2001 From: Ryan Houdek Date: Sun, 22 Feb 2015 20:36:30 -0600 Subject: [Android] Stop eating button events we don't handle. We were eating /all/ button events except the back button. This would cause issues where Android wouldn't receive button press events for things like volume rockers. So you couldn't change the audio ingame, even if that button isn't bound to an input. Now we return to Android if we've handled that button press, so it works fine. --- Source/Android/src/org/dolphinemu/dolphinemu/NativeLibrary.java | 4 +++- .../src/org/dolphinemu/dolphinemu/emulation/EmulationActivity.java | 4 ++-- 2 files changed, 5 insertions(+), 3 deletions(-) (limited to 'Source/Android/src') diff --git a/Source/Android/src/org/dolphinemu/dolphinemu/NativeLibrary.java b/Source/Android/src/org/dolphinemu/dolphinemu/NativeLibrary.java index f3317c9e8c..027d476095 100644 --- a/Source/Android/src/org/dolphinemu/dolphinemu/NativeLibrary.java +++ b/Source/Android/src/org/dolphinemu/dolphinemu/NativeLibrary.java @@ -69,8 +69,10 @@ public final class NativeLibrary * @param Device The input descriptor of the gamepad. * @param Button Key code identifying which button was pressed. * @param Action Mask identifying which action is happing (button pressed down, or button released). + * + * @return If we handled the button press. */ - public static native void onGamePadEvent(String Device, int Button, int Action); + public static native boolean onGamePadEvent(String Device, int Button, int Action); /** * Handles gamepad movement events. diff --git a/Source/Android/src/org/dolphinemu/dolphinemu/emulation/EmulationActivity.java b/Source/Android/src/org/dolphinemu/dolphinemu/emulation/EmulationActivity.java index 41c523ed68..7775e2124c 100644 --- a/Source/Android/src/org/dolphinemu/dolphinemu/emulation/EmulationActivity.java +++ b/Source/Android/src/org/dolphinemu/dolphinemu/emulation/EmulationActivity.java @@ -285,8 +285,8 @@ public final class EmulationActivity extends Activity return false; } InputDevice input = event.getDevice(); - NativeLibrary.onGamePadEvent(InputConfigFragment.getInputDesc(input), event.getKeyCode(), action); - return true; + boolean handled = NativeLibrary.onGamePadEvent(InputConfigFragment.getInputDesc(input), event.getKeyCode(), action); + return handled; } return false; } -- cgit v1.2.3