Problem mit kbhit () [und getch ()] für Linux

while(ch != 'q') 
{
  printf("looping\n");
  sleep(1);
  if(kbhit()) 
   {
    ch = readch();
    printf("you hit %c\n",ch);
   }
}

Dieser Code gibt mir eine blockierende getch () ähnliche Funktionalität. Ich versuche, diesen Code zu verwenden, um die Pfeiltasten nach oben und unten zu erfassen.

Hinzugefügt: Wenn ich versuche, die Tastencodes des Aufwärtspfeils zu erfassen, erhalte ich 3 Zeichen (27, 91 und 65). Wenn ich if / else verwende, versuche ich den Mustervergleich, erhalte jedoch nur 2 Zeichen. Die nächste wird erfasst, wenn die nächste Taste gedrückt wird.

Ich möchte mit getchar () vollständige Wörter erfassen und dabei immer nach bestimmten Schlüsseln suchen (esc, del usw.).

Antworten auf die Frage(2)

Ihre Antwort auf die Frage