aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Ewald <robewald@gmx.net>2012-10-04 00:17:55 +0200
committerJack Palevich <jackpal@google.com>2012-10-07 10:13:12 -0700
commit3e2263bb43b75490c17272a73bea513c6b0120a2 (patch)
tree566b888f9c132be81e69e3c90556e99831b3c2ca
parent4ca236b18461780998b503630a1a522f7434c8fc (diff)
downloadAndroidTerm-3e2263bb43b75490c17272a73bea513c6b0120a2.tar.gz
Honor the AltSendsEsc flag.
-rw-r--r--libraries/emulatorview/src/jackpal/androidterm/emulatorview/TermKeyListener.java7
-rw-r--r--tests/emulatorview-test/src/jackpal/androidterm/emulatorview/TermKeyListenerTest.java13
2 files changed, 19 insertions, 1 deletions
diff --git a/libraries/emulatorview/src/jackpal/androidterm/emulatorview/TermKeyListener.java b/libraries/emulatorview/src/jackpal/androidterm/emulatorview/TermKeyListener.java
index b458a56..6f20c5f 100644
--- a/libraries/emulatorview/src/jackpal/androidterm/emulatorview/TermKeyListener.java
+++ b/libraries/emulatorview/src/jackpal/androidterm/emulatorview/TermKeyListener.java
@@ -834,7 +834,12 @@ class TermKeyListener {
effectiveMetaState |= KeyEvent.META_SHIFT_ON;
}
if (effectiveAlt) {
- effectiveMetaState |= KeyEvent.META_ALT_ON;
+ if (mAltSendsEsc) {
+ mTermSession.write(new byte[]{0x1b},0,1);
+ effectiveMetaState &= ~KeyEvent.META_ALT_ON;
+ } else {
+ effectiveMetaState |= KeyEvent.META_ALT_ON;
+ }
}
result = event.getUnicodeChar(effectiveMetaState);
break;
diff --git a/tests/emulatorview-test/src/jackpal/androidterm/emulatorview/TermKeyListenerTest.java b/tests/emulatorview-test/src/jackpal/androidterm/emulatorview/TermKeyListenerTest.java
index 94ead9c..27789bd 100644
--- a/tests/emulatorview-test/src/jackpal/androidterm/emulatorview/TermKeyListenerTest.java
+++ b/tests/emulatorview-test/src/jackpal/androidterm/emulatorview/TermKeyListenerTest.java
@@ -111,6 +111,19 @@ public class TermKeyListenerTest extends AndroidTestCase {
new byte[]{0x00,0x00,0x00,0x00});
}
+ public void testKey_ALT_x_esc()
+ throws UnsupportedEncodingException, IOException {
+ tkl_AltNotEsc.setAltSendsEsc(true);
+ int keycode = KeyEvent.KEYCODE_ALT_LEFT;
+ KeyEvent event = new KeyEvent(1,2, KeyEvent.ACTION_DOWN, keycode, 0,
+ 0);
+ tkl_AltNotEsc.keyDown(keycode, event, false, true);
+ keyHelperToggle(KeyEvent.KEYCODE_X,
+
+ KeyEvent.META_ALT_ON,
+ new byte[]{0x1b,0x78}, true);
+ }
+
public void testKey_ALT_c_no_esc()
throws UnsupportedEncodingException, IOException {
keyHelper(KeyEvent.KEYCODE_C,