Геймпад не працює в Windows: виправлення HID‑драйверів акуратно

Було корисно?

Немає нічого кращого для прояву любові до хобі, ніж провести вечір, дивлячись у Диспетчер пристроїв, поки геймпад мовчки сяє індикатором. Windows бачить щось, ваша гра бачить нічого, і раптом ви роздумуєте, чи перевстановити все або взятися за шахи.

Ось чистий спосіб виправити це: ставтеся до контролерів як до того, чим вони є — HID‑пристрої з драйверами, інтерфейсами, фільтруючими драйверами і довгою пам’яттю минулих помилок. Ми швидко діагностуємо, видалимо лише потрібне (не все підряд) і перебудуємо HID‑стек, не перетворюючи вашу машину на USB‑будинок з привидами.

Швидка діагностика: план дій

Якщо ви відповідаєте за свій вільний час, ви не починаєте з повної перевстановлення системи. Ви починаєте з пошуку вузького місця. Цей план оптимізований для «геймпад не працює» по USB і Bluetooth, Windows 10/11 та типовим стековам контролерів (XInput, HID, драйвери вендора та фільтри).

По‑перше: вирішіть, чи це апарат, транспорт чи стек драйверів

  • Апарат: контролер вмикається? інший кабель? інший USB‑порт? інший ПК? Якщо він не працює скрізь — припиніть звинувачувати Windows.
  • Транспорт: USB перераховується? Bluetooth спарено, але відключається? Помилка транспорту зазвичай відображається в Диспетчері пристроїв або в журналах подій.
  • Стек драйверів: пристрій присутній, але має невірний клас, дублікати, «Невідомий USB‑пристрій», відсутні HID‑інтерфейси або ігри бачать його лише в Steam.

По‑друге: перевірте індикатори з найвищим сигналом

  1. Диспетчер пристроїв: чи з’являється він у «Human Interface Devices» і/або «Xbox Peripherals» (для XInput)? Є жовтий знак оклику?
  2. Панель ігрових контролерів (joy.cpl): чи показує Windows його як пристрій‑джойстик? Якщо ні — більшість ігор теж його не побачать.
  3. Перегляд подій: помилки Kernel‑PnP і DriverFrameworks вкажуть, чи драйвер не завантажився, проблеми з підписом або некоректний інтерфейс.
  4. Пристрої‑привиди: старі екземпляри можуть захоплювати відображення кнопок і калібрування.

По‑третє: оберіть найменший коригувальний захід, який може спрацювати

  • Якщо пристрій відсутній: зосередьтеся на кабелі/порті/радіо Bluetooth та помилках перерахунку.
  • Якщо пристрій присутній, але непридатний: зосередьтеся на HID‑інтерфейсах, фільтрах та очищенні застарілих екземплярів.
  • Якщо введення неправильно відображається або деренчить: зосередьтеся на калібруванні, множинних пристроях і шарах трансляції драйверів.

Правило: не «чистіть», випадково видаляючи драйвери, поки Windows не перестане завантажуватися. Ми будемо хірургічні й зворотні.

Як Windows насправді бачить ваш геймпад (щоб виправлення мали сенс)

Контролер для Windows не є однією річчю. Це невелика сукупність інтерфейсів, які перераховуються, класифікуються й зв’язуються з драйверами. Якщо ви не розумієте, який рівень дає збій, ви будете постійно «перевстановлювати драйвер» і сподіватися на краще — як перезавантажувати базу даних через повільний запит.

Стек простою мовою

  • Транспорт: USB або Bluetooth. USB‑пристрої перераховуються через контролер хоста USB; Bluetooth‑пристрої йдуть через стек Bluetooth і профілі.
  • Екземпляр пристрою(ів): Windows створює екземпляр для кожної унікальної комбінації апаратного ідентифікатора + порту/шляху. Змінюйте порт USB достатньо разів — і назбираєте сувеніри (пристрої‑привиди).
  • Класовий драйвер: HID‑пристрої зазвичай прив’язуються до HID‑класу (HIDClass.sys, HidUsb.sys / HidBth.sys).
  • Функціональний/трансляційний шар: пристрої XInput часто представляються як «Xbox»; деякі контролери показують себе як загальні DirectInput; інші використовують драйвери вендора для трансляції.
  • Фільтр‑драйвери: опціональні, іноді корисні, часто корінь проблем. Фільтри можуть перемаповувати, віртуалізувати або «покращувати» введення. Вони також можуть ламати його.
  • Користувацькі споживачі: ігри, Steam Input, DS4Windows‑подібні інструменти, Windows Game Bar, засоби доступності — кожен може захоплювати й трансформувати введення.

Коли хтось каже «HID‑драйвер зламаний», вони можуть мати на увазі:

  • пристрій не перераховується,
  • HID‑інтерфейс присутній, але його драйвер не стартував,
  • фільтр‑драйвер перехоплює і поводиться неправильно,
  • Windows бачить його, але ваша гра слухає лише XInput,
  • або є кілька пристроїв і ви бігаєте доганяти неправильний.

Ми доведемо, який саме випадок, доказами. Так, як дорослі.

Жарт №1: USB означає «Universal Serial Bus», але іноді поводиться як «Usually Somewhat Broken».

Цікаві факти та історія (коротко, конкретно і дивно релевантно)

  1. HID був створений, щоб уникати кастомних драйверів для базового введення. Суть специфікації HID (середина 1990‑х) — «підключив і працює», особливо для клавіатур і мишей. Контролери підключилися пізніше.
  2. DirectInput з’явився до XInput. Старі ПК‑ігри використовували DirectInput для джойстиків і геймпадів; XInput з’явився з епохою Xbox 360 і став очікуванням для багатьох сучасних ігор.
  3. Windows зберігає стан на рівні екземпляра пристрою. Калібрування, властивості і навіть деякі рішення драйверів можуть «йти за» шляхом екземпляра, а не лише моделлю — звідси «працює в одному USB‑порті, не працює в іншому».
  4. Bluetooth‑геймпади все ще HID‑пристрої. Вони часто використовують HID over GATT (для BLE) або класичні HID‑профілі; у будь‑якому випадку ви опиняєтеся в HID‑стеку, просто через HidBth.sys або суміжні компоненти.
  5. Фільтр‑драйвери — це спадкова надпотужність. Модель драйверів Windows дозволяє верхнім/нижнім фільтрам модифікувати поведінку. Чудово для корпоративного обладнання. Також чудово для «контролер‑мапперів», які забувають прибрати себе.
  6. У Windows живе кілька API введення паралельно. Контролер може бути видимим для Windows, але невидимим для конкретної гри залежно від того, чи вона слухає XInput, Raw Input, DirectInput або Steam Input.
  7. «HID‑compliant game controller» — це за задумом узагальнення. Ця мітка не означає, що пристрій оптимальний, лише що Windows може з ним працювати стандартно.
  8. Підпис драйверів став суворішим. Сучасні версії Windows менш толерантні до непідписаних або погано упакованих драйверів. Це добре для безпеки, погано для старих пакетів драйверів.
  9. Пристрої‑привиди — це не забобон. Windows зберігає вузли непристуніх пристроїв; вони все ще можуть містити конфігурацію, що впливає на нові екземпляри.

Режими відмов: де HID і контролери насправді ламаються

1) Збій перерахунку (Windows ніколи не бачить придатний пристрій)

Симптоми: контролер вмикається, але не з’являється в Диспетчері пристроїв; або відображається як «Unknown USB Device (Device Descriptor Request Failed)».

Типові причини:

  • Поганий кабель (особливо кабелі лише для заряджання).
  • Нестабільний USB‑порт/хаб, недостатнє живлення або ненадійна проводка фронтальної панелі.
  • Bluetooth‑спарування пройшло, але служби не налаштовано.
  • Короткий глюк прошивки + Windows закешував пошкоджений екземпляр.

2) Помилка прив’язки драйвера (пристрій з’являється, але драйвер не стартує)

Симптоми: жовтий знак у Диспетчері пристроїв, Code 10/Code 28 або «driver not migrated».

Типові причини:

  • Пошкоджені записи в сховищі драйверів або часткові інсталяції.
  • Верхні/нижні фільтр‑драйвери посилаються на відсутні бінарні файли.
  • Блокування через вимоги підпису блокує застарілі пакети.
  • Windows Update доставив «кращий» драйвер, який гірший для вашого пристрою.

3) Несумісність трансляції введення (Windows бачить, гра — ні)

Симптоми: він з’являється в Диспетчері пристроїв і іноді в joy.cpl, але гра ігнорує його; або Steam бачить, а Windows‑ігри — ні.

Типові причини:

  • Гра підтримує лише XInput; контролер представляється як загальний HID/DirectInput.
  • Steam Input або інший ремапер захоплює ексклюзивний доступ або подає віртуальний пристрій, що конфліктує.
  • Декілька контролерів/віртуальних пристроїв; гра хапає неправильний.

4) Неправильне відображення, зависання кнопок, дрейф, подвійні ввід

Симптоми: кнопки поміняні місцями, тригери поводяться як кнопки, джойстик дрейфує, D‑pad божеволіє, введення дублюється.

Типові причини:

  • Калібрувальні дані або стан у реєстрі прив’язані до застарілого екземпляра пристрою.
  • Два стеки одночасно (наприклад, Steam Input + ремапер) викликають дублювання.
  • Драйвер вендора відкриває кілька інтерфейсів, і гра обирає не той.

5) Втручання політики безпеки / корпоративної політики

Менш поширено вдома, частіше на керованих комп’ютерах: обмеження встановлення пристроїв, блокування класів драйверів або посилені вимоги підпису. Ви не зможете «просто встановити драйвер», якщо політика забороняє.

Практичні завдання: команди, виводи та рішення

Ось ходи, якими я користуюся, коли потрібен сигнал, а не інтуїція. Запускайте їх у підвищеному PowerShell або Command Prompt, де зазначено. Я покажу приклад виводу і що він означає.

