aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaksim Gamarnik <MoNTE48@mail.ua>2016-05-14 23:35:56 +1000
committerCraig Robbins <kde.psych@gmail.com>2016-05-14 23:42:36 +1000
commitb906ed4e5902785ab6f15012666e344c98fabe14 (patch)
tree886939eb69edccb0881255fd95ac51ece4b52da0
parentec15e35ad7effe54d04c0d34ead3bc63d0e311f1 (diff)
downloadminetest-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.patch23
-rw-r--r--build/android/src/main/java/net.minetest.minetest/MtNativeActivity.java4
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() {