#include #include #include #include #include // window size #include #include #include #include wchar_t readChar() { struct termios old_settings, new_settings; wchar_t c = L'\0'; tcgetattr(STDIN_FILENO, &old_settings); new_settings = old_settings; new_settings.c_lflag &= ~(ICANON | ECHO); tcsetattr(STDIN_FILENO, TCSANOW, &new_settings); c = fgetwc(stdin); wprintf(L"\033[1;1H%lc", c); tcsetattr(STDIN_FILENO, TCSANOW, &old_settings); return c; } int main() { struct termios old_settings, new_settings; setlocale(LC_ALL, ""); wchar_t c = L'\0'; /* setlocale(LC_ALL, ""); tcgetattr(STDIN_FILENO, &old_settings); new_settings = old_settings; new_settings.c_lflag &= ~(ICANON | ECHO); tcsetattr(STDIN_FILENO, TCSANOW, &new_settings); c = fgetwc(stdin); tcsetattr(STDIN_FILENO, TCSANOW, &old_settings); wprintf(L"|%lc|", c); */ wprintf(L"|%lc|", readChar()); return 1; printf("|%c|", c); return 0; }