Investigação de Keymap Labs · 8 min

Compatibilidade de Gamepad no Navegador: O que os Testes Vêem

Uma nota prática de compatibilidade para reconhecimento de controles, mapeamentos padrão, contextos seguros e validação entre navegadores e sistemas operacionais.

A Web Gamepad API dá a uma página acesso a objetos de controle que o navegador escolhe expor. Ela é muito útil, mas a disponibilidade não garante nomes de dispositivos, ordem de botões, ordem de eixos ou suporte a recursos idênticos em todas as plataformas.

Ativação e exposição do usuário

Os navegadores podem aguardar o pressionamento de um botão do controle antes de expor um dispositivo conectado. Isso reduz a identificação passiva e significa que um controle pode estar fisicamente conectado enquanto navigator.getGamepads() inicialmente retorna entradas vazias. Keymap Labs pede que você pressione um botão e ouve eventos de conexão enquanto continua a inspecionar a lista atual.

Várias funcionalidades de dispositivos do browser exigem uma conexão segura. Utilize https://keymap.io, mantenha o navegador atualizado e evite versões copiadas ou incorporadas da página ao comparar resultados.

Mapeamentos padrão e genéricos

Um objeto de controle pode declarar o mapeamento padrão, que fornece posições comuns para botões de ação, botões superiores, gatilhos, analógicos e botões direcionais. Os dispositivos genéricos podem fornecer um mapeamento vazio e expor matrizes em bruto numa ordem específica do dispositivo.

O Keymap Labs sempre mostra índices brutos de botões e valores de eixos. Isso mantém a ferramenta útil mesmo quando um controle não corresponde ao diagrama conhecido, sem renomear uma entrada genérica com certeza injustificada.

Os gatilhos analógicos podem aparecer como botões com valores fracionários, eixos separados ou botões digitais, dependendo da pilha técnica. Recursos adicionais como superfícies tácteis, giroscópio, estado da bateria, LEDs e háptica não estão consistentemente disponíveis através do mapeamento principal e encontram-se fora do âmbito de diagnóstico padrão.

Comportamento de conexão e índice

Os controles recebem um índice dentro da sessão do navegador. Desconectar e reconectar pode alterar qual entrada está ativa. O laboratório ao vivo seleciona um dispositivo disponível e responde a alterações de conexão; use o seletor de dispositivos quando vários controles estiverem conectados.

O modo sem fio pode expor um identificador ou conjunto de recursos diferente do modo USB. Essa diferença deve ser registrada durante a solução de problemas. Um identificador visível no navegador também pode ser genérico por motivos de privacidade ou de driver.

Matriz de validação

Uma comparação de compatibilidade séria requer dispositivos físicos em diferentes sistemas operacionais e motores de browser. O Keymap Labs utiliza a API padrão e lida com botões ou eixos em falta de forma defensiva, mas um teste online não consegue emular todos os controladores de controles.

Um registro de comparação útil inclui:

  • Sistema operacional e versão
  • Motor do navegador e versão
  • Modelo e firmware do controle
  • Com fio, Bluetooth ou receptor próprio
  • ID reportado, mapeamento, eixos e contagem de botões
  • Representação de gatilhos e ordem dos sticks
  • Comportamento de conexão, reconexão e foco

Os resultados devem ser tratados como observações datadas, e não como um selo intemporal de “funciona em todo o lado”. As atualizações do navegador e do sistema operacional podem alterar os mapeamentos ao longo do tempo.

Interpretar um resultado vazio

Nenhum controle na página pode significar ausência de dispositivo, falta de ativação do usuário, limitação do navegador, aplicativo conflitante, camada de driver ou problema de conexão. O guia de detecção de gamepads analisa essas camadas numa ordem controlada.

Se o dispositivo aparecer mas uma etiqueta visual estiver errada, as alterações de índice bruto ainda confirmam que uma entrada chegou ao navegador. Se os eixos não regressarem ao centro, o Stick Drift Test adiciona uma amostra cronometrada, mas esse resultado permanece vinculado ao mapeamento e à calibração atuais.

Promessa de compatibilidade

Keymap Labs suporta navegadores modernos que expõem a Gamepad API e fornece um estado alternativo explícito quando nenhum está disponível. Não requer conta, extensão de navegador ou driver. Não pode garantir recursos avançados de controle ou rótulos universais.

Essa promessa é intencionalmente precisa. Os usuários recebem um diagnóstico bruto funcional onde a plataforma permite e uma explicação útil onde não permite.