Why I don't like USB keyboards
March 6, 2007
Our problem with USB keyboards on Dell 2950s neatly illustrates why I remain deeply dubious about USB keyboards. It isn't that something broke; it's that it illustrates how complex USB is.
Specifically, USB keyboards require a pile of sometimes fragile code to bring them up natively, or trusting a large amount of magic BIOS code being run behind your back. However, I really want my console keyboard to be simple; the simpler it is, the less likely it is for something going wrong in the rest of the kernel to affect it, the less support from fragile bits of the kernel it needs, and the sooner it can come up during early boot.
By contrast, the PS/2 keyboard interface is pretty simple; my understanding is that you more or less bang on a single port and read some bytes. Almost anyone can get it going, and in a pinch I believe you can do without interrupts.
(The sheer amount of kernel code that has to be working to deliver a magic SysRq from a USB keyboard is daunting.)
I know that this makes me an outlier; the spate of servers with only USB connectors would have convinced me, if nothing else. If you don't interact with your machine until it's showing the graphical login screen, this isn't really an issue you care about; the machine already has to run a pile of code to be usable, so what's a bit more?
Fortunately you can still get motherboards with PS/2 connectors, although I have to wonder how much longer that will be true. Perhaps someday they will be as endangered as plain three button mice (of which I have a carefully hoarded stock).
* * *
Atom feeds are available; see the bottom of most pages.