Hacker News new | ask | show | jobs
by TheLoneWolfling 4256 days ago
Unfortunately, specifications are great, but in actuality you have to take a look at what is implemented as opposed to what is supposed to be implemented.

In particular, if you try to go over 6-key rollover, good luck. You end up having to, and I'm not making this up, emulate a USB hub connected to multiple keyboards. It's absurd. And all because of the following:

"However, the compatibility version of HID that all present systems implement limits USB keyboards to reporting a mere six regular keys together with four modifiers. Additional keys pressed beyond the limit will generally cause some of the other keys to be dropped." [http://deskthority.net/wiki/Rollover,_blocking_and_ghosting#...]

"non-working n-key rollover with a USB connection is a side effect of the data packet." [http://geekhack.org/index.php?topic=5572.msg85020#msg85020]

(Effectively, instead of doing make:key / break:key packets, the compatibility version of HID does current_keys_pressed:[array of 6 keys]. Why they didn't stick with the make/break of the PS/2 protocol is beyond me.)