Проверка геймпада и дрейфа стика
Чтобы проверить дрейф стика, отпустите оба стика и измеряйте несколько секунд. Отклонение в покое больше примерно 12% говорит о возможном дрейфе. Частоту опроса в браузере измерить нельзя.
Как пользоваться
- Подключите геймпад по USB или Bluetooth и один раз нажмите любую кнопку. Браузер скрывает геймпад, пока он не пришлёт первое нажатие.
- Нажимайте кнопки и двигайте стики. Нажатая кнопка подсвечивается, триггеры показывают значение от 0 до 100%. Круги показывают положение стика, числа - значения осей от -1 до 1.
- Для теста дрейфа положите геймпад, отпустите оба стика и нажмите «Старт». Через 5 секунд появятся наибольшее и среднее отклонение каждого стика и рекомендуемая мёртвая зона.
- Если браузер и геймпад поддерживают вибрацию, кнопка проверит моторы. Если подключено несколько геймпадов, выберите нужный в списке.
Как считается
Страница читает 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-подключениях недоступна.
Что-нибудь отправляется на сервер?
Нет. Всё выполняется в вашем браузере, данные о геймпаде не сохраняются и не загружаются.