Microsoft introduced a new input library called XInput specifically for the Xbox 360 controller.
It initially offered true support only for joysticks, as the mouse and keyboard modules simply provided wrappers to the standard Win32 API.
DirectX 8.0 (2000), the last version with major changes, included action mapping and broader support for different types of devices.
As of 2011[update] Microsoft no longer recommends using DirectInput for keyboards or mice, and has started pushing the newer XInput for Xbox 360 controllers.
XInput,[6] a legacy[7] API for "next generation" controllers, was introduced in December 2005 alongside the launch of the Xbox 360.
This specification provided 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.