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 );
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ên | Loại | Mô tả |
inputHandle | InputHandle_t | Handle của tay cầm mà bạn muốn kích hoạt một lớp bộ hành động. |
actionSetHandle | InputActionSetHandle_t | Handle 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ên | Loại | Mô tả |
inputHandle | InputHandle_t | Handle của tay cầm mà bạn muốn tắt kích hoạt bộ hành động. |
actionSetHandle | InputActionSetHandle_t | Handle 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ên | Loại | Mô tả |
inputHandle | InputHandle_t | Handle 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 );
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ên | Loại | Mô tả |
pszActionSetName | const 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_tHandle 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 );
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_tTrạ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ên | Loại | Mô tả |
pszActionName | const 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_tHandle 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ì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 );
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ên | Loại | Mô tả |
nIndex | int | Giá 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_tVí 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ên | Loại | Mô tả |
inputHandle | InputHandle_t | Handle 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_tHandle 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 );
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_tTrạng thái hiện tại của hành động digital chỉ định.
GetDigitalActionHandle
InputDigitalActionHandle_t GetDigitalActionHandle( const char *pszActionName );
Tên | Loại | Mô tả |
pszActionName | const 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_tHandle 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ì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ên | Loại | Mô tả |
ulControllerHandle | InputHandle_t | Handle 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 );
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ên | Loại | Mô tả |
inputHandle | InputHandle_t | Handle 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ề: ESteamInputTypeVí 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ên | Loại | Mô tả |
inputHandle | InputHandle_t | Handle 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_tVí dụ:InputMotionData_t motionData = SteamInput()->GetControllerMotionData( inputHandle );
GetStringForActionOrigin
const char * GetStringForActionOrigin( EInputActionOrigin eOrigin );
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ên | Loại | Mô tả |
inputHandle | InputHandle_t | Handle cho tay cầm để tác động. |
pParam | ScePadTriggerEffectParam | Tham 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( ¶m, 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, ¶m );
SetLEDColor
void SetLEDColor( InputHandle_t inputHandle, uint8 nColorR, uint8 nColorG, uint8 nColorB, unsigned int nFlags );
Tên | Loại | Mô tả |
inputHandle | InputHandle_t | Handle của tay cầm để tác động. |
nColorR | uint8 | Đặt giá trị màu đỏ (0-255). |
nColorG | uint8 | Đặt giá trị màu xanh lá (0-255). |
nColorB | uint8 | Đặt giá trị màu xanh dương (0-255). |
nFlags | unsigned int | Cá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 );
Không còn dùng.
Trả về: bool
Luôn trả về
true.
ShowBindingPanel
bool ShowBindingPanel( InputHandle_t inputHandle );
Tên | Loại | Mô tả |
inputHandle | InputHandle_t | Handle 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 );
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 );
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ên | Loại | Mô tả |
inputHandle | InputHandle_t | Handle của tay cầm để tác động. |
eTargetPad | ESteamControllerPad | Bàn cảm ứng haptic nào để tác động. |
usDurationMicroSec | unsigned short | Thờ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ên | Loại | Mô tả |
inputHandle | InputHandle_t | Handle của tay cầm để tác động. |
eTargetPad | ESteamControllerPad | Bàn cảm ứng haptic nào để tác động. |
usDurationMicroSec | unsigned short | Thời lượng xung động, theo micrô giây (1/1.000.000 giây). |
usOffMicroSec | unsigned short | Thời lượng nghỉ giữa các lần xung động, theo micrô giây. |
unRepeat | unsigned short | Số lần lặp chu kì nhiệm vụ (duty cycle) usDurationMicroSec / usOffMicroSec . |
nFlags | unsigned int | Hiệ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ên | Loại | Mô tả |
inputHandle | InputHandle_t | Handle của tay cầm để tác động. |
usLeftSpeed | unsigned short | Giá trị cường độ của động cơ rung trái. |
usRightSpeed | unsigned short | Giá 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ên | Loại | Mô tả |
inputHandle | InputHandle_t | Handle của tay cầm để tác động. |
usLeftSpeed | unsigned short | Giá trị cường độ của động cơ rung trái. |
usRightSpeed | unsigned short | Giá trị cường độ của động cơ rung phải. |
usLeftTriggerSpeed | unsigned short | Giá trị cường độ cho động cơ nút kích xung trái Xbox. |
usRightTriggerSpeed | unsigned short | Giá 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ên | Loại | Mô tả |
inputHandle | InputHandle_t | Handle của tay cầm để tác động. Bạn có thể dùng GetControllerForGamepadIndex để lấy handle này |
eOrigin | EXboxOrigin | Đâ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ên | Loại | Mô tả |
inputHandle | InputHandle_t | Handle của tay cầm để tác động. Bạn có thể dùng GetControllerForGamepadIndex để lấy handle này |
eDestinationInputType | ESteamInputType | Loạ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 |
eSourceOrigin | EInputActionOrigin | Đâ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ên | Loại | Mô tả |
inputHandle | InputHandle_t | Handle của tay cầm để truy vấn. |
pMajor | int * | Pointer tới giá trị int mà revision cách gán phím Major sẽ được điền vào |
pMinor | int * | 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ên | Loại | Mô tả |
inputHandle | InputHandle_t | Handle 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ên | Loại | Mô tả |
eMode | EControllerSourceMode | Loạ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. |
x | float | Trạng thái của hành động này trên trục ngang. |
y | float | Trạng thái của hành động này trên trục đứng. |
bActive | bool | Liệ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ên | Loại | Mô tả |
bState | bool | Trạ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. |
bActive | bool | Liệ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/s
2).
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ên | Loại | Mô tả |
rotQuatX | float | Giá 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 |
rotQuatY | float | Giá 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 |
rotQuatZ | float | Giá 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 |
rotQuatW | float | Giá 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 |
posAccelX | float | Gia tốc theo vị trí, trục x |
posAccelY | float | Gia tốc theo vị trí, trục y |
posAccelZ | float | Gia tốc theo vị trí, trục z |
rotVelX | float | Vận tốc góc, trục x |
rotVelY | float | Vận tốc góc, trục y |
rotVelZ | float | Vậ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ên | Giá trị | Mô tả |
k_EInputActionOrigin_None | 0 | |
k_EInputActionOrigin_A | 1 | (Valve Steam Controller) nút A hướng mặt digital |
k_EInputActionOrigin_B | 2 | (Valve Steam Controller) nút B hướng mặt digital |
k_EInputActionOrigin_X | 3 | (Valve Steam Controller) nút X hướng mặt digital |
k_EInputActionOrigin_Y | 4 | (Valve Steam Controller) nút Y hướng mặt digital |
k_EInputActionOrigin_LeftBumper | 5 | (Valve Steam Controller) nút vai trái digital (hoặc LB) |
k_EInputActionOrigin_RightBumper | 6 | (Valve Steam Controller) nút vai phải digital (hoặc RB) |
k_EInputActionOrigin_LeftGrip | 7 | (Valve Steam Controller) nút lưng trái digital |
k_EInputActionOrigin_RightGrip | 8 | (Valve Steam Controller) nút lưng phải digital |
k_EInputActionOrigin_Start | 9 | (Valve Steam Controller) nút Start digital |
k_EInputActionOrigin_Back | 10 | (Valve Steam Controller) nút Back digital |
k_EInputActionOrigin_LeftPad_Touch | 11 | (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_Swipe | 12 | (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_Click | 13 | (Valve Steam Controller) bàn cảm ứng haptic trái, nhấp digital (cho cả bàn cảm ứng) |
k_EInputActionOrigin_LeftPad_DPadNorth | 14 | (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_DPadSouth | 15 | (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_DPadWest | 16 | (Valve Steam Controller) bàn cảm ứng haptic trái, nhấp digital (góc phần tư trái) |
k_EInputActionOrigin_LeftPad_DPadEast | 17 | (Valve Steam Controller) bàn cảm ứng haptic trái, nhấp digital (góc phần tư phải) |
k_EInputActionOrigin_RightPad_Touch | 18 | (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_Swipe | 19 | (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_Click | 20 | (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_DPadNorth | 21 | (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_DPadSouth | 22 | (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_DPadWest | 23 | (Valve Steam Controller) bàn cảm ứng haptic phải, nhấp digital (góc phần tư trái) |
k_EInputActionOrigin_RightPad_DPadEast | 24 | (Valve Steam Controller) bàn cảm ứng haptic phải, nhấp digital (góc phần tư phải) |
k_EInputActionOrigin_LeftTrigger_Pull | 25 | (Valve Steam Controller) cò analog trái, kéo bởi lực bất kỳ (giá trị analog) |
k_EInputActionOrigin_LeftTrigger_Click | 26 | (Valve Steam Controller) cò analog trái, kéo hết (giá trị digital) |
k_EInputActionOrigin_RightTrigger_Pull | 27 | (Valve Steam Controller) cò analog phải, kéo bởi lực bất kỳ (giá trị analog) |
k_EInputActionOrigin_RightTrigger_Click | 28 | (Valve Steam Controller) cò analog phải, kéo hết (giá trị digital) |
k_EInputActionOrigin_LeftStick_Move | 29 | (Valve Steam Controller) cần trỏ trái, chuyển động theo trục bất kỳ (giá trị analog) |
k_EInputActionOrigin_LeftStick_Click | 30 | (Valve Steam Controller) cần trỏ trái, nhấp xuống (giá trị digital) |
k_EInputActionOrigin_LeftStick_DPadNorth | 31 | (Valve Steam Controller) cần trỏ trái, chuyển động digital (góc phần tư phía trên) |
k_EInputActionOrigin_LeftStick_DPadSouth | 32 | (Valve Steam Controller) cần trỏ trái, chuyển động digital (góc phần tư phía dưới) |
k_EInputActionOrigin_LeftStick_DPadWest | 33 | (Valve Steam Controller) cần trỏ trái, chuyển động digital (góc phần tư trái) |
k_EInputActionOrigin_LeftStick_DPadEast | 34 | (Valve Steam Controller) cần trỏ trái, chuyển động digital (góc phần tư phải) |
k_EInputActionOrigin_Gyro_Move | 35 | (Valve Steam Controller) gyroscope, chuyển động analog theo trục bất kỳ |
k_EInputActionOrigin_Gyro_Pitch | 36 | (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_Yaw | 37 | (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_Roll | 38 | (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_Reserved0 | 39 | Dành cho tương lai |
k_EInputActionOrigin_SteamController_Reserved1 | 40 | Dành cho tương lai |
k_EInputActionOrigin_SteamController_Reserved2 | 41 | Dành cho tương lai |
k_EInputActionOrigin_SteamController_Reserved3 | 42 | Dành cho tương lai |
k_EInputActionOrigin_SteamController_Reserved4 | 43 | Dành cho tương lai |
k_EInputActionOrigin_SteamController_Reserved5 | 44 | Dành cho tương lai |
k_EInputActionOrigin_SteamController_Reserved6 | 45 | Dành cho tương lai |
k_EInputActionOrigin_SteamController_Reserved7 | 46 | Dành cho tương lai |
k_EInputActionOrigin_SteamController_Reserved8 | 47 | Dành cho tương lai |
k_EInputActionOrigin_SteamController_Reserved9 | 48 | Dành cho tương lai |
k_EInputActionOrigin_SteamController_Reserved10 | 49 | Dành cho tương lai |
k_EInputActionOrigin_PS4_X | 50 | (Sony DualShock 4) nút X hướng mặt digital |
k_EInputActionOrigin_PS4_Circle | 51 | (Sony DualShock 4) nút tròn (⭕) hướng mặt digital |
k_EInputActionOrigin_PS4_Triangle | 52 | (Sony DualShock 4) nút tam giác ( △ ) hướng mặt digital |
k_EInputActionOrigin_PS4_Square | 53 | (Sony DualShock 4) nút vuông ( ▢ ) hướng mặt digital |
k_EInputActionOrigin_PS4_LeftBumper | 54 | (Sony DualShock 4) nút vai trái digital (hoặc LB) |
k_EInputActionOrigin_PS4_RightBumper | 55 | (Sony DualShock 4) nút vai phải digital (hoặc RB) |
k_EInputActionOrigin_PS4_Options | 56 | (Sony DualShock 4) nút Options digital (hoặc Start) |
k_EInputActionOrigin_PS4_Share | 57 | (Sony DualShock 4) nút Share digital (hoặc Back) |
k_EInputActionOrigin_PS4_LeftPad_Touch | 58 | (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_Swipe | 59 | (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_Click | 60 | (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_DPadNorth | 61 | (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_DPadSouth | 62 | (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_DPadWest | 63 | (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_DPadEast | 64 | (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_Touch | 65 | (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_Swipe | 66 | (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_Click | 67 | (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_DPadNorth | 68 | (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_DPadSouth | 69 | (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_DPadWest | 70 | (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_DPadEast | 71 | (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_Touch | 72 | (Sony DualShock 4) bàn cảm ứng chung, chạm đơn giản với một ngón |
k_EInputActionOrigin_PS4_CenterPad_Swipe | 73 | (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_Click | 74 | (Sony DualShock 4) bàn cảm ứng chung, nhấp digital (cho cả bàn cảm ứng) |
k_EInputActionOrigin_PS4_CenterPad_DPadNorth | 75 | (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_DPadSouth | 76 | (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_DPadWest | 77 | (Sony DualShock 4) bàn cảm ứng chung, nhấp digital (góc phần tư trái) |
k_EInputActionOrigin_PS4_CenterPad_DPadEast | 78 | (Sony DualShock 4) bàn cảm ứng chung, nhấp digital (góc phần tư phải) |
k_EInputActionOrigin_PS4_LeftTrigger_Pull | 79 | (Sony DualShock 4) cò analog trái, kéo bởi lực bất kỳ (giá trị analog) |
k_EInputActionOrigin_PS4_LeftTrigger_Click | 80 | (Sony Dualshock 4) cò analog trái, kéo hết (giá trị digital) |
k_EInputActionOrigin_PS4_RightTrigger_Pull | 81 | (Sony DualShock 4) cò analog phải, kéo bởi lực bất kỳ (giá trị analog) |
k_EInputActionOrigin_PS4_RightTrigger_Click | 82 | (Sony Dualshock 4) cò analog phải, kéo hết (giá trị digital) |
k_EInputActionOrigin_PS4_LeftStick_Move | 83 | (Sony DualShock 4) cần trỏ trái, chuyển động theo trục bất kỳ (giá trị analog) |
k_EInputActionOrigin_PS4_LeftStick_Click | 84 | (Sony DualShock 4) cần trỏ trái, nhấp xuống (giá trị digital) |
k_EInputActionOrigin_PS4_LeftStick_DPadNorth | 85 | (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_DPadSouth | 86 | (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_DPadWest | 87 | (Sony DualShock 4) cần trỏ trái, chuyển động digital (góc phần tư trái) |
k_EInputActionOrigin_PS4_LeftStick_DPadEast | 88 | (Sony DualShock 4) cần trỏ trái, chuyển động digital (góc phần tư phải) |
k_EInputActionOrigin_PS4_RightStick_Move | 89 | (Sony DualShock 4) cần trỏ phải, chuyển động theo trục bất kỳ (giá trị analog) |
k_EInputActionOrigin_PS4_RightStick_Click | 90 | (Sony DualShock 4) cần trỏ phải, nhấp xuống (giá trị digital) |
k_EInputActionOrigin_PS4_RightStick_DPadNorth | 91 | (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_DPadSouth | 92 | (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_DPadWest | 93 | (Sony DualShock 4) cần trỏ phải, chuyển động digital (góc phần tư trái) |
k_EInputActionOrigin_PS4_RightStick_DPadEast | 94 | (Sony DualShock 4) cần trỏ phải, chuyển động digital (góc phần tư phải) |
k_EInputActionOrigin_PS4_DPad_North | 95 | (Sony DualShock 4) D-pad, nhấn (góc phần tư phía trên) |
k_EInputActionOrigin_PS4_DPad_South | 96 | (Sony DualShock 4) D-pad, nhấn (góc phần tư phía dưới) |
k_EInputActionOrigin_PS4_DPad_West | 97 | (Sony DualShock 4) D-pad, nhấn (góc phần tư trái) |
k_EInputActionOrigin_PS4_DPad_East | 98 | (Sony DualShock 4) D-pad, nhấn (góc phần tư phải) |
k_EInputActionOrigin_PS4_Gyro_Move | 99 | (Sony DualShock 4) gyroscope, chuyển động analog theo trục bất kỳ |
k_EInputActionOrigin_PS4_Gyro_Pitch | 100 | (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_Yaw | 101 | (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_Roll | 102 | (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_Reserved0 | 103 | Dành cho tương lai |
k_EInputActionOrigin_PS4_Reserved1 | 104 | Dành cho tương lai |
k_EInputActionOrigin_PS4_Reserved2 | 105 | Dành cho tương lai |
k_EInputActionOrigin_PS4_Reserved3 | 106 | Dành cho tương lai |
k_EInputActionOrigin_PS4_Reserved4 | 107 | Dành cho tương lai |
k_EInputActionOrigin_PS4_Reserved5 | 108 | Dành cho tương lai |
k_EInputActionOrigin_PS4_Reserved6 | 109 | Dành cho tương lai |
k_EInputActionOrigin_PS4_Reserved7 | 110 | Dành cho tương lai |
k_EInputActionOrigin_PS4_Reserved8 | 111 | Dành cho tương lai |
k_EInputActionOrigin_PS4_Reserved9 | 112 | Dành cho tương lai |
k_EInputActionOrigin_PS4_Reserved10 | 113 | Dành cho tương lai |
k_EInputActionOrigin_XBoxOne_A | 114 | (XB1) nút A hướng mặt digital |
k_EInputActionOrigin_XBoxOne_B | 115 | (XB1) nút B hướng mặt digital |
k_EInputActionOrigin_XBoxOne_X | 116 | (XB1) nút chữ thập hướng mặt digital |
k_EInputActionOrigin_XBoxOne_Y | 117 | (XB1) nút Y hướng mặt digital |
k_EInputActionOrigin_XBoxOne_LeftBumper | 118 | (XB1) nút vai trái digital (hoặc LB) |
k_EInputActionOrigin_XBoxOne_RightBumper | 119 | (XB1) nút vai phải digital (hoặc RB) |
k_EInputActionOrigin_XBoxOne_View | 121 | (XB1) nút View digital (hoặc Back) |
k_EInputActionOrigin_XBoxOne_LeftTrigger_Pull | 122 | (XB1) cò analog trái, kéo bởi lực bất kỳ (giá trị analog) |
k_EInputActionOrigin_XBoxOne_LeftTrigger_Click | 123 | (XB1) cò analog trái, kéo hết (giá trị digital) |
k_EInputActionOrigin_XBoxOne_RightTrigger_Pull | 124 | (XB1) cò analog phải, kéo bởi lực bất kỳ (giá trị analog) |
k_EInputActionOrigin_XBoxOne_RightTrigger_Click | 125 | (XB1) cò analog phải, kéo hết (giá trị digital) |
k_EInputActionOrigin_XBoxOne_LeftStick_Move | 126 | (XB1) cần trỏ trái, chuyển động theo trục bất kỳ (giá trị analog) |
k_EInputActionOrigin_XBoxOne_LeftStick_Click | 127 | (XB1) cần trỏ trái, nhấp xuống (giá trị digital) |
k_EInputActionOrigin_XBoxOne_LeftStick_DPadNorth | 128 | (XB1) cần trỏ trái, chuyển động digital (góc phần tư phía trên) |
k_EInputActionOrigin_XBoxOne_LeftStick_DPadSouth | 129 | (XB1) cần trỏ trái, chuyển động digital (góc phần tư phía dưới) |
k_EInputActionOrigin_XBoxOne_LeftStick_DPadWest | 130 | (XB1) cần trỏ trái, chuyển động digital (góc phần tư trái) |
k_EInputActionOrigin_XBoxOne_LeftStick_DPadEast | 131 | (XB1) cần trỏ trái, chuyển động digital (góc phần tư phải) |
k_EInputActionOrigin_XBoxOne_RightStick_Move | 132 | (XB1) cần trỏ phải, chuyển động theo trục bất kỳ (giá trị analog) |
k_EInputActionOrigin_XBoxOne_RightStick_Click | 133 | (XB1) cần trỏ phải, nhấp xuống (giá trị digital) |
k_EInputActionOrigin_XBoxOne_RightStick_DPadNorth | 134 | (XB1) cần trỏ phải, chuyển động digital (góc phần tư phía trên) |
k_EInputActionOrigin_XBoxOne_RightStick_DPadSouth | 135 | (XB1) cần trỏ phải, chuyển động digital (góc phần tư phía dưới) |
k_EInputActionOrigin_XBoxOne_RightStick_DPadWest | 136 | (XB1) cần trỏ phải, chuyển động digital (góc phần tư trái) |
k_EInputActionOrigin_XBoxOne_RightStick_DPadEast | 137 | (XB1) cần trỏ phải, chuyển động digital (góc phần tư phải) |
k_EInputActionOrigin_XBoxOne_DPad_North | 138 | (XB1) D-pad, nhấn (góc phần tư phía trên) |
k_EInputActionOrigin_XBoxOne_DPad_South | 139 | (XB1) D-pad, nhấn (góc phần tư phía dưới) |
k_EInputActionOrigin_XBoxOne_DPad_West | 140 | (XB1) D-pad, nhấn (góc phần tư trái) |
k_EInputActionOrigin_XBoxOne_DPad_East | 141 | (XB1) D-pad, nhấn (góc phần tư phải) |
k_EInputActionOrigin_XBoxOne_Reserved0 | 142 | Dành cho tương lai |
k_EInputActionOrigin_XBoxOne_Reserved1 | 143 | Dành cho tương lai |
k_EInputActionOrigin_XBoxOne_Reserved2 | 144 | Dành cho tương lai |
k_EInputActionOrigin_XBoxOne_Reserved3 | 145 | Dành cho tương lai |
k_EInputActionOrigin_XBoxOne_Reserved4 | 146 | Dành cho tương lai |
k_EInputActionOrigin_XBoxOne_Reserved5 | 147 | Dành cho tương lai |
k_EInputActionOrigin_XBoxOne_Reserved6 | 148 | Dành cho tương lai |
k_EInputActionOrigin_XBoxOne_Reserved7 | 149 | Dành cho tương lai |
k_EInputActionOrigin_XBoxOne_Reserved8 | 150 | Dành cho tương lai |
k_EInputActionOrigin_XBoxOne_Reserved9 | 151 | Dành cho tương lai |
k_EInputActionOrigin_XBoxOne_Reserved10 | 152 | Dành cho tương lai |
k_EInputActionOrigin_XBox360_A | 153 | (X360) nút A hướng mặt digital |
k_EInputActionOrigin_XBox360_B | 154 | (X360) nút B hướng mặt digital |
k_EInputActionOrigin_XBox360_X | 155 | (X360) nút X hướng mặt digital |
k_EInputActionOrigin_XBox360_Y | 156 | (X360) nút Y hướng mặt digital |
k_EInputActionOrigin_XBox360_LeftBumper | 157 | (X360) nút vai trái digital (hoặc LB) |
k_EInputActionOrigin_XBox360_RightBumper | 158 | (X360) nút vai phải digital (hoặc RB) |
k_EInputActionOrigin_XBox360_Start | 159 | (X360) nút Start digital |
k_EInputActionOrigin_XBox360_Back | 160 | (X360) nút Back digital |
k_EInputActionOrigin_XBox360_LeftTrigger_Pull | 161 | (X360) cò analog trái, kéo bởi lực bất kỳ (giá trị analog) |
k_EInputActionOrigin_XBox360_LeftTrigger_Click | 162 | (X360) cò analog trái, kéo hết (giá trị digital) |
k_EInputActionOrigin_XBox360_RightTrigger_Pull | 163 | (X360) cò analog phải, kéo bởi lực bất kỳ (giá trị analog) |
k_EInputActionOrigin_XBox360_RightTrigger_Click | 164 | (X360) cò analog phải, kéo hết (giá trị digital) |
k_EInputActionOrigin_XBox360_LeftStick_Move | 165 | (X360) cần trỏ trái, chuyển động theo trục bất kỳ (giá trị analog) |
k_EInputActionOrigin_XBox360_LeftStick_Click | 166 | (X360) cần trỏ trái, nhấp xuống (giá trị digital) |
k_EInputActionOrigin_XBox360_LeftStick_DPadNorth | 167 | (X360) cần trỏ trái, chuyển động digital (góc phần tư phía trên) |
k_EInputActionOrigin_XBox360_LeftStick_DPadSouth | 168 | (X360) cần trỏ trái, chuyển động digital (góc phần tư phía dưới) |
k_EInputActionOrigin_XBox360_LeftStick_DPadWest | 169 | (X360) cần trỏ trái, chuyển động digital (góc phần tư trái) |
k_EInputActionOrigin_XBox360_LeftStick_DPadEast | 170 | (X360) cần trỏ trái, chuyển động digital (góc phần tư phải) |
k_EInputActionOrigin_XBox360_RightStick_Move | 171 | (X360) cần trỏ phải, chuyển động theo trục bất kỳ (giá trị analog) |
k_EInputActionOrigin_XBox360_RightStick_Click | 172 | (X360) cần trỏ phải, nhấp xuống (giá trị digital) |
k_EInputActionOrigin_XBox360_RightStick_DPadNorth | 173 | (X360) cần trỏ phải, chuyển động digital (góc phần tư phía trên) |
k_EInputActionOrigin_XBox360_RightStick_DPadSouth | 174 | (X360) cần trỏ phải, chuyển động digital (góc phần tư phía dưới) |
k_EInputActionOrigin_XBox360_RightStick_DPadWest | 175 | (X360) cần trỏ phải, chuyển động digital (góc phần tư trái) |
k_EInputActionOrigin_XBox360_RightStick_DPadEast | 176 | (X360) cần trỏ phải, chuyển động digital (góc phần tư phải) |
k_EInputActionOrigin_XBox360_DPad_North | 177 | (X360) D-pad, nhấn (góc phần tư phía trên) |
k_EInputActionOrigin_XBox360_DPad_South | 178 | (X360) D-pad, nhấn (góc phần tư phía dưới) |
k_EInputActionOrigin_XBox360_DPad_West | 179 | (X360) D-pad, nhấn (góc phần tư trái) |
k_EInputActionOrigin_XBox360_DPad_East | 180 | (X360) D-pad, nhấn (góc phần tư phải) |
k_EInputActionOrigin_XBox360_Reserved0 | 181 | Dành cho tương lai |
k_EInputActionOrigin_XBox360_Reserved1 | 182 | Dành cho tương lai |
k_EInputActionOrigin_XBox360_Reserved2 | 183 | Dành cho tương lai |
k_EInputActionOrigin_XBox360_Reserved3 | 184 | Dành cho tương lai |
k_EInputActionOrigin_XBox360_Reserved4 | 185 | Dành cho tương lai |
k_EInputActionOrigin_XBox360_Reserved5 | 186 | Dành cho tương lai |
k_EInputActionOrigin_XBox360_Reserved6 | 187 | Dành cho tương lai |
k_EInputActionOrigin_XBox360_Reserved7 | 188 | Dành cho tương lai |
k_EInputActionOrigin_XBox360_Reserved8 | 189 | Dành cho tương lai |
k_EInputActionOrigin_XBox360_Reserved9 | 190 | Dành cho tương lai |
k_EInputActionOrigin_XBox360_Reserved10 | 191 | Dành cho tương lai |
k_EInputActionOrigin_Switch_A | 192 | (Nintendo Switch Pro) nút A hướng mặt digital |
k_EInputActionOrigin_Switch_B | 193 | (Nintendo Switch Pro) nút B hướng mặt digital |
k_EInputActionOrigin_Switch_X | 194 | (Nintendo Switch Pro) nút X hướng mặt digital |
k_EInputActionOrigin_Switch_Y | 195 | (Nintendo Switch Pro) nút Y hướng mặt digital |
k_EInputActionOrigin_Switch_LeftBumper | 196 | (Nintendo Switch Pro) nút vai trái digital (hoặc LB) |
k_EInputActionOrigin_Switch_RightBumper | 197 | (Nintendo Switch Pro) nút vai phải digital (hoặc RB) |
k_EInputActionOrigin_Switch_Plus | 198 | (Nintendo Switch Pro) nút cộng ( + ) |
k_EInputActionOrigin_Switch_Minus | 199 | (Nintendo Switch Pro) nút trừ ( - ) |
k_EInputActionOrigin_Switch_Capture | 200 | (Nintendo Switch Pro) nút Capture digital |
k_EInputActionOrigin_Switch_LeftTrigger_Pull | 201 | (Nintendo Switch Pro) cò trái, nhấp |
k_EInputActionOrigin_Switch_LeftTrigger_Click | 202 | (Nintendo Switch Pro) cò trái, nhấp (giống giá trị trước) |
k_EInputActionOrigin_Switch_RightTrigger_Pull | 203 | (Nintendo Switch Pro) cò phải, nhấp |
k_EInputActionOrigin_Switch_RightTrigger_Click | 204 | (Nintendo Switch Pro) cò phải, nhấp (giống giá trị trước) |
k_EInputActionOrigin_Switch_LeftStick_Move | 205 | (Nintendo Switch Pro) cần trỏ trái, chuyển động theo trục bất kỳ (giá trị analog) |
k_EInputActionOrigin_Switch_LeftStick_Click | 206 | (Nintendo Switch Pro) cần trỏ trái, nhấp xuống (giá trị digital) |
k_EInputActionOrigin_Switch_LeftStick_DPadNorth | 207 | (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_DPadSouth | 208 | (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_DPadWest | 209 | (Nintendo Switch Pro) cần trỏ trái, chuyển động digital (góc phần tư trái) |
k_EInputActionOrigin_Switch_LeftStick_DPadEast | 210 | (Nintendo Switch Pro) cần trỏ trái, chuyển động digital (góc phần tư phải) |
k_EInputActionOrigin_Switch_RightStick_Move | 211 | (Nintendo Switch Pro) cần trỏ phải, chuyển động theo trục bất kỳ (giá trị analog) |
k_EInputActionOrigin_Switch_RightStick_Click | 212 | (Nintendo Switch Pro) cần trỏ phải, nhấp xuống (giá trị digital) |
k_EInputActionOrigin_Switch_RightStick_DPadNorth | 213 | (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_DPadSouth | 214 | (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_DPadWest | 215 | (Nintendo Switch Pro) cần trỏ phải, chuyển động digital (góc phần tư trái) |
k_EInputActionOrigin_Switch_RightStick_DPadEast | 216 | (Nintendo Switch Pro) cần trỏ phải, chuyển động digital (góc phần tư phải) |
k_EInputActionOrigin_Switch_DPad_North | 217 | (Nintendo Switch Pro) D-pad, nhấn (góc phần tư phía trên) |
k_EInputActionOrigin_Switch_DPad_South | 218 | (Nintendo Switch Pro) D-pad, nhấn (góc phần tư phía dưới) |
k_EInputActionOrigin_Switch_DPad_West | 219 | (Nintendo Switch Pro) D-pad, nhấn (góc phần tư trái) |
k_EInputActionOrigin_Switch_DPad_East | 220 | (Nintendo Switch Pro) D-pad, nhấn (góc phần tư phải) |
k_EInputActionOrigin_SwitchProGyro_Move | 221 | (Nintendo Switch Pro) gyroscope, chuyển động analog theo trục bất kỳ |
k_EInputActionOrigin_SwitchProGyro_Pitch | 222 | (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_Yaw | 223 | (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_Roll | 224 | (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_Reserved0 | 225 | Dành cho tương lai |
k_EInputActionOrigin_Switch_Reserved1 | 226 | Dành cho tương lai |
k_EInputActionOrigin_Switch_Reserved2 | 227 | Dành cho tương lai |
k_EInputActionOrigin_Switch_Reserved3 | 228 | Dành cho tương lai |
k_EInputActionOrigin_Switch_Reserved4 | 229 | Dành cho tương lai |
k_EInputActionOrigin_Switch_Reserved5 | 230 | Dành cho tương lai |
k_EInputActionOrigin_Switch_Reserved6 | 231 | Dành cho tương lai |
k_EInputActionOrigin_Switch_Reserved7 | 232 | Dành cho tương lai |
k_EInputActionOrigin_Switch_Reserved8 | 233 | Dành cho tương lai |
k_EInputActionOrigin_Switch_Reserved9 | 234 | Dành cho tương lai |
k_EInputActionOrigin_Switch_Reserved10 | 235 | Dành cho tương lai |
k_EInputActionOrigin_Count | 258 | Số lượng giá trị trong enum này, hữu dụng cho việc lặp lại. |
k_EInputActionOrigin_MaximumPossibleValue | 32767 | Số 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ên | Giá trị | Mô tả |
k_EInputSourceMode_None | 0 | Không có nguồn tay cầm. |
k_EInputSource_LeftTrackpad | 1 | Bàn cảm ứng trái, hoặc nửa trái của bàn cảm ứng giữa. |
k_EInputSource_RightTrackpad | 2 | Bàn cảm ứng phải, hoặc nửa phải của bàn cảm ứng giữa. |
k_EInputSource_Joystick | 3 | Cần trỏ, hoặc cần trỏ trái (nếu có nhiều hơn một cần trỏ). |
k_EInputSource_ABXY | 4 | Bốn nút hướng mặt chính. |
k_EInputSource_Switch | 5 | Cô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_LeftTrigger | 6 | Nút cò analog trái. |
k_EInputSource_RightTrigger | 7 | Nút cò analog phải. |
k_EInputSource_Gyro | 8 | Gyroscope trong. |
k_EInputSource_CenterTrackpad | 9 | Bàn cảm ứng giữa. (Chỉ DS4) |
k_EInputSource_RightJoystick | 10 | Cầ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_DPad | 11 | D-pad. |
k_EInputSource_Key | 12 | Phím bàn phím (cho bàn phím với scan code). |
k_EInputSource_Mouse | 13 | Chuột truyền thống |
k_EInputSource_Count | 14 | Số 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ên | Giá trị | Mô tả |
k_EInputSourceMode_None | 0 | Không có chế độ đầu vào. |
k_EInputSourceMode_Dpad | 1 | D-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_Buttons | 2 | |
k_EInputSourceMode_FourButtons | 3 | Bốn nút hướng mặt digital, có thể nhấn đồng thời |
k_EInputSourceMode_AbsoluteMouse | 4 | |
k_EInputSourceMode_RelativeMouse | 5 | |
k_EInputSourceMode_JoystickMove | 6 | |
k_EInputSourceMode_JoystickMouse | 7 | |
k_EInputSourceMode_JoystickCamera | 8 | |
k_EInputSourceMode_ScrollWheel | 9 | |
k_EInputSourceMode_Trigger | 10 | |
k_EInputSourceMode_MouseJoystick | 12 | |
k_EInputSourceMode_MouseRegion | 13 | |
k_EInputSourceMode_SingleButton | 15 | |
k_EInputSourceMode_Switches | 16 | |
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ên | Giá trị | Mô tả |
k_ESteamControllerLEDFlag_SetColor | 0 | Đặt màu thành giá trị đã chỉ định |
k_ESteamControllerLEDFlag_RestoreUserDefault | 1 | Khô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ên | Giá trị | Mô tả |
k_ESteamInputType_Unknown | 0 | Giá trị chung cho các thiết bị không nhận diện được |
k_ESteamInputType_SteamController | 1 | Steam Controller của Valve |
k_ESteamInputType_XBox360Controller | 2 | Tay cầm Xbox 360 của Microsoft |
k_ESteamInputType_XBoxOneController | 3 | Tay cầm Xbox One của Microsoft |
k_ESteamInputType_GenericXInput | 4 | Bất kỳ thiết bị XInput phổ thông của bên thứ ba |
k_ESteamInputType_PS4Controller | 5 | Tay cầm PlayStation 4 của Sony |
k_ESteamInputType_AppleMFiController | 6 | Không dùng |
k_ESteamInputType_AndroidController | 7 | Không dùng |
k_ESteamInputType_SwitchJoyConPair | 8 | Không dùng |
k_ESteamInputType_SwitchJoyConSingle | 9 | Không dùng |
k_ESteamInputType_SwitchProController | 10 | Tay cầm Switch Pro của Nintendo |
k_ESteamInputType_MobileTouch | 11 | Tay cầm cảm ứng trên di động của ứng dụng Steam Link |
k_ESteamInputType_PS3Controller | 12 | Tay 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_Count | 13 | Số lượng giá trị trả về hiện tại |
k_ESteamInputType_MaximumPossibleValue | 255 | Giá 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ên | Giá trị | Mô tả |
k_ESteamControllerPad_Left | 0 | Vùng cảm ứng trái trên thiết bị Steam Controller. Model tương thích: VSC, DS4 |
k_ESteamControllerPad_Right | 1 | Vù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ên | Loại gốc | Mô tả |
InputActionSetHandle_t | uint64 | Cá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_t | uint64 | Handle tới một hành động analog Có thể lấy thông qua ISteamInput::GetAnalogActionHandle. |
InputDigitalActionHandle_t | uint64 | Handle tới một hành động digital Có thể lấy thông qua ISteamInput::GetDigitalActionHandle. |
InputHandle_t | uint64 | Handle 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ên | Loại | Giá trị | Mô tả |
STEAMINPUT_INTERFACE_VERSION | const char * | "SteamInput001" | |
STEAM_INPUT_HANDLE_ALL_CONTROLLERS | int | UINT64_MAX | Khi 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_ACTIONS | int | 16 | Số 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_DATA | float | 1.0f | Giá 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_COUNT | int | 16 | Số 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_ACTIONS | int | 128 | Số 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_ORIGINS | int | 8 | Số 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_DATA | float | -1.0f | Giá 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. |