Проверка геймпада и дрейфа стика

Чтобы проверить дрейф стика, отпустите оба стика и измеряйте несколько секунд. Отклонение в покое больше примерно 12% говорит о возможном дрейфе. Частоту опроса в браузере измерить нельзя.

Один раз нажмите любую кнопку геймпада, чтобы подключить его.

Тест дрейфа стика

Положите геймпад и отпустите оба стика. Не трогайте его во время теста.

Проверка вибрации

Удалось решить задачу?
Предпочитать в Google

Как пользоваться

  1. Подключите геймпад по USB или Bluetooth и один раз нажмите любую кнопку. Браузер скрывает геймпад, пока он не пришлёт первое нажатие.
  2. Нажимайте кнопки и двигайте стики. Нажатая кнопка подсвечивается, триггеры показывают значение от 0 до 100%. Круги показывают положение стика, числа - значения осей от -1 до 1.
  3. Для теста дрейфа положите геймпад, отпустите оба стика и нажмите «Старт». Через 5 секунд появятся наибольшее и среднее отклонение каждого стика и рекомендуемая мёртвая зона.
  4. Если браузер и геймпад поддерживают вибрацию, кнопка проверит моторы. Если подключено несколько геймпадов, выберите нужный в списке.

Как считается

Страница читает Gamepad API на каждом кадре экрана. Ось стика меняется от -1 до 1, а стик в покое должен давать 0 по обеим осям.

Тест дрейфа собирает все кадры в течение 5 секунд. Отклонение отсчёта - это расстояние до центра, sqrt(x² + y²). Показываются максимум, среднее и средняя позиция покоя (X, Y).

Рекомендуемая мёртвая зона - наибольшее отклонение, округлённое вверх до целого процента, плюс один пункт. Оценки «норма», «небольшое» и «подозрение» опираются на фиксированные пороги (около 5 и 12%). Это эмпирическое правило, а не стандарт производителя и не диагноз.

Как читать результат

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

Макс. отклонениеОценкаЧто попробовать
Меньше 5%НормаНичего не нужно
От 5% до 12%НебольшоеМёртвая зона 10-15% в настройках игры обычно скрывает его
Больше 12%Подозрение на дрейфОчистите зону вокруг стика, проверьте на другом устройстве, затем подумайте о ремонте или гарантии

Если геймпад не определяется

  • Нажмите кнопку после загрузки страницы. Chrome, Edge и Firefox показывают геймпад только после первого нажатия.
  • Закройте Steam, приложение консоли и другие игры, которые могут занять геймпад монопольно.
  • Геймпады PlayStation и Switch работают по USB в большинстве браузеров. Для Bluetooth сначала выполните сопряжение в настройках системы.
  • Если кнопки подписаны номерами вроде #0, браузер не сообщил стандартную раскладку. Стики и значения при этом работают.

Как проверять правильно

  • Делайте тест дрейфа, положив геймпад на стол, чтобы руки не касались стиков.
  • Повторите два-три раза. Настоящий дрейф виден в каждом заходе, случайный толчок - нет.
  • Проверяйте проводное и беспроводное подключение отдельно: слабая батарея тоже даёт странные значения.

Частые вопросы

Как проверить дрейф стика?

Подключите геймпад, один раз нажмите кнопку, положите его на стол и нажмите «Старт» в разделе дрейфа. 5 секунд не трогайте. Результат покажет наибольшее и среднее отклонение каждого стика и рекомендуемую мёртвую зону.

Можно ли узнать частоту опроса геймпада?

Нет. Gamepad API даёт странице один снимок на кадр экрана, поэтому реальную частоту опроса геймпада в браузере измерить нельзя. Любое число здесь было бы частотой обновления экрана, а не геймпада.

Какую мёртвую зону выбрать?

Возьмите рекомендуемое значение за основу и задайте в игре мёртвую зону чуть больше. Большая мёртвая зона скрывает дрейф, но и мелкие движения стика перестают учитываться.

Почему стик никогда не показывает ровно 0?

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

Почему нет вибрации?

Для вибрации браузер и тип подключения должны открывать доступ к вибромотору. Чаще всего она работает в Chrome и Edge по USB, а в Safari и при многих Bluetooth-подключениях недоступна.

Что-нибудь отправляется на сервер?

Нет. Всё выполняется в вашем браузере, данные о геймпаде не сохраняются и не загружаются.