[Précédent (date)] [Suivant (date)] [Précédent (sujet)] [Suivant (sujet)] [Index par date] [Index par sujet]

Re: getch sur linux



marc wrote:

> Bonjour je veux lire au clavier dès qu'un touche est tapé comme 
> le getch() fait dans windows (conio.h). Mais sous linux la librairie
> conio.h n'existe pas et je suis incapable de faire lire mon programme 
> dès qu'un touche est tapé. Avec getc, getchar, il lit uniquement
> après enter a été tapé.
> 
> Ca ne me tente pas de commencer à gérer les événements X merde,
> c'est pourtant simple ce que je veux faire.....
> 
> 
> 
> 


pour cela, tu dois utiliser la librairie curses ou slang.

pour plus d'information, fait un man de ncurses

en gros, dans ton code C, tu dois faire quelque chose comme (de memoire, 
tu regarderas dans les man pages)


initscr();

cbreak();    // pour lui dire que tu veux pas de delai quand une touche 
est frappe

char c = getch();

endwin();


par contre, quand tu utilises les curses, tu peux pas faire de printf.. 
tu dois utiliser l'equivalent qui s'appelle printw.


et quand tu compiles, oublie pas la switche -lncurses pour te linker 
avec la librairie.



il y aussi quelqu'un sur le net (je te suggere d'aller voir sur 
freshmeat.net) qui a fait un port de conio.h, en utilisant les curses en 
dessous.



eric