DirectInput
API
DirectInput是有关鼠标、键盘游戏杆和其他游戏控制设备,以及力回馈设备的一组API。
DirectInput允许程序从输入设备中获取数据,即使当程序是在后台运行。它同时提供了对所有输入设备的全面支持,包括力回馈设备。
通过操作映射(Action Mapping),程序可以获取输入数据,而不需要了解什么样的设备在运行,产生这些数据。
扩展了的服务和改良了的性能使DirectInput成为Windows平台下游戏、模拟设备和其他实时交互程序的有力工具。
DirectInput在使用键盘进行字符录入,或使用鼠标进行导航方面并不具有优势。
一个DirectInput的专用输入实现由DirectInput对象组成,其支持IDirectInput8 COM接口,并通过DirectInputDevice对象访问每个输入设备的数据。每个DirectInputDevice对象依次包含设备对象,单独的控制器或转换器,如按键、按钮或者轴。设备对象在这里也被称为设备对象实例。  一个DirectInputDevice对象代表一个输入设备,如鼠标、键盘或游戏杆。在DirectInput的API中,游戏杆(joystick)是任意不同于鼠标或键盘的设备。有些硬件其实是不同类型的输入设备的组合,如带触摸板的键盘,就可以表示两个或以上的DirectInputDevice对象。力回馈设备可以通过一个单独的包含输入输出的游戏杆表示。
DirectInputDevice对象是实现IDirectInputDevice8接口的实例。应用程序可以通过IDirectInputDevice8::EnumObjects方法确定可用设备对象的数量及类型。个别的设备对象不会包装成代码对象,但在DIDEVICEOBJECTINSTANCE结构中有描述。
力回馈的效果以IDirectInputEffect接口来表示,该接口中包含了创建、修改、开始及停止等效果的方法。
所有的DirectInput接口都包括ANSI及Unicode的实现,如果编译时,已经定义了UNICODE,就会使用UNICODE版本。
参考资料
最新修订时间:2022-08-01 09:47
目录
概述
参考资料