changeset 18:a94ca5a89fe8 stable-1.0.3

add cursor request command to the TE
author Carl Byington <carl@five-ten-sg.com>
date Thu, 03 Jul 2014 08:38:27 -0700
parents cc4da730e429
children b0475db2bb94
files AndroidManifest.xml src/com/five_ten_sg/connectbot/monitor/MonitorService.java xml/510connectbotmonitor.in
diffstat 3 files changed, 21 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/AndroidManifest.xml	Tue Jul 01 19:10:51 2014 -0700
+++ b/AndroidManifest.xml	Thu Jul 03 08:38:27 2014 -0700
@@ -2,7 +2,7 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.five_ten_sg.connectbot.monitor"
     android:versionCode="1"
-    android:versionName="1.0.2-1" >
+    android:versionName="1.0.3-1" >
 
     <uses-sdk
         android:minSdkVersion="8"
--- a/src/com/five_ten_sg/connectbot/monitor/MonitorService.java	Tue Jul 01 19:10:51 2014 -0700
+++ b/src/com/five_ten_sg/connectbot/monitor/MonitorService.java	Thu Jul 03 08:38:27 2014 -0700
@@ -44,6 +44,7 @@
     public  static final char MONITOR_CMD_DEPRESS       = 8;
     public  static final char MONITOR_CMD_SHOWURL       = 9;
     public  static final char MONITOR_CMD_SWITCHSESSION = 10;
+    public  static final char MONITOR_CMD_CURSORREQUEST = 11;
 
     public static final int       MONITORPORT = 6000;
     public static ConcurrentHashMap<Integer,CommunicationThread> clients = new ConcurrentHashMap<Integer,CommunicationThread>();
@@ -449,4 +450,12 @@
         }
     }
 
+    public static void teCursorRequest(int connection) {
+        CommunicationThread cm = clients.get(connection);
+        if (cm != null) {
+            char [] arg2 = new char[2];
+            cm.clientWrite(MONITOR_CMD_CURSORREQUEST, arg2);
+        }
+    }
+
 }
--- a/xml/510connectbotmonitor.in	Tue Jul 01 19:10:51 2014 -0700
+++ b/xml/510connectbotmonitor.in	Thu Jul 03 08:38:27 2014 -0700
@@ -135,8 +135,9 @@
                 character codes from the screen buffer. The field
                 covers N columns, where N = (message length - 4) / 2.
                 When sent from the monitor to the emulator, this causes
-                the emulator to send the field codes to the host. This is
-                also used as the reply message from the emulator to the
+                the emulator to send the field codes to the host (for async
+                modes) or to set the specified field contents (for block modes).
+                This is also used as the reply message from the emulator to the
                 monitor for a previous GETFIELD from the monitor.
             </para>
 
@@ -176,6 +177,14 @@
                 SWITCHSESSION = 10 (Monitor -> TE). There are no arguments. The TE
                 should display this session.
             </para>
+
+            <para>
+                CURSORREQUEST = 11 (Monitor -> TE). There are no arguments. The TE
+                should send a CURSORMOVE update to the monitor. Cursor movement caused
+                by SETFIELD or DEPRESS commands does not trigger CURSORMOVE updates
+                in block mode (tn5250) sessions. Those commands do trigger CURSORMOVE
+                updates in async mode (telnet, ssh) sessions.
+            </para>
         </refsect1>
 
         <refsect1 id='todo.1'>