[Q:]

What is "SS3" escape sequence in xterm?

Is it just "<Esc>O" after all?

[A:]

Yes, it's "\033" then "O".

While debugging UART on some microcontroller board, I've made a simple firmware that simply responds on every byte received dumping that byte in HEX like "0x**". Then, using different terminal emulators in linux, I've found that there are many different escape encodings for the following keyboard keys:

for F1..F5:

    "\033[["+'A'..'E' in linux text console
    "\033O"+'P','Q','R','S' (for F1..F4 only) in different gui terminals like mate-terminal and xterm, also running from screen or tmux
    "\033[11~".."\033[15~" in putty (run in windows XP)
    "\033[15~" for F5 only in different gui terminals (mate-terminal, xterm), also in screen or tmux
    "\033[16~" for F5 when using minicom in linux (that seems to recode "\033[[E" and "\033[15~" into that sequence)

for BACKSPACE:

    0x08 or 0x7F

for HOME/END:

    "\033[1~", "\033[4~" in text console, putty and running from screen or tmux
    "\033O"+'H','F' in mate-terminal
    "\033[H","\033[F" in xterm
    "\033[1~", "\033O"+'F' recoded by minicom from gui terminals

When not explicitly noted, I was using either picocom or socat to interact with /dev/ttyUSB0. Those tools seem not to recode any codes generated by terminal emulator, unlike the minicom.

For better explanation read "ctlseqs.txt".