summaryrefslogtreecommitdiff
path: root/conio.c
blob: 50b7e0f2a3d1d89d1689ee6b608ec2f8b6d42a14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include "./conio.h"
#include <termios.h>
#include <unistd.h> 
#include <stdio.h> 

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;
}