[geeks] new keyboard goodness

der Mouse mouse at Rodents-Montreal.ORG
Wed Apr 20 20:38:20 CDT 2011


>> If not, it's because of laziness or incompetence; there is no reason
>> whatsoever it couldn't be done.
> I think you'd find ready buyers for your solution if it really
> worked.

Hell, if necessary, stick a serial keyboard on a USB serial port.
Finding the underlying technology is not the problem.

> There is a lot of drive in the industry to solve this issue, and I
> suspect you'll find it harder than you are currently thinking, or
> someone already would have.

To the extent this is true, I can only assume there are constraints you
aren't describing.  I don't know USB all that well, but given what I do
know it can do, there is no reason it can't do an N-key-rollover
keyboard.

> I think if I knew how to solve this for the industry I'd be working
> on it pretty hard right now.

Assuming a "must work as a keyboard in peecee BIOSen" constraint,

- At powerup, operate as a traditional (6-key) USB keyboard.
- OS loads.
  - If the OS is unaware of the device, it continues to be a
    traditional keyboard, no worse than any USB keyboard.
  - If the OS recognizes it (perhaps a distinctive HID endpoint that
    doesn't look like a traditional keyboard?), it pokes the right bit
    and the keyboard detaches and reattaches as something more capable,
    probably a HID that sends a full bitmap of down keys, not just <=6
    currently-down keys, when state changes.

Why wouldn't that work?  (That's a serious question.  If there's some
reason that couldn't be done, I'd like to know what.)

And that constraint is one that was mostly excluded upthread: "even
with...special drivers".

> [...], and that's assuming the solution would really work well with
> currently common USB software and hardware.

I thought you were allowing custom drivers and whatnot on the host, in
which case "currently common USB software" is pretty much irrelevant.

> I know that just in the last year there have been several different
> controllers, matrices, and drivers trying to solve this.  None worked
> very well.

I suspect most of them were trying to solve the problem with
off-the-shelf parts in which inhered nontrivial fractions of the
problem.  That's a recipe for frustration and failure.

I could design everything except the USB interface right now - and that
exception is only because I don't know enough USB; let it sit behind a
USB serial port and take power from an external wallwart (so I can
ignore the USB aspects) and I could design the whole thing right now.
I could even build a prototype by cannibalizing a stock keyboard,
cutting etch runs to get a 100-plus independent buttons, wiring them up
into a 10x11 (or whatever, depending on the exact key count) matrix
with diodes and sticking some small CPU-on-a-chip in front of it.

I don't know what it would cost to build.  Maybe more than people are
willing to pay; that's another undiscussed constraint.  But upthread
said that "[a]lso even with hacks and special drivers, I don't think
anyone has ever managed NKRO with USB", not "someone did it and it was
a commercial failure".

/~\ The ASCII				  Mouse
\ / Ribbon Campaign
 X  Against HTML		mouse at rodents-montreal.org
/ \ Email!	     7D C8 61 52 5D E7 2D 39  4E F1 31 3E E8 B3 27 4B


More information about the geeks mailing list