How come USB can only handle 6 maximum keys for the N Key Rollover but the older Ps2 Plug can unlock the full potential for the Rollover keyboards?
Seems this is the only major factor for using Ps2 nothing more?
I prefer USB for several reasons:
1) Hot-plugging. I use it
a lot.
2) Widespread availability of ports. I can connect USB keyboards to any current notebook without much hassle. Connecting PS/2 keyboards is much harder.
3) The mini-DIN plug used for PS/2 absolutely sucks. Aligning the thing without seeing it is extremely annoying.
So if you absolutely need n-key rollover, use PS/2. If you don't, use USB.
But why does PS/2 support n-key rollover and USB doesn't? PS/2 transfers make/break codes, like this:
make: 1C
break: F0 1C
If you press and hold multiple keys (I don't feel inclined to look up the scan codes, so I'm just making them up):
make: 1C
make: 1D
make: 1E
make: 1F
make: 20
make: 21
make: 22
break: F0 1C
break: F0 1D
break: F0 1E
break: F0 1F
break: F0 20
break: F0 21
break: F0 22
USB, on the other hand, has a fixed-length (7 Byte) data packet. The first byte contains ctrl, alt, shift etc., the remaining 6 contain key presses. There's no make/break, the host just sees when a value changes.
00 00 00 00 00 00 00
00 04 00 00 00 00 00 press a key
00 00 00 00 00 00 00 release a key
It gets nasty when you press more keys than this packet can handle (again, making codes up):
00 00 00 00 00 00 00
00 04 00 00 00 00 00 press a key
00 05 04 00 00 00 00 press another key. Data order is arbitrary.
00 06 05 04 00 00 00 press another key.
00 07 06 05 04 00 00 and another one
00 08 07 06 05 04 00 etc.
00 09 08 07 06 05 04 now, we have pressed 6 keys. What happens when we press another one?
00 01 01 01 01 01 01 Woops. Phantom state (actual data representation, 01 denotes the phantom state)
00 0A 08 07 06 05 04 Key released, no phantom state any more.
... release the other keys
00 00 00 00 00 00 00
So non-working n-key rollover with a USB connection is a side effect of the data packet. Custom drivers and protocol could solve this, but I don't know if anyone is doing this as of now. In fact, given the puny market for anything offering more than 6-key rollover (not including modifiers!), I highly doubt anyone will ever do.
-huha