src/rfxgen.c
// Check if a key has been pressed
Check if a key has been pressed
Check if a key has been pressed
static int kbhit(void)
{
	struct termios oldt, newt;
	int ch;
	int oldf;
	tcgetattr(STDIN_FILENO, &oldt);
	newt = oldt;
	newt.c_lflag &= ~(ICANON | ECHO);
	tcsetattr(STDIN_FILENO, TCSANOW, &newt);
	oldf = fcntl(STDIN_FILENO, F_GETFL, 0);
	fcntl(STDIN_FILENO, F_SETFL, oldf | O_NONBLOCK);
	ch = getchar();
	tcsetattr(STDIN_FILENO, TCSANOW, &oldt);
	fcntl(STDIN_FILENO, F_SETFL, oldf);
	if (ch != EOF)
	{
		ungetc(ch, stdin);
		return 1;
	}
	return 0;
}
static int kbhit ( void ) { struct termios oldt , newt ; int ch ; int oldf ; tcgetattr ( STDIN_FILENO , & oldt ) ; newt = oldt ; newt . c_lflag &= ~ ( ICANON | ECHO ) ; tcsetattr ( STDIN_FILENO , TCSANOW , & newt ) ; oldf = fcntl ( STDIN_FILENO , F_GETFL , 0 ) ; fcntl ( STDIN_FILENO , F_SETFL , oldf | O_NONBLOCK ) ; ch = getchar ( ) ; tcsetattr ( STDIN_FILENO , TCSANOW , & oldt ) ; fcntl ( STDIN_FILENO , F_SETFL , oldf ) ; if ( ch != EOF ) { ungetc ( ch , stdin ) ; return 1 ; } return 0 ; }
Check if a key has been pressed
Check if a key has been pressed