Steamworks ドキュメンテーション
ISteamInput Interface
Steam Input APIはアクションをベースとした柔軟なAPIで、Xbox、PlayStation、Nintendo Switch ProやSteamコントローラなどすべての主要なタイプのコントローラをサポートします。

詳細情報はSteam入力ドキュメントを参照してください。

メンバー関数

ISteamInputのメンバー関数は、グローバルのアクセサー関数SteamInput()経由で呼び出されます。

ActivateActionSet

void ActivateActionSet( InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle );
名前説明
inputHandleInputHandle_tアクションセットを有効化するコントローラのハンドル
actionSetHandleInputActionSetHandle_t有効化するアクションセットのハンドル

指定したアクションセット("メニュー", "歩く", や "運転"など)を使用するためにコントローラを再設定します。

低コストで安全に繰り返して呼び出せます。 状態移行のすべてに配置するのではなく、状態ループ内で繰り返し呼び出す方が簡単です。

例:
void updateStateLoop() { switch( currentState ) { case MENU: SteamInput()->ActivateActionSet( inputHandle1, menuSetHandle ); doMenuStuff(); break; case WALKING: SteamInput()->ActivateActionSet( inputHandle1, walkingSetHandle ); doWalkingStuff(); break; case DRIVING: SteamInput()->ActivateActionSet( inputHandle1, drivingSetHandle ); doDrivingStuff(); break; case FIGHTING: SteamInput()->ActivateActionSet( inputHandle1, fightingSetHandle ); doFightingStuff(); break; } }

すべてのコントローラを有効化

一台のデバイスではなく、一度にすべてのコントローラを有効化したい場合があります。 この目的で、定数STEAM_INPUT_HANDLE_ALL_CONTROLLERSをコントローラハンドルとして使用します。 同様に、個々のコントローラハンドルを呼び出す他の関数でもこの値を使用できます。

例:
void updateStateLoop() { switch( currentState ) { case MENU: SteamInput()->ActivateActionSet( STEAM_INPUT_HANDLE_ALL_CONTROLLERS, menuSetHandle ); doMenuStuff(); break; case WALKING: SteamInput()->ActivateActionSet( STEAM_INPUT_HANDLE_ALL_CONTROLLERS, walkingSetHandle ); doWalkingStuff(); break; case DRIVING: SteamInput()->ActivateActionSet( STEAM_INPUT_HANDLE_ALL_CONTROLLERS, drivingSetHandle ); doDrivingStuff(); break; case FIGHTING: SteamInput()->ActivateActionSet( STEAM_INPUT_HANDLE_ALL_CONTROLLERS, fightingSetHandle ); doFightingStuff(); break; } }

ActivateActionSetLayer

void ActivateActionSetLayer( InputHandle_t inputHandle, InputActionSetHandle_t actionSetLayerHandle );
名前説明
inputHandleInputHandle_tアクションセットレイヤーを有効化するコントローラのハンドル。
actionSetHandleInputActionSetHandle_t有効化するアクションセットレイヤーのハンドル。

指定したアクションセットレイヤーを使用するためにコントローラを再設定します。

より実践的な例と詳細はアクションセットレイヤーを参照してください。

例:
SteamInput()->ActivateActionSetLayer( inputHandle1, myActionSetLayer );

DeactivateActionSetLayer

void DeactivateActionSetLayer( InputHandle_t inputHandle, InputActionSetHandle_t actionSetLayerHandle );
名前説明
inputHandleInputHandle_tアクションセットレイヤーを無効化するコントローラのハンドル。
actionSetHandleInputActionSetHandle_t無効化するアクションセットレイヤーのハンドル。

指定したアクションセットレイヤーの使用を終了するためにコントローラを再設定します。

例:
SteamInput()->DeactivateActionSetLayer( inputHandle1, myActionSetLayer );

DeactivateAllActionSetLayers

void DeactivateAllActionSetLayers( InputHandle_t inputHandle );
名前説明
inputHandleInputHandle_tすべてのアクションセットレイヤーを無効化するコントローラのハンドル。

すべてのアクションセットレイヤーの使用を終了するためにコントローラを再設定します。

例:
SteamInput()->DeactivateAllActionSetLayers( inputHandle1 );

GetActiveActionSetLayers

int GetActiveActionSetLayers( InputHandle_t inputHandle, InputActionSetHandle_t *handlesOut );
名前説明
inputHandleInputHandle_tアクションセットレイヤーを有効化するコントローラのハンドル。
handlesOutInputActionSetHandle_t*これはSTEAM_INPUT_MAX_COUNTサイズのInputHandle_t配列を指定する必要があります。

指定のコントローラハンドルの現在のアクティブなすべてのアクションセットレイヤーで配列を埋めます。

例:
InputHandle_t *handlesOut = new InputHandle_t []; SteamInput()->GetActiveActionSetLayers( inputHandle1, &handlesOut );

GetActionSetHandle

InputActionSetHandle_t GetActionSetHandle( const char *pszActionSetName );
名前説明
pszActionSetNameconst char *ゲームのVDFファイル内で定義されたアクションセットの文字列識別子。

アクションセットのハンドルを参照します。 開始時に実行し、将来のすべてのAPI呼び出しのハンドルを格納してください。

戻り値:InputActionSetHandle_t
指定のアクションセットのハンドル。

例:
InputActionSetHandle_t fightingSetHandle = SteamInput()->GetActionSetHandle( "fighting" );

GetAnalogActionData

InputAnalogActionData_t GetAnalogActionData( InputHandle_t inputHandle, InputAnalogActionHandle_t analogActionHandle );
名前説明
inputHandleInputHandle_t照会するコントローラのハンドル。
analogActionHandleInputAnalogActionHandle_t照会するアナログアクションのハンドル。

提供されたアナログゲームアクションの現在の状態を返します。

戻り値:InputAnalogActionData_t
指定のアナログアクションの現在の状態。

例:
InputAnalogActionData_t data = SteamInput()->GetAnalogActionData( controller1Handle, moveHandle );

GetAnalogActionHandle

InputAnalogActionHandle_t GetAnalogActionHandle( const char *pszActionName );
名前説明
pszActionNameconst char *ゲームのVDFファイル内で定義されたアナログアクションの文字列識別子。

指定されたアナログアクションのハンドルを取得。

注:この関数はアクションセットハンドルパラメーターを受け付けません。 つまり、VDFファイル内の各アクションは一意の文字列識別子を持つ必要があります。 言い換えれば、2つの異なるアクションセット内に 「up」と呼ばれるアクションを使う場合には、この関数は1つのみを返し、もう一方は無視されます。

戻り値:InputAnalogActionHandle_t
指定のアナログアクションのハンドル。

例:
InputAnalogActionHandle_t moveHandle = SteamInput()->GetAnalogActionHandle( "move" );

GetAnalogActionOrigins

int GetAnalogActionOrigins( InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle, InputAnalogActionHandle_t analogActionHandle, EInputActionOrigin *originsOut );
名前説明
inputHandleInputHandle_t照会するコントローラのハンドル。
actionSetHandleInputActionSetHandle_t照会するアクションセットのハンドル。
analogActionHandleInputAnalogActionHandle_t照会するアナログアクションのハンドル。
originsOutEInputActionOrigin *STEAM_INPUT_MAX_ORIGINSサイズのEInputActionOriginハンドルの配列。

OriginsOutにEInputActionOriginハンドルを記入してアクションセット内のアナログアクションの発生元を取得します。 これを使用して、アクションのプロンプトを適切に画面に表示します。

戻り値:int
originsOutに提供された発生元の数。

例:
EInputActionOrigin *origins = new EInputActionOrigin[]; SteamInput()->GetAnalogActionOrigins( controller1Handle, walkingSetHandle, moveHandle, origins );

GetConnectedControllers

int GetConnectedControllers( InputHandle_t *handlesOut );
名前説明
handlesOutInputHandle_t *これはSTEAM_INPUT_MAX_COUNTサイズのInputHandle_t配列を指定する必要があります。

HandlesOutにコントローラハンドルを記入して現在接続されたコントローラを列挙します。

戻り値:int
handlesOutに書き込まれたハンドルの数。

例:
InputHandle_t *inputHandles = new InputHandle_t[]; SteamInput()->GetConnectedControllers( inputHandles );

GetControllerForGamepadIndex

InputHandle_t GetControllerForGamepadIndex( int nIndex );
名前説明
nIndexintコントローラハンドルを取得するエミュレートされたゲームパッドのインデックス。

指定のエミュレートされたゲームパッドに関連付けられたコントローラハンドルを返します。 GetInputTypeForHandleと併用でき、Steam入力ゲームパッドエミュレーションを使用中のコントローラのタイプを決定します。

戻り値:InputHandle_t


例:
// 照会するXInputスロットと交換します。 数字は0から3の間です int nXinputSlotIndex = 0; InputHandle_t inputHandle = SteamInput()->GetControllerForGamepadIndex( nXinputSlotIndex ); if ( inputHandle == 0 ) { // 有効な入力ハンドルはゼロ以外です。これは通常のXboxコントローラーです。 } else { ESteamInputType inputType = SteamInput()->GetInputTypeForHandle( inputHandle ); switch( inputType ) { case k_ESteamInputType_Unknown: printf( "unknown!\n" ); break; case k_ESteamInputType_SteamController: printf( "Steam controller!\n" ); break; case k_ESteamInputType_XBox360Controller: printf( "XBox 360 controller!\n" ); break; case k_ESteamInputType_XBoxOneController: printf( "XBox One controller!\n" ); break; case k_ESteamInputType_GenericXInput: printf( "Generic XInput!\n" ); break; case k_ESteamInputType_PS4Controller: printf( "PS4 controller!\n" ); break; } }

GetCurrentActionSet

InputActionSetHandle_t GetCurrentActionSet( InputHandle_t inputHandle );
名前説明
inputHandleInputHandle_t照会するコントローラのハンドル。

指定のコントローラで現在のアクティブなアクションセットを取得。

戻り値:InputActionSetHandle_t
指定のコントローラに有効化されたアクションセットのハンドル。

例:
InputActionSetHandle_t controller1Set = SteamInput()->GetCurrentActionSet(controller1Handle);

GetDigitalActionData

InputDigitalActionData_t GetDigitalActionData( InputHandle_t inputHandle, InputDigitalActionHandle_t digitalActionHandle );
名前説明
inputHandleInputHandle_t照会するコントローラのハンドル。
digitalActionHandleInputDigitalActionHandle_t照会するデジタルアクションのハンドル。

提供されたデジタルゲームアクションの現在の状態を返します。

戻り値:InputDigitalActionData_t
指定のデジタルアクションの現在の状態。

GetDigitalActionHandle

InputDigitalActionHandle_t GetDigitalActionHandle( const char *pszActionName );
名前説明
pszActionNameconst char *ゲームのVDFファイル内で定義されたデジタルアクションの文字列識別子。

指定されたデジタルアクションのハンドルを取得。

注:この関数はアクションセットハンドルパラメーターを受け付けません。 つまり、VDFファイル内の各アクションは一意の文字列識別子を持つ必要があります。 言い換えれば、2つの異なるアクションセット内に 「up」と呼ばれるアクションを使う場合には、この関数は1つのみを返し、もう一方は無視されます。

戻り値:InputDigitalActionHandle_t
指定のデジタルアクションのハンドル。

例:
InputDigitalActionHandle_t punchHandle = SteamInput()->GetDigitalActionHandle( "punch" );

GetDigitalActionOrigins

int GetDigitalActionOrigins( InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle, InputDigitalActionHandle_t digitalActionHandle, EInputActionOrigin *originsOut );
名前説明
inputHandleInputHandle_t照会するコントローラのハンドル。
actionSetHandleInputActionSetHandle_t照会するアクションセットのハンドル。
digitalActionHandleInputDigitalActionHandle_t照会するデジタルアクションのハンドル。
originsOutEInputActionOrigin *STEAM_INPUT_MAX_ORIGINSサイズのEInputActionOriginハンドルの配列。

originsOutEInputActionOriginハンドルを設定してアクションセット内のデジタルアクションの発生元を取得します。 これを使用して、アクションのプロンプトを適切に画面に表示します。

戻り値:int
originsOutに提供された発生元の数。

例:
EInputActionOrigin *origins = new EInputActionOrigin[]; SteamInput()->GetDigitalActionOrigins( controller1Handle, fightingSetHandle, punchHandle, origins );

GetGamepadIndexForController

int GetGamepadIndexForController( InputHandle_t ulControllerHandle );
名前説明
ulControllerHandleInputHandle_tゲームパッドインデックスを取得するコントローラのハンドル。

ゲームパッドをエミュレートしている場合には、指定のコントローラに関連するゲームパッドインデックスを返します。

戻り値:int


例:
int gamepadIndex = SteamInput()->GetGamepadIndexForController( controller1Handle );

GetGlyphForActionOrigin

const char * GetGlyphForActionOrigin( EInputActionOrigin eOrigin );
名前説明
eOriginEInputActionOrigin

それぞれの発生元に対応したグリフを画面上に表示するためにローカルパスを取得します。

戻り値:const char *
グリフ用のpngファイルのパス。
"C:\Program Files (x86)\Steam\tenfoot\resource\images\library\controller\api\ps4_button_x.png"

例:
// "punch"の発生元を取得 EInputActionOrigin *origins = new EInputActionOrigin[]; SteamInput()->GetDigitalActionOrigins( controller1Handle, fightingSetHandle, punchHandle, origins ); EInputActionOrigin firstOrigin = origins[0]; //i.e, k_EInputActionOrigin_PS4_X // ゲーム自体の関数で、カスタムのグリフアートを取得しようとします int glyphTextureID = getHardCodedButtonGlyphTexture( firstOrigin ); // この発生元に対してゲームではアートを設定していません! Steamが新タイプのコントローラへのサポート //を追加したか、アートの追加を忘れたのかもしれません! //(Steamコントローラグリフはありますが、これはPlasyStation 4コントローラーです) if( glyphTextureID == -1 ) { // 代わりにSteamクライアントからイメージを取得します。 const char *localGlyphPath = SteamInput()->GetGlyphForActionOrigin( firstOrigin ); printf( "path = %s\n", localGlyphPath ); // "path = C:\Program Files (x86)\Steam\tenfoot\resource\images\library\controller\api\ps4_button_x.png" //ファイルパスを使用可能なゲームテクスチャに変換するゲーム由来の関数 glyphTextureID = loadButtonGlyphTextureFromLocalPath( localGlyphPath ); }

GetInputTypeForHandle

ESteamInputType GetInputTypeForHandle( InputHandle_t inputHandle );
名前説明
inputHandleInputHandle_t入力タイプ(デバイスモデル)を照会するコントローラのハンドル

指定のコントローラの入力タイプ(デバイスモデル)を返します。 そのコントローラが、Steamコントローラ、XBox 360コントローラー、PS4コントローラーなのかなどがわかります。

戻り値:ESteamInputType


例:
ESteamInputType inputType = SteamInput()->GetInputTypeForHandle(controller1Handle); switch(inputType) { case k_ESteamInputType_Unknown: printf("unknown!\n"); break; case k_ESteamInputType_SteamController: printf("Steam controller!\n"); break; case k_ESteamInputType_XBox360Controller: printf("XBox 360 controller!\n"); break; case k_ESteamInputType_XBoxOneController: printf("XBox One controller!\n"); break; case k_ESteamInputType_GenericXInput: printf("Generic XInput!\n"); break; case k_ESteamInputType_PS4Controller: printf("PS4 controller!\n"); break; }

GetMotionData

InputMotionData_t GetMotionData( InputHandle_t inputHandle );
名前説明
inputHandleInputHandle_tモーションデータを取得するコントローラのハンドル

指定のコントローラの未加工のモーションデータを返します。

戻り値:InputMotionData_t


例:
InputMotionData_t motionData = SteamInput()->GetControllerMotionData( inputHandle );

GetStringForActionOrigin

const char * GetStringForActionOrigin( EInputActionOrigin eOrigin );
名前説明
eOriginEInputActionOrigin

指定の発生元に(Steamの言語設定に基づいて)ローカライズされた文字列を返します。

戻り値:const char *


例:
EInputActionOrigin *origins = new EInputActionOrigin[]; SteamInput()->GetDigitalActionOrigins( controller1Handle, fightingSetHandle, punchHandle, origins ); const char * punchString = SteamInput()->GetStringForActionOrigin( origins[0] ); printf("punch = %s\n",punchString);

Init

bool Init();
ISteamInputインターフェイスの使用開始時に呼び出す必要があります。

戻り値:bool
常にtrueを返します。

例:
SteamInput()->Init();

RunFrame

void RunFrame();
取得できる最新のSteamコントローラ入力とAPIの状態を同期します。 これはSteamAPI_RunCallbacksで自動的に実行されますが、可能な限り絶対的に最低のレイテンシーに対しては、コントローラの状態を読み出す前に直接これを呼び出せます。

例:
SteamInput()->RunFrame();

SetDualSenseTriggerEffect

void SetDualSenseTriggerEffect( InputHandle_t inputHandle, const ScePadTriggerEffectParam *pParam );
名前説明
inputHandleInputHandle_t対象のコントローラのハンドル。
pParam ScePadTriggerEffectParamトリガーのパラメーター、isteamdualsense.hで定義される

DualSenseコントローラーにトリガー効果を設定

例:
ScePadTriggerEffectParam param; memset( &param, 0, sizeof( param ) ); param.triggerMask = SCE_PAD_TRIGGER_EFFECT_TRIGGER_MASK_R2; param.command[SCE_PAD_TRIGGER_EFFECT_PARAM_INDEX_FOR_R2].mode = SCE_PAD_TRIGGER_EFFECT_MODE_VIBRATION; param.command[SCE_PAD_TRIGGER_EFFECT_PARAM_INDEX_FOR_R2].commandData.vibrationParam.position = 5; param.command[SCE_PAD_TRIGGER_EFFECT_PARAM_INDEX_FOR_R2].commandData.vibrationParam.amplitude = 5; param.command[SCE_PAD_TRIGGER_EFFECT_PARAM_INDEX_FOR_R2].commandData.vibrationParam.frequency = 8; SteamInput()->SetDualSenseTriggerEffect( controller1Handle, &param );

SetLEDColor

void SetLEDColor( InputHandle_t inputHandle, uint8 nColorR, uint8 nColorG, uint8 nColorB, unsigned int nFlags );
名前説明
inputHandleInputHandle_t対象のコントローラのハンドル。
nColorRuint8設定する色の赤のコンポーネント(0-255) 。
nColorGuint8設定する色の緑のコンポーネント(0-255) 。
nColorBuint8設定する色の青のコンポーネント(0-255) 。
nFlags符号なし intビットマスクされたフラグはESteamControllerLEDFlagで定義された値から結合されます。

サポートされたコントローラに、コントローラLEDを設定します。

注:
VSCは白以外の色をサポートしていないため、 RGBの値を明るさのグレースケール値として理解し、SteamボタンLEDの明るさに影響します。
DS4はフルカラー情報をサポートし、その値をライトバーの色と明るさに反映します。

例:
// コントローラ1にユーザーのデフォルトカラーを復元: SteamInput()->SetLEDColor( controller1Handle, 0, 0, 0, k_ESteamControllerLEDFlag_RestoreUserDefault ); // コントローラ2の色をマゼンタに設定: SteamInput()->SetLEDColor( controller2Handle, 255, 0, 255, k_ESteamControllerLEDFlag_SetColor );

ShowAnalogActionOrigins

bool ShowAnalogActionOrigins( InputHandle_t inputHandle, InputAnalogActionHandle_t analogActionHandle, float flScale, float flXPosition, float flYPosition );
名前説明
inputHandleInputHandle_t
analogActionHandleInputAnalogActionHandle_t
flScalefloat
flXPositionfloat
flYPositionfloat

使用されていません。

戻り値: bool
常にtrueを返します。

ShowBindingPanel

bool ShowBindingPanel( InputHandle_t inputHandle );
名前説明
inputHandleInputHandle_tバインドスクリーンを表示するコントローラのハンドル。

Steamオーバーレイを呼び出し割当スクリーンを表示します。

戻り値: bool
trueで成功、オーバーレイが無効化されているか使用できない場合はfalseです。 プレイヤーがBig Pictureモードを使用している場合、設定はオーバーレイ内で開きます。 デスクトップモードでは、ウィンドウとしてBig Pictureのポップアップバージョンが作られ、設定が開きます。

例:
SteamInput()->ShowBindingPanel( myControllerHandle );

ShowDigitalActionOrigins

bool ShowDigitalActionOrigins( InputHandle_t inputHandle, InputDigitalActionHandle_t digitalActionHandle, float flScale, float flXPosition, float flYPosition );
名前説明
inputHandleInputHandle_t
digitalActionHandleInputAnalogActionHandle_t
flScalefloat
flXPositionfloat
flYPositionfloat

使用されていません。

戻り値:bool
常にtrueを返します。

Shutdown

bool Shutdown();
ISteamInputインターフェイスの使用終了時に呼び出す必要があります。

戻り値: bool
常にtrueを返します。

例:
SteamInput()->Shutdown();

StopAnalogActionMomentum

void StopAnalogActionMomentum( InputHandle_t inputHandle, InputAnalogActionHandle_t eAction );
名前説明
inputHandleInputHandle_t対象のコントローラのハンドル。
eActionInputAnalogActionHandle_t慣性を停止するアナログアクション。

当該のアナログアクションの慣性を停止します。(例:バーチャルトラックボール設定のあるタッチパッドを使用)

注:
すべての関連するハプティクスも停止します。 カルーセルの回転やWebページのスクロール等、ユーザーにアクションの限界に到達したことを伝える場合に便利です。

例:
SteamInput()->StopAnalogActionMomentum( controller1Handle, moveHandle );

TriggerHapticPulse

void TriggerHapticPulse( InputHandle_t inputHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec );
名前説明
inputHandleInputHandle_t対象のコントローラのハンドル。
eTargetPadESteamControllerPad影響するハプティックタッチパッド。
usDurationMicroSec符号なし shortマイクロ秒(1秒の1/1,000,000)単位でのパルス期間。

対応コントローラでの(低レベル)ハプティックパルスを誘発。

注:
現在は VSC のみがハプティックパルスに対応しています。
この API コールは、他のコントローラモデルでは無視されます。
符号なしshortの最大値は 65535 で、この方法によって誘発できる最長のハプティックパルスの期間が 0.065535 秒であることを意味します。 (1 秒 の 1/10 以下です。) この関数は、より複雑な動作を作成するためのより高レベルなユーザー関数で繰り返し使用される、低レベルのプリミティブな方法としてお考え下さい。

例:
//1秒間のパルス、それぞれ1/20秒のon/offパルスパターンを持ちます SteamInput()->TriggerRepeatedHapticPulse( controller1Handle, k_ESteamControllerPad_Left, 50000, 50000, 10 );

TriggerRepeatedHapticPulse

void TriggerRepeatedHapticPulse( InputHandle_t inputHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec, unsigned short usOffMicroSec, unsigned short unRepeat, unsigned int nFlags );
名前説明
inputHandleInputHandle_t対象のコントローラのハンドル。
eTargetPadESteamControllerPad影響するハプティックタッチパッド。
usDurationMicroSec符号なし shortマイクロ秒 (1 秒の 1/1,000,000) 単位でのパルス期間。
usOffMicroSec符号なしshortマイクロ秒単位での、パルス間の期間。
unRepeat符号なしshortusDurationMicroSec / usOffMicroSecデューティ―比を繰り返す回数。
nFlags符号なしint現在未使用ですが、将来のため予約済みです。

対応コントローラで繰り返されるハプティックパルスを誘発します。

注:
現在はSteamコントローラ、Steam Deck、Nintendo Switch Proコントローラーがハプティックパルスに対応しています。
非対応のコントローラモデルでは、このAPIコールは無視されます。
ユーザーが実際に気が付くことのできる長さのパルスパターンを生成できるため、TriggerHapticPulseよりもユーザーフレンドリーな関数です。
usDurationMicroSecとusOffMicroSecパラメーターへの変更は、ハプティックパルスの "テクスチャ"を変更します。

例:
//1秒間のパルス、それぞれ1/20秒のon/offパルスパターンを持ちます SteamInput()->TriggerRepeatedHapticPulse( controller1Handle, k_ESteamControllerPad_Left, 50000, 50000, 10 );

TriggerVibration

void TriggerVibration( InputHandle_t inputHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed );
名前説明
inputHandleInputHandle_t対象のコントローラのハンドル。
usLeftSpeed符号なしshort左ランブルモーターの強度値。
usRightSpeed符号なしshort右ランブルモーターの強度値。

対応コントローラーでの振動イベントを誘発。

注:
非対応コントローラモデルではこのAPI呼び出しは無視されます。
これは従来の"ランブル" 振動効果を生成します。
VSCはハプティックを用いて伝統的なランブルをエミュレートします。

例:
SteamInput()->TriggerVibration( controller1Handle, 10000, 10000 );

TriggerVibrationExtended

void TriggerVibrationExtended( InputHandle_t inputHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed );
名前説明
inputHandleInputHandle_t影響するコントローラのハンドル。
usLeftSpeedunsigned short左ランブルモーターの強度値。
usRightSpeedunsigned short右ランブルモーターの強度値。
usLeftTriggerSpeedunsigned short左のXboxインパルストリガーモーターの強度値。
usRightTriggerSpeedunsigned short右のXboxインパルストリガーモーターの強度値。

Xboxインパルストリガーモーター値を含む、対応コントローラー上の振動イベントをトリガーします。

注:
WindowsのXboxインパルストリガーモーター値へのサポートは、ユーザーがXbox拡張機能サポートドライバをインストールしていることを必要とします。
SteamコントローラとSteam Deckはハプティクスを使用して、従来のランブルをエミュレートします。

例:
SteamInput()->TriggerVibrationExtended( controller1Handle, 10000, 10000, 10000, 10000 );

GetActionOriginFromXboxOrigin

EInputActionOrigin TranslateActionOrigin( ESteamInputType eDestinationInputType, EInputActionOrigin eSourceOrigin );
名前説明
inputHandleInputHandle_t対象のコントローラのハンドル。 このハンドルの取得にGetControllerForGamepadIndexを使えます。
eOriginEXboxOriginイメージを取得するボタンです。 例: k_EXboxOrigin_A

戻り値: EInputActionOrigin

グリフ検索テーブルで使用できる、またはGetGlyphForActionOriginかGetStringForActionOriginに渡されるアクション発生元を取得します。


例:
int nXinputSlot = 1; // プレイヤーにとって適切なXinput入力と置き換える InputHandle_t controller1Handle = GetControllerForGamepadIndex( nXinputSlot ); EInputActionOrigin buttonOrigin = SteamInput()->GetActionOriginFromXboxOrigin( controller1Handle, k_EXboxOrigin_A ); // Steamクライアントからイメージを取得する。 const char *localGlyphPath = SteamInput()->GetGlyphForActionOrigin( buttonOrigin ); printf( "path = %s\n", localGlyphPath ); // "path = C:\Program Files (x86)\Steam\tenfoot\resource\images\library\controller\api\ps4_button_x.png" //ファイルパスを使用可能なゲームテクスチャに変換するゲームからの関数 glyphTextureID = loadButtonGlyphTextureFromLocalPath( localGlyphPath );

TranslateActionOrigin

EInputActionOrigin TranslateActionOrigin( ESteamInputType eDestinationInputType, EInputActionOrigin eSourceOrigin );
名前説明
inputHandleInputHandle_t影響するコントローラのハンドル。 このハンドルの取得にGetControllerForGamepadIndexを使えます。
eDestinationInputTypeESteamInputType変換するコントローラのタイプ。 k_ESteamInputType_Unknownが使用されれば、Steamはご利用のSDKバージョンから最も近いタイプを選択します。
eSourceOriginEInputActionOrigin変換したいボタン。

戻り値: EInputActionOrigin

eDestinationInputTypeがk_ESteamInputType_Unknownの場合、特定のコントローラのタイプまたはゲームにビルドしたSDKに存在する最も近いコントローラタイプの同等の発生元を取得します。 このアクション発生元は、グリフルックアップテーブルで使用するか、GetGlyphForActionOriginまたはGetStringForActionOrigin に渡すことができます。


例:
int nXinputSlot = 1; // プレイヤーにとって適切なXinputスロットに置き換えます。 InputHandle_t controller1Handle = GetControllerForGamepadIndex( nXinputSlot ); EInputActionOrigin buttonOrigin = SteamInput()->GetActionOriginFromXboxOrigin( controller1Handle, k_EXboxOrigin_A ); //例えば k_EInputActionOrigin_PS4_X if ( buttonOrigin >= k_EInputActionOrigin_Count ) { // この発生元へのアートをゲーム内に設定していません! Steamが新しいコントローラのサポートを // 追加したようです! ビルドしたSDKがサポートする最も近い値を取得しましょう。 buttonOrigin = SteamInput()->TranslateActionOrigin( k_ESteamInputType_Unknown, buttonOrigin ) } // これは、カスタムのグリフアートを取得するためのゲーム自身の機能です。 int glyphTextureID = getHardCodedButtonGlyphTexture( actionOrigin );

GetDeviceBindingRevision

bool GetDeviceBindingRevision( InputHandle_t inputHandle, int *pMajor, int *pMinor );
名前説明
inputHandleInputHandle_t照会するコントローラのハンドル。
pMajorint * メジャーな割り当て変更が格納されるintへのポインター。
pMinorint * マイナーな割り当て変更が格納されるintへのポインター。

戻り値: bool ー デバイスの割り当てが正常に見つかった場合はtrue、割り当てがまだ読み込み中の場合にはfalse。

Steam Input API構成のメジャー、およびマイナーなデバイス割り当て変更を取得します。 メジャーな変更は、アクションセット数の変更があった時など、古い設定が使えなくなる程度に構成が修正される時に使用します。 ユーザーの割当が現在の公式設定のメジャーな変更に同意しない場合には、Steamは強制的にユーザーを新しい設定に更新します。 メジャーな変更を更新するときには、すべてのコントローラ用に新しい設定が作成される必要があります。 マイナーな変更は、任意のアクションの新規追加や、設定内のローカライズ更新などの小さな変更です。 マイナーな変更を更新するときは一般的に、一つの設定を更新してから「アクションブロックを使用」を確認して、残りの設定にアクションブロックの変更を適用します。

サンプルコード:
int nMajorRevision = -1; int nMinorRevision= -1; const int nCurrentMajorRevision = 1; const int nCurrentMinorRevision = 1; if ( GetDeviceBindingRevision( inputHandle, &nMajorRevision , &nMinorRevision ) ) { if ( nMinorRevision != nCurrentMinorRevision ) { // 期限切れのマイナーバージョン、問題なし // 次回のconfig編集で修正されます } if ( nMajorRevision != nCurrentMajorRevision ) { // Steamが検出中の間のみ短期間で発生 // その後最新の公式configにユーザーを強制的にアップデート } } else { // このコントローラには設定がまだ読み込まれていません }

ゲームアクションファイルの使用例:
"In Game Actions" { "major_revision" "0" "minor_revision" "1" "actions" { ...

GetRemotePlaySessionID

uint32 GetRemotePlaySessionID( InputHandle_t inputHandle );
名前説明
inputHandleInputHandle_t照会するコントローラのハンドル。

戻り値: uint32 - Steam Remote PlayのセッションID

デバイスに関連付けられたSteam Remote PlayセッションIDか、関連セッションが無ければ0を取得します。 Steam Remote Playセッションの詳細情報はisteamremoteplay.hを参照してください。

構造体

これらは、ISteamInput内の関数が返す、またはやり取りする構造体です。

InputAnalogActionData_t

アナログアクションの現在の状態を表します。

注:
  • 構成によってその値や範囲などは異なりますが、(大まかに言えば)従来のアナログアクションは-1.0から1.0の正規化されたfloat値を提供し、マウスのようなアクションは、最後のフレームから移動した分の「ピクセル」数の差分アップデートを提供します。 つまり、マウスのようなアクションはより大きなxとyの絶対値を提供し、それは最後に記録された入力位置を基準としています。一方で、伝統的なアナログアクションはより小さく、中央の物理的なアンカーポイントを基準としています。
  • マウスのようなアクションが提供する差分は、OSが提供するピクセルデルタに非常によく似ていますが、SCデルタは整数ではなくfloatです。 これは、このデータをカメラ回転にマッピングしたときに、より少ない潜在的な量子化と精度の損失を意味します。
  • アナログトリガー等の単軸アナログ入力の場合、x軸のみがデータを含み、y軸は常に0となります。

名前説明
eModeEControllerSourceModeこのアクションからのデータの型は、VDF定義で設定されたアクションと一致します。
xfloat横軸におけるこのアクションの現在の状態。
yfloat縦軸におけるこのアクションの現在の状態。
bActivebool現在このアクションが利用可能かどうかに関わらず、有効なアクションセットに紐づけられます。 利用できない場合、または有効なアクションセットに属さない場合、falseとなります。

InputDigitalActionData_t

デジタルアクションの現在の状態を表します。

名前説明
bStateboolこのアクションの現在の状態:アクションが現在押されている場合はtrue。それ以外の場合はfalse
bActivebool現在このアクションが利用可能かどうかに関わらず、有効なアクションセットに紐づけられます。

InputMotionData_t

デバイスのモーションセンサーの現在の状態を表します。

注: rotQuatX/rotQuatY/rotQuatZ/rotQuatWでは、コントローラの慣性測定ユニットがジャイロと加速度計の融合に基づく四元数を作成します。 この値は、コントローラの絶対的な向きですが、ヨー軸上にドリフトします。

位置加速度はINT16_MINとINT16_MAXの間の補間値として報告され、その範囲は±2Gに制限されます(1G = 9.80665m/s2)。

角速度はINT16_MINとINT16_MAXの間の補間値として報告され、その範囲は ±2000度/秒に制限されます。

名前説明
rotQuatXfloatセンサー融合絶対回転(進路にドリフトします)、x軸
rotQuatYfloatセンサー融合絶対回転(進路にドリフトします)、y 軸
rotQuatZfloatセンサー融合絶対回転(進路にドリフトします)、z軸
rotQuatWfloatセンサー融合絶対回転(進路にドリフトします)、w 軸
posAccelXfloat位置的な加速、x軸
posAccelYfloat位置的な加速、y軸
posAccelZfloat位置的な加速、z軸
rotVelXfloat角速度、 x軸
rotVelYfloat角速度、 y軸
rotVelZfloat角速度、 z軸

列挙型

これらはISteamInputで使用するために定義された列挙型です。

EInputActionOrigin

プレイヤーが Steam入力コンフィギュレーターでバインドするアクションを入力します。 これらの値の主な目的は、アクションに応じて表示されるボタングリフを決定することです。例:「
[A]を押してジャンプ」

名前説明
k_EInputActionOrigin_None0
k_EInputActionOrigin_A1(Valve Steamコントローラ) デジタルフェイスボタン A
k_EInputActionOrigin_B2(Valve Steamコントローラ) デジタルフェイスボタンB
k_EInputActionOrigin_X3(Valve Steamコントローラ) デジタルフェイスボタンX
k_EInputActionOrigin_Y4(Valve Steamコントローラ) デジタルフェイスボタンY
k_EInputActionOrigin_LeftBumper5(Valve Steamコント ローラ) デジタル左ショルダーボタン (別名 左バンパー)
k_EInputActionOrigin_RightBumper6(Valve Steamコント ローラ) デジタル右ショルダーボタン (別名 右バンパー)
k_EInputActionOrigin_LeftGrip7(Valve Steamコントローラ) デジタル左グリップパドル
k_EInputActionOrigin_RightGrip8(Valve Steamコントローラ) デジタル右グリップパドル
k_EInputActionOrigin_Start9(Valve Steamコントローラ) デジタルスタートボタン
k_EInputActionOrigin_Back10(Valve Steamコントローラ) デジタルバックボタン
k_EInputActionOrigin_LeftPad_Touch11(Valve Steam コントローラ) 左ハプティックタッチパッド、指での単純な接触
k_EInputActionOrigin_LeftPad_Swipe12(Valve Steamコントローラ) 左ハプティックタッチパッド、任意の軸上へのタッチ入力
k_EInputActionOrigin_LeftPad_Click13(Valve Steamコントローラ) 左ハプティックタッチパッド、デジタルクリック (全体押し込み)
k_EInputActionOrigin_LeftPad_DPadNorth14(Valve Steam コントローラ) 左ハプティックタッチパッド、デジタルクリック (4分割上)
k_EInputActionOrigin_LeftPad_DPadSouth15(Valve Steamコントローラ) 左ハプティックタッチパッド、デジタルクリック (4分割下)
k_EInputActionOrigin_LeftPad_DPadWest16(Valve Steamコントローラ) 左ハプティックタッチパッド、デジタルクリック (4分割左)
k_EInputActionOrigin_LeftPad_DPadEast17(Valve Steamコントローラ) 左ハプティックタッチパッド、デジタルクリック (4分割右)
k_EInputActionOrigin_RightPad_Touch18(Valve Steamコントローラ) 右ハプティックタッチパッド、指での単純な接触
k_EInputActionOrigin_RightPad_Swipe19(Valve Steamコントローラ) 右ハプティックタッチパッド、任意の軸上へのタッチ入力
k_EInputActionOrigin_RightPad_Click20(Valve Steamコントローラ) 右ハプティックタッチパッド、デジタルクリック (全体押し込み)
k_EInputActionOrigin_RightPad_DPadNorth21(Valve Steamコントローラ) 右ハプティックタッチパッド、デジタルクリック (4分割上)
k_EInputActionOrigin_RightPad_DPadSouth22(Valve Steamコントローラ) 右ハプティックタッチパッド、デジタルクリック (4分割下)
k_EInputActionOrigin_RightPad_DPadWest23(Valve Steamコントローラ) 右ハプティックタッチパッド、デジタルクリック (4分割左)
k_EInputActionOrigin_RightPad_DPadEast24(Valve Steamコントローラ) 右ハプティックタッチパッド、デジタルクリック (4分割右)
k_EInputActionOrigin_LeftTrigger_Pull25(Valve Steamコントローラ) 左アナログトリガー、任意量の押し込み (アナログ値)
k_EInputActionOrigin_LeftTrigger_Click26(Valve Steamコントローラ) 左アナログトリガー、押し切り (デジタル値)
k_EInputActionOrigin_RightTrigger_Pull27(Valve Steamコントローラ) 右アナログトリガー、任意量の押し込み (アナログ値)
k_EInputActionOrigin_RightTrigger_Click28(Valve Steamコントローラ) 右アナログトリガー、押し切り (デジタル値)
k_EInputActionOrigin_LeftStick_Move29(Valve Steamコントローラ) 左ジョイスティック、任意の軸での移動(アナログ値)
k_EInputActionOrigin_LeftStick_Click30(Valve Steamコントローラ) 左ジョイスティック、クリック(デジタル値)
k_EInputActionOrigin_LeftStick_DPadNorth31(Valve Steamコントローラ) 左ジョイスティック、デジタル移動 (4分割上)
k_EInputActionOrigin_LeftStick_DPadSouth32(Valve Steamコントローラ) 左ジョイスティック、デジタル移動 (4分割下)
k_EInputActionOrigin_LeftStick_DPadWest33(Valve Steamコントローラ) 左ジョイスティック、デジタル移動 (4分割左)
k_EInputActionOrigin_LeftStick_DPadEast34(Valve Steamコントローラ) 左ジョイスティック、デジタル移動 (4分割右)
k_EInputActionOrigin_Gyro_Move35(Valve Steamコントローラ) ジャイロスコープ、任意の軸へのアナログ移動
k_EInputActionOrigin_Gyro_Pitch36(Valve Steamコントローラ) ジャイロスコープ、(正面を天井と床方向に向ける)ピッチ軸のアナログ移動
k_EInputActionOrigin_Gyro_Yaw37(Valve Steamコントローラ) ジャイロスコープ、(正面を左右へ向ける)ヨー軸のアナログ移動
k_EInputActionOrigin_Gyro_Roll38(Valve Steamコントローラ) ジャイロスコープ、(正面を左右へ傾ける)ロール軸のアナログ移動
k_EInputActionOrigin_SteamController_Reserved039将来のため予約済み
k_EInputActionOrigin_SteamController_Reserved140将来のため予約済み
k_EInputActionOrigin_SteamController_Reserved241将来のため予約済み
k_EInputActionOrigin_SteamController_Reserved342将来のため予約済み
k_EInputActionOrigin_SteamController_Reserved443将来のため予約済み
k_EInputActionOrigin_SteamController_Reserved544将来のため予約済み
k_EInputActionOrigin_SteamController_Reserved645将来のため予約済み
k_EInputActionOrigin_SteamController_Reserved746将来のため予約済み
k_EInputActionOrigin_SteamController_Reserved847将来のため予約済み
k_EInputActionOrigin_SteamController_Reserved948将来のため予約済み
k_EInputActionOrigin_SteamController_Reserved1049将来のため予約済み
k_EInputActionOrigin_PS4_X50(Sony Dualshock 4) デジタルフェイスボタン X
k_EInputActionOrigin_PS4_Circle51(Sony Dualshock 4) デジタルフェイスボタン 〇
k_EInputActionOrigin_PS4_Triangle52(Sony Dualshock 4) デジタルフェイスボタン△
k_EInputActionOrigin_PS4_Square53(Sony Dualshock 4) デジタルフェイスボタン□
k_EInputActionOrigin_PS4_LeftBumper54(Sony Dualshock 4) デジタル左ショルダーボタン (別名 左バンパー)
k_EInputActionOrigin_PS4_RightBumper55(Sony Dualshock 4) デジタル右ショルダーボタン (別名 右バンパー)
k_EInputActionOrigin_PS4_Options56(Sony Dualshock 4) デジタルオプションボタン (別名 Start)
k_EInputActionOrigin_PS4_Share57(Sony Dualshock 4) デジタルshareボタン (別名 Back)
k_EInputActionOrigin_PS4_LeftPad_Touch58(Sony Dualshock 4) タッチパッド左半分、指での単純な接触
k_EInputActionOrigin_PS4_LeftPad_Swipe59(Sony Dualshock 4) タッチパッドの左半分、任意の軸上へのタッチ入力
k_EInputActionOrigin_PS4_LeftPad_Click60(Sony Dualshock 4) タッチパッドの左半分、(全体への)デジタルクリック
k_EInputActionOrigin_PS4_LeftPad_DPadNorth61(Sony Dualshock 4) タッチパッドの左半分、(4分割下への)デジタルクリック
k_EInputActionOrigin_PS4_LeftPad_DPadSouth62(Sony Dualshock 4) タッチパッドの左半分、(4分割下への)デジタルクリック
k_EInputActionOrigin_PS4_LeftPad_DPadWest63(Sony Dualshock 4) タッチパッドの左半分、(4分割左への)デジタルクリック
k_EInputActionOrigin_PS4_LeftPad_DPadEast64(Sony Dualshock 4) タッチパッドの左半分、(4分割右への)デジタルクリック
k_EInputActionOrigin_PS4_RightPad_Touch65(Sony Dualshock 4) タッチパッド右半分、指での単純な接触
k_EInputActionOrigin_PS4_RightPad_Swipe66(Sony Dualshock 4) タッチパッドの右半分、任意の軸上へのタッチ入力
k_EInputActionOrigin_PS4_RightPad_Click67(Sony Dualshock 4) タッチパッドの右半分、(全体への)デジタルクリック
k_EInputActionOrigin_PS4_RightPad_DPadNorth68(Sony Dualshock 4) タッチパッドの右半分、(4分割上への)デジタルクリック
k_EInputActionOrigin_PS4_RightPad_DPadSouth69(Sony Dualshock 4) タッチパッドの右半分、(4分割下への)デジタルクリック
k_EInputActionOrigin_PS4_RightPad_DPadWest70(Sony Dualshock 4) タッチパッドの右半分、(4分割左への)デジタルクリック
k_EInputActionOrigin_PS4_RightPad_DPadEast71(Sony Dualshock 4) タッチパッドの右半分、(4分割右への)デジタルクリック
k_EInputActionOrigin_PS4_CenterPad_Touch72(Sony Dualshock 4) 統一タッチパッド、指での単純な接触
k_EInputActionOrigin_PS4_CenterPad_Swipe73(Sony Dualshock 4)統一タッチパッド、任意の軸上へのタッチ入力
k_EInputActionOrigin_PS4_CenterPad_Click74(Sony Dualshock 4) 統一タッチパッド、(全体への)デジタルクリック
k_EInputActionOrigin_PS4_CenterPad_DPadNorth75(Sony Dualshock 4) 統一タッチパッド、(4分割上への)デジタルクリック
k_EInputActionOrigin_PS4_CenterPad_DPadSouth76(Sony Dualshock 4) 統一タッチパッド、(4分割下への)デジタルクリック
k_EInputActionOrigin_PS4_CenterPad_DPadWest77(Sony Dualshock 4) 統一タッチパッド、(4分割左への)デジタルクリック
k_EInputActionOrigin_PS4_CenterPad_DPadEast78(Sony Dualshock 4) 統一タッチパッド、(4分割右への)デジタルクリック
k_EInputActionOrigin_PS4_LeftTrigger_Pull79(Sony Dualshock 4) 左アナログトリガー、任意量の押し込み(アナログ値)
k_EInputActionOrigin_PS4_LeftTrigger_Click80(Sony Dualshock 4) 左アナログトリガー、押し切り(デジタル値)
k_EInputActionOrigin_PS4_RightTrigger_Pull81(Sony Dualshock 4) 右アナログトリガー、任意量の押し込み(アナログ値)
k_EInputActionOrigin_PS4_RightTrigger_Click82(Sony Dualshock 4) 右アナログトリガー、押し切り(デジタル値)
k_EInputActionOrigin_PS4_LeftStick_Move83(Sony Dualshock 4) 左ジョイスティック、任意の軸での移動(アナログ値)
k_EInputActionOrigin_PS4_LeftStick_Click84(Sony Dualshock 4) 左ジョイスティック、クリック(デジタル値)
k_EInputActionOrigin_PS4_LeftStick_DPadNorth85(Sony Dualshock 4) 左ジョイスティック、デジタル移動 (4分割上)
k_EInputActionOrigin_PS4_LeftStick_DPadSouth86(Sony Dualshock 4) 左ジョイスティック、デジタル移動 (4分割下)
k_EInputActionOrigin_PS4_LeftStick_DPadWest87(Sony Dualshock 4) 左ジョイスティック、デジタル移動 (4分割左)
k_EInputActionOrigin_PS4_LeftStick_DPadEast88(Sony Dualshock 4) 左ジョイスティック、デジタル移動 (4分割右)
k_EInputActionOrigin_PS4_RightStick_Move89(Sony Dualshock 4) 右ジョイスティック、任意の軸での移動(アナログ値)
k_EInputActionOrigin_PS4_RightStick_Click90(Sony Dualshock 4) 右ジョイスティック、クリック(デジタル値)
k_EInputActionOrigin_PS4_RightStick_DPadNorth91(Sony Dualshock 4) 右ジョイスティック、デジタル移動 (4分割上)
k_EInputActionOrigin_PS4_RightStick_DPadSouth92(Sony Dualshock 4) 右ジョイスティック、デジタル移動 (4分割下)
k_EInputActionOrigin_PS4_RightStick_DPadWest93(Sony Dualshock 4) 右ジョイスティック、デジタル移動 (4分割左)
k_EInputActionOrigin_PS4_RightStick_DPadEast94(Sony Dualshock 4) 右ジョイスティック、デジタル移動 (4分割右)
k_EInputActionOrigin_PS4_DPad_North95(Sony Dualshock 4) デジタルパッド、(4分割上への) 押し込み
k_EInputActionOrigin_PS4_DPad_South96(Sony Dualshock 4) デジタルパッド、(4分割下への) 押し込み
k_EInputActionOrigin_PS4_DPad_West97(Sony Dualshock 4) デジタルパッド、(4分割左への) 押し込み
k_EInputActionOrigin_PS4_DPad_East98(Sony Dualshock 4) デジタルパッド、(4分割右への) 押し込み
k_EInputActionOrigin_PS4_Gyro_Move99(Sony Dualshock 4) ジャイロスコープ、任意の軸へのアナログ移動
k_EInputActionOrigin_PS4_Gyro_Pitch100(Sony Dualshock 4) ジャイロスコープ、(正面を天井と床方向に向ける)ピッチ軸のアナログ移動
k_EInputActionOrigin_PS4_Gyro_Yaw101(Sony Dualshock 4) ジャイロスコープ、(正面を左右へ向ける)ヨー軸のアナログ移動
k_EInputActionOrigin_PS4_Gyro_Roll102(Sony Dualshock 4) ジャイロスコープ、(正面を左右へ傾ける)ロール軸のアナログ移動
k_EInputActionOrigin_PS4_Reserved0103将来のため予約済み
k_EInputActionOrigin_PS4_Reserved1104将来のため予約済み
k_EInputActionOrigin_PS4_Reserved2105将来のため予約済み
k_EInputActionOrigin_PS4_Reserved3106将来のため予約済み
k_EInputActionOrigin_PS4_Reserved4107将来のため予約済み
k_EInputActionOrigin_PS4_Reserved5108将来のため予約済み
k_EInputActionOrigin_PS4_Reserved6109将来のため予約済み
k_EInputActionOrigin_PS4_Reserved7110将来のため予約済み
k_EInputActionOrigin_PS4_Reserved8111将来のため予約済み
k_EInputActionOrigin_PS4_Reserved9112将来のため予約済み
k_EInputActionOrigin_PS4_Reserved10113将来のため予約済み
k_EInputActionOrigin_XBoxOne_A114(XB1) デジタルフェイスボタン A
k_EInputActionOrigin_XBoxOne_B115(XB1) デジタルフェイスボタン B
k_EInputActionOrigin_XBoxOne_X116(XB1)デジタルフェイスボタン X
k_EInputActionOrigin_XBoxOne_Y117(XB1) デジタルフェイスボタン Y
k_EInputActionOrigin_XBoxOne_LeftBumper118(XB1) デジタル左ショルダーボタン (別名 左バンパー)
k_EInputActionOrigin_XBoxOne_RightBumper119(XB1) デジタル右ショルダーボタン (別名 右バンパー)
k_EInputActionOrigin_XBoxOne_Menu120(XB1) デジタルメニューボタン (別名 start)
k_EInputActionOrigin_XBoxOne_View121(XB1) デジタルビューボタン (別名 back)
k_EInputActionOrigin_XBoxOne_LeftTrigger_Pull122(XB1) 左アナログトリガー、任意量の押し込み(アナログ値)
k_EInputActionOrigin_XBoxOne_LeftTrigger_Click123(XB1) 左アナログトリガー、任意量の押し込み(アナログ値)
k_EInputActionOrigin_XBoxOne_RightTrigger_Pull124(XB1) 右アナログトリガー、任意量の押し込み(アナログ値)
k_EInputActionOrigin_XBoxOne_RightTrigger_Click125(XB1) 右アナログトリガー、押し切り(デジタル値)
k_EInputActionOrigin_XBoxOne_LeftStick_Move126(XB1) 左ジョイスティック、任意の軸での移動(アナログ値)
k_EInputActionOrigin_XBoxOne_LeftStick_Click127(XB1) 左ジョイスティック、クリック(デジタル値)
k_EInputActionOrigin_XBoxOne_LeftStick_DPadNorth128(XB1) 左ジョイスティック、デジタル移動 (4分割上)
k_EInputActionOrigin_XBoxOne_LeftStick_DPadSouth129(XB1) 左ジョイスティック、デジタル移動 (4分割下)
k_EInputActionOrigin_XBoxOne_LeftStick_DPadWest130(XB1) 左ジョイスティック、デジタル移動 (4分割左)
k_EInputActionOrigin_XBoxOne_LeftStick_DPadEast131(XB1) 左ジョイスティック、デジタル移動 (4分割右)
k_EInputActionOrigin_XBoxOne_RightStick_Move132(XB1) 右ジョイスティック、任意の軸での移動(アナログ値)
k_EInputActionOrigin_XBoxOne_RightStick_Click133(XB1) 右ジョイスティック、クリック(デジタル値)
k_EInputActionOrigin_XBoxOne_RightStick_DPadNorth134(XB1) 右ジョイスティック、デジタル移動 (4分割上)
k_EInputActionOrigin_XBoxOne_RightStick_DPadSouth135(XB1) 右ジョイスティック、デジタル移動 (4分割下)
k_EInputActionOrigin_XBoxOne_RightStick_DPadWest136(XB1) 右ジョイスティック、デジタル移動 (4分割左)
k_EInputActionOrigin_XBoxOne_RightStick_DPadEast137(XB1) 右ジョイスティック、デジタル移動 (4分割右)
k_EInputActionOrigin_XBoxOne_DPad_North138(XB1) デジタルパッド、(4分割上への) 押し込み
k_EInputActionOrigin_XBoxOne_DPad_South139(XB1) デジタルパッド、(4分割下への) 押し込み
k_EInputActionOrigin_XBoxOne_DPad_West140(XB1) デジタルパッド、(4分割左への) 押し込み
k_EInputActionOrigin_XBoxOne_DPad_East141(XB1) デジタルパッド、(4分割右への) 押し込み
k_EInputActionOrigin_XBoxOne_Reserved0142将来のため予約済み
k_EInputActionOrigin_XBoxOne_Reserved1143将来のため予約済み
k_EInputActionOrigin_XBoxOne_Reserved2144将来のため予約済み
k_EInputActionOrigin_XBoxOne_Reserved3145将来のため予約済み
k_EInputActionOrigin_XBoxOne_Reserved4146将来のため予約済み
k_EInputActionOrigin_XBoxOne_Reserved5147将来のため予約済み
k_EInputActionOrigin_XBoxOne_Reserved6148将来のため予約済み
k_EInputActionOrigin_XBoxOne_Reserved7149将来のため予約済み
k_EInputActionOrigin_XBoxOne_Reserved8150将来のため予約済み
k_EInputActionOrigin_XBoxOne_Reserved9151将来のため予約済み
k_EInputActionOrigin_XBoxOne_Reserved10152将来のため予約済み
k_EInputActionOrigin_XBox360_A153(X360) デジタルフェイスボタン A
k_EInputActionOrigin_XBox360_B154(X360) デジタルフェイスボタン B
k_EInputActionOrigin_XBox360_X155(X360) デジタルフェイスボタン X
k_EInputActionOrigin_XBox360_Y156(X360) デジタルフェイスボタン Y
k_EInputActionOrigin_XBox360_LeftBumper157(X360) デジタル左ショルダーボタン (別名 左バンパー)
k_EInputActionOrigin_XBox360_RightBumper158(X360) デジタル右ショルダーボタン (別名 右バンパー)
k_EInputActionOrigin_XBox360_Start159(X360) デジタルStartボタン
k_EInputActionOrigin_XBox360_Back160(X360) デジタルBackボタン
k_EInputActionOrigin_XBox360_LeftTrigger_Pull161(X360) 左アナログトリガー、任意量の押し込み(アナログ値)
k_EInputActionOrigin_XBox360_LeftTrigger_Click162(X360) 左アナログトリガー、押し切り(デジタル値)
k_EInputActionOrigin_XBox360_RightTrigger_Pull163(X360) 右アナログトリガー、任意量の押し込み(アナログ値)
k_EInputActionOrigin_XBox360_RightTrigger_Click164(X360) 右アナログトリガー、押し切り(デジタル値)
k_EInputActionOrigin_XBox360_LeftStick_Move165(X360) 左ジョイスティック、任意の軸での移動(アナログ値)
k_EInputActionOrigin_XBox360_LeftStick_Click166(X360) 左ジョイスティック、クリック(デジタル値)
k_EInputActionOrigin_XBox360_LeftStick_DPadNorth167(X360) 左ジョイスティック、デジタル移動 (4分割上)
k_EInputActionOrigin_XBox360_LeftStick_DPadSouth168(X360) 左ジョイスティック、デジタル移動 (4分割下) 
k_EInputActionOrigin_XBox360_LeftStick_DPadWest169(X360) 左ジョイスティック、デジタル移動 (4分割左)
k_EInputActionOrigin_XBox360_LeftStick_DPadEast170(X360) 左ジョイスティック、デジタル移動 (4分割右)
k_EInputActionOrigin_XBox360_RightStick_Move171(X360) 右ジョイスティック、任意の軸での移動(アナログ値)
k_EInputActionOrigin_XBox360_RightStick_Click172(X360) 右ジョイスティック、クリック(デジタル値)
k_EInputActionOrigin_XBox360_RightStick_DPadNorth173(X360) 右ジョイスティック、デジタル移動 (4分割上)
k_EInputActionOrigin_XBox360_RightStick_DPadSouth174(X360) 右ジョイスティック、デジタル移動 (4分割下)
k_EInputActionOrigin_XBox360_RightStick_DPadWest175(X360) 右ジョイスティック、デジタル移動 (4分割左)
k_EInputActionOrigin_XBox360_RightStick_DPadEast176(X360) 右ジョイスティック、デジタル移動 (4分割右)
k_EInputActionOrigin_XBox360_DPad_North177(X360) デジタルパッド、(4分割上への) 押し込み
k_EInputActionOrigin_XBox360_DPad_South178(X360) デジタルパッド、(4分割下への) 押し込み
k_EInputActionOrigin_XBox360_DPad_West179(X360) デジタルパッド、(4分割左への) 押し込み
k_EInputActionOrigin_XBox360_DPad_East180(X360) デジタルパッド、(4分割右への) 押し込み
k_EInputActionOrigin_XBox360_Reserved0181将来のため予約済み
k_EInputActionOrigin_XBox360_Reserved1182将来のため予約済み
k_EInputActionOrigin_XBox360_Reserved2183将来のため予約済み
k_EInputActionOrigin_XBox360_Reserved3184将来のため予約済み
k_EInputActionOrigin_XBox360_Reserved4185将来のため予約済み
k_EInputActionOrigin_XBox360_Reserved5186将来のため予約済み
k_EInputActionOrigin_XBox360_Reserved6187将来のため予約済み
k_EInputActionOrigin_XBox360_Reserved7188将来のため予約済み
k_EInputActionOrigin_XBox360_Reserved8189将来のため予約済み
k_EInputActionOrigin_XBox360_Reserved9190将来のため予約済み
k_EInputActionOrigin_XBox360_Reserved10191将来のため予約済み
k_EInputActionOrigin_Switch_A192(Nintendo Switch Pro)デジタルフェイスボタンA
k_EInputActionOrigin_Switch_B193(Nintendo Switch Pro)デジタルフェイスボタンB
k_EInputActionOrigin_Switch_X194(Nintendo Switch Pro)デジタルフェイスボタンX
k_EInputActionOrigin_Switch_Y195(Nintendo Switch Pro)デジタルフェイスボタンY
k_EInputActionOrigin_Switch_LeftBumper196(Nintendo Switch Pro)デジタル左ショルダーボタン(別名 左バンパー)
k_EInputActionOrigin_Switch_RightBumper197(Nintendo Switch Pro)デジタル右ショルダーボタン(別名 右バンパー)
k_EInputActionOrigin_Switch_Plus198(Nintendo Switch Pro) プラスボタン
k_EInputActionOrigin_Switch_Minus199(Nintendo Switch Pro) マイナスボタン
k_EInputActionOrigin_Switch_Capture200(Nintendo Switch Pro)デジタルキャプチャーボタン
k_EInputActionOrigin_Switch_LeftTrigger_Pull201(Nintendo Switch Pro) 左トリガー、クリック
k_EInputActionOrigin_Switch_LeftTrigger_Click202(Nintendo Switch Pro) 左トリガー、クリック(以前の値と同じ)
k_EInputActionOrigin_Switch_RightTrigger_Pull203(Nintendo Switch Pro) 右トリガー、クリック
k_EInputActionOrigin_Switch_RightTrigger_Click204(Nintendo Switch Pro) 右トリガー、クリック(以前の値と同じ)
k_EInputActionOrigin_Switch_LeftStick_Move205(Nintendo Switch Pro) 左ジョイスティック、任意の軸での移動(アナログ値)
k_EInputActionOrigin_Switch_LeftStick_Click206(Nintendo Switch Pro)左ジョイスティック、クリック(デジタル値)
k_EInputActionOrigin_Switch_LeftStick_DPadNorth207(Nintendo Switch Pro) 左ジョイスティック、デジタル移動 (4分割上)
k_EInputActionOrigin_Switch_LeftStick_DPadSouth208(Nintendo Switch Pro) 左ジョイスティック、デジタル移動 (4分割下)
k_EInputActionOrigin_Switch_LeftStick_DPadWest209(Nintendo Switch Pro) 左ジョイスティック、デジタル移動 (4分割左)
k_EInputActionOrigin_Switch_LeftStick_DPadEast210(Nintendo Switch Pro) 左ジョイスティック、デジタル移動 (4分割右)
k_EInputActionOrigin_Switch_RightStick_Move211(Nintendo Switch Pro) 右ジョイスティック、任意の軸での移動(アナログ値)
k_EInputActionOrigin_Switch_RightStick_Click212(Nintendo Switch Pro)右ジョイスティック、クリック(デジタル値)
k_EInputActionOrigin_Switch_RightStick_DPadNorth213(Nintendo Switch Pro) 右ジョイスティック、デジタル移動 (4分割上)
k_EInputActionOrigin_Switch_RightStick_DPadSouth214(Nintendo Switch Pro) 右ジョイスティック、デジタル移動 (4分割下)
k_EInputActionOrigin_Switch_RightStick_DPadWest215(Nintendo Switch Pro) 右ジョイスティック、デジタル移動 (4分割左)
k_EInputActionOrigin_Switch_RightStick_DPadEast216(Nintendo Switch Pro) 右ジョイスティック、デジタル移動 (4分割右)
k_EInputActionOrigin_Switch_DPad_North217(Nintendo Switch Pro) デジタルパッド、(4分割上への) 押し込み
k_EInputActionOrigin_Switch_DPad_South217(Nintendo Switch Pro) デジタルパッド、(4分割下への) 押し込み
k_EInputActionOrigin_Switch_DPad_West219(Nintendo Switch Pro) デジタルパッド、(4分割左への) 押し込み
k_EInputActionOrigin_Switch_DPad_East220(Nintendo Switch Pro) デジタルパッド、(4分割右への) 押し込み
k_EInputActionOrigin_SwitchProGyro_Move221(Nintendo Switch Pro) ジャイロスコープ、任意の軸へのアナログ移動
k_EInputActionOrigin_SwitchProGyro_Pitch222(Nintendo Switch Pro) ジャイロスコープ、(正面を天井と床方向に向ける)ピッチ軸のアナログ移動
k_EInputActionOrigin_SwitchProGyro_Yaw223(Nintendo Switch Pro)ジャイロスコープ、(正面を左右へ向ける)ヨー軸のアナログ移動
k_EInputActionOrigin_SwitchProGyro_Roll224(Nintendo Switch Pro) ジャイロスコープ、(正面を左右へ傾ける)ロール軸のアナログ移動
k_EInputActionOrigin_Switch_Reserved0225将来のため予約済み
k_EInputActionOrigin_Switch_Reserved1226将来のため予約済み
k_EInputActionOrigin_Switch_Reserved2227将来のため予約済み
k_EInputActionOrigin_Switch_Reserved3228将来のため予約済み
k_EInputActionOrigin_Switch_Reserved4229将来のため予約済み
k_EInputActionOrigin_Switch_Reserved5230将来のため予約済み
k_EInputActionOrigin_Switch_Reserved6231将来のため予約済み
k_EInputActionOrigin_Switch_Reserved7232将来のため予約済み
k_EInputActionOrigin_Switch_Reserved8233将来のため予約済み
k_EInputActionOrigin_Switch_Reserved9234将来のため予約済み
k_EInputActionOrigin_Switch_Reserved10235将来のため予約済み
k_EInputActionOrigin_Count258この列挙型の数値は反復処理に便利です。
k_EInputActionOrigin_MaximumPossibleValue32767この列挙型の数値は反復処理に便利です。

EControllerSource

多数のモードの内の一つを割り当てて意味のあるデータの出力に使えるコントローラの領域で、より大きく抽象的なモジュラーユニットとして考えることができます。 例えば、ジョイスティックを一つのアナログ入力として扱ったり、仮想の十字キーを作って4つの別々のデジタル入力として扱うことができます。 同様に、ABXYフェイスボタンを4つの独立したボタンとして扱われるグループにすることや、仮想DPADの一部として扱うことができます。

名前説明
k_EInputSource_None0コントローラソースがありません。
k_EInputSource_LeftTrackpad1左タッチパッド、または中央タッチパッドの左半分です。
k_EInputSource_RightTrackpad2右タッチパッド、または中央タッチパッドの右半分です。
k_EInputSource_Joystick3ジョイスティックです。2つ以上ジョイスティックがある場合には、左のジョイスティックです。
k_EInputSource_ABXY44つの主なフェイスボタンです。
k_EInputSource_Switch5コントローラ上の、その他のソースに該当しないスイッチ/ボタンです。 バンパー、start/selectボタン、グリップなどを含みます。 これは特別な例外であり広い範囲での典型に属さないため、デジタルボタンのソースが割り当てられ、対応するモードが処理されます。
k_EInputSource_LeftTrigger6左アナログトリガーです。
k_EInputSource_RightTrigger7右アナログトリガーです。
k_EInputSource_Gyro8内蔵のジャイロスコープ。
k_EInputSource_CenterTrackpad9中央のタッチパッドです。 (DS4のみ)
k_EInputSource_RightJoystick10右ジョイスティックです。 ジョイスティックが一つだけの場合、このソースは使用されません。
k_EInputSource_DPad11デジタルパッドです。
k_EInputSource_Key12キーボードのキー(スキャンコード付きキーボード用)。
k_EInputSource_Mouse13伝統的なマウス
k_EInputSource_Count14この列挙型の数は、反復処理に便利です。

EControllerSourceMode

仮想入力モードはコントローラソースのコンフィギュレータで制御されます。 例えば、コンフィギュレータはアナログジョイスティックを4つのデジタル入力を持つ十字キーのようにセットでき、EControllerSourceがk_EInputSource_Joystickで、 EControllerSourceModeが k_EInputSourceMode_Dpadとなります。 モードには、関連アクションにが受け付けた入力データの変更もできます。

名前説明
k_EInputSourceMode_None0入力モードなし。
k_EInputSourceMode_Dpad1デジタルパッド -- 十字型の4方向のデジタルボタンで、各軸において一度に押すことのできるのは1方向だけです。
k_EInputSourceMode_Buttons2
k_EInputSourceMode_FourButtons34つのデジタルフェイスボタン。同時に押すことができます。
k_EInputSourceMode_AbsoluteMouse4
k_EInputSourceMode_RelativeMouse5
k_EInputSourceMode_JoystickMove6
k_EInputSourceMode_JoystickMouse7
k_EInputSourceMode_JoystickCamera8
k_EInputSourceMode_ScrollWheel9
k_EInputSourceMode_Trigger10
k_EInputSourceMode_TouchMenu11
k_EInputSourceMode_MouseJoystick12
k_EInputSourceMode_MouseRegion13
k_EInputSourceMode_RadialMenu14
k_EInputSourceMode_SingleButton15
k_EInputSourceMode_Switches16

ESteamControllerLEDFlag

(デバイス上にLEDがある場合)SteamコントローラデバイスのLEDの色をコントロールします。

注:
VSCにはLEDが一つありますが、色は常に白であり、明るさだけが影響されます。
DS4のLEDは色と明るさを設定できるライトバーです。

名前説明
k_ESteamControllerLEDFlag_SetColor0指定した値に色を設定します。
k_ESteamControllerLEDFlag_RestoreUserDefault1(ゲーム外の)色をデフォルト設定に戻します。

ESteamInputType

対象のハードウェアのでデバイスモデルを表します。

名前説明
k_ESteamInputType_Unknown0認識されないデバイスのキャッチオールです
k_ESteamInputType_SteamController1ValveのSteamコントローラ
k_ESteamInputType_XBox360Controller2Microsoft XBox 360コントローラー
k_ESteamInputType_XBoxOneController3Microsoft XBox Oneコントローラー
k_ESteamInputType_GenericXInput4一般的なサードパーティXInputデバイス
k_ESteamInputType_PS4Controller5Sony PlayStation 4コントローラー
k_ESteamInputType_AppleMFiController6未使用
k_ESteamInputType_AndroidController7未使用
k_ESteamInputType_SwitchJoyConPair8未使用
k_ESteamInputType_SwitchJoyConSingle9未使用
k_ESteamInputType_SwitchProController10Nintendo Switch Proコントローラー
k_ESteamInputType_MobileTouch11Steamリンクアプリのモバイルタッチコントローラー
k_ESteamInputType_PS3Controller12Sony PlayStation 3コントローラまたはPS3/PS4互換性のある格闘ゲーム用スティック
k_ESteamInputType_Count13返された値の現在の数
k_ESteamInputType_MaximumPossibleValue255返される可能性のある値の最高値

ESteamControllerPad

Steamコントローラデバイスのタッチパッドの領域です。

注:
VSCでは、左右のハプティックタッチパッドに対する値です。
DS4では、中央に位置する一つのタッチパッドへの左右半分に対する値です。

名前説明
k_ESteamControllerPad_Left0Steamコントローラデバイス上の左タッチパッドの領域です。 対応モデル:VSC, DS4
k_ESteamControllerPad_Right1Steamコントローラデバイスの右タッチパッドの領域です。 対応モデル:VSC, DS4

Typedefs

これらはISteamInputで使用するために定義されたtypedefsです。

名前ベース型説明
InputActionSetHandle_tuint64これらのハンドルは指定のゲームアクションまたはアクションセットの参照に使われます。
すべてのアクションハンドルは、パフォーマンス上の理由のために初期化中に照会する必要があります。
InputAnalogActionHandle_tuint64アナログアクションへのハンドルです。 GetAnalogActionHandleから取得できます。
InputDigitalActionHandle_tuint64デジタルアクションへのハンドルです。 GetDigitalActionHandleから取得できます。
InputHandle_tuint64このハンドルは、切断、再接続された場合も含め常時コントローラを識別します。

定数

これらはISteamInputで使用するために定義された定数です。

名前説明
STEAMINPUT_INTERFACE_VERSIONconst char *"SteamInput001"
STEAM_INPUT_HANDLE_ALL_CONTROLLERSintUINT64_MAXこの特別な値を、全てのコントローラではなく、指定のコントローラハンドルだけに送信するオプションとして使用できます。
STEAM_INPUT_MAX_ANALOG_ACTIONSint16各コントローラ上で実行できるアナログアクションの最大数です。
STEAM_INPUT_MAX_ANALOG_ACTION_DATAfloat1.0f任意の軸上のアナログアクションで報告することのできる最大値です。
STEAM_INPUT_MAX_COUNTint16Steam入力コンフィギュレーターで同時に使用できるコントローラの最大数です。
STEAM_INPUT_MAX_DIGITAL_ACTIONSint128各コントローラ上で実行できるデジタルアクションの最大数です。
STEAM_INPUT_MAX_ORIGINSint8一つのアクションに関連付けられる入力元の最大数です。
STEAM_INPUT_MIN_ANALOG_ACTION_DATAfloat-1.0f任意の軸上のアナログアクションで報告することのできる最小値です。