• @offspec
    link
    0
    edit-2
    1 month ago

    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 so

    Refer to below comment

    • @[email protected]
      link
      fedilink
      31 month ago

      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.

      • @offspec
        link
        31 month ago

        Seems like I got my wires crossed, thanks for clarifying!

      • JackbyDev
        link
        fedilink
        English
        11 month ago

        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.