Calcolo del WPM dato un flusso di input variabile

0

Sto creando un'applicazione che si trova in background e registra tutti i tasti premuti (attualmente questo è fatto e funzionante, un evento viene attivato ogni keydown / keyup). Voglio offrire una funzionalità per l'utente che mostrerà loro il loro WPM durante l'intera sessione per cui è stato eseguito il programma. Questo sarebbe facile se aggiungessi un pulsante "Start" e "End" per attivare un timer, ma devo rilevare solo quando l'utente sta digitando continuamente: ignorando tutte le scorciatoie da tastiera e le interruzioni che l'utente prende dalla battitura.

In che modo mi avvicino al mondo? È anche realisticamente & esattamente possibile?

    
posta Scott 18.10.2013 - 21:39
fonte

1 risposta

3

Potresti semplicemente avere una funzione di ritardo del timer incorporata che si attiva quando è trascorso un determinato tempo dall'ultimo tasto premuto. Quando l'utente inizia a digitare di nuovo, il timer si interrompe e continua. Il timer specificato potrebbe essere qualcosa come 2 secondi, il che è un ritardo ragionevole per la maggior parte delle persone con conoscenze informatiche. Una volta che il timer ricomincia, basta sottrarre quei 2 secondi dati dal timer in modo che il WPM non venga eliminato.

Le scorciatoie da tastiera potrebbero essere il problema più difficile. Qualcosa come ogni evento keypress che lancia una ricerca in una tabella da qualche parte controllando se è stata selezionata una scorciatoia da tastiera non fa nulla, se non, incrementa il contatore globale dei caratteri.

    
risposta data 02.11.2013 - 09:42
fonte

Leggi altre domande sui tag