This works for windows.
However, you cannot use this feature from cygwin. You need to invoke python script directly from Windows. Double-clicking the python script works, but you need to catch exceptions in the case (otherwise, you don’t know what happened when an exception was raised).
Here is the sample program to read arrow keys.
#!c:\Python32\python from msvcrt import getch import sys print("press ESC to exit") while True: try: key = ord(getch()) if key == 27: #ESC break elif key == 224: # special keys (arros, f keys, ins, del, etc.) key = ord(getch()) if key == 75: print("left") elif key == 77: print("right") elif key == 80: print("down") elif key == 72: print("up") except: print(sys.exc_info())