
DirectInput (DInput) - Protocolo para Periféricos
DirectInput (DInput)
DirectInput es un módulo perteneciente a DirectX desarrollado por Microsoft, utilizado para procesar datos de dispositivos de entrada como teclado, ratón, joystick y otros controles para videojuegos.
¿Qué es DirectInput?
DirectInput fue diseñado como una biblioteca integral para gestionar dispositivos de entrada, proporcionando:
- Procesamiento de datos de entrada de periféricos
- Sistema de mapeo para asignar acciones del juego a botones y ejes de los dispositivos
- Soporte para efectos de force feedback en controladores compatibles
- Compatibilidad con una amplia gama de dispositivos de entrada
Nota importante: DirectInput está actualmente considerado como una tecnología heredada que Microsoft mantiene principalmente por razones de compatibilidad hacia atrás. Las aplicaciones y juegos modernos utilizan predominantemente XInput, un API más reciente y optimizado especialmente para controles de Xbox y similares.
Características de DirectInput
Ventajas:
- Flexibilidad: Soporta una amplia variedad de dispositivos con configuraciones personalizables
- Mayor número de botones: Puede reconocer hasta 128 botones por dispositivo
- Múltiples ejes: Soporte para múltiples palancas analógicas y otros controles de eje
- Personalización: Permite reasignar completamente la configuración de botones
- Compatibilidad: Funciona con controladores más antiguos y dispositivos especializados
Desventajas:
- Configuración más compleja: Requiere más trabajo para configurar correctamente
- Soporte limitado en juegos modernos: Muchos juegos nuevos solo soportan XInput
- Sin UI estándar: Cada juego maneja la configuración de manera diferente
- Problemas de reconocimiento: Algunos juegos pueden no identificar correctamente los botones
Dispositivos que utilizan DirectInput
Controles compatibles con DInput:
- Controles oficiales de PlayStation 3
- Controles oficiales de PlayStation 4 (en modo de compatibilidad)
- Controles de Nintendo Switch (cuando se conectan a PC)
- Adaptadores PS2 → USB
- Controles genéricos USB y Bluetooth
- Volantes, pedales y otros controles especializados
Arcade Sticks que utilizan DInput:
- Mad Catz TE/TE2/TE2+ para PS3/PS4 (en modo PS3/PS4 sin drivers específicos)
- Razer Panthera/Panthera Evo (en modo PS3/PS4 sin drivers específicos)
- Qanba Dragon/Obsidian (en modo PS3/PS4)
- Hori Real Arcade Pro 4 (RAP4)
- Mayoría de arcade sticks para PS3/PS4 en su modo nativo
Uso de DirectInput en PC
DirectInput funciona de manera diferente a XInput en PC, lo que puede causar algunas confusiones:
Reconocimiento:
Windows reconoce los dispositivos DirectInput como “Controlador genérico HID” o con el nombre específico del fabricante.
Configuración:
- Accede al Panel de control → Dispositivos e impresoras
- Haz clic derecho en el controlador → Configuración
- Usa la pestaña “Prueba” para verificar que todos los botones funcionan
- En juegos, busca la opción de “Controlador genérico” o “DirectInput”
Problemas comunes:
- Botones incorrectos: Los botones pueden estar asignados de manera diferente a lo esperado
- Múltiples controladores: Windows puede confundirse si hay varios controladores conectados
- Reconocimiento parcial: Algunos botones pueden no funcionar en ciertos juegos
DirectInput vs XInput
Característica | DirectInput | XInput |
---|---|---|
Número máximo de botones | 128 | 10 + 2 triggers |
Ejes analógicos | Ilimitados | 2 sticks + 2 triggers |
Personalización | Alta | Limitada |
Reconocimiento en juegos modernos | Variable | Excelente |
Configuración | Compleja | Sencilla (plug & play) |
Vibración | Force feedback complejo | Motores duales simplificados |
Compatibilidad con consolas | PS3, PS4, Switch, etc. | Xbox 360, Xbox One, Xbox Series |
Emuladores de XInput para dispositivos DirectInput
Si tienes un controlador DirectInput y quieres usarlo en juegos que solo soportan XInput, puedes usar estos programas:
- x360ce: Emulador que hace que Windows reconozca un control DirectInput como si fuera de Xbox 360
- Steam Input: La configuración de controladores de Steam permite mapear controles DirectInput para que funcionen como XInput
- DS4Windows: Especialmente útil para controles de PS4, los hace funcionar como controles de Xbox