Например, в моем xterm, чтобы получить:
000
: Ctrl+Space или 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 или Tab
010
: Ctrl+J или Ctrl+M или Enter
011
: Ctrl+K
012
: Ctrl+L
013
: не могу найти.
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+[ или Esc
028
: Ctrl+\
029
: Ctrl+]
030
: Ctrl+^
031
: Ctrl+_ или Ctrl+/
Все символы от 032
до 127
включительно являются печатными, но некоторые из них можно обозначить несколькими способами, используя либо Ctrl, Shiftлибо Alt, либо их комбинацию.
А еще есть персонажи из 128
какого-то фильма, названия которых я не знаю.
Тестовый сценарий:
#!/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)