次の方法で共有


XInputGetKeystroke

ゲームパッドの入力イベントを取得します。

構文

DWORD XInputGetKeystroke(         DWORD dwUserIndex,         DWORD dwReserved,         PXINPUT_KEYSTROKE pKeystroke)

パラメーター

  • dwUserIndex
    [in] デバイスに関連するログインしたゲーマーのインデックス (0 ~ 3) です。0 ~ XUSER_MAX_COUNT − 1 の範囲の値、または任意のユーザーから次に利用可能な入力イベントをフェッチする XUSER_INDEX_ANY を指定できます。

  • dwReserved
    [in] デバイス タイプを識別する入力フラグです。

    説明
    XINPUT_FLAG_GAMEPAD 入力イベント フェッチをゲームパッドに制限します。 
  • pKeystroke
    [out] 入力イベントを受け取る XINPUT_KEYSTROKE 構造体へのポインターです。

戻り値

成功すると、ERROR_SUCCESS を返します。

新しいキーが押されていない場合は、ERROR_EMPTY を返します。

コントローラーが接続されていない場合、またはユーザーがコントローラーをアクティブにしなかった場合、戻り値は ERROR_DEVICE_NOT_CONNECTED になります。「解説」を参照してください。

関数が失敗した場合は、Winerror.h に定義されているエラー コードが返されます。この関数では、呼び出しスレッドの最後のエラー コードを設定する SetLastError が使用されません。

解説 

システムを起動した時点ではワイヤレス コントローラーはアクティブと見なされません。ワイヤレス コントローラーがアクティブになる前に、XInput のいずれかの関数を呼び出した場合、ERROR_DEVICE_NOT_CONNECTED が返されます。ゲーム タイトルでは、リターン コードをチェックし、この状況に対処する必要があります。有線コントローラーは、接続されると自動的にアクティブになります。ワイヤレス コントローラーは、ユーザーが START ボタンまたは Xbox ガイド ボタンを押してコントローラーに電源を入れると、アクティブになります。

要件

ヘッダー: XInput.h で宣言されています。

ライブラリ: xinput.lib を使用します。

関連項目

XInput 関数
XINPUT_KEYSTROKE