diff --git a/project/src/common/Display.cpp b/project/src/common/Display.cpp index a53eb27c4..4ac66827a 100644 --- a/project/src/common/Display.cpp +++ b/project/src/common/Display.cpp @@ -1674,7 +1674,7 @@ void Stage::HandleEvent(Event &inEvent) mFocusObject->OnKey(inEvent); #ifdef ANDROID // Non-cancelled back key ... - if (inEvent.result==0 && inEvent.code==27 && inEvent.type == etKeyUp) + if (inEvent.result==0 && inEvent.value==27 && inEvent.type == etKeyUp) { StopAnimation(); } diff --git a/templates/android/template/src/org/haxe/lime/MainView.java b/templates/android/template/src/org/haxe/lime/MainView.java index 1ef7c52d3..08110e01e 100644 --- a/templates/android/template/src/org/haxe/lime/MainView.java +++ b/templates/android/template/src/org/haxe/lime/MainView.java @@ -579,7 +579,7 @@ class MainView extends GLSurfaceView { case 112: return 127; // delete } - + return result; } @@ -592,9 +592,16 @@ class MainView extends GLSurfaceView { case KeyEvent.KEYCODE_BACK: return 27; /* Fake Escape */ case KeyEvent.KEYCODE_MENU: return 0x01000012; /* Fake MENU */ case KeyEvent.KEYCODE_DEL: return 8; + + // These will be ignored by the app and passed to the default handler + case KeyEvent.KEYCODE_VOLUME_UP: + case KeyEvent.KEYCODE_VOLUME_DOWN: + case KeyEvent.KEYCODE_VOLUME_MUTE: + return 0; } - + + if (inCode >= 7 && inCode <= 16) { return inCode + 41; // 1-9