Touche directionnelle C++

fat52 Messages postés 6 Date d'inscription dimanche 11 janvier 2004 Statut Membre Dernière intervention 25 juin 2007 - 14 déc. 2004 à 13:41
fat52 Messages postés 6 Date d'inscription dimanche 11 janvier 2004 Statut Membre Dernière intervention 25 juin 2007 - 14 déc. 2004 à 23:41
binjour
je programme sous linux et je dois detecter lorsque l'utilisateur apuie sur une touche du clavier, en particulier les touches directionnelles
merci de votre aide

6 réponses

minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 3
14 déc. 2004 à 18:29
d'après ce que je comprend, tu veux détecter l'appui sur les flèches du clavier. Tu peux passer par les codes ASSCI. Moi je prog sous windobe et je pense que les codes ASSCI sont les mêmes (j'en suis même sûr). Donc pour te conseiller, les codes ASSCI des flèches sont doubles, c'est à dire que si tu fait getch() tu va obtenir 0 et donc il faut en refaire un pour obtenir le code ASSCI. Le deuxième code ASSCI obtenu sera un de ceux là :
gauche = 75
haut = 72
droit = 77
bas = 80

Voilà, j'espère que je t'ai aidé.

Le CyberMonde nous offre une meilleur qualité de vie
0
fat52 Messages postés 6 Date d'inscription dimanche 11 janvier 2004 Statut Membre Dernière intervention 25 juin 2007
14 déc. 2004 à 20:50
oui merci de ton aide mais il y a un probleme avec la fonction getch, elle attend que l'utilisateur appuie sur entree avant de l'envoyer au programme(mise dans un tampon provisoire)
donc si tu as une idee sur comment eviter d'appuyer sur la touche entree
0
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 3
14 déc. 2004 à 21:45
#include 
int Touche = 0;
while( bioskey(1) == 0 ) // si une touche est appuyée
{
   Touche = getch();
   if(Touche == 0)
   {
     switch(Touche)
     {
     case 75:
       // gauche
       break;
     case 72:
       // haut
       break;
     case 77:
       // droite
       break;
     case 80:
       // bas
       break;
     }
   }
}

Je ne sais pas si c'est juste car bioskey() dans bios.h je ne sais pas si ça existe sur linux. Enfin regarde et tiens moi au courant.

Le CyberMonde nous offre une meilleur qualité de vie
0
fat52 Messages postés 6 Date d'inscription dimanche 11 janvier 2004 Statut Membre Dernière intervention 25 juin 2007
14 déc. 2004 à 22:17
desole mais la bibliotheque bios.h n'existe pas sous linux
donc ton code ne fonctionne pas
merci de ton aide
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
minet03 Messages postés 415 Date d'inscription samedi 4 janvier 2003 Statut Membre Dernière intervention 2 décembre 2005 3
14 déc. 2004 à 23:18
Il faudrais que tu te renseigne sur des fonctions similaires à bioskey(), car je ne connais pas d'autre fonction capable de détecter l'appui d'une touche.
désolé de ne pas pouvoir t'aider !

Le CyberMonde nous offre une meilleur qualité de vie
0
fat52 Messages postés 6 Date d'inscription dimanche 11 janvier 2004 Statut Membre Dernière intervention 25 juin 2007
14 déc. 2004 à 23:41
ben merci qd meme
0
Rejoignez-nous