home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
OS/2 Shareware BBS: 10 Tools
/
10-Tools.zip
/
snip9707.zip
/
UNXGETCH.C
< prev
next >
Wrap
C/C++ Source or Header
|
1997-07-05
|
816b
|
44 lines
/* +++Date last modified: 05-Jul-1997 */
/*
** UNXGETCH.C - Non-blocking console input function for Unix/Posix.
**
** public domain by Bob Stout using Steve Poole's term_option().
*/
#include "unxconio.h"
int getch()
{
int istat, key;
char buf[2];
if (0 > term_option(1))
return EOF;
if (0 > term_option(2))
return EOF;
istat = read(STDIN_FILENO,&buf,1);
if (istat < 0)
key = EOF;
else key = (int)buf[0];
term_option(0);
return key;
}
#ifdef TEST
#include <ctype.h>
main()
{
int key;
printf("Press any key to continue...");
fflush(stdout);
key = getch();
printf("\n\nYou pressed \"%c\"\n", toupper(key));
return 0;
}
#endif /* TEST */