Tuesday, March 29, 2011

Keyboard Test

It's amazing what you can learn when you spend a few hours with a multimeter and a breadboard.  

The Kindle's keyboard does indeed use simple tactile switches as I had initially expected, but the wiring scheme was not very straightforward at all.  For this test I set up a series of tactile buttons from SparkFun to mimic the behavior of the Kindle's directional pad.  Up, Down, Left, Right, Enter (select) and Home were wired.  

The sample keyboard wired and ready for testing.

The test was a success, in that it proved that the keys can be cloned with simple switches.  Nevertheless, it illustrated a few more nuances that will need to be fully explored.

First, the keys auto repeat.  Holding a key will continually execute the given function, and the delay is surprisingly short.  I routinely advanced multiple lines vertically or multiple chapters to either side (yes, chapters - we'll come back to that in a second).  This means that we will probably need to use some sort of microcontroller to handle the timing.  If I'm getting unwanted repeats, how hard will it be for someone with a disability?

The second issue actually involved the left and right keys.  For the purposes of this project it is desirable to use the D-pad instead of the edge-mounted ">" and "<" keys for advancing to the next page, for the simple reason that the edge-mounted keys are routed to the motherboard through an additional, very small 4-conductor cable.  It's the same type of cable as the main keyboard connector, but it would be another part to solder and wire.  It would be far simpler to just use the D-Pad. 

Fortunately the D-pad's left and right buttons can be used in place of the standard keys on the side of the unit.  During testing however, I discovered that my cloned replacements advanced by an entire chapter with each click, not just one page.  A quick Google search for keyboard shortcuts suggests that the Alt key can be used to cause this sort of "fast forward" effect.  Alt+Right will advance to the next chapter (or annotation), and Alt+Left will back up to the previous one.  By pressing my Left and Right keys alone, I jumped by a full chapter, implying that the Alt function was automatically engaged on a signal line that I haven't yet wired.  This should be ironed out in a later test when I'm able to simulate more of the keyboard.  This test was just intended to show that the keyboard can, in fact, be cloned.

Finally there is a very subtle electrical issue that will still need to be addressed, but more research is required to properly document it.  Stay tuned.

You can see the keyboard test here.  Bask in the glow of my amateur film making skills.  Try to contain yourself.

No comments:

Post a Comment