Tài liệu Steamworks
Interface ISteamInput
Steam Input API là một bộ API linh hoạt dựa trên hành động hỗ trợ các loại tay cầm phổ biến - Xbox, PlayStation, Nintendo Switch Pro, và Steam Controller.

Xem Steam Input tài liệu để biết thêm thông tin.

Hàm thành viên

Các hàm thành viên (member function) cho ISteamInput được call qua hàm global accessor SteamInput().

ActivateActionSet

void ActivateActionSet( InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle );
TênLoạiMô tả
inputHandleInputHandle_tHandle của tay cầm mà bạn muốn kích hoạt bộ hành động.
actionSetHandleInputActionSetHandle_tHandle của hành động bạn muốn kích hoạt.

Chỉnh lại thiết lập cho tay cầm để dùng một bộ hành động cụ thể (ví dụ: "Menu", "Đi bộ", hoặc "Lái xe").

Tính năng không hao tốn nhiều, và có thể call liên tục mà không lo ngại gì. Thông thường dùng call liên tục trong trạng thái vòng lặp của bạn sẽ dễ hơn thay vì tìm cách đặt nó vào trong mọi chuyển đổi trạng thái.

Ví dụ:
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; } }

Kích hoạt tất cả tay cầm

Đôi khi, bạn sẽ muốn kích hoạt hết tất cả tay cầm cùng lúc, thay vì chỉ một thiết bị đơn lẻ. Trong trường hợp này bạn nên dùng constant STEAM_INPUT_HANDLE_ALL_CONTROLLERS làm handle cho tay cầm của mình. Bạn cũng có thể dùng giá trị này trong bất kỳ hàm nào khác call cho handle tay cầm đơn lẻ.

Ví dụ:
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 );
TênLoạiMô tả
inputHandleInputHandle_tHandle của tay cầm mà bạn muốn kích hoạt một lớp bộ hành động.
actionSetHandleInputActionSetHandle_tHandle của lớp hành động bạn muốn kích hoạt.

Chỉnh lại thiết lập cho tay cầm để dùng một lớp hành động cụ thể.

Xem bài viết Lớp bộ hành động để biết đầy đủ chi tiết và ví dụ thực tiễn chuyên sâu.

Ví dụ:
SteamInput()->ActivateActionSetLayer( inputHandle1, myActionSetLayer );

DeactivateActionSetLayer

void DeactivateActionSetLayer( InputHandle_t inputHandle, InputActionSetHandle_t actionSetLayerHandle );
TênLoạiMô tả
inputHandleInputHandle_tHandle của tay cầm mà bạn muốn tắt kích hoạt bộ hành động.
actionSetHandleInputActionSetHandle_tHandle của lớp hành động bạn muốn ngừng kích hoạt.

Chỉnh lại thiết lập cho tay cầm để ngừng dùng một lớp hành động cụ thể.

Ví dụ:
SteamInput()->DeactivateActionSetLayer( inputHandle1, myActionSetLayer );

DeactivateAllActionSetLayers

void DeactivateAllActionSetLayers( InputHandle_t inputHandle );
TênLoạiMô tả
inputHandleInputHandle_tHandle của tay cầm mà bạn muốn tắt kích hoạt toàn bộ lớp hành động.

Chỉnh lại thiết lập cho tay cầm để ngừng dùng toàn bộ lớp hành động.

Ví dụ:
SteamInput()->DeactivateAllActionSetLayers( inputHandle1 );

GetActiveActionSetLayers

int GetActiveActionSetLayers( InputHandle_t inputHandle, InputActionSetHandle_t *handlesOut );
TênLoạiMô tả
inputHandleInputHandle_tHandle của tay cầm mà bạn muốn lấy các lớp hành động đang kích hoạt.
handlesOutInputActionSetHandle_t*Mục này phải hướng tới array với kích thước theo STEAM_INPUT_MAX_COUNT của giá trị InputHandle_t.

Lấp đầy toàn bộ array với tất cả các lớp hành động hiện có cho một handle tay cầm nhất định.

Ví dụ:
InputHandle_t *handlesOut = new InputHandle_t []; SteamInput()->GetActiveActionSetLayers( inputHandle1, &handlesOut );

GetActionSetHandle

InputActionSetHandle_t GetActionSetHandle( const char *pszActionSetName );
TênLoạiMô tả
pszActionSetNameconst char *Chuỗi identifier (nhận dạng) loại string của bộ hành động được định nghĩa trong file VDF của trò chơi.

Tìm handle cho một bộ hành động. Tốt nhất nên làm một lần khi khởi động, và lưu các handle này cho những lần call tới API trong tương lai.

Trả về: InputActionSetHandle_t
Handle cho một bộ hành động cụ thể.

Ví dụ:
InputActionSetHandle_t fightingSetHandle = SteamInput()->GetActionSetHandle( "fighting" );

GetAnalogActionData

InputAnalogActionData_t GetAnalogActionData( InputHandle_t inputHandle, InputAnalogActionHandle_t analogActionHandle );
TênLoạiMô tả
inputHandleInputHandle_tHandle cho tay cầm bạn muốn truy vấn.
analogActionHandleInputAnalogActionHandle_tHandle cho hành động analog bạn muốn truy vấn.

Trả về trạng thái hiện tại của hành động analog trò chơi được cung cấp.

Trả về: InputAnalogActionData_t
Trạng thái hiện tại của hành động analog được chỉ định.

Ví dụ:
InputAnalogActionData_t data = SteamInput()->GetAnalogActionData( controller1Handle, moveHandle );

GetAnalogActionHandle

InputAnalogActionHandle_t GetAnalogActionHandle( const char *pszActionName );
TênLoạiMô tả
pszActionNameconst char *Chuỗi identifier (nhận dạng) loại string của hành động analog được định nghĩa trong file VDF của trò chơi.

Lấy handle của hành động analog cụ thể.

LƯU Ý: Hàm này không lấy tham số handle của bộ hành động. Điều này cũng có nghĩa rằng mỗi hành động trong file VDF phải có một string nhận dạng không trùng khớp. Nói cách khác, nếu bạn dùng hành động "lên" trong hai bộ hành động khác nhau, hàm này sẽ chỉ trả về một trong số đó và phớt lờ cái còn lại.

Trả về: InputAnalogActionHandle_t
Handle cho hành động analog cụ thể.

Ví dụ:
InputAnalogActionHandle_t moveHandle = SteamInput()->GetAnalogActionHandle( "move" );

GetAnalogActionOrigins

int GetAnalogActionOrigins( InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle, InputAnalogActionHandle_t analogActionHandle, EInputActionOrigin *originsOut );
TênLoạiMô tả
inputHandleInputHandle_tHandle cho tay cầm bạn muốn truy vấn.
actionSetHandleInputActionSetHandle_tHandle cho bộ hành động bạn muốn truy vấn.
analogActionHandleInputAnalogActionHandle_tHandle cho hành động analog bạn muốn truy vấn.
originsOutEInputActionOrigin *Một array kích thước từ STEAM_INPUT_MAX_ORIGINS theo loại handle EInputActionOrigin.

Tìm origin của một hành động analog trong bộ hành động bằng cách điền originsOut với các handle từ EInputActionOrigin. Dùng chức năng này để hiển thị đúng thông báo trên màn hình cho hành động.

Trả về: int
Số lượng origin được cung cấp trong originsOut.

Ví dụ:
EInputActionOrigin *origins = new EInputActionOrigin[]; SteamInput()->GetAnalogActionOrigins( controller1Handle, walkingSetHandle, moveHandle, origins );

GetConnectedControllers

int GetConnectedControllers( InputHandle_t *handlesOut );
TênLoạiMô tả
handlesOutInputHandle_t *Mục này phải hướng tới array với kích thước theo STEAM_INPUT_MAX_COUNT của giá trị InputHandle_t.

Liệt kê enum các tay cầm hiện tại đang được kết nối bằng cách điền handlesOut với các handle tay cầm.

Trả về: int
Số lượng handle được ghi vào handlesOut.

Ví dụ:
InputHandle_t *inputHandles = new InputHandle_t[]; SteamInput()->GetConnectedControllers( inputHandles );

GetControllerForGamepadIndex

InputHandle_t GetControllerForGamepadIndex( int nIndex );
TênLoạiMô tả
nIndexintGiá trị index tay cầm giả lập mà bạn muốn lấy cho handle của tay cầm.

Trả về handle tay cầm liên quan cho loại tay cầm giả lập cụ thể. Có thể dùng với GetInputTypeForHandle nhằm xác định loại tay cầm đang dùng Steam Input để giả lập.

Trả về: InputHandle_t


Ví dụ:
// Thay thế với số ô XInput mà bạn đang truy vấn. Con số này nằm từ 0 tới 3 int nXinputSlotIndex = 0; InputHandle_t inputHandle = SteamInput()->GetControllerForGamepadIndex( nXinputSlotIndex ); if ( inputHandle == 0 ) { // Handle đầu vào hợp lệ là khác không, đây là tay cầm Xbox bình thường. } 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 );
TênLoạiMô tả
inputHandleInputHandle_tHandle cho tay cầm bạn muốn truy vấn.

Lấy bộ hành động hiện đang dùng cho tay cầm chỉ định.

Trả về: InputActionSetHandle_t
Handle của bộ hành động cho tay cầm chỉ định.

Ví dụ:
InputActionSetHandle_t controller1Set = SteamInput()->GetCurrentActionSet(controller1Handle);

