Boston Linux & Unix (BLU) Home | Calendar | Mail Lists | List Archives | Desktop SIG | Hardware Hacking SIG
Wiki | Flickr | PicasaWeb | Video | Maps & Directions | Installfests | Keysignings
Linux Cafe | Meeting Notes | Blog | Linux Links | Bling | About BLU

BLU Discuss list archive


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Das Keyboard Model S Ultimate



On 1/19/2011 3:05 PM, Tom Metro wrote:

> n-key rollover? What does that mean?

A really cheap keyboard (never seen on a PC) would respond to only one 
key at a time; you would have to release the first one before you could 
press a second key. It was quickly discovered that people could type 
faster if you could type a second key before the first one was released; 
that's two-key rollover. Further development allowed three, four, etc. 
Eventually keyboards were build that would allow any number of keys to 
be pressed (entering them in order) before any were released, which is 
known as N-key rollover because N can be any number.

The keyboard handling on PCs is unusual by historical standards (though 
it's now commonplace, Macs do the same thing) in that there are two 
layers of it. The keyboard has its own CPU (which may implement any 
level of rollover) that sends codes to the computer that tell both when 
keys are pressed and when they are released. Unusually (compared to 
older systems) there are press and release codes for EVERY key on the 
keyboard, allowing any key to be handled as a special modifier key (like 
Control, etc.) The actual "cooking" of the press and release codes into 
keystrokes is done by the keyboard driver in the BIOS or the OS (or in 
the case of Linux possibly in the GUI, X has its own keyboard 
processing). Even the sticky modifiers like Caps Lock are handled by the 
computer and then a signal is sent back to the keyboard to turn on the LED.

Because the low-level keyboard scanning is done by the microcontroller 
in the keyboard, the code in that microcontroller can affect the quality 
of your keyboard experience. Poor debouncing is obviously a problem that 
is occasionally seen. Low levels of rollover (the standard doesn't 
require any particular degree of it) will making typing harder. I could 
also imagine a keyboard that was hard at sorting out the order of nearly 
simultaneous keystrokes that would cause dyslexia-like errors.

PC keyboards can be connected to a variety of things other than PCs. 
Back when I took a digital circuit design class at Harvard Extension I 
did a project on the microcontroller-based computer that we build in the 
class (an 8051) that used a PC keyboard for input. The standard AT 
keyboard protocol is a simple serial interface; similar to RS-232 but 
using logic levels for signaling. (You can hook it into a UART.) USB is 
a little more work but there are lots of microcontrollers with USB 
interfaces now.

Back to the original topic... I don't like loud clicky keys myself, nor 
keyboards that require a lot of force. To my taste the classic IBM 
keyboard was too heavy, too loud, and required too much typing force and 
too much key travel. My all time favorite PC keyboard was one made by 
NMB; sadly they don't seem to be made any more, my long loved one 
finally broke, and nothing else I have tried since QUITE matches the 
magic key feel of that one. But keyboards are a matter of personal 
taste; if the IBM-style keyboard does it for you, enjoy... just not in a 
laptop!





BLU is a member of BostonUserGroups
BLU is a member of BostonUserGroups
We also thank MIT for the use of their facilities.

Valid HTML 4.01! Valid CSS!



Boston Linux & Unix / webmaster@blu.org