Estou fazendo engenharia reversa do protocolo de interface de teclado USB (pacotes trocados através da interface USB) usando um sniffer USB. Tanto quanto eu vejo, uma chave não é repetida a partir de um teclado USB. Isso significa que a repetição do teclado é feita no lado do PC, provavelmente um software que lida com USB HID (driver USB?).
Não estou familiarizado com o software de baixo nível do sistema operacional, de modo que não posso identificar onde a repetição é feita. De um aplicativo, você não pode dizer se é feito pelo teclado (teclado PS / 2) ou se é feito por software (USB).
Isso realmente faz sentido. A maioria dos teclados USB usa USB de baixa velocidade e a busca de uma chave é feita por polling (um teclado USB não pode enviar um novo código de tecla sozinho). Se a repetição do teclado for feita dentro do teclado USB, a repetição não será suave.
Estou tentando confirmar isso com as especificações USB, mas até agora não consegui encontrá-lo.