]> gitweb.ps.run Git - iftint/blob - main2.c
d58a5bcfdbfb65ae0d6ca75e7d2c93d971eece1c
[iftint] / main2.c
1 #include <stdio.h>\r
2 \r
3 #ifdef _WIN32\r
4 #include <conio.h>\r
5 #else\r
6 #include <termios.h>\r
7 #include <unistd.h>\r
8 #include <stdio.h>\r
9 \r
10 /* reads from keypress, doesn't echo */\r
11 int getch(void)\r
12 {\r
13     struct termios oldattr, newattr;\r
14     int ch;\r
15     tcgetattr( STDIN_FILENO, &oldattr );\r
16     newattr = oldattr;\r
17     newattr.c_lflag &= ~( ICANON | ECHO );\r
18     tcsetattr( STDIN_FILENO, TCSANOW, &newattr );\r
19     ch = getchar();\r
20     tcsetattr( STDIN_FILENO, TCSANOW, &oldattr );\r
21     return ch;\r
22 }\r
23 \r
24 /* reads from keypress, echoes */\r
25 int getche(void)\r
26 {\r
27     struct termios oldattr, newattr;\r
28     int ch;\r
29     tcgetattr( STDIN_FILENO, &oldattr );\r
30     newattr = oldattr;\r
31     newattr.c_lflag &= ~( ICANON );\r
32     tcsetattr( STDIN_FILENO, TCSANOW, &newattr );\r
33     ch = getchar();\r
34     tcsetattr( STDIN_FILENO, TCSANOW, &oldattr );\r
35     return ch;\r
36 }\r
37 #endif\r
38 \r
39 #define ASCII_ESC 27\r
40 \r
41 int main() {\r
42     int c;\r
43     printf("Hallo\n");\r
44     c = getch();\r
45     printf("%c[2J", ASCII_ESC);\r
46     printf("%c[H", ASCII_ESC);\r
47     printf("c: %c\n", c);\r
48 \r
49     c = getch();\r
50 \r
51     return 0;\r
52 }