utils/test/test.c
int _getch(void)
{
    struct termios oldattr, newattr;
    int ch;

    tcgetattr(STDIN_FILENO, &oldattr);
    newattr = oldattr;
    newattr.c_lflag &= ~(ICANON | ECHO);
    tcsetattr(STDIN_FILENO, TCSANOW, &newattr);
    ch = getchar();
    tcsetattr(STDIN_FILENO, TCSANOW, &oldattr);
    return ch;
}
/* reads from keypress, doesn't echo */
reads from keypress, doesn't echo
reads from keypress doesn ' t echo
int _getch(void)
{
    struct termios oldattr, newattr;
    int ch;
    tcgetattr(STDIN_FILENO, &oldattr);
    newattr = oldattr;
    newattr.c_lflag &= ~(ICANON | ECHO);
    tcsetattr(STDIN_FILENO, TCSANOW, &newattr);
    ch = getchar();
    tcsetattr(STDIN_FILENO, TCSANOW, &oldattr);
    return ch;
}
int _getch ( void ) { struct termios oldattr , newattr ; int ch ; tcgetattr ( STDIN_FILENO , & oldattr ) ; newattr = oldattr ; newattr . c_lflag &= ~ ( ICANON | ECHO ) ; tcsetattr ( STDIN_FILENO , TCSANOW , & newattr ) ; ch = getchar ( ) ; tcsetattr ( STDIN_FILENO , TCSANOW , & oldattr ) ; return ch ; }
reads from keypress, doesn't echo
reads from keypress doesn ' t echo