comparison xml/510connectbotmonitor.in @ 25:3975d341e3dd stable-1.0.4-0

document synchronization issues
author Carl Byington <carl@five-ten-sg.com>
date Fri, 01 May 2015 12:31:25 -0700
parents 2586a4f5c8c3
children 0bc0b4798d9e
comparison
equal deleted inserted replaced
24:4f1cc4f44c41 25:3975d341e3dd
17 17
18 </partintro> 18 </partintro>
19 19
20 <refentry id="x@PACKAGE@.1"> 20 <refentry id="x@PACKAGE@.1">
21 <refentryinfo> 21 <refentryinfo>
22 <date>2014-07-01</date> 22 <date>2015-05-01</date>
23 <author> 23 <author>
24 <firstname>Carl</firstname> 24 <firstname>Carl</firstname>
25 <surname>Byington</surname> 25 <surname>Byington</surname>
26 <affiliation><orgname>510 Software Group</orgname></affiliation> 26 <affiliation><orgname>510 Software Group</orgname></affiliation>
27 </author> 27 </author>
99 </para> 99 </para>
100 100
101 <para> 101 <para>
102 ACTIVATE = 1 (TE -> Monitor). The first argument is the 102 ACTIVATE = 1 (TE -> Monitor). The first argument is the
103 number of lines. The second argument is the number of columns. 103 number of lines. The second argument is the number of columns.
104 That is followed by lines*columns uint16 character codes. 104 That is followed by lines*columns uint16 character codes for
105 the current screen contents.
105 This connection is now the active connection. It is the 106 This connection is now the active connection. It is the
106 topmost (or only) window visible to the user - typed keystrokes 107 topmost (or only) window visible to the user - typed keystrokes
107 will be sent to the host on the other end of this connection. 108 will be sent to the host on the other end of this connection.
108 </para> 109 </para>
109 110
110 <para> 111 <para>
111 KEYSTATE = 2 (TE -> Monitor). The argument is a single uint16 112 KEYSTATE = 2 (TE -> Monitor). The argument is a single uint16
112 value, 1 for key down, 0 for key up. The TE tracks a single special 113 value, 1 for key down, 0 for key up. The TE tracks a single special
113 key for the monitor, and reports key up/down state when it changes. 114 key for the monitor, and reports key up/down state when it changes.
114 The actual key is configurable. 115 The actual key should be configurable.
115 </para> 116 </para>
116 117
117 <para> 118 <para>
118 CURSORMOVE = 3 (TE -> Monitor). 119 CURSORMOVE = 3 (TE -> Monitor).
119 The first argument is the line number (0..23), 120 The first argument is the line number (0..23),
125 </para> 126 </para>
126 127
127 <para> 128 <para>
128 SCREENCHANGE = 4 (TE -> Monitor). The first argument is the 129 SCREENCHANGE = 4 (TE -> Monitor). The first argument is the
129 number of lines. The second argument is the number of columns. 130 number of lines. The second argument is the number of columns.
130 That is followed by lines*columns uint16 character codes. 131 That is followed by lines*columns uint16 character codes for
132 the current screen contents.
131 </para> 133 </para>
132 134
133 <para> 135 <para>
134 FIELDVALUE = 5 (TE -> Monitor). 136 FIELDVALUE = 5 (TE -> Monitor).
135 SETFIELD = 5 (Monitor -> TE). 137 SETFIELD = 5 (Monitor -> TE).
160 and the second argument is the starting column number (0..79), 162 and the second argument is the starting column number (0..79),
161 and the third argument is the field length in columns. 163 and the third argument is the field length in columns.
162 This command causes the emulator to watch the specified 164 This command causes the emulator to watch the specified
163 part of the screen for changes. When that part of the screen 165 part of the screen for changes. When that part of the screen
164 changes, the emulator will send a SCREENCHANGE message back 166 changes, the emulator will send a SCREENCHANGE message back
165 to the monitor. 167 to the monitor. The initial screen watch area is the entire
168 screen.
166 </para> 169 </para>
167 170
168 <para> 171 <para>
169 DEPRESS = 8 (Monitor -> TE). The argument is a single uint16 172 DEPRESS = 8 (Monitor -> TE). The argument is a single uint16
170 value containing the vk_key value. This command causes the emulator 173 value containing the vk_key value. This command causes the emulator
189 in block mode (tn5250) sessions. Those commands do trigger CURSORMOVE 192 in block mode (tn5250) sessions. Those commands do trigger CURSORMOVE
190 updates in async mode (telnet, ssh) sessions. 193 updates in async mode (telnet, ssh) sessions.
191 </para> 194 </para>
192 </refsect1> 195 </refsect1>
193 196
197 <refsect1 id='synchronization.1'>
198 <title>Synchronization issues</title>
199 <para>
200 The terminal emulator should delay sending CURSORMOVE and SCREENCHANGE
201 messages until the socket has been quiet for 10 milliseconds or until
202 the 5250 block mode terminal keyboard has been unlocked by the host.
203 The monitor might send SETFIELD or DEPRESS messages in response to
204 those CURSORMOVE or SCREENCHANGE messages. If the 5250 block mode
205 keyboard is locked, the terminal emulator should buffer those keystrokes
206 and send them when the keyboard unlocks.
207 </para>
208 </refsect1>
209
194 <refsect1 id='todo.1'> 210 <refsect1 id='todo.1'>
195 <title>TODO</title> 211 <title>TODO</title>
196 <para> 212 <para>
197 Nothing. 213 Nothing.
198 </para> 214 </para>