Purists will note that the lower three octaves are not exactly one half of
the next higher octave in frequency. This is due to lost resolution of
low frequencies. The notes *sound* correct to me. If anyone can give me
an excellent reason to change them (and more correct integer values for all
notes) I am willing to do that assuming the notes still sound "right".
NMOTE: If you are playing some ANSI Music then ask the user if they
heard it, ALWAYS follow it with an 0x0f 0x0e is the shift lock character which
*will* cause people with anything but an ANSI-BBS terminal (ie: *nix users
using the bundled telnet app) to have their screen messed up. 0x0f "undoes"
the 0x0e.
== Sequences sent by SyncTERM
The following keys in SyncTERM result in the specified sequence being
sent to the remote. This is not part of CTerm, but are documented here
for people who want to maintain compatibility.
[%autowidth,cols="1,2"]
|===
|Left Arrow
|"\033[D"
|Right Arrow
|"\033[C"
|Up Arrow
|"\033[A"
|Down Arrow
|"\033[B"
|Home
|"\033[H"
|End
|"\033[K"
|Select
|"\033[K" (Same as End due to termcap weirdness)
|Delete
|"\x7f"
|Page Down
|"\033[U"
|Page Up
|"\033[V"
|F1
|"\033[11~"
|F2
|"\033[12~"
|F3
|"\033[13~"
|F4
|"\033[14~"
|F5
|"\033[15~"
|F6
|"\033[17~" (Note the jump from 15 to 17 here)
|F7
|"\033[18~"
|F8
|"\033[19~"
|F9
|"\033[20~"
|F10
|"\033[21~"
|F11
|"\033[23~" (Note the jump from 21 to 23 here)
|F12
|"\033[24~"
|Shift + F1
|"\033[11;2~"
|Shift + F2
|"\033[12;2~"
|Shift + F3
|"\033[13;2~"
|Shift + F4
|"\033[14;2~"
|Shift + F5
|"\033[15;2~"
|Shift + F6
|"\033[17;2~"
|Shift + F7
|"\033[18;2~"
|Shift + F8
|"\033[19;2~"
|Shift + F9
|"\033[20;2~"
|Shift + F10
|"\033[21;2~"
|Shift + F11
|"\033[23;2~"
|Shift + F12
|"\033[24;2~"
|Alt + F1
|"\033[11;3~"
|Alt + F2
|"\033[12;3~"
|Alt + F3
|"\033[13;3~"
|Alt + F4
|"\033[14;3~"
|Alt + F5
|"\033[15;3~"
|Alt + F6
|"\033[17;3~"
|Alt + F7
|"\033[18;3~"
|Alt + F8
|"\033[19;3~"
|Alt + F9
|"\033[20;3~"
|Alt + F10
|"\033[21;3~"
|Alt + F11
|"\033[23;3~"
|Alt + F12
|"\033[24;3~"
|Control + F1
|"\033[11;5~"
|Control + F2
|"\033[12;5~"
|Control + F3
|"\033[13;5~"
|Control + F4
|"\033[14;5~"
|Control + F5
|"\033[15;5~"
|Control + F6
|"\033[17;5~"
|Control + F7
|"\033[18;5~"
|Control + F8
|"\033[19;5~"
|Control + F9
|"\033[20;5~"
|Control + F10
|"\033[21;5~"
|Control + F11
|"\033[23;5~"
|Control + F12
|"\033[24;5~"
|Insert
|"\033[@"
|Back Tab
|"\033[Z"
|===
== References
* [[ECMA-48]]https://www.ecma-international.org/wp-content/uploads/ECMA-48_5th_edition_june_1991.pdf[[ECMA-48\]] ECMA. Control Functions for Coded Character Sets. June 1991
* [[XTerm]]https://invisible-island.net/xterm/ctlseqs/ctlseqs.pdf[[XTerm\]] Edward May. XTerm Control Sequences. University of California, Berkeley. 2024/09/19
* [[Paste64]]https://invisible-island.net/xterm/xterm-paste64.html[[Paste64\]] Thomas E. Dickey. XTerm -- bracketed paste. 2022
* [[BANSI]]http://www.bbsdocumentary.com/library/PROGRAMS/GRAPHICS/ANSI/bansi.txt[[BANSI\]] Paul Wheaton. BANSI.TXT. 1999
* [[VT102]]https://vt100.net/docs/vt102-ug/[[VT102\]] Digital. VT102 Video Terminal User Guide. 1982.