Nada dice “amo mis hobbies” como pasarse la tarde mirando el Administrador de dispositivos mientras tu gamepad está ahí, parpadeando con aire de suficiencia. Windows ve algo, tu juego no ve nada, y de pronto te planteas si reinstalar todo o dedicarte al ajedrez.
Esta es la forma limpia de arreglarlo: trata los mandos como lo que son—dispositivos HID con controladores, interfaces, filtros y una larga memoria de errores pasados. Diagnostiquemos rápido, eliminemos lo justo (no todo), y reconstruyamos la pila HID sin convertir tu equipo en una casa encantada USB.
Ficha rápida de diagnóstico
Si estás a cargo de tu propio tiempo de ocio, no empiezas con una reinstalación completa. Empiezas ubicando el cuello de botella. Esta ficha está optimizada para “gamepad no funciona” en USB y Bluetooth, Windows 10/11, y las pilas de controladores comunes (XInput, HID, controladores del fabricante y filtros).
Primero: decide si es hardware, transporte o la pila de controladores
- Hardware: ¿el mando se enciende? ¿otro cable? ¿otro puerto USB? ¿otro PC? Si falla en todas partes, deja de culpar a Windows.
- Transporte: ¿USB se enumera? ¿Bluetooth empareja pero se desconecta? Los fallos de transporte suelen aparecer en el Administrador de dispositivos o en los registros de eventos.
- Pila de controladores: el dispositivo está presente pero con clase equivocada, entradas duplicadas, “Unknown USB Device”, interfaces HID faltantes, o los juegos solo lo ven en Steam.
Segundo: revisa los indicadores con mayor señal
- Administrador de dispositivos: ¿aparece bajo “Human Interface Devices” y/o “Xbox Peripherals” (para XInput)? ¿Algún icono amarillo?
- Panel de dispositivos de juego (joy.cpl): ¿Windows lo expone como dispositivo joystick? Si no, la mayoría de juegos tampoco lo verán.
- Visor de eventos: errores de Kernel-PnP y DriverFrameworks te indican si el cargado del controlador falló, problemas de firma o una interfaz defectuosa.
- Dispositivos fantasma: instancias antiguas pueden secuestrar mapeos y calibración.
Tercero: elige la acción correctiva más pequeña que pueda funcionar
- Si el dispositivo está ausente: céntrate en el cable/puerto/radio Bluetooth y errores de enumeración.
- Si el dispositivo está presente pero inutilizable: céntrate en interfaces HID, controladores filtro y limpieza de instancias obsoletas.
- Si las entradas están mal mapeadas o hay deriva: céntrate en datos de calibración, múltiples dispositivos y capas de traducción de controladores.
Regla: No “limpies” borrando controladores al azar hasta que Windows deje de arrancar. Seremos quirúrgicos y reversibles.
Cómo Windows realmente ve tu gamepad (para que las correcciones tengan sentido)
Un controlador no es una sola cosa para Windows. Es una pequeña colección de interfaces que se enumeran, clasifican y vinculan a controladores. Si no sabes qué capa está fallando, seguirás “reinstalando el controlador” con la esperanza de lo mejor—como reiniciar una base de datos porque una consulta va lenta.
La pila en lenguaje llano
- Transporte: USB o Bluetooth. Los dispositivos USB se enumeran a través del controlador host USB; los dispositivos Bluetooth llegan vía la pila Bluetooth y sus perfiles.
- Instancia(s) del dispositivo: Windows crea una instancia por cada combinación única de hardware ID + puerto/ruta. Cambia de puerto USB suficientes veces y coleccionas recuerdos (dispositivos fantasma).
- Controlador de clase: los dispositivos HID típicamente se vinculan a la pila de clase HID (HIDClass.sys, HidUsb.sys / HidBth.sys).
- Capa funcional/de traducción: los dispositivos XInput suelen presentarse como clase “Xbox”; algunos mandos aparecen como DirectInput genérico; otros usan traducción del fabricante.
- Controladores filtro: opcionales, a veces útiles, a menudo fuente de problemas. Los filtros pueden remapear, virtualizar o “mejorar” la entrada. También pueden romperla.
- Consumidores en modo usuario: juegos, Steam Input, herramientas tipo DS4Windows, Barra de juegos de Windows, herramientas de accesibilidad—cada uno puede capturar y transformar la entrada.
Cuando alguien dice “el controlador HID está roto”, puede referirse a:
- el dispositivo no se está enumerando,
- la interfaz HID está presente pero su controlador no arrancó,
- un controlador filtro está interceptando y comportándose mal,
- Windows lo ve, pero tu juego solo escucha XInput,
- o hay múltiples dispositivos y estás jugando al Whac-A-Mole con el incorrecto.
Vamos a demostrar cuál es, con evidencias. Sí, como adultos.
Broma #1: USB significa “Universal Serial Bus”, pero a veces se comporta como “Usualmente Algo Roto”.
Datos interesantes e historia (corta, concreta y extrañamente relevante)
- HID se diseñó para evitar controladores personalizados para entrada básica. El objetivo de la especificación HID (mediados de los 90) fue “conéctalo y funciona”, especialmente para teclados y ratones. Los controladores se sumaron después.
- DirectInput existió antes que XInput. Los juegos antiguos usaban DirectInput para joysticks y gamepads; XInput llegó en la era Xbox 360 y se convirtió en la expectativa por defecto de muchos juegos modernos.
- Windows almacena estado por instancia de dispositivo. Calibración, propiedades e incluso algunas decisiones de controlador siguen la ruta de la instancia, no solo el modelo de hardware—de ahí “funciona en un puerto USB, no en otro”.
- Los gamepads Bluetooth siguen siendo dispositivos HID. A menudo usan HID sobre GATT (para BLE) o perfiles HID clásicos; en ambos casos terminas en la pila HID, solo que vía HidBth.sys u otros componentes relacionados.
- Los controladores filtro son un superpoder legado. El modelo de controladores de Windows permite filtros superiores/inferiores para modificar el comportamiento. Genial para hardware empresarial. También genial para herramientas “mapper” que se olvidan de limpiar.
- Windows tiene múltiples APIs de entrada funcionando en paralelo. Un controlador puede ser visible para Windows pero no para un juego concreto dependiendo de si este escucha XInput, Raw Input, DirectInput o Steam Input.
- “HID-compliant game controller” es genérico por diseño. Esa etiqueta no significa que sea óptimo, solo que Windows puede comunicarse con él de forma estándar.
- La firma de controladores se volvió más estricta. Las versiones modernas de Windows son menos tolerantes con controladores no firmados o paquetes mal empaquetados. Eso es bueno para seguridad, malo para paquetes antiguos “que funcionan en mi máquina”.
- Los dispositivos fantasma no son superstición. Windows mantiene nodos de dispositivo no presentes; aún pueden conservar configuraciones que afectan cómo se comportan nuevas instancias.
Modos de fallo: dónde HID y los controladores realmente se rompen
1) Fallo de enumeración (Windows nunca ve un dispositivo utilizable)
Síntomas: el mando se enciende pero no aparece en el Administrador de dispositivos; o aparece como “Unknown USB Device (Device Descriptor Request Failed).”
Causas comunes:
- Cable malo (especialmente cables solo para carga).
- Puerto/hub USB inestable, alimentación insuficiente o cableado frontal defectuoso.
- Emparejamiento Bluetooth correcto pero los servicios fallan al configurar.
- Quirk de firmware + Windows almacenó una instancia rota en caché.
2) Fallo de enlace del controlador (el dispositivo aparece, el controlador no arranca)
Síntomas: icono amarillo en el Administrador de dispositivos, Código 10/Código 28, o “driver not migrated”.
Causas comunes:
- Entradas corruptas en el almacén de controladores o instalaciones parciales.
- Controladores filtro superiores/inferiores que referencian binarios faltantes.
- La aplicación de firma bloquea paquetes antiguos.
- Windows Update entregó un “mejor” controlador que es peor para tu dispositivo.
3) Desajuste en la traducción de entradas (Windows lo ve, el juego no)
Síntomas: aparece en el Administrador de dispositivos y a veces en joy.cpl, pero el juego lo ignora; o Steam lo ve pero los juegos de Windows no.
Causas comunes:
- El juego solo soporta XInput; el controlador se presenta como HID/DirectInput genérico.
- Steam Input u otro remapeador toma control exclusivo o presenta un dispositivo virtual que entra en conflicto.
- Múltiples controladores/dispositivos virtuales; el juego agarra el equivocado.
4) Mapeo erróneo, entradas atascadas, deriva, entradas duplicadas
Síntomas: botones intercambiados, gatillos que actúan como botones, deriva del stick, D-pad errático, entradas duplicadas.
Causas comunes:
- Datos de calibración o estado en el registro ligados a una instancia de dispositivo obsoleta.
- Dos pilas a la vez (por ejemplo, Steam Input + una herramienta mapper) causando duplicados.
- El controlador del fabricante expone múltiples interfaces y el juego elige la equivocada.
5) Interferencia por seguridad/política empresarial
Menos común en casa, más común en equipos gestionados: restricciones en la instalación de dispositivos, clases de controladores bloqueadas o políticas de firma más estrictas. No puedes “simplemente instalar el controlador” si la política lo impide.
Tareas prácticas: comandos, salidas y la decisión que tomas
Estos son los movimientos que uso cuando necesito señal, no intuiciones. Ejecútalos en PowerShell o Símbolo del sistema con elevación donde se indica. Mostraré salidas de ejemplo y qué significan.
Tarea 1: Confirma que Windows ve dispositivos del controlador en general (listado 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-...}
Qué significa: Si no aparece nada relevante, no estás ante un problema de limpieza de controladores aún—estás en territorio de enumeración/transporte.
Decisión: Si está ausente, salta a las comprobaciones de USB/Bluetooth (Tareas 6–8). Si está presente pero “Error” o “Unknown”, avanza a la limpieza de enlaces de controlador (Tareas 10–12).
Tarea 2: Comprueba la presencia en el panel de dispositivos de juego (joy.cpl)
cr0x@server:~$ cmd /c "start joy.cpl"
Qué significa: joy.cpl es la vista antigua pero honesta. Si no aparece aquí, la mayoría de juegos no lo verán tampoco.
Decisión: Si falta: céntrate en el enlace del controlador / salud de la interfaz HID. Si está presente pero las entradas están mal: céntrate en calibración/estado (Tareas 4–5) y en herramientas filtro.
Tarea 3: Ver dispositivos HID incluyendo los “fantasma” (no presentes)
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...
Qué significa: Las entradas con “Present False” son dispositivos fantasma. Pueden conservar propiedades obsoletas, calibración y ocasionalmente duplicados confusos.
Decisión: Si ves muchas instancias antiguas del mismo VID/PID del controlador, probablemente necesites limpieza (Tarea 11) tras confirmar cuál instancia es la actual.
Tarea 4: Comprueba si múltiples capas de entrada están en conflicto (pista a nivel de procesos)
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
Qué significa: Herramientas como DS4Windows u otros mappers pueden crear controladores virtuales y ocultar el físico, o causar doble entrada si ambos están activos.
Decisión: Para el diagnóstico, cierra temporalmente estas herramientas (y deshabilita el inicio automático) para probar primero la ruta Windows sin alteraciones.
Tarea 5: Comprobación rápida de calibración (y por qué importa)
cr0x@server:~$ cmd /c "control /name Microsoft.GameControllers"
Qué significa: Abre la misma interfaz de propiedades del controlador donde puedes probar ejes y botones. Si la vista de prueba está mal aquí, ningún remapeo del juego lo arreglará del todo.
Decisión: Si la entrada cruda está mal, pasa a la limpieza (Tareas 10–12) y considera eliminar el estado de calibración recreando la instancia del dispositivo (Tarea 11) en lugar de ajustar sin fin.
Tarea 6: Comprobación de salud a nivel USB (¿se comporta el bus?)
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\...
Qué significa: “Unknown USB Device (Device Descriptor Failed)” apunta más a un problema físico/transporte que a una cuestión de limpieza de controladores.
Decisión: Cambia de cable, evita hubs, usa un puerto trasero de placa. Si persiste en varios puertos, sospecha del dispositivo o de la entrega de energía.
Tarea 7: Comprobación de la pila Bluetooth (estado del servicio)
cr0x@server:~$ powershell -NoProfile -Command "Get-Service bthserv | Select Name,Status,StartType"
Name Status StartType
---- ------ ---------
bthserv Running Automatic
Qué significa: Si el Servicio de soporte Bluetooth no está en ejecución, el emparejamiento puede parecer exitoso pero los servicios HID no se vincularán de forma fiable.
Decisión: Si no está en ejecución, inícialo y ponlo en Automático. Si no arranca, estás en territorio de salud del SO/política.
Tarea 8: Verifica errores del framework de controladores (fallos de instalación y arranque)
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.
Qué significa: Windows te está diciendo que la pila de controladores no arrancó. El texto de error a menudo incluye un código de estado en los detalles completos.
Decisión: Si ves fallos consistentes en el momento del plug-in, procede a inspeccionar el enlace del controlador y los filtros (Tareas 9–12).
Tarea 9: Inspecciona el controlador específico del dispositivo y el código de problema
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
Qué significa: ProblemCode 0 es bueno. Un código distinto de cero te dirige hacia fallos de arranque del controlador, controladores faltantes o problemas de migración.
Decisión: Si el proveedor es un paquete antiguo del fabricante y las cosas están rotas, considera volver a la pila HID genérica de Microsoft a menos que necesites funciones del fabricante.
Tarea 10: Identifica paquetes de controlador de terceros instalados que interfieren
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}
Qué significa: Estás escaneando el almacén de controladores. Paquetes como controladores de bus de gamepad virtual pueden ser legítimos, pero también son fuentes frecuentes de “¿por qué tengo dos controladores?”.
Decisión: Si no usas intencionadamente un controlador virtual, planifica eliminarlo limpiamente (Tarea 12). Si lo usas, asegúrate de no tener dos capas de traducción activas al mismo tiempo.
Tarea 11: Elimina instancias fantasma (la forma limpia, no jugar con el registro)
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.
Qué significa: Eliminaste nodos de dispositivo no presentes. No borraste controladores del sistema al azar. Simplemente limpiaste instancias obsoletas para que la siguiente enumeración empiece fresca.
Decisión: Tras la eliminación, desconecta/reconecta (o desempareja/vuelve a emparejar) y comprueba joy.cpl de nuevo (Tarea 2).
Tarea 12: Elimina un paquete de controlador problemático del almacén (con fuerza cuando corresponda)
cr0x@server:~$ powershell -NoProfile -Command "pnputil /delete-driver oem42.inf /uninstall /force"
Microsoft PnP Utility
Driver package deleted successfully.
Qué significa: Esto elimina el paquete y desinstala los dispositivos que lo usan. El flag /force es para cuando Windows insiste que está “en uso” debido a nodos de dispositivo residuales—úsalo solo después de confirmar que es el paquete correcto.
Decisión: Reinicia si se solicita. Luego reenumera el controlador. Si vuelve con controladores de Microsoft y funciona, has terminado.
Tarea 13: Reinicia la ruta de servicios Plug and Play de Windows (reinicio seguro sin reinstalar)
cr0x@server:~$ powershell -NoProfile -Command "Restart-Service -Name DeviceInstall -ErrorAction SilentlyContinue; Restart-Service -Name DsmSvc -ErrorAction SilentlyContinue; 'attempted service restarts'"
attempted service restarts
Qué significa: Algunos servicios pueden no existir en todas las ediciones; esto es un empujón de mejores esfuerzos. No arreglará controladores rotos, pero puede ayudar tras la limpieza.
Decisión: Si nada cambia, no sigas reiniciando servicios. Pasa a verificar filtros y enlace de dispositivo.
Tarea 14: Lista dispositivos relacionados con HID vía CIM (más estructurado, bueno para scripting)
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
Qué significa: Otra forma de confirmar que Windows considera el dispositivo OK en la capa PnP.
Decisión: Si Status no es OK, sigues depurando arranque/enlace del controlador. Si está OK pero los juegos fallan, depura la API/traducción y dispositivos duplicados.
Tarea 15: Comprueba dispositivos deshabilitados (sí, pasa)
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"
Qué significa: A veces los dispositivos se deshabilitan durante la resolución de problemas, la imagen del sistema o por cambios de políticas. Volver a habilitar es la solución menos dramática que existe.
Decisión: Si permanece deshabilitado tras reiniciar, sospecha de políticas o de un controlador que falla al arrancar provocando que Windows lo deshabilite.
Tarea 16: Valida la integridad de archivos del sistema (porque HID depende de controladores centrales)
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.
Qué significa: Si SFC encuentra corrupción, fallos relacionados con HIDClass pueden ser un síntoma, no la enfermedad.
Decisión: Si SFC reporta reparaciones, reinicia y vuelve a probar. Si no puede reparar, necesitarás una reparación más profunda del SO—pero no hagas eso hasta haber confirmado que no se trata solo de un controlador filtro de terceros.
Broma #2: La forma más rápida de reproducir un bug de controlador es “instalar un driver pequeñito” justo antes de un torneo.
Listas de verificación / plan paso a paso (reinicio limpio de controladores HID sin daños colaterales)
Este es el plan “hazlo en orden”. El orden importa porque la entrada en Windows está por capas, y quieres parar tan pronto como encuentres una solución estable.
Lista A: Seguridad previa al vuelo (2 minutos, ahorra horas)
- Desconecta el controlador (y deshabilita Bluetooth temporalmente si trabajas en USB).
- Cierra remapeadores (Steam Input, herramientas tipo DS4Windows, herramientas de bus virtual) durante el diagnóstico.
- Crea un punto de restauración si estás en un equipo personal y sueles experimentar. En sistemas gestionados, sigue la política de cambios.
- Apunta el VID/PID desde los detalles del Administrador de dispositivos si puedes. Es la huella del dispositivo y te ayuda a apuntar las entradas correctas.
Lista B: Determina si estás resolviendo el problema correcto
- Ejecuta la Tarea 1. Si el dispositivo falta, no toques controladores todavía.
- Ejecuta la Tarea 6 (USB) o la Tarea 7 (Bluetooth). Arregla el transporte primero.
- Abre joy.cpl (Tarea 2). Si no está, necesitas salud en el enlace del controlador / interfaz HID.
Lista C: Limpia instancias del dispositivo HID (la parte que la mayoría omite)
- Lista dispositivos HID fantasma (Tarea 3).
- Elimina instancias fantasma de controladores (Tarea 11).
- Vuelve a enchufar el controlador (o vuelve a emparejar Bluetooth).
- Revisa joy.cpl y la pestaña de prueba (Tareas 2 y 5).
Lista D: Elimina solo los paquetes de controladores problemáticos
- Enumera candidatos en el almacén de controladores (Tarea 10).
- Elimina el paquete específico (Tarea 12), no “cada cosa HID” que encuentres.
- Reinicia una vez. No hagas rituales de reinicio por cada paso.
- Vuelve a conectar y verifica proveedor/versión del controlador (Tarea 9).
Lista E: Valida que no estás creando un nuevo problema
- Confirma que solo un controlador funcional es visible (joy.cpl, Tarea 2).
- Confirma que no tienes duplicados o un dispositivo virtual no deseado (Tarea 4).
- Revisa los registros de eventos por errores recientes (Tarea 8).
- Si sigue roto, ejecuta SFC (Tarea 16) antes de escalar a “reparar instalación”.
La parte opinada: qué evitar
- Evita limpiadores de registro. No entienden el estado PnP; borrarán claves que necesitabas y mantendrán las que no.
- Evita desinstalar entradas “HID-compliant device” al azar sin comprobar cuál es tu teclado/ratón. Quedarte sin entrada es clásico.
- Evita apilar traductores. Si Steam Input lo está haciendo, no ejecutes otro mapper a la vez a menos que sepas exactamente cómo interaccionan.
La gente de fiabilidad vive por esto: deja de cambiar cosas una vez que el sistema está sano. Eso incluye tu propia máquina Windows.
Frase (idea parafraseada): Gene Kranz (operaciones de misión Apolo) impulsaba el principio de ser “duro y competente”—mantén la calma, sigue el procedimiento, no adivines.
Errores comunes: síntoma → causa raíz → solución
1) “Se carga, así que el cable está bien.”
Síntoma: El mando se enciende, pero Windows no lo detecta como dispositivo.
Causa raíz: Cable USB solo para carga (sin líneas de datos) o cable marginal que no mantiene la señal de datos.
Solución: Usa un cable de datos conocido. Confirma la enumeración con la Tarea 6 (aparece USB Composite Device).
2) “Quité el controlador en el Administrador de dispositivos, pero vuelve roto.”
Síntoma: Desinstalas el dispositivo, reinicias, lo vuelves a enchufar y el mismo fallo aparece.
Causa raíz: El paquete del controlador permanece en el almacén de controladores; Windows lo reinstala automáticamente.
Solución: Identifica el paquete (Tarea 10) y elimínalo con pnputil (Tarea 12). Luego reenumera.
3) “Mi gamepad aparece dos veces y las entradas se duplican.”
Síntoma: Pulsar un botón actúa como dos; hay dos entradas en joy.cpl o en el juego.
Causa raíz: Controlador virtual + físico expuestos, o dos capas de traducción activas (Steam Input más un mapper).
Solución: Desactiva una capa. Cierra herramientas de mapeo (Tarea 4), luego verifica que solo haya un controlador activo en joy.cpl (Tarea 2).
4) “Funciona en Steam, no en otros juegos.”
Síntoma: Steam lo ve y puede remapear, pero juegos fuera de Steam lo ignoran.
Causa raíz: Steam Input está traduciendo; fuera de Steam el juego espera XInput y tu dispositivo se presenta solo como DirectInput/HID.
Solución: Prefiere un controlador que exponga XInput nativamente para juegos XInput-only, o configura una sola capa de traducción de forma consistente. Confirma en joy.cpl (Tarea 2) y considera eliminar controladores conflictivos (Tarea 12).
5) “Limpié dispositivos HID y ahora mi teclado/ratón van raro.”
Síntoma: Dispositivos de entrada se vuelven poco fiables o desaparecen.
Causa raíz: Desinstalaste nodos HID equivocados (teclado/ratón comparten clase HID) o eliminaste un nodo de hub/controlador USB.
Solución: Reinicia y deja que Windows reenumere. Si sigue fallando, usa otro puerto USB y luego ejecuta SFC (Tarea 16). La próxima vez: apunta por VID/PID y FriendlyName, y desconecta periféricos innecesarios antes de limpiar.
6) “El emparejamiento Bluetooth funciona pero el mando no se conecta.”
Síntoma: El dispositivo aparece como emparejado, pero no conectado; o se conecta brevemente y cae.
Causa raíz: Problemas con el servicio Bluetooth, controladores del radio o el enlace del servicio HID que falla.
Solución: Verifica que bthserv esté en ejecución (Tarea 7). Revisa el registro del Sistema por errores Kernel-PnP/DriverFrameworks (Tarea 8). Elimina instancias obsoletas (Tarea 11), luego vuelve a emparejar.
7) “Los botones están mal mapeados solo en este PC.”
Síntoma: El mismo controlador funciona en otros equipos; en este, ejes/botones están intercambiados.
Causa raíz: Estado por instancia obsoleto, restos de controladores/filtros antiguos o múltiples instancias fantasma.
Solución: Elimina instancias fantasma del controlador HID (Tarea 11). Asegúrate de que solo una capa de mapeo esté activa (Tarea 4). Vuelve a probar en las propiedades del controlador (Tarea 5).
Tres microhistorias corporativas desde el terreno (anonimizadas, plausibles y dolorosas)
Historia 1: El incidente causado por una suposición equivocada
Un equipo de soporte en una empresa mediana desplegó una “imagen estándar de estación” para un laboratorio de formación. El laboratorio usaba gamepads para ejercicios de simulación. Alguien probó con un modelo y dijo que estaba bien. La imagen incluía una herramienta de remapeo porque hacía que una app antigua funcionara.
Semana uno: todo bien. Semana dos: llegaron mandos de otro proveedor porque compras consiguió una mejor oferta. De repente, la mitad de las estaciones reportaban “controlador conectado” pero el software de simulación no veía entradas. Los técnicos vieron el dispositivo bajo HID, encogieron los hombros y empezaron a reinstalar controladores manualmente. Eso empeoró las cosas porque cada reinstalación creó nuevas instancias de dispositivo en distintos puertos USB.
La suposición equivocada fue simple: “HID es HID, todo es genérico.” No lo es. La herramienta remapadora instalada creó una pila de filtro/dispositivo virtual que se comportaba diferente según los descriptores de informe del controlador. Los nuevos controladores parecían válidos para Windows pero activaban al remapador para presentar un dispositivo XInput virtual que la simulación no aceptaba, mientras ocultaba el dispositivo físico.
La solución no fue exótica: quitar el remapador de la imagen base, estandarizar en un controlador que la app soportara sin traducción, y documentar la única capa de traducción permitida para ese caso legacy. Una vez limpiaron dispositivos fantasma y borraron el paquete del almacén, el laboratorio dejó de “romperse aleatoriamente” cada vez que alguien usaba otro puerto USB.
Historia 2: La optimización que salió mal
Otra organización era obsesiva con el rendimiento. Querían inicios de sesión más rápidos y menos “controladores innecesarios”, así que recortaron clases de dispositivos y componentes opcionales de sus builds de Windows. Funcionó—hasta que un departamento necesitó controladores Bluetooth para una configuración de accesibilidad.
El emparejamiento funcionaba en apariencia. Los dispositivos aparecían como emparejados. Pero el mando nunca expuso una interfaz HID utilizable para las aplicaciones. El helpdesk repitió la rutina: desemparejar, emparejar, reinstalar controladores Bluetooth, maldecir en voz baja, repetir.
El problema fue que habían deshabilitado o eliminado componentes y servicios que hacen fiable HID-over-Bluetooth. No era un único controlador; era el ecosistema: servicios, componentes del framework y restricciones de política sobre instalación de dispositivos. El sistema no estaba “delgado”, estaba amputado.
Revirtieron los cambios de endurecimiento para esa clase de dispositivo y establecieron una regla: no optimices eliminando la tubería del SO a menos que puedas probar las dependencias y tengas un plan de reversión. Alinear el tiempo de arranque cortando componentes se siente bien hasta que necesitas conectar algo que no sea un teclado.
Historia 3: La práctica aburrida que salvó el día
Una empresa global tenía kioscos con gamepads para navegación—básicamente controladores con otra marca. Estaban desplegados sin acceso remoto amplio. Cuando surgían problemas, no podías “probar cosas”. Tenías que acertar en la primera o segunda ventana de cambio.
El equipo mantenía un sencillo runbook: capturar listas PnP, inventario del almacén de controladores para clases relevantes y los últimos 200 eventos del Sistema filtrados por Kernel-PnP y DriverFrameworks. Cada kiosco ejecutaba una tarea programada que exportaba estos artefactos localmente para que un técnico de campo los recuperara rápido.
Un mes, los kioscos empezaron a fallar tras un ciclo de parches rutinario. Los registros mostraban fallos de arranque de controladores con el mismo patrón en varias ubicaciones. Como tenían inventarios base, pudieron identificar que había aparecido un paquete de controlador filtro de terceros y que las instancias de dispositivo se multiplicaban en algunas unidades—comportamiento clásico de dispositivo fantasma y filtro.
La solución fue aburrida: desinstalar ese paquete con pnputil, eliminar instancias HID fantasma, reiniciar una vez y validar. La práctica que salvó el día no fue genial. Fue tener evidencia lista y un proceso controlado para aplicar cambios sin improvisar en campo.
Preguntas frecuentes
1) ¿Realmente necesito eliminar dispositivos fantasma?
Si ves duplicados, mapeos inconsistentes o “funciona en un puerto”, sí. Los dispositivos fantasma mantienen estado antiguo. Eliminarlos fuerza una nueva instancia y a menudo limpia rarezas sin tocar controladores centrales.
2) ¿Es seguro borrar controladores HID?
No borres los controladores centrales de Microsoft HID. El enfoque seguro es eliminar instancias de dispositivo (Tarea 11) y eliminar paquetes específicos de terceros del almacén de controladores (Tarea 12). Eliminar HID a lo bestia es la forma de quedarte sin teclado USB funcional.
3) ¿Por qué el controlador funciona en Steam pero no en juegos de Windows?
Steam puede traducir la entrada (Steam Input) y presentar un controlador virtual. Fuera de Steam, los juegos pueden aceptar solo XInput. Arregla usando un controlador que exponga XInput nativamente o usando consistentemente una sola capa de traducción.
4) ¿Cuál es la diferencia práctica entre XInput y DirectInput?
XInput es el objetivo común para juegos modernos en Windows (especialmente los escritos con expectativas de controladores Xbox). DirectInput es más antiguo y más flexible, pero no siempre soportado. Un HID genérico puede ser visible por DirectInput pero invisible para títulos solo XInput.
5) Mi controlador muestra “HID-compliant game controller” con Microsoft como proveedor. ¿No es eso siempre bueno?
Suele ser estable. No siempre incluye extras del fabricante (botones especiales, LEDs, háptica avanzada). Para “hacer que el gamepad funcione”, la pila HID de Microsoft suele ser la opción menos dramática.
6) Eliminé un paquete de terceros. ¿Windows lo reinstalará?
Si eliminaste el paquete del almacén de controladores (Tarea 12), Windows no reinstalará ese paquete exactamente a menos que algo lo vuelva a introducir (un instalador, software bundling o una utilidad del dispositivo). Windows Update aún podría instalar otro controlador que considere adecuado.
7) ¿Las actualizaciones de Windows pueden romper controladores de mandos?
Sí, usualmente de forma indirecta: una actualización de controlador para Bluetooth/USB, cambios de política o un “mejor match” de controlador pueden alterar el enlace. Por eso importa comprobar proveedor/versión (Tarea 9) y los registros del Sistema (Tarea 8).
8) ¿Debo usar la casilla “Eliminar el software del controlador para este dispositivo” en Desinstalar dispositivo del Administrador?
Puede ayudar, pero es inconsistente según dispositivo y paquete. Para una limpieza determinista, usa pnputil: puedes ver exactamente qué paquete eliminas y confirmar que ya no está.
9) ¿Por qué cambiar de puerto USB a veces “lo arregla”?
Porque Windows crea una nueva ruta de instancia por puerto/topología. Eso puede saltarse un estado por instancia malo. También crea más fantasmas, y así terminas con cinco controladores idénticos que en realidad no están presentes.
10) ¿Cuándo debo escalar a reparación del SO (SFC/DISM o reparación de instalación)?
Después de haber eliminado problemas de transporte, limpiado instancias de dispositivo, eliminado paquetes conflictivos de terceros y aún ver fallos de arranque del controlador ligados a componentes centrales. Empieza con SFC (Tarea 16). Escala solo con evidencias de los registros (Tarea 8).
Conclusión: siguientes pasos que puedes hacer hoy
- Ejecuta la ficha rápida de diagnóstico: confirma si estás en territorio de transporte, enlace de controlador o desajuste de traducción.
- Verifica joy.cpl: si falta allí, los juegos no lo verán en otros sitios.
- Limpia instancias HID fantasma con pnputil remove-device, luego reenumera.
- Elimina solo los paquetes de controladores que no quieres del almacén. No declares la guerra a “HID” como concepto.
- Deja de apilar capas de mapeo. Elige una: Steam Input o un mapper dedicado, no ambos, a menos que disfrutes depurar dispositivos virtuales a medianoche.
- Vuelve a revisar los registros por errores Kernel-PnP y DriverFrameworks para saber si solucionaste la causa o solo cambiaste los síntomas.
Si haces esto en orden, resolverás la mayoría de los casos de “gamepad no funciona” sin reinstalar Windows, sin explorar el registro y sin sacrificar tu teclado a los dioses HID.