évènements clavier [Résolu]

Messages postés
2
Date d'inscription
lundi 16 février 2009
Statut
Membre
Dernière intervention
10 novembre 2010
- - Dernière réponse : Najalix
Messages postés
2
Date d'inscription
lundi 16 février 2009
Statut
Membre
Dernière intervention
10 novembre 2010
- 10 nov. 2010 à 20:52
Bonjour,

Je fais un petit programme de reconnaissance par dynamique de frappe, et pour commencer il me faut récupérer les temps de pression de chaque touche ainsi que les temps de latence entre deux touches consécutives (différence entre le temps de début de pression de la première touche et le temps de début de pression de la deuxième).
J'utilise le langage python (version 2.6) avec le module Tkinter pour simuler une fenêtre de connexion (un truc basique : deux Label suivis de deux Entry, pour le login et le mot de passe). Pour le moment je récupère juste le temps de début de pression avec un bind sur les Entry, et j'aimerais savoir comment récupérer le temps du moment où l'utilisateur relâche la touche. Si quelqu'un a une idée je suis toute ouïe.

(petite note au cas où : je travaille avec ubuntu)

Merci,

Naj
Afficher la suite 

Votre réponse

2 réponses

Meilleure réponse
Messages postés
97
Date d'inscription
lundi 9 octobre 2006
Statut
Membre
Dernière intervention
7 décembre 2018
53
2
Merci
Bonjour,
Voici une piste:
# -*- coding: ISO-8859-15 -*-
from Tkinter import *

flag = True

#L'appui prolongé sur une touche du clavier appelle plusieurs fois l'évenement
#La variable "flag" permet d'intercepter le 1er évenement
def appui(event):
    global flag, temps

    if flag:
        temps = event.time
        flag = False
        print "appui   time=",event.time,"touche=",event.keysym

def relache(event):
    global flag, temps
    print "relache time=",event.time
    print "duree =", event.time - temps
    flag = True


Ecran = Tk()
Ecran.bind("<KeyPress>", appui)
Ecran.bind("<KeyRelease>", relache)
Ecran.mainloop()


Important:
Pour faire le test il faut que la fenêtre/TkInter ait le focus sinon les évènements clavier ne sont pas interceptés.

Dire « Merci » 2

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 139 internautes nous ont dit merci ce mois-ci

Commenter la réponse de lespinx
Messages postés
2
Date d'inscription
lundi 16 février 2009
Statut
Membre
Dernière intervention
10 novembre 2010
0
Merci
Merci beaucoup, c'est exactement ce qu'il me fallait.

Juste une dernière question sur le sujet : le temps est donné avec quelle précision? (j'utilisais clock() mais c'était à la seconde près, j'avais des calculs de temps nuls, là j'ai des résultats satisfaisants , merci)
Commenter la réponse de Najalix

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.