SteamコントローラサポートAPI。
このAPIは廃止されISteamInputが採用されました - API情報は
ISteamInput Interfaceを参照してください。
詳細情報は
Steam入力ドキュメントを参照してください。
メンバー関数
ISteamController
のメンバ-関数は、グローバルのアクセサー関数
SteamController()
経由で呼び出されます。
ActivateActionSet
void ActivateActionSet( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle );
指定したアクションセット 「メニュー」。「歩く」「運転」など)を使用するためにコントローラを再設定します。
低コストで安全に繰り返して呼び出せます。 状態移行のすべてに配置するのではなく、状態ループ内で繰り返し呼び出す方が簡単です。
例:void updateStateLoop()
{
switch( currentState )
{
case MENU:
SteamController()->ActivateActionSet( controllerHandle1, menuSetHandle );
doMenuStuff();
break;
case WALKING:
SteamController()->ActivateActionSet( controllerHandle1, walkingSetHandle );
doWalkingStuff();
break;
case DRIVING:
SteamController()->ActivateActionSet( controllerHandle1, drivingSetHandle );
doDrivingStuff();
break;
case FIGHTING:
SteamController()->ActivateActionSet( controllerHandle1, fightingSetHandle );
doFightingStuff();
break;
}
}
例:void updateStateLoop()
{
switch( currentState )
{
case MENU:
SteamController()->ActivateActionSet( STEAM_CONTROLLER_HANDLE_ALL_CONTROLLERS, menuSetHandle );
doMenuStuff();
break;
case WALKING:
SteamController()->ActivateActionSet( STEAM_CONTROLLER_HANDLE_ALL_CONTROLLERS, walkingSetHandle );
doWalkingStuff();
break;
case DRIVING:
SteamController()->ActivateActionSet( STEAM_CONTROLLER_HANDLE_ALL_CONTROLLERS, drivingSetHandle );
doDrivingStuff();
break;
case FIGHTING:
SteamController()->ActivateActionSet( STEAM_CONTROLLER_HANDLE_ALL_CONTROLLERS, fightingSetHandle );
doFightingStuff();
break;
}
}
ActivateActionSetLayer
void ActivateActionSetLayer( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetLayerHandle );
指定したアクションセットレイヤーを使用するためにコントローラを再設定します。
より実践的な例と詳細は
アクションセットレイヤーを参照してください。
例:SteamController()->ActivateActionSetLayer( controllerHandle1, myActionSetLayer );
DeactivateActionSetLayer
void DeactivateActionSetLayer( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetLayerHandle );
指定したアクションセットレイヤーの使用を終了するためにコントローラを再設定します。
例:SteamController()->DeactivateActionSetLayer( controllerHandle1, myActionSetLayer );
DeactivateAllActionSetLayers
void DeactivateAllActionSetLayers( ControllerHandle_t controllerHandle );
すべてのアクションセットレイヤーの使用を終了するためにコントローラを再設定します。
例:SteamController()->DeactivateAllActionSetLayers( controllerHandle1 );
GetActiveActionSetLayers
int GetActiveActionSetLayers( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t *handlesOut );
指定のコントローラーハンドルの現在のアクティブなすべてのアクションセットレイヤーで配列を埋めます。
例:ControllerHandle_t *handlesOut = new ControllerHandle_t [];
SteamController()->GetActiveActionSetLayers( controllerHandle1, &handlesOut );
GetActionSetHandle
ControllerActionSetHandle_t GetActionSetHandle( const char *pszActionSetName );
名前 | 型 | 説明 |
pszActionSetName | const char * | ゲームのVDFファイル内で定義されたアクションセットの文字列識別子。 |
アクションセットのハンドルを参照します。 開始時に実行し、将来のすべてのAPI呼び出しのハンドルを格納してください。
戻り値: ControllerActionSetHandle_t指定のアクションセットのハンドル。
例:ControllerActionSetHandle_t fightingSetHandle = SteamController()->GetActionSetHandle( "fighting" );
GetAnalogActionData
ControllerAnalogActionData_t GetAnalogActionData( ControllerHandle_t controllerHandle, ControllerAnalogActionHandle_t analogActionHandle );
提供されたアナログゲームアクションの現在の状態を返します。
戻り値: ControllerAnalogActionData_t指定したアナログアクションの現在の状態。
例:ControllerAnalogActionData_t data = SteamController()->GetAnalogActionData( controller1Handle, moveHandle );
GetAnalogActionHandle
ControllerAnalogActionHandle_t GetAnalogActionHandle( const char *pszActionName );
名前 | 型 | 説明 |
pszActionName | const char * | ゲームのVDFファイル内で定義されたアナログアクションの文字列識別子。 |
指定されたアナログアクションのハンドルを取得。
注: この関数はアクションセットハンドルパラメーターを受け付けません。 つまり、VDFファイル内の各アクションは一意の文字列識別子を持つ必要があります。 言い換えれば、2つの異なるアクションセット内に 「up」と呼ばれるアクションを使う場合には、この関数は一つのみを返し、もう一方は無視されます。
戻り値: ControllerAnalogActionHandle_t指定されたアナログアクションのハンドル。
例:ControllerAnalogActionHandle_t moveHandle = SteamController()->GetAnalogActionHandle( "move" );
GetAnalogActionOrigins
int GetAnalogActionOrigins( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle, ControllerAnalogActionHandle_t analogActionHandle, EControllerActionOrigin *originsOut );
OriginsOutにEControllerActionOriginハンドルを記入してアクションセット内のアナログアクションの発生元を取得します。 これを使用して、アクションのプロンプトを適切に画面に表示します。
戻り値: int
originsOut
内に提供された発生元の数。
例:EControllerActionOrigin *origins = new EControllerActionOrigin[];
SteamController()->GetAnalogActionOrigins( controller1Handle, walkingSetHandle, moveHandle, origins );
GetConnectedControllers
int GetConnectedControllers( ControllerHandle_t *handlesOut );
HandlesOutにコントローラハンドルを記入して現在接続されたコントローラを列挙します。
戻り値: int
handlesOut
に提供されたハンドルの数。
例:ControllerHandle_t *controllerHandles = new ControllerHandle_t[];
SteamController()->GetConnectedControllers( controllerHandles );
GetControllerForGamepadIndex
ControllerHandle_t GetControllerForGamepadIndex( int nIndex );
名前 | 型 | 説明 |
nIndex | int | コントローラハンドルを取得するエミュレートされたゲームパッドのインデックス。 |
指定のエミュレートされたゲームパッドに関連付けられたコントローラハンドルを返します。 GetInputTypeForHandleと併用でき、Steam入力ゲームパッドエミュレーションを使用中のコントローラのコントローラタイプを決定します。
戻り値: ControllerHandle_t例:// 照会するXinputスロットと交換します。 数字は0と3の間です。
int nXinputSlotIndex = 0;
ControllerHandle_t controllerHandle = SteamController()->GetControllerForGamepadIndex( nXinputSlotIndex );
if ( controllerHandle == 0 )
{
// 有効なハンドルはゼロ以外。これは通常のXboxコントローラーです。
}
else
{
ESteamInputType inputType = SteamController()->GetInputTypeForHandle(controllerHandle);
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
ControllerActionSetHandle_t GetCurrentActionSet( ControllerHandle_t controllerHandle );
指定のコントローラで現在のアクティブなアクションセットを取得。
戻り値: ControllerActionSetHandle_t指定のコントローラで有効状態のアクションセットのハンドル。
例:ControllerActionSetHandle_t controller1Set = SteamController()->GetCurrentActionSet(controller1Handle);
GetDigitalActionData
ControllerDigitalActionData_t GetDigitalActionData( ControllerHandle_t controllerHandle, ControllerDigitalActionHandle_t digitalActionHandle );
提供されたデジタルゲームアクションの現在の状態を返します。
戻り値: ControllerDigitalActionData_t指定のデジタルアクションの現在の状態。
GetDigitalActionHandle
ControllerDigitalActionHandle_t GetDigitalActionHandle( const char *pszActionName );
名前 | 型 | 説明 |
pszActionName | const char * | ゲームのVDFファイル内で定義されたデジタルアクションの文字列識別子。 |
指定されたデジタルアクションのハンドルを取得。
注: この関数はアクションセットハンドルパラメーターを受け付けません。 つまり、VDFファイル内の各アクションは一意の文字列識別子を持つ必要があります。 言い換えれば、2つの異なるアクションセット内に 「up」と呼ばれるアクションを使う場合には、この関数は一つのみを返し、もう一方は無視されます。
戻り値: ControllerDigitalActionHandle_t指定されたデジタルアクションのハンドル。
例:ControllerDigitalActionHandle_t punchHandle = SteamController()->GetDigitalActionHandle( "punch" );
GetDigitalActionOrigins
int GetDigitalActionOrigins( ControllerHandle_t controllerHandle, ControllerActionSetHandle_t actionSetHandle, ControllerDigitalActionHandle_t digitalActionHandle, EControllerActionOrigin *originsOut );
originsOut
に
EControllerActionOrigin ハンドルを設定してアクションセット内のデジタルアクションの発生元を取得します。 これを使用して、アクションのプロンプトを適切に画面に表示します。
戻り値: int
originsOut
内に提供された発生元の数。
例:EControllerActionOrigin *origins = new EControllerActionOrigin[];
SteamController()->GetDigitalActionOrigins( controller1Handle, fightingSetHandle, punchHandle, origins );
GetGamepadIndexForController
int GetGamepadIndexForController( ControllerHandle_t ulControllerHandle );
ゲームパッドをエミュレートしている場合には、指定のコントローラに関連するゲームパッドインデックスを返します。
戻り値: int
例:int gamepadIndex = SteamController()->GetGamepadIndexForController( controller1Handle );
GetGlyphForActionOrigin
const char * GetGlyphForActionOrigin( EControllerActionOrigin eOrigin );
それぞれの発生元に対応したグリフを画面上に表示するためにローカルパスを取得します。
戻り値: const char *
グリフ用の png ファイルのパス。
例
"C:\Program Files (x86)\Steam\tenfoot\resource\images\library\controller\api\ps4_button_x.png"
例:// "punch"の発生元を取得
EControllerActionOrigin *origins = new EControllerActionOrigin[];
SteamController()->GetDigitalActionOrigins( controller1Handle, fightingSetHandle, punchHandle, origins );
EControllerActionOrigin firstOrigin = origins[0]; //i.e, k_EInputActionOrigin_PS4_X
// ゲーム自体の関数で、カスタムのグリフアートを取得しようとします
int glyphTextureID = getHardCodedButtonGlyphTexture( firstOrigin );
// この発生元に対してゲームではアートを設定していません! Steamが新タイプのコントローラへのサポート
//を追加したか、アートの追加を忘れたのかもしれません!
//(Steamコントローラグリフはありますが、これはPlasyStation 4 コントローラーです)
if( glyphTextureID == -1 )
{
// 代わりにSteamクライアントからイメージを取得します。
const char *localGlyphPath = SteamController()->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( ControllerHandle_t controllerHandle );
指定のコントローラの入力タイプ(デバイスモデル)を返します。 そのコントローラが、Steamコントローラ、XBox 360コントローラ、PS4コントローラーなのか等がわかります。 詳細情報は
サポート対象のコントローラデータベースを参照してください。
戻り値: ESteamInputType例:ESteamInputType inputType = SteamController()->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
ControllerMotionData_t GetMotionData( ControllerHandle_t controllerHandle );
指定のコントローラの未加工のモーションデータを返します。
戻り値: ControllerMotionData_t例:ControllerMotionData_t motionData = SteamController()->GetControllerMotionData( controllerHandle );
GetStringForActionOrigin
const char * GetStringForActionOrigin( EControllerActionOrigin eOrigin );
指定の発生元に(Steamの言語設定に基づいて)ローカライズされた文字列を返します。
戻り値: const char *
例:EControllerActionOrigin *origins = new EControllerActionOrigin[];
SteamController()->GetDigitalActionOrigins( controller1Handle, fightingSetHandle, punchHandle, origins );
const char * punchString = SteamController()->GetStringForActionOrigin( origins[0] );
printf("punch = %s\n",punchString);
Init
bool Init();
ISteamController インターフェイスの使用開始時に呼び出す必要があります。
戻り値: bool
常に
true を返します。
例:SteamController()->Init();
RunFrame
void RunFrame();
取得できる最新のSteamコントローラ入力とAPIの状態を同期します。 これはSteamAPI_RunCallbacksで自動的に実行されますが、可能な限り絶対的に最低のレイテンシに対しては、コントローラの状態を読み出す前に直接これを呼び出せます。
例:SteamController()->RunFrame();
SetLEDColor
void SetLEDColor( ControllerHandle_t controllerHandle, uint8 nColorR, uint8 nColorG, uint8 nColorB, unsigned int nFlags );
サポートされたコントローラに、コントローラLEDを設定します。
注:VSCは白以外をサポートしていないため、RGBの値をSteamボタンLEDの明るさに影響する明るさのグレースケール値として解釈します。
DS4はフルカラー情報に対応し、その値をライトバーの色の明るさに使用します。
例:// コントローラ1にユーザーのデフォルトカラーを復元:
SteamController()->SetLEDColor( controller1Handle, 0, 0, 0, k_ESteamControllerLEDFlag_RestoreUserDefault );
// コントローラ2の色をマゼンタに設定:
SteamController()->SetLEDColor( controller2Handle, 255, 0, 255, k_ESteamControllerLEDFlag_SetColor );
ShowAnalogActionOrigins
bool ShowAnalogActionOrigins( ControllerHandle_t controllerHandle, ControllerAnalogActionHandle_t analogActionHandle, float flScale, float flXPosition, float flYPosition );
非推奨。
戻り値: bool
常に
true を返します。
ShowBindingPanel
bool ShowBindingPanel( ControllerHandle_t controllerHandle );
Steamオーバーレイを呼び出し割当スクリーンを表示します。
戻り値: bool
true で成功;オーバーレイが無効か使用不可の場合と、ユーザーが Big Picture モードを使用していない場合には
false。
例:SteamController()->ShowBindingPanel( myControllerHandle );
ShowDigitalActionOrigins
bool ShowDigitalActionOrigins( ControllerHandle_t controllerHandle, ControllerDigitalActionHandle_t digitalActionHandle, float flScale, float flXPosition, float flYPosition );
非推奨。
戻り値: bool
常に
true を返します。
シャットダウン
bool Shutdown();
ISteamController インターフェイスの使用終了時に呼び出す必要があります。
戻り値: bool
常に
true を返します。
例:SteamController()->Shutdown();
StopAnalogActionMomentum
void StopAnalogActionMomentum( ControllerHandle_t controllerHandle, ControllerAnalogActionHandle_t eAction );
当該のアナログアクションの慣性を停止します。(例:バーチャルトラックボール設定のあるタッチパッドを使用)
注:すべての関連ハプティクスも停止します。 カルーセルの回転やWebページのスクロール等、ユーザーにアクションの限界に到達したことを伝える場合に便利です。
例:SteamController()->StopAnalogActionMomentum( controller1Handle, moveHandle );
TriggerHapticPulse
void TriggerHapticPulse( ControllerHandle_t controllerHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec );
対応コントローラでの(低レベル)ハプティックパルスを誘発。
注:現在は VSC のみがハプティックパルスに対応しています。
この API コールは、他のコントローラモデルでは無視されます。
符号なし short の最大値は 65535 で、この方法によって誘発できる最長のハプティックパルスの期間が 0.065535 秒であることを意味します。 (1 秒 の 1/10 以下です。) この関数は、より複雑な動作を作成するためのより高レベルなユーザー関数で繰り返し使用される、低レベルのプリミティブな方法としてお考え下さい。
例://1/20 秒に一度のパルス
SteamController()->TriggerHapticPulse(controller1Handle, k_ESteamControllerPad_Left, 50000);
TriggerRepeatedHapticPulse
void TriggerRepeatedHapticPulse( ControllerHandle_t controllerHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec, unsigned short usOffMicroSec, unsigned short unRepeat, unsigned int nFlags );
名前 | 型 | 説明 |
controllerHandle | ControllerHandle_t | 対象のコントローラのハンドル。 |
eTargetPad | ESteamControllerPad | 対象のハプティックタッチ。 |
usDurationMicroSec | 符号なしshort | マイクロ秒 (1 秒の 1/1,000,000) 単位でのパルス期間。 |
usOffMicroSec | 符号なしshort | マイクロ秒単位での、パルス間の期間。 |
unRepeat | 符号なしshort | usDurationMicroSec / usOffMicroSec デューティ―比を繰り返す回数。 |
nFlags | 符号なしint | 現在未使用ですが、将来のため予約済みです。 |
対応コントローラで繰り返されるハプティックパルスを誘発。
注:現在は VSC のみがハプティックパルスに対応しています。
非対応のコントローラモデルでは、この API コールは無視されます。
TriggerHapticPulse よりもユーザーフレンドリーな関数であり、ユーザーが実際に気が付くことのできる長さのパルスパターンを生成できます。
usDurationMicroSec と usOffMicroSec パラメーターへの変更は、ハプティックパルスの 「テクスチャ」を変更します。
例://1秒間のパルス、それぞれ 1/20 秒の on/off パルスパターンを持ちます
SteamController()->TriggerRepeatedHapticPulse( controller1Handle, k_ESteamControllerPad_Left, 50000, 50000, 10 );
TriggerVibration
void TriggerVibration( ControllerHandle_t controllerHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed );
名前 | 型 | 説明 |
controllerHandle | ControllerHandle_t | 対象のコントローラのハンドル。 |
usLeftSpeed | 符号なしshort | 左ランブルモーターの強度値。 |
usRightSpeed | 符号なしshort | 右ランブルモーターの強度値。 |
対応コントローラーでの振動イベントを誘発。
注:非対応コントローラモデルではこの API 呼び出しは無視されます。
これは従来の「ランブル」 振動効果を生成します。
VSC はハプティックを用いて伝統的なランブルをエミュレートします。
例:SteamController()->TriggerVibration( controller1Handle, 10000, 10000 );
GetActionOriginFromXboxOrigin
EControllerActionOrigin GetActionOriginFromXboxOrigin( ControllerHandle_t controllerHandle, EXboxOrigin eOrigin );
名前 | 型 | 説明 |
controllerHandle | ControllerHandle_t | 対象のコントローラのハンドル。 このハンドルの取得にGetControllerForGamepadIndexを使えます。 |
eOrigin | EXboxOrigin | イメージを取得するボタンです。 例: k_EXboxOrigin_A |
戻り値: EControllerActionOrigin
グリフ検索テーブルで使用できる、またはGetGlyphForActionOriginかGetStringForActionOriginに渡されるアクション発生元を取得します。
例:int nXinputSlot = 1; // プレイヤーにとって適切なXinput入力と置き換える
ControllerHandle_t controller1Handle = GetControllerForGamepadIndex( nXinputSlot );
EControllerActionOrigin buttonOrigin = SteamController()->GetActionOriginFromXboxOrigin( controller1Handle, k_EXboxOrigin_A );
// Steamクライアントからイメージを取得する。
const char *localGlyphPath = SteamController()->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
EControllerActionOrigin TranslateActionOrigin( ESteamInputType eDestinationInputType, EControllerActionOrigin eSourceOrigin );
名前 | 型 | 説明 |
controllerHandle | ControllerHandle_t | 対象のコントローラのハンドル。 このハンドルの取得にGetControllerForGamepadIndexを使えます。 |
eDestinationInputType | ESteamInputType | 変換するコントローラのタイプ。 k_ESteamInputType_Unknownが使用されれば、Steamはご利用のSDKバージョンから最も近いタイプを選択します。 |
eSourceOrigin | EControllerActionOrigin | 変換したいボタン。 |
戻り値: EControllerActionOrigin
eDestinationInputTypeがk_ESteamInputType_Unknownの場合、特定のコントローラのタイプまたはゲームにビルドしたSDKに存在する最も近いコントローラタイプの同等の発生元を取得します。 eDestinationInputTypeがk_ESteamInputType_Unknownの場合、特定のコントローラのタイプまたはゲームにビルドしたSDKに存在する最も近いコントローラタイプの同等の発生元を取得します。
例:int nXinputSlot = 1; // プレイヤーにとって適切なXinputスロットに置き換えます。
ControllerHandle_t controller1Handle = GetControllerForGamepadIndex( nXinputSlot );
EInputActionOrigin buttonOrigin = SteamController()->GetActionOriginFromXboxOrigin( controller1Handle, k_EXboxOrigin_A ); //i.e, k_EControllerActionOrigin_PS4_X
if ( buttonOrigin >= k_EControllerActionOrigin_Count )
{
// この発生元へのアートをゲーム内に設定していません! Steamが新タイプのコントローラへのサポート
//を追加したのだと思います! ビルドしたSDKがサポートする最も近い値を取得しましょう。
buttonOrigin = SteamController()->TranslateActionOrigin( k_ESteamInputType_Unknown, buttonOrigin )
}
// これは、カスタムのグリフアートを取得するためのゲーム自身の機能です。
int glyphTextureID = getHardCodedButtonGlyphTexture( actionOrigin );
GetControllerBindingRevision
bool GetControllerBindingRevision( ControllerHandle_t controllerHandle, int *pMajor, int *pMinor );
戻り値: bool - デバイスの割り当てが正常に見つかった場合はtrueで、割り当てがまだ読み込み中の場合にはfalse。
Steam Input API構成のメジャー、およびマイナーなデバイス割り当て変更を取得します。 マイナーな変更は、新しい任意のアクションの追加や、設定のローカライズ更新などの小さな変更です。 マイナー変更を更新する際には、 "Use Action Block"フラグセットで、一つの新しい設定のみが更新される必要があります。 メジャー変更は、アクションセットの数の変更や、古い設定が使えなくなる程度に構成が修正される時に使用します。 ユーザーの割当が現在の公式設定のメジャー変更に同意しない場合には、Steamは強制的にユーザーを新しい設定に更新します。 ジャーな変更を更新するときには、新しい設定はすべてのコントローラ用に作成される必要があります。
サンプルコード:int nMinor = -1;
int nMinor = -1;
const int nCurrentMajorRevision = 1;
const int nCurrentMinorRevision = 1;
if ( GetControllerBindingRevision( controllerHandle, &nMajor, &nMinor ) )
{
if ( nMinorRevision != nCurrentMinorRevision )
{
// 期限切れのマイナーバージョン、問題なし
// 次回configを編集するときに修正されます
}
if ( nMajorRevision != nCurrentMajorRevision )
{
// Steamが検出中にのみ短期間発生します
// その後ユーザーを最新の公式configに強制アップデートします
}
}
else
{
// この設定はまだこのコントローラに読み込まれていません
}
ゲームアクションファイルの使用例:"In Game Actions"
{
"major_revision" "0"
“minor_revision” “1”
"actions"
{
...
構造体
ISteamController 関数がが返すまたはやり取りする構造体です。
ControllerAnalogActionData_t
アナログアクションの現在の状態を表します。
注: - 構成によってその値や範囲などは異なりますが、(大まかに言えば)従来のアナログアクションは -1.0 から 1.0 の正規化された float 値を提供し、マウスのようなアクションは、最後のフレームから移動した分の "ピクセル" 数の差分アップデートを提供します。 つまり、マウスのようなアクションはより大きなxとyの絶対値を提供し、それは最後に記録された入力位置を基準としています。一方で、伝統的なアナログアクションはより小さく、中央の物理的なアンカーポイントを基準としています。
- マウスのようなアクションが提供する差分は、OSが提供するピクセルデルタに非常によく似ていますが、SCデルタは整数ではなくfloatです。 これは、このデータをカメラ回転にマッピングした時により少ない潜在的な量子化と精度の損失を意味します。
- アナログトリガー等の単軸アナログ入力の場合、x軸のみがデータを含み、y軸は常に0となります。
名前 | 型 | 説明 |
eMode | EControllerSourceMode | このアクションからのデータの型は、VDF定義で設定されたアクションと一致します。 |
x | float | 横軸におけるこのアクションの現在の状態。 |
y | float | 縦軸におけるこのアクションの現在の状態。 |
bActive | bool | 現在このアクションが利用可能かどうかに関わらず、有効なアクションセットに紐づけられます。 利用できない場合、または有効なアクションセットに属さない場合、falseとなります。 |
ControllerDigitalActionData_t
デジタルアクションの現在の状態を表します。
名前 | 型 | 説明 |
bState | bool | このアクションの現在の状態; アクションが現在押されている場合は true。それ以外の場合は false。 |
bActive | bool | 現在このアクションが利用可能かどうかに関わらず、有効なアクションセットに紐づけられます。 |
ControllerMotionData_t
デバイスのモーションセンサーの現在の状態を表します。
注: rotQuatX/rotQuatY/rotQuatZ では、コントローラ上の慣性測定ユニットがジャイロと加速度計の融合に基づく四元数を作成します。 この値は、コントローラの絶対的な向きですが、ヨー軸上にドリフトします。
名前 | 型 | 説明 |
rotQuatX | float | センサー融合絶対回転(進路にドリフトします)、x軸 |
rotQuatY | float | センサー融合絶対回転(進路にドリフトします)、y軸 |
rotQuatZ | float | センサー融合絶対回転(進路にドリフトします)、z軸 |
rotQuatW | float | センサー融合絶対回転(進路にドリフトします)、w軸 |
posAccelX | float | 位置的な加速、x軸 |
posAccelY | float | 位置的な加速、y軸 |
posAccelZ | float | 位置的な加速、z軸 |
rotVelX | float | 角速度、 x軸 |
rotVelY | float | 角速度、 y軸 |
rotVelZ | float | 角速度、 z軸 |
列挙型
ISteamControllerで使用するために定義される列挙型です。
EControllerActionOrigin
プレイヤーが Steam入力コンフィギュレーターでバインドするアクションを入力します。 これらの値の主な目的は、アクションに応じて表示されるボタングリフを決定することです。例:「
[A]を押してジャンプ」
名前 | 値 | 説明 |
k_EControllerActionOrigin_None | 0 | |
k_EControllerActionOrigin_A | 1 | (Valve Steamコントローラ) デジタルフェイスボタン A |
k_EControllerActionOrigin_B | 2 | (Valve Steamコントローラ) デジタルフェイスボタン B |
k_EControllerActionOrigin_X | 3 | (Valve Steamコントローラ) デジタルフェイスボタン X |
k_EControllerActionOrigin_Y | 4 | (Valve Steamコントローラ) デジタルフェイスボタン Y |
k_EControllerActionOrigin_LeftBumper | 5 | (Valve Steam コント ローラ) デジタル左ショルダーボタン (別名 「左バンパー」) |
k_EControllerActionOrigin_RightBumper | 6 | (Valve Steam コント ローラ) デジタル右ショルダーボタン (別名 「右バンパー」) |
k_EControllerActionOrigin_LeftGrip | 7 | (Valve Steamコントローラ) デジタル左グリップパドル |
k_EControllerActionOrigin_RightGrip | 8 | (Valve Steamコントローラ) デジタル右グリップパドル |
k_EControllerActionOrigin_Start | 9 | (Valve Steamコントローラ) デジタルスタートボタン |
k_EControllerActionOrigin_Back | 10 | (Valve Steamコントローラ) デジタルバックボタン |
k_EControllerActionOrigin_LeftPad_Touch | 11 | (Valve Steamコントローラ) 左ハプティックタッチパッド、指での単純な接触 |
k_EControllerActionOrigin_LeftPad_Swipe | 12 | (Valve Steamコントローラ) 左ハプティックタッチパッド、任意の軸上へのタッチ入力 |
k_EControllerActionOrigin_LeftPad_Click | 13 | (Valve Steamコントローラ) 左ハプティックタッチパッド、デジタルクリック (全体押し込み) |
k_EControllerActionOrigin_LeftPad_DPadNorth | 14 | (Valve Steamコントローラ) 左ハプティックタッチパッド、デジタルクリック (4分割上) |
k_EControllerActionOrigin_LeftPad_DPadSouth | 15 | (Valve Steamコントローラ) 左ハプティックタッチパッド、デジタルクリック (4分割下) |
k_EControllerActionOrigin_LeftPad_DPadWest | 16 | (Valve Steamコントローラ) 左ハプティックタッチパッド、デジタルクリック (4分割左) |
k_EControllerActionOrigin_LeftPad_DPadEast | 17 | (Valve Steamコントローラ) 左ハプティックタッチパッド、デジタルクリック (4分割右) |
k_EControllerActionOrigin_RightPad_Touch | 18 | (Valve Steamコントローラ) 右ハプティックタッチパッド、指での単純な接触 |
k_EControllerActionOrigin_RightPad_Swipe | 19 | (Valve Steamコントローラ) 右ハプティックタッチパッド、任意の軸上へのタッチ入力 |
k_EControllerActionOrigin_RightPad_Click | 20 | (Valve Steam コントローラ) 右ハプティックタッチパッド、デジタルクリック (全体押し込み) |
k_EControllerActionOrigin_RightPad_DPadNorth | 21 | (Valve Steamコントローラ) 右ハプティックタッチパッド、デジタルクリック (4分割上) |
k_EControllerActionOrigin_RightPad_DPadSouth | 22 | (Valve Steamコントローラ) 右ハプティックタッチパッド、デジタルクリック (4分割下) |
k_EControllerActionOrigin_RightPad_DPadWest | 23 | (Valve Steamコントローラ) 右ハプティックタッチパッド、デジタルクリック (4分割左) |
k_EControllerActionOrigin_RightPad_DPadEast | 24 | (Valve Steam コントローラ) 右ハプティックタッチパッド、デジタルクリック (4分割右) |
k_EControllerActionOrigin_LeftTrigger_Pull | 25 | (Valve Steamコントローラ) 左アナログトリガー、任意量の押し込み (アナログ値) |
k_EControllerActionOrigin_LeftTrigger_Click | 26 | (Valve Steam コントローラ) 左アナログトリガー、押し切り (デジタル値) |
k_EControllerActionOrigin_RightTrigger_Pull | 27 | (Valve Steamコントローラ) 右アナログトリガー、任意量の押し込み (アナログ値) |
k_EControllerActionOrigin_RightTrigger_Click | 28 | (Valve Steamコントローラ) 右アナログトリガー、押し切り (デジタル値) |
k_EControllerActionOrigin_LeftStick_Move | 29 | (Valve Steamコントローラ) 左ジョイスティック、任意の軸での移動(アナログ値) |
k_EControllerActionOrigin_LeftStick_Click | 30 | (Valve Steamコントローラ) 左ジョイスティック、クリック(デジタル値) |
k_EControllerActionOrigin_LeftStick_DPadNorth | 31 | (Valve Steamコントローラ) 左ジョイスティック、デジタル移動 (4分割上) |
k_EControllerActionOrigin_LeftStick_DPadSouth | 32 | (Valve Steamコントローラ) 左ジョイスティック、デジタル移動 (4分割下) |
k_EControllerActionOrigin_LeftStick_DPadWest | 33 | (Valve Steam コントローラ) 左ジョイスティック、デジタル移動 (4分割左) |
k_EControllerActionOrigin_LeftStick_DPadEast | 34 | (Valve Steamコントローラ) 左ジョイスティック、デジタル移動 (4分割右) |
k_EControllerActionOrigin_Gyro_Move | 35 | (Valve Steamコントローラ) ジャイロスコープ、任意の軸へのアナログ移動 |
k_EControllerActionOrigin_Gyro_Pitch | 36 | (Valve Steam コントローラ) ジャイロスコープ、(正面を天井と床方向に向ける)ピッチ軸のアナログ移動 |
k_EControllerActionOrigin_Gyro_Yaw | 37 | (Valve Steam コントローラ) ジャイロスコープ、(正面を左右へ向ける)ヨー軸のアナログ移動 |
k_EControllerActionOrigin_Gyro_Roll | 38 | (Valve Steam コントローラ) ジャイロスコープ、(正面を左右へ傾ける)ロール軸のアナログ移動 |
k_EControllerActionOrigin_PS4_X | 39 | (Sony Dualshock 4) デジタルフェイスボタン X |
k_EControllerActionOrigin_PS4_Circle | 40 | (Sony Dualshock 4) デジタルフェイスボタン 〇 |
k_EControllerActionOrigin_PS4_Triangle | 41 | (Sony Dualshock 4) デジタルフェイスボタン △ |
k_EControllerActionOrigin_PS4_Square | 42 | (Sony Dualshock 4) デジタルフェイスボタン □ |
k_EControllerActionOrigin_PS4_LeftBumper | 43 | (Sony Dualshock 4) デジタル左ショルダーボタン (別名 「左バンパー」) |
k_EControllerActionOrigin_PS4_RightBumper | 44 | (Sony Dualshock 4) デジタル右ショルダーボタン (別名 「右バンパー」) |
k_EControllerActionOrigin_PS4_Options | 45 | (Sony Dualshock 4) デジタルオプションボタン (別名「Start」) |
k_EControllerActionOrigin_PS4_Share | 46 | (Sony Dualshock 4) デジタルshareボタン (別名 「Back」) |
k_EControllerActionOrigin_PS4_LeftPad_Touch | 47 | (Sony Dualshock 4) タッチパッド左半分、指での単純な接触 |
k_EControllerActionOrigin_PS4_LeftPad_Swipe | 48 | (Sony Dualshock 4) タッチパッドの左半分、任意の軸上へのタッチ入力 |
k_EControllerActionOrigin_PS4_LeftPad_Click | 49 | (Sony Dualshock 4) タッチパッドの左半分、(全体への)デジタルクリック |
k_EControllerActionOrigin_PS4_LeftPad_DPadNorth | 50 | (Sony Dualshock 4) タッチパッドの左半分、(4分割上への)デジタルクリック |
k_EControllerActionOrigin_PS4_LeftPad_DPadSouth | 51 | (Sony Dualshock 4) タッチパッドの左半分、(4分割上への)デジタルクリック |
k_EControllerActionOrigin_PS4_LeftPad_DPadWest | 52 | (Sony Dualshock 4) タッチパッドの左半分、(4分割左への)デジタルクリック |
k_EControllerActionOrigin_PS4_LeftPad_DPadEast | 53 | (Sony Dualshock 4) タッチパッドの左半分、(4分割右への)デジタルクリック |
k_EControllerActionOrigin_PS4_RightPad_Touch | 54 | (Sony Dualshock 4) タッチパッド右半分、指での単純な接触 |
k_EControllerActionOrigin_PS4_RightPad_Swipe | 55 | (Sony Dualshock 4) タッチパッドの右半分、任意の軸上へのタッチ入力 |
k_EControllerActionOrigin_PS4_RightPad_Click | 56 | (Sony Dualshock 4) タッチパッドの右半分、(全体への)デジタルクリック |
k_EControllerActionOrigin_PS4_RightPad_DPadNorth | 57 | (Sony Dualshock 4) タッチパッドの右半分、(4分割への)デジタルクリック |
k_EControllerActionOrigin_PS4_RightPad_DPadSouth | 58 | (Sony Dualshock 4) タッチパッドの右半分、(4分割下への)デジタルクリック |
k_EControllerActionOrigin_PS4_RightPad_DPadWest | 59 | (Sony Dualshock 4) タッチパッドの右半分、(4分割左への)デジタルクリック |
k_EControllerActionOrigin_PS4_RightPad_DPadEast | 60 | (Sony Dualshock 4) タッチパッドの右半分、(4分割右への)デジタルクリック |
k_EControllerActionOrigin_PS4_CenterPad_Touch | 61 | (Sony Dualshock 4) 統一タッチパッド、指での単純な接触 |
k_EControllerActionOrigin_PS4_CenterPad_Swipe | 62 | (Sony Dualshock 4) タッチパッド、任意の軸上へのタッチ入力 |
k_EControllerActionOrigin_PS4_CenterPad_Click | 63 | (Sony Dualshock 4) タッチパッド、(全体への)デジタルクリック |
k_EControllerActionOrigin_PS4_CenterPad_DPadNorth | 64 | (Sony Dualshock 4) タッチパッド、(4分割上への)デジタルクリック |
k_EControllerActionOrigin_PS4_CenterPad_DPadSouth | 65 | (Sony Dualshock 4) タッチパッド、(4分割下への)デジタルクリック |
k_EControllerActionOrigin_PS4_CenterPad_DPadWest | 66 | (Sony Dualshock 4) タッチパッド、(4分割左への)デジタルクリック |
k_EControllerActionOrigin_PS4_CenterPad_DPadEast | 67 | (Sony Dualshock 4) タッチパッド、(4分割右への)デジタルクリック |
k_EControllerActionOrigin_PS4_LeftTrigger_Pull | 68 | (Sony Dualshock 4) 左アナログトリガー、任意量の押し込み(アナログ値) |
k_EControllerActionOrigin_PS4_LeftTrigger_Click | 69 | (Sony Dualshock 4) 左アナログトリガー、押し切り(アナログ値) |
k_EControllerActionOrigin_PS4_RightTrigger_Pull | 70 | (Sony Dualshock 4) 右アナログトリガー、任意量の押し込み(アナログ値) |
k_EControllerActionOrigin_PS4_RightTrigger_Click | 71 | (Sony Dualshock 4) 右アナログトリガー、押し切り(デジタル値) |
k_EControllerActionOrigin_PS4_LeftStick_Move | 72 | (Sony Dualshock 4) 左ジョイスティック、任意の軸での移動(アナログ値) |
k_EControllerActionOrigin_PS4_LeftStick_Click | 73 | (Sony Dualshock 4) 左ジョイスティック、クリック(デジタル値) |
k_EControllerActionOrigin_PS4_LeftStick_DPadNorth | 74 | ((Sony Dualshock 4) 左ジョイスティック、デジタル移動 (4分割上) |
k_EControllerActionOrigin_PS4_LeftStick_DPadSouth | 75 | (Sony Dualshock 4) 左ジョイスティック、デジタル移動 (4分割下) |
k_EControllerActionOrigin_PS4_LeftStick_DPadWest | 76 | (Sony Dualshock 4) 左ジョイスティック、デジタル移動 (4分割左) |
k_EControllerActionOrigin_PS4_LeftStick_DPadEast | 77 | ((Sony Dualshock 4) 左ジョイスティック、デジタル移動 (4分割右) |
k_EControllerActionOrigin_PS4_RightStick_Move | 78 | (Sony Dualshock 4) 右ジョイスティック、任意の軸での移動(アナログ値) |
k_EControllerActionOrigin_PS4_RightStick_Click | 79 | (Sony Dualshock 4) 右ジョイスティック、クリック(デジタル値) |
k_EControllerActionOrigin_PS4_RightStick_DPadNorth | 80 | ((Sony Dualshock 4) 右ジョイスティック、デジタル移動 (4分割上) |
k_EControllerActionOrigin_PS4_RightStick_DPadSouth | 81 | (Sony Dualshock 4) 右ジョイスティック、デジタル移動 (4分割下) |
k_EControllerActionOrigin_PS4_RightStick_DPadWest | 82 | (Sony Dualshock 4) 右ジョイスティック、デジタル移動 (4分割左) |
k_EControllerActionOrigin_PS4_RightStick_DPadEast | 83 | (Sony Dualshock 4) 右ジョイスティック、デジタル移動 (4分割右) |
k_EControllerActionOrigin_PS4_DPad_North | 84 | (Sony Dualshock 4) デジタルパッド、(4分割右への) 押し込み |
k_EControllerActionOrigin_PS4_DPad_South | 85 | (Sony Dualshock 4) デジタルパッド、(4分割下への) 押し込み |
k_EControllerActionOrigin_PS4_DPad_West | 86 | (Sony Dualshock 4) デジタルパッド、(4分割左への) 押し込み |
k_EControllerActionOrigin_PS4_DPad_East | 87 | (Sony Dualshock 4) デジタルパッド、(4分割右への) 押し込み |
k_EControllerActionOrigin_PS4_Gyro_Move | 88 | (Sony Dualshock 4) ジャイロスコープ、任意の軸へのアナログ移動 |
k_EControllerActionOrigin_PS4_Gyro_Pitch | 89 | (Sony Dualshock 4) ジャイロスコープ、(正面を天井と床方向に向ける)ピッチ軸のアナログ移動 |
k_EControllerActionOrigin_PS4_Gyro_Yaw | 90 | (Sony Dualshock 4) ジャイロスコープ、(正面を左右へ向ける)ヨー軸のアナログ移動 |
k_EControllerActionOrigin_PS4_Gyro_Roll | 91 | (Sony Dualshock 4) ジャイロスコープ、(正面を左右へ傾ける)ロール軸のアナログ移動 |
k_EControllerActionOrigin_XBoxOne_A | 92 | (XB1) デジタルフェイスボタン A |
k_EControllerActionOrigin_XBoxOne_B | 93 | (XB1) デジタルフェイスボタン B |
k_EControllerActionOrigin_XBoxOne_X | 94 | (XB1) デジタルフェイスボタン X |
k_EControllerActionOrigin_XBoxOne_Y | 95 | (XB1) デジタルフェイスボタン Y |
k_EControllerActionOrigin_XBoxOne_LeftBumper | 96 | (XB1) デジタル左ショルダーボタン (別名 「左バンパー」) |
k_EControllerActionOrigin_XBoxOne_RightBumper | 97 | (XB1) デジタル右ショルダーボタン (別名 「右バンパー」) |
k_EControllerActionOrigin_XBoxOne_View | 99 | (XB1) デジタルビューボタン (別名 「back」) |
k_EControllerActionOrigin_XBoxOne_LeftTrigger_Pull | 100 | (XB1) 左アナログトリガー、任意量の押し込み(アナログ値) |
k_EControllerActionOrigin_XBoxOne_LeftTrigger_Click | 101 | (Valve Steam コントローラ) 左アナログトリガー、押し切り (デジタル値) |
k_EControllerActionOrigin_XBoxOne_RightTrigger_Pull | 102 | (XB1) 右アナログトリガー、任意量の押し込み(アナログ値) |
k_EControllerActionOrigin_XBoxOne_RightTrigger_Click | 103 | (XB1) 右アナログトリガー、押し切り(デジタル値) |
k_EControllerActionOrigin_XBoxOne_LeftStick_Move | 104 | (XB1) 左ジョイスティック、任意の軸での移動(アナログ値) |
k_EControllerActionOrigin_XBoxOne_LeftStick_Click | 105 | (XB1) 左ジョイスティック、クリック(デジタル値) |
k_EControllerActionOrigin_XBoxOne_LeftStick_DPadNorth | 106 | (XB1) 左ジョイスティック、デジタル移動 (4分割上) |
k_EControllerActionOrigin_XBoxOne_LeftStick_DPadSouth | 107 | (XB1) 左ジョイスティック、デジタル移動 (4分割下) |
k_EControllerActionOrigin_XBoxOne_LeftStick_DPadWest | 108 | (XB1) 左ジョイスティック、デジタル移動 (4分割左) |
k_EControllerActionOrigin_XBoxOne_LeftStick_DPadEast | 109 | (XB1) 左ジョイスティック、デジタル移動 (4分割右) |
k_EControllerActionOrigin_XBoxOne_RightStick_Move | 110 | (XB1) 右ジョイスティック、任意の軸での移動(アナログ値) |
k_EControllerActionOrigin_XBoxOne_RightStick_Click | 111 | (XB1) 右ジョイスティック、クリック(デジタル値) |
k_EControllerActionOrigin_XBoxOne_RightStick_DPadNorth | 112 | (XB1) 右ジョイスティック、デジタル移動 (4分割上) |
k_EControllerActionOrigin_XBoxOne_RightStick_DPadSouth | 113 | (XB1) 右ジョイスティック、デジタル移動 (4分割下) |
k_EControllerActionOrigin_XBoxOne_RightStick_DPadWest | 114 | (XB1) 左ジョイスティック、デジタル移動 (4分割下) |
k_EControllerActionOrigin_XBoxOne_RightStick_DPadEast | 115 | (XB1) 右ジョイスティック、デジタル移動 (4分割右) |
k_EControllerActionOrigin_XBoxOne_DPad_North | 116 | (XB1) デジタルパッド、(4分割右への) 押し込み |
k_EControllerActionOrigin_XBoxOne_DPad_South | 117 | (XB1) デジタルパッド、(4分割下への) 押し込み |
k_EControllerActionOrigin_XBoxOne_DPad_West | 118 | (XB1) デジタルパッド、(4分割左への) 押し込み |
k_EControllerActionOrigin_XBoxOne_DPad_East | 119 | (XB1) デジタルパッド、(4分割右への) 押し込み |
k_EControllerActionOrigin_XBox360_A | 120 | (X360) デジタルフェイスボタン A |
k_EControllerActionOrigin_XBox360_B | 121 | (X360) デジタルフェイスボタン B |
k_EControllerActionOrigin_XBox360_X | 122 | (X360) デジタルフェイスボタン X |
k_EControllerActionOrigin_XBox360_Y | 123 | (X360) デジタルフェイスボタン Y |
k_EControllerActionOrigin_XBox360_LeftBumper | 124 | (X360) デジタル左ショルダーボタン (別名 「左バンパー」) |
k_EControllerActionOrigin_XBox360_RightBumper | 125 | (X360) デジタル右ショルダーボタン (別名 「右バンパー」) |
k_EControllerActionOrigin_XBox360_Start | 126 | (X360) デジタル Start ボタン |
k_EControllerActionOrigin_XBox360_Back | 127 | (X360) デジタル Back ボタン |
k_EControllerActionOrigin_XBox360_LeftTrigger_Pull | 128 | (X360) 左アナログトリガー、任意量の押し込み(アナログ値) |
k_EControllerActionOrigin_XBox360_LeftTrigger_Click | 129 | (X360) 左アナログトリガー、押し切り(デジタル値) |
k_EControllerActionOrigin_XBox360_RightTrigger_Pull | 130 | (X360) 右アナログトリガー、任意量の押し込み(アナログ値) |
k_EControllerActionOrigin_XBox360_RightTrigger_Click | 131 | (X360) 右アナログトリガー、押し切り(デジタル値) |
k_EControllerActionOrigin_XBox360_LeftStick_Move | 132 | (X360) 左ジョイスティック、任意の軸での移動(アナログ値) |
k_EControllerActionOrigin_XBox360_LeftStick_Click | 133 | (X360) 左ジョイスティック、クリック(デジタル値) |
k_EControllerActionOrigin_XBox360_LeftStick_DPadNorth | 134 | (X360) 左ジョイスティック、デジタル移動 (4分割上) |
k_EControllerActionOrigin_XBox360_LeftStick_DPadSouth | 135 | (X360) 左ジョイスティック、デジタル移動 (4分割下) |
k_EControllerActionOrigin_XBox360_LeftStick_DPadWest | 136 | (X360) 左ジョイスティック、デジタル移動 (4分割左) |
k_EControllerActionOrigin_XBox360_LeftStick_DPadEast | 137 | (X360) 左ジョイスティック、デジタル移動 (4分割右) |
k_EControllerActionOrigin_XBox360_RightStick_Move | 138 | (X360) 右ジョイスティック、任意の軸での移動(アナログ値) |
k_EControllerActionOrigin_XBox360_RightStick_Click | 139 | (X360) 右ジョイスティック、クリック(デジタル値) |
k_EControllerActionOrigin_XBox360_RightStick_DPadNorth | 140 | (X360) 右ジョイスティック、デジタル移動 (4分割上) |
k_EControllerActionOrigin_XBox360_RightStick_DPadSouth | 141 | (X360) 右ジョイスティック、デジタル移動 (4分割下) |
k_EControllerActionOrigin_XBox360_RightStick_DPadWest | 142 | (X360) 左ジョイスティック、デジタル移動 (4分割下) |
k_EControllerActionOrigin_XBox360_RightStick_DPadEast | 143 | (X360) 右ジョイスティック、デジタル移動 (4分割右) |
k_EControllerActionOrigin_XBox360_DPad_North | 144 | (X360) デジタルパッド、(4分割右への) 押し込み |
k_EControllerActionOrigin_XBox360_DPad_South | 145 | (X360) デジタルパッド、(4分割下への) 押し込み |
k_EControllerActionOrigin_XBox360_DPad_West | 146 | (X360) デジタルパッド、(4分割左への) 押し込み |
k_EControllerActionOrigin_XBox360_DPad_East | 147 | (X360) デジタルパッド、(4分割右への) 押し込み |
k_EControllerActionOrigin_Count | 196 | この列挙型の数値は反復処理に便利です。 |
EControllerSource
多数のモードの内の一つを割り当てて意味のあるデータの出力に使えるコントローラの領域で、より大きく抽象的なモジュラーユニットとして考えることができます。 例えば、ジョイスティックを一つのアナログ入力として扱ったり、仮想の十字キーを作って4つの別々のデジタル入力として扱うことができます。 同様に、ABXYフェイスボタンを4つの独立したボタンとして扱われるグループにすることや、仮想DPAD の一部として扱うことができます。
名前 | 値 | 説明 |
k_EControllerSource_None | 0 | コントローラソースがありません。 |
k_EControllerSource_LeftTrackpad | 1 | 左タッチパッド、または中央タッチパッドの左半分です。 |
k_EControllerSource_RightTrackpad | 2 | 右タッチパッド、または中央タッチパッドの右半分です。 |
k_EControllerSource_Joystick | 3 | ジョイスティックです。2つ以上ジョイスティックがある場合には、左のジョイスティックです。 |
k_EControllerSource_ABXY | 4 | 4つの主なフェイスボタンです。 |
k_EControllerSource_Switch | 5 | コントローラ上の、その他のソースに該当しないスイッチ/ボタンです。 バンパー、start/select ボタン、グリップなどを含みます。 これは特別な例外であり広い範囲での典型に属さないため、デジタルボタンのソースが割り当てられ、対応するモードが処理されます。 |
k_EControllerSource_LeftTrigger | 6 | 左アナログトリガーです。 |
k_EControllerSource_RightTrigger | 7c | 右アナログトリガーです。 |
k_EControllerSource_Gyro | 8 | 内蔵のジャイロスコープ。 |
k_EControllerSource_CenterTrackpad | 9 | 中央のタッチパッドです。 (DS4のみ) |
k_EControllerSource_RightJoystick | 10 | 右ジョイスティックです。 ジョイスティックが一つだけの場合、このソースは使用されません。 |
k_EControllerSource_DPad | 11 | デジタルパッドです。 |
k_EControllerSource_Key | 12 | キーボードのキー(スキャンコード付きキーボード用)。 |
k_EControllerSource_Mouse | 13 | 伝統的なマウス |
k_EControllerSource_Count | 14 | この列挙型の数は、反復処理に便利です。 |
EControllerSourceMode
仮想入力モードはコントローラソースのコンフィギュレータで制御されます。 例えば、コンフィギュレータはアナログジョイスティックを4つのデジタル入力を持つDPADのようにセットでき、EControllerSource が k_EControllerSource_Joystick で、 EControllerSourceMode が k_EControllerSourceMode_Dpad となります。 モードには、関連アクションにが受け付けた入力データの変更もできます。
名前 | 値 | 説明 |
k_EControllerSourceMode_None | 0 | 入力モードなし。 |
k_EControllerSourceMode_Dpad | 1 | デジタルパッド -- 十字型の4方向のデジタルボタンで、各軸において一度に押すことのできるのは1方向だけです。 |
k_EControllerSourceMode_Buttons | 2 | |
k_EControllerSourceMode_FourButtons | 3 | 4つのデジタルフェイスボタン。同時に押すことができます。 |
k_EControllerSourceMode_AbsoluteMouse | 4 | |
k_EControllerSourceMode_RelativeMouse | 5 | |
k_EControllerSourceMode_JoystickMove | 6 | |
k_EControllerSourceMode_JoystickMouse | 7 | |
k_EControllerSourceMode_JoystickCamera | 8 | |
k_EControllerSourceMode_ScrollWheel | 9 | |
k_EControllerSourceMode_Trigger | 10 | |
k_EControllerSourceMode_MouseJoystick | 12 | |
k_EControllerSourceMode_MouseRegion | 13 | |
k_EControllerSourceMode_SingleButton | 15 | |
k_EControllerSourceMode_Switches | 16 | |
ESteamControllerLEDFlag
(デバイス上にLEDがある場合)SteamコントローラデバイスのLEDの色をコントロールします。
注:VSCにはLEDが一つありますが、(色は常に白であり)明るさだけが影響されます。
DS4のLEDはライトバーであり、色と明るさを設定できます。
名前 | 値 | 説明 |
k_ESteamControllerLEDFlag_SetColor | 0 | 指定した値に色を設定します。 |
k_ESteamControllerLEDFlag_RestoreUserDefault | 1 | 色をデフォルト(ゲーム外)設定に戻します。 |
ESteamInputType
対象のハードウェアのでデバイスモデルを表します。
名前 | 値 | 説明 |
k_ESteamInputType_Unknown | 0 | 認識されないデバイスのキャッチオールです |
k_ESteamInputType_SteamController | 1 | ValveのSteamコントローラ |
k_ESteamInputType_XBox360Controller | 2 | MicrosoftのXBox 360コントローラー |
k_ESteamInputType_XBoxOneController | 3 | MicrosoftのXBox Oneコントローラー |
k_ESteamInputType_GenericXInput | 4 | 一般的なサードパーティーXInputデバイス |
k_ESteamInputType_PS4Controller | 5 | Sony PlayStation 4コントローラー |
k_ESteamInputType_AppleMFiController | 6 | 未使用 |
k_ESteamInputType_AndroidController | 7 | 未使用 |
k_ESteamInputType_SwitchJoyConPair | 8 | 未使用 |
k_ESteamInputType_SwitchJoyConSingle | 9 | 未使用 |
k_ESteamInputType_SwitchProController | 10 | Nintendo's Switch Pro コントローラー |
k_ESteamInputType_MobileTouch | 11 | Steamリンクアプリのモバイルタッチコントローラー |
k_ESteamInputType_PS3Controller | 12 | SonyのPlaystation 3 コントローラーまたはPS3/PS4互換性のある格闘ゲーム用スティック |
k_ESteamInputType_Count | 13 | 返された値の現在の数 |
k_ESteamInputType_MaximumPossibleValue | 255 | 返される可能性のある値の最高値 |
ESteamControllerPad
Steamコントローラデバイス上でのタッチパッドの領域です。
注:VSCでは、左右のハプティックタッチパッドに対する値です。
DS4では、中央に位置する一つのタッチパッドへの左右半分に対する値です。
名前 | 値 | 説明 |
k_ESteamControllerPad_Left | 0 | Steamコントローラデバイス上での左タッチパッドの領域です。 対応モデル:VSC, DS4 |
k_ESteamControllerPad_Right | 1 | Steamコントローラデバイス上での右タッチパッドの領域です。 対応モデル:VSC, DS4 |
Typedefs
ISteamControllerで使用するために定義されたtypedefsです。
名前 | ベース型 | 説明 |
ControllerActionSetHandle_t | uint64 | これらのハンドルは指定のゲームアクションまたはアクションセットの参照に使われます。 すべてのアクションハンドルは、パフォーマンス上の理由のために初期化中に照会する必要があります。 |
ControllerAnalogActionHandle_t | uint64 | アナログアクションへのハンドルです。 GetAnalogActionHandleから取得できます。 |
ControllerDigitalActionHandle_t | uint64 | デジタルアクションへのハンドルです。 GetDigitalActionHandleから取得できます。 |
ControllerHandle_t | uint64 | このハンドルは、切断、再接続された場合も含め常時コントローラを識別します。 |
定数
ISteamControllerで使用するために定義される定数です。
名前 | 型 | 値 | 説明 |
STEAMCONTROLLER_INTERFACE_VERSION | const char * | "SteamController007" | |
STEAM_CONTROLLER_HANDLE_ALL_CONTROLLERS | int | UINT64_MAX | この特別な値を、全てのコントローラではなく、指定のコントローラハンドルだけにに送信するオプションとして使用できます。 |
STEAM_CONTROLLER_MAX_ANALOG_ACTIONS | int | 16 | 各コントローラ上で実行できるアナログアクションの最大数です。 |
STEAM_CONTROLLER_MAX_ANALOG_ACTION_DATA | float | 1.0f | 任意の軸上のアナログアクションで報告することのできる最大値です。 |
STEAM_CONTROLLER_MAX_COUNT | int | 16 | Steam入力コンフィギュレーターで同時に使用できるコントローラの最大数です。 |
STEAM_CONTROLLER_MAX_DIGITAL_ACTIONS | int | 128 | 各コントローラ上で実行できるデジタルアクションの最大数です。 |
STEAM_CONTROLLER_MAX_ORIGINS | int | 8 | 一つのアクションに関連付けられる入力元の最大数です。 |
STEAM_CONTROLLER_MIN_ANALOG_ACTION_DATA | float | -1.0f | 任意の軸上のアナログアクションで報告することのできる最小値です。 |