aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJack Palevich <jackpal@google.com>2012-09-22 16:46:33 -0700
committerJack Palevich <jackpal@google.com>2012-09-22 16:46:33 -0700
commiteeaa661eaf606a1b9a7e20815362159521ab18cc (patch)
tree72cbd08c42a29740d714f4af61a3a3710353040f
parent332928b665ab50deb466549f52792b54aa242d90 (diff)
downloadAndroidTerm-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.java160
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";
+ }
}