diff options
author | Jeremy Klein <jlklein@google.com> | 2015-10-07 16:13:05 -0700 |
---|---|---|
committer | Jeremy Klein <jlklein@google.com> | 2015-10-07 16:13:05 -0700 |
commit | 5eff76918cf565f42c41c468c5d9543b1f3ffbd1 (patch) | |
tree | 2cf7fbf226b5bf4b6f145fc5713e61c86f5b15ec | |
parent | fde40fdcb62c764df90e889ae95e28b86ac5f746 (diff) | |
download | connectbot-5eff76918cf565f42c41c468c5d9543b1f3ffbd1.tar.gz connectbot-5eff76918cf565f42c41c468c5d9543b1f3ffbd1.tar.bz2 connectbot-5eff76918cf565f42c41c468c5d9543b1f3ffbd1.zip |
Partial implementation of DCESAVE for mouse reporting
-rw-r--r-- | app/src/main/java/de/mud/terminal/vt320.java | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/app/src/main/java/de/mud/terminal/vt320.java b/app/src/main/java/de/mud/terminal/vt320.java index dc95bea..c4bfd18 100644 --- a/app/src/main/java/de/mud/terminal/vt320.java +++ b/app/src/main/java/de/mud/terminal/vt320.java @@ -672,6 +672,7 @@ public void setScreenSize(int c, int r, boolean broadcast) { boolean capslock = false; boolean numlock = false; int mouserpt = 0; + int mouserptSaved = 0; byte mousebut = 0; boolean useibmcharset = false; @@ -2198,6 +2199,19 @@ public void setScreenSize(int c, int r, boolean broadcast) { term_state = TSTATE_DCEQ; break; case 's': // XTERM_SAVE missing! + for (int i = 0; i <= DCEvar; i++) { + switch (DCEvars[i]) { + case 9: + case 1000: /* xterm style mouse report on */ + case 1001: + case 1002: + case 1003: + mouserptSaved = mouserpt; + break; + default: + debug("ESC [ ? " + DCEvars[0] + " r, unimplemented!"); + } + } if (true || debug > 1) debug("ESC [ ? " + DCEvars[0] + " s unimplemented!"); break; @@ -2227,7 +2241,7 @@ public void setScreenSize(int c, int r, boolean broadcast) { case 1001: case 1002: case 1003: - mouserpt = DCEvars[i]; + mouserpt = mouserptSaved; break; default: debug("ESC [ ? " + DCEvars[0] + " r, unimplemented!"); |