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.).