Проверка геймпада

Нажмите любую кнопку — схема оживёт. Дальше видно всё: какие кнопки срабатывают, куда уходят оси стиков в покое и как ведут себя курки.

Геймпадждёт
Кнопок проверено 0 из 17
L2R2L1R1YBAXL3R3

Левый стик

X +0,00 Y +0,00

Правый стик

X +0,00 Y +0,00

L2 0,00
R2 0,00

Нажмите любую кнопку на геймпаде

Браузер не видит контроллер, пока на нём не нажмут кнопку. Так работает стандарт: схема уже ждёт.

  1. Подключите геймпад по кабелю или включите Bluetooth-подключение.
  2. Нажмите любую кнопку — схема оживёт сразу.

Проверка ещё не запускалась — показаний нет.

Не получилось?

Схема не реагирует
Нажмите любую кнопку на самом геймпаде: до первого нажатия браузер контроллер не показывает. Если не помогло — щёлкните мышью по странице, чтобы вернуть ей фокус.
Геймпад работает в игре, но не виден здесь
Скорее всего его держит игра или оверлей. Закройте их и нажмите кнопку заново. Ещё причина — режим совместимости на корпусе контроллера.
Стик уводит сам
Отпустите стик и посмотрите на показания осей. Значения, заметно отличающиеся от нуля в покое, и есть дрейф — прибор его зафиксирует и запишет в протокол.
Кнопки вибрации нет
Значит браузер не умеет управлять вибрацией этого контроллера. В Safari её нет вовсе, поэтому кнопку мы там не показываем.

Почему схема сначала не реагирует

Так задуман стандарт: браузер не показывает контроллер странице, пока на нём не нажмут кнопку. Это защита — иначе любой сайт узнавал бы о подключённых устройствах без вашего участия. Значит пустая схема на входе не поломка: нажмите любую кнопку, и всё оживёт.

Дрейф стиков — главное, за чем сюда приходят

Дрейф — когда отпущенный стик продолжает давать сигнал: персонаж медленно едет сам, прицел уползает в сторону. Мы показываем положение осей числами от −1 до 1 и следом за точкой рисуем траекторию последних движений.

Отпустите оба стика и не трогайте их пару секунд. Стрелка должна стоять в центре, а числа держаться около нуля. Небольшие колебания в сотых долях бывают у всех контроллеров. Устойчивое отклонение, которое не уходит и заметно на глаз, — это и есть дрейф; чаще всего он растёт со временем из-за износа потенциометров.

Мёртвая зона на схеме — кольцо вокруг центра, внутри которого игры обычно игнорируют сигнал. Если отклонение в покое выходит за это кольцо, дрейф будет заметен и в играх.

Курки и кнопки

Курки L2 и R2 у большинства современных контроллеров аналоговые: они выдают не «нажат — не нажат», а значение от 0 до 1. Нажмите курок плавно до упора и посмотрите на шкалу: значение должно подниматься ровно и доходить до единицы. Рывки и потолок ниже единицы — повод пройти это место несколько раз и посмотреть, повторяется ли.

Кнопки на схеме подсвечиваются при нажатии и остаются отмеченными как проверенные. Счётчик покажет, сколько вы ещё не нажали, — удобно, чтобы не забыть крестовину, нажатия стиков и бамперы.

Модель контроллера

Название берётся из строки, которой контроллер представляется системе. Для распространённых моделей его удаётся разобрать, для редких и переходников там окажется «неизвестный контроллер» — на проверку это не влияет: кнопки, оси и курки работают одинаково.

Вопросы

Почему браузер не видит геймпад, пока не нажмёшь кнопку?
Так требует стандарт Gamepad API: до первого нажатия сайт не получает сведений о контроллере. Никаких настроек менять не надо — просто нажмите любую кнопку.
Работает ли проверка через Bluetooth?
Да, если геймпад уже соединён с системой. Браузер не занимается сопряжением: сначала подключите контроллер в настройках системы, потом возвращайтесь на страницу.
Как отличить дрейф от нормального люфта?
По устойчивости. Дрейф — это отклонение, которое держится, пока стик не трогают, и не уходит само. Кратковременные скачки в сотых долях при отпускании стика бывают у исправных контроллеров.
Дрейф нашёлся — что дальше?
Решение за вами: у части контроллеров помогает чистка стиков сжатым воздухом, у части — калибровка в настройках системы. Если геймпад на гарантии, приложите к обращению протокол проверки с числами и датой.

Дальше по вашему делу