--- sys/dev/usb/input/ukbd.c 2021-02-05 09:34:03.000000000 1100 +++ sys/dev/usb/input/ukbd.c 2021-02-05 09:34:03.000000000 1100 @@ -682,6 +682,17 @@ /* get data */ usbd_copy_out(pc, offset, sc->sc_buffer, len); + if (len == 8 && sc->sc_buffer[0] == 0) { + for (i = 2; i != 8; ++i) + if (sc->sc_buffer[i] != 1) + break; + + if (i == 8) { + DPRINTF("Ignoring key rollover packet\n"); + goto tr_setup; + } + } + /* clear temporary storage */ memset(&sc->sc_ndata, 0, sizeof(sc->sc_ndata));