Return to site

Directinput

broken image


I am converting an application that currently uses DirectInput to use RawInput instead. (DirectInput is a largely deprecated API.) Unfortunately, despite RawInput being the recommended successor to. XInput is the preinstalled, modern gamepad standard on Windows 7 and Vista. It can also be installed on Windows XP (SP1 or greater). Use XInput to play games in Windows whenever possible. This input mode is intended to make the gamepad work natively with modern games. DirectInput spawns a thread in the background and simply intercepts window messages before passing them along back to the application. It's one of the reasons why Microsoft no longer recommends the use of DirectInput - and it means that messaging APIs like PostMessage should work just fine.

(Redirected from Xinput)
Directinput

In computing, DirectInput is a legacy[1]MicrosoftAPI for collecting input from a computer user, via input devices such as the mouse, keyboard, or a gamepad. It also provides a system for action mapping, which allows the user to assign specific actions within a game to the buttons and axes of the input devices. Additionally it handles haptic feedback (input/output) devices. Microsoft introduced a new input library called XInput specifically for the Xbox 360 controller.

DirectInput and XInput provide benefits over normal Win32 input events:

  • they enable an application to retrieve data from input devices even when the application is in the background
  • they provide full support for any type of input device, as well as for haptic feedback
  • through action mapping, applications can retrieve input data without needing to know what kind of device generated that input

While DirectInput forms a part of the DirectX library, it has not been significantly revised since DirectX 8 (2001–2002). Microsoft recommends that new applications make use of the Windows message loop for keyboard and mouse input instead of DirectInput (as indicated in the Meltdown 2005 slideshow[2]), and to use XInput instead of DirectInput for Xbox 360 controllers.

History[edit]

DirectX included DirectInput from version 1.0 (1995). It initially offered true support only for joysticks, as the mouse and keyboard modules simply provided wrappers to the standard Win32 API. DirectX version 3.0 (1996) added support for keyboards and mice; it also improved joystick support. DirectX 5.0 (1997) included greatly improved joystick support, including adding haptic feedback, increasing the number of buttons, changing the underlying device-driver model and incorporating a COM-based API. Mouse support also increased the number of buttons seen from four to eight. In DirectX 7.0 (1999- ), DirectInput added a long-promised feature of seeing individual mice much like individual joysticks, but the feature didn't work with the later released Windows XP, even though as of 2010 it works with Windows 98/Me and DirectX 9. DirectX 8.0 (2000), the last version with major changes, included action mapping and broader support for different types of devices.

While Microsoft initially intended that DirectInput would handle all inputs, it hasn't turned out this way. As of 2011 Microsoft doesn't recommend using DirectInput for keyboards or mice, and has started pushing the newer XInput for Xbox 360 controllers.[3] In Windows Vista, Windows 7 and later Windows versions, the in-built action mapping UI has been removed.[4] DirectInput is not available for Windows Store apps.

XInput[edit]

XInput,[5] an API for 'next generation' controllers, was introduced in December 2005 alongside the launch of the Xbox 360. This instruction set provided full support for Xbox 360 controllers in Windows XP SP1 and subsequent operating systems, and is described by Microsoft as being easier to program for and requiring less setup than DirectInput. XInput is compatible with DirectX version 9 and later.

Xbox 360 Controller support[edit]

An Xbox 360 Controller, with the default Microsoft driver, has the following limitations with DirectInput, compared to XInput:

  • the left and right triggers will act as a single axis representing the signed difference between the triggers, not as independent analog axes
  • vibration effects will not operate
  • querying for headset devices will not operate

None of these limitations exist if using the Xbox 360 Controller with XInput.[6]

Vibration effects will not work on the Xbox One Controller.

According to MSDN, 'the combination of the left and right triggers in DirectInput is by design. Games have always assumed that DirectInput device axes are centered when there is no user interaction with the device. However, the Xbox 360 controller was designed to register minimum value, not center, when the triggers are not being held.' MSDN proffered the 'solution' of combining the triggers, setting one trigger to a positive direction and the other to a negative direction, so no user interaction is indicative to DirectInput of the 'control' being at center.[7]

The above, however, ignores the fact that many DirectInput controllers, such as gamepads with dual analog sticks and racing-wheel controller sets, already map triggers and pedals independently. In addition, many DirectInput devices also have vibration effects. At least one driver, XBCD, gives the Xbox 360 controllers the vibration support, dead zones and (optionally) independent triggers through DirectInput.[citation needed] This suggests that Microsoft's Xbox 360 controller driver intentionally has weaker DirectInput support, rather than due to any differences between DirectInput and XInput APIs. On the other hand, Xbox 360 controller and XInput support only very basic control of vibration motors[8][9] in contrast with great palette of various effects supported by DirectInput.[10]

DirectInput vs XInput[edit]

Microsoft has not made any major changes to DirectInput since DirectX 8, and introduced XInput later in DirectX 9: there remains some confusion about the current status and future of the two APIs.

The XInput API also as of 2010 has limits that DirectInput does not:

  • XInput supports only 'next generation' controllers. This limits it basically to controllers for the Xbox 360 that also have Windows drivers. Legacy Windows controllers, joysticks and generalized haptic feedback devices are not supported.
  • XInput supports a maximum of four controllers at a time. This is an Xbox limit, carried over to Windows. Although as of 2010 few PC games require more than four controllers at once, DirectInput itself has no such limitation.
  • XInput does not support keyboards, mice, or mouse-type devices. While this mirrors Microsoft's recommendation not to use DirectInput with these devices,[11] programmers can use DirectInput with these devices.
  • XInput supports maximum of 4 axes, 10 buttons, 2 triggers and 8-direction digital pad per controller, compared to DirectInput's support for 8 axes, 128 buttons, and full-range POV. (The number of axes, buttons and triggers XInput supports corresponds directly to the Xbox 360 controller.)

Advantage of XInput over DirectInput:

  • When used with an Xbox 360 Controller, the left and right trigger buttons will act independently, instead of as a single button[12]

As of 2011 XInput is for Xbox 360 controllers, while DirectInput is for any controller.In XInput 1.4 introduced with Windows 8 support of querying for headset devices was reintroduced.[13]

References[edit]

  1. ^https://docs.microsoft.com/previous-versions/windows/desktop/ee416842(v=vs.85)
  2. ^'Meltdown 2005 slideshow (.zip)'. Archived from the original on 2015-05-21. Retrieved 2012-11-13.CS1 maint: BOT: original-url status unknown (link)
  3. ^'Taking Advantage of High-Definition Mouse Movement'. MSDN. Microsoft. Retrieved 2009-01-25.
  4. ^'DirectInput ConfigureDevices in Windows Vista'. Web.archive.org. 2008-12-27. Archived from the original on December 27, 2008. Retrieved 2012-11-13.
  5. ^http://msdn.microsoft.com/en-us/library/windows/desktop/ee417014(v=vs.85).aspx
  6. ^http://msdn.microsoft.com/en-us/library/windows/desktop/ee417014(v=vs.85).aspx
  7. ^'XInput and DirectInput'. Microsoft. 2012-09-17. Retrieved 2012-12-27.
  8. ^'Gamepad - Rumbler Control'. Free60 Project. Archived from the original on 2009-03-13. Retrieved 2009-01-25.
  9. ^'XINPUT_VIBRATION'. Msdn.microsoft.com. Retrieved 2009-01-25.
  10. ^'DIEFFECT'. MSDN. Microsoft. Retrieved 2009-01-25.
  11. ^'DirectInput'. MSDN. Microsoft. Retrieved 2010-05-30.
  12. ^https://msdn.microsoft.com/en-us/library/windows/desktop/ee417014(v=vs.85).aspx
  13. ^'XInputGetAudioDeviceIds function'. MSDN. Retrieved 10 December 2013.

External links[edit]

  • Microsoft's DirectInput documentation[permanent dead link]
Retrieved from 'https://en.wikipedia.org/w/index.php?title=DirectInput&oldid=983958707#XInput'

While the X-Arcade controllers work as a keyboard with the default PC connection, there are ways to make it act like a gamepad instead for games that don't offer great keyboard-based controller support. The original way for an input device to work as a gamepad was through the DirectInput protocol, which still works on the vast majority of gamepad-enabled games. But some newer games, such as Killer Instinct, Mortal Kombat X, Street Fighter IV & V, and Steam, require the newer Xinput protocol that was introduced with the Xbox 360 gamepads (and now Xbox One). Xinput works with both Xinput games and most DirectInput games, so we recommend it. Below we show you how to make your X-Arcade controller work as an Xinput device or DirectInput device on PC.


Directinput controller

Method 1: With Hardware
The easiest way is to use our new Tri-mode PCB, but you can also use our Xbox 360 adapter kit or Xbox One adapter kit (both requires either a PS2 adapter or 5in1 adapter) to connect your X-Arcade to a PC via USB. These options allow you to change modes just like on a console and works with any DirectInput or Xinput games.

You can also use our 2in1 adapter or PS4 adapters, but this will require using a special driver and software such as DS4Windows, InputMapper, or MotioninJoy(we can't offer support for any of these). An interesting history lesson on these here.


To test it on PC see Windows Gamepad testing.


Method 2: X-Arcade Xinput(Recommended Software Emulation Solution, huge thanks to Mike Wyatt!)

Some games now require an Xinput controller (such as Xbox 360 or Xbox One) to work, and Xinput will work with most DirectInput games as well. 'X-Arcade Xinput' is a software solution to make the X-Arcade work as an Xinput gamepad. It also supports a dualstick mode as well along with D-Pad and Analog modes.

  1. Download X-Arcade Xinput package (xarcade-xinput.zip), create a new folder somewhere and unzip the contents to it.
  2. Run the 'Install Driver.exe. You only have to do this step once.
  3. Run the 'XArcade XInput.exe', this will open up the interface in your web browser for disabling/enabling it and changing to the modes available. You will need to run this each time you want to play.
  4. You can download Xinput Test to test that it is working, or you can also see it working in Windows Gamepad testing or this web-based HTML5 Gamepad Tester.


Usage:

Directinput driver
  1. Make sure your X-Arcade controller is in mode 1.
  2. In the interface, you can disable it to get keyboard functionality back. Enable to play.
  3. Choose the mode you want to play in by clicking the 3 dots next to each option below and choosing 'Make Active':
    'X-Arcade 1 player Analog DualStick' is for 1 player with Joy 1 in analog mode, 2nd joystick works as analog 2.
    'X-Arcade 1 player D-Pad DualStick' is for 1 player with Joy 1 in D-Pad mode, 2nd joystick works as analog 2.
    'X-Arcade 2 Player Analog' is for 2 players with Joy 1 on both sides acting as analog sticks.
    'X-Arcade 2 player D-Pad' is for 2 players with Joy 1 on both sides acting as D-Pads.
  4. Simply close the Command Prompt window when you want to close it.
  5. More information such as remapping the controllers can be found on the official X-Arcade Xinput page.
  6. If you get an error message when trying to install, open Device Manager and remove any 'Uknown Device' you see under 'Other devices' and 'System devices', reboot and try again.
  7. If you ever need to uninstall the driver for some reason, just go into the 'Scp Driver Installer' folder and run the 'ScpDriverInstaller.exe' and choose Uninstall.

Directinput8create


DirectInput Joystick Emulation:
VJoy Virtual Joystick Driver can create virtual joysticks in Windows and comes with a tool which allows you to map keystrokes to the virtual joysticks axis and buttons. Our custom ini will map the X-Arcade to the same buttons layout as an Xbox 360 controller in Windows. This means that any game you play that has an Xbox 360 controller option will work with no additional setup needed.

  1. Download VJoy and install it. Windows will warn you that it's an unsigned driver, choose continue anyway.
  2. Download X-Arcade.ini (right-click and choose 'save as', IE users may need to rename the .htm to .ini) and place it in the directory C:Program Files (x86)VJoy
  3. Open VJoy and click 'Open Ini' and choose the X-Arcade.ini file.
  4. You can test your settings in the standard Windows Game Controller test. Note that the Player 1 joystick can change between analog mode and D-Pad mode using the Numlock key, numkey on is D-Pad, off is Analog.
Directinput

You test if is it working in Windows Gamepad testing or this web-based HTML5 Gamepad Tester.


DirectInput to Xinput Option1:

XOutput can take the Virtual Joys from VJoy above and emulate them to Xinput controllers.

  1. Setup VJoy above first.
  2. Download XOutput and extract it wherever you want it.
  3. Run the included ScpDriver.exe and install it.
  4. Download our custom ini file(right-click and choose 'save as', IE users may need to rename the .htm to .ini) and replace/overwrite the one in the XOutput folder
  5. Run XOutput.exe, press 'Start' and play!
DirectInput to Xinput Option2:
TocaEdit Xbox 360 Controller Emulator can also convert the Virtual Joys to Xinput, however, it has to be set up for each game individually.
Directinput

In computing, DirectInput is a legacy[1]MicrosoftAPI for collecting input from a computer user, via input devices such as the mouse, keyboard, or a gamepad. It also provides a system for action mapping, which allows the user to assign specific actions within a game to the buttons and axes of the input devices. Additionally it handles haptic feedback (input/output) devices. Microsoft introduced a new input library called XInput specifically for the Xbox 360 controller.

DirectInput and XInput provide benefits over normal Win32 input events:

  • they enable an application to retrieve data from input devices even when the application is in the background
  • they provide full support for any type of input device, as well as for haptic feedback
  • through action mapping, applications can retrieve input data without needing to know what kind of device generated that input

While DirectInput forms a part of the DirectX library, it has not been significantly revised since DirectX 8 (2001–2002). Microsoft recommends that new applications make use of the Windows message loop for keyboard and mouse input instead of DirectInput (as indicated in the Meltdown 2005 slideshow[2]), and to use XInput instead of DirectInput for Xbox 360 controllers.

History[edit]

DirectX included DirectInput from version 1.0 (1995). It initially offered true support only for joysticks, as the mouse and keyboard modules simply provided wrappers to the standard Win32 API. DirectX version 3.0 (1996) added support for keyboards and mice; it also improved joystick support. DirectX 5.0 (1997) included greatly improved joystick support, including adding haptic feedback, increasing the number of buttons, changing the underlying device-driver model and incorporating a COM-based API. Mouse support also increased the number of buttons seen from four to eight. In DirectX 7.0 (1999- ), DirectInput added a long-promised feature of seeing individual mice much like individual joysticks, but the feature didn't work with the later released Windows XP, even though as of 2010 it works with Windows 98/Me and DirectX 9. DirectX 8.0 (2000), the last version with major changes, included action mapping and broader support for different types of devices.

While Microsoft initially intended that DirectInput would handle all inputs, it hasn't turned out this way. As of 2011 Microsoft doesn't recommend using DirectInput for keyboards or mice, and has started pushing the newer XInput for Xbox 360 controllers.[3] In Windows Vista, Windows 7 and later Windows versions, the in-built action mapping UI has been removed.[4] DirectInput is not available for Windows Store apps.

XInput[edit]

XInput,[5] an API for 'next generation' controllers, was introduced in December 2005 alongside the launch of the Xbox 360. This instruction set provided full support for Xbox 360 controllers in Windows XP SP1 and subsequent operating systems, and is described by Microsoft as being easier to program for and requiring less setup than DirectInput. XInput is compatible with DirectX version 9 and later.

Xbox 360 Controller support[edit]

An Xbox 360 Controller, with the default Microsoft driver, has the following limitations with DirectInput, compared to XInput:

  • the left and right triggers will act as a single axis representing the signed difference between the triggers, not as independent analog axes
  • vibration effects will not operate
  • querying for headset devices will not operate

None of these limitations exist if using the Xbox 360 Controller with XInput.[6]

Vibration effects will not work on the Xbox One Controller.

According to MSDN, 'the combination of the left and right triggers in DirectInput is by design. Games have always assumed that DirectInput device axes are centered when there is no user interaction with the device. However, the Xbox 360 controller was designed to register minimum value, not center, when the triggers are not being held.' MSDN proffered the 'solution' of combining the triggers, setting one trigger to a positive direction and the other to a negative direction, so no user interaction is indicative to DirectInput of the 'control' being at center.[7]

The above, however, ignores the fact that many DirectInput controllers, such as gamepads with dual analog sticks and racing-wheel controller sets, already map triggers and pedals independently. In addition, many DirectInput devices also have vibration effects. At least one driver, XBCD, gives the Xbox 360 controllers the vibration support, dead zones and (optionally) independent triggers through DirectInput.[citation needed] This suggests that Microsoft's Xbox 360 controller driver intentionally has weaker DirectInput support, rather than due to any differences between DirectInput and XInput APIs. On the other hand, Xbox 360 controller and XInput support only very basic control of vibration motors[8][9] in contrast with great palette of various effects supported by DirectInput.[10]

DirectInput vs XInput[edit]

Microsoft has not made any major changes to DirectInput since DirectX 8, and introduced XInput later in DirectX 9: there remains some confusion about the current status and future of the two APIs.

The XInput API also as of 2010 has limits that DirectInput does not:

  • XInput supports only 'next generation' controllers. This limits it basically to controllers for the Xbox 360 that also have Windows drivers. Legacy Windows controllers, joysticks and generalized haptic feedback devices are not supported.
  • XInput supports a maximum of four controllers at a time. This is an Xbox limit, carried over to Windows. Although as of 2010 few PC games require more than four controllers at once, DirectInput itself has no such limitation.
  • XInput does not support keyboards, mice, or mouse-type devices. While this mirrors Microsoft's recommendation not to use DirectInput with these devices,[11] programmers can use DirectInput with these devices.
  • XInput supports maximum of 4 axes, 10 buttons, 2 triggers and 8-direction digital pad per controller, compared to DirectInput's support for 8 axes, 128 buttons, and full-range POV. (The number of axes, buttons and triggers XInput supports corresponds directly to the Xbox 360 controller.)

Advantage of XInput over DirectInput:

  • When used with an Xbox 360 Controller, the left and right trigger buttons will act independently, instead of as a single button[12]

As of 2011 XInput is for Xbox 360 controllers, while DirectInput is for any controller.In XInput 1.4 introduced with Windows 8 support of querying for headset devices was reintroduced.[13]

References[edit]

  1. ^https://docs.microsoft.com/previous-versions/windows/desktop/ee416842(v=vs.85)
  2. ^'Meltdown 2005 slideshow (.zip)'. Archived from the original on 2015-05-21. Retrieved 2012-11-13.CS1 maint: BOT: original-url status unknown (link)
  3. ^'Taking Advantage of High-Definition Mouse Movement'. MSDN. Microsoft. Retrieved 2009-01-25.
  4. ^'DirectInput ConfigureDevices in Windows Vista'. Web.archive.org. 2008-12-27. Archived from the original on December 27, 2008. Retrieved 2012-11-13.
  5. ^http://msdn.microsoft.com/en-us/library/windows/desktop/ee417014(v=vs.85).aspx
  6. ^http://msdn.microsoft.com/en-us/library/windows/desktop/ee417014(v=vs.85).aspx
  7. ^'XInput and DirectInput'. Microsoft. 2012-09-17. Retrieved 2012-12-27.
  8. ^'Gamepad - Rumbler Control'. Free60 Project. Archived from the original on 2009-03-13. Retrieved 2009-01-25.
  9. ^'XINPUT_VIBRATION'. Msdn.microsoft.com. Retrieved 2009-01-25.
  10. ^'DIEFFECT'. MSDN. Microsoft. Retrieved 2009-01-25.
  11. ^'DirectInput'. MSDN. Microsoft. Retrieved 2010-05-30.
  12. ^https://msdn.microsoft.com/en-us/library/windows/desktop/ee417014(v=vs.85).aspx
  13. ^'XInputGetAudioDeviceIds function'. MSDN. Retrieved 10 December 2013.

External links[edit]

  • Microsoft's DirectInput documentation[permanent dead link]
Retrieved from 'https://en.wikipedia.org/w/index.php?title=DirectInput&oldid=983958707#XInput'

While the X-Arcade controllers work as a keyboard with the default PC connection, there are ways to make it act like a gamepad instead for games that don't offer great keyboard-based controller support. The original way for an input device to work as a gamepad was through the DirectInput protocol, which still works on the vast majority of gamepad-enabled games. But some newer games, such as Killer Instinct, Mortal Kombat X, Street Fighter IV & V, and Steam, require the newer Xinput protocol that was introduced with the Xbox 360 gamepads (and now Xbox One). Xinput works with both Xinput games and most DirectInput games, so we recommend it. Below we show you how to make your X-Arcade controller work as an Xinput device or DirectInput device on PC.


Method 1: With Hardware
The easiest way is to use our new Tri-mode PCB, but you can also use our Xbox 360 adapter kit or Xbox One adapter kit (both requires either a PS2 adapter or 5in1 adapter) to connect your X-Arcade to a PC via USB. These options allow you to change modes just like on a console and works with any DirectInput or Xinput games.

You can also use our 2in1 adapter or PS4 adapters, but this will require using a special driver and software such as DS4Windows, InputMapper, or MotioninJoy(we can't offer support for any of these). An interesting history lesson on these here.


To test it on PC see Windows Gamepad testing.


Method 2: X-Arcade Xinput(Recommended Software Emulation Solution, huge thanks to Mike Wyatt!)

Some games now require an Xinput controller (such as Xbox 360 or Xbox One) to work, and Xinput will work with most DirectInput games as well. 'X-Arcade Xinput' is a software solution to make the X-Arcade work as an Xinput gamepad. It also supports a dualstick mode as well along with D-Pad and Analog modes.

  1. Download X-Arcade Xinput package (xarcade-xinput.zip), create a new folder somewhere and unzip the contents to it.
  2. Run the 'Install Driver.exe. You only have to do this step once.
  3. Run the 'XArcade XInput.exe', this will open up the interface in your web browser for disabling/enabling it and changing to the modes available. You will need to run this each time you want to play.
  4. You can download Xinput Test to test that it is working, or you can also see it working in Windows Gamepad testing or this web-based HTML5 Gamepad Tester.


Usage:

  1. Make sure your X-Arcade controller is in mode 1.
  2. In the interface, you can disable it to get keyboard functionality back. Enable to play.
  3. Choose the mode you want to play in by clicking the 3 dots next to each option below and choosing 'Make Active':
    'X-Arcade 1 player Analog DualStick' is for 1 player with Joy 1 in analog mode, 2nd joystick works as analog 2.
    'X-Arcade 1 player D-Pad DualStick' is for 1 player with Joy 1 in D-Pad mode, 2nd joystick works as analog 2.
    'X-Arcade 2 Player Analog' is for 2 players with Joy 1 on both sides acting as analog sticks.
    'X-Arcade 2 player D-Pad' is for 2 players with Joy 1 on both sides acting as D-Pads.
  4. Simply close the Command Prompt window when you want to close it.
  5. More information such as remapping the controllers can be found on the official X-Arcade Xinput page.
  6. If you get an error message when trying to install, open Device Manager and remove any 'Uknown Device' you see under 'Other devices' and 'System devices', reboot and try again.
  7. If you ever need to uninstall the driver for some reason, just go into the 'Scp Driver Installer' folder and run the 'ScpDriverInstaller.exe' and choose Uninstall.

Directinput8create


DirectInput Joystick Emulation:
VJoy Virtual Joystick Driver can create virtual joysticks in Windows and comes with a tool which allows you to map keystrokes to the virtual joysticks axis and buttons. Our custom ini will map the X-Arcade to the same buttons layout as an Xbox 360 controller in Windows. This means that any game you play that has an Xbox 360 controller option will work with no additional setup needed.

  1. Download VJoy and install it. Windows will warn you that it's an unsigned driver, choose continue anyway.
  2. Download X-Arcade.ini (right-click and choose 'save as', IE users may need to rename the .htm to .ini) and place it in the directory C:Program Files (x86)VJoy
  3. Open VJoy and click 'Open Ini' and choose the X-Arcade.ini file.
  4. You can test your settings in the standard Windows Game Controller test. Note that the Player 1 joystick can change between analog mode and D-Pad mode using the Numlock key, numkey on is D-Pad, off is Analog.

You test if is it working in Windows Gamepad testing or this web-based HTML5 Gamepad Tester.


DirectInput to Xinput Option1:

XOutput can take the Virtual Joys from VJoy above and emulate them to Xinput controllers.

  1. Setup VJoy above first.
  2. Download XOutput and extract it wherever you want it.
  3. Run the included ScpDriver.exe and install it.
  4. Download our custom ini file(right-click and choose 'save as', IE users may need to rename the .htm to .ini) and replace/overwrite the one in the XOutput folder
  5. Run XOutput.exe, press 'Start' and play!
DirectInput to Xinput Option2:
TocaEdit Xbox 360 Controller Emulator can also convert the Virtual Joys to Xinput, however, it has to be set up for each game individually.
  1. Setup Method 2 above first.
  2. Download TocaEdit and follow the instructions for setting it up for your game.
  3. Download our custom ini file(right-click and choose 'save as', IE users may need to rename the .htm to .ini) and replace/overwrite the one created by TocaEdit in your game directory.
Xinput Test:

You can download Xinput Test to test that it is working, or you can also see it working in Windows Gamepad testing or this web-based HTML5 Gamepad Tester.


TROUBLESHOOTING:

Using the Xinput Test or HTML5 Gamepad Tester you can see if your controllers are assigned to the proper players, typically you would want them as players 1 and 2 (if you don't also have any other gamepads connected to the PC). Changing the controller player assignments is unfortunately not easy to do manually, so if yours are set incorrectly you will want to do one of the following:


Method 1:

Directinput Keyboard Scan Codes

  1. With the peripherals/adapters/controllers connected, click the Windows Start button and click on the Gear (settings) icon, then click the 'Devices' icon
  2. Under 'Bluetooth & other devices' scroll down to 'Other devices' click on each 'Xbox 360 Controller for Windows' listed and click 'Remove device'.
  3. Unplug the peripherals/adapters/controllers and plug them back in again.


Directx Download

Method 2:

Directinput-to-xinput Wrapper

  1. With the peripherals/adapters/controllers connected, right-click on the Windows Start button and choose 'Device Manager' (or press Ctrl+Alt+Del and open it there).
  2. Click the arrow next to 'Xbox 360 Peripherals' and right-click on each 'Xbox 360 Controller for Windows' and choose Disable device', it will ask you to restart but you can just click 'No'.
  3. Unplug the peripherals/adapters/controllers from the PC, then plug them back in. Next just re-enable the devices.




broken image