12

I'm doing some work on key press handing in a firmware project. I've been googling to try to find what the typical duration of a key press is, particularly the minimum for a fast typist. Surprisingly I can't find any figures for this anywhere.

Will
  • 805
  • 1
  • 9
  • 26
  • 1
    You could get an estimate by just taking a reasonable typing speed (e.g. 60 wpm), average no of letters per word (say 5 + 1 space = 6), which gives key strokes per second (6), which then gives of the order of 100 ms for the key down duration. Note that debounce time is typically 10 - 20 ms, so that sets a limit on how fast even a superhuman typist could physically type. – Paul R Mar 19 '14 at 12:32
  • IIRC qemu uses a default duration of 100ms, so I think somewhere around there would be a good value. – Drew McGowen Mar 19 '14 at 13:03
  • Thanks for both of those. I've done some back of the envelope figures too, which are the same. Also I can do some testing. I just wondered if anyone had authoritative/research figures – Will Mar 19 '14 at 13:49
  • 2
    If someone may end up pressing a single button over and over (to increment or decrement something), they might be faster than a fast typist typically is. Really you need to figure the gap in timing which would differentiate legitimate inter-press times from contact bounces. If you goal is handling things on time, consider recording the keypress as distinct from processing it. – Chris Stratton Mar 19 '14 at 15:46
  • I assume that you cannot just use a single-pole, double-throw switch/button with a debouncing circuit, right? I believe that's what they use in life-critical applications, rather than rely on arbitrary timeouts that may or may not work. Costly, but effective... – thkala Mar 19 '14 at 17:31
  • thkala you're talking about solutions, this is helpful but it isn't really what I was getting at in the question. I'm keen to find out how long the human finger typically taps a button for. I.e. how 'quick' is a 'quick' keypress? and how much does it vary? – Will Mar 19 '14 at 18:15
  • If I wanted to take data, I'd consider using the button to gate a 5 or 10 KHz audio oscillator feeding into a sound card (to get around the DC blocking cap) and record a file I could examine in audio software - basically, improvise a cheap digital scope with an unlimited sampling duration. – Chris Stratton Mar 19 '14 at 19:22
  • 1
    If you look up KLM-GOMS you should be able to find the average keypress duration for each typical typing skill, I know this isn't very specific but I hope it helps. – JmJ Apr 08 '14 at 10:31

1 Answers1

10

There are some recent studies on keypress timings that have published there timings. Here are two:

http://www.cs.cmu.edu/~keystroke/ (Data gathered by Kevin Killourhy and Roy Maxion as accompaniment to "Comparing Anomaly-Detection Algorithms for Keystroke Dynamics").

Pressure-Sensitive Keystroke Dynamics (Gathered by Jeffrey D. Allen as part of his thesis).

Jay Elston
  • 1,978
  • 1
  • 19
  • 38
  • 31
    Thanks for those. In summary they give 50mS-300mS ish – Will Mar 21 '14 at 10:27
  • 6
    @Will Thank you for pointing out the timings, the second link already died and it's nice to have the info on stackexchange itself rather than it being a website pointing to dead pages that once were interesting. – Paul Jan 14 '17 at 17:44