Problem z kbhit () [i getch ()] dla Linuksa

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

Ten kod daje mi blokującą funkcjonalność getch (). Próbuję użyć tego kodu do przechwytywania klawiszy strzałek w dół.

Dodany: Próba przechwycenia kodów kluczy ze strzałką w górę daje mi 3 znaki 27, 91 i 65. Używając, jeśli próbuję dopasować wzór, otrzymuję tylko 2 znaki. Następny jest przechwytywany po naciśnięciu następnego klawisza.

Chcę uchwycić pełne słowa za pomocą getchar (), zawsze szukając pewnych kluczy przez cały czas (esc, del itp.).

questionAnswers(2)

yourAnswerToTheQuestion