Listing 2: Keyboard polling in UNIX
Include and definitions section:
1. #include <termio.h>
2. struct termio ttyNParms, ttyOParms;
Coding section to setup
3. close (0);
4. if ( open ("/dev/TTY", O_RDWR | O_NDELAY) == -1 )
printf("OPEN ERROR ON USER'S TERMINAL: /dev/tty\n");
5. if (ioctl(0, TCGETA, &ttyOParms) == -1)
printf("ERROR: Unable to get users tty settings: /dev/tty\n");
6. ttyNParms = ttyOParms;
7. ttyNParms.c_lflag &= ~(ICANON | ECHO);
8. ttyNParms.c_cc[VMIN] = 1;
9. ttyNParms.c_cc[VTIME] = 0;
10. if (ioctl (0, TCSETA, &ttyNParms) == -1)
printf("ERROR: Unable to get users tty settings: /dev/tty\n");
11. ch = wgetch(stdscr);
|