Por exemplo, no meu xterm para obter:
000
: Ctrl + Espaço ou Ctrl + @
001
: Ctrl + A
002
: Ctrl + B
003
: Ctrl + C
004
: Ctrl + D
005
: Ctrl + E
006
: Ctrl + F
007
: Ctrl + G
008
: Ctrl + H
009
: Ctrl + I ou separador
010
: Ctrl + J ou Ctrl + M < strong> ou Digite
011
: Ctrl + K
012
: Ctrl + L
013
: não é possível encontrar nenhum.
014
: Ctrl + N
015
: Ctrl + O
016
: Ctrl + P
017
: Ctrl + Q
018
: Ctrl + R
019
: Ctrl + S
020
: Ctrl + T
021
: Ctrl + U
022
: Ctrl + v
023
: Ctrl + W
024
: Ctrl + X
025
: Ctrl + Y
026
: Ctrl + Z
027
: Ctrl + [ ou Esc
028
: Ctrl + \
029
: Ctrl + ]
030
: Ctrl + ^
031
: Ctrl + _ ou Ctrl + /
Caracteres de 032
a 127
, inclusive, são todos imprimíveis, mas há alguns que podem ser referenciados de várias maneiras usando Ctrl , Shift ou Alt ou uma combinação desses.
Depois, há caracteres de 128
para algo que não sei.
Script de teste:
#!/usr/bin/env python3
import curses
import os
def main(stdscr):
curses.raw()
while True:
stdscr.addstr(0, 0, str(stdscr.getch()))
stdscr.refresh()
if __name__ == "__main__":
os.environ.setdefault('ESCDELAY', '0')
curses.wrapper(main)