You can use ncurses, but if it is only a getch() you want, you can implement it using select() (not a function which is easy to understand BTW). Just google for "getch" together with "select". A sample implementation is here: http://cygwin.com/ml/cygwin/1999-08/msg00385.html Regards, Jan