Doch. Zwar auch nicht standardkonform, aber die meisten Compiler haben in der <conio.h> funktionen wie "kbhit()" und "getch()" angeboten, mit denen man sowas erreichen konnte. Zumindest unter windows. Bei Linux soll das irgendwie mit "ncurses.h" gehen.
However: Die beiden Funktionen hab ich mal in einer Mini-DLL mit JNI für Java zugänglich gemacht. Macht nicht viel Sinn, aber wenn jemand Interesse hat...