Add cursesw driver, using curses get_wch() for unicode input. It alse has enabled keypad() to let curses interpret control keys and mouse input.
#!/usr/bin/python3import cursesimport localelocale.setlocale(locale.LC_ALL, "")def doStuff(stdscr): stdscr.keypad(1) message = "Press 'q' to quit.\n" stdscr.addstr(0, 0, message, 0) while True: c = stdscr.get_wch() # pauses until a key's hit if c == 'q': break stdscr.addstr('%s %r\n' % (c, c))curses.wrapper(doStuff)