• offspec@lemmy.world
    link
    fedilink
    arrow-up
    3
    ·
    edit-2
    5 个月前

    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

    • drathvedro@lemm.ee
      link
      fedilink
      arrow-up
      2
      ·
      5 个月前

      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.

      • JackbyDev@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 个月前

        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.