Mercurial > 510Connectbot
comparison xml/510connectbot.in @ 513:13a922d1fc5c
update docs
author | Carl Byington <carl@five-ten-sg.com> |
---|---|
date | Fri, 10 Feb 2023 17:16:47 -0700 |
parents | 2eb4fa13b9ef |
children | 947ea334735d |
comparison
equal
deleted
inserted
replaced
512:e1dd1fd46e18 | 513:13a922d1fc5c |
---|---|
3 <partintro> | 3 <partintro> |
4 <title>Packages</title> | 4 <title>Packages</title> |
5 | 5 |
6 <para> | 6 <para> |
7 The various source and binary packages are available at <ulink | 7 The various source and binary packages are available at <ulink |
8 url="http://www.five-ten-sg.com/@PACKAGE@/packages/">http://www.five-ten-sg.com/@PACKAGE@/packages/</ulink>. | 8 url="https://www.five-ten-sg.com/@PACKAGE@/packages/">https://www.five-ten-sg.com/@PACKAGE@/packages/</ulink>. |
9 The most recent documentation is available at <ulink | 9 The most recent documentation is available at <ulink |
10 url="http://www.five-ten-sg.com/@PACKAGE@/">http://www.five-ten-sg.com/@PACKAGE@/</ulink>. | 10 url="https://www.five-ten-sg.com/@PACKAGE@/">https://www.five-ten-sg.com/@PACKAGE@/</ulink>. |
11 </para> | 11 </para> |
12 | 12 |
13 <para> | 13 <para> |
14 A <ulink url="http://www.selenic.com/mercurial/wiki/">Mercurial</ulink> source | 14 A <ulink url="http://www.selenic.com/mercurial/wiki/">Mercurial</ulink> source |
15 code repository for this project is available at <ulink | 15 code repository for this project is available at <ulink |
16 url="http://hg.five-ten-sg.com/@PACKAGE@/">http://hg.five-ten-sg.com/@PACKAGE@/</ulink>. | 16 url="https://hg.five-ten-sg.com/@PACKAGE@/">https://hg.five-ten-sg.com/@PACKAGE@/</ulink>. |
17 </para> | 17 </para> |
18 | 18 |
19 <para> | 19 <para> |
20 A companion terminal monitor project is available at <ulink | 20 A companion terminal monitor project is available at <ulink |
21 url="http://www.five-ten-sg.com/510ConnectbotMonitor">http://www.five-ten-sg.com/510ConnectbotMonitor</ulink> | 21 url="https://www.five-ten-sg.com/510ConnectbotMonitor">https://www.five-ten-sg.com/510ConnectbotMonitor</ulink> |
22 </para> | 22 </para> |
23 | 23 |
24 <para> | |
25 Bitcoin donations for this project may be sent to | |
26 <ulink url="bitcoin:1EkbpYhcbAwmU3L7xXPisHQdwWSyjdaY2A">bitcoin:1EkbpYhcbAwmU3L7xXPisHQdwWSyjdaY2A</ulink> | |
27 </para> | |
28 </partintro> | 24 </partintro> |
29 | 25 |
30 <refentry id="x@PACKAGE@.1"> | 26 <refentry id="x@PACKAGE@.1"> |
31 <refentryinfo> | 27 <refentryinfo> |
32 <date>2019-10-04</date> | 28 <date>2019-10-04</date> |
102 all 24 function keys for 5250 emulation. A hardware button can | 98 all 24 function keys for 5250 emulation. A hardware button can |
103 be configured to display that function keypad. | 99 be configured to display that function keypad. |
104 </para></listitem> | 100 </para></listitem> |
105 | 101 |
106 <listitem><para> | 102 <listitem><para> |
107 A deployment.connections text file is read (and optionally deleted) on | 103 A 510Connectbot.connections text file is read (and optionally deleted) on |
108 startup. This may be used to preconfigure the global options | 104 startup. This may be used to preconfigure the global options |
109 and to create an initial set of host connections. This is only | 105 and to create an initial set of host connections. This is only |
110 useful for bulk deployments. | 106 useful for bulk deployments. |
111 </para></listitem> | 107 </para></listitem> |
112 | 108 |
160 | 156 |
161 <para> | 157 <para> |
162 The terminal monitor is invoked by calling an android Intent | 158 The terminal monitor is invoked by calling an android Intent |
163 named "com.five_ten_sg.connectbot.monitor.MonitorService". That | 159 named "com.five_ten_sg.connectbot.monitor.MonitorService". That |
164 ensures that the monitor process is running, and should then | 160 ensures that the monitor process is running, and should then |
165 be listening on TCP port 6000 for incoming connections. The terminal | 161 be listening on TCP port 6001 for incoming connections. The terminal |
166 emulator then connects to the terminal monitor on port 6000. | 162 emulator then connects to the terminal monitor on port 6001. |
167 The native android Intent and Service communication mechanisms | 163 The native android Intent and Service communication mechanisms |
168 are not used. | 164 are not used. |
169 </para> | 165 </para> |
170 | 166 |
171 <para> | 167 <para> |
186 represented as Microsoft Virtual-Key codes, defined | 182 represented as Microsoft Virtual-Key codes, defined |
187 <ulink url="https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes">here</ulink>. | 183 <ulink url="https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes">here</ulink>. |
188 </para> | 184 </para> |
189 | 185 |
190 <para> | 186 <para> |
187 The first message over the socket must be the INIT message | |
188 from the TE. This allows the terminal monitor to load any | |
189 required data. | |
190 </para> | |
191 | |
192 <para> | |
193 That is followed by a pair of SCREENCHANGE/CURSORMOVE messages from | |
194 the TE whenever the screen contents have changed. The terminal monitor | |
195 may respond to the SCREENCHANGE message with a SCREENWATCH message to | |
196 restrict the part of the screen that is to be monitored for updates. | |
197 </para> | |
198 | |
199 <para> | |
200 At any time, the terminal monitor may send GETFIELD or SETFIELD messages | |
201 to get or set the value of fields on the current screen. GETFIELD | |
202 messages from the terminal monitor must be followed by a FIELDVALUE | |
203 message from the TE. | |
204 </para> | |
205 | |
206 <para> | |
191 INIT = 0 (TE -> Monitor). The argument is a string of uint16 | 207 INIT = 0 (TE -> Monitor). The argument is a string of uint16 |
192 characters. The meaning of these characters is defined by the | 208 characters. The meaning of these characters is defined by the |
193 monitor. It might be a fully qualified path name, or some other | 209 monitor. It might be a fully qualified path name, or some other |
194 data used by the monitor to drive the monitoring of this | 210 data used by the monitor to drive the monitoring of this |
195 connection. | 211 connection. |
201 That is followed by lines*columns uint16 character codes for | 217 That is followed by lines*columns uint16 character codes for |
202 the current screen contents. | 218 the current screen contents. |
203 This connection is now the active connection. It is the | 219 This connection is now the active connection. It is the |
204 topmost (or only) window visible to the user - typed keystrokes | 220 topmost (or only) window visible to the user - typed keystrokes |
205 will be sent to the host on the other end of this connection. | 221 will be sent to the host on the other end of this connection. |
206 </para> | 222 The TE must reset the screen watch area to the entire screen. |
223 </para> | |
224 | |
225 <para> | |
226 Every ACTIVATEE message from the TE must be followed by a | |
227 CURSORMOVE message. | |
228 </para> | |
229 | |
207 | 230 |
208 <para> | 231 <para> |
209 KEYSTATE = 2 (TE -> Monitor). The argument is a single uint16 | 232 KEYSTATE = 2 (TE -> Monitor). The argument is a single uint16 |
210 value, 1 for key down, 0 for key up. The TE tracks a single special | 233 value, 1 for key down, 0 for key up. The TE tracks a single special |
211 key for the monitor, and reports key up/down state when it changes. | 234 key for the monitor, and reports key up/down state when it changes. |
217 The first argument is the line number (0..23), | 240 The first argument is the line number (0..23), |
218 the second argument is the column number (0..79), and the third | 241 the second argument is the column number (0..79), and the third |
219 argument is the reason for sending this cursor update. REASON=0 is | 242 argument is the reason for sending this cursor update. REASON=0 is |
220 from a previous CURSORREQUEST command. REASON=1 is a cursor update | 243 from a previous CURSORREQUEST command. REASON=1 is a cursor update |
221 related to the previous SCREENCHANGE buffer update. REASON=2 is | 244 related to the previous SCREENCHANGE buffer update. REASON=2 is |
222 a cursor update caused by user keystrokes. | 245 a cursor update caused by user keystrokes or cursor movement |
246 triggered by SETFIELD messages from the runtime. | |
223 </para> | 247 </para> |
224 | 248 |
225 <para> | 249 <para> |
226 SCREENCHANGE = 4 (TE -> Monitor). The first argument is the | 250 SCREENCHANGE = 4 (TE -> Monitor). The first argument is the |
227 number of lines. The second argument is the number of columns. | 251 number of lines. The second argument is the number of columns. |
228 That is followed by lines*columns uint16 character codes for | 252 That is followed by lines*columns uint16 character codes for |
229 the current screen contents. | 253 the current screen contents. The TE must reset the screen |
230 </para> | 254 watch area to the entire screen. |
231 | 255 </para> |
232 <para> | 256 |
233 Every SCREENCHANGE message from the TE will be followed by a | 257 <para> |
258 Every SCREENCHANGE message from the TE must be followed by a | |
234 CURSORMOVE message. | 259 CURSORMOVE message. |
235 </para> | 260 </para> |
236 | 261 |
237 <para> | 262 <para> |
238 When the TE sends the screen contents as a result of a previous screen | 263 When the TE sends the screen contents as a result of a previous screen |
254 character codes from the screen buffer. The field | 279 character codes from the screen buffer. The field |
255 covers N columns, where N = (message length - 4). | 280 covers N columns, where N = (message length - 4). |
256 When sent from the monitor to the emulator, this causes | 281 When sent from the monitor to the emulator, this causes |
257 the emulator to send the field codes to the host (for async | 282 the emulator to send the field codes to the host (for async |
258 modes) or to set the specified field contents (for block modes). | 283 modes) or to set the specified field contents (for block modes). |
259 If the field length is zero, the TE should move the cursor to the specified line/column. | 284 Note that the field length may be zero, in which case the |
285 block mode field should cleared. | |
286 </para> | |
287 | |
288 <para> | |
289 If either of the line or column numbers are -1 (0xffff), the field is | |
290 taken from the current cursor position. | |
260 </para> | 291 </para> |
261 | 292 |
262 <para> | 293 <para> |
263 This is also used as the reply message from the emulator to the | 294 This is also used as the reply message from the emulator to the |
264 monitor for a previous GETFIELD from the monitor. | 295 monitor for a previous GETFIELD from the monitor. |
272 This command causes the emulator to send a FIELDVALUE message | 303 This command causes the emulator to send a FIELDVALUE message |
273 back to the monitor. | 304 back to the monitor. |
274 </para> | 305 </para> |
275 | 306 |
276 <para> | 307 <para> |
308 If either of the line or column numbers are -1 | |
309 (0xffff), the block mode field is taken from the | |
310 current cursor position, the specified field length | |
311 should be ignored, and the entire field contents are | |
312 sent back in the FIELDVALUE reply message. | |
313 </para> | |
314 | |
315 <para> | |
277 SCREENWATCH = 7 (Monitor -> TE). | 316 SCREENWATCH = 7 (Monitor -> TE). |
278 The first argument is the line number (0..23) | 317 |
279 and the second argument is the starting column number (0..79), | 318 The number of arguments must be a multiple of |
280 and the third argument is the field length in columns. | 319 three. The arguments form a sequence of triples, where |
281 This command causes the emulator to watch the specified | 320 the first element is the line number (0..23), the |
282 part of the screen for changes. When that part of the screen | 321 second element is the starting column number (0..79), |
283 changes, the emulator will send a SCREENCHANGE message back | 322 and the third element is the field length in columns |
284 to the monitor. The initial screen watch area is the entire | 323 This command causes the emulator to watch the |
285 screen. | 324 specified parts of the screen for updates. When any of |
325 those parts of the screen are updated by the host | |
326 (even if the old and new characters are the same) , | |
327 the emulator will send a SCREENCHANGE message back to | |
328 the monitor. The initial screen watch area is the | |
329 entire screen. The screen watch area is reset to the | |
330 entire screen whenever the TE sends an ACTIVATE or | |
331 SCREENCHANGE message. | |
286 </para> | 332 </para> |
287 | 333 |
288 <para> | 334 <para> |
289 Subsequent screenwatch requests replace the current one, so the TE | 335 Subsequent screenwatch requests replace the current one, so the TE |
290 has only one watch area at any time. | 336 has only one watch area at any time. |
291 </para> | 337 </para> |
292 | 338 |
293 <para> | 339 <para> |
294 DEPRESS = 8 (Monitor -> TE). The argument is a single uint16 | 340 DEPRESS = 8 (Monitor -> TE). The argument is a single |
295 value containing the vk_key value. This command causes the emulator | 341 uint16 value containing the vk_key value. This command |
296 to simulate a keypress for that key. The codes are defined | 342 causes the emulator to simulate a keypress for that |
297 <ulink url="https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes">here</ulink>. | 343 key. This is used for the function keys and cursor |
344 movement keys. See DEPRESSUNICODE for ascii control | |
345 characters. Note that the TE must convert these | |
346 virtual key codes into the appropriate escape sequence | |
347 used by the host protocol (VT320, 5250, 3270, etc).The | |
348 base codes are defined <ulink | |
349 url="https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes">here</ulink>. | |
298 </para> | 350 </para> |
299 | 351 |
300 <para> | 352 <para> |
301 SHOWURL = 9 (Monitor -> TE). The single argument is a sequence | 353 SHOWURL = 9 (Monitor -> TE). The single argument is a sequence |
302 of uint16 character codes forming a URL to be displayed. | 354 of uint16 character codes forming a URL to be displayed. |
355 Strings within the URL must be URL escaped, so all of the | |
356 characters in the argument are less than 128. | |
303 </para> | 357 </para> |
304 | 358 |
305 <para> | 359 <para> |
306 SWITCHSESSION = 10 (Monitor -> TE). There are no arguments. The TE | 360 SWITCHSESSION = 10 (Monitor -> TE). There are no arguments. The TE |
307 should display this session. | 361 should display the session associated with this socket. |
308 </para> | 362 </para> |
309 | 363 |
310 <para> | 364 <para> |
311 CURSORREQUEST = 11 (Monitor -> TE). There are no arguments. The TE | 365 CURSORREQUEST = 11 (Monitor -> TE). There are no arguments. The TE |
312 should send a CURSORMOVE update to the monitor. Cursor movement caused | 366 should send a CURSORMOVE update to the monitor. Cursor movement caused |
320 any current speech should be flushed. The second argument is nonzero | 374 any current speech should be flushed. The second argument is nonzero |
321 if this speech should be synchronous. That is followed by uint16 | 375 if this speech should be synchronous. That is followed by uint16 |
322 character codes to be spoken. Note that the language is specified | 376 character codes to be spoken. Note that the language is specified |
323 by the monitor, not the TE. | 377 by the monitor, not the TE. |
324 </para> | 378 </para> |
379 | |
380 <para> | |
381 SETFOCUS = 13 (Monitor -> TE). The first argument is the | |
382 line number (-1..23) and the second argument is the column number | |
383 (-1..79). The TE should set the input focus to the specified field | |
384 position by moving the cursor. | |
385 </para> | |
386 | |
387 <para> | |
388 KEYBOARD = 14 (Monitor -> TE). The argument is a single | |
389 uint16 value, 0 to hide the soft keyboard, 1 to show the soft keyboard. | |
390 </para> | |
391 | |
392 <para> | |
393 DEPRESSUNICODE = 15 (Monitor -> TE). The argument is a | |
394 single uint16 value containing the unicode value. This message causes | |
395 the TE to send the keystroke to the host. This is used for ascii | |
396 control characters. Use DEPRESS for function and cursor movement | |
397 keys. | |
398 </para> | |
399 | |
400 <para> | |
401 FOREGROUND = 16 (Monitor -> TE). There are no arguments. | |
402 This is sent to the TE whenever the terminal monitor may have become the | |
403 visible foreground application. The TE should now force itself to be | |
404 the visible foreground application. | |
405 </para> | |
406 | |
325 </refsect1> | 407 </refsect1> |
326 | 408 |
327 <refsect1 id='todo.1'> | 409 <refsect1 id='todo.1'> |
328 <title>TODO</title> | 410 <title>TODO</title> |
329 <para> | 411 <para> |
330 The tn5250 ssl/tls key storage should use the same storage mechanism | 412 The tn5250 tls key storage should use the same storage mechanism |
331 as the base ssh key storage. | 413 as the base ssh key storage. |
332 </para> | 414 </para> |
333 </refsect1> | 415 </refsect1> |
334 | 416 |
335 <refsect1 id='copyright.1'> | 417 <refsect1 id='copyright.1'> |
336 <title>Copyright</title> | 418 <title>Copyright</title> |
337 <para> | 419 <para> |
338 Copyright (C) 2019 by 510 Software Group <carl@five-ten-sg.com> | 420 Copyright (C) 2019-2023 by 510 Software Group <carl@five-ten-sg.com> |
339 </para> | 421 </para> |
340 <para> | 422 <para> |
341 This program is free software; you can redistribute it and/or modify it | 423 This program is free software; you can redistribute it and/or modify it |
342 under the terms of the GNU General Public License as published by the | 424 under the terms of the GNU General Public License as published by the |
343 Free Software Foundation; either version 3, or (at your option) any | 425 Free Software Foundation; either version 3, or (at your option) any |
358 </refsect1> | 440 </refsect1> |
359 </refentry> | 441 </refentry> |
360 | 442 |
361 <refentry id="x@PACKAGE@.5"> | 443 <refentry id="x@PACKAGE@.5"> |
362 <refentryinfo> | 444 <refentryinfo> |
363 <date>2019-10-04</date> | 445 <date>2023-02-10</date> |
364 <author> | 446 <author> |
365 <firstname>Carl</firstname> | 447 <firstname>Carl</firstname> |
366 <surname>Byington</surname> | 448 <surname>Byington</surname> |
367 <affiliation><orgname>510 Software Group</orgname></affiliation> | 449 <affiliation><orgname>510 Software Group</orgname></affiliation> |
368 </author> | 450 </author> |
369 </refentryinfo> | 451 </refentryinfo> |
370 | 452 |
371 <refmeta> | 453 <refmeta> |
372 <refentrytitle>deployment.connections</refentrytitle> | 454 <refentrytitle>510Connectbot.connections</refentrytitle> |
373 <manvolnum>5</manvolnum> | 455 <manvolnum>5</manvolnum> |
374 <refmiscinfo>@PACKAGE@ @VERSION@</refmiscinfo> | 456 <refmiscinfo>@PACKAGE@ @VERSION@</refmiscinfo> |
375 </refmeta> | 457 </refmeta> |
376 | 458 |
377 <refnamediv id='name.5'> | 459 <refnamediv id='name.5'> |
378 <refname>deployment.connections</refname> | 460 <refname>510Connectbot.connections</refname> |
379 <refpurpose>deployment file for @PACKAGE@</refpurpose> | 461 <refpurpose>connections file for @PACKAGE@</refpurpose> |
380 </refnamediv> | 462 </refnamediv> |
381 | 463 |
382 <refsect1 id='description.5'> | 464 <refsect1 id='description.5'> |
383 <title>Description</title> | 465 <title>Description</title> |
384 | 466 |
385 <para>The <command>deployment.connections</command> sample | 467 <para> |
386 file is below. If this file exists at the top | 468 The <command>510Connectbot.connections</command> |
387 level of the external storage (as returned by | 469 sample file is below. If this file exists in the |
388 Environment.getExternalStorageDirectory().getAbsolutePath()), | 470 AccuSpeech/VoiceProjects directory or in the Downloads |
389 it is read, parsed, and optionally deleted. Comments start with # | 471 directory, it is read, parsed, and optionally deleted. |
390 and extend to the end of the line. | 472 Comments start with # and extend to the end of the line. |
391 </para> | 473 </para> |
392 | 474 |
393 <para> | 475 <para> |
394 The deployment file is deleted unless it contains "delete_deployment=false" | 476 The connections file is deleted unless it contains |
395 in the global options section. In that case, the file remains, and | 477 "delete_deployment=false" in the global options |
396 it is read and parsed every time the app is launched. | 478 section. In that case, the file remains, and it is read |
479 and parsed every time the app is launched. | |
397 </para> | 480 </para> |
398 | 481 |
399 <literallayout class="monospaced"><![CDATA[ | 482 <literallayout class="monospaced"><![CDATA[ |
400 # | 483 # |
401 # available host keys: | 484 # available host keys: |