From 5eff76918cf565f42c41c468c5d9543b1f3ffbd1 Mon Sep 17 00:00:00 2001 From: Jeremy Klein Date: Wed, 7 Oct 2015 16:13:05 -0700 Subject: Partial implementation of DCESAVE for mouse reporting --- app/src/main/java/de/mud/terminal/vt320.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'app') 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!"); -- cgit v1.2.3 From 4b64b69fd32d1929423419b3ca2a542c1ca6ef58 Mon Sep 17 00:00:00 2001 From: Jeremy Klein Date: Wed, 7 Oct 2015 16:33:46 -0700 Subject: Clean up comments and logs --- app/src/main/java/de/mud/terminal/vt320.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'app') diff --git a/app/src/main/java/de/mud/terminal/vt320.java b/app/src/main/java/de/mud/terminal/vt320.java index c4bfd18..3c62f8a 100644 --- a/app/src/main/java/de/mud/terminal/vt320.java +++ b/app/src/main/java/de/mud/terminal/vt320.java @@ -2198,23 +2198,20 @@ public void setScreenSize(int c, int r, boolean broadcast) { DCEvars[DCEvar] = 0; term_state = TSTATE_DCEQ; break; - case 's': // XTERM_SAVE missing! + case 's': for (int i = 0; i <= DCEvar; i++) { switch (DCEvars[i]) { case 9: - case 1000: /* xterm style mouse report on */ + case 1000: case 1001: case 1002: case 1003: mouserptSaved = mouserpt; break; default: - debug("ESC [ ? " + DCEvars[0] + " r, unimplemented!"); + debug("ESC [ ? " + DCEvars[0] + " s, unimplemented!"); } } - if (true || debug > 1) - debug("ESC [ ? " + DCEvars[0] + " s unimplemented!"); - break; case 'r': // XTERM_RESTORE if (true || debug > 1) debug("ESC [ ? " + DCEvars[0] + " r"); -- cgit v1.2.3 From b78b52d46c7797571b7819a2f2908f569eb97829 Mon Sep 17 00:00:00 2001 From: Jeremy Klein Date: Wed, 7 Oct 2015 16:58:49 -0700 Subject: Add a missing break; --- app/src/main/java/de/mud/terminal/vt320.java | 1 + 1 file changed, 1 insertion(+) (limited to 'app') diff --git a/app/src/main/java/de/mud/terminal/vt320.java b/app/src/main/java/de/mud/terminal/vt320.java index 3c62f8a..3c929b2 100644 --- a/app/src/main/java/de/mud/terminal/vt320.java +++ b/app/src/main/java/de/mud/terminal/vt320.java @@ -2212,6 +2212,7 @@ public void setScreenSize(int c, int r, boolean broadcast) { debug("ESC [ ? " + DCEvars[0] + " s, unimplemented!"); } } + break; case 'r': // XTERM_RESTORE if (true || debug > 1) debug("ESC [ ? " + DCEvars[0] + " r"); -- cgit v1.2.3