Завдання 1: Підтвердити, що Windows взагалі бачить пристрої контролера (список PnP)

cr0x@server:~$ powershell -NoProfile -Command "Get-PnpDevice -PresentOnly | ? { $_.Class -in @('HIDClass','Bluetooth','XnaComposite','USB') -or $_.FriendlyName -match 'controller|gamepad|xbox|hid' } | Select Status,Class,FriendlyName,InstanceId | Format-Table -Auto"
Status Class      FriendlyName                         InstanceId
------ -----      ------------                         ----------
OK     HIDClass   HID-compliant game controller        HID\VID_046D&PID_C216&MI_00\7&2a...
OK     USB        USB Composite Device                 USB\VID_046D&PID_C216\5&1f...
OK     Bluetooth  Bluetooth Device (Personal Area...)  BTHENUM\{00001124-...}

Що це означає: Якщо нічого релевантного не показується, ви ще не в проблемі очищення драйверів — ви в полі перерахунку/транспорту.

Рішення: Якщо відсутній, перейдіть до перевірки USB/Bluetooth (Завдання 6–8). Якщо присутній, але «Error» або «Unknown», переходьте до очищення прив’язки драйвера (Завдання 10–12).

Завдання 2: Перевірте наявність у Панелі ігрових контролерів (joy.cpl)

cr0x@server:~$ cmd /c "start joy.cpl"

Що це означає: joy.cpl — це старий, але чесний погляд. Якщо його тут немає, більшість нес‑Steam ігор теж не побачать контролер.

Рішення: Якщо відсутній: зосередьтесь на прив’язці драйвера / здоров’ї HID‑інтерфейсу. Якщо присутній, але введення неправильне: зосередьтесь на калібруванні/стані (Завдання 4–5) і інструментах‑фільтрах.

Завдання 3: Подивитися HID‑пристрої включно з «привидами» (неприсутніми)

cr0x@server:~$ powershell -NoProfile -Command "Get-PnpDevice -Class HIDClass | Select Status,Present,FriendlyName,InstanceId | Sort Present,Status,FriendlyName | Format-Table -Auto"
Status Present FriendlyName                         InstanceId
------ ------- ------------                         ----------
OK     False   HID-compliant game controller        HID\VID_054C&PID_09CC\6&1a...
OK     True    HID-compliant game controller        HID\VID_054C&PID_09CC\8&3b...
OK     True    HID Keyboard Device                  HID\VID_046D&PID_C31C...

Що це означає: Записи з «Present False» — це пристрої‑привиди. Вони можуть зберігати застарілі властивості, калібрування і іноді створювати дублікати.

Рішення: Якщо ви бачите багато старих екземплярів одного й того ж VID/PID, ймовірно потрібне очищення (Завдання 11) після підтвердження, який екземпляр нинішній.

Завдання 4: Перевірити, чи декілька шарів введення конфліктують (підказка на рівні процесів)

cr0x@server:~$ powershell -NoProfile -Command "Get-Process | ? { $_.ProcessName -match 'steam|ds4|input|rewasd|joy|x360|hid' } | Select ProcessName,Id,Path | Format-Table -Auto"
ProcessName Id   Path
----------- --   ----
steam       8420 C:\Program Files (x86)\Steam\steam.exe
DS4Windows  9112 C:\Tools\DS4Windows\DS4Windows.exe

Що це означає: Інструменти на кшталт DS4Windows або інші ремапери можуть створювати віртуальні контролери і ховати фізичний, або викликати подвійні ввід, якщо обидва активні.

Рішення: Для діагностики тимчасово закрийте ці інструменти (і вимкніть автозапуск), щоб тестувати чистий Windows‑шлях.

Завдання 5: Швидка перевірка калібрування (і чому це важливо)

cr0x@server:~$ cmd /c "control /name Microsoft.GameControllers"

Що це означає: Це відкриває ту саму властивість контролера, де можна перевірити осі і кнопки. Якщо тут тест‑вікно показує неправильно, жодне гейм‑перемапування гри не виправить основну проблему.

Рішення: Якщо сире введення неправильне, переходьте до очищення (Завдання 10–12) і подумайте про видалення стану калібрування, створивши заново екземпляр пристрою (Завдання 11), замість нескінченних налаштувань.

Завдання 6: Перевірка рівня USB (чи шина поводиться коректно?)

cr0x@server:~$ powershell -NoProfile -Command "Get-PnpDevice -Class USB | ? { $_.FriendlyName -match 'Host Controller|Root Hub|USB Composite Device|Unknown USB Device' } | Select Status,FriendlyName,InstanceId | Format-Table -Auto"
Status FriendlyName                                   InstanceId
------ ------------                                   ----------
OK     USB Root Hub (USB 3.0)                         USB\ROOT_HUB30\...
OK     USB Composite Device                           USB\VID_046D&PID_C216\...
Error  Unknown USB Device (Device Descriptor Failed)  USB\VID_0000&PID_0002\...

Що це означає: «Unknown USB Device (Device Descriptor Failed)» частіше вказує на фізичну/транспортну проблему, а не на очищення драйверів.

