Il problema è molto molto semplice; dato in input un tasto stampo l ascii in output, il tutto in un ciclo k esce quando digito la lettera 'z'
il problema k il getchar() aspeta l invio da tastiera e io non voglio k questo accada...
allora devi modificare le impostazioni del terminale.
tempo fa avevo risposto per uno stesso problema in questo post:
http://forum.ubuntu-it.org/index.php?topic=23162.msg93011#msg93011qua c'e' un esempio di utilizzo delle termios
http://forum.ubuntu-it.org/index.php?topic=56338.msg317915#msg317915non ho tempo di postarti un esempio... scusa.
r.