The DirectInputDevice Object

Each DirectInputDevice object represents one input device such as a mouse, keyboard, or joystick. (In this documentation, the term "joystick" includes other game devices that behave similarly, such as steering wheels and game pads.)

You create a DirectInputDevice instance by calling the IDirectInput::CreateDevice method, which returns a pointer to the IDirectInputDevice interface. The IDirectInputDevice methods are used to get information about the device, set its properties, and get data from it.

Note  A physical device that is really a combination of different types of input devices, such as a keyboard with a trackball, may be represented by two or more DirectInputDevice objects. A force feedback device is represented by a single joystick object that handles both input and output.