Рішення: Змініть кабель, уникайте хабів, використовуйте задній порт материнської плати. Якщо проблема зберігається на різних портах — підозрюйте пристрій або живлення.

Завдання 7: Перевірка стеку Bluetooth (стан служб)

cr0x@server:~$ powershell -NoProfile -Command "Get-Service bthserv | Select Name,Status,StartType"
Name    Status  StartType
----    ------  ---------
bthserv Running Automatic

Що це означає: Якщо Служба підтримки Bluetooth не запущена, спарування може формально пройти, але HID‑сервіси не зв’яжуться надійно.

Рішення: Якщо не запущена — запустіть і встановіть Automatic. Якщо не стартує — це питання здоров’я ОС або політик.

Завдання 8: Перевірити помилки фреймворків драйверів (помилки установки пристрою та старту драйвера)

cr0x@server:~$ powershell -NoProfile -Command "Get-WinEvent -LogName System -MaxEvents 50 | ? { $_.ProviderName -match 'Kernel-PnP|DriverFrameworks-UserMode' } | Select TimeCreated,ProviderName,Id,Message | Format-Table -Wrap"
TimeCreated           ProviderName                 Id Message
-----------           ------------                 -- -------
2/4/2026 9:14:22 PM   Kernel-PnP                  411 Device HID\VID_054C&PID_09CC... had a problem starting.
2/4/2026 9:14:22 PM   DriverFrameworks-UserMode  10110 The device HID\VID_054C&PID_09CC... could not be started.

Що це означає: Це Windows, який каже, що стек драйверів не стартував. Текст помилки часто містить код статусу у повному описі.

Рішення: Якщо ви бачите послідовні збої при підключенні — інспектуйте прив’язку драйвера і фільтри (Завдання 9–12).

Завдання 9: Перевірити драйвер конкретного пристрою та код проблеми

cr0x@server:~$ powershell -NoProfile -Command "$id = (Get-PnpDevice -PresentOnly | ? FriendlyName -match 'game controller|xbox|controller' | Select -First 1 -Expand InstanceId); Get-PnpDeviceProperty -InstanceId $id -KeyName 'DEVPKEY_Device_ProblemCode','DEVPKEY_Device_DriverVersion','DEVPKEY_Device_DriverProvider' | Format-Table -Auto"
KeyName                         Type    Data
-------                         ----    ----
DEVPKEY_Device_ProblemCode      UInt32  0
DEVPKEY_Device_DriverVersion    String  10.0.22621.1
DEVPKEY_Device_DriverProvider   String  Microsoft

Що це означає: ProblemCode 0 — добре. Ненульовий код вказує на проблему старту драйвера, відсутні драйвери або проблеми міграції.

Рішення: Якщо провайдер — старий пакет вендора і є проблеми, розгляньте повернення до стандартного Microsoft HID‑стеку, якщо вам не потрібні фірмові можливості.

Завдання 10: Виявити встановлені сторонні пакети драйверів, що часто заважають

cr0x@server:~$ powershell -NoProfile -Command "pnputil /enum-drivers | Select-String -Pattern 'HID|Game|XInput|Xbox|ViGEm|Scp|Bluetooth|Controller' -Context 0,4"
Published Name : oem42.inf
Original Name  : vigem.inf
Provider Name  : Nefarius Software Solutions
Class Name     : System
Class GUID     : {4d36e97d-e325-11ce-bfc1-08002be10318}

Що це означає: Ви скануєте сховище драйверів. Пакети на кшталт віртуальних драйверів геймпада можуть бути легітимними, але також часто спричиняють «чому в мене два контролери?».

Рішення: Якщо ви навмисно не користуєтеся віртуальним драйвером, плануйте його чисте видалення (Завдання 12). Якщо використовуєте — переконайтеся, що не ввімкнено два шари трансляції одночасно.

Завдання 11: Видалити екземпляри пристроїв‑привидів (чистим способом, без рояльних махінацій у реєстрі)

cr0x@server:~$ powershell -NoProfile -Command "$ghosts = Get-PnpDevice -Class HIDClass | ? { $_.Present -eq $false -and $_.FriendlyName -match 'game controller|controller|gamepad' }; $ghosts | Select FriendlyName,InstanceId | Format-Table -Auto"
FriendlyName                  InstanceId
------------                  ----------
HID-compliant game controller HID\VID_054C&PID_09CC\6&1a...
HID-compliant game controller HID\VID_054C&PID_09CC\7&2b...
cr0x@server:~$ powershell -NoProfile -Command "$ghosts | % { pnputil /remove-device $_.InstanceId }"
Microsoft PnP Utility

Device removed successfully.
Microsoft PnP Utility

Device removed successfully.

Що це означає: Ви видалили непристуні вузли пристроїв. Ви не видаляли випадково системні драйвери. Ви просто очистили застарілі екземпляри, щоб наступний перерахунок був чистим.

Рішення: Після видалення відключіть/знову підключіть (або відпаруйте/спаруйте) і перевірте joy.cpl знову (Завдання 2).

