Manette non fonctionnelle sous Windows : réparer les pilotes HID proprement

Cet article vous a aidé ?

Rien ne crie « j’aime mes loisirs » comme passer la soirée à fixer le Gestionnaire de périphériques pendant que votre manette clignote en vous narguant. Windows voit quelque chose, votre jeu ne voit rien, et soudain vous vous demandez s’il faut tout réinstaller ou vous mettre aux échecs.

Voici la méthode propre pour y remédier : considérez les manettes pour ce qu’elles sont — des périphériques HID avec pilotes, interfaces, filtres et une longue mémoire des erreurs passées. Nous allons diagnostiquer rapidement, supprimer ce qu’il faut (pas tout), et reconstruire la pile HID sans transformer votre machine en maison hantée USB.

Méthode de diagnostic rapide

Si vous êtes l’astreinte de votre temps libre, vous ne commencez pas par une réinstallation complète. Vous commencez par localiser le goulot d’étranglement. Ce guide est optimisé pour « manette qui ne fonctionne pas » en USB et Bluetooth, Windows 10/11, et les piles de contrôleur courantes (XInput, HID, pilotes constructeur et pilotes filtre).

Premier : décidez si c’est matériel, transport ou pile de pilotes

  • Matériel : la manette s’allume ? câble différent ? port USB différent ? PC différent ? Si elle échoue partout, arrêtez de blâmer Windows.
  • Transport : l’USB s’énumère ? le Bluetooth s’appaire mais se déconnecte ? un échec de transport apparaît généralement dans le Gestionnaire de périphériques ou les journaux d’événements.
  • Pile de pilotes : le périphérique est présent mais de mauvaise classe, entrées dupliquées, « Unknown USB Device », interfaces HID manquantes, ou les jeux ne le voient que dans Steam.

Second : vérifiez les indicateurs à fort signal

  1. Gestionnaire de périphériques : apparaît-il sous « Human Interface Devices » et/ou « Xbox Peripherals » (pour XInput) ? Un point d’exclamation jaune ?
  2. Panneau Périphériques de jeu (joy.cpl) : Windows l’expose-t-il comme un périphérique joystick ? Sinon, la plupart des jeux ne le verront pas non plus.
  3. Observateur d’événements : Kernel-PnP et DriverFrameworks indiquent si le chargement du pilote a échoué, des problèmes de signature, ou une mauvaise interface.
  4. Périphériques fantômes : les anciennes instances peuvent détourner les mappages et la calibration.

Troisième : choisissez l’action corrective la plus petite qui peut fonctionner

  • Si le périphérique est manquant : concentrez-vous sur le câble/port/radio Bluetooth et les erreurs d’énumération.
  • Si le périphérique est présent mais inutilisable : concentrez-vous sur les interfaces HID, les pilotes filtre, et le nettoyage des instances périmées.
  • Si les entrées sont mal mappées ou dérivent : concentrez-vous sur les données de calibration, les périphériques multiples et les couches de traduction de pilotes.

Règle : Ne « nettoyez » pas en supprimant au hasard des pilotes jusqu’à ce que Windows cesse de démarrer. Nous serons chirurgicaux et réversibles.

Comment Windows voit réellement votre manette (pour que les corrections aient du sens)

Pour Windows, une manette n’est pas une seule chose. C’est un petit ensemble d’interfaces qui sont énumérées, classées et liées à des pilotes. Si vous ne savez pas quelle couche échoue, vous continuerez à « réinstaller le pilote » en espérant le meilleur — comme redémarrer une base de données parce qu’une requête est lente.

La pile en clair

  • Transport : USB ou Bluetooth. Les périphériques USB s’énumèrent via le contrôleur hôte USB ; les périphériques Bluetooth passent par la pile Bluetooth et ses profils.
  • Instance(s) de périphérique : Windows crée une instance pour chaque combinaison unique d’ID matériel + port/chemin. Changez de port USB assez souvent et vous collectionnez les souvenirs (périphériques fantômes).
  • Pilote de classe : les périphériques HID se lient typiquement à la pile de classe HID (HIDClass.sys, HidUsb.sys / HidBth.sys).
  • Couches fonctionnelles/traduction : les appareils XInput apparaissent souvent comme classe « Xbox » ; certaines manettes se présentent comme DirectInput générique ; d’autres utilisent une traduction constructeur.
  • Pilotes filtre : optionnels, parfois utiles, souvent la source du mal. Les filtres peuvent remapper, virtualiser ou « améliorer » l’entrée. Ils peuvent aussi la casser.
  • Consommateurs en mode utilisateur : jeux, Steam Input, outils type DS4Windows, Xbox Game Bar, outils d’accessibilité — chacun peut capter et transformer les entrées.

Quand quelqu’un dit « le pilote HID est cassé », il peut vouloir dire :

  • le périphérique ne s’énumère pas,
  • l’interface HID est présente mais son pilote n’a pas démarré,
  • un pilote filtre intercepte et se comporte mal,
  • Windows le voit, mais votre jeu n’écoute que XInput,
  • ou il y a plusieurs périphériques et vous jouez à chasse-trouble avec le mauvais.

Nous allons prouver lequel c’est, avec des preuves. Oui, comme des adultes.

Blague #1 : USB signifie « Universal Serial Bus », mais parfois il se comporte comme « Usually Somewhat Broken ».

Faits & historique (brefs, concrets et étrangement pertinents)

  1. Le HID a été conçu pour éviter les pilotes personnalisés pour l’entrée basique. Le but de la spécification HID (mi‑années 1990) était « branchez et ça marche », surtout pour claviers et souris. Les manettes sont arrivées ensuite.
  2. DirectInput est antérieur à XInput. Les jeux PC plus anciens utilisaient DirectInput ; XInput est arrivé à l’époque de la Xbox 360 et est devenu l’attente par défaut pour beaucoup de jeux modernes.
  3. Windows stocke l’état par instance de périphérique. La calibration, les propriétés et certaines décisions de pilote suivent le chemin d’instance, pas seulement le modèle matériel — d’où le « ça marche sur un port USB, pas sur un autre ».
  4. Les manettes Bluetooth restent des périphériques HID. Elles utilisent souvent HID over GATT (pour BLE) ou des profils HID classiques ; dans tous les cas elles finissent dans la pile HID, via HidBth.sys ou composants liés.
  5. Les pilotes filtre sont une superpuissance héritée. Le modèle de pilote Windows permet aux filtres supérieurs/inférieurs de modifier le comportement. Pratique pour le matériel d’entreprise. Aussi pratique pour des outils de mappage qui oublient de se désinstaller proprement.
  6. Plusieurs API d’entrée coexistent sous Windows. Une manette peut être visible par Windows mais pas par un jeu selon qu’il écoute XInput, Raw Input, DirectInput ou Steam Input.
  7. « HID-compliant game controller » est générique par conception. Cette étiquette ne signifie pas que c’est optimal, juste que Windows peut lui parler selon la norme.
  8. La signature des pilotes s’est durcie. Les versions modernes de Windows sont moins tolérantes aux pilotes non signés ou mal empaquetés. Bon pour la sécurité, moins pour les vieux packs constructeur.
  9. Les périphériques fantômes ne sont pas superstition. Windows conserve des nœuds de périphériques non présents ; ils peuvent encore contenir des configurations qui affectent les nouvelles instances.

Modes de panne : où le HID et les manettes cassent réellement

1) Échec d’énumération (Windows ne voit jamais un périphérique utilisable)

Symptômes : la manette s’allume mais n’apparaît pas dans le Gestionnaire de périphériques ; ou elle apparaît comme « Unknown USB Device (Device Descriptor Request Failed). »

Causes courantes :

  • Mauvais câble (surtout les câbles charge-only).
  • Port/hub USB instable, alimentation insuffisante, ou câblage avant du boîtier défectueux.
  • L’appairage Bluetooth réussit mais les services ne se configurent pas.
  • Quirk de firmware + Windows a mis en cache une instance cassée.

2) Échec de liaison du pilote (le périphérique apparaît, le pilote ne démarre pas)

Symptômes : point d’exclamation jaune dans le Gestionnaire de périphériques, Code 10/Code 28, ou « driver not migrated ».

Causes courantes :

  • Entrées corrompues dans le magasin de pilotes ou installations partielles.
  • Pilotes filtre supérieurs/inférieurs pointant vers des binaires manquants.
  • L’application de la signature empêche les anciens packages.
  • Windows Update a livré un pilote « meilleur » qui est pire pour votre périphérique.

3) Incompatibilité de traduction d’entrée (Windows voit, le jeu non)

Symptômes : il apparaît dans le Gestionnaire de périphériques et parfois dans joy.cpl, mais le jeu l’ignore ; ou Steam le voit mais pas les jeux Windows.

Causes courantes :

  • Le jeu supporte uniquement XInput ; la manette se présente comme HID/DirectInput générique.
  • Steam Input ou un autre remapper prend le contrôle exclusif ou présente un périphérique virtuel en conflit.
  • Plusieurs manettes/périphériques virtuels ; le jeu prend le mauvais.

4) Mauvais mappage, entrées collées, dérive, doubles entrées

Symptômes : boutons inversés, gâchettes qui agissent comme des boutons, dérive du stick, pad directionnel fou, entrées doublées.

Causes courantes :

  • Données de calibration ou état dans le registre liées à une instance périmée.
  • Deux piles en même temps (ex. Steam Input + un outil de mappage) causant des doublons.
  • Le pilote constructeur expose plusieurs interfaces et le jeu choisit la mauvaise.

5) Interférence politique/sécurité d’entreprise

Moins courant à la maison, plus fréquent sur des machines gérées : restrictions d’installation de périphériques, classes de pilotes bloquées, ou règles de signature renforcées. Vous ne pouvez pas « simplement installer le pilote » si la politique l’interdit.

Tâches pratiques : commandes, sorties et la décision que vous prenez

Voici les actions que j’utilise quand je veux des signaux, pas des impressions. Exécutez-les dans PowerShell ou Invite de commandes élevés quand indiqué. Je montre des sorties d’exemple et ce qu’elles signifient.

Task 1: Confirmer que Windows voit des périphériques de contrôle (liste 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-...}

Ce que cela signifie : Si rien de pertinent n’apparaît, vous n’êtes pas encore dans un problème de nettoyage de pilotes — vous êtes en territoire d’énumération/transport.

Décision : Si absent, passez aux vérifications USB/Bluetooth (Tâches 6–8). Si présent mais « Error » ou « Unknown », passez au nettoyage de liaison de pilote (Tâches 10–12).

Task 2: Vérifier la présence dans le panneau Périphériques de jeu (joy.cpl)

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

Ce que cela signifie : joy.cpl est la vue ancienne mais honnête. S’il n’apparaît pas ici, la plupart des jeux non‑Steam ne le verront pas non plus.

Décision : S’il manque : concentrez-vous sur la liaison de l’interface HID. S’il est présent mais que les entrées sont erronées : concentrez-vous sur la calibration/l’état (Tâches 4–5) et les outils filtre.

Task 3: Voir les périphériques HID y compris les « fantômes » (non présents)

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...

Ce que cela signifie : Les entrées « Present False » sont des périphériques fantômes. Ils peuvent contenir des propriétés périmées, des calibrations et parfois créer des doublons déroutants.

Décision : Si vous voyez de nombreuses anciennes instances du même VID/PID de manette, vous devez probablement nettoyer (Tâche 11) après avoir confirmé quelle instance est actuelle.

Task 4: Vérifier si plusieurs couches d’entrée se disputent le flux (indice au niveau des processus)

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

Ce que cela signifie : Des outils comme DS4Windows ou d’autres mappers peuvent créer des manettes virtuelles et masquer la physique, ou provoquer des entrées doublées si les deux sont actifs.

Décision : Pour le diagnostic, quittez temporairement ces outils (et désactivez le démarrage automatique) pour tester le chemin Windows brut en premier.

Task 5: Vérification rapide de la calibration (et pourquoi ça compte)

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

Ce que cela signifie : Cela ouvre l’UI de propriétés sous-jacente où vous pouvez tester axes et boutons. Si la vue de test est erronée ici, aucun remappage côté jeu ne le corrigera vraiment.

Décision : Si l’entrée brute est erronée, passez au nettoyage (Tâches 10–12) et pensez à supprimer l’état de calibration en recréant l’instance du périphérique (Tâche 11) plutôt que de modifier sans cesse les réglages.

Task 6: Vérification santé au niveau USB (le bus se comporte‑t‑il ?)

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\...

Ce que cela signifie : « Unknown USB Device (Device Descriptor Failed) » pointe plus souvent vers un problème physique/transport qu’un problème de nettoyage de pilotes.

Décision : Changez de câble, évitez les hubs, utilisez un port arrière du boîtier. Si le problème persiste sur plusieurs ports, soupçonnez le périphérique ou l’alimentation.

Task 7: Vérification de la pile Bluetooth (état du service)

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

Ce que cela signifie : Si le service Bluetooth Support n’est pas en cours d’exécution, l’appairage peut réussir de manière étrange mais les services HID ne se lieront pas de façon fiable.

Décision : S’il n’est pas en cours, démarrez‑le et mettez‑le sur Automatique. S’il refuse de démarrer, vous êtes en territoire santé OS/politique.

Task 8: Vérifier les erreurs du framework de pilotes (échecs d’installation ou de démarrage)

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.

Ce que cela signifie : C’est Windows qui vous indique que la pile de pilotes n’a pas démarré. Le texte d’erreur contient souvent un code d’état dans les détails complets.

Décision : Si vous voyez des échecs cohérents lors du branchement, inspectez la liaison de pilote et les filtres (Tâches 9–12).

Task 9: Inspecter le pilote spécifique et le code problème du périphérique

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

Ce que cela signifie : ProblemCode 0 est bon. Un code non nul vous oriente vers un démarrage de pilote défaillant, des pilotes manquants ou des problèmes de migration.

Décision : Si le fournisseur est un ancien package constructeur et que c’est cassé, envisagez de revenir à la pile HID générique de Microsoft sauf si vous avez besoin des fonctionnalités constructeur.

Task 10: Identifier les packages pilotes tiers installés qui gênent souvent

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}

Ce que cela signifie : Vous scannez le magasin de pilotes. Les packages comme les pilotes de bus de manette virtuelle peuvent être légitimes, mais ils sont aussi des sources fréquentes de « pourquoi j’ai deux manettes ? »

Décision : Si vous n’utilisez pas intentionnellement un pilote de contrôleur virtuel, prévoyez de le supprimer proprement (Tâche 12). Si vous l’utilisez, assurez‑vous de ne pas avoir deux couches de traduction activées simultanément.

Task 11: Supprimer les instances périphériques fantômes (la méthode propre, pas roulette du registre)

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.

Ce que cela signifie : Vous avez supprimé des nœuds de périphériques non présents. Vous n’avez pas effacé des pilotes système au hasard. Vous avez juste nettoyé des instances périmées pour que la prochaine énumération parte d’un état neuf.

Décision : Après suppression, débranchez/rebranchez (ou désappairez/appairez) et vérifiez joy.cpl à nouveau (Tâche 2).

Task 12: Supprimer un package pilote problématique du magasin de pilotes (avec force si approprié)

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

Driver package deleted successfully.

Ce que cela signifie : Cela supprime le package et désinstalle les périphériques qui l’utilisent. L’option /force sert quand Windows prétend qu’il est « en cours d’utilisation » à cause de nœuds périphériques persistants — ne l’utilisez qu’après avoir confirmé que c’est le bon package.

Décision : Redémarrez si demandé. Puis ré‑énumérez la manette. Si elle revient avec les pilotes Microsoft et se comporte correctement, vous avez fini.

Task 13: Redémarrer le chemin des services Plug and Play de Windows (réinitialisation sûre sans réinstall)

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

Ce que cela signifie : Certains services peuvent ne pas exister sur toutes les éditions ; c’est une tentative au mieux. Cela ne corrigera pas des pilotes cassés, mais peut aider après un nettoyage.

Décision : Si rien ne change, n’allez pas en boucle sur les redémarrages de services. Passez à la vérification des filtres et de la liaison de périphérique.

Task 14: Lister les périphériques liés HID via CIM (plus structuré, bon pour scripts)

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

Ce que cela signifie : Une autre façon de confirmer que Windows considère le périphérique OK au niveau PnP.

Décision : Si Status n’est pas OK, vous déboguez toujours un démarrage/liaison de pilote. Si OK mais les jeux échouent, vous déboguez l’API/de la traduction et les périphériques dupliqués.

Task 15: Vérifier les périphériques désactivés (oui, ça arrive)

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"

Ce que cela signifie : Parfois des périphériques sont désactivés lors d’un dépannage, d’une image système, ou par des politiques. Les réactiver est la réparation la moins dramatique qui soit.

Décision : Si ça reste désactivé après reboot, suspectez une politique ou un pilote qui échoue au démarrage et que Windows désactive le périphérique.

Task 16: Valider l’intégrité des fichiers système (car le HID dépend des pilotes OS)

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.

Ce que cela signifie : Si SFC trouve des corruptions, des échecs liés à HIDClass peuvent être un symptôme, pas la maladie.

Décision : Si SFC signale des réparations, redémarrez et retestez. Si impossible à réparer, vous aurez besoin d’un service OS plus profond — mais ne faites cela qu’après avoir confirmé qu’il ne s’agit pas d’un pilote filtre tiers.

Blague #2 : La façon la plus rapide de reproduire un bug de manette est d’« installer un petit pilote » juste avant un tournoi.

Listes de contrôle / plan étape par étape (réinitialisation propre des pilotes HID sans dommages collatéraux)

Ceci est le plan « faire dans l’ordre ». L’ordre compte parce que l’entrée Windows est en couches, et vous voulez arrêter dès que vous avez une solution stable.

Checklist A : Préparation sécurité (2 minutes, ça vous fait gagner des heures)

  1. Débranchez la manette (et désactivez temporairement le Bluetooth si vous travaillez sur l’USB).
  2. Fermez les remappers (Steam Input, outils type DS4Windows, bus virtuels) pendant le diagnostic.
  3. Créez un point de restauration si vous êtes sur une machine perso et que vous aimez expérimenter. Sur des systèmes gérés, suivez la politique de changement.
  4. Notez le VID/PID depuis les détails du Gestionnaire de périphériques si possible. C’est l’empreinte du périphérique et ça aide à cibler les bonnes entrées.

Checklist B : Déterminez si vous résolvez le bon problème

  1. Exécutez la Tâche 1. Si le périphérique est absent, ne touchez pas aux pilotes.
  2. Exécutez la Tâche 6 (USB) ou la Tâche 7 (Bluetooth). Réparez le transport d’abord.
  3. Ouvrez joy.cpl (Tâche 2). S’il n’est pas présent, vous avez besoin de la santé de la liaison HID.

Checklist C : Nettoyer les instances HID (la partie que la plupart des gens sautent)

  1. Listez les périphériques HID fantômes (Tâche 3).
  2. Supprimez les instances fantômes pour les manettes (Tâche 11).
  3. Rebranchez la manette (ou réappairez le Bluetooth).
  4. Vérifiez à nouveau joy.cpl et l’onglet de test (Tâches 2 & 5).

Checklist D : Supprimer seulement les packages pilotes problématiques

  1. Énumérez les candidats dans le magasin de pilotes (Tâche 10).
  2. Supprimez le package spécifique (Tâche 12), pas « tous les trucs HID que vous trouvez ».
  3. Redémarrez une fois. N’en faites pas un rituel de reboot à chaque clic.
  4. Reconnectez et vérifiez le fournisseur/version du pilote (Tâche 9).

Checklist E : Validez que vous ne créez pas un nouveau problème

  1. Confirmez qu’une seule manette fonctionnelle est visible (joy.cpl, Tâche 2).
  2. Confirmez qu’il n’y a pas de doublons ou de périphérique virtuel non voulu (Tâche 4).
  3. Vérifiez les journaux d’événements pour de nouvelles erreurs (Tâche 8).
  4. Si toujours cassé, lancez SFC (Tâche 16) avant d’envisager une « réparation de l’OS ».

La partie d’opinion : quoi éviter

  • Évitez les « nettoyeurs » de registre. Ils ne comprennent pas l’état PnP ; ils supprimeront des clés utiles et garderont celles qui posent problème.
  • Évitez de désinstaller des entrées « HID-compliant device » au hasard sans vérifier s’il s’agit de votre clavier/souris. Se priver d’entrée est un classique.
  • Évitez d’empiler des traducteurs. Si Steam Input s’en occupe, ne lancez pas un autre mapper sauf si vous savez exactement comment ils interagissent.

Les gens de la fiabilité vivent selon ça : arrêtez de changer les choses une fois que le système est sain. Cela inclut votre propre machine Windows.

Citation (idée paraphrasée) : Gene Kranz (opérations mission Apollo) prônait d’être « dur et compétent » — restez calme, suivez la procédure, ne devinez pas.

Erreurs courantes : symptôme → cause racine → correctif

1) « Elle charge, donc le câble va. »

Symptôme : La manette s’allume, mais Windows ne la détecte pas comme périphérique.

Cause racine : Câble USB charge-only (pas de lignes data) ou câble marginal incapable de maintenir le signal de données.

Fix : Utilisez un câble data connu‑bon. Confirmez l’énumération avec la Tâche 6 (USB Composite Device apparaît).

2) « J’ai supprimé le pilote dans le Gestionnaire de périph., mais il revient cassé. »

Symptôme : Vous désinstallez le périphérique, redémarrez, rebranchez, même échec.

Cause racine : Le package pilote reste dans le magasin de pilotes ; Windows le réinstalle automatiquement.

Fix : Identifiez le package (Tâche 10) et supprimez‑le avec pnputil (Tâche 12). Puis ré‑énumérez.

3) « Ma manette apparaît deux fois et les entrées sont doublées. »

Symptôme : Un appui de bouton équivaut à deux ; deux entrées de manette dans joy.cpl ou dans le jeu.

Cause racine : Manette virtuelle + manette physique exposées, ou deux couches de traduction activées (Steam Input et un mapper).

Fix : Désactivez une couche. Quittez les outils de mappage (Tâche 4), puis vérifiez qu’il n’y a qu’une manette active dans joy.cpl (Tâche 2).

4) « Ça marche dans Steam, pas dans les autres jeux. »

Symptôme : Steam le voit et peut remapper, mais les jeux Windows natifs l’ignorent.

Cause racine : Steam Input traduit ; hors Steam le jeu attend XInput et votre appareil se présente comme DirectInput/HID seulement.

Fix : Préférez une manette qui expose XInput nativement pour les jeux XInput-only, ou configurez une seule couche de traduction cohérente. Vérifiez dans joy.cpl (Tâche 2) et pensez à supprimer les pilotes en conflit (Tâche 12).

5) « J’ai nettoyé les HID et maintenant mon clavier/souris sont bizarres. »

Symptôme : Les périphériques d’entrée deviennent instables ou disparaissent.

Cause racine : Vous avez désinstallé les mauvais nœuds HID (clavier/souris partagent la classe HID) ou retiré un hub/contrôleur USB.

Fix : Redémarrez et laissez Windows ré‑énumérer. Si toujours cassé, utilisez un autre port USB, puis lancez SFC (Tâche 16). La prochaine fois : ciblez par VID/PID et FriendlyName, et débranchez les périphériques inutiles avant le nettoyage.

6) « Le pairing Bluetooth réussit mais la manette ne se connecte pas. »

Symptôme : Le périphérique apparaît comme appairé mais pas connecté ; ou se connecte brièvement puis se déconnecte.

Cause racine : Problèmes de service Bluetooth, pilotes de la radio ou échec de liaison du service HID.

Fix : Vérifiez que bthserv fonctionne (Tâche 7). Consultez le journal Système pour Kernel-PnP/DriverFrameworks (Tâche 8). Supprimez les instances périmées (Tâche 11), puis réappairez.

7) « Les boutons sont mal mappés seulement sur ce PC. »

Symptôme : La même manette fonctionne ailleurs ; ce PC a des axes/boutons inversés.

Cause racine : Configuration périmée par instance, restes de pilotes/filtres, ou multiples instances fantômes.

Fix : Supprimez les instances HID fantômes (Tâche 11). Assurez‑vous qu’une seule couche de mapping est active (Tâche 4). Retestez dans les propriétés de la manette (Tâche 5).

Trois mini‑récits d’entreprise depuis le terrain (anonymisés, plausibles et douloureux)

Récit 1 : L’incident causé par une mauvaise hypothèse

Une équipe support d’entreprise a déployé une « image standard » pour un labo de formation. Le labo utilisait des manettes pour des exercices de simulation. Quelqu’un a testé avec un modèle et a déclaré que tout était bon. L’image incluait un outil de remapping parce qu’il faisait fonctionner une application legacy.

Semaine 1 : tout allait bien. Semaine 2 : de nouvelles manettes d’un autre fournisseur arrivent. Soudain la moitié des postes rapportent « manette connectée » mais le logiciel de simulation ne voit pas les entrées. Les techniciens voyaient le périphérique sous HID, haussaient les épaules et ont commencé à réinstaller les pilotes manuellement. Ça a empiré car chaque réinstallation créait de nouvelles instances de périphériques sur différents ports USB.

L’hypothèse erronée : « HID c’est HID, tout est générique. » Ce n’est pas le cas. L’outil de remapping installait une pile de filtre/virtuel qui se comportait différemment selon les descripteurs du contrôleur. Les nouvelles manettes semblaient valides pour Windows mais déclenchaient le remapper qui présentait un périphérique XInput virtuel que la simulation n’acceptait pas, tout en masquant la manette physique.

La correction n’était pas exotique : retirer le remapper de l’image de base, standardiser sur une manette supportée sans traduction, et documenter la seule couche de traduction autorisée pour le cas legacy. Après avoir nettoyé les périphériques fantômes et supprimé le package du magasin, le labo a cessé de « tomber » quand on changeait de port USB.

Récit 2 : L’optimisation qui s’est retournée contre eux

Une autre organisation, obsédée par la performance, voulait des connexions plus rapides et moins de « pilotes inutiles », alors elle a trimé les classes de périphériques et composants optionnels des builds Windows. Ça marchait — jusqu’à ce qu’un service ait besoin de manettes Bluetooth pour une configuration d’accessibilité.

L’appairage fonctionnait en apparence. Les périphériques étaient appairés. Mais la manette n’exposait jamais une interface HID exploitable par les applications. Le support a déroulé le parcours habituel : désappairer, réappairer, réinstaller les pilotes Bluetooth, marmonner puis répéter.

Le retour de bâton : ils avaient désactivé ou supprimé des composants et services qui rendent fiable le HID-over-Bluetooth. Ce n’était pas un seul pilote ; c’était l’écosystème : services, composants framework, et restrictions de politique autour de l’installation des périphériques. Le système n’était pas « léger », il était amputé.

Ils ont annulé les changements de durcissement pour cette classe de périphérique et établi une règle : n’enlevez pas la plomberie OS à moins d’avoir prouvé les dépendances et d’avoir une procédure de secours. Élaguer le temps de démarrage fait plaisir jusqu’au moment où vous branchez autre chose qu’un clavier.

Récit 3 : La pratique ennuyeuse qui a sauvé la situation

Une entreprise mondiale exploitait des kiosques utilisant des périphériques type manette pour la navigation — des contrôleurs rebadgés. Déployés sur le terrain avec un accès distant limité, en cas de problème il ne fallait pas « essayer des choses ». Il fallait être juste au premier ou second créneau de maintenance.

L’équipe maintenait un runbook simple : capturer les listes PnP, l’inventaire du magasin de pilotes pour les classes pertinentes, et les 200 derniers événements Système filtrés par Kernel-PnP et DriverFrameworks. Chaque kiosque exportait ces artefacts via une tâche planifiée pour que le technicien terrain puisse les récupérer rapidement.

Un mois, après un cycle de patchs, les kiosques ont commencé à échouer. Les journaux montraient des échecs de démarrage de pilote répétés avec le même motif. Grâce aux inventaires de base, ils ont identifié qu’un driver filtre tiers était apparu et que les instances de périphérique avaient proliféré sur certaines unités — comportement typique de fantômes et filtres.

La correction était ennuyeuse : désinstaller ce package avec pnputil, supprimer les instances HID fantômes, redémarrer une fois, valider. Ce qui a sauvé la situation n’était pas du génie. C’était le fait d’avoir des preuves prêtes et un processus contrôlé pour appliquer les changements sans improvisation sur le terrain.

FAQ

1) Dois‑je vraiment supprimer les périphériques fantômes ?

Si vous voyez des doublons, des mappages incohérents ou « ça marche sur un port », oui. Les périphériques fantômes conservent de l’état ancien. Les supprimer force une instance neuve et règle souvent les étrangetés sans toucher aux pilotes système.

2) Est‑ce sûr de supprimer des pilotes HID ?

N’effacez pas les pilotes de classe HID Microsoft. L’approche sûre est de supprimer les instances de périphérique (Tâche 11) et de retirer les packages pilotes tiers spécifiques du magasin (Tâche 12). Éradiquer HID en masse conduit à dépanner un clavier USB qui ne fonctionne plus.

3) Pourquoi la manette marche dans Steam mais pas dans les jeux Windows ?

Steam peut traduire les entrées (Steam Input) et présenter une manette virtuelle. Hors Steam, les jeux peuvent n’accepter que XInput. Solution : utiliser une manette exposant XInput nativement pour ces jeux, ou utiliser une seule couche de traduction cohérente.

4) Quelle est la différence pratique entre XInput et DirectInput ?

XInput est la cible commune pour les jeux Windows modernes (surtout ceux développés avec l’attente d’une manette Xbox). DirectInput est plus ancien et plus flexible, mais pas toujours pris en charge. Une manette HID générique peut être visible en DirectInput mais invisible pour des titres XInput-only.

5) Ma manette affiche « HID-compliant game controller » avec Microsoft comme fournisseur. Est‑ce toujours bon ?

C’est généralement stable. Ce n’est pas toujours complet en fonctionnalités pour extras constructeur (boutons spéciaux, LEDs, haptiques avancés). Mais pour « faire fonctionner la manette », la pile HID Microsoft est souvent l’option la moins dramatique.

6) J’ai supprimé un package tiers. Windows va‑t‑il le réinstaller ?

Si vous avez supprimé le package du magasin de pilotes (Tâche 12), Windows ne réinstallera pas ce package exact à moins que quelque chose ne le réintroduise (un installateur, un utilitaire ou un logiciel fourni). Windows Update peut toujours installer un pilote différent s’il estime qu’il correspond.

7) Les mises à jour Windows peuvent casser les pilotes de manette ?

Oui, souvent indirectement : mise à jour d’un pilote Bluetooth/USB, modifications de politique, ou un « meilleur correspondant » de pilote qui change la liaison. D’où l’importance de vérifier le fournisseur/version (Tâche 9) et les journaux Système (Tâche 8).

8) Dois‑je utiliser la case « Supprimer le logiciel de pilote pour ce périphérique » dans le Gestionnaire de périphériques ?

Ça peut aider, mais c’est variable selon les périphériques et packages. Pour un nettoyage déterministe, utilisez pnputil : vous voyez exactement quel package vous supprimez et vous confirmez sa suppression.

9) Pourquoi changer de port USB « règle » parfois le problème ?

Parce que Windows crée un chemin d’instance par port/topologie. Cela peut contourner un état par‑instance corrompu. Ça crée aussi plus de fantômes, d’où cinq manettes identiques qui ne sont pas réellement présentes.

10) Quand dois‑je escalader à une réparation OS (SFC/DISM ou réparation) ?

Après avoir éliminé les problèmes de transport, supprimé les instances périmées, retiré les packages tiers en conflit, et si vous voyez encore des échecs de démarrage de pilotes liés à des composants core. Commencez par SFC (Tâche 16). Escaladez seulement avec des preuves issues des journaux (Tâche 8).

Conclusion : prochaines étapes que vous pouvez faire ce soir

  1. Exécutez la méthode de diagnostic rapide : confirmez si vous êtes en territoire transport, liaison de pilote ou incompatibilité de traduction.
  2. Vérifiez joy.cpl : s’il manque là, les jeux ne le verront pas magiquement ailleurs.
  3. Nettoyez les instances HID fantômes avec pnputil remove-device, puis ré‑énumérez.
  4. Supprimez seulement les packages pilotes indésirables du magasin. Ne faites pas la guerre au concept « HID ».
  5. Arrêtez d’empiler des couches de mapping. Choisissez‑en une : Steam Input ou un mapper dédié, pas les deux, sauf si vous aimez déboguer des périphériques virtuels à minuit.
  6. Revérifiez les journaux pour Kernel-PnP et DriverFrameworks afin de savoir si vous avez corrigé la cause ou seulement changé les symptômes.

Si vous faites ces étapes dans l’ordre, vous réparerez la plupart des situations « manette qui ne marche pas » sans réinstaller Windows, sans fouiller le registre et sans sacrifier votre clavier aux dieux du HID.

← Précédent
Bloquer le stockage USB sans casser claviers et souris
Suivant →
Une mise à jour du noyau a cassé le passthrough ? Diagnostiquer rapidement l’IOMMU

Laisser un commentaire