Najalix
Messages postés2Date d'inscriptionlundi 16 février 2009StatutMembreDernière intervention10 novembre 2010
-
10 nov. 2010 à 06:23
Bambi -
16 nov. 2022 à 11:49
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)
lespinx
Messages postés106Date d'inscriptionlundi 9 octobre 2006StatutMembreDernière intervention23 novembre 202274 10 nov. 2010 à 17:35
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.
Najalix
Messages postés2Date d'inscriptionlundi 16 février 2009StatutMembreDernière intervention10 novembre 20101 10 nov. 2010 à 20:52
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)
5 nov. 2019 à 20:18
16 nov. 2022 à 11:49
merci !