IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Bibliothèques tierces Python Discussion :

Détection d'une seule touche clavier (ou combinaison de 2 touches)


Sujet :

Bibliothèques tierces Python

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    44
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2002
    Messages : 44
    Points : 33
    Points
    33
    Par défaut Détection d'une seule touche clavier (ou combinaison de 2 touches)
    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

  2. #2
    Membre éclairé
    Avatar de airod
    Homme Profil pro
    Gérant Associé, DMP Santé et Directeur technique
    Inscrit en
    Août 2004
    Messages
    767
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Gérant Associé, DMP Santé et Directeur technique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2004
    Messages : 767
    Points : 891
    Points
    891
    Par défaut
    bonjour, utilises la commande "event.keysyms", ca te renvoie la touche préssé (c'est ok pour une touche mais pas pour une combinaison).

  3. #3
    Expert éminent sénior
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Points : 10 067
    Points
    10 067
    Par défaut
    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:
    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()
    Après, avec le event.time, tu dois pouvoir gérer toi-meme si 2 touches sont appuyés en meeme temps ou pas

Discussions similaires

  1. Réponses: 9
    Dernier message: 13/09/2007, 18h06
  2. passer une combinaison de trois touche ctrl+alt+w à mon micr
    Par marco62118 dans le forum VB 6 et antérieur
    Réponses: 9
    Dernier message: 09/11/2005, 19h43
  3. [KeyEvent] Combinaison touche clavier et listener
    Par patricetoan dans le forum Agents de placement/Fenêtres
    Réponses: 3
    Dernier message: 14/06/2005, 09h30
  4. [Applet]simuler une touche clavier
    Par mat10000 dans le forum Interfaces Graphiques en Java
    Réponses: 19
    Dernier message: 12/12/2003, 16h23

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo