aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenny Root <kenny@the-b.org>2015-10-08 15:12:42 -0700
committerKenny Root <kenny@the-b.org>2015-10-08 15:12:42 -0700
commit51f1da7c035d646612cff30d62530805ea67da59 (patch)
treed14a43337c60206d4613242cd7ebfdf04d593967
parent7daecb5d1e546efca204eb57593c324de0333376 (diff)
parentb78b52d46c7797571b7819a2f2908f569eb97829 (diff)
downloadconnectbot-51f1da7c035d646612cff30d62530805ea67da59.tar.gz
connectbot-51f1da7c035d646612cff30d62530805ea67da59.tar.bz2
connectbot-51f1da7c035d646612cff30d62530805ea67da59.zip
Merge pull request #280 from jklein24/mousemodereset
Partial implementation of DCESAVE for mouse reporting
-rw-r--r--app/src/main/java/de/mud/terminal/vt320.java20
1 files changed, 16 insertions, 4 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..3c929b2 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;
@@ -2197,9 +2198,20 @@ public void setScreenSize(int c, int r, boolean broadcast) {
DCEvars[DCEvar] = 0;
term_state = TSTATE_DCEQ;
break;
- case 's': // XTERM_SAVE missing!
- if (true || debug > 1)
- debug("ESC [ ? " + DCEvars[0] + " s unimplemented!");
+ case 's':
+ for (int i = 0; i <= DCEvar; i++) {
+ switch (DCEvars[i]) {
+ case 9:
+ case 1000:
+ case 1001:
+ case 1002:
+ case 1003:
+ mouserptSaved = mouserpt;
+ break;
+ default:
+ debug("ESC [ ? " + DCEvars[0] + " s, unimplemented!");
+ }
+ }
break;
case 'r': // XTERM_RESTORE
if (true || debug > 1)
@@ -2227,7 +2239,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!");