API Web Gamepad предоставляет странице доступ к объектам контроллера, которые браузер выбирает для раскрытия. Это широко полезно, но доступность не гарантирует одинаковые имена устройств, порядок кнопок, порядок оси или поддержку функций на разных платформах.
Активация и экспозиция пользователей
Браузеры могут ждать нажатия кнопки геймпада, прежде чем открывать подключенное устройство. Это уменьшает пассивную дактилоскопию и означает, что контроллер может быть физически подключен. navigator.getGamepads() Сначала возвращает пустые записи. Keymap Labs предлагает пользователю нажать кнопку и прослушивать события соединения, продолжая проверять текущий список.
Несколько функций браузерного устройства требуют безопасного подключения. Использовать https://keymap.ioПоддерживайте текущий браузер и избегайте копируемых или встроенных версий страницы при сравнении результатов.
Стандартные и общие карты
Объект геймпада может объявить стандартное отображение, которое дает общие позиции для кнопок лица, плеч, триггеров, палок и кнопок направления. Общие устройства могут обеспечивать пустое отображение и выставлять необработанные массивы в определенном устройством порядке.
Keymap Labs всегда показывает необработанные индексы кнопок и значения оси. Это сохраняет инструмент полезным, даже если контроллер не соответствует знакомой диаграмме. Он не переименовывает общий вход с неоправданной уверенностью.
Аналоговые триггеры могут появляться в виде кнопок с дробными значениями, отдельных осей или цифровых кнопок в зависимости от стека. Дополнительные функции, такие как сенсорные панели, гироскоп, состояние батареи, светодиоды и тактики, не всегда доступны через картографирование ядра и выходят за рамки стандартной диагностической области.
Связь и поведение индекса
Геймпады получают индекс в сеансе браузера. Отключение и повторное подключение может изменить, какая запись активна. Живая лаборатория выбирает доступное устройство и реагирует на изменения соединения; используйте селектор устройства при воздействии нескольких контроллеров.
Беспроводной режим может отображать другой идентификатор или набор функций из режима USB. Эта разница должна быть зафиксирована во время устранения неполадок. Идентификатор, видимый браузером, также может быть общим по соображениям конфиденциальности или водителя.
Матрица валидации
Серьезное сравнение совместимости требует физических устройств в операционных системах и браузерных движках. Keymap Labs использует стандартный API и обрабатывает отсутствующие кнопки или оси, но онлайн-тест не может эмулировать каждый драйвер контроллера.
Полезный сравнительный отчет включает:
- Операционная система и версия
- Браузерный движок и версия
- Модель контроллера и прошивка
- Wired, Bluetooth или проприетарный приемник
- Зарегистрированный ID, отображение, топоры и подсчет кнопок
- Представление триггера и порядок палки
- Соединять, пересоединять и фокусировать поведение
Результаты следует рассматривать как датированные наблюдения, а не вневременный значок «работает везде». Обновления браузера и операционной системы могут со временем изменять отображения.
Толкование пустого результата
Ни один контроллер на странице не может означать никакого устройства, никакой активации пользователя, ограничения браузера, конкурирующего приложения, уровня драйвера или проблемы подключения. The Руководство по обнаружению геймпада проходит через эти слои в контролируемом порядке.
Если устройство появляется, но визуальная метка неверна, необработанные изменения индекса по-прежнему подтверждают, что вход достиг браузера. Если оси не возвращаются в центр, Тест на дрейф добавляет временную выборку, но этот результат остается связанным с текущим отображением и калибровкой.
Обещание совместимости
Keymap Labs поддерживает современные браузеры, которые разоблачают API Gamepad и обеспечивают явное резервное состояние, когда оно недоступно. Он не требует учетной записи, расширения браузера или драйвера. Он не может гарантировать расширенные функции контроллера или универсальные метки.
Это обещание является намеренно точным. Пользователи получают необработанную диагностику, где позволяет платформа, и полезное объяснение, где нет.