From e006e36dd06ef223f44e4edb32c3cf3a1629ce1b Mon Sep 17 00:00:00 2001 From: Fredrik Fornwall Date: Fri, 25 Dec 2015 21:10:48 +0100 Subject: [PATCH] Do not eat escape key events in onKeyPreIme() The original reason for intercepting the escape key in onKeyPreIme() was to prevent the escape key as being treated as the Back key before reaching onKeyDown(). This seems no long necessary, and may mess up handling the ...+1 combination for escape on the Google Pixel C keyboard (see #27). --- app/src/main/java/com/termux/view/TerminalView.java | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/com/termux/view/TerminalView.java b/app/src/main/java/com/termux/view/TerminalView.java index 415e9b68..6958297e 100644 --- a/app/src/main/java/com/termux/view/TerminalView.java +++ b/app/src/main/java/com/termux/view/TerminalView.java @@ -491,9 +491,8 @@ public final class TerminalView extends View { @Override public boolean onKeyPreIme(int keyCode, KeyEvent event) { if (LOG_KEY_EVENTS) Log.i(EmulatorDebug.LOG_TAG, "onKeyPreIme(keyCode=" + keyCode + ", event=" + event + ")"); - if (keyCode == KeyEvent.KEYCODE_ESCAPE || (keyCode == KeyEvent.KEYCODE_BACK && mOnKeyListener.shouldBackButtonBeMappedToEscape())) { - // Handle the escape key ourselves to avoid the system from treating it as back key - // and e.g. close keyboard. + if (keyCode == KeyEvent.KEYCODE_BACK && mOnKeyListener.shouldBackButtonBeMappedToEscape()) { + // Intercept back button to treat it as escape: switch (event.getAction()) { case KeyEvent.ACTION_DOWN: return onKeyDown(keyCode, event);