forked from Mirrorlandia_minetest/minetest
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.
This commit is contained in:
parent
ec15e35ad7
commit
b906ed4e59
@ -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 2015-08-29 15:43:09.000000000 +0300
|
||||||
+++ irrlicht/source/Irrlicht/Android/CIrrDeviceAndroid.cpp.orig 2014-06-03 20:57:39.281556749 +0200
|
+++ irrlicht/source/Irrlicht/Android/CIrrDeviceAndroid.cpp 2016-05-13 21:36:22.880388505 +0300
|
||||||
@@ -423,6 +423,7 @@
|
@@ -486,7 +486,7 @@
|
||||||
|
event.KeyInput.Char = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
device->postEventFromUser(event);
|
- device->postEventFromUser(event);
|
||||||
+ status = 1;
|
+ status = device->postEventFromUser(event);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@@ -479,7 +480,7 @@
|
@@ -543,7 +543,7 @@
|
||||||
KeyMap[1] = KEY_LBUTTON; // AKEYCODE_SOFT_LEFT
|
KeyMap[1] = KEY_LBUTTON; // AKEYCODE_SOFT_LEFT
|
||||||
KeyMap[2] = KEY_RBUTTON; // AKEYCODE_SOFT_RIGHT
|
KeyMap[2] = KEY_RBUTTON; // AKEYCODE_SOFT_RIGHT
|
||||||
KeyMap[3] = KEY_HOME; // AKEYCODE_HOME
|
KeyMap[3] = KEY_HOME; // AKEYCODE_HOME
|
||||||
|
@ -20,6 +20,10 @@ public class MtNativeActivity extends NativeActivity {
|
|||||||
super.onDestroy();
|
super.onDestroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void onBackPressed() {
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
public void copyAssets() {
|
public void copyAssets() {
|
||||||
Intent intent = new Intent(this, MinetestAssetCopy.class);
|
Intent intent = new Intent(this, MinetestAssetCopy.class);
|
||||||
|
Loading…
Reference in New Issue
Block a user