TGViewer
Точка входа в программирование Точка входа в программирование @prog_point · 18K subscribers
Post #5129 281
Как читать ввод с геймпада в JavaScript и не принять поломку за норму

В Gamepad API нет событий о движении стиков и нажатии кнопок. Контроллер приходится опрашивать в цикле requestAnimationFrame и на каждом кадре заново вызывать navigator.getGamepads(): сохранённый объект содержит старый снимок.

В Chromium есть ловушка. Ось отдаёт ноль, пока браузер хотя бы раз не увидит её значение в диапазоне от −0,1 до 0,1. Сильно дрейфующий стик может не попасть туда и выглядеть исправным.

Потренируйтесь: подключите геймпад, нажмите кнопку и откройте консоль. Выведите значения осей, проведите стик через центр и проверьте, когда вместо нулей появятся реальные данные. Готовый код и разбор того, почему браузер не всегда определяет модель контроллера, есть в руководстве freeCodeCamp.
  • ❤ 1
More from @prog_point
  1. Sep 20, 2026Как выбрать пагинацию для API Пагинация делит ответ API на части. Offset пропускает N стро…
  2. Sep 20, 2026Какие исключения ловить в Python и какие оставить видимыми Один except для ValueError, Typ…
  3. Sep 19, 2026Превращаем статичную HTML-страницу в редактор на JavaScript Резюме или меню можно отдать а…
  4. Sep 19, 2026Инструкция по применению: открыть анкету, ответить на вопросы из школьной тетрадки, по дор…
  5. Sep 19, 2026freeCodeCamp.org выпустил бесплатный курс по Python с тремя проектами Это четырёхчасовой в…
  6. Sep 19, 2026Как дать кнопке с иконкой понятное имя для скринридера Кнопке только с иконкой нужно досту…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →