Espionner le clavier ? (intercepter le clavier)

Espionner le clavier ? (intercepter le clavier) - Python - Programmation

Marsh Posté le 24-02-2009 à 22:06:48    

Bonsoir,
 
Je voudrais savoir comment l’on peut récupérer une saisie au clavier directement dans une variable sans qu’elle apparaisse à l’écran.
 
Sans utiliser un widget de type "Entry",car par exemple il semble difficile d'insérer des widgets sur un canevas (Canvas), en fait, je veux par exemple récupérer la saisie de l'utilisateur de mon script et l'afficher sur un canevas avec l'instruction create_texte.
 
Merci.


Message édité par micpat le 26-02-2009 à 20:45:21
Reply

Marsh Posté le 24-02-2009 à 22:06:48   

Reply

Marsh Posté le 13-03-2009 à 21:36:17    

Il semble que la solution puisse être le module pyHook, http://sourceforge.net/project/sho [...] _id=631587, le tuto en anglais http://pyhook.wiki.sourceforge.net/pyHook_Tutorial
 
Je n'ai pas encore trouvé l'équivalent avec Tkinter...

Reply

Marsh Posté le 10-04-2009 à 10:45:52    

Pour la gestion des événements clavier-souris avec Tkinter, j'ai trouvé le lien suivant http://eof.pierre-guilhem.info/x12080.html cela semble plus simple d'utilisation que pyHook.

Reply

Marsh Posté le 22-04-2009 à 11:48:26    

Bonjour,
J’ai essayé le script suivant :
#!/usr/bin/python
 
from Tkinter import *
root = Tk()
def callback(event):
 infosEvt = "char : " + str(event.char) +"\n"
 infosEvt += "keysym : " + str(event.keysym) +"\n"
 infosEvt  += "keycode : " + str(event.keycode) +"\n"
 infosEvt  += "num : " + str(event.num) +"\n"
 infosEvt  += "type : " + str(event.type) +"\n"
 infosEvt  += "widget : " + str(event.widget) +"\n"
 infosEvt  += "width,height : " + str(event.width) + "," + str(event.height) +"\n"
 infosEvt  += "x,y : " + str(event.x) + "," + str(event.y) +"\n"
 infosEvt  += "x_root, y_root : " + str(event.x_root) + "," + str(event.y_root)
 affichage['text'] = infosEvt
root.bind("<Key>", callback)
root.bind("<Button-1>", callback)
root.bind("<Configure>", callback)
affichage = Label(root)
affichage.pack()
root.mainloop()
 
issu du site précédemment cité mais le problème est que la réception des événements du clavier ne se déclenche pas systématiquement.
Alors, si quelqu’un voit une raison à cette bizarrerie, merci de bien vouloir me l’expliquer.
 
Bonne journée à tous...


Message édité par micpat le 22-04-2009 à 11:49:10
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed