diff options
author | Jack Palevich <jackpal@google.com> | 2012-09-22 16:46:33 -0700 |
---|---|---|
committer | Jack Palevich <jackpal@google.com> | 2012-09-22 16:46:33 -0700 |
commit | eeaa661eaf606a1b9a7e20815362159521ab18cc (patch) | |
tree | 72cbd08c42a29740d714f4af61a3a3710353040f | |
parent | 332928b665ab50deb466549f52792b54aa242d90 (diff) | |
download | AndroidTerm-eeaa661eaf606a1b9a7e20815362159521ab18cc.tar.gz |
Fix F1-F4 escape sequences.
Add a comment describing what escape sequences we're trying to match.
This patch is noisy because the previous version of this file didn't use
project-standard whitespace. The whitespace has been fixed.
Thanks to Yi Zhang <yiz.cheapwine@gmail.com> for reporting the bug and
providing a patch that fixed it.
-rw-r--r-- | libraries/emulatorview/src/jackpal/androidterm/emulatorview/C.java | 160 |
1 files changed, 82 insertions, 78 deletions
diff --git a/libraries/emulatorview/src/jackpal/androidterm/emulatorview/C.java b/libraries/emulatorview/src/jackpal/androidterm/emulatorview/C.java index 47a4b4f..f1a6c00 100644 --- a/libraries/emulatorview/src/jackpal/androidterm/emulatorview/C.java +++ b/libraries/emulatorview/src/jackpal/androidterm/emulatorview/C.java @@ -1,7 +1,7 @@ package jackpal.androidterm.emulatorview; /* This class is a dump for constants used throughout the code. The name is short so that it doesn't clutter the code. - * + * */ public final class C { @@ -476,87 +476,91 @@ public final class C { /** Key code constant: Blue "programmable" key. * On TV remotes, acts as a contextual/programmable key. */ public static final int KEYCODE_PROG_BLUE = 186; - + // Map keycodes out of (above) the Unicode code point space. static public final int KEYCODE_OFFSET = 0xA00000; - - public static final String[] specialKeyCharSeq = new String[256]; - public static final String[] appSpecialKeyCharSeq = new String[256]; - static { - specialKeyCharSeq[KEYCODE_DPAD_CENTER] = "\015"; - specialKeyCharSeq[KEYCODE_DPAD_UP] = "\033[A"; - specialKeyCharSeq[KEYCODE_DPAD_DOWN] = "\033[B"; - specialKeyCharSeq[KEYCODE_DPAD_RIGHT] = "\033[C"; - specialKeyCharSeq[KEYCODE_DPAD_LEFT] = "\033[D"; - specialKeyCharSeq[KEYCODE_F1] = "\033[OP"; - specialKeyCharSeq[KEYCODE_F2] = "\033[OQ"; - specialKeyCharSeq[KEYCODE_F3] = "\033[OR"; - specialKeyCharSeq[KEYCODE_F4] = "\033[OS"; - specialKeyCharSeq[KEYCODE_F5] = "\033[15~"; - specialKeyCharSeq[KEYCODE_F6] = "\033[17~"; - specialKeyCharSeq[KEYCODE_F7] = "\033[18~"; - specialKeyCharSeq[KEYCODE_F8] = "\033[19~"; - specialKeyCharSeq[KEYCODE_F9] = "\033[20~"; - specialKeyCharSeq[KEYCODE_F10] = "\033[21~"; - specialKeyCharSeq[KEYCODE_F11] = "\033[23~"; - specialKeyCharSeq[KEYCODE_F12] = "\033[24~"; - specialKeyCharSeq[KEYCODE_SYSRQ] = "\033[32~"; // Sys Request / Print - // Is this Scroll lock? mKeyCodes[Cancel] = "\033[33~"; - specialKeyCharSeq[KEYCODE_BREAK] = "\033[34~"; // Pause/Break + public static final String[] specialKeyCharSeq = new String[256]; + public static final String[] appSpecialKeyCharSeq = new String[256]; + + /** + * These sequences are intended to match the sequences generated by + * XFree86 xterm and/or GNU screen. + */ + static { + specialKeyCharSeq[KEYCODE_DPAD_CENTER] = "\015"; + specialKeyCharSeq[KEYCODE_DPAD_UP] = "\033[A"; + specialKeyCharSeq[KEYCODE_DPAD_DOWN] = "\033[B"; + specialKeyCharSeq[KEYCODE_DPAD_RIGHT] = "\033[C"; + specialKeyCharSeq[KEYCODE_DPAD_LEFT] = "\033[D"; + specialKeyCharSeq[KEYCODE_F1] = "\033OP"; + specialKeyCharSeq[KEYCODE_F2] = "\033OQ"; + specialKeyCharSeq[KEYCODE_F3] = "\033OR"; + specialKeyCharSeq[KEYCODE_F4] = "\033OS"; + specialKeyCharSeq[KEYCODE_F5] = "\033[15~"; + specialKeyCharSeq[KEYCODE_F6] = "\033[17~"; + specialKeyCharSeq[KEYCODE_F7] = "\033[18~"; + specialKeyCharSeq[KEYCODE_F8] = "\033[19~"; + specialKeyCharSeq[KEYCODE_F9] = "\033[20~"; + specialKeyCharSeq[KEYCODE_F10] = "\033[21~"; + specialKeyCharSeq[KEYCODE_F11] = "\033[23~"; + specialKeyCharSeq[KEYCODE_F12] = "\033[24~"; + specialKeyCharSeq[KEYCODE_SYSRQ] = "\033[32~"; // Sys Request / Print + // Is this Scroll lock? mKeyCodes[Cancel] = "\033[33~"; + specialKeyCharSeq[KEYCODE_BREAK] = "\033[34~"; // Pause/Break - specialKeyCharSeq[KEYCODE_TAB] = "\011"; - specialKeyCharSeq[KEYCODE_ENTER] = "\015"; - specialKeyCharSeq[KEYCODE_ESCAPE] = "\033"; + specialKeyCharSeq[KEYCODE_TAB] = "\011"; + specialKeyCharSeq[KEYCODE_ENTER] = "\015"; + specialKeyCharSeq[KEYCODE_ESCAPE] = "\033"; - specialKeyCharSeq[KEYCODE_INSERT] = "\033[2~"; - specialKeyCharSeq[KEYCODE_FORWARD_DEL] = "\033[3~"; - specialKeyCharSeq[KEYCODE_MOVE_HOME] = "\033[1~"; - specialKeyCharSeq[KEYCODE_MOVE_END] = "\033[4~"; - specialKeyCharSeq[KEYCODE_PAGE_UP] = "\033[5~"; - specialKeyCharSeq[KEYCODE_PAGE_DOWN] = "\033[6~"; - specialKeyCharSeq[KEYCODE_DEL]= "\177"; - specialKeyCharSeq[KEYCODE_NUM_LOCK] = "\033OP"; - specialKeyCharSeq[KEYCODE_NUMPAD_DIVIDE] = "/"; - specialKeyCharSeq[KEYCODE_NUMPAD_MULTIPLY] = "*"; - specialKeyCharSeq[KEYCODE_NUMPAD_SUBTRACT] = "-"; - specialKeyCharSeq[KEYCODE_NUMPAD_ADD] = "+"; - specialKeyCharSeq[KEYCODE_NUMPAD_ENTER] = "\015"; - specialKeyCharSeq[KEYCODE_NUMPAD_EQUALS] = "="; - specialKeyCharSeq[KEYCODE_NUMPAD_DOT] = "."; - specialKeyCharSeq[KEYCODE_NUMPAD_COMMA] = ","; - specialKeyCharSeq[KEYCODE_NUMPAD_0] = "0"; - specialKeyCharSeq[KEYCODE_NUMPAD_1] = "1"; - specialKeyCharSeq[KEYCODE_NUMPAD_2] = "2"; - specialKeyCharSeq[KEYCODE_NUMPAD_3] = "3"; - specialKeyCharSeq[KEYCODE_NUMPAD_4] = "4"; - specialKeyCharSeq[KEYCODE_NUMPAD_5] = "5"; - specialKeyCharSeq[KEYCODE_NUMPAD_6] = "6"; - specialKeyCharSeq[KEYCODE_NUMPAD_7] = "7"; - specialKeyCharSeq[KEYCODE_NUMPAD_8] = "8"; - specialKeyCharSeq[KEYCODE_NUMPAD_9] = "9"; + specialKeyCharSeq[KEYCODE_INSERT] = "\033[2~"; + specialKeyCharSeq[KEYCODE_FORWARD_DEL] = "\033[3~"; + specialKeyCharSeq[KEYCODE_MOVE_HOME] = "\033[1~"; + specialKeyCharSeq[KEYCODE_MOVE_END] = "\033[4~"; + specialKeyCharSeq[KEYCODE_PAGE_UP] = "\033[5~"; + specialKeyCharSeq[KEYCODE_PAGE_DOWN] = "\033[6~"; + specialKeyCharSeq[KEYCODE_DEL]= "\177"; + specialKeyCharSeq[KEYCODE_NUM_LOCK] = "\033OP"; + specialKeyCharSeq[KEYCODE_NUMPAD_DIVIDE] = "/"; + specialKeyCharSeq[KEYCODE_NUMPAD_MULTIPLY] = "*"; + specialKeyCharSeq[KEYCODE_NUMPAD_SUBTRACT] = "-"; + specialKeyCharSeq[KEYCODE_NUMPAD_ADD] = "+"; + specialKeyCharSeq[KEYCODE_NUMPAD_ENTER] = "\015"; + specialKeyCharSeq[KEYCODE_NUMPAD_EQUALS] = "="; + specialKeyCharSeq[KEYCODE_NUMPAD_DOT] = "."; + specialKeyCharSeq[KEYCODE_NUMPAD_COMMA] = ","; + specialKeyCharSeq[KEYCODE_NUMPAD_0] = "0"; + specialKeyCharSeq[KEYCODE_NUMPAD_1] = "1"; + specialKeyCharSeq[KEYCODE_NUMPAD_2] = "2"; + specialKeyCharSeq[KEYCODE_NUMPAD_3] = "3"; + specialKeyCharSeq[KEYCODE_NUMPAD_4] = "4"; + specialKeyCharSeq[KEYCODE_NUMPAD_5] = "5"; + specialKeyCharSeq[KEYCODE_NUMPAD_6] = "6"; + specialKeyCharSeq[KEYCODE_NUMPAD_7] = "7"; + specialKeyCharSeq[KEYCODE_NUMPAD_8] = "8"; + specialKeyCharSeq[KEYCODE_NUMPAD_9] = "9"; - appSpecialKeyCharSeq[KEYCODE_DPAD_UP] = "\033OA"; - appSpecialKeyCharSeq[KEYCODE_DPAD_DOWN] = "\033OB"; - appSpecialKeyCharSeq[KEYCODE_DPAD_RIGHT] = "\033OC"; - appSpecialKeyCharSeq[KEYCODE_DPAD_LEFT] = "\033OD"; - appSpecialKeyCharSeq[KEYCODE_NUMPAD_DIVIDE] = "\033Oo"; - appSpecialKeyCharSeq[KEYCODE_NUMPAD_MULTIPLY] = "\033Oj"; - appSpecialKeyCharSeq[KEYCODE_NUMPAD_SUBTRACT] = "\033Om"; - appSpecialKeyCharSeq[KEYCODE_NUMPAD_ADD] = "\033Ok"; - appSpecialKeyCharSeq[KEYCODE_NUMPAD_ENTER] = "\033OM"; - appSpecialKeyCharSeq[KEYCODE_NUMPAD_EQUALS] = "\033OX"; - appSpecialKeyCharSeq[KEYCODE_NUMPAD_DOT] = "\033On"; - appSpecialKeyCharSeq[KEYCODE_NUMPAD_COMMA] = "\033Ol"; - appSpecialKeyCharSeq[KEYCODE_NUMPAD_0] = "\033Op"; - appSpecialKeyCharSeq[KEYCODE_NUMPAD_1] = "\033Oq"; - appSpecialKeyCharSeq[KEYCODE_NUMPAD_2] = "\033Or"; - appSpecialKeyCharSeq[KEYCODE_NUMPAD_3] = "\033Os"; - appSpecialKeyCharSeq[KEYCODE_NUMPAD_4] = "\033Ot"; - appSpecialKeyCharSeq[KEYCODE_NUMPAD_5] = "\033Ou"; - appSpecialKeyCharSeq[KEYCODE_NUMPAD_6] = "\033Ov"; - appSpecialKeyCharSeq[KEYCODE_NUMPAD_7] = "\033Ow"; - appSpecialKeyCharSeq[KEYCODE_NUMPAD_8] = "\033Ox"; - appSpecialKeyCharSeq[KEYCODE_NUMPAD_9] = "\033Oy"; - } + appSpecialKeyCharSeq[KEYCODE_DPAD_UP] = "\033OA"; + appSpecialKeyCharSeq[KEYCODE_DPAD_DOWN] = "\033OB"; + appSpecialKeyCharSeq[KEYCODE_DPAD_RIGHT] = "\033OC"; + appSpecialKeyCharSeq[KEYCODE_DPAD_LEFT] = "\033OD"; + appSpecialKeyCharSeq[KEYCODE_NUMPAD_DIVIDE] = "\033Oo"; + appSpecialKeyCharSeq[KEYCODE_NUMPAD_MULTIPLY] = "\033Oj"; + appSpecialKeyCharSeq[KEYCODE_NUMPAD_SUBTRACT] = "\033Om"; + appSpecialKeyCharSeq[KEYCODE_NUMPAD_ADD] = "\033Ok"; + appSpecialKeyCharSeq[KEYCODE_NUMPAD_ENTER] = "\033OM"; + appSpecialKeyCharSeq[KEYCODE_NUMPAD_EQUALS] = "\033OX"; + appSpecialKeyCharSeq[KEYCODE_NUMPAD_DOT] = "\033On"; + appSpecialKeyCharSeq[KEYCODE_NUMPAD_COMMA] = "\033Ol"; + appSpecialKeyCharSeq[KEYCODE_NUMPAD_0] = "\033Op"; + appSpecialKeyCharSeq[KEYCODE_NUMPAD_1] = "\033Oq"; + appSpecialKeyCharSeq[KEYCODE_NUMPAD_2] = "\033Or"; + appSpecialKeyCharSeq[KEYCODE_NUMPAD_3] = "\033Os"; + appSpecialKeyCharSeq[KEYCODE_NUMPAD_4] = "\033Ot"; + appSpecialKeyCharSeq[KEYCODE_NUMPAD_5] = "\033Ou"; + appSpecialKeyCharSeq[KEYCODE_NUMPAD_6] = "\033Ov"; + appSpecialKeyCharSeq[KEYCODE_NUMPAD_7] = "\033Ow"; + appSpecialKeyCharSeq[KEYCODE_NUMPAD_8] = "\033Ox"; + appSpecialKeyCharSeq[KEYCODE_NUMPAD_9] = "\033Oy"; + } } |