Human Interface Device protocol

Human Interface Device protocol (HID protocol) é um protocolo USB para uma ampla categoria de dispositivos de entrada de usuário.

Dispositivos na categoria incluem mas não estão limitados a teclados, mouses, pen tablets, webcams, headsets, jogos e controladores de simulação.

HID protocol tem uma taxa de sondagem padrão de 125hz em comparação com os 100hz do PS/2. Esta taxa dá ao USB uma vantagem na capacidade de resposta com uma latência mais baixa. Tanto o USB como o PS/2 proporcionam velocidades mais rápidas, mas onde o PS/2 atinge 200hz, o USB vai até 1000hz, o que resulta numa pequena latência de 1ms. Esta baixa latência proporciona um excelente tempo de resposta para teclados, ratos, auscultadores VR, jogos e controladores de simulação.

Com teclados, o protocolo HID é utilizado para permitir a funcionalidade do sistema pré-operacional com um modo de arranque com 6 teclas para BIOS (sistema básico de entrada/saída) e sistemas operativos que não têm conhecimento de USB. Este modo tem o cuidado de interromper o sistema cada vez que o dispositivo é pesquisado e está a ser pesquisado, independentemente de haver ou não uma alteração na entrada. Um modo de sistema operacional separado que permite outras características não tem este problema. Muitos dispositivos podem funcionar com drivers básicos incluídos nos SOs até que os drivers personalizados sejam instalados, facilitando a instalação do hardware.

HID a capacidade do protocolo para anunciar suas capacidades proporciona facilidade de conexão de dispositivos e o fato de os drivers dos SOs tornarem o USB uma experiência muito plug and play. Ao mesmo tempo, a especificação não oferece meios para verificar se os dispositivos são o que dizem ser. Esta falta de verificação pode ser uma vulnerabilidade que leva à mascarada de dispositivos. O BadUSB é um exemplo de malware que explora esta vulnerabilidade.