BTW, there are relatively easy ways to test input-to-output latency. I did this once when I wanted to test the response time on a Windows Phone from touching the display to being able to produce a sound. It isn't just enough to know how large the input buffer is (100 ms is the smallest input buffer on Windows Phone - quite annoying). What you also need to test is how long does the OS take to send the touch event to the app, and how long does it take for the buffer of audio to actually be played out via the DAC?

What I did was create a simple app with a button. When pressing the button, it would trigger a click sound. Then using an external microphone placed very close to the phone and a desktop audio application, I recorded me tapping on the screen and the resulting click from the phone. I then zoom in on the waveform and measure the time difference between the first audio event (hitting the screen with my finger) and the resulting audio click from the phone.

You should be able to rig something similar for keyboard-to-screen response time. Place a video camera such that it can capture both the keyboard and the screen at the same time. Then load a game or something that visually responds to key presses. The resulting video can be examined frame by frame in a video editor to see how many frames it takes for the key press to register on the screen. Recording at 60 fps gives you 17 ms resolution.