-
Controle au clavier
Bonjour,
j'arrive à envoyer des commandes vers mon robot NXT afin qu'il se déplace à gauche à droit et vers l'avant. J'aimerais pouvoir le controler avec mon clavier.
En faisant un
while(c = getchar()) etc .... je suis obligé d'appuyer sur entrer pour valider l'appui sur une des touches que je souhaite prendre pour controler mon robot.
N'y aurait-il pas un autre moyen que le getchar() ?
-
Extensions non-standard et bibliothèques: Conio, curses, pdcurses : Donnent accès aux fonctions getch() et getche().
-
l'une d'entre elle est compatible Linux ?
-
Sous Linux, on utilise typiquement curses, ncurses ou pdcurses.
-
ou regarde la SDL, c'est facile et rapide.
-
j'ai essayé avec le getch() de ncurses.h mais l'appel à getch() est non bloquant et il me faudrait que ce soit bloquant :cry:
-
Teste avec kbhit() avant de faire un getch().
Si kbhit() retourne la bonne valeur, ça signifie qu'il y a une touche en attente et getch() ne bloquera pas.
-
à mon avis il y a rien dans le buffer de caractere car quand je l'affiche il m'affiche -1. j'avais aussi oublié de préciser que je suis sous linux
-
Évidemment, il n'y aura quelque chose que quand tu auras tapé.
Le principe, c'est, dans ta boucle principale, de ne faire un getch() que si kbhit() a dit qu'il y avait quelque chose dans le buffer clavier.
-
il faut que je trouve autre chose que kbhit() car il me semble qu'elle n'existe que sur windows ....