Subject: XFree86 (3.3.6?) and keyboard jams
To: None <tech-userlevel@netbsd.org>
From: Lucio De Re <lucio@proxima.alt.za>
List: tech-userlevel
Date: 11/30/2000 17:19:56
I have installed NetBSD 1.4.2 (yes, just ahead of the 1.4.3 release)
on a handful of diskless workstations (well, you know what I mean...)
and the only hiccup is the perverse habit X has of repeating the
last key pressed interminably if left to itself.  If I were to
guess, almost as soon as it detects a pause in typing (the problem
seemed to be getting worse as time progressed).  To be more specific,
it all starts quite useable.  Eventually, something like a carriage
return will start repeating, and pressing another key may stop it.
Not much later, this will happen again (pauses tend to occur
following a carriage return), more frequently, until pressing
another key will seemingly have no effect.  Select a new window,
even create one with the mouse, and the keyboard will behave
erratically (almost?) immediately, although it will stop the other
window misbehaving.

It is odd enough that I may not be reporting it quite exactly,
although that's more or less the way I remember it.

Additional indications: the problem applied to two different hosts,
presumably (can one really tell without carefully inspecting the
mother board?) with similar if not identical hardware (Celeron
433MHz, 64MB RAM, kinda recent no-name Intel-based boxes).  Also,
I could cause one race to stop by pressing a key in another window,
which would start a race in that window fairly shortly thereafter.

How did I get to spawn multiple windows?  I did say it seemed to
get worse?  It really was hard to deal with, too :-)

My guess is a bad keyboard controller chip, tickled by the X server,
as text screens don't seem to have a problem.  Soon enough the
machine becomes unusable, but I'm convinced that Win'95 is running
on hosts of the same ilk, without the keyboard problem.  And, no,
I don't think the keyboard had much to do with it, I could unplug
it and the repeat would continue; on plugging it back it, it would
not flash the reset or self-test sequence on the LEDs, and for all
intents and purposes it was dead.  I couldn't jump to a text screen
to check, but telnetting to the host and killing the X server seemed
to bring keyboard operation back).

If anyone knows how to address this problem, please will you help?
I know BSD shouldn't be held responsible for crappy hardware
implementations, but one gets so little choice in hardware these
days!

Thanks, folks.

++L