Dispositivos de interfaz humana en la Web: algunos ejemplos rápidos

Conexión a dispositivos poco comunes desde la app

Joe Medley
José Medley
Matías Reynolds
Matt Reynolds

¿Qué es la API de WebHID?

Muchos dispositivos de interfaz humana (HID) son demasiado nuevos, demasiado antiguos o poco comunes para que los controladores de dispositivos de los sistemas puedan acceder a ellos. Para solucionar este problema, la API de WebHID proporciona una forma de implementar la lógica específica del dispositivo en JavaScript.

Casos de uso sugeridos para la API de WebHID

Un HID toma entradas de personas o las proporciona a las personas. Algunos ejemplos de dispositivos incluyen teclados, dispositivos apuntadores (mouse, pantalla táctil, etc.) y controles de juegos. El protocolo HID permite acceder a estos dispositivos en computadoras de escritorio a través de controladores del sistema operativo. La plataforma web admite HID, ya que depende de estos controladores.

La incapacidad para acceder a dispositivos HID poco comunes es particularmente problemática cuando se trata de la compatibilidad con controles de juegos. Los controles de juegos diseñados para PC suelen usar HID para las entradas (botones, joysticks, gatillos) y salidas (LED, ruidos) de los controles de juegos. Sin embargo, las entradas y salidas del control de juegos no están bien estandarizadas y los navegadores web a menudo requieren una lógica personalizada para dispositivos específicos. Esto es insostenible y genera una compatibilidad deficiente para la cola larga de dispositivos más antiguos y poco comunes. También hace que el navegador dependa de las peculiaridades presentes en el comportamiento de dispositivos específicos.

Demostraciones y demostraciones

Si te interesa saber cómo funciona alguna de estas muestras, el código fuente de todas ellas está disponible en GitHub. Hay un ejemplo de código básico en la explicación.

Retroiluminación del teclado de la MacBook Pro

El mayor obstáculo para probar estas demostraciones es la falta de acceso al dispositivo. Por suerte, si tienes una MacBook Pro con TouchBar, no necesitas comprar nada. Esta demostración te permite usar la API directamente desde tu laptop. También se muestra cómo se puede usar WebHID para desbloquear la funcionalidad de los dispositivos integrados, no solo de los periféricos.

Autor: FWeinb
Demostración/Fuente: Retroiluminación del teclado

Controles de juegos

Control inalámbrico de PlayStation 4

Lo siguiente es algo que menos de ustedes probablemente tengan. DualShock 4 de Sony es un control inalámbrico para consolas de juegos PlayStation 4.

La demostración de DualShock 4 usa WebHID para recibir informes de entradas sin procesar de DualShock 4 y proporciona una API de alto nivel para acceder al giroscopio, el acelerómetro, el panel táctil, el botón y el pulgar del control. También admite rumble y configura el color de un LED RGB alojado en el control.

Autor: TheBITLINK
Demostración: Demostración de DualShock 4 (fuente)

Controles Joy-Con para Nintendo Switch

Disfruta del juego sin conexión del dinosaurio de Chrome 🦖 sin conexión saltando con el control Nintendo Switch Joy-Con en los bolsillos de los pantalones. Esta demostración cuenta con la tecnología de Joy-Con WebHID, un controlador de WebHID para los controles Joy-Con de Nintendo Switch.

Autor: Thomas Steiner
Demostración: Chrome Dino WebHID (fuente de demostración, fuente del conductor)

La banda BlinkStick

La tira de luz BlinkStick es compatible con HID y cuenta con 8 LED RGB. La demostración le permite al usuario seleccionar entre varios patrones de parpadeo, incluidos los de persecución, los de intermitencia y el escáner de Larson (también conocido como Cylon).

Autor: Robat Williams
Demostración: blinkstick-strip (fuente)

¿Qué hace esta demostración? (Espera). Parpadea. En realidad, son tres demostraciones que usan la luz de notificación USB intermitente.

blink(1) es simple y está bien documentado, lo que lo convierte en una gran opción para comenzar a usar HID.

Autor: Tod E. Carlos
Demostraciones: blink(1) (fuente)

Agradecimientos

Agradecemos a Pete LePage y Kayce Vascos por las opiniones de este artículo.

Foto de Ugur Akdemir en Unsplash