Clase USB HID (dispositivo de interfaz humana) : una clase de dispositivos USB para la interacción humana. Esta clase incluye dispositivos tales como teclado , mouse , controlador de juegos . La clase USB HID se define en varios documentos proporcionados por el Foro de implementadores de USB , en particular el Grupo de trabajo de dispositivos.
Documento descriptor de clase principal: Definición de clase de dispositivo para HID 1.11. En documentos separados, los llamados. tablas de uso: listas de códigos de función para varios dispositivos de E/S [1] .
La clase USB HID describe dispositivos que se utilizan en casi todas las computadoras modernas. Tiene muchas funciones predefinidas. Permiten que los fabricantes de hardware diseñen productos que cumplan con la especificación USB HID y esperan que funcionen con cualquier software que también admita esas especificaciones.
El mismo protocolo HID exacto se usa sin cambios en Bluetooth , en el perfil de experiencia del usuario [2] . Al leer la especificación del perfil Bluetooth HID, los lectores simplemente se dirigen a la documentación de USB HID. Por este motivo, estos dispositivos también pueden clasificarse como USB HID.
Los teclados son uno de los dispositivos USB HID más populares. Los teclados USB HID suelen tener un flujo de entrada que envía pulsaciones de teclas a la computadora y un flujo de salida que envía el estado actual de las luces del teclado desde la computadora al teclado. El estándar PC 97 especifica que el BIOS de la computadora debe detectar y trabajar con teclados USB HID. El estándar está diseñado para que estos teclados se puedan usar mientras la computadora se está iniciando.
El mouse de la computadora es un dispositivo USB HID tan popular como el teclado. Los ratones USB varían en funcionalidad desde dispositivos simples de un solo botón hasta dispositivos bastante complejos de varios botones. La mayoría de los sistemas operativos modernos se envían con controladores para ratones HID estándar (los ratones modernos más comunes tienen dos botones y una rueda que funciona como un tercer botón); los ratones con características más avanzadas requieren controladores de los fabricantes.
Los controladores de juegos y joysticks modernos suelen ser dispositivos USB HID. A diferencia de los dispositivos que se conectan a través de un puerto de juegos , los dispositivos USB HID generalmente no requieren controladores para funcionar correctamente. Casi todos los dispositivos de juego funcionarán con controladores integrados, ya que están diseñados con las especificaciones USB HID.
Además de las especificaciones detalladas para los dispositivos de entrada clásicos (como teclados y ratones), el estándar HID define una clase especial de dispositivos sin especificaciones detalladas. Esta clase se llama USB HID Consumer Control y representa esencialmente un canal de comunicación ad hoc con el dispositivo. Al mismo tiempo, el dispositivo utiliza el mismo estándar de controladores para el sistema operativo que el mouse y el teclado. De esta forma, puede crear un dispositivo USB que no requiera la creación e instalación de controladores especiales en los sistemas operativos de computadora más comunes.
Esto comenzó a ser ampliamente utilizado y apareció una gran cantidad de dispositivos que, de hecho, no son interfaces de interacción humana. Por ejemplo, dispositivo telefónico, termómetro, dispositivo de control de audio y equipo médico. Incluso los UPS (fuentes de alimentación ininterrumpida) se definen a sí mismos como clase USB HID, a pesar de que a menudo no tienen una interfaz humana. Cualquier dispositivo puede pertenecer a la clase USB HID siempre que cumpla con las especificaciones lógicas de HID Consumer Control.
Una ventaja de una especificación bien definida como USB HID es la gran cantidad de controladores de dispositivos disponibles en la mayoría de los sistemas operativos modernos. La clase USB HID y sus funciones básicas se describen en la documentación de USB-IF, sin ninguna referencia a software específico. Debido a estas descripciones genéricas, es fácil para los desarrolladores de sistemas operativos incluir controladores funcionales para dispositivos como teclados, ratones y otros dispositivos de interfaz de usuario. La inclusión de controladores principales ayuda a que estos dispositivos estén más disponibles y sean más fáciles de instalar para los usuarios finales.
Cabe destacar que USB HID se puede utilizar tanto para describir el funcionamiento del dispositivo en sí como para describir la interfaz del dispositivo. Por ejemplo, es perfectamente aceptable usar un dispositivo USB que tenga dos interfaces USB diferentes al mismo tiempo (por ejemplo, un teléfono USB puede usar un teclado HID y un dispositivo de audio USB como micrófono).
La interfaz del dispositivo también tiene un identificador especial que especifica si el dispositivo es de arranque. El BIOS reconocerá y cargará un dispositivo de arranque que cumpla estrictamente con los requisitos mínimos del protocolo . Cada interfaz USB HID se comunica con un host mediante una función de control o una función de interrupción .