Tester entrées clavier
Fermé
Xemalia
-
10 mars 2015 à 02:01
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 13 mars 2015 à 22:18
fiddy Messages postés 11069 Date d'inscription samedi 5 mai 2007 Statut Contributeur Dernière intervention 23 avril 2022 - 13 mars 2015 à 22:18
A voir également:
- Tester entrées clavier
- Flash drive tester - Télécharger - Divers Utilitaires
- Tester son pc - Guide
- Comment taper / sur clavier - Guide
- Telecharger clavier arabe تنزيل لوحة المفاتيح العربية - Télécharger - Divers Web & Internet
- Changer clavier qwerty en azerty - Guide
2 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
13 mars 2015 à 20:18
13 mars 2015 à 20:18
Tu veux que ton programme bloque sur cette fonction tant que l'utilisateur n'a pas appuyé sur la touche ? Ou que le programme teste l'appuie de la touche sa S s'arrêter sur la fonction ?
Orci76
Messages postés
92
Date d'inscription
lundi 20 décembre 2010
Statut
Membre
Dernière intervention
21 avril 2015
5
Modifié par Orci76 le 13/03/2015 à 21:18
Modifié par Orci76 le 13/03/2015 à 21:18
#include <stdio.h>
#include <windows.h>
int key_pressed(int key)
{
return (GetAsyncKeyState(key) != 0);
}
int main()
{
int flag = 0;
int key;
while (1)
{
key = key_pressed(VK_LEFT);
if (key && !flag)
printf("LEFT key pressed o/\n");
if (!key && flag)
{
printf("LEFT key released :(\n");
flag = 0;
}
flag = (key ? 1 : 0);
}
return (0);
}
Tu devrais pouvoir un truc comme ça (pas l'habitude du C Windows, désolé), mais c'était assez moche d'être aussi peu portable.
Si tu l'utilises pour un jeu, tu voudras probablement gérer plusieurs keys, et les stockant dans un tableau de state, par exemple.
Sinon, comme son nom l'indique, GetAsyncKeyState() est non bloquant, ce qui fait que ton while (1) va tourner en boucler -- ce que tu peux, ou non, vouloir pour ton jeu --, si tu veux faire autrement, tu peux utiliser getch() (toujours pas portable, mais plus facilement adaptable sous Unix.
PS: Trouvé en 1mn sur Google
13 mars 2015 à 20:25
13 mars 2015 à 22:18
Tu peux faire :
Sinon, tu peux utiliser _getch(). Dans ce cas, la fonction attendra que l'utilisateur appuie sur une touche (la lettre n'apparaîtra pas à l'écran).
Note : tu as posté ton sujet en C. Et tu parles de C++... En quel langage le veux-tu ?