GetDigitalActionData

InputDigitalActionData_t GetDigitalActionData( InputHandle_t inputHandle, InputDigitalActionHandle_t digitalActionHandle );
TênLoạiMô tả
inputHandleInputHandle_tHandle cho tay cầm bạn muốn truy vấn.
digitalActionHandleInputDigitalActionHandle_tHandle cho hành động digital bạn muốn truy vấn.

Trả về trạng thái hiện tại của hành động digital trò chơi được cung cấp.

Trả về: InputDigitalActionData_t
Trạng thái hiện tại của hành động digital chỉ định.

GetDigitalActionHandle

InputDigitalActionHandle_t GetDigitalActionHandle( const char *pszActionName );
TênLoạiMô tả
pszActionNameconst char *Chuỗi identifier (nhận dạng) loại string của hành động digital được định nghĩa trong file VDF của trò chơi.

Lấy handle của hành động digital cụ thể.

LƯU Ý: Hàm này không lấy than số handle của bộ hành động. Điều này cũng có nghĩa rằng mỗi hành động trong file VDF phải có một string nhận dạng không trùng khớp. Nói cách khác, nếu bạn dùng hành động "lên" trong hai bộ hành động khác nhau, hàm này sẽ chỉ trả về một trong số đó và phớt lờ cái còn lại.

Trả về: InputDigitalActionHandle_t
Handle cho hành động digital cụ thể.

Ví dụ:
InputDigitalActionHandle_t punchHandle = SteamInput()->GetDigitalActionHandle( "punch" );

GetDigitalActionOrigins

int GetDigitalActionOrigins( InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle, InputDigitalActionHandle_t digitalActionHandle, EInputActionOrigin *originsOut );
TênLoạiMô tả
inputHandleInputHandle_tHandle cho tay cầm bạn muốn truy vấn.
actionSetHandleInputActionSetHandle_tHandle cho bộ hành động bạn muốn truy vấn.
digitalActionHandleInputDigitalActionHandle_tHandle cho hành động digital bạn muốn truy vấn.
originsOutEInputActionOrigin *Một array kích thước từ STEAM_INPUT_MAX_ORIGINS theo loại handle EInputActionOrigin.

Tìm origin của một hành động digital trong bộ hành động bằng cách điền originsOut với các handle từ EInputActionOrigin. Dùng chức năng này để hiển thị đúng thông báo trên màn hình cho hành động.

Trả về: int
Số lượng origin được cung cấp trong originsOut.

Ví dụ:
EInputActionOrigin *origins = new EInputActionOrigin[]; SteamInput()->GetDigitalActionOrigins( controller1Handle, fightingSetHandle, punchHandle, origins );

GetGamepadIndexForController

int GetGamepadIndexForController( InputHandle_t ulControllerHandle );
TênLoạiMô tả
ulControllerHandleInputHandle_tHandle của tay cầm mà bạn muốn nhận giá trị index tay cầm bạn muốn.

Trả về giá trị index tay cầm liên quan tới loại tay cầm đó, nếu đang giả lập tay cầm.

Trả về: int


Ví dụ:
int gamepadIndex = SteamInput()->GetGamepadIndexForController( controller1Handle );

GetGlyphForActionOrigin

const char * GetGlyphForActionOrigin( EInputActionOrigin eOrigin );
TênLoạiMô tả
eOriginEInputActionOrigin

Lấy đường dẫn cục bộ tới ảnh cho biểu tượng trên màn hình của một origin cụ thể.

Trả về: const char *
Đường dẫn tới file png của biểu tượng.
Ví dụ: "C:\Program Files (x86)\Steam\tenfoot\resource\images\library\controller\api\ps4_button_x.png"

Ví dụ:
// Lấy origin cho "punch" EInputActionOrigin *origins = new EInputActionOrigin[]; SteamInput()->GetDigitalActionOrigins( controller1Handle, fightingSetHandle, punchHandle, origins ); EInputActionOrigin firstOrigin = origins[0]; //i.e, k_EInputActionOrigin_PS4_X // Đây là hàm từ chính trò chơi tìm cách lấy ảnh biểu tượng tùy biến int glyphTextureID = getHardCodedButtonGlyphTexture( firstOrigin ); // Chúng tôi không kèm theo bất kỳ ảnh nào cho trò chơi với origin này! Chắc là Steam đã thêm hỗ trợ cho // một tay cầm mới hoặc là thêm vào lúc nào mà không nhớ chăng! //(ví dụ, chúng ta chỉ có biểu tượng Steam Controller, nhưng đây là tay cầm PlayStation 4) if( glyphTextureID == -1 ) { // Vậy cứ lấy ảnh từ phần mềm Steam đi. 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" //một hàm từ trò chơi biến đường dẫn file thành texture trò chơi dùng được glyphTextureID = loadButtonGlyphTextureFromLocalPath( localGlyphPath ); }

GetInputTypeForHandle

ESteamInputType GetInputTypeForHandle( InputHandle_t inputHandle );
TênLoạiMô tả
inputHandleInputHandle_tHandle của tay cầm có loại cách tương tác (model của thiết bị) mà bạn muốn truy vấn

Trả về loại đầu vào (model thiết bị) cho tay cầm được chỉ định. Chức năng này cho bạn biết nếu tay cầm kia là Steam Controller, Xbox 360, hay PS4, v.v...

Trả về: ESteamInputType


Ví dụ:
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 );
TênLoạiMô tả
inputHandleInputHandle_tHandle của tay cầm mà bạn muốn lấy dữ liệu chuyển động.

Trả về dữ liệu chuyển động thô cho tay cầm chỉ định.

Trả về: InputMotionData_t


Ví dụ:
InputMotionData_t motionData = SteamInput()->GetControllerMotionData( inputHandle );

GetStringForActionOrigin

const char * GetStringForActionOrigin( EInputActionOrigin eOrigin );
TênLoạiMô tả
eOriginEInputActionOrigin

Trả về chuỗi string được bản địa hóa (dựa trên thiết lập ngôn ngữ của Steam) cho origin được chỉ định.

Trả về: const char *


Ví dụ:
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();
Phải được call khi bắt đầu sử dụng interface ISteamInput.

Trả về: bool
Luôn trả về true.

Ví dụ:
SteamInput()->Init();

RunFrame

void RunFrame();
Đồng bộ trạng thái API với các tín hiệu nhập Steam Controller mới nhất hiện có. Được thực hiện tự động bởi SteamAPI_RunCallbacks, nhưng để đạt độ trễ thấp nhất có thể, bạn có thể gọi lệnh này trực tiếp trước khi gọi trạng thái tay cầm.

Ví dụ:
SteamInput()->RunFrame();

SetDualSenseTriggerEffect

void SetDualSenseTriggerEffect( InputHandle_t inputHandle, const ScePadTriggerEffectParam *pParam );
TênLoạiMô tả
inputHandleInputHandle_tHandle cho tay cầm để tác động.
pParam ScePadTriggerEffectParamTham số cò điều khiển, định nghĩa trong isteamdualsense.h

Đặt hiệu ứng cò cho tay cầm DualSense.

Ví dụ:
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 );
TênLoạiMô tả
inputHandleInputHandle_tHandle của tay cầm để tác động.
nColorRuint8Đặt giá trị màu đỏ (0-255).
nColorGuint8Đặt giá trị màu xanh lá (0-255).
nColorBuint8Đặt giá trị màu xanh dương (0-255).
nFlagsunsigned intCác flag được bitmask kết hợp từ giá trị được định nghĩa ESteamControllerLEDFlag.

Đặt màu LED cho tay cầm có hỗ trợ.

Lưu ý:
VSC không hỗ trợ màu nào ngoài trắng, và sẽ đo giá trị RGB theo thang độ xám ảnh hưởng đến độ sáng LED của nút Steam.
DS4 có phản hồi với thông tin màu và dùng giá trị này để tạo màu & và độ sáng của đèn báo lightbar.

Ví dụ:
// Phục hồi màu mặc định của người dùng cho tay cầm 1: SteamInput()->SetLEDColor( controller1Handle, 0, 0, 0, k_ESteamControllerLEDFlag_RestoreUserDefault ); // Đặt màu magenta cho tay cầm 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 );
TênLoạiMô tả
inputHandleInputHandle_t
analogActionHandleInputAnalogActionHandle_t
flScalefloat
flXPositionfloat
flYPositionfloat

Không còn dùng.

Trả về: bool
Luôn trả về true.

ShowBindingPanel

bool ShowBindingPanel( InputHandle_t inputHandle );
TênLoạiMô tả
inputHandleInputHandle_tHandle của tay cầm bạn muốn cho hiện màn hình gán phím.

Hiện lớp phủ Steam và màn hình gán phím.

Trả về: bool
true nếu thành công; false nếu lớp phủ đã tắt/không khả dụng. Nếu người chơi sử dụng chế độ Big Picture, bảng thiết lập sẽ mở ra trong lớp phủ. Trong chế độ desktop, phiên bản cửa sổ popup của Big Picture sẽ được tạo và mở bảng thiết lập.

Ví dụ:
SteamInput()->ShowBindingPanel( myControllerHandle );

ShowDigitalActionOrigins

bool ShowDigitalActionOrigins( InputHandle_t inputHandle, InputDigitalActionHandle_t digitalActionHandle, float flScale, float flXPosition, float flYPosition );
TênLoạiMô tả
inputHandleInputHandle_t
digitalActionHandleInputDigitalActionHandle_t
flScalefloat
flXPositionfloat
flYPositionfloat

Không còn dùng.

Trả về: bool
Luôn trả về true.

Tắt

bool Shutdown();
Phải được call khi kết thúc sử dụng interface ISteamInput.

Trả về: bool
Luôn trả về true.

Ví dụ:
SteamInput()->Shutdown();

StopAnalogActionMomentum

void StopAnalogActionMomentum( InputHandle_t inputHandle, InputAnalogActionHandle_t eAction );
TênLoạiMô tả
inputHandleInputHandle_tHandle của tay cầm để tác động.
eActionInputAnalogActionHandle_tHành động analog cần dừng quán tính.

Dừng quán tính của một hành động analog, khi có thể (vd: bàn cảm ứng với thiết lập bi lăn ảo).

LƯU Ý:
Điều này cũng dừng mọi tương tác haptic liên quan. Hữu dụng cho các tình huống bạn muốn báo với người dùng rằng một hành động đã đạt đến giới hạn, ví dụ như quay khung xoay tua hoặc cuộn trang web.

Ví dụ:
SteamInput()->StopAnalogActionMomentum( controller1Handle, moveHandle );

TriggerHapticPulse

void TriggerHapticPulse( InputHandle_t inputHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec );
TênLoạiMô tả
inputHandleInputHandle_tHandle của tay cầm để tác động.
eTargetPadESteamControllerPadBàn cảm ứng haptic nào để tác động.
usDurationMicroSecunsigned shortThời lượng xung động, theo micrô giây (1/1.000.000 giây).

Kích hoạt xung động haptic (cấp thấp) trên tay cầm hỗ trợ.

Lưu ý:
Hiện tại chỉ có VSC hỗ trợ xung động haptic.
Việc gọi API này sẽ bị phớt lờ với mọi model tay cầm khác.
Giá trị tối đa thông thường của một unsigned loại short là 65535, tức xung động haptic dài nhất bạn có thể kích hoạt với phương pháp này có thời lượng 0,065535 giây (tức thấp hơn 1/10 giây). Hàm này nên được coi như là một bậc thấp nguyên thủy với mục đích được dùng đi dùng lại trong các hàm người dùng bậc cao để tạo ra các hành vi phức tạp.

Ví dụ:
//Cứ 1/20 giây tạo ra xung động SteamInput()->TriggerHapticPulse(controller1Handle, k_ESteamControllerPad_Left, 50000);

TriggerRepeatedHapticPulse

void TriggerRepeatedHapticPulse( InputHandle_t inputHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec, unsigned short usOffMicroSec, unsigned short unRepeat, unsigned int nFlags );
TênLoạiMô tả
inputHandleInputHandle_tHandle của tay cầm để tác động.
eTargetPadESteamControllerPadBàn cảm ứng haptic nào để tác động.
usDurationMicroSecunsigned shortThời lượng xung động, theo micrô giây (1/1.000.000 giây).
usOffMicroSecunsigned shortThời lượng nghỉ giữa các lần xung động, theo micrô giây.
unRepeatunsigned shortSố lần lặp chu kì nhiệm vụ (duty cycle) usDurationMicroSec / usOffMicroSec.
nFlagsunsigned intHiện tại không dùng và để dành cho tương lai.

Kích hoạt xung động haptic lặp lại trên tay cầm hỗ trợ.

Lưu ý:
Hiện tại chỉ có Steam Controller, Steam Deck, và tay cầm Nintendo Switch Pro hỗ trợ xung động haptic.
Việc gọi API này sẽ bị phớt lờ với mọi model tay cầm không tương thích.
Đây là hàm thân thiện với người dùng hơn TriggerHapticPulse vì có thể tạo kiểu xung đủ lâu để người dùng nhận ra.
Chỉnh sửa tham số usDurationMicroSec và usOffMicroSec sẽ thay đổi "texture" của xung động haptic.

Ví dụ:
//Tạo xung trong 1 giây với kiểu xung bật/tắt cứ mỗi 1/20 giây SteamInput()->TriggerRepeatedHapticPulse( controller1Handle, k_ESteamControllerPad_Left, 50000, 50000, 10 );

TriggerVibration

void TriggerVibration( InputHandle_t inputHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed );
TênLoạiMô tả
inputHandleInputHandle_tHandle của tay cầm để tác động.
usLeftSpeedunsigned shortGiá trị cường độ của động cơ rung trái.
usRightSpeedunsigned shortGiá trị cường độ của động cơ rung phải.

Kích hoạt sự kiện rung trên tay cầm hỗ trợ.

Lưu ý:
Việc gọi API này sẽ bị phớt lờ với mọi model tay cầm không tương thích.
Tạo ra hiệu ứng 0"rung" truyền thống.
VSC sẽ giả lập hiệu ứng rung truyền thống bằng haptic của mình.

Ví dụ:
SteamInput()->TriggerVibration( controller1Handle, 10000, 10000 );

TriggerVibrationExtended

void TriggerVibrationExtended( InputHandle_t inputHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed );
TênLoạiMô tả
inputHandleInputHandle_tHandle của tay cầm để tác động.
usLeftSpeedunsigned shortGiá trị cường độ của động cơ rung trái.
usRightSpeedunsigned shortGiá trị cường độ của động cơ rung phải.
usLeftTriggerSpeedunsigned shortGiá trị cường độ cho động cơ nút kích xung trái Xbox.
usRightTriggerSpeedunsigned shortGiá trị cường độ cho động cơ nút kích xung phải Xbox.

Kích hoạt sự kiện rung trên tay cầm hỗ trợ, bao gồm giá trị của động cơ nút kích xung Xbox.

Lưu ý:
Trên Windows, việc hỗ trợ cho giá trị động cơ nút kích xung Xbox cần người dùng phải cài driver hỗ trợ Xbox Extended Feature.
Steam Controller và Steam Deck sẽ giả lập kiểu rung truyền thống bằng haptic của chúng.

Ví dụ:
SteamInput()->TriggerVibrationExtended( controller1Handle, 10000, 10000, 10000, 10000 );

GetActionOriginFromXboxOrigin

EInputActionOrigin GetActionOriginFromXboxOrigin( InputHandle_t inputHandle, EXboxOrigin eOrigin );
TênLoạiMô tả
inputHandleInputHandle_tHandle của tay cầm để tác động. Bạn có thể dùng GetControllerForGamepadIndex để lấy handle này
eOriginEXboxOriginĐây là nút bạn muốn lấy ảnh, ví dụ như: k_EXboxOrigin_A

Trả về: EInputActionOrigin

Lấy giá trị origin của một hành động mà bạn có thể dùng trong bảng tìm biểu tượng của mình hoặc đưa vào GetGlyphForActionOrigin hoặc GetStringForActionOrigin


Example:
int nXinputSlot = 1; // Thay đúng slot Xinput cho người chơi của bạn InputHandle_t controller1Handle = GetControllerForGamepadIndex( nXinputSlot ); EInputActionOrigin buttonOrigin = SteamInput()->GetActionOriginFromXboxOrigin( controller1Handle, k_EXboxOrigin_A ); // Lấy ảnh từ phần mềm 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" //một hàm từ trò chơi biến đường dẫn file thành texture dùng được cho trò chơi glyphTextureID = loadButtonGlyphTextureFromLocalPath( localGlyphPath );

TranslateActionOrigin

EInputActionOrigin TranslateActionOrigin( ESteamInputType eDestinationInputType, EInputActionOrigin eSourceOrigin );
TênLoạiMô tả
inputHandleInputHandle_tHandle của tay cầm để tác động. Bạn có thể dùng GetControllerForGamepadIndex để lấy handle này
eDestinationInputTypeESteamInputTypeLoại tay cầm mà bạn muốn dịch thành. Steam sẽ chọn loại gần nhất từ phiên bản SDK của bạn nếu k_ESteamInputType_Unknown được dùng
eSourceOriginEInputActionOriginĐây là nút bạn muốn dịch

Trả về: EInputActionOrigin

Lấy giá trị origin tương đương cho một loại tay cầm hoặc loại tay cầm gần nhất tồn tại trong SDK bạn tích hợp vào trò chơi của mình nếu eDestinationInputType là k_ESteamInputType_Unknown. Giá trị origin của hành động này có thể được dùng trong bảng tìm biểu tượng hoặc đưa vào GetGlyphForActionOrigin hoặc GetStringForActionOrigin


Ví dụ:
int nXinputSlot = 1; // Thay thế với đúng ô Xinput cho trình phát InputHandle_t controller1Handle = GetControllerForGamepadIndex( nXinputSlot ); EInputActionOrigin buttonOrigin = SteamInput()->GetActionOriginFromXboxOrigin( controller1Handle, k_EXboxOrigin_A ); //i.e, k_EInputActionOrigin_PS4_X if ( buttonOrigin >= k_EInputActionOrigin_Count ) { // Chúng ta chưa đưa bất kỳ ảnh nào cho giá trị origin này! Tôi đoán Steam đã thêm hỗ trợ cho // một tay cầm mới. Vậy nên hãy lấy giá trị gần nhất mà SDK chúng ta phát triển có hỗ trợ buttonOrigin = SteamInput()->TranslateActionOrigin( k_ESteamInputType_Unknown, buttonOrigin ) } // Đây là hàm từ chính trò chơi tìm cách lấy ảnh biểu tượng tùy biến int glyphTextureID = getHardCodedButtonGlyphTexture( actionOrigin );

GetDeviceBindingRevision

bool GetDeviceBindingRevision( InputHandle_t inputHandle, int *pMajor, int *pMinor );
TênLoạiMô tả
inputHandleInputHandle_tHandle của tay cầm để truy vấn.
pMajorint * Pointer tới giá trị int mà revision cách gán phím Major sẽ được điền vào
pMinorint * Pointer tới giá trị int mà revision cách gán phím Minor sẽ được điền vào

Trả về: bool - true nếu thành công tìm thấy gán phím thiết bị và false nếu vẫn đang nạp.

Lấy các revision major/minor (lớn/nhỏ) của gán phím thiết bị cho thiết lập API Steam Input. Revision major (lớn) được dùng khi đổi số của bộ hành động hoặc làm lại thiết lập nhiều đến mức các thiết lập cũ hơn không thể dùng được nữa. Khi cách gán phím của người dùng khác với revision loại major của thiết lập chính thức hiện tại, Steam sẽ bắt người dùng cập nhật thiết lập mới. Cần tạo thiết lập mới cho từng tay cầm khi cập nhật revision loại major. Revision minor (nhỏ) là các thay đổi nhỏ như thêm mới hành động phụ hoặc cập nhật bản dịch thuật trong thiết lập. Khi cập nhật revision loại minor bạn thông thường có thể cập nhật một thiết lập đơn lẻ và đánh dấu "Dùng khối hành động" để áp dụng các thay đổi của khối hành động vào thiết lập khác.

Code ví dụ:
int nMajorRevision = -1; int nMinorRevision= -1; const int nCurrentMajorRevision = 1; const int nCurrentMinorRevision = 1; if ( GetDeviceBindingRevision( inputHandle, &nMajorRevision , &nMinorRevision ) ) { if ( nMinorRevision != nCurrentMinorRevision ) { // Phiên bản minor này quá hạn, nhưng không sao //sẽ được sửa lần tiếp theo config được chỉnh } if ( nMajorRevision != nCurrentMajorRevision ) { // Điều này chỉ nên diễn ra chốc lát khi Steam phát hiện // và bắt người dùng cập nhật lên config chính thức mới nhất } } else { // Thiết lập chưa được nạp cho tay cầm này }

Ví dụ sử dụng file hành động trong trò chơi (In-game Action):
"In Game Actions" { "major_revision" "0" "minor_revision" "1" "actions" { ...

GetRemotePlaySessionID

uint32 GetRemotePlaySessionID( InputHandle_t inputHandle );
TênLoạiMô tả
inputHandleInputHandle_tHandle của tay cầm để truy vấn.

Trả về: uint32 - ID của phiên Steam Remote Play

Lấy ID phiên Steam Remote Play liên quan với một thiết bị, hoặc 0 nếu không có phiên nào liên quan tới nó. Xem isteamremoteplay.h để biết thêm thông tin về các phiên Steam Remote Play.

Các struct

Đây là các struct mà hàm trong ISteamInput có thể trả về và/hoặc tương tác với.

InputAnalogActionData_t

Đại diện cho trạng thái hiện tại của một hành động analog.

Lưu ý:
  • Giá trị, khoảng chính xác v.v... tùy thuộc vào thiết lập, nhưng (nói thoáng ra thì) các hành động analog truyền thống sẽ cho giá trị giá trị float bình thường hóa trong khoảng gần đúng giữa -1.0 tới 1.0, trong đó các hành động như chuột sẽ cho cập nhật delta trong đó chỉ định số "pixel" di chuyển kể từ khung hình trước. Kết quả là các hành động như chuột sẽ cho giá trị tuyệt đối x và y lớn hơn, và gần với vị trí tương tác cuối cùng được ghi nhận, trong khi hành động analog truyền thống có giá trị nhỏ hơn và gần với vị trí điểm neo vật lý trung tâm.
  • Dù dữ liệu delta cung cấp bởi hành động như chuột rất giống các delta pixel cung cấp bởi một hệ điều hành, các delta của SC trả về giá trị float thay vì int. Điều này có nghĩa giảm khả năng bị làm tròn xuống và mất chính xác khi gán dữ liệu này vào việc quay camera.
  • Trong trường hợp đầu vào analog một trục (như cần trỏ analog), chỉ có trục x sẽ chứa dữ liệu; trục y sẽ luôn luôn là số không.

TênLoạiMô tả
eModeEControllerSourceModeLoại dữ liệu đến từ hành động này, nó sẽ khớp với loại đã được chỉ định trong bộ hành động của định nghĩa VDF.
xfloatTrạng thái của hành động này trên trục ngang.
yfloatTrạng thái của hành động này trên trục đứng.
bActiveboolLiệu hành động này hiện có khả dụng để gán vào bộ hành động đang hoạt động này. Nếu không khả dụng, HOẶC không thuộc bộ hành động đang hoạt động, giá trị sẽ là false.

InputDigitalActionData_t

Đại diện cho trạng thái hiện tại của một hành động digital.

TênLoạiMô tả
bStateboolTrạng thái hiện tại của hành động này; true nếu hành động hiện đang được nhấn, còn không thì false.
bActiveboolLiệu hành động này hiện có sẵn sàng để gán vào bộ hành động đang hoạt động.

InputMotionData_t

Đại diện cho trạng thái hiện tại của cảm biến chuyển động trong thiết bị.

LƯU Ý: Với rotQuatX/rotQuatY/rotQuatZ/rotQuatW, đơn vị đo lường quán tính trên tay cầm sẽ tạo một bộ bốn giá trị dựa trên việc kết hợp gyro với gia tốc kế. Giá trị này là giá trị xoay tuyệt đối của tay cầm, nhưng sẽ trôi trên trục yaw.

Gia tốc vị trí được báo dưới dạng giá trị nội suy giữa INT16_MIN và INT16_MAX trong đó phạm vi được giới hạn ở ± 2G (1G = 9,80665 m/s2).

Vận tốc góc được báo dưới dạng giá trị nội suy giữa INT16_MIN và INT16_MAX trong đó phạm vi được giới hạn ở ±2000 độ mỗi giây.

TênLoạiMô tả
rotQuatXfloatGiá trị hướng xoay tuyệt đối theo cảm biến dung hợp (sẽ bị trôi theo hướng mũi), trục x
rotQuatYfloatGiá trị hướng xoay tuyệt đối theo cảm biến dung hợp (sẽ bị trôi theo hướng mũi), trục y
rotQuatZfloatGiá trị hướng xoay tuyệt đối theo cảm biến dung hợp (sẽ bị trôi theo hướng mũi), trục z
rotQuatWfloatGiá trị hướng xoay tuyệt đối theo cảm biến dung hợp (sẽ bị trôi theo hướng mũi), trục w
posAccelXfloatGia tốc theo vị trí, trục x
posAccelYfloatGia tốc theo vị trí, trục y
posAccelZfloatGia tốc theo vị trí, trục z
rotVelXfloatVận tốc góc, trục x
rotVelYfloatVận tốc góc, trục y
rotVelZfloatVận tốc góc, trục z

Enum

Đây là các enum được định nghĩa để dùng với ISteamInput.

EInputActionOrigin

Đầu vào mà người chơi gán vào hành động trong công cụ thiết lập Steam Input. Mục đích chính của các giá trị này là để chỉ dẫn biểu tượng nút nào nên hiện lên màn hình cho một hành động nhất định, thí dụ "Nhấn [A] để nhảy".

TênGiá trịMô tả
k_EInputActionOrigin_None0
k_EInputActionOrigin_A1(Valve Steam Controller) nút A hướng mặt digital
k_EInputActionOrigin_B2(Valve Steam Controller) nút B hướng mặt digital
k_EInputActionOrigin_X3(Valve Steam Controller) nút X hướng mặt digital
k_EInputActionOrigin_Y4(Valve Steam Controller) nút Y hướng mặt digital
k_EInputActionOrigin_LeftBumper5(Valve Steam Controller) nút vai trái digital (hoặc LB)
k_EInputActionOrigin_RightBumper6(Valve Steam Controller) nút vai phải digital (hoặc RB)
k_EInputActionOrigin_LeftGrip7(Valve Steam Controller) nút lưng trái digital
k_EInputActionOrigin_RightGrip8(Valve Steam Controller) nút lưng phải digital
k_EInputActionOrigin_Start9(Valve Steam Controller) nút Start digital
k_EInputActionOrigin_Back10(Valve Steam Controller) nút Back digital
k_EInputActionOrigin_LeftPad_Touch11(Valve Steam Controller) bàn cảm ứng haptic trái, chạm đơn giản với một ngón
k_EInputActionOrigin_LeftPad_Swipe12(Valve Steam Controller) bàn cảm ứng haptic trái, tương tác chạm trên bất kỳ trục nào
k_EInputActionOrigin_LeftPad_Click13(Valve Steam Controller) bàn cảm ứng haptic trái, nhấp digital (cho cả bàn cảm ứng)
k_EInputActionOrigin_LeftPad_DPadNorth14(Valve Steam Controller) bàn cảm ứng haptic trái, nhấp digital (góc phần tư phía trên)
k_EInputActionOrigin_LeftPad_DPadSouth15(Valve Steam Controller) bàn cảm ứng haptic trái, nhấp digital (góc phần tư phía dưới)
k_EInputActionOrigin_LeftPad_DPadWest16(Valve Steam Controller) bàn cảm ứng haptic trái, nhấp digital (góc phần tư trái)
k_EInputActionOrigin_LeftPad_DPadEast17(Valve Steam Controller) bàn cảm ứng haptic trái, nhấp digital (góc phần tư phải)
k_EInputActionOrigin_RightPad_Touch18(Valve Steam Controller) bàn cảm ứng haptic phải, chạm đơn giản với một ngón
k_EInputActionOrigin_RightPad_Swipe19(Valve Steam Controller) bàn cảm ứng haptic phải, tương tác chạm trên bất kỳ trục nào
k_EInputActionOrigin_RightPad_Click20(Valve Steam Controller) bàn cảm ứng haptic phải, nhấp digital (cho toàn bộ bàn cảm ứng)
k_EInputActionOrigin_RightPad_DPadNorth21(Valve Steam Controller) bàn cảm ứng haptic phải, nhấp digital (góc phần tư phía trên)
k_EInputActionOrigin_RightPad_DPadSouth22(Valve Steam Controller) bàn cảm ứng haptic phải, nhấp digital (góc phần tư phía dưới)
k_EInputActionOrigin_RightPad_DPadWest23(Valve Steam Controller) bàn cảm ứng haptic phải, nhấp digital (góc phần tư trái)
k_EInputActionOrigin_RightPad_DPadEast24(Valve Steam Controller) bàn cảm ứng haptic phải, nhấp digital (góc phần tư phải)
k_EInputActionOrigin_LeftTrigger_Pull25(Valve Steam Controller) cò analog trái, kéo bởi lực bất kỳ (giá trị analog)
k_EInputActionOrigin_LeftTrigger_Click26(Valve Steam Controller) cò analog trái, kéo hết (giá trị digital)
k_EInputActionOrigin_RightTrigger_Pull27(Valve Steam Controller) cò analog phải, kéo bởi lực bất kỳ (giá trị analog)
k_EInputActionOrigin_RightTrigger_Click28(Valve Steam Controller) cò analog phải, kéo hết (giá trị digital)
k_EInputActionOrigin_LeftStick_Move29(Valve Steam Controller) cần trỏ trái, chuyển động theo trục bất kỳ (giá trị analog)
k_EInputActionOrigin_LeftStick_Click30(Valve Steam Controller) cần trỏ trái, nhấp xuống (giá trị digital)
k_EInputActionOrigin_LeftStick_DPadNorth31(Valve Steam Controller) cần trỏ trái, chuyển động digital (góc phần tư phía trên)
k_EInputActionOrigin_LeftStick_DPadSouth32(Valve Steam Controller) cần trỏ trái, chuyển động digital (góc phần tư phía dưới)
k_EInputActionOrigin_LeftStick_DPadWest33(Valve Steam Controller) cần trỏ trái, chuyển động digital (góc phần tư trái)
k_EInputActionOrigin_LeftStick_DPadEast34(Valve Steam Controller) cần trỏ trái, chuyển động digital (góc phần tư phải)
k_EInputActionOrigin_Gyro_Move35(Valve Steam Controller) gyroscope, chuyển động analog theo trục bất kỳ
k_EInputActionOrigin_Gyro_Pitch36(Valve Steam Controller) gyroscope, chuyển động analog theo trục pitch (đầu hướng lên trần, đầu hướng xuống sàn)
k_EInputActionOrigin_Gyro_Yaw37(Valve Steam Controller) gyroscope, chuyển động analog theo trục yaw (xoay đầu sang trái đối diện một bên tường, xoay đầu sang phải đối diện bên tường còn lại)
k_EInputActionOrigin_Gyro_Roll38(Valve Steam Controller) gyroscope, chuyển động analog theo trục roll (nghiêng đầu sang phía vai trái, nghiêng đầu sang phía vai phải)
k_EInputActionOrigin_SteamController_Reserved039Dành cho tương lai
k_EInputActionOrigin_SteamController_Reserved140Dành cho tương lai
k_EInputActionOrigin_SteamController_Reserved241Dành cho tương lai
k_EInputActionOrigin_SteamController_Reserved342Dành cho tương lai
k_EInputActionOrigin_SteamController_Reserved443Dành cho tương lai
k_EInputActionOrigin_SteamController_Reserved544Dành cho tương lai
k_EInputActionOrigin_SteamController_Reserved645Dành cho tương lai
k_EInputActionOrigin_SteamController_Reserved746Dành cho tương lai
k_EInputActionOrigin_SteamController_Reserved847Dành cho tương lai
k_EInputActionOrigin_SteamController_Reserved948Dành cho tương lai
k_EInputActionOrigin_SteamController_Reserved1049Dành cho tương lai
k_EInputActionOrigin_PS4_X50(Sony DualShock 4) nút X hướng mặt digital
k_EInputActionOrigin_PS4_Circle51(Sony DualShock 4) nút tròn (⭕) hướng mặt digital
k_EInputActionOrigin_PS4_Triangle52(Sony DualShock 4) nút tam giác ( △ ) hướng mặt digital
k_EInputActionOrigin_PS4_Square53(Sony DualShock 4) nút vuông ( ▢ ) hướng mặt digital
k_EInputActionOrigin_PS4_LeftBumper54(Sony DualShock 4) nút vai trái digital (hoặc LB)
k_EInputActionOrigin_PS4_RightBumper55(Sony DualShock 4) nút vai phải digital (hoặc RB)
k_EInputActionOrigin_PS4_Options56(Sony DualShock 4) nút Options digital (hoặc Start)
k_EInputActionOrigin_PS4_Share57(Sony DualShock 4) nút Share digital (hoặc Back)
k_EInputActionOrigin_PS4_LeftPad_Touch58(Sony DualShock 4) nửa trái bàn cảm ứng, chạm đơn giản với một ngón
k_EInputActionOrigin_PS4_LeftPad_Swipe59(Sony DualShock 4) nửa trái bàn cảm ứng, tương tác chạm trên bất kỳ trục nào
k_EInputActionOrigin_PS4_LeftPad_Click60(Sony DualShock 4) nửa trái bàn cảm ứng, nhấp digital (cho cả bàn cảm ứng)
k_EInputActionOrigin_PS4_LeftPad_DPadNorth61(Sony DualShock 4) nửa trái bàn cảm ứng, nhấp digital (góc phần tư phía trên)
k_EInputActionOrigin_PS4_LeftPad_DPadSouth62(Sony DualShock 4) nửa trái bàn cảm ứng, nhấp digital (góc phần tư phía dưới)
k_EInputActionOrigin_PS4_LeftPad_DPadWest63(Sony DualShock 4) nửa trái bàn cảm ứng, nhấp digital (góc phần tư trái)
k_EInputActionOrigin_PS4_LeftPad_DPadEast64(Sony DualShock 4) nửa trái bàn cảm ứng, nhấp digital (góc phần tư phải)
k_EInputActionOrigin_PS4_RightPad_Touch65(Sony DualShock 4) nửa phải bàn cảm ứng, chạm đơn giản với một ngón
k_EInputActionOrigin_PS4_RightPad_Swipe66(Sony DualShock 4) nửa phải bàn cảm ứng, tương tác chạm trên bất kỳ trục nào
k_EInputActionOrigin_PS4_RightPad_Click67(Sony DualShock 4) nửa phải bàn cảm ứng, nhấp digital (cho cả bàn cảm ứng)
k_EInputActionOrigin_PS4_RightPad_DPadNorth68(Sony DualShock 4) nửa phải bàn cảm ứng, nhấp digital (góc phần tư phía trên)
k_EInputActionOrigin_PS4_RightPad_DPadSouth69(Sony DualShock 4) nửa phải bàn cảm ứng, nhấp digital (góc phần tư phía dưới)
k_EInputActionOrigin_PS4_RightPad_DPadWest70(Sony DualShock 4) nửa phải bàn cảm ứng, nhấp digital (góc phần tư trái)
k_EInputActionOrigin_PS4_RightPad_DPadEast71(Sony DualShock 4) nửa phải bàn cảm ứng, nhấp digital (góc phần tư phải)
k_EInputActionOrigin_PS4_CenterPad_Touch72(Sony DualShock 4) bàn cảm ứng chung, chạm đơn giản với một ngón
k_EInputActionOrigin_PS4_CenterPad_Swipe73(Sony DualShock 4) bàn cảm ứng chung, tương tác chạm trên bất kỳ trục nào
k_EInputActionOrigin_PS4_CenterPad_Click74(Sony DualShock 4) bàn cảm ứng chung, nhấp digital (cho cả bàn cảm ứng)
k_EInputActionOrigin_PS4_CenterPad_DPadNorth75(Sony DualShock 4) bàn cảm ứng chung, nhấp digital (góc phần tư phía trên)
k_EInputActionOrigin_PS4_CenterPad_DPadSouth76(Sony DualShock 4) bàn cảm ứng chung, nhấp digital (góc phần tư phía dưới)
k_EInputActionOrigin_PS4_CenterPad_DPadWest77(Sony DualShock 4) bàn cảm ứng chung, nhấp digital (góc phần tư trái)
k_EInputActionOrigin_PS4_CenterPad_DPadEast78(Sony DualShock 4) bàn cảm ứng chung, nhấp digital (góc phần tư phải)
k_EInputActionOrigin_PS4_LeftTrigger_Pull79(Sony DualShock 4) cò analog trái, kéo bởi lực bất kỳ (giá trị analog)
k_EInputActionOrigin_PS4_LeftTrigger_Click80(Sony Dualshock 4) cò analog trái, kéo hết (giá trị digital)
k_EInputActionOrigin_PS4_RightTrigger_Pull81(Sony DualShock 4) cò analog phải, kéo bởi lực bất kỳ (giá trị analog)
k_EInputActionOrigin_PS4_RightTrigger_Click82(Sony Dualshock 4) cò analog phải, kéo hết (giá trị digital)
k_EInputActionOrigin_PS4_LeftStick_Move83(Sony DualShock 4) cần trỏ trái, chuyển động theo trục bất kỳ (giá trị analog)
k_EInputActionOrigin_PS4_LeftStick_Click84(Sony DualShock 4) cần trỏ trái, nhấp xuống (giá trị digital)
k_EInputActionOrigin_PS4_LeftStick_DPadNorth85(Sony DualShock 4) cần trỏ trái, chuyển động digital (góc phần tư phía trên)
k_EInputActionOrigin_PS4_LeftStick_DPadSouth86(Sony DualShock 4) cần trỏ trái, chuyển động digital (góc phần tư phía dưới)
k_EInputActionOrigin_PS4_LeftStick_DPadWest87(Sony DualShock 4) cần trỏ trái, chuyển động digital (góc phần tư trái)
k_EInputActionOrigin_PS4_LeftStick_DPadEast88(Sony DualShock 4) cần trỏ trái, chuyển động digital (góc phần tư phải)
k_EInputActionOrigin_PS4_RightStick_Move89(Sony DualShock 4) cần trỏ phải, chuyển động theo trục bất kỳ (giá trị analog)
k_EInputActionOrigin_PS4_RightStick_Click90(Sony DualShock 4) cần trỏ phải, nhấp xuống (giá trị digital)
k_EInputActionOrigin_PS4_RightStick_DPadNorth91(Sony DualShock 4) cần trỏ phải, chuyển động digital (góc phần tư phía trên)
k_EInputActionOrigin_PS4_RightStick_DPadSouth92(Sony DualShock 4) cần trỏ phải, chuyển động digital (góc phần tư phía dưới)
k_EInputActionOrigin_PS4_RightStick_DPadWest93(Sony DualShock 4) cần trỏ phải, chuyển động digital (góc phần tư trái)
k_EInputActionOrigin_PS4_RightStick_DPadEast94(Sony DualShock 4) cần trỏ phải, chuyển động digital (góc phần tư phải)
k_EInputActionOrigin_PS4_DPad_North95(Sony DualShock 4) D-pad, nhấn (góc phần tư phía trên)
k_EInputActionOrigin_PS4_DPad_South96(Sony DualShock 4) D-pad, nhấn (góc phần tư phía dưới)
k_EInputActionOrigin_PS4_DPad_West97(Sony DualShock 4) D-pad, nhấn (góc phần tư trái)
k_EInputActionOrigin_PS4_DPad_East98(Sony DualShock 4) D-pad, nhấn (góc phần tư phải)
k_EInputActionOrigin_PS4_Gyro_Move99(Sony DualShock 4) gyroscope, chuyển động analog theo trục bất kỳ
k_EInputActionOrigin_PS4_Gyro_Pitch100(Sony DualShock 4) gyroscope, chuyển động analog theo trục pitch (đầu hướng lên trần, đầu hướng xuống sàn)
k_EInputActionOrigin_PS4_Gyro_Yaw101(Sony DualShock 4) gyroscope, chuyển động analog theo trục yaw (xoay đầu sang trái đối diện một bên tường, xoay đầu sang phải đối diện bên tường còn lại)
k_EInputActionOrigin_PS4_Gyro_Roll102(Sony DualShock 4) gyroscope, chuyển động analog theo trục roll (nghiêng đầu sang trái về một bên vai, nghiêng đầu sang phải về bên vai còn lại)
k_EInputActionOrigin_PS4_Reserved0103Dành cho tương lai
k_EInputActionOrigin_PS4_Reserved1104Dành cho tương lai
k_EInputActionOrigin_PS4_Reserved2105Dành cho tương lai
k_EInputActionOrigin_PS4_Reserved3106Dành cho tương lai
k_EInputActionOrigin_PS4_Reserved4107Dành cho tương lai
k_EInputActionOrigin_PS4_Reserved5108Dành cho tương lai
k_EInputActionOrigin_PS4_Reserved6109Dành cho tương lai
k_EInputActionOrigin_PS4_Reserved7110Dành cho tương lai
k_EInputActionOrigin_PS4_Reserved8111Dành cho tương lai
k_EInputActionOrigin_PS4_Reserved9112Dành cho tương lai
k_EInputActionOrigin_PS4_Reserved10113Dành cho tương lai
k_EInputActionOrigin_XBoxOne_A114(XB1) nút A hướng mặt digital
k_EInputActionOrigin_XBoxOne_B115(XB1) nút B hướng mặt digital
k_EInputActionOrigin_XBoxOne_X116(XB1) nút chữ thập hướng mặt digital
k_EInputActionOrigin_XBoxOne_Y117(XB1) nút Y hướng mặt digital
k_EInputActionOrigin_XBoxOne_LeftBumper118(XB1) nút vai trái digital (hoặc LB)
k_EInputActionOrigin_XBoxOne_RightBumper119(XB1) nút vai phải digital (hoặc RB)
k_EInputActionOrigin_XBoxOne_Menu120(XB1) nút Menu digital (hoặc Start)
k_EInputActionOrigin_XBoxOne_View121(XB1) nút View digital (hoặc Back)
k_EInputActionOrigin_XBoxOne_LeftTrigger_Pull122(XB1) cò analog trái, kéo bởi lực bất kỳ (giá trị analog)
k_EInputActionOrigin_XBoxOne_LeftTrigger_Click123(XB1) cò analog trái, kéo hết (giá trị digital)
k_EInputActionOrigin_XBoxOne_RightTrigger_Pull124(XB1) cò analog phải, kéo bởi lực bất kỳ (giá trị analog)
k_EInputActionOrigin_XBoxOne_RightTrigger_Click125(XB1) cò analog phải, kéo hết (giá trị digital)
k_EInputActionOrigin_XBoxOne_LeftStick_Move126(XB1) cần trỏ trái, chuyển động theo trục bất kỳ (giá trị analog)
k_EInputActionOrigin_XBoxOne_LeftStick_Click127(XB1) cần trỏ trái, nhấp xuống (giá trị digital)
k_EInputActionOrigin_XBoxOne_LeftStick_DPadNorth128(XB1) cần trỏ trái, chuyển động digital (góc phần tư phía trên)
k_EInputActionOrigin_XBoxOne_LeftStick_DPadSouth129(XB1) cần trỏ trái, chuyển động digital (góc phần tư phía dưới)
k_EInputActionOrigin_XBoxOne_LeftStick_DPadWest130(XB1) cần trỏ trái, chuyển động digital (góc phần tư trái)
k_EInputActionOrigin_XBoxOne_LeftStick_DPadEast131(XB1) cần trỏ trái, chuyển động digital (góc phần tư phải)
k_EInputActionOrigin_XBoxOne_RightStick_Move132(XB1) cần trỏ phải, chuyển động theo trục bất kỳ (giá trị analog)
k_EInputActionOrigin_XBoxOne_RightStick_Click133(XB1) cần trỏ phải, nhấp xuống (giá trị digital)
k_EInputActionOrigin_XBoxOne_RightStick_DPadNorth134(XB1) cần trỏ phải, chuyển động digital (góc phần tư phía trên)
k_EInputActionOrigin_XBoxOne_RightStick_DPadSouth135(XB1) cần trỏ phải, chuyển động digital (góc phần tư phía dưới)
k_EInputActionOrigin_XBoxOne_RightStick_DPadWest136(XB1) cần trỏ phải, chuyển động digital (góc phần tư trái)
k_EInputActionOrigin_XBoxOne_RightStick_DPadEast137(XB1) cần trỏ phải, chuyển động digital (góc phần tư phải)
k_EInputActionOrigin_XBoxOne_DPad_North138(XB1) D-pad, nhấn (góc phần tư phía trên)
k_EInputActionOrigin_XBoxOne_DPad_South139(XB1) D-pad, nhấn (góc phần tư phía dưới)
k_EInputActionOrigin_XBoxOne_DPad_West140(XB1) D-pad, nhấn (góc phần tư trái)
k_EInputActionOrigin_XBoxOne_DPad_East141(XB1) D-pad, nhấn (góc phần tư phải)
k_EInputActionOrigin_XBoxOne_Reserved0142Dành cho tương lai
k_EInputActionOrigin_XBoxOne_Reserved1143Dành cho tương lai
k_EInputActionOrigin_XBoxOne_Reserved2144Dành cho tương lai
k_EInputActionOrigin_XBoxOne_Reserved3145Dành cho tương lai
k_EInputActionOrigin_XBoxOne_Reserved4146Dành cho tương lai
k_EInputActionOrigin_XBoxOne_Reserved5147Dành cho tương lai
k_EInputActionOrigin_XBoxOne_Reserved6148Dành cho tương lai
k_EInputActionOrigin_XBoxOne_Reserved7149Dành cho tương lai
k_EInputActionOrigin_XBoxOne_Reserved8150Dành cho tương lai
k_EInputActionOrigin_XBoxOne_Reserved9151Dành cho tương lai
k_EInputActionOrigin_XBoxOne_Reserved10152Dành cho tương lai
k_EInputActionOrigin_XBox360_A153(X360) nút A hướng mặt digital
k_EInputActionOrigin_XBox360_B154(X360) nút B hướng mặt digital
k_EInputActionOrigin_XBox360_X155(X360) nút X hướng mặt digital
k_EInputActionOrigin_XBox360_Y156(X360) nút Y hướng mặt digital
k_EInputActionOrigin_XBox360_LeftBumper157(X360) nút vai trái digital (hoặc LB)
k_EInputActionOrigin_XBox360_RightBumper158(X360) nút vai phải digital (hoặc RB)
k_EInputActionOrigin_XBox360_Start159(X360) nút Start digital
k_EInputActionOrigin_XBox360_Back160(X360) nút Back digital
k_EInputActionOrigin_XBox360_LeftTrigger_Pull161(X360) cò analog trái, kéo bởi lực bất kỳ (giá trị analog)
k_EInputActionOrigin_XBox360_LeftTrigger_Click162(X360) cò analog trái, kéo hết (giá trị digital)
k_EInputActionOrigin_XBox360_RightTrigger_Pull163(X360) cò analog phải, kéo bởi lực bất kỳ (giá trị analog)
k_EInputActionOrigin_XBox360_RightTrigger_Click164(X360) cò analog phải, kéo hết (giá trị digital)
k_EInputActionOrigin_XBox360_LeftStick_Move165(X360) cần trỏ trái, chuyển động theo trục bất kỳ (giá trị analog)
k_EInputActionOrigin_XBox360_LeftStick_Click166(X360) cần trỏ trái, nhấp xuống (giá trị digital)
k_EInputActionOrigin_XBox360_LeftStick_DPadNorth167(X360) cần trỏ trái, chuyển động digital (góc phần tư phía trên)
k_EInputActionOrigin_XBox360_LeftStick_DPadSouth168(X360) cần trỏ trái, chuyển động digital (góc phần tư phía dưới)
k_EInputActionOrigin_XBox360_LeftStick_DPadWest169(X360) cần trỏ trái, chuyển động digital (góc phần tư trái)
k_EInputActionOrigin_XBox360_LeftStick_DPadEast170(X360) cần trỏ trái, chuyển động digital (góc phần tư phải)
k_EInputActionOrigin_XBox360_RightStick_Move171(X360) cần trỏ phải, chuyển động theo trục bất kỳ (giá trị analog)
k_EInputActionOrigin_XBox360_RightStick_Click172(X360) cần trỏ phải, nhấp xuống (giá trị digital)
k_EInputActionOrigin_XBox360_RightStick_DPadNorth173(X360) cần trỏ phải, chuyển động digital (góc phần tư phía trên)
k_EInputActionOrigin_XBox360_RightStick_DPadSouth174(X360) cần trỏ phải, chuyển động digital (góc phần tư phía dưới)
k_EInputActionOrigin_XBox360_RightStick_DPadWest175(X360) cần trỏ phải, chuyển động digital (góc phần tư trái)
k_EInputActionOrigin_XBox360_RightStick_DPadEast176(X360) cần trỏ phải, chuyển động digital (góc phần tư phải)
k_EInputActionOrigin_XBox360_DPad_North177(X360) D-pad, nhấn (góc phần tư phía trên)
k_EInputActionOrigin_XBox360_DPad_South178(X360) D-pad, nhấn (góc phần tư phía dưới)
k_EInputActionOrigin_XBox360_DPad_West179(X360) D-pad, nhấn (góc phần tư trái)
k_EInputActionOrigin_XBox360_DPad_East180(X360) D-pad, nhấn (góc phần tư phải)
k_EInputActionOrigin_XBox360_Reserved0181Dành cho tương lai
k_EInputActionOrigin_XBox360_Reserved1182Dành cho tương lai
k_EInputActionOrigin_XBox360_Reserved2183Dành cho tương lai
k_EInputActionOrigin_XBox360_Reserved3184Dành cho tương lai
k_EInputActionOrigin_XBox360_Reserved4185Dành cho tương lai
k_EInputActionOrigin_XBox360_Reserved5186Dành cho tương lai
k_EInputActionOrigin_XBox360_Reserved6187Dành cho tương lai
k_EInputActionOrigin_XBox360_Reserved7188Dành cho tương lai
k_EInputActionOrigin_XBox360_Reserved8189Dành cho tương lai
k_EInputActionOrigin_XBox360_Reserved9190Dành cho tương lai
k_EInputActionOrigin_XBox360_Reserved10191Dành cho tương lai
k_EInputActionOrigin_Switch_A192(Nintendo Switch Pro) nút A hướng mặt digital
k_EInputActionOrigin_Switch_B193(Nintendo Switch Pro) nút B hướng mặt digital
k_EInputActionOrigin_Switch_X194(Nintendo Switch Pro) nút X hướng mặt digital
k_EInputActionOrigin_Switch_Y195(Nintendo Switch Pro) nút Y hướng mặt digital
k_EInputActionOrigin_Switch_LeftBumper196(Nintendo Switch Pro) nút vai trái digital (hoặc LB)
k_EInputActionOrigin_Switch_RightBumper197(Nintendo Switch Pro) nút vai phải digital (hoặc RB)
k_EInputActionOrigin_Switch_Plus198(Nintendo Switch Pro) nút cộng ( + )
k_EInputActionOrigin_Switch_Minus199(Nintendo Switch Pro) nút trừ ( - )
k_EInputActionOrigin_Switch_Capture200(Nintendo Switch Pro) nút Capture digital
k_EInputActionOrigin_Switch_LeftTrigger_Pull201(Nintendo Switch Pro) cò trái, nhấp
k_EInputActionOrigin_Switch_LeftTrigger_Click202(Nintendo Switch Pro) cò trái, nhấp (giống giá trị trước)
k_EInputActionOrigin_Switch_RightTrigger_Pull203(Nintendo Switch Pro) cò phải, nhấp
k_EInputActionOrigin_Switch_RightTrigger_Click204(Nintendo Switch Pro) cò phải, nhấp (giống giá trị trước)
k_EInputActionOrigin_Switch_LeftStick_Move205(Nintendo Switch Pro) cần trỏ trái, chuyển động theo trục bất kỳ (giá trị analog)
k_EInputActionOrigin_Switch_LeftStick_Click206(Nintendo Switch Pro) cần trỏ trái, nhấp xuống (giá trị digital)
k_EInputActionOrigin_Switch_LeftStick_DPadNorth207(Nintendo Switch Pro) cần trỏ trái, chuyển động digital (góc phần tư phía trên)
k_EInputActionOrigin_Switch_LeftStick_DPadSouth208(Nintendo Switch Pro) cần trỏ trái, chuyển động digital (góc phần tư phía dưới)
k_EInputActionOrigin_Switch_LeftStick_DPadWest209(Nintendo Switch Pro) cần trỏ trái, chuyển động digital (góc phần tư trái)
k_EInputActionOrigin_Switch_LeftStick_DPadEast210(Nintendo Switch Pro) cần trỏ trái, chuyển động digital (góc phần tư phải)
k_EInputActionOrigin_Switch_RightStick_Move211(Nintendo Switch Pro) cần trỏ phải, chuyển động theo trục bất kỳ (giá trị analog)
k_EInputActionOrigin_Switch_RightStick_Click212(Nintendo Switch Pro) cần trỏ phải, nhấp xuống (giá trị digital)
k_EInputActionOrigin_Switch_RightStick_DPadNorth213(Nintendo Switch Pro) cần trỏ phải, chuyển động digital (góc phần tư phía trên)
k_EInputActionOrigin_Switch_RightStick_DPadSouth214(Nintendo Switch Pro) cần trỏ phải, chuyển động digital (góc phần tư phía dưới)
k_EInputActionOrigin_Switch_RightStick_DPadWest215(Nintendo Switch Pro) cần trỏ phải, chuyển động digital (góc phần tư trái)
k_EInputActionOrigin_Switch_RightStick_DPadEast216(Nintendo Switch Pro) cần trỏ phải, chuyển động digital (góc phần tư phải)
k_EInputActionOrigin_Switch_DPad_North217(Nintendo Switch Pro) D-pad, nhấn (góc phần tư phía trên)
k_EInputActionOrigin_Switch_DPad_South218(Nintendo Switch Pro) D-pad, nhấn (góc phần tư phía dưới)
k_EInputActionOrigin_Switch_DPad_West219(Nintendo Switch Pro) D-pad, nhấn (góc phần tư trái)
k_EInputActionOrigin_Switch_DPad_East220(Nintendo Switch Pro) D-pad, nhấn (góc phần tư phải)
k_EInputActionOrigin_SwitchProGyro_Move221(Nintendo Switch Pro) gyroscope, chuyển động analog theo trục bất kỳ
k_EInputActionOrigin_SwitchProGyro_Pitch222(Nintendo Switch Pro) gyroscope, chuyển động analog theo trục pitch (đầu hướng lên trần, đầu hướng xuống sàn)
k_EInputActionOrigin_SwitchProGyro_Yaw223(Nintendo Switch Pro) gyroscope, chuyển động analog theo trục yaw (xoay đầu sang trái đối diện một bên tường, xoay đầu sang phải đối diện bên tường còn lại)
k_EInputActionOrigin_SwitchProGyro_Roll224(Nintendo Switch Pro) gyroscope, chuyển động analog theo trục roll (nghiêng đầu sang trái về một bên vai, nghiêng đầu sang phải về bên vai còn lại)
k_EInputActionOrigin_Switch_Reserved0225Dành cho tương lai
k_EInputActionOrigin_Switch_Reserved1226Dành cho tương lai
k_EInputActionOrigin_Switch_Reserved2227Dành cho tương lai
k_EInputActionOrigin_Switch_Reserved3228Dành cho tương lai
k_EInputActionOrigin_Switch_Reserved4229Dành cho tương lai
k_EInputActionOrigin_Switch_Reserved5230Dành cho tương lai
k_EInputActionOrigin_Switch_Reserved6231Dành cho tương lai
k_EInputActionOrigin_Switch_Reserved7232Dành cho tương lai
k_EInputActionOrigin_Switch_Reserved8233Dành cho tương lai
k_EInputActionOrigin_Switch_Reserved9234Dành cho tương lai
k_EInputActionOrigin_Switch_Reserved10235Dành cho tương lai
k_EInputActionOrigin_Count258Số lượng giá trị trong enum này, hữu dụng cho việc lặp lại.
k_EInputActionOrigin_MaximumPossibleValue32767Số lượng giá trị trong enum này, hữu dụng cho việc lặp lại.

EControllerSourceMode

Một vùng tay cầm được xem là một đơn vị module trừu tượng lớn hơn, mà một trong nhiều chế độ có thể được áp dụng và xuất ra nhiều dữ liệu ý nghĩa. Ví dụ, cần trỏ có thể được xem như một tương tác analog đơn, hoặc chia làm bốn phân mảnh digital riêng biệt làm nên một D-pad ảo. Tương tự, các nút ABXY hướng mặt tạo thành một nhóm tự nhiên, được xem như bốn nút độc lập, hoặc cấu phần của một D-pad ảo, v.v.

TênGiá trịMô tả
k_EInputSourceMode_None0Không có nguồn tay cầm.
k_EInputSource_LeftTrackpad1Bàn cảm ứng trái, hoặc nửa trái của bàn cảm ứng giữa.
k_EInputSource_RightTrackpad2Bàn cảm ứng phải, hoặc nửa phải của bàn cảm ứng giữa.
k_EInputSource_Joystick3Cần trỏ, hoặc cần trỏ trái (nếu có nhiều hơn một cần trỏ).
k_EInputSource_ABXY4Bốn nút hướng mặt chính.
k_EInputSource_Switch5Công tắc/nút trên tay cầm mà không thuộc về bất kỳ nguồn cụ thể nào. Bao gồm nút đệm, nút Start/Select, và nút lưng. Trường hợp đặc biệt khi gặp sai sót không khớp với mô hình lớn hơn và sẽ nhận các nguồn với nút digital và chế độ tương đương để xử lí chúng.
k_EInputSource_LeftTrigger6Nút cò analog trái.
k_EInputSource_RightTrigger7Nút cò analog phải.
k_EInputSource_Gyro8Gyroscope trong.
k_EInputSource_CenterTrackpad9Bàn cảm ứng giữa. (Chỉ DS4)
k_EInputSource_RightJoystick10Cần trỏ phải. Nếu chỉ có một cần trỏ, thì nguồn này sẽ không được dùng.
k_EInputSource_DPad11D-pad.
k_EInputSource_Key12Phím bàn phím (cho bàn phím với scan code).
k_EInputSource_Mouse13Chuột truyền thống
k_EInputSource_Count14Số lượng enum, hữu dụng cho việc lặp lại.

EControllerSourceMode

Chế độ đầu vào ảo áp lên nguồn tay cầm bởi trình thiết lập. Ví dụ, trình thiết lập có thể khiến cần trỏ analog hoạt động như D-pad với 4 tương tác đầu vào digital; EControllerSource sẽ thành k_EInputSource_Joystick và EControllerSourceMode sẽ thành k_EInputSourceMode_Dpad. Chế độ cũng thay đổi dữ liệu đầu vào nhận được từ bất kỳ hành động nào liên quan.

TênGiá trịMô tả
k_EInputSourceMode_None0Không có chế độ đầu vào.
k_EInputSourceMode_Dpad1D-pad -- bốn nút điều hướng digital nhập làm thành kiểu chữ thập, vì thế một trục mỗi lần chỉ có thể nhấn một nút.
k_EInputSourceMode_Buttons2
k_EInputSourceMode_FourButtons3Bốn nút hướng mặt digital, có thể nhấn đồng thời
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

Điều khiển màu đèn LED của thiết bị Steam Controller (nếu thiết bị thực sự có đèn LED).

Lưu ý:
VSC có đèn LED, nhưng chỉ ảnh hưởng đến độ sáng (luôn luôn là màu trắng).
LED trên DS4 là đèn báo, có thể điều chỉnh được cả màu và độ sáng của nó.

TênGiá trịMô tả
k_ESteamControllerLEDFlag_SetColor0Đặt màu thành giá trị đã chỉ định
k_ESteamControllerLEDFlag_RestoreUserDefault1Khôi phục màu về thiết lập mặc định (ngoài trò chơi)

ESteamInputType

Đại diện cho model thiết bị của một phần cứng nhất định.

TênGiá trịMô tả
k_ESteamInputType_Unknown0Giá trị chung cho các thiết bị không nhận diện được
k_ESteamInputType_SteamController1Steam Controller của Valve
k_ESteamInputType_XBox360Controller2Tay cầm Xbox 360 của Microsoft
k_ESteamInputType_XBoxOneController3Tay cầm Xbox One của Microsoft
k_ESteamInputType_GenericXInput4Bất kỳ thiết bị XInput phổ thông của bên thứ ba
k_ESteamInputType_PS4Controller5Tay cầm PlayStation 4 của Sony
k_ESteamInputType_AppleMFiController6Không dùng
k_ESteamInputType_AndroidController7Không dùng
k_ESteamInputType_SwitchJoyConPair8Không dùng
k_ESteamInputType_SwitchJoyConSingle9Không dùng
k_ESteamInputType_SwitchProController10Tay cầm Switch Pro của Nintendo
k_ESteamInputType_MobileTouch11Tay cầm cảm ứng trên di động của ứng dụng Steam Link
k_ESteamInputType_PS3Controller12Tay cầm PlayStation 3 hoặc gậy điều khiển tương thích với PS3/PS4 của Sony
k_ESteamInputType_Count13Số lượng giá trị trả về hiện tại
k_ESteamInputType_MaximumPossibleValue255Giá trị trả về tối đa khả thi

ESteamControllerPad

Vùng cảm ứng trên thiết bị Steam Controller.

Lưu ý:
Trên VSC, giá trị tương ứng với bàn cảm ứng haptic trái & phải.
Trên DS4, giá trị tương ứng với nửa trái & nửa phải của bàn cảm ứng giữa, độc lập.

TênGiá trịMô tả
k_ESteamControllerPad_Left0Vùng cảm ứng trái trên thiết bị Steam Controller. Model tương thích: VSC, DS4
k_ESteamControllerPad_Right1Vùng cảm ứng phải trên thiết bị Steam Controller. Model tương thích: VSC, DS4

Typedef

Đây là các typedef được định nghĩa để dùng với ISteamInput.

TênLoại gốcMô tả
InputActionSetHandle_tuint64Các handle này được dùng để đề cập tới một hành động cụ thể trong trò chơi hoặc bộ hành động
Tất cả handle hành động nên được truy vấn trong quá trình khởi tạo để đảm bảo hiệu suất
InputAnalogActionHandle_tuint64Handle tới một hành động analog Có thể lấy thông qua ISteamInput::GetAnalogActionHandle.
InputDigitalActionHandle_tuint64Handle tới một hành động digital Có thể lấy thông qua ISteamInput::GetDigitalActionHandle.
InputHandle_tuint64Handle này sẽ giúp nhận dạng cố định một tay cầm, kể cả khi nó được ngắt kết nối rồi kết nối lại

Constant

Đây là các hằng số được định nghĩa để dùng với ISteamInput.

TênLoạiGiá trịMô tả
STEAMINPUT_INTERFACE_VERSIONconst char *"SteamInput001"
STEAM_INPUT_HANDLE_ALL_CONTROLLERSintUINT64_MAXKhi gửi tùy chọn cho loại handle cụ thể của tay cầm, bạn có thể sử dụng giá trị đặc biệt này thay vì handle để gửi tùy chọn tới tất cả tay cầm.
STEAM_INPUT_MAX_ANALOG_ACTIONSint16Số lượng hành động analog tối đa có thể được thực hiện trên mỗi tay cầm.
STEAM_INPUT_MAX_ANALOG_ACTION_DATAfloat1.0fGiá trị tối đa có thể được báo cáo bởi một hành động analog trên một trục nhất định.
STEAM_INPUT_MAX_COUNTint16Số lượng tay cầm tối đa có thể sử dụng đồng thời với trình thiết lập Steam Input.
STEAM_INPUT_MAX_DIGITAL_ACTIONSint128Số lượng hành động digital tối đa có thể được thực hiện trên mỗi tay cầm.
STEAM_INPUT_MAX_ORIGINSint8Số lượng nguồn tương tác tối đa có thể gán với một hành động đơn lẻ.
STEAM_INPUT_MIN_ANALOG_ACTION_DATAfloat-1.0fGiá trị tối thiểu có thể được báo cáo bởi một hành động analog trên một trục nhất định.