DirectInput允许程序从输入设备中获取数据,即使当程序是在后台运行。它同时提供了对所有输入设备的全面支持,包括
力回馈设备。
一个DirectInput的专用输入实现由DirectInput对象组成,其支持IDirectInput8 COM接口,并通过DirectInputDevice对象访问每个输入设备的数据。每个DirectInputDevice对象依次包含设备对象,单独的控制器或转换器,如按键、按钮或者轴。设备对象在这里也被称为设备对象实例。 一个DirectInputDevice对象代表一个输入设备,如鼠标、键盘或
游戏杆。在DirectInput的API中,
游戏杆(joystick)是任意不同于鼠标或键盘的设备。有些硬件其实是不同类型的输入设备的组合,如带触摸板的键盘,就可以表示两个或以上的DirectInputDevice对象。力回馈设备可以通过一个单独的包含输入输出的
游戏杆表示。
DirectInputDevice对象是实现IDirectInputDevice8接口的实例。应用程序可以通过IDirectInputDevice8::EnumObjects方法确定可用设备对象的数量及类型。个别的设备对象不会包装成代码对象,但在DIDEVICEOBJECTINSTANCE结构中有描述。