Io su windows uso la funzione kbhit (), in pratica rileva la pressione di un tasto da tastiera. Il codice tipo e':
if (kbhit () )
tasto=getch();
e poi eventualmente uno switch case per decidere cosa fare in base al tasto premuto. Su windows funziona benissimo, infatti mi sto sbizzarrendo :P Prova e vedi se funziona anche su linux