Détection d'une seule touche clavier (ou combinaison de 2 touches)
Comment obtenir (dans la console de sortie):
"X pressé"
en pressant la touche X du clavier
"Ctrl+Y pressé"
en pressant la combinaison Ctrl+Y du clavier
Merci
Détection d'une seule touche clavier (ou combinaison de 2 touches)
Comment obtenir (dans la console de sortie):
"X pressé"
en pressant la touche X du clavier
"Ctrl+Y pressé"
en pressant la combinaison Ctrl+Y du clavier
Merci
bonjour, utilises la commande "event.keysyms", ca te renvoie la touche préssé (c'est ok pour une touche mais pas pour une combinaison).
Si tu es sous Windows, tu peux utiliser la bibliothèque pyHook et pywin32 (tu pourras trouver les sites ici: http://python.developpez.com/outils/...s/?page=Divers ).
pyHook permet d'intercepter les évènements clavier.
documentation de l'api de pyHook: http://www.cs.unc.edu/Research/assist/doc/pyhook/
Il existait aussi un tuto sur le net mais je ne le retrouve plus
[EDIT]Finalement, c'était celui-ci: http://www.mindtrove.info/articles/pyhook.html [/EDIT]
avec event.GetKey() tu récupères la dernière touche appuyée
avec Event.IsAlt() tu récupères si la touche Alt est appuyée
Par contre, pour savoir si d'autres touches sont appuyées (notamment Ctrl, Shift), je ne sais pas trop (il faut peut-etre dépouiller un peu plus la doc)
petit exemple d'utilisation:
Après, avec le event.time, tu dois pouvoir gérer toi-meme si 2 touches sont appuyés en meeme temps ou pas
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 import pyHook import pythoncom import threading def OnKeyboardEvent(event): print event.IsAlt() print event.GetKey() def MyThread(): # create a hook manager hm = pyHook.HookManager() # watch for all keyboard events hm.KeyDown = OnKeyboardEvent # set the hook hm.HookKeyboard() # wait forever pythoncom.PumpMessages() MyThread()
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager