Microsoft DirectX 8.0 (Visual Basic)

キーボードの直接データ

キーボードの現在の状態を取得するには、DIKEYBOARDSTATE 型を指定して DirectInputDevice8.GetDeviceStateKeyboard メソッドを呼び出す。

GetDeviceState メソッドは、キーボードの現在の状態のスナップショットを返す。各キーは、DIKEYBOARDSTATE 型を構成する 256 バイトの配列内の 1 バイトによって表される。バイトの上位ビットが設定されていると、キーは、ダウン状態にある。配列は最も便利なように、CONST_DIKEYFLAGS 列挙のメンバによりインデックスが付けられている (「キーボード データの解釈」も参照すること)。

以下のコードは、現在 Esc キーが押下されているかどうかを判定する例である。objDIDev は、DirectInputDevice8 オブジェクトとする。

Dim KeyState As DIKEYBOARDSTATE
 
Call objDIDev.GetDeviceStateKeyboard(KeyState)
If (KeyState.Key(DIK_ESCAPE) And &H80) Then
    ' キーは押下されている。
End If