diff options
| author | Preston Pan <preston@nullring.xyz> | 2023-02-06 01:14:33 -0800 |
|---|---|---|
| committer | Preston Pan <preston@nullring.xyz> | 2023-02-06 01:14:33 -0800 |
| commit | b52f4ee7e7d6deccc64576d8ab7daa056451cebf (patch) | |
| tree | 012962b05d0c968ebf1e56d41f4828f4d0fdcc9c /conio.h | |
| parent | 6c543f17f2ce8474955673e0fff7d26a90446a0a (diff) | |
actually works now
Diffstat (limited to 'conio.h')
| -rw-r--r-- | conio.h | 18 |
1 files changed, 14 insertions, 4 deletions
@@ -1,4 +1,14 @@ -#ifndef CONIO_H -#define CONIO_H -int getch(void); -#endif +#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; +} |
