TLDR: PS/2 sends separate key up and key down events, sequentially - like #1 Down - #2 Down - #1 Up - #2 Up - each in separate message, allowing for theoretically infinite rollover (excluding certain edge-cases). USB, on the other hand, polls only for keys being pressed at the moment. By default, the keyboard responds with a 8-byte message, with 1 byte being the bitmask for 8 modifier keys (4 on each side), a spacer, and 6 bytes/slots for identifiers of keys being held down. If one identifier is present in one response but is missing or replaced in next one, the system assumes a key-up event. It is possible by USB spec to negotiate connection in such a way that the keyboard responds with a bitmask for every single key it has. But this is not well supported by things like BIOS and KVM’s, so very few keyboard manufacturers bother implementing it. Most keyboarrds advertising NKRO are actually only capable of doing so via the PS/2 adapter.
Usb keyboards can have n-key rollover which let’s you press more buttons simultaneously, whereas PS2 has a hard limit of like 5 or soRefer to below comment
PS/2 does not have a key rollover limit
It’s actually the other way around. Check out Ben Eater’s awesome videos for technical details.
TLDR: PS/2 sends separate key up and key down events, sequentially - like
#1 Down
-#2 Down
-#1 Up
-#2 Up
- each in separate message, allowing for theoretically infinite rollover (excluding certain edge-cases). USB, on the other hand, polls only for keys being pressed at the moment. By default, the keyboard responds with a 8-byte message, with 1 byte being the bitmask for 8 modifier keys (4 on each side), a spacer, and 6 bytes/slots for identifiers of keys being held down. If one identifier is present in one response but is missing or replaced in next one, the system assumes a key-up event. It is possible by USB spec to negotiate connection in such a way that the keyboard responds with a bitmask for every single key it has. But this is not well supported by things like BIOS and KVM’s, so very few keyboard manufacturers bother implementing it. Most keyboarrds advertising NKRO are actually only capable of doing so via the PS/2 adapter.Seems like I got my wires crossed, thanks for clarifying!
There are proper NKRO USB keyboards though. The packet sort of reminds me of a piano. Each key has a bit that says if it is pressed or not.