diff options
author | Maksim Gamarnik <MoNTE48@mail.ua> | 2016-05-14 23:35:56 +1000 |
---|---|---|
committer | Craig Robbins <kde.psych@gmail.com> | 2016-05-14 23:42:36 +1000 |
commit | b906ed4e5902785ab6f15012666e344c98fabe14 (patch) | |
tree | 886939eb69edccb0881255fd95ac51ece4b52da0 | |
parent | ec15e35ad7effe54d04c0d34ead3bc63d0e311f1 (diff) | |
download | minetest-b906ed4e5902785ab6f15012666e344c98fabe14.tar.gz minetest-b906ed4e5902785ab6f15012666e344c98fabe14.tar.bz2 minetest-b906ed4e5902785ab6f15012666e344c98fabe14.zip |
Fix locked hardware buttons on Android
Fixes #2122
Fixes #1454
Addendum (est31)
According from its docs in android_native_app_glue.h (from the NDK), the
onInputEvent should "Return 1 if you have handled the event, 0 for any
default dispatching". Before, we always returned 1, meaning we blocked
all hardware keys to be given to the OS.
This broke the volume keys and has caused #2122 and #1454.
Although it bases on lots of guesswork, it can probably safely be said that
CGUIEnvironment::postEventFromUser returns true if the event was handled,
and false if not. Therefore, set the status variable depending on what
postEventFromUser returned.
-rw-r--r-- | build/android/patches/irrlicht-back_button.patch | 23 | ||||
-rw-r--r-- | build/android/src/main/java/net.minetest.minetest/MtNativeActivity.java | 4 |
2 files changed, 16 insertions, 11 deletions
diff --git a/build/android/patches/irrlicht-back_button.patch b/build/android/patches/irrlicht-back_button.patch index 227749ba7..de567adc0 100644 --- a/build/android/patches/irrlicht-back_button.patch +++ b/build/android/patches/irrlicht-back_button.patch @@ -1,14 +1,15 @@ ---- irrlicht/source/Irrlicht/Android/CIrrDeviceAndroid.cpp 2014-06-03 20:56:21.289559503 +0200 -+++ irrlicht/source/Irrlicht/Android/CIrrDeviceAndroid.cpp.orig 2014-06-03 20:57:39.281556749 +0200 -@@ -423,6 +423,7 @@ - }
-
- device->postEventFromUser(event);
-+ status = 1;
- }
- break;
- default:
-@@ -479,7 +480,7 @@ +--- irrlicht/source/Irrlicht/Android/CIrrDeviceAndroid.cpp.orig 2015-08-29 15:43:09.000000000 +0300 ++++ irrlicht/source/Irrlicht/Android/CIrrDeviceAndroid.cpp 2016-05-13 21:36:22.880388505 +0300 +@@ -486,7 +486,7 @@ + event.KeyInput.Char = 0; + } + +- device->postEventFromUser(event); ++ status = device->postEventFromUser(event); + } + break; + default: +@@ -543,7 +543,7 @@ KeyMap[1] = KEY_LBUTTON; // AKEYCODE_SOFT_LEFT
KeyMap[2] = KEY_RBUTTON; // AKEYCODE_SOFT_RIGHT
KeyMap[3] = KEY_HOME; // AKEYCODE_HOME
diff --git a/build/android/src/main/java/net.minetest.minetest/MtNativeActivity.java b/build/android/src/main/java/net.minetest.minetest/MtNativeActivity.java index fc95a8379..3173a71f4 100644 --- a/build/android/src/main/java/net.minetest.minetest/MtNativeActivity.java +++ b/build/android/src/main/java/net.minetest.minetest/MtNativeActivity.java @@ -19,6 +19,10 @@ public class MtNativeActivity extends NativeActivity { public void onDestroy() { super.onDestroy(); } + + @Override + public void onBackPressed() { + } public void copyAssets() { |