LINUX.ORG.RU

#include <stdio.h>
#include <termios.h>
#include <unistd.h>
#include <string.h>
  
int main(){
  
  struct termios oldt, newt;
  int ch = 0;

  tcgetattr(STDIN_FILENO, &oldt);
  memcpy(&newt, &oldt, sizeof(oldt));
  cfmakeraw(&newt); // <----- set term to raw mode
  tcsetattr(STDIN_FILENO, TCSANOW, &newt);
  while(ch != 99) {
    ch = getchar();
    printf("\r%hhu\n", ch);
  }
  tcsetattr(STDIN_FILENO, TCSANOW, &oldt);
  return 0;
}

Проблема в том, что, например, Esc и Ctrl-Esc дают один и тотже код. Как так читать, чтобы можно было их различать?
Cпасибо.

ratatosk
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.