Xinput Plus is a tool for remapping axis, buttons and other features on your Xinput (Xbox 360 or Xbox One) controller. It’s primarily of use in older driving games. Before Microsoft standardised joypads in Windows, there were dozens of different controllers all with slightly different layouts and mappings. Some old driving games, for example, will expect accelerate and brake to be on different axis, while the Xbox 360 controller has its analogue triggers bound to the same axis. Xinput Plus can help with situations like these. Unlike some other solutions, Xinput Plus does NOT use custom drivers, meaning it can be installed cleanly on any version of Windows.
To get started with the program, first download it from its homepage here. You will notice the page is in Japanese, but a link to the latest version should be easy to spot at the top of the page. The program is downloaded as a zip file, so simply extract it to any convenient location and then run it. The window shown below will then appear (click on any picture in this tutorial to enlarge it).
You will notice that the program is in Japanese, but if you can’t read Japanese, don’t panic. Click on the tab circled in red in the picture above. This will open the window shown below.
Now, click the tab circled in the picture above, and the following window will be displayed.
Use the box circled in red to change the language to English. Now close the program using the cross in the top right of the window and simply start it again. The software should now be entirely in English, as per the image below.
You can now start exploring the program. As you can see, there are lots of features and functions to help you reassign your game controller buttons or triggers. You can invert axis on the analogue sticks or triggers. You can add a rapid fire function to buttons on the buttons tab and you can tweak dead zones and sensitivity.
Older Windows games all use DirectInput, so if you’re looking to fix or edit controls for an older game, head over to the DirectInput tab and make sure the “Enable DirectInput Output” option is selected.
You can now re-assign the controls/axis as you see fit. For instance, if your game is expecting the LT/RT (left trigger/right trigger) to map to the Z Axis/Z rotation, then you would use the drop down box and select this.
Notice the drop down box to the right of “LT/RT”. In the picture, it’s currently blank. If you click on this box, you will see the following options.
Invert – Inverts the axis. If, for instance, you’re playing your game and your car is accelerating when it should be standing still, and coming to a halt when you put the trigger down, you need to invert the axis.
Half (+) – See below.
Half (-) – This option needs a little explanation. In DirectInput, an analogue axis has a range of digital values from -10000 to +10000. The problem is that some games expect the rest/no input position to be at -10000 and some expect it to be at 0. If you were using a joystick, for example, the rest position would be at 0, while fully pulled back might be -10000 and fully pushed forward might be +10000.
In Xinput Plus, if you have neither Half (+) nor Half (-) selected, the analogue triggers input will be at -10000 at rest, going to +10000 when fully depressed. If you select Half (+), the analogue triggers will have a value of 0 at rest, going to +10000 when fully depressed. Selecting Half (-) will mean the analogue triggers will have a value of 0 at rest, going to -10000 when fully depressed.
Where might you need these settings? If your car starts to accelerate away before you touch your controller, but doesn’t go to full throttle until you press the trigger down all the way, then you may need the Half (+) or Half (-) options. Likewise, if the deadzone on the trigger (that is, the amount you have to push it to register any input) seems too high, you might need to use these options too.
Sometimes the basic settings here just won’t cut it and you will need to use the advanced customisation mode. Click on the “Customize” button to open the DirectInput Key Assign window. Here you can edit each individual axis or button. Below is an example configuration we created for the game Rallisport Challenge.
For this game, we needed Half (-) on the left trigger and Half (+) on the right trigger. You can’t set things up like that in the basic settings, but it’s easy to do so here.
To test your controller bindings, close the DirectInput Key Assign window if it is open, then click on the “Total Test” button. You will then see the window shown below.
You can now move the axis or press the buttons and see the raw DirectInput values at the bottom of the window.
Applying your settings
Once you have finalised your settings, you need to tell Xinput Plus which game you want to use the settings with. You do this by clicking the “Select” button and simply browsing to the games executable file on your PC. Once you select the executable file, the “Target Program” box will change to show that it is selected. You then simply need to click on “Apply”. If you’ve configured the game in the past, Xinput Plus will detect this too and offer to load the existing configuration.
Xinput Plus does not patch or hack the games executable itself. Instead, it places a modified version of the Xinput library in the games executable folder. This causes the game to use this library instead of the default system one, allowing your changes to take effect without any messy patching of the game itself. You do NOT need the Xinput Plus program running in the background while your game is running either. If Xinput Plus successfully hooks into your game, you should hear a bell sound when the game starts up.
If you can’t seem to get Xinput Plus to work with your game, try going to the “Setting” tab, then selecting “DLL Files”, as per the picture below.
Tick/check all the .dll files under “Installed files”, then click “Apply” again. This shouldn’t be necessary for most games and is somewhat overkill, but the dll files don’t take up much space, so it hardly matters.
That concludes this tutorial. We’ve only scratched the surface as to what’s possible with this neat little tool, so be sure to experiment yourself. If you make a mistake or the game stops working, you can easily revert the changes just by clicking the “Disable” button.