2017-03-28 6 views
3

Im un peu nouveau pour python et j'ai essayé d'imprimer la clé quand elle est pressée sur les fenêtres et montrent la clé dans un message contextuel:Python (3.6.1) Détection keypress et popups

import msvcrt 
import ctypes # An included library with Python install. 

def Mbox(title, text, style): 
    ctypes.windll.user32.MessageBoxW(0, text, title, style) 

while True: 
    if msvcrt.kbhit()== True: 
     key = msvcrt.getch() 
     print(key) # just to show the result 
     Mbox(key, key, 1) 

Et les problèmes sont les suivants:

1) La sortie si j'appuie sur une touche est diffrent, par exemple: » a "est" B'A » " pourquoi? et comment puis-je le changer à seulement "A"? (la sortie sur le popup est encore plus bizarre comme: 1X quand j'appuie sur 1 ou 2 * x quand j'appuie sur 2)

2) Est-ce que While True: fait fonctionner le code tout le temps, et par cela le maintient si une clé a été pressé?

3) Y at-il lib pour python qui détecte une pression de touche pour fenêtres et Linux tout à fait?

Merci beaucoup.

Répondre

0

Ok j'ai trouvé quelques réponses:

1) msvcrt.getwch() variante Grand char de, retournant une valeur Unicode getch().

En savoir plus sur: https://docs.python.org/3.6/library/msvcrt.html

2) Je suppose que oui, si quelqu'un peut confirmer être mal heureux.

3) Pas que je sache, il y a diff libs pour chaque système op (encore une fois si je me trompe s'il vous plaît laissez une note ici).