La Gamepad API web da acceso a una página a los objetos de mando que el navegador decide exponer. Es muy útil, pero su disponibilidad no garantiza nombres de dispositivo, orden de botones, orden de ejes o soporte de funciones idénticos en todas las plataformas.
Activación y detección por parte del usuario
Los navegadores pueden esperar a que se pulse un botón del mando antes de exponer el dispositivo conectado. Esto reduce la huella digital pasiva y significa que un mando puede estar conectado físicamente mientras navigator.getGamepads() inicialmente devuelve entradas vacías. Keymap Labs pide al usuario que pulse un botón y escucha los eventos de conexión mientras sigue inspeccionando la lista actual.
Varias funciones de dispositivo del navegador requieren una conexión segura. Usa https://keymap.io, mantén el navegador actualizado y evita versiones copiadas o incrustadas de la página al comparar resultados.
Mapeos estándar y genéricos
Un objeto de mando puede declarar el mapeo estándar, que asigna posiciones comunes para los botones frontales, superiores, gatillos, sticks y botones direccionales. Los dispositivos genéricos pueden proporcionar un mapeo vacío y exponer arrays en bruto en un orden específico del dispositivo.
Keymap Labs siempre muestra los índices de botones y valores de ejes en bruto. Esto mantiene la utilidad de la herramienta incluso cuando un mando no coincide con el diagrama familiar. No cambia el nombre de una entrada genérica con una certeza injustificada.
Los gatillos analógicos pueden aparecer como botones con valores fraccionarios, ejes separados o botones digitales dependiendo de la arquitectura. Funciones adicionales como paneles táctiles, giroscopio, estado de la batería, LEDs y háptica no están disponibles de forma consistente a través del mapeo principal y quedan fuera del alcance del diagnóstico estándar.
Comportamiento de conexión e índice
Los mandos reciben un índice dentro de la sesión del navegador. Desconectar y volver a conectar puede cambiar qué entrada está activa. El laboratorio en vivo selecciona un dispositivo disponible y responde a los cambios de conexión; usa el selector de dispositivos cuando haya varios mandos expuestos.
El modo inalámbrico puede exponer un identificador o conjunto de funciones diferente al modo USB. Esa diferencia debe registrarse durante la resolución de problemas. Un identificador visible para el navegador también puede ser genérico por razones de privacidad o de controlador.
Matriz de validación
Una comparación de compatibilidad seria requiere dispositivos físicos en diferentes sistemas operativos y motores de navegador. Keymap Labs utiliza la API estándar y maneja la ausencia de botones o ejes de forma defensiva, pero una prueba online no puede emular todos los controladores de mando.
Un registro de comparación útil incluye:
- Sistema operativo y versión
- Motor del navegador y versión
- Modelo de mando y firmware
- Conexión por cable, Bluetooth o receptor propietario
- ID reportado, mapeo, ejes y recuento de botones
- Representación de gatillos y orden de los sticks
- Comportamiento de conexión, reconexión y foco
Los resultados deben tratarse como observaciones fechadas, no como una insignia atemporal de "funciona en todas partes". Las actualizaciones del navegador y del sistema operativo pueden cambiar los mapeos con el tiempo.
Interpretación de un resultado vacío
Que no aparezca ningún mando en la página puede significar que no hay dispositivo, que no hay activación del usuario, una limitación del navegador, una aplicación en conflicto, una capa de controlador o un problema de conexión. La guía de detección de mandos recorre esas capas en un orden controlado.
Si el dispositivo aparece pero una etiqueta visual es incorrecta, los cambios en el índice en bruto confirman que una entrada llegó al navegador. Si los ejes no vuelven al centro, el Prueba de stick drift añade una muestra cronometrada, pero ese resultado permanece vinculado al mapeo y calibración actuales.
Promesa de compatibilidad
Keymap Labs es compatible con navegadores modernos que exponen la Gamepad API y proporciona un estado de reserva explícito cuando no hay ninguna disponible. No requiere cuenta, extensión de navegador ni controlador. No puede garantizar funciones avanzadas de mando ni etiquetas universales.
Esa promesa es intencionalmente precisa. Los usuarios reciben un diagnóstico en bruto funcional donde la plataforma lo permite y una explicación útil donde no lo hace.