Touche directionnelle C++

Signaler
Messages postés
6
Date d'inscription
dimanche 11 janvier 2004
Statut
Membre
Dernière intervention
25 juin 2007
-
Messages postés
6
Date d'inscription
dimanche 11 janvier 2004
Statut
Membre
Dernière intervention
25 juin 2007
-
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

Messages postés
415
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
2 décembre 2005
3
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
Messages postés
6
Date d'inscription
dimanche 11 janvier 2004
Statut
Membre
Dernière intervention
25 juin 2007

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
Messages postés
415
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
2 décembre 2005
3
#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
Messages postés
6
Date d'inscription
dimanche 11 janvier 2004
Statut
Membre
Dernière intervention
25 juin 2007

desole mais la bibliotheque bios.h n'existe pas sous linux
donc ton code ne fonctionne pas
merci de ton aide
Messages postés
415
Date d'inscription
samedi 4 janvier 2003
Statut
Membre
Dernière intervention
2 décembre 2005
3
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
Messages postés
6
Date d'inscription
dimanche 11 janvier 2004
Statut
Membre
Dernière intervention
25 juin 2007

ben merci qd meme