The DirectInput API is used to process data from a joystick, or other game controller. The use of DirectInput for keyboard and mouse input is not recommended. You should use Windows messages instead .
The following sections describe how you can use DirectInput. Use this page to guide you through the documentation based on your level of experience as a DirectInput developer.
Introduction to DirectInput. High-level overview of the capabilities of DirectInput and the steps you'll take to implement it. Start with this section if you are new to DirectInput.
Understanding DirectInput. Introduction to the objects and interfaces of DirectInput, and how they are related to the Microsoft Windows message system. Read this section if you're new to DirectInput.
Using DirectInput. Guide to the API. This section contains more detailed conceptual information than the previous two sections, as well as information about the API elements you will use for setting up devices, retrieving data, and implementing force-feedback effects. If you're a novice, at least familiarize yourself with the contents of this section. Later, you can refer to topics as you need them. Use this section in conjunction with the DirectInput C/C++ Reference.
Programming Tips and Tools. Advanced programming topics and a guide to the DirectInput tools provided with the DirectX software development kit (SDK).
DirectInput C/C++ Reference. Reference information for the API. Use this section when you need to know the details of an interface, method, structure, macro, or other element.