Завдання 12: Видалити проблемний пакет драйвера зі сховища драйверів (з примусом, якщо потрібно)

cr0x@server:~$ powershell -NoProfile -Command "pnputil /delete-driver oem42.inf /uninstall /force"
Microsoft PnP Utility

Driver package deleted successfully.

Що це означає: Це видаляє пакет і деінсталює пристрої, що його використовують. Прапорець /force для випадків, коли Windows наполягає, що пакет «використовується» через залишкові вузли — використовуйте його тільки після впевненості, що це правильний пакет.

Рішення: Перезавантажте систему, якщо буде прохання. Потім перевірте перерахунок контролера. Якщо він повернувся зі стандартними драйверами Microsoft і працює — ви закінчили.

Завдання 13: Перезапустити шлях служби Plug and Play Windows (безпечний скидання без перевстановлення)

cr0x@server:~$ powershell -NoProfile -Command "Restart-Service -Name DeviceInstall -ErrorAction SilentlyContinue; Restart-Service -Name DsmSvc -ErrorAction SilentlyContinue; 'attempted service restarts'"
attempted service restarts

Що це означає: Деякі служби можуть не існувати в усіх редакціях; це спроба без гарантій. Це не полагодить зламані драйвери, але може допомогти після очищення.

Рішення: Якщо нічого не змінюється, не треба нескінченно перезапускати служби. Рухайтеся далі до перевірки фільтрів і прив’язки пристрою.

Завдання 14: Перелічити HID‑пов’язані пристрої через CIM (структуровано, зручно для скриптів)

cr0x@server:~$ powershell -NoProfile -Command "Get-CimInstance Win32_PnPEntity | ? { $_.Name -match 'HID-compliant game controller|Xbox|Controller' } | Select Name,PNPDeviceID,Status | Format-Table -Auto"
Name                           PNPDeviceID                                   Status
----                           ----------                                   ------
HID-compliant game controller  HID\VID_046D&PID_C216&MI_00\7&2a...           OK

Що це означає: Інший шлях підтвердити, що Windows вважає пристрій OK на PnP‑рівні.

Рішення: Якщо Status не OK — ви все ще дебажите старт/прив’язку драйвера. Якщо OK, але ігри не працюють — дебаг API/трансляцію і дублікати пристроїв.

Завдання 15: Перевірити вимкнені пристрої (так, це трапляється)

cr0x@server:~$ powershell -NoProfile -Command "Get-PnpDevice | ? { $_.Status -eq 'Disabled' -and $_.Class -in @('HIDClass','USB','Bluetooth') } | Select Class,FriendlyName,InstanceId | Format-Table -Auto"
Class    FriendlyName                    InstanceId
-----    ------------                    ----------
HIDClass HID-compliant game controller   HID\VID_054C&PID_09CC\8&3b...
cr0x@server:~$ powershell -NoProfile -Command "Enable-PnpDevice -InstanceId 'HID\VID_054C&PID_09CC\8&3b...' -Confirm:$false"

Що це означає: Іноді пристрої вимикають під час усунення несправностей, при іміджингу або через політику. Увімкнення — найменш драматичне виправлення.

Рішення: Якщо після перезавантаження пристрій лишається вимкненим — підозрюйте політику або драйвер, який не стартує, через що Windows вимикає пристрій.

Завдання 16: Перевірити цілісність системних файлів (бо HID залежить від базових драйверів ОС)

cr0x@server:~$ powershell -NoProfile -Command "sfc /scannow"
Beginning system scan. This process will take some time.

Beginning verification phase of system scan.
Verification 100% complete.

Windows Resource Protection did not find any integrity violations.

Що це означає: Якщо SFC знайде пошкодження, збої щодо HIDClass можуть бути симптомом, а не коренем.

Рішення: Якщо SFC повідомить про ремонти — перезавантажте й протестуйте. Якщо не може відновити — потрібне глибше обслуговування ОС, але не поспішайте з цим, доки не виключите сторонні фільтри.

Жарт №2: Найшвидший спосіб відтворити баг з контролером — «тільки встановити один маленький драйвер» перед турніром.

Контрольні списки / покроковий план (чистий скидання HID‑драйверів без побічних втрат)

Це план «роби по порядку». Порядок важливий, бо введення Windows шарувате, і ви хочете зупинитися, щойно знайдете стабільний фікс.

Контрольний список A: Передпольотна безпека (2 хвилини, заощаджує години)

  1. Відключіть контролер (і тимчасово вимкніть Bluetooth, якщо працюєте по USB).
  2. Закрийте ремапери (Steam Input, DS4Windows‑подібні інструменти, віртуальні драйвери) на час діагностики.
  3. Створіть точку відновлення, якщо це ваш особистий ПК і ви любите експериментувати. На керованих системах дотримуйтеся політики змін.
  4. Запишіть VID/PID з деталей у Диспетчері пристроїв, якщо можете. Це відбиток пристрою й допоможе цілити правильні записи.

Контрольний список B: Визначте, чи ви вирішуєте правильну проблему

  1. Запустіть Завдання 1. Якщо пристрій відсутній — не чіпайте драйвери.
  2. Запустіть Завдання 6 (USB) або Завдання 7 (Bluetooth). Полагодьте транспорт спочатку.
  3. Відкрийте joy.cpl (Завдання 2). Якщо його там немає — потрібна робота з прив’язкою драйвера / здоров’ям HID‑інтерфейсу.

Контрольний список C: Очистіть екземпляри HID‑пристроїв (те, що більшість пропускає)

  1. Перелічіть пристрої‑привиди (Завдання 3).
  2. Видаліть привиди для контролерів (Завдання 11).
  3. Пере підключіть контролер (або переведіть Bluetooth у режим спарювання).
  4. Перевірте joy.cpl і вкладку тестування (Завдання 2 & 5).

Контрольний список D: Видаліть лише проблемні пакети драйверів

  1. Перелічіть кандидати у сховищі драйверів (Завдання 10).
  2. Видаліть конкретний пакет (Завдання 12), а не «всі HID‑речі, які знайдете».
  3. Перезавантажте один раз. Не робіть перезавантаження на кожному кроці.
  4. Підключіться знову й перевірте провайдера/версію драйвера (Завдання 9).

Контрольний список E: Перевірте, що ви не створюєте нової проблеми

  1. Підтвердіть, що видно лише один робочий контролер (joy.cpl, Завдання 2).
  2. Підтвердіть, що немає дублікатів або віртуального пристрою, який ви не планували (Завдання 4).
  3. Перевірте журнали подій на свіжі помилки (Завдання 8).
  4. Якщо все ще не працює — запустіть SFC (Завдання 16) перед ескалацією до «ремонтної інсталяції» ОС.

Чітка порада: чого уникати

  • Уникайте «очищувачів» реєстру. Вони не розуміють стан PnP; радо видалять ключі, які вам були потрібні, і залишать ті, які не потрібні.
  • Не видаляйте випадково записи «HID‑compliant device» без перевірки, який з них — ваша клавіатура/миша. Залишитися без введення — класика жанру.
  • Не накладайте перекладачі шар за шаром. Якщо Steam Input вже працює, не запускайте ще один ремапер, якщо не знаєте, як вони взаємодіють.

Люди, що відповідальні за надійність, живуть цим: припиніть змінювати щось, коли система здорова. Це стосується і вашої Windows‑машини.

Цитата (парафразована ідея): Джин Кранц (операції місій Аполло) підкреслював принцип бути «жорстким і компетентним» — зберігайте спокій, дотримуйтесь процедури, не гадьте.

Типові помилки: симптом → корінь → виправлення

1) «Воно заряджається, отже кабель нормальний.»

Симптом: Контролер вмикається, але Windows не виявляє його як пристрій.

Корінь: Кабель лише для заряджання (без ліній даних) або сумнівний кабель, що не тримає сигнал передачі даних.

Виправлення: Використайте завідомо робочий кабель з даними. Підтвердіть перерахунок через Завдання 6 (USB Composite Device з’являється).

2) «Я видалив драйвер у Диспетчері пристроїв, але він повертається зламаним.»

Симптом: Ви деінсталюєте пристрій, перезавантажуєтеся, підключаєте — та ж сама помилка.

Корінь: Пакет драйвера залишається в сховищі драйверів; Windows автоматично його переінсталює.

Виправлення: Знайдіть пакет (Завдання 10) і видаліть його через pnputil (Завдання 12). Потім перерахуйте.

3) «Мій геймпад показується двічі і введення дублюється.»

Симптом: Одне натискання кнопки дає два події; два записи контролера в joy.cpl або в грі.

Корінь: Віртуальний контролер + фізичний одночасно, або два шари трансляції (Steam Input плюс ремапер).

Виправлення: Вимкніть один шар. Вийдіть з інструментів ремапування (Завдання 4), потім переконайтеся, що в joy.cpl активний лише один контролер (Завдання 2).

4) «Працює в Steam, не працює в інших іграх.»

Симптом: Steam бачить та може перемаповувати, а Windows‑ігри ігнорують.

Корінь: Steam Input транслює; поза Steam гра очікує XInput, а ваш пристрій — DirectInput/HID.

Виправлення: Віддавайте перевагу контролеру з нативним XInput для XInput‑тільки ігор, або налаштуйте один шар трансляції послідовно. Перевірте joy.cpl (Завдання 2) і розгляньте видалення конфліктних драйверів (Завдання 12).

5) «Я почистив HID‑пристрої, і тепер клавіатура/миша дивно поводяться.»

Симптом: Пристрої введення стають ненадійними або зникають.

Корінь: Ви деінсталювали не ті вузли HID (клавіатура/миша належать до того ж класу) або видалили вузол USB‑хаба/контролера.

Виправлення: Перезавантажте і дайте Windows перерахувати. Якщо все ще некоректно — використайте інший USB‑порт, потім запустіть SFC (Завдання 16). Наступного разу: ціліть за VID/PID і FriendlyName, і відключайте непотрібні периферії перед очищенням.

6) «Bluetooth‑спарування пройшло, але контролер не підключається.»

Симптом: Пристрій показує статус спарено, але не підключено; або підключається на мить і відвалюється.

Корінь: Проблеми зі службою Bluetooth, драйвером радіо або з прив’язкою HID‑сервісів.

Виправлення: Перевірте, що bthserv працює (Завдання 7). Перегляньте журнал System на Kernel‑PnP/DriverFrameworks помилки (Завдання 8). Видаліть старі екземпляри пристроїв (Завдання 11), потім повторно спаруйте.

7) «Кнопки неправильно відображені тільки на цьому ПК.»

Симптом: Той самий контролер працює на іншому ПК; на цьому кузові осі/кнопки поміняні місцями.

Корінь: Застаріла конфігурація на рівні екземпляра, залишки драйвера/фільтра або множинні пристрої‑привиди.

Виправлення: Видаліть привиди HID‑контролера (Завдання 11). Переконайтеся, що активний лише один шар мапування (Завдання 4). Перевірте в властивостях контролера (Завдання 5).

Три корпоративні історії з кола бойових дій (анонімні, правдоподібні, і болісні)

Історія 1: Інцидент через неправильне припущення

Команда підтримки у середній компанії розгорнула «стандартний образ робочої станції» для навчальної лабораторії. Лабораторія використовувала геймпади для симуляцій. Хтось тестував на одній моделі контролера, оголосив все добре і пішов далі. У образі був інстальований інструмент перемапування, бо він допомагав одній спадщинній програмі.

Перший тиждень: всім було добре. Другий тиждень: прийшли контролери іншого вендора через закупівлю. Раптом на половині станцій з’являлося «контролер підключено», але симуляція не бачила вводу. Техніки бачили пристрій у HID, знизували плечима і почали ручне перевстановлення драйверів. Це ускладнило ситуацію, бо кожне перевстановлення створювало нові екземпляри пристрою на різних портах USB.

Неправильне припущення було простим: «HID — це HID, все універсально». Ні. Інструмент перемапування встановив фільтр/віртуальний стек, який поводився по‑різному в залежності від дескрипторів звітів контролера. Нові контролери виглядали коректно для Windows, але запускали ремапер, який представляв віртуальний XInput‑пристрій, що симуляція не приймала, одночасно ховаючи фізичний.

Виправлення не було екзотичним: прибрати ремапер з базового образу, стандартизувати контролер, який програма підтримує без трансляції, і задокументувати єдиний дозвільний шар трансляції для спадщинного випадку. Після очищення пристроїв‑привидів і видалення пакета драйвера зі сховища лабораторія перестала «випадково ламатися» щоразу, коли хтось підключав у інший порт USB.

Історія 2: Оптимізація, що виявилася невдалою

Інша організація мала одержимість продуктивністю. Вони хотіли швидших логонів і менше «непотрібних драйверів», тож обрізали класи пристроїв і опційні компоненти з образів Windows. Це спрацювало — поки відділ не потребував Bluetooth‑контролерів для налаштування доступності.

Спарування на папері проходило. Пристрої були парні. Але контролер ніколи не давав прикладного HID‑інтерфейсу. Служба підтримки пройшла звичний шлях: відпарувати, спарувати знову, перевстановити Bluetooth‑драйвер, тихо лаятися, повторювати.

Провал у тому, що вони відключили або видалили компоненти, що забезпечують надійну роботу HID‑over‑Bluetooth. Це була не однаковий драйвер; це була екосистема: служби, компоненти фреймворку і політики щодо встановлення пристроїв. Система була не «тонкою», а ампутованою.

Вони відкотили зміни жорсткого хардінгу для цього класу пристроїв і встановили правило: не оптимізуйте, видаляючи системні елементи, якщо не можете довести граф залежностей і мати план відкату. Зменшувати час завантаження шляхом обрізання компонентів приємно, поки не знадобиться підключити щось, крім клавіатури.

Історія 3: Нудна практика, що врятувала день

Глобальне підприємство мало флот кіосків, які використовували пристрої, схожі на геймпади, для навігації — по суті контролери з іншим брендом. Вони були розгорнуті в полі з обмеженим віддаленим доступом. Коли щось ламалося, не можна було просто «попробувати кілька варіантів». Треба було бути правим з першої або другої спроби.

Команда підтримки вела простий рунбук: захоплювати списки PnP‑пристроїв, інвентаризацію сховища драйверів для релевантних класів і останні 200 подій System, відфільтрованих за Kernel‑PnP і DriverFrameworks. Кожен кіоск виконував завдання за розкладом, яке експортувало ці артефакти локально, щоб польовий технік міг швидко їх отримати.

Одного місяця після рутинного циклу патчів кіоски почали відмовляти. Логи показали послідовні збої старту драйвера з однаковим шаблоном по локаціях. Оскільки в них були базові інвентарі, вони змогли ідентифікувати, що з’явився певний сторонній фільтр‑драйвер і на деяких пристроях множилися екземпляри пристроїв — класика вад привидів і фільтрів.

Виправлення було нудним: деінсталювати той один пакет через pnputil, видалити привиди HID‑екземплярів, перезавантажитися один раз і валідувати. Практика, що врятувала день, не була геніальною. Вона полягала в тому, що у них були готові докази й контрольований процес внесення змін без імпровізації в полі.

FAQ

1) Чи справді потрібно видаляти пристрої‑привиди?

Якщо ви бачите дублікати, нестабільне відображення або «працює на одному порту», то так. Пристрої‑привиди зберігають старий стан. Видалення їх змушує створити новий екземпляр і часто очищує дивні поведінки без чіпання базових драйверів.

2) Чи безпечно видаляти HID‑драйвери?

Не видаляйте базові драйвери Microsoft HID. Безпечний підхід — видалення екземплярів пристроїв (Завдання 11) і видалення конкретних сторонніх пакетів драйверів зі сховища (Завдання 12). Повне знищення HID — шлях до того, щоб залишитися без USB‑клавіатури.

3) Чому контролер працює в Steam, а не в Windows‑іграх?

Steam може транслювати введення (Steam Input) і подавати віртуальний контролер. Поза Steam ігри можуть приймати лише XInput. Виправте це, використовуючи контролер з нативним XInput для таких ігор, або застосуйте один шар трансляції послідовно.

4) У чому практична різниця між XInput і DirectInput?

XInput — це поширена ціль для сучасних Windows‑ігор (особливо з очікуванням Xbox). DirectInput старіший і гнучкіший, але не завжди підтримується. Загальний HID‑контролер може бути видимим через DirectInput, але невидимим для XInput‑тільки ігор.

5) Мій контролер показує «HID‑compliant game controller» від Microsoft. Це завжди добре?

Зазвичай це стабільно. Але не завжди забезпечує вендорські додаткові можливості (спецкнопки, підсвітка, просунута гаптика). Для «заради роботи геймпаду» Microsoft HID‑стек часто є найменш драматичним варіантом.

6) Я видалив сторонній пакет драйвера. Чи Windows його перевстановить?

Якщо ви видалили пакет зі сховища драйверів (Завдання 12), Windows не перевстановить саме цей пакет, поки щось його не занесе знову (інсталятор, бандл‑ПЗ, утиліта пристрою). Windows Update може встановити інший драйвер, якщо вважатиме його відповідним.

7) Чи можуть Windows Update зламати драйвери контролера?

Так, здебільшого опосередковано: оновлення драйверів Bluetooth/USB, зміни політик або «кращий збіг» драйвера можуть змінити прив’язки. Саме тому перевірка провайдера/версії (Завдання 9) і журналів System (Завдання 8) важлива.

8) Чи варто використовувати чекбокс «Видалити програмне забезпечення драйвера для цього пристрою» у Диспетчері пристроїв?

Іноді допомагає, але поведінка непослідовна між пристроями і пакетами. Для детермінованого очищення використовуйте pnputil: ви чітко бачите, який пакет видаляєте і можете переконатися, що він зник.

9) Чому перемикання USB‑порта іноді «вирішує» проблему?

Тому що Windows створює новий шлях екземпляра пристрою для кожного порту/топології. Це може обійти поганий перехідний стан на рівні екземпляра. Але це також створює більше привидів, і тому у вас може з’явитися п’ять ідентичних контролерів, які насправді не присутні.

10) Коли слід ескалувати до ремонту ОС (SFC/DISM або відновлення установки)?

Після того, як ви виключили проблеми транспорту, видалили старі екземпляри, деінсталювали конфліктні сторонні пакети і все ще бачите збої старту драйвера, пов’язані з базовими компонентами. Почніть із SFC (Завдання 16). Ескалюйте тільки з доказами з логів (Завдання 8).

Висновок: що зробити сьогодні ввечері

  1. Пройдіть швидку діагностику: підтвердіть, чи ви в зоні транспорту, прив’язки драйвера або несумісності трансляції.
  2. Перевірте joy.cpl: якщо його там немає, ігри не бачать контролерів самі по собі.
  3. Очисіть екземпляри HID‑контролера за допомогою pnputil remove-device, потім перерахуйте.
  4. Видаляйте лише пакети драйверів, які не потрібні зі сховища драйверів. Не воюйте з поняттям «HID» як таким.
  5. Припиніть накладати шари мапування. Оберіть один: Steam Input або ваш ремапер, а не обидва, якщо не хочете дебажити віртуальні пристрої опівночі.
  6. Перевірте журнали для Kernel‑PnP і DriverFrameworks, щоб знати, чи ви виправили причину або просто змінили симптоми.

Якщо ви зробите це по порядку, виправите більшість ситуацій «геймпад не працює» без перевстановлення Windows, без риття в реєстрі і без жертвування клавіатурою богам HID.

← Попередня
Блокувати USB-накопичувачі без порушення роботи клавіатур і мишей
Наступна →
Оновлення ядра зламало passthrough? Як швидко діагностувати IOMMU

Залишити коментар