
Keyboard Ghosting - denzil_correa
http://www.microsoft.com/appliedsciences/content/projects/AntiGhostingExplained.aspx
======
eosrei
Most mechanical keyboards have N-Key Rollover or Anti-Ghosting to handle the
situation of multiple simultaneous key-presses. USB supports up to ten keys,
while only PS/2 has full N-Key Rollover support.

Here's a good explanation of the issue with an interactive typing test showing
the issue: [http://blog.controlspace.org/2010/08/n-key-rollover-what-
it-...](http://blog.controlspace.org/2010/08/n-key-rollover-what-it-is-and-
how-to.html)

~~~
Freaky
USB keyboards can get around the ten key limitation by presenting themselves
as multiple devices.

~~~
0xD000000D
Or by using a passive USB to PS/2 adapter. USB and PS/2 are both serial
protocols with similar wiring, so a USB keyboard that supports passive
adapters can detect what kind of port it is plugged into when powered on, then
send unmodified PS/2 through the USB cable. For this reason, there are a few
mechanical keyboards that only support N-key rollover in PS/2 mode, dropping
down to 10-key rollover in USB-HID mode (it's cheaper and less likely to cause
bugs than presenting as multiple HIDs, and anyone that cares about N-key
rollover probably has a PS/2 port anyway).

------
TheLoneWolfling
I never got why keyboards don't just use a demux / output selector.

Tie each switch through a diode, toggle one column to high, read the rows.
Repeat, scanning through all columns.

But then again, it's kind of pointless, what with USB limitations (!) and all.

~~~
bandrami
Because of historical expectations about the semantics of the "Escape" key,
IIRC.

~~~
TheLoneWolfling
Elaborate?

------
buckbova
FYI, this was posted a couple times before and once with some discussion
associated.

[https://news.ycombinator.com/item?id=7358333](https://news.ycombinator.com/item?id=7358333)

------
matmann2001
They never actually say what they do.

~~~
falcolas
To counter ghosting over USB? They use a different protocol than the HID
keyboard protocol. If you're not constrained by that protocol, you can send as
many key combinations as your keyboard is capable of generating.

Of course, this means that you need custom keyboard drivers, either installed
via a package or by default, and the keyboard needs to be capable of switching
protocols, based on if its talking to a OS with compatible drivers or a BIOS
without.

------
zupa-hu
Anyone knows about such keyboard but in smaller size, as in whatever those
left column keys are? Also this looks like an "amazing artwork" I just want a
damn keyboard that is small, works and looks boring.

~~~
Zuikaku
Take a look at either the Vortex Poker (POK3R as the current iteration) or the
Atomic/Planck.

~~~
zupa-hu
I totally fall in love with Pok3r, thx again for the reference!

Funnily the main reason I was interested in that anti-ghosting was that I have
a keyboard rewriting script that maps the CAPS to be a function key, I'm using
IJKL as arrows for example. And now I have to realize I'm not the first person
who thought about that. Pok3r ships with that by default.. Really?! I feel
like in wonderland... :D

------
x0054
Hmm, on rMBP the S-D-C combo does not work, who would have thunk it, never
wondered about this. Educational :)

------
njharman
Since the Microsoft Mouse I've always thought MS a better hardware company
than software one.

~~~
zupa-hu
How odd I have a MS mouse and I thought, hmm, if their mouse is so good I'm
going to try their keyboard.

