begin process at 2012 05 30 10:04:55
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Périphériques

 > 

Touches Haut, Bas ...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Touches Haut, Bas ...

jeudi 18 décembre 2003 à 21:58:48 | Touches Haut, Bas ...

theoriginalstpierre

Bonjour,

J'expose l'affaire :

1) je veux :

if (touche bas enfoncée) printf(" Touche Bas Enfoncée\n");

2) je ne sais pas comment faire touche bas enfoncée

si quelqu'un pouvait m'aider...
Merci.

si ça peut être utile, je prog avec dev-c++.

Flo
jeudi 18 décembre 2003 à 22:57:49 | Re : Touches Haut, Bas ...

SMarmotte


salut
je te propose ceci :
testé sous VC++ 6.0

for(;;)
{
if(kbhit())
{
int sc=getch();
if(sc==27)
{
printf("ESC\n");
break;
}

if(sc==224)
{
int asc=getch();
printf("%d " , asc);
if(asc==80) printf("bas\n");
if(asc==72) printf("haut\n");
if(asc==75) printf("gauche\n");
if(asc==77) printf("droite\n");

}
}
}
vendredi 19 décembre 2003 à 00:37:59 | Re : Touches Haut, Bas ...

aardman

Membre Club
Salut,
Tu peux aussi utiliser GetAsyncKeyState(...).
vendredi 19 décembre 2003 à 09:31:21 | Re : Touches Haut, Bas ...

SMarmotte


c'est vrai, mais ca dépend de sur quel OS il programme LOL

Pour Windows les 2 méthodes sont Ok (la 2nde est peut être mieux car plus courte)
vendredi 19 décembre 2003 à 13:34:17 | Re : Touches Haut, Bas ...

aardman

Membre Club
Salut,
Inutile de présiser l'OS, il utilise devc++.
Dans tous les cas, GetAsyncKeyState est mieux selon moi.
samedi 20 décembre 2003 à 12:42:44 | Re : Touches Haut, Bas ...

theoriginalstpierre

Merci mais j'ai encore des problèmes :
kbhit(), chez moi, ça ne marche pas...
c'est bien dans conio.h non?

mon OS : XP (la cause du problème??)

sinon pour GetAsyncKeyState()
j'ai cru comprendre qu'il fallait lui passer un paramètre correspondant à la touche.
où puis-je trouver une liste me donnant la correspondance pour chaque touche? (surtout touches directionnelles).

A ça près, il me semble que GetAsyncKeyState() soit la fonction que je cherchais.

Merci à vous

Flo
samedi 20 décembre 2003 à 13:21:00 | Re : Touches Haut, Bas ...

aardman

Membre Club
Salut,
kbhit() est une fonction de conio.h, c'est connu ca marche jamais comme on veut ces trucs.

GetAsyncKeyState():
Sur MSDN, ce sont les "virtual key codes".

Dans ton cas:
VK_UP, VK_DOWN, VK_LEFT, VK_RIGHT

if(GetAsyncKeyState(VK_UP)) {
...
}
samedi 20 décembre 2003 à 18:09:46 | Re : Touches Haut, Bas ...

theoriginalstpierre

Merci beaucoup, cela fonctionne parfaitement!
je suppose que pour les autres touches ca donne VK_A ou VK_B, non?
samedi 20 décembre 2003 à 18:14:45 | Re : Touches Haut, Bas ...

aardman

Membre Club
Salut,
Faut chercher sur msdn, y'a une page expres qui te dira tout
samedi 20 décembre 2003 à 18:30:48 | Re : Touches Haut, Bas ...

SMarmotte

salut à tous,
j'ai deux trucs à dire

1. on ne se fout pas de l'OS car faut pas penser que Windows est le seul OS (cependant faut reconnaitre que c'est le seul sur lequel on peut vraiment bosser). Y'en a quand même qui programme en C sous UNIX ou LINUX, ....
-> c'est pour ca que je recommande kbhit()

2. la technique GetAsyncKeyState() fonctionne même si l'application n'est pas en premier plan. Il faudra donc s'assurer que l'application est au premier plan.

maintenant l'important est que ca marche ...

1 2

Cette discussion est classée dans : touche, touches, haut, bas, enfoncée


Répondre à ce message

Sujets en rapport avec ce message

Haut bas [ par ranouf ] je presente l'affaire g un menu :[ ] menu 1[ ] menu 2[x]menu 3[ ] menu 4mon but c que lorsque que j'appuie sur la touche fleche haut le x monte et des Code fleche [ par ranouf ] deja allez voir la source que g mise :http://www.cppfrance.com/article.aspx?Val=1484ensuite compiler le prog, vous verrez que la touche haut renvoie : défiler texte haut en bas [ par m1111 ] Je cherche à faire défiler du texte de haut en bas ou de bas en haut pr faire un générique. Je sais pas du tt comment m'y prendre alors si qq'un pouva Pb Hotkey [ par Xentor609 ] Salut,Je voudrais utiliser une HotKey pour recuperer les touches pressees.Pour cela pas de probleme, il affiche correctement la touche ou combinaison touche enfoncée [ par The_Sin ] Ya til une commande qui detecte si un touche est enfoncée par exemple si p est enfoncée haut/bas, haut/bas, haut/bas, ... [ par NitRic ] Il devrait y avoir une petite croix ou autre dans le petit rectangle qui ce promène sur les pages de haut en bas sans arrêt, pour la fermer!~(.:: Nit Touches automatiques [ par TiotBour ] Bonjour,J'ai chercher dans l'aide et sur le site, je pense que c'est les mots que je tape qui ne vont pas, peut etre que quelqu'un pourra m'aider.J'ex intercepter touches du clavier [ par ndubien ] Bonjour,Comment intercepter l'appuie d'une touche du clavier dans une DialogBox?J'ai essayé WM_KEYDOWN mais le message semble n'être jamais envoyé.Mon Labyrinthe hexagonal avec les graphes [ par chickens ] bonjour,j'ai un travail pratique avec les structures de données qui consiste à charger un labyrinthe dans la mémoire, trouver la solution et l'affiche


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,265 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales