Origenes
En 2005 Microsoft lanzo XInput, su nueva API para mandos de juego como sucesor del antiguo DirectInput (o DInput para abreviar) y desde entonces es el estándar para cualquier juego moderno, pero hay un problema, al igual que un mando DInput no es compatible con XInput, un mando XInput solo es parcialmente compatible con DInput, ya que por ejemplo los gatillos RT/LT o el botón guía no son reconocidos, aparte de perder la función de vibración. Para solucionar este problema existen varias formas, algunos juegos han recibido mods que traducen al vuelo las ordenes DInput a XInput y viceversa permitiendo usar mandos XInput en juegos que nos los soportan de forma nativa, pero muchos otros juegos no tienen esa suerte, pero por suerte existe XInput Plus.
Este programa nos permite no solo convertir un mando DInput en XInput, sino que tambien nos permite "falsear" un mando XInput como DInput para poderlo usar en juegos antiguos.
Xinput Plus
Para descargar el programa vamos a su web oficial y descargamos la ultima versión. De normal al ejecutarlo el programa ya estará en ingles, sin embargo a veces sale en Japones, para cambiar el idioma seguid estos pasos:
[spoiler title=Cambio idioma Xinput Plus]
Con el programa abierto pulsamos en esta pestaña
En la pagina que se nos muestra pinchamos en esta pestaña
Entonces veremos un desplegable, lo abrimos y seleccionamos el idioma inglés
[/spoiler]
En la pestaña "KeyAsiggn" podemos cambiar los botones a voluntad, aunque por defecto vienen ajustados a los botones originales
Pero lo interesante es la pestaña "DirectInput", aquí podemos configurar nuestro mando XInput para asignarle los botones equivalentes de un mando DInput.
A continuación dejo una tabla de equivalencias entre mandos.
Tabla de equivalencias
DInput como tal solo reconoce 2 joystick y luego botones numerados del 1 en adelante, en la siguiente tabla os dejo las equivalencias para un mando Duke de One, los mandos de 360 y One y los DualShhock 3 y 4.
|DirectInput|Xbox|360|One|PS3|PS4|
| --- | --- | --- | --- | --- | --- |
|Botón 1||||||
|Botón 2||||||
|Botón 3||||||
|Botón 4||||||
|Botón 5||||||
|Botón 6||||||
|Botón 7||||||
|Botón 8||||||
|Botón 9||||||
|Botón 10||||||
|Botón 11||||||
|Botón 12||||||
|Botón 13||||||
|POV Arriba||||||
|POV Abajo||||||
|POV Izquierda||||||
|POV Derecha||||||
|Eje X||||||
|Eje Y||||||
|Rotación X||||||
|Rotación Y||||||
Una vez que tenéis los botones configurados al gusto seleccionáis el EXE del juego y pulsáis "Apply" cuando arranquéis el juego si oís un pitido el programa esta cargado y ejecutándose, sino, en la pestaña "Setting" seleccionáis el apartado " Dll Files" y seleccionáis otra DLL o si el juego es de 64bit pulsáis el botón de 64bit y volvéis a aplicar para que haga los cambios pertinentes. Aun así es posible que aun probando todas las DLL no os funcione con ciertos juegos, en cuyo caso tocara buscar un viejo mando DInput.