getting a key from stdin in UNIX
    Wade Guthrie 
    evil at arcturus.UUCP
       
    Thu Feb  8 03:40:15 AEST 1990
    
    
  
Gary Mathews writes:
>	I want to be able to press a key and respond to that key without
>pressing the <ENTER> key, such as getc on TurboC...
Chris Torek writes:
[...]
>It should therefore not appear in this newsgroup.
Sorry to disagree with you on this one, Chris, but what about those of us 
that can answer the question in a non-machine specific way?  
Try using curses, a public domain package that exists on many systems including 
Unix, VMS (albeit in a bass-ackwards sort of way), and MS-DOS.  By putting the 
terminal into 'raw' mode, you can do what is being asked.  In fact, I end up
using curses a lot to handle portable menus and such.
Your code should look something like:
	#include <curses.h>
	main(argc, argv)
	...
		initscr();	/* starts curses */
		...
		raw();		/* puts the input mode to raw */
		c = getch();	/* in raw mode, this just gets the char -- no
				 * newline required */
		noraw();	/* returns to cooked mode */
		...
		endwin();
	}
Or some such.  Check out the curses manual for details.
Wade Guthrie
evil at arcturus.UUCP
Rockwell International; Anaheim, CA
(Rockwell doesn't necessarily believe / stand by what I'm saying; how could
they when *I* don't even know what I'm talking about???)
    
    
More information about the Comp.lang.c
mailing list