Consider ASCII encoding changes
The <SI>
and <SO>
are solved, I believe. Whether they refer to red/black ink or to special/standard character sets, they are idempotent and so repeating the last is fine.
The XON and XOFF characters are difficult on serial lines. At least there, consider renaming:
-
<DC1>
or XON could be moved to<ETX>
(it moves up in the program hierarchy) -
<DC3>
or XOFF could be moved to<STX>
(it moves down in the program hierarchy) - While at it:
-
<DC2>
could be moved to<EOT>
(it ends a program) -
<DC4>
could be moved to<SUB>
(it moves sideways in the program hierarchy)
Motivation. XON/XOFF assumptions are implemented in many serial protocols, especially for ASCII transfer. And in this early stage, such changes should not be problematic for mulTTY. And they can solve problems with running out of sync over serial lines. Finally, the alternate names are easier to memorise.
Relativation. This is mostly of use for embedded systems, where a serial port often consists only of TxD, RxD, GND. But these are not the places where reliable interaction is actively supported; it is unlikely that XON/XOFF control is actually being used. And it is questionable if any other modern context exists where XON/XOFF functionality is required... Communication devices such as modems and terminals will happily facilitate RTS/CTS signaling and most other protocols rely on packet switching for flow control.
Caution.
The character codes are part of escaped sets. They may not appear in a symbolic form. And sometimes comparisons are performed on byte value ranges. Also look into example code and tests. And <SUB>
is currently used for completion requests in shell, which can easily be changed to something like <ENQ>
for enquiry.