diff options
author | Robert Ewald <robewald@gmx.net> | 2012-10-04 00:17:55 +0200 |
---|---|---|
committer | Jack Palevich <jackpal@google.com> | 2012-10-07 10:13:12 -0700 |
commit | 3e2263bb43b75490c17272a73bea513c6b0120a2 (patch) | |
tree | 566b888f9c132be81e69e3c90556e99831b3c2ca | |
parent | 4ca236b18461780998b503630a1a522f7434c8fc (diff) | |
download | AndroidTerm-3e2263bb43b75490c17272a73bea513c6b0120a2.tar.gz |
Honor the AltSendsEsc flag.
-rw-r--r-- | libraries/emulatorview/src/jackpal/androidterm/emulatorview/TermKeyListener.java | 7 | ||||
-rw-r--r-- | tests/emulatorview-test/src/jackpal/androidterm/emulatorview/TermKeyListenerTest.java | 13 |
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, |