Prototyper: First Data

A project log for Keychange

The physical keyboard for virtual reality.

owen-truebloodOwen Trueblood 10/30/2014 at 20:271 Comment

Yesterday I finished the Prototyper hardware and wrote software to collect information on timing between keypresses. The firmware I wrote accepts commands over serial that specify a first key and a second key. Then it sends back the number of milliseconds between when the first key is pressed and when the second is. A Processing sketch running on a PC prompts the human being tested to press specified randomly chosen key sequences. It records the data collected from the hardware to a CSV file.


After finishing the firmware and PC software and working out a couple of bugs I did a test run on myself. I recorded about 1000 key sequences (~2000 key-presses). Then I wrote a Python program to generate the matrix graph below, where average timing for every key sequence is normalized and color coded. The left-hand vertical axis is the "from" key, and the horizontal axis is the "to" key. The numbering starts with 0 at my right hand pinky and goes to 9 at my left hand pinky.


The data is noisy and I suspect that there is not yet enough of it to draw strong conclusions. But some preliminary observations can be made:


Having data is exciting, but I need to make sure it really tells me what I need to know before relying on it. There are a couple of problems I need to resolve before I use Prototyper to collect much more data:


Paul_Beaudet wrote 12/08/2014 at 21:10 point
This is a great type of test to do. Your recovery times are practical but they seem a bit fast, 40ms same key? Must be just going through the combinations methondically. I have double clicks set to detect under 210ms and that ends up being almost practical for weeding out cases where "oo" or "tt" or "ee" might be desired. Something closer to 150ms would be better, but its hard to get a reliable double click actuation at that threshold. Maybe my observation is wrong, because I'm slow typist, but with my dovorak keyboard at 42wpm average and 62 burst, BEST average key "find" time ends up being around 175ms. And on a chorded keyer double that average slower. Unsure what the fastest was because of what you are saying about the fact that anomolies in averages can really mess with the data. Used this site-

Even with that said 120wpm averages out to 10 chars a second, 100ms find time. People push a on little from there. Records beyond 130 or so are typically done by stroking full words. Stroking those words in a slower time that is probably averages closer to 200ms, maybe because many odd words are multi stroke in steno devices. Hear me right.. fastest speeds are probably unimportant for most people, just trying to set context for data gathering.

Character to character testing might be more practical information for you, as thinking and commitment of memory ends being more the bottleneck for most people rather than phisical cabability.

  Are you sure? yes | no