複製鏈接
請複製以下鏈接發送給好友

DirectInput

鎖定
DirectInput是有關鼠標、鍵盤遊戲杆和其他遊戲控制設備,以及力回饋設備的一組API。
外文名
DirectInput
性    質
API
方    式
操作映射
性    能
很高
DirectInput允許程序從輸入設備中獲取數據,即使當程序是在後台運行。它同時提供了對所有輸入設備的全面支持,包括力回饋設備。
通過操作映射(Action Mapping),程序可以獲取輸入數據,而不需要了解什麼樣的設備在運行,產生這些數據。
擴展了的服務和改良了的性能使DirectInput成為Windows平台下游戲、模擬設備和其他實時交互程序的有力工具。
DirectInput在使用鍵盤進行字符錄入,或使用鼠標進行導航方面並不具有優勢。 [1] 
一個DirectInput的專用輸入實現由DirectInput對象組成,其支持IDirectInput8 COM接口,並通過DirectInputDevice對象訪問每個輸入設備的數據。每個DirectInputDevice對象依次包含設備對象,單獨的控制器或轉換器,如按鍵、按鈕或者軸。設備對象在這裏也被稱為設備對象實例。  一個DirectInputDevice對象代表一個輸入設備,如鼠標、鍵盤或遊戲杆。在DirectInput的API中,遊戲杆(joystick)是任意不同於鼠標或鍵盤的設備。有些硬件其實是不同類型的輸入設備的組合,如帶觸摸板的鍵盤,就可以表示兩個或以上的DirectInputDevice對象。力回饋設備可以通過一個單獨的包含輸入輸出的遊戲杆表示。
DirectInputDevice對象是實現IDirectInputDevice8接口的實例。應用程序可以通過IDirectInputDevice8::EnumObjects方法確定可用設備對象的數量及類型。個別的設備對象不會包裝成代碼對象,但在DIDEVICEOBJECTINSTANCE結構中有描述。
力回饋的效果以IDirectInputEffect接口來表示,該接口中包含了創建、修改、開始及停止等效果的方法。
所有的DirectInput接口都包括ANSI及Unicode的實現,如果編譯時,已經定義了UNICODE,就會使用UNICODE版本。 [2] 
參考資料