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

Python Discussion :

lecture non bloquante de clavier


Sujet :

Python

  1. #1
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    859
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 859
    Points : 714
    Points
    714
    Par défaut lecture non bloquante de clavier
    Bon et bien tout est dans le titre.

    Je souhaite lire une touche au clavier de façon non bloquante.

    Remarque: je n'ai pas envie de créer un thread avec raw_input("entrer une touche").
    Si tu ne vis pas ce que tu penses alors tu penses ce que tu vis.

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    71
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 71
    Points : 56
    Points
    56
    Par défaut
    J'ai justement fait ça hier

    Je ne sais pas si ça fonctionne sous Linux, je n'ai pas encore essayé, mais pour Windows, c'est bon.
    Regarde la fonction getChar()

    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
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
     
    # ENVIRONNEMENT !!
    if sys.platform.startswith("linux"):
        isLINUX = True
        import tty
        import termios
    else:
        isLINUX = False 
        import msvcrt
     
    def ClearScreen ():
        "effacer la console"
        if isLINUX :
            os.system('clear')
        else:
            os.system('cls')
     
    def getChar ():
        "saisie d'un caractère sans retour chariot"
        if isLINUX :
            fd = sys.stdin.fileno()
            old_settings = termios.tcgetattr(fd)
            tty.setraw(sys.stdin.fileno())
            return sys.stdin.read(1)
        else:
            return msvcrt.getch()
     
    def nextPage ():
        print u"\n\n---------- appuyer sur une touche pour continuer, sur q pour quitter ----------"
        char = getChar()
        if char == 'q' or char == 'Q' :
            return False
        return True
     
    def attendClavier ():
        print u"\n\n--------------- terminé ; appuyer sur une touche pour continuer ---------------"
        char = getChar()
     
    def msgAnnulation ():
        print u"\n\n---------- opération annulée ; appuyer sur une touche pour continuer ----------"
        char = getChar()

  3. #3
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    859
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 859
    Points : 714
    Points
    714
    Par défaut
    Mille mercis. J'ai l'impression que c'est bloquant ? Il semble qu'il n'y ait pas d'attente de \n, mais il y a quand même une attente de touche.
    Si tu ne vis pas ce que tu penses alors tu penses ce que tu vis.

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 050
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 050
    Points : 1 381
    Points
    1 381

  5. #5
    Membre éclairé Avatar de Bayard
    Inscrit en
    Juin 2002
    Messages
    859
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 859
    Points : 714
    Points
    714
    Par défaut
    Je n'ai pas prévu de travailler avec Tkinter.

    Merci quand même.
    Si tu ne vis pas ce que tu penses alors tu penses ce que tu vis.

Discussions similaires

  1. inputStream : lecture non bloquante ?
    Par rimas2009 dans le forum Entrée/Sortie
    Réponses: 2
    Dernier message: 24/06/2009, 15h40
  2. Socket lecture non bloquante
    Par Darkthur dans le forum Multithreading
    Réponses: 2
    Dernier message: 22/05/2009, 18h28
  3. Lecture non bloquante sur plusieurs Sockets avec nio
    Par ratakses dans le forum Entrée/Sortie
    Réponses: 9
    Dernier message: 19/04/2007, 16h14
  4. Rendre la lecture non bloquante
    Par Charlinecha dans le forum API standards et tierces
    Réponses: 4
    Dernier message: 05/07/2005, 15h46
  5. Réponses: 3
    Dernier message: 16/03/2004, 16h42

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