In computing, DirectInput is a Microsoft API for collecting input from a computer user, via input devices such as the mouse, keyboard, joystick or other game controllers. 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 force-feedback (input/output) devices. Microsoft introduced a new input library called XInput in DirectX 9 (December 2002) 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 force 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), and to use XInput instead of DirectInput for Xbox 360 controllers.

Read more about DirectInput:  History, XInput, DirectInput Vs XInput

Other articles related to "directinput":

Logitech VX Revolution - Game Controllers - Gamepads
... No Hardware switch for alternating between DirectInput and XInput (central "Logitech" button unavailable in DirectInput mode) "Mode" button for swapping d-pad and ...
DirectInput Vs XInput
... Microsoft has not made any major changes to DirectInput since DirectX 8, and introduced XInput later in DirectX 9 there remains some confusion about ... Xbox 360 Controller with the default Microsoft driver with DirectInput has the following limitations compared to with XInput the left and right triggers will act as a single axis representing the signed ... Games have always assumed that DirectInput device axes are centered when there is no user interaction with the device ...