Por ejemplo, en mi xterm para obtener:
000
: Ctrl+Space o 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 o Tab
010
: Ctrl+J o Ctrl+M o Enter
011
: Ctrl+K
012
: Ctrl+L
013
: no puedo encontrar ninguno.
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+[ o Esc
028
: Ctrl+\
029
: Ctrl+]
030
: Ctrl+^
031
: Ctrl+_ o Ctrl+/
Los caracteres desde 032
hasta 127
, inclusive, son imprimibles, pero hay algunos a los que se puede hacer referencia de varias maneras usando Ctrl, Shifto Altuna combinación de ellos.
Luego hay personajes de 128
algo que no sé.
Guión de prueba:
#!/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)