Desarrollo de controladores de dispositivos Windows para dispositivos de interfaz humana (HID)

Aprenda a desarrollar controladores de dispositivos Windows para dispositivos de interfaz humana (HID). HID es una definición de clase de dispositivo para controladores USB genéricos para admitir dispositivos HID como teclados, ratones, controladores de juego, etc. Antes de HID, los dispositivos solo podían utilizar protocolos estrictamente definidos para ratones y teclados. La innovación de hardware requería sobrecargar datos en un protocolo existente o crear hardware no estándar con su propio controlador especializado. HID proporciona compatibilidad con dispositivos en modo de arranque, al tiempo que agrega compatibilidad para la innovación a través de interfaces extensibles, estandarizadas y fáciles de programar.

Los dispositivos HID incluyen pantallas alfanuméricas, lectores de código de barras, altavoces, cascos, pantallas auxiliares, sensores y muchos otros. Los proveedores de hardware también usan HID para sus dispositivos propietarios.

HID comenzó con USB, pero fue diseñado para ser independiente del bus. Se diseñó para dispositivos de baja latencia y ancho de banda bajo, pero con flexibilidad para especificar la velocidad en el transporte subyacente. El USB-IF ratificó la especificación de HID sobre USB en 1996. Pronto se siguió la compatibilidad con HID en otros transportes. Puede encontrar detalles sobre los transportes admitidos actualmente en Transporte HID admitidos en Windows. También se permiten transportes específicos del proveedor a través de controladores de transporte personalizados.

Conceptos de HID

HID consta de dos conceptos fundamentales, un descriptor de informe e informes. Los informes son los datos reales que se intercambian entre un dispositivo y un cliente de software. El descriptor de informe describe el formato y significa los datos que admite el dispositivo.

Informes

Las aplicaciones y los dispositivos HID intercambian datos a través de informes. Hay tres tipos de informe:

Tipo de informe Descripción
Informe de entrada Datos enviados desde el dispositivo HID a la aplicación, normalmente cuando cambia el estado de un control.
Informe de salida Datos enviados desde la aplicación al dispositivo HID, por ejemplo, a los LED en un teclado.
Informe de características Los datos que se pueden leer y escribir manualmente y suelen estar relacionados con la información de configuración.

Cada colección de nivel superior definida en un descriptor de informe puede contener cero o más informes de cada tipo.

Tablas de uso

El grupo de trabajo USB-IF publica tablas de uso de HID que forman parte de los descriptores de informe que describen qué dispositivos HID pueden hacer. Estas tablas de uso de HID contienen una lista con descripciones de Usos que describen el significado previsto y el uso de un elemento determinado en el descriptor de informe. Por ejemplo, se define un uso para el botón izquierdo de un mouse. El descriptor de informe puede definir dónde en un informe una aplicación puede encontrar el estado actual del botón izquierdo del mouse. Las tablas de uso se dividen en varios espacios de nombres, denominados páginas de uso. Cada página de uso describe un conjunto de usos relacionados para ayudar a organizar el documento. La combinación de un uso y una página de uso definen el identificador de uso que identifica de forma única un uso específico en las tablas de uso.

Consulte también