API ввода Steam — это гибкий, основанный на действиях API, который поддерживает основные типы контроллеров: Xbox, PlayStation, Nintendo Switch Pro и Steam Controller.
Дополнительная информация доступна здесь:
Система ввода SteamФункции-члены
Функции-члены
ISteamInput
вызываются с помощью глобальной функции доступа
SteamInput()
.
ActivateActionSet
void ActivateActionSet( InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle );
Название | Тип | Описание |
inputHandle | InputHandle_t | Дескриптор контроллера, для которого вы хотите активировать набор действий. |
actionSetHandle | InputActionSetHandle_t | Дескриптор набора действий, который вы хотите активировать. |
Перенастраивает контроллер на использование указанного набора действий (к примеру, «Меню», «Ходьба» или «Управление автомобилем»).
Ресурсов тратится мало, так что эту функцию можно безопасно вызывать повторно. Зачастую её проще вызвать в циклах состояния, чем пытаться поместить её во всех сменах состояния.
Пример:void updateStateLoop()
{
switch( currentState )
{
case MENU:
SteamInput()->ActivateActionSet( inputHandle1, menuSetHandle );
doMenuStuff();
break;
case WALKING:
SteamInput()->ActivateActionSet( inputHandle1, walkingSetHandle );
doWalkingStuff();
break;
case DRIVING:
SteamInput()->ActivateActionSet( inputHandle1, drivingSetHandle );
doDrivingStuff();
break;
case FIGHTING:
SteamInput()->ActivateActionSet( inputHandle1, fightingSetHandle );
doFightingStuff();
break;
}
}
Активация всех контроллеров
Зачастую вы захотите активировать все контроллеры сразу, а не по одному. Для этого необходимо использовать константу
STEAM_INPUT_HANDLE_ALL_CONTROLLERS в качестве дескриптора контроллеров. Это значение также можно использовать в любой функции, вызывающей дескриптор отдельного контроллера.
Пример:void updateStateLoop()
{
switch( currentState )
{
case MENU:
SteamInput()->ActivateActionSet( STEAM_INPUT_HANDLE_ALL_CONTROLLERS, menuSetHandle );
doMenuStuff();
break;
case WALKING:
SteamInput()->ActivateActionSet( STEAM_INPUT_HANDLE_ALL_CONTROLLERS, walkingSetHandle );
doWalkingStuff();
break;
case DRIVING:
SteamInput()->ActivateActionSet( STEAM_INPUT_HANDLE_ALL_CONTROLLERS, drivingSetHandle );
doDrivingStuff();
break;
case FIGHTING:
SteamInput()->ActivateActionSet( STEAM_INPUT_HANDLE_ALL_CONTROLLERS, fightingSetHandle );
doFightingStuff();
break;
}
}
ActivateActionSetLayer
void ActivateActionSetLayer( InputHandle_t inputHandle, InputActionSetHandle_t actionSetLayerHandle );
Название | Тип | Описание |
inputHandle | InputHandle_t | Дескриптор контроллера, для которого вы хотите активировать слой набора действий. |
actionSetHandle | InputActionSetHandle_t | Дескриптор слоя набора действий, который вы хотите активировать. |
Перенастраивает контроллер на использование указанного набора действий.
Дополнительную информацию и практические примеры можно найти здесь:
Слои наборов действий.
Пример:SteamInput()->ActivateActionSetLayer( inputHandle1, myActionSetLayer );
DeactivateActionSetLayer
void DeactivateActionSetLayer( InputHandle_t inputHandle, InputActionSetHandle_t actionSetLayerHandle );
Название | Тип | Описание |
inputHandle | InputHandle_t | Дескриптор контроллера, для которого вы хотите деактивировать слой набора действий. |
actionSetHandle | InputActionSetHandle_t | Дескриптор слоя набора действий, который вы хотите деактивировать. |
Перенастраивает контроллер больше не использовать указанный набор действий.
Пример:SteamInput()->DeactivateActionSetLayer( inputHandle1, myActionSetLayer );
DeactivateAllActionSetLayers
void DeactivateAllActionSetLayers( InputHandle_t inputHandle );
Название | Тип | Описание |
inputHandle | InputHandle_t | Дескриптор контроллера, для которого вы хотите деактивировать все слои набора действий. |
Перенастраивает контроллер больше не использовать все слои набора действий.
Пример:SteamInput()->DeactivateAllActionSetLayers( inputHandle1 );
GetActiveActionSetLayers
int GetActiveActionSetLayers( InputHandle_t inputHandle, InputActionSetHandle_t *handlesOut );
Заполните массив всеми активными в текущий момент слоями набора действий для дескриптора определённого контроллера.
Пример:InputHandle_t *handlesOut = new InputHandle_t [];
SteamInput()->GetActiveActionSetLayers( inputHandle1, &handlesOut );
GetActionSetHandle
InputActionSetHandle_t GetActionSetHandle( const char *pszActionSetName );
Название | Тип | Описание |
pszActionSetName | const char * | Строковой идентификатор набора действий, заданный в .vdf-файле игры. |
Поиск дескриптора набора действий. Лучше всего выполнять его при запуске и хранить дескрипторы для всех будущих вызовов.
Возвращает: InputActionSetHandle_tДескриптор указанного набора действий.
Пример:InputActionSetHandle_t fightingSetHandle = SteamInput()->GetActionSetHandle( "fighting" );
GetAnalogActionData
InputAnalogActionData_t GetAnalogActionData( InputHandle_t inputHandle, InputAnalogActionHandle_t analogActionHandle );
Название | Тип | Описание |
inputHandle | InputHandle_t | Дескриптор контроллера, который вы хотите опросить. |
analogActionHandle | InputAnalogActionHandle_t | Дескриптор аналогового действия, которое вы хотите опросить. |
Возвращает текущее состояние предоставленного аналогового игрового действия.
Возвращает: InputAnalogActionData_tТекущее состояние указанного аналогового действия.
Пример:InputAnalogActionData_t data = SteamInput()->GetAnalogActionData( controller1Handle, moveHandle );
GetAnalogActionHandle
InputAnalogActionHandle_t GetAnalogActionHandle( const char *pszActionName );
Название | Тип | Описание |
pszActionName | const char * | Строковой идентификатор аналогового действия, заданный в .vdf-файле игры. |
Получает дескриптор указанного аналогового действия.
ПРИМЕЧАНИЕ: эта функция не принимает параметры дескрипторов наборов действий. Это означает, что каждому действию в .vdf-файле должен быть присвоен уникальный строковый идентификатор. Другими словами, если вы используете действие с названием «up» в двух различных наборах действий, эта функция вернёт только один из них, а другое будет проигнорировано.
Возвращает: InputAnalogActionHandle_tПолучает дескриптор указанного аналогового действия.
Пример:InputAnalogActionHandle_t moveHandle = SteamInput()->GetAnalogActionHandle( "move" );
GetAnalogActionOrigins
int GetAnalogActionOrigins( InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle, InputAnalogActionHandle_t analogActionHandle, EInputActionOrigin *originsOut );
Получает источники аналогового действия в наборе действий, заполняя originsOut дескрипторами EControllerActionOrigin. Используйте, чтобы отобразить соответствующую экранную подсказку для действия.
Возвращает: int
Число источников, предоставленных в
originsOut
.
Пример:EInputActionOrigin *origins = new EInputActionOrigin[];
SteamInput()->GetAnalogActionOrigins( controller1Handle, walkingSetHandle, moveHandle, origins );
GetConnectedControllers
int GetConnectedControllers( InputHandle_t *handlesOut );
Перечисляет подключенные в данный момент контроллеры, заполняя handlesOut дескрипторами контроллеров.
Возвращает: int
Число дескрипторов, записываемых в
handlesOut
.
Пример:InputHandle_t *inputHandles = new InputHandle_t[];
SteamInput()->GetConnectedControllers( inputHandles );
GetControllerForGamepadIndex
InputHandle_t GetControllerForGamepadIndex( int nIndex );
Название | Тип | Описание |
nIndex | int | Индекс эмулированного геймпада, для которого вы хотите получить дескриптор контроллера. |
Возвращает связанный дескриптор контроллера для указанного эмулированного геймпада. Может использоваться с GetInputTypeForHandle, чтобы определить тип контроллера, использующего эмуляцию геймпадов системой ввода Steam.
Возвращает: InputHandle_tПример:// Замените номером слота XInput, информация о котором запрашивается. Это цифра между 0 и 3
int nXinputSlotIndex = 0;
InputHandle_t inputHandle = SteamInput()->GetControllerForGamepadIndex( nXinputSlotIndex );
if ( inputHandle == 0 )
{
// Допустимые дескрипторы ввода (Input handles) являются ненулевыми, это стандартный контроллер Xbox.
}
else
{
ESteamInputType inputType = SteamInput()->GetInputTypeForHandle( inputHandle );
switch( inputType )
{
case k_ESteamInputType_Unknown:
printf( "unknown!\n" ); break;
case k_ESteamInputType_SteamController:
printf( "Steam controller!\n" ); break;
case k_ESteamInputType_XBox360Controller:
printf( "XBox 360 controller!\n" ); break;
case k_ESteamInputType_XBoxOneController:
printf( "XBox One controller!\n" ); break;
case k_ESteamInputType_GenericXInput:
printf( "Generic XInput!\n" ); break;
case k_ESteamInputType_PS4Controller:
printf( "PS4 controller!\n" ); break;
}
}
GetCurrentActionSet
InputActionSetHandle_t GetCurrentActionSet( InputHandle_t inputHandle );
Название | Тип | Описание |
inputHandle | InputHandle_t | Дескриптор контроллера, который вы хотите опросить. |
Получить текущий набор действий для указанного контроллера.
Возвращает: InputActionSetHandle_tДескриптор набора действий для указанного контроллера.
Пример:InputActionSetHandle_t controller1Set = SteamInput()->GetCurrentActionSet(controller1Handle);
GetDigitalActionData
InputDigitalActionData_t GetDigitalActionData( InputHandle_t inputHandle, InputDigitalActionHandle_t digitalActionHandle );
Название | Тип | Описание |
inputHandle | InputHandle_t | Дескриптор контроллера, который вы хотите опросить. |
digitalActionHandle | InputDigitalActionHandle_t | Дескриптор цифрового действия, которое вы хотите опросить. |
Возвращает текущее состояние предоставленного цифрового игрового действия.
Возвращает: InputDigitalActionData_tТекущее состояние указанного цифрового действия.
GetDigitalActionHandle
InputDigitalActionHandle_t GetDigitalActionHandle( const char *pszActionName );
Название | Тип | Описание |
pszActionName | const char * | Строковой идентификатор цифрового действия, заданный в .vdf-файле игры. |
Получает дескриптор указанного цифрового действия.
ПРИМЕЧАНИЕ: эта функция не принимает параметры дескрипторов наборов действий. Это означает, что каждому действию в .vdf-файле должен быть присвоен уникальный строковый идентификатор. Другими словами, если вы используете действие с названием «up» в двух различных наборах действий, эта функция вернёт только один из них, а другое будет проигнорировано.
Возвращает: InputDigitalActionHandle_tПолучает дескриптор указанного цифрового действия.
Пример:InputDigitalActionHandle_t punchHandle = SteamInput()->GetDigitalActionHandle( "punch" );
GetDigitalActionOrigins
int GetDigitalActionOrigins( InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle, InputDigitalActionHandle_t digitalActionHandle, EInputActionOrigin *originsOut );
Получает источник(и) цифрового действия в наборе действий, заполняя
originsOut
дескрипторами
EControllerActionOrigin. Используйте, чтобы отобразить соответствующую экранную подсказку для действия.
Возвращает: int
Число источников, предоставленных в
originsOut
.
Пример:EInputActionOrigin *origins = new EInputActionOrigin[];
SteamInput()->GetDigitalActionOrigins( controller1Handle, fightingSetHandle, punchHandle, origins );
GetGamepadIndexForController
int GetGamepadIndexForController( InputHandle_t ulControllerHandle );
Название | Тип | Описание |
ulControllerHandle | InputHandle_t | Дескриптор контроллера, для которого вы хотите индекс геймпада. |
При эмуляции геймпада возвращает связанный индекс геймпада для указанного контроллера.
Возвращает: int
Пример:int gamepadIndex = SteamInput()->GetGamepadIndexForController( controller1Handle );
GetGlyphForActionOrigin
const char * GetGlyphForActionOrigin( EInputActionOrigin eOrigin );
Получает локальный путь к изображению экранной подсказки для определённого источника (origin).
Возвращает: const char *
Путь к png-файлу иконки.
Например:
"C:\Program Files (x86)\Steam\tenfoot\resource\images\library\controller\api\ps4_button_x.png"
Пример:// Получает источники для punch
EInputActionOrigin *origins = new EInputActionOrigin[];
SteamInput()->GetDigitalActionOrigins( controller1Handle, fightingSetHandle, punchHandle, origins );
EInputActionOrigin firstOrigin = origins[0]; //i.e, k_EInputActionOrigin_PS4_X
// Это функция из самой игры, пытающаяся получить пользовательское изображение иконки
int glyphTextureID = getHardCodedButtonGlyphTexture( firstOrigin );
// В игре нет изображений для этого источника ввода! Вероятно, Steam добавил поддержку
// нового контроллера, или мы забыли добавить это изображение!
//(к примеру, у нас есть подсказки только для контроллера PlayStation 4)
if( glyphTextureID == -1 )
{
// Просто возьмите изображение из клиента Steam.
const char *localGlyphPath = SteamInput()->GetGlyphForActionOrigin( firstOrigin );
printf( "path = %s\n", localGlyphPath ); // "path = C:\Program Files (x86)\Steam\tenfoot\resource\images\library\controller\api\ps4_button_x.png"
//функция из игры, которая превращает путь файла в игровую текстуру для использования
glyphTextureID = loadButtonGlyphTextureFromLocalPath( localGlyphPath );
}
GetInputTypeForHandle
ESteamInputType GetInputTypeForHandle( InputHandle_t inputHandle );
Название | Тип | Описание |
inputHandle | InputHandle_t | Дескриптор контроллера, чей тип ввода (модель устройства) вы хотите запросить. |
Возвращает тип ввода (модель устройства) указанного контроллера. Это позволит вам получить информацию о том, какой контроллер используется: Steam Controller, контроллер Xbox 360, контроллер PS4 и т. п.
Возвращает: ESteamInputTypeПример:ESteamInputType inputType = SteamInput()->GetInputTypeForHandle(controller1Handle);
switch(inputType)
{
case k_ESteamInputType_Unknown:
printf("unknown!\n"); break;
case k_ESteamInputType_SteamController:
printf("Steam controller!\n"); break;
case k_ESteamInputType_XBox360Controller:
printf("XBox 360 controller!\n"); break;
case k_ESteamInputType_XBoxOneController:
printf("XBox One controller!\n"); break;
case k_ESteamInputType_GenericXInput:
printf("Generic XInput!\n"); break;
case k_ESteamInputType_PS4Controller:
printf("PS4 controller!\n"); break;
}
GetMotionData
InputMotionData_t GetMotionData( InputHandle_t inputHandle );
Название | Тип | Описание |
inputHandle | InputHandle_t | Дескриптор контроллера, для которого вы хотите получить данные движения. |
Возвращает необработанные данные движения для указанного контроллера.
Возвращает: InputMotionData_tПример:InputMotionData_t motionData = SteamInput()->GetControllerMotionData( inputHandle );
GetStringForActionOrigin
const char * GetStringForActionOrigin( EInputActionOrigin eOrigin );
Возвращает переведённую строку (согласно настройкам языка Steam) для указанного источника.
Возвращает: const char *
Пример:EInputActionOrigin *origins = new EInputActionOrigin[];
SteamInput()->GetDigitalActionOrigins( controller1Handle, fightingSetHandle, punchHandle, origins );
const char * punchString = SteamInput()->GetStringForActionOrigin( origins[0] );
printf("punch = %s\n",punchString);
Init
bool Init();
Должна вызываться в начале использования интерфейса
ISteamInput.
Возвращает: bool
Всегда возвращает
true.
Пример:SteamInput()->Init();
RunFrame
void RunFrame();
Синхронизует состояние API с последними доступными элементами ввода контроллера. Это автоматически выполняется SteamAPI_RunCallbacks, но чтобы задержка была минимально возможной, вы можете вызвать эту функцию непосредственно перед чтением состояния контроллера.
Пример:SteamInput()->RunFrame();
SetDualSenseTriggerEffect
void SetDualSenseTriggerEffect( InputHandle_t inputHandle, const ScePadTriggerEffectParam *pParam );
Название | Тип | Описание |
inputHandle | InputHandle_t | Дескриптор контроллера, на который вы хотите воздействовать. |
pParam | ScePadTriggerEffectParam | Параметр срабатывания, указанный в isteamdualsense.h |
Определяет способ срабатывания контроллера DualSense.
Пример: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 );
Название | Тип | Описание |
inputHandle | InputHandle_t | Дескриптор контроллера, на который вы хотите воздействовать. |
nColorR | uint8 | Значение для красного компонента цвета (0–255). |
nColorG | uint8 | Значение для зелёного компонента цвета (0–255). |
nColorB | uint8 | Значение для синего компонента цвета (0–255). |
nFlags | unsigned int | Флаги в виде битовых масок, полученные из значений, определённых в ESteamControllerLEDFlag. |
Устанавливает цвет индикатора на поддерживаемых контроллерах.
Примечания:VSC поддерживает только белый цвет и интерпретирует значения цветов RGB как оттенки серого, влияя на яркость светодиодного индикатора кнопки Steam.
DS4 реагирует на всю информацию о цвете и использует полученные значения для настройки цвета и яркости световой панели.
Пример:// Восстанавливает стандартный пользовательский цвет для контроллера 1:
SteamInput()->SetLEDColor( controller1Handle, 0, 0, 0, k_ESteamControllerLEDFlag_RestoreUserDefault );
// Устанавливает цвет маджента для контроллера 2:
SteamInput()->SetLEDColor( controller2Handle, 255, 0, 255, k_ESteamControllerLEDFlag_SetColor );
ShowAnalogActionOrigins
bool ShowAnalogActionOrigins( InputHandle_t inputHandle, InputAnalogActionHandle_t analogActionHandle, float flScale, float flXPosition, float flYPosition );
Функция устарела.
Возвращает: bool
Всегда возвращает
true.
ShowBindingPanel
bool ShowBindingPanel( InputHandle_t inputHandle );
Название | Тип | Описание |
inputHandle | InputHandle_t | Дескриптор контроллера, для которого вы хотите открыть экран настройки раскладки. |
Вызывает оверлей Steam и экран настройки раскладки.
Возвращает: bool
true в случае успешного вызова,
false, если оверлей отключён или недоступен. Если пользователь играет в режиме Big Picture, экран настройки откроется в оверлее. В режиме рабочего стола будет создано всплывающее окно режима Big Picture, в котором откроется экран настройки.
Пример:SteamInput()->ShowBindingPanel( myControllerHandle );
ShowDigitalActionOrigins
bool ShowDigitalActionOrigins( InputHandle_t inputHandle, InputDigitalActionHandle_t digitalActionHandle, float flScale, float flXPosition, float flYPosition );
Функция устарела.
Возвращает: bool
Всегда возвращает
true.
Shutdown
bool Shutdown();
Должна вызываться при завершении использования интерфейса
ISteamInput.
Возвращает: bool
Всегда возвращает
true.
Пример:SteamInput()->Shutdown();
StopAnalogActionMomentum
void StopAnalogActionMomentum( InputHandle_t inputHandle, InputAnalogActionHandle_t eAction );
Название | Тип | Описание |
inputHandle | InputHandle_t | Дескриптор контроллера, на который вы хотите воздействовать. |
eAction | InputAnalogActionHandle_t | Аналоговое действие, для которого необходимо остановить импульс. |
Останавливает импульс аналогового действия (если применимо — например, тачпад с настройками виртуального трекбола).
ПРИМЕЧАНИЕ:Данное действие также остановит все связанные эффекты тактильной отдачи. Это может пригодиться в тех случаях, когда вы хотите оповестить пользователя о том, что был достигнут лимит при выполнении какого-либо действия, например прокрутки карусели или веб-страницы.
Пример:SteamInput()->StopAnalogActionMomentum( controller1Handle, moveHandle );
TriggerHapticPulse
void TriggerHapticPulse( InputHandle_t inputHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec );
Название | Тип | Описание |
inputHandle | InputHandle_t | Дескриптор контроллера, на который вы хотите воздействовать. |
eTargetPad | ESteamControllerPad | Тачпад с тактильной отдачей, на который вы хотите воздействовать. |
usDurationMicroSec | unsigned short | Продолжительность импульса в микросекундах (миллионных долях секунды). |
Запускает тактильную отдачу (на низком уровне) на поддерживающих эту функцию контроллерах.
Примечание:Сейчас только VSC поддерживает тактильную отдачу.
Для остальных моделей контроллеров вызов этого API будет проигнорирован.
Обычно максимальное значение unsigned short — 65 535. Это означает, что самая долгая тактильная отдача при помощи этого способа может равняться 0,065535 секундам (менее 1/10 секунды). Эту функцию следует рассматривать как низкоуровневый примитив, предназначенный для многократного использования на более высоких уровнях, чтобы сгенерировать более сложное поведение.
Пример://Единоразовый импульс продолжительностью 1/20 секунды
SteamController()->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 );
Название | Тип | Описание |
inputHandle | InputHandle_t | Дескриптор контроллера, на который вы хотите воздействовать. |
eTargetPad | ESteamControllerPad | Тачпад с тактильной отдачей, на который вы хотите воздействовать. |
usDurationMicroSec | unsigned short | Продолжительность импульса в микросекундах (одна миллионная доля секунды). |
usOffMicroSec | unsigned short | Продолжительность паузы между импульсами в микросекундах. |
unRepeat | unsigned short | Число повторов цикла usDurationMicroSec /usOffMicroSec . |
nFlags | unsigned int | Сейчас не используется, параметр сохранён на будущее. |
Запускает повторяющиеся импульсы тактильной отдачи на поддерживаемых контроллерах.
Примечание:Сейчас импульсы тактильной отдачи поддерживаются только на Steam Controller, Steam Deck и Nintendo Switch Pro.
Для остальных моделей контроллеров вызов этого API будет проигнорирован.
Эта функция удобнее, чем TriggerHapticPulse, так как создаёт достаточно длинные и более заметные для пользователя последовательности импульсов.
Изменение параметров usDurationMicroSec и usOffMicroSec задаёт «фактуру» импульсов тактической отдачи.
Пример://Пульсация в течение одной секунды, каждый цикл включения/выключения пульсов имеет продолжительность 1/20 секунды
SteamController()->TriggerRepeatedHapticPulse( controller1Handle, k_ESteamControllerPad_Left, 50000, 50000, 10 );
TriggerVibration
void TriggerVibration( InputHandle_t inputHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed );
Название | Тип | Описание |
inputHandle | InputHandle_t | Дескриптор контроллера, на который вы хотите воздействовать. |
usLeftSpeed | unsigned short | Значение интенсивности для левого моторчика вибрации. |
usRightSpeed | unsigned short | Значение интенсивности для правого моторчика вибрации. |
Активирует вибрацию на поддерживаемых контроллерах.
Примечание:Для несовместимых моделей контроллеров вызов этого API будет проигнорирован.
Создаёт стандартный эффект вибрации.
VSC эмулирует традиционную вибрацию с помощью тактильной отдачи.
Пример:SteamInput()->TriggerVibration( controller1Handle, 10000, 10000 );
TriggerVibrationExtended
void TriggerVibrationExtended( InputHandle_t inputHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed );
Название | Тип | Описание |
inputHandle | InputHandle_t | Дескриптор контроллера, на который вы хотите воздействовать. |
usLeftSpeed | unsigned short | Значение интенсивности для левого моторчика вибрации. |
usRightSpeed | unsigned short | Значение интенсивности для правого моторчика вибрации. |
usLeftTriggerSpeed | unsigned short | Значение интенсивности для левого импульсного триггера Xbox. |
usRightTriggerSpeed | unsigned short | Значение интенсивности для правого импульсного триггера Xbox. |
Активирует вибрацию на поддерживаемых контроллерах, в том числе импульсные триггеры Xbox.
Примечание:Для поддержки настройки вибрации импульсных триггеров Xbox на Windows необходимо установить драйвер Xbox Extended Feature support.
Steam Controller и Steam Deck эмулируют традиционную вибрацию с помощью тактильной отдачи.
Пример:SteamInput()->TriggerVibrationExtended( controller1Handle, 10000, 10000, 10000, 10000 );
GetActionOriginFromXboxOrigin
EInputActionOrigin GetActionOriginFromXboxOrigin( InputHandle_t inputHandle, EXboxOrigin eOrigin );
Название | Тип | Описание |
inputHandle | InputHandle_t | Дескриптор контроллера, на который вы хотите воздействовать. Его можно получить с помощью функции GetControllerForGamepadIndex. |
eOrigin | EXboxOrigin | Кнопка, для которой вы хотите получить изображение, например k_EXboxOrigin_A. |
Возвращает: EInputActionOrigin
Получает источник действия, который можно использовать для поиска по таблице иконок или передать функциям GetGlyphForActionOrigin и GetStringForActionOrigin.
Пример:int nXinputSlot = 1; // Замените на номер слота Xinput игрока
InputHandle_t controller1Handle = GetControllerForGamepadIndex( nXinputSlot );
EInputActionOrigin buttonOrigin = SteamInput()->GetActionOriginFromXboxOrigin( controller1Handle, k_EXboxOrigin_A );
// Получает изображение от клиента Steam.
const char *localGlyphPath = SteamInput()->GetGlyphForActionOrigin( buttonOrigin );
printf( "path = %s\n", localGlyphPath ); // "path = C:\Program Files (x86)\Steam\tenfoot\resource\images\library\controller\api\ps4_button_x.png"
//Функция в игре, преобразовывает путь к файлу в применимую текстуру
glyphTextureID = loadButtonGlyphTextureFromLocalPath( localGlyphPath );
TranslateActionOrigin
EInputActionOrigin TranslateActionOrigin( ESteamInputType eDestinationInputType, EInputActionOrigin eSourceOrigin );
Название | Тип | Описание |
inputHandle | InputHandle_t | Дескриптор контроллера, на который вы хотите воздействовать. Его можно получить с помощью функции GetControllerForGamepadIndex. |
eDestinationInputType | ESteamInputType | Тип контроллера, для которого вы адаптируете действие. Steam выберет наиболее подходящий тип из вашей версии SDK, если используется k_ESteamInputType_Unknown. |
eSourceOrigin | EInputActionOrigin | Кнопка, которую вы настраиваете. |
Возвращает: EInputActionOrigin
Получает эквивалент источника для данного или максимально похожего типа контроллера из SDK в вашей игре, если значение параметра eDestinationInputType равно k_ESteamInputType_Unknown. Этот источник действия можно использовать для поиска по таблице иконок или передать функциям GetGlyphForActionOrigin и GetStringForActionOrigin.
Пример:int nXinputSlot = 1; // Замените на корректный слот Xinput игрока
InputHandle_t controller1Handle = GetControllerForGamepadIndex( nXinputSlot );
EInputActionOrigin buttonOrigin = SteamInput()->GetActionOriginFromXboxOrigin( controller1Handle, k_EXboxOrigin_A ); // например, k_EInputActionOrigin_PS4_X
if ( buttonOrigin >= k_EInputActionOrigin_Count )
{
// В игре нет изображений для этого источника! Вероятно, в Steam добавили поддержку
// нового контроллера. Мы можем получить ближайшее значение, которое поддерживается используемым SDK
buttonOrigin = SteamController()->TranslateActionOrigin( k_ESteamInputType_Unknown, buttonOrigin )
}
// Это функция игры, которая пытается получить пользовательское изображение иконки
int glyphTextureID = getHardCodedButtonGlyphTexture( actionOrigin );
GetDeviceBindingRevision
bool GetDeviceBindingRevision( InputHandle_t inputHandle, int *pMajor, int *pMinor );
Название | Тип | Описание |
inputHandle | InputHandle_t | Дескриптор контроллера, о котором запрашивается информация. |
pMajor | int * | Указатель на int, куда будет добавлена основная версия раскладки. |
pMinor | int * | Указатель на int, куда будет добавлена второстепенная версия раскладки. |
Возвращает: bool true, если раскладка успешно найдена, false, если раскладка ещё не загрузилась.
Получает основную и второстепенную версии раскладок устройств для API ввода Steam. Основные версии раскладок предназначены для случаев, когда меняется число наборов действий или раскладки обновляются таким образом, что предыдущие версии больше нельзя использовать. Steam принудительно обновит раскладку пользователя, если она отличается от основной версии текущей официальной раскладки. При обновлении основной версии необходимо будет создать новые раскладки для каждого контроллера. Второстепенные версии предназначены для небольших изменений, например добавления нового необязательного действия или обновления локализации. При обновлении второстепенной версии обычно можно обновить одну раскладку и поставить галочку «Использовать блок действий», чтобы применить изменения блока действий к другим раскладкам.
Пример кода:int nMajorRevision = -1;
int nMinorRevision= -1;
const int nCurrentMajorRevision = 1;
const int nCurrentMinorRevision = 1;
if ( GetDeviceBindingRevision( inputHandle, &nMajorRevision , &nMinorRevision ) )
{
if ( nMinorRevision != nCurrentMinorRevision )
{
// Второстепенная версия устарела, но это не проблема
// Это будет исправлено при следующем редактировании раскладки
}
if ( nMajorRevision != nCurrentMajorRevision )
{
// Эта ситуация должна возникать только в течение короткого периода времени,
// когда Steam обнаружит несоответствие и принудительно обновит раскладку пользователя до последней официальной версии
}
}
else
{
// Раскладка для этого контроллера пока не загружена
}
Пример использования файла внутриигровых действий:"In Game Actions"
{
"major_revision" "0"
"minor_revision" "1"
"actions"
{
...
GetRemotePlaySessionID
uint32 GetRemotePlaySessionID( InputHandle_t inputHandle );
Название | Тип | Описание |
inputHandle | InputHandle_t | Дескриптор контроллера, о котором запрашивается информация. |
Возвращает: uint32 — идентификатор сессии Steam Remote Play
Получает идентификатор сессии Steam Remote Play, связанной с устройством. Если такой сессии нет, возвращает 0. Больше информации о сессиях Remote Play можно найти в описании isteamremoteplay.h.
Структуры
Приведённые ниже структуры могут быть возвращены функциями ISteamInput, а также эти функции могут с ними взаимодействовать.
InputAnalogActionData_t
Содержит текущее состояние аналогового действия.
Примечания: - Точные значения, диапазоны и проч. зависят от настроек, но (в широком смысле) традиционные аналоговые действия должны отдавать нормированные float-значения в интервале от -1,0 до 1,0, а действия, подобные действиям мыши, должны отдавать дельты изменений, которые показывают число пикселей движения по отношению к предыдущему кадру. Подобные мыши действия отдают x и y с большими абсолютными значениями и относительны к последней записанной позиции, в то время как традиционные аналоговые действия обладают меньшими значениями и относительны к центральному якорю.
- Хотя дельты, отдаваемые подобными мыши действиями, подобны пиксельным дельтам, предоставляемым ОС, дельты контроллеров являются числами в формате float, a не int. Соответственно, при привязывании этих данных к вращению камеры меньше теряется точность и происходит меньшая дискретизация.
- В случае с одноосными элементами ввода (к примеру, аналоговыми триггерами), данные будет содержать только ось x, а значение по y всегда будет равно нулю.
Название | Тип | Описание |
eMode | EControllerSourceMode | Тип данных, полученных в результате этого действия, будет соответствовать указанному в VDF-файле определению набора действий. |
x | float | Текущее состояние данного действия на горизонтальной оси. |
y | float | Текущее состояние данного действия на вертикальной оси. |
bActive | bool | Показывает, доступно ли в данный момент это действие для привязки к активному набору действий. Если оно недоступно ИЛИ не относится к активному набору действий, будет выбрано значение false. |
InputDigitalActionData_t
Содержит текущее состояние цифрового действия.
Название | Тип | Описание |
bState | bool | Текущее состояние действия: true, если действие выполняется в данный момент, в противном случае — false. |
bActive | bool | Показывает, доступно ли в данный момент это действие для привязки к активному набору действий. |
InputMotionData_t
Содержит текущее состояние датчиков движения устройства.
Примечание: Для параметров rotQuatX/rotQuatY/rotQuatZ/rotQuatW инерционный измеритель контроллера создаст кватернион на основе данных гироскопа и акселерометра. Это абсолютное значение положения контроллера, но со смещением по оси рыскания.
Позиционное ускорение передаётся в виде интерполированного значения в диапазоне между INT16_MIN и INT16_MAX, причём крайние значения фиксируются в пределах ±2G (1G = 9,80665 м/с
2).
Угловая скорость передаётся в виде интерполированного значения в диапазоне между INT16_MIN и INT16_MAX, причём крайние значения фиксируются в пределах ±2000 градусов в секунду.
Название | Тип | Описание |
rotQuatX | float | Абсолютное вращение на основе объединения данных датчиков (со смещением) по оси x. |
rotQuatY | float | Абсолютное вращение на основе объединения данных датчиков (со смещением) по оси y. |
rotQuatZ | float | Абсолютное вращение на основе объединения данных датчиков (со смещением) по оси z. |
rotQuatW | float | Абсолютное вращение на основе объединения данных датчиков (со смещением) по оси w. |
posAccelX | float | Позиционное ускорение по оси x. |
posAccelY | float | Позиционное ускорение по оси y. |
posAccelZ | float | Позиционное ускорение по оси z. |
rotVelX | float | Угловая скорость по оси x. |
rotVelY | float | Угловая скорость по оси y. |
rotVelZ | float | Угловая скорость по оси z. |
Список перечислений (enum)
Далее приведён список перечислений, которые определены для использования с ISteamInput.
EInputActionOrigin
Данные ввода, которые игрок привязывает к действиям в интерфейсе настройки ввода Steam. Основная цель этих значений — указать, какие экранные иконки кнопок должны отображаться для определённого действия, например «Для прыжка нажмите [A]».
Название | Значение | Описание |
k_EInputActionOrigin_None | 0 | |
k_EInputActionOrigin_A | 1 | Valve Steam Controller: цифровая лицевая кнопка A. |
k_EInputActionOrigin_B | 2 | Valve Steam Controller: цифровая лицевая кнопка B. |
k_EInputActionOrigin_X | 3 | Valve Steam Controller: цифровая лицевая кнопка X. |
k_EInputActionOrigin_Y | 4 | Valve Steam Controller: цифровая лицевая кнопка Y. |
k_EInputActionOrigin_LeftBumper | 5 | Valve Steam Controller: цифровой левый бампер. |
k_EInputActionOrigin_RightBumper | 6 | Valve Steam Controller: цифровой правый бампер. |
k_EInputActionOrigin_LeftGrip | 7 | Valve Steam Controller: цифровой левый хват. |
k_EInputActionOrigin_RightGrip | 8 | Valve Steam Controller: цифровой правый хват. |
k_EInputActionOrigin_Start | 9 | Valve Steam Controller: цифровая кнопка «Старт». |
k_EInputActionOrigin_Back | 10 | Valve Steam Controller: цифровая кнопка «Назад». |
k_EInputActionOrigin_LeftPad_Touch | 11 | Valve Steam Controller: левый тачпад с тактильной отдачей, касание. |
k_EInputActionOrigin_LeftPad_Swipe | 12 | Valve Steam Controller: левый тачпад с тактильной отдачей, сенсорный ввод по любой оси. |
k_EInputActionOrigin_LeftPad_Click | 13 | Valve Steam Controller: левый тачпад с тактильной отдачей, цифровое нажатие (на весь тачпад). |
k_EInputActionOrigin_LeftPad_DPadNorth | 14 | Valve Steam Controller: левый тачпад с тактильной отдачей, цифровое нажатие (на область вверху). |
k_EInputActionOrigin_LeftPad_DPadSouth | 15 | Valve Steam Controller: левый тачпад с тактильной отдачей, цифровое нажатие (на область внизу). |
k_EInputActionOrigin_LeftPad_DPadWest | 16 | Valve Steam Controller: левый тачпад с тактильной отдачей, цифровое нажатие (на область слева). |
k_EInputActionOrigin_LeftPad_DPadEast | 17 | Valve Steam Controller: левый тачпад с тактильной отдачей, цифровое нажатие (на область справа). |
k_EInputActionOrigin_RightPad_Touch | 18 | Valve Steam Controller: правый тачпад с тактильной отдачей, касание. |
k_EInputActionOrigin_RightPad_Swipe | 19 | Valve Steam Controller: правый тачпад с тактильной отдачей, сенсорный ввод по любой оси. |
k_EInputActionOrigin_RightPad_Click | 20 | Valve Steam Controller: правый тачпад с тактильной отдачей, цифровое нажатие (на весь тачпад). |
k_EInputActionOrigin_RightPad_DPadNorth | 21 | Valve Steam Controller: правый тачпад с тактильной отдачей, цифровое нажатие (на область вверху). |
k_EInputActionOrigin_RightPad_DPadSouth | 22 | Valve Steam Controller: правый тачпад с тактильной отдачей, цифровое нажатие (на область внизу). |
k_EInputActionOrigin_RightPad_DPadWest | 23 | Valve Steam Controller: правый тачпад с тактильной отдачей, цифровое нажатие (на область слева). |
k_EInputActionOrigin_RightPad_DPadEast | 24 | Valve Steam Controller: правый тачпад с тактильной отдачей, цифровое нажатие (на область справа). |
k_EInputActionOrigin_LeftTrigger_Pull | 25 | Valve Steam Controller: левый аналоговый триггер, нажатие любой интенсивности (аналоговое значение). |
k_EInputActionOrigin_LeftTrigger_Click | 26 | Valve Steam Controller: левый аналоговый триггер, нажатие максимальной интенсивности (цифровое значение). |
k_EInputActionOrigin_RightTrigger_Pull | 27 | Valve Steam Controller: правый аналоговый триггер, нажатие любой интенсивности (аналоговое значение). |
k_EInputActionOrigin_RightTrigger_Click | 28 | Valve Steam Controller: правый аналоговый триггер, нажатие максимальной интенсивности (цифровое значение). |
k_EInputActionOrigin_LeftStick_Move | 29 | Valve Steam Controller: левый джойстик, движение по любой оси (аналоговое значение). |
k_EInputActionOrigin_LeftStick_Click | 30 | Valve Steam Controller: левый джойстик, нажатие (цифровое значение). |
k_EInputActionOrigin_LeftStick_DPadNorth | 31 | Valve Steam Controller: левый джойстик, цифровое движение (в области вверху). |
k_EInputActionOrigin_LeftStick_DPadSouth | 32 | Valve Steam Controller: левый джойстик, цифровое движение (в области внизу). |
k_EInputActionOrigin_LeftStick_DPadWest | 33 | Valve Steam Controller: левый джойстик, цифровое движение (в области слева). |
k_EInputActionOrigin_LeftStick_DPadEast | 34 | Valve Steam Controller: левый джойстик, цифровое движение (в области справа). |
k_EInputActionOrigin_Gyro_Move | 35 | Valve Steam Controller: гироскоп, аналоговое движение по любой оси. |
k_EInputActionOrigin_Gyro_Pitch | 36 | Valve Steam Controller: гироскоп, аналоговое движение по оси тангажа (отклонение вверх к потолку, вниз — к полу). |
k_EInputActionOrigin_Gyro_Yaw | 37 | Valve Steam Controller: гироскоп, аналоговое движение по оси рысканья (поворот налево к одной стене, направо — к противоположной). |
k_EInputActionOrigin_Gyro_Roll | 38 | Valve Steam Controller: гироскоп, аналоговое движение по оси крена (наклоны влево и вправо). |
k_EInputActionOrigin_SteamController_Reserved0 | 39 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_SteamController_Reserved1 | 40 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_SteamController_Reserved2 | 41 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_SteamController_Reserved3 | 42 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_SteamController_Reserved4 | 43 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_SteamController_Reserved5 | 44 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_SteamController_Reserved6 | 45 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_SteamController_Reserved7 | 46 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_SteamController_Reserved8 | 47 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_SteamController_Reserved9 | 48 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_SteamController_Reserved10 | 49 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_PS4_X | 50 | Sony Dualshock 4: цифровая лицевая кнопка X. |
k_EInputActionOrigin_PS4_Circle | 51 | Sony Dualshock 4: цифровая лицевая кнопка ◯. |
k_EInputActionOrigin_PS4_Triangle | 52 | Sony Dualshock 4: цифровая лицевая кнопка △. |
k_EInputActionOrigin_PS4_Square | 53 | Sony Dualshock 4: цифровая лицевая кнопка ⬜. |
k_EInputActionOrigin_PS4_LeftBumper | 54 | Sony Dualshock 4: левый цифровой бампер. |
k_EInputActionOrigin_PS4_RightBumper | 55 | Sony Dualshock 4: правый цифровой бампер. |
k_EInputActionOrigin_PS4_Options | 56 | Sony Dualshock 4: цифровая кнопка OPTIONS (или «Старт»). |
k_EInputActionOrigin_PS4_Share | 57 | Sony Dualshock 4: цифровая кнопка SHARE (или «Назад»). |
k_EInputActionOrigin_PS4_LeftPad_Touch | 58 | Sony Dualshock 4: левая половина тачпада, касание. |
k_EInputActionOrigin_PS4_LeftPad_Swipe | 59 | Sony Dualshock 4: левая половина тачпада, сенсорный ввод по любой оси. |
k_EInputActionOrigin_PS4_LeftPad_Click | 60 | Sony Dualshock 4: левая половина тачпада, цифровое нажатие (на весь тачпад). |
k_EInputActionOrigin_PS4_LeftPad_DPadNorth | 61 | Sony Dualshock 4: левая половина тачпада, цифровое нажатие (на область вверху). |
k_EInputActionOrigin_PS4_LeftPad_DPadSouth | 62 | Sony Dualshock 4: левая половина тачпада, цифровое нажатие (на область внизу). |
k_EInputActionOrigin_PS4_LeftPad_DPadWest | 63 | Sony Dualshock 4: левая половина тачпада, цифровое нажатие (на область слева). |
k_EInputActionOrigin_PS4_LeftPad_DPadEast | 64 | Sony Dualshock 4: левая половина тачпада, цифровое нажатие (на область справа). |
k_EInputActionOrigin_PS4_RightPad_Touch | 65 | Sony Dualshock 4: правая половина тачпада, касание. |
k_EInputActionOrigin_PS4_RightPad_Swipe | 66 | Sony Dualshock 4: правая половина тачпада, сенсорный ввод по любой оси. |
k_EInputActionOrigin_PS4_RightPad_Click | 67 | Sony Dualshock 4: правая половина тачпада, цифровое нажатие (на весь тачпад). |
k_EInputActionOrigin_PS4_RightPad_DPadNorth | 68 | Sony Dualshock 4: правая половина тачпада, цифровое нажатие (на область вверху). |
k_EInputActionOrigin_PS4_RightPad_DPadSouth | 69 | Sony Dualshock 4: правая половина тачпада, цифровое нажатие (на область внизу). |
k_EInputActionOrigin_PS4_RightPad_DPadWest | 70 | Sony Dualshock 4: правая половина тачпада, цифровое нажатие (на область слева). |
k_EInputActionOrigin_PS4_RightPad_DPadEast | 71 | Sony Dualshock 4: правая половина тачпада, цифровое нажатие (на область справа). |
k_EInputActionOrigin_PS4_CenterPad_Touch | 72 | Sony Dualshock 4: объединённый тачпад, касание. |
k_EInputActionOrigin_PS4_CenterPad_Swipe | 73 | Sony Dualshock 4: объединённый тачпад, сенсорный ввод по любой оси. |
k_EInputActionOrigin_PS4_CenterPad_Click | 74 | Sony Dualshock 4: объединённый тачпад, цифровое нажатие (на весь тачпад). |
k_EInputActionOrigin_PS4_CenterPad_DPadNorth | 75 | Sony Dualshock 4: объединённый тачпад, цифровое нажатие (на область вверху). |
k_EInputActionOrigin_PS4_CenterPad_DPadSouth | 76 | Sony Dualshock 4: объединённый тачпад, цифровое нажатие (на область внизу). |
k_EInputActionOrigin_PS4_CenterPad_DPadWest | 77 | Sony Dualshock 4: объединённый тачпад, цифровое нажатие (на область слева). |
k_EInputActionOrigin_PS4_CenterPad_DPadEast | 78 | Sony Dualshock 4: объединённый тачпад, цифровое нажатие (на область справа). |
k_EInputActionOrigin_PS4_LeftTrigger_Pull | 79 | Sony Dualshock 4: левый аналоговый триггер, нажатие любой интенсивности (аналоговое значение). |
k_EInputActionOrigin_PS4_LeftTrigger_Click | 80 | Sony Dualshock 4: левый аналоговый триггер, нажатие максимальной интенсивности (цифровое значение). |
k_EInputActionOrigin_PS4_RightTrigger_Pull | 81 | Sony Dualshock 4: правый аналоговый триггер, нажатие любой интенсивности (аналоговое значение). |
k_EInputActionOrigin_PS4_RightTrigger_Click | 82 | Sony Dualshock 4: правый аналоговый триггер, нажатие максимальной интенсивности (цифровое значение). |
k_EInputActionOrigin_PS4_LeftStick_Move | 83 | Sony Dualshock 4: левый джойстик, движение по любой оси (аналоговое значение). |
k_EInputActionOrigin_PS4_LeftStick_Click | 84 | Sony Dualshock 4: левый джойстик, нажатие (цифровое значение). |
k_EInputActionOrigin_PS4_LeftStick_DPadNorth | 85 | Sony Dualshock 4: левый джойстик, цифровое движение (в области вверху). |
k_EInputActionOrigin_PS4_LeftStick_DPadSouth | 86 | Sony Dualshock 4: левый джойстик, цифровое движение (в области внизу). |
k_EInputActionOrigin_PS4_LeftStick_DPadWest | 87 | Sony Dualshock 4: левый джойстик, цифровое движение (в области слева). |
k_EInputActionOrigin_PS4_LeftStick_DPadEast | 88 | Sony Dualshock 4: левый джойстик, цифровое движение (в области справа). |
k_EInputActionOrigin_PS4_RightStick_Move | 89 | Sony Dualshock 4: правый джойстик, движение по любой оси (аналоговое значение). |
k_EInputActionOrigin_PS4_RightStick_Click | 90 | Sony Dualshock 4: правый джойстик, нажатие (цифровое значение). |
k_EInputActionOrigin_PS4_RightStick_DPadNorth | 91 | Sony Dualshock 4: правый джойстик, цифровое движение (в области вверху). |
k_EInputActionOrigin_PS4_RightStick_DPadSouth | 92 | Sony Dualshock 4: правый джойстик, цифровое движение (в области внизу). |
k_EInputActionOrigin_PS4_RightStick_DPadWest | 93 | Sony Dualshock 4: правый джойстик, цифровое движение (в области слева). |
k_EInputActionOrigin_PS4_RightStick_DPadEast | 94 | Sony Dualshock 4: правый джойстик, цифровое движение (в области справа). |
k_EInputActionOrigin_PS4_DPad_North | 95 | Sony Dualshock 4: крестовина, нажатие (на область вверху). |
k_EInputActionOrigin_PS4_DPad_South | 96 | Sony Dualshock 4: крестовина, нажатие (на область внизу). |
k_EInputActionOrigin_PS4_DPad_West | 97 | Sony Dualshock 4: крестовина, нажатие (на область слева). |
k_EInputActionOrigin_PS4_DPad_East | 98 | Sony Dualshock 4: крестовина, нажатие (на область справа). |
k_EInputActionOrigin_PS4_Gyro_Move | 99 | Sony Dualshock 4: гироскоп, аналоговое движение по любой оси. |
k_EInputActionOrigin_PS4_Gyro_Pitch | 100 | Sony Dualshock 4: гироскоп, аналоговое движение по оси тангажа (отклонение вверх к потолку, вниз — к полу). |
k_EInputActionOrigin_PS4_Gyro_Yaw | 101 | Sony Dualshock 4: гироскоп, аналоговое движение по оси рысканья (поворот налево к одной стене, направо — к противоположной). |
k_EInputActionOrigin_PS4_Gyro_Roll | 102 | Sony Dualshock 4: гироскоп, аналоговое движение по оси крена (наклоны влево и вправо). |
k_EInputActionOrigin_PS4_Reserved0 | 103 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_PS4_Reserved1 | 104 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_PS4_Reserved2 | 105 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_PS4_Reserved3 | 106 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_PS4_Reserved4 | 107 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_PS4_Reserved5 | 108 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_PS4_Reserved6 | 109 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_PS4_Reserved7 | 110 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_PS4_Reserved8 | 111 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_PS4_Reserved9 | 112 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_PS4_Reserved10 | 113 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_XBoxOne_A | 114 | XB1: цифровая лицевая кнопка A. |
k_EInputActionOrigin_XBoxOne_B | 115 | XB1: цифровая лицевая кнопка B. |
k_EInputActionOrigin_XBoxOne_X | 116 | XB1: цифровая лицевая кнопка X. |
k_EInputActionOrigin_XBoxOne_Y | 117 | XB1: цифровая лицевая кнопка Y. |
k_EInputActionOrigin_XBoxOne_LeftBumper | 118 | XB1: цифровой левый бампер. |
k_EInputActionOrigin_XBoxOne_RightBumper | 119 | XB1: цифровой правый бампер. |
k_EInputActionOrigin_XBoxOne_View | 121 | XB1: цифровая кнопка View (или «Назад»). |
k_EInputActionOrigin_XBoxOne_LeftTrigger_Pull | 122 | XB1: левый аналоговый триггер, нажатие любой интенсивности (аналоговое значение). |
k_EInputActionOrigin_XBoxOne_LeftTrigger_Click | 123 | XB1: левый аналоговый триггер, нажатие максимальной интенсивности (цифровое значение). |
k_EInputActionOrigin_XBoxOne_RightTrigger_Pull | 124 | XB1: правый аналоговый триггер, нажатие любой интенсивности (аналоговое значение). |
k_EInputActionOrigin_XBoxOne_RightTrigger_Click | 125 | XB1: правый аналоговый триггер, нажатие максимальной интенсивности (цифровое значение). |
k_EInputActionOrigin_XBoxOne_LeftStick_Move | 126 | XB1: левый джойстик, движение по любой оси (аналоговое значение). |
k_EInputActionOrigin_XBoxOne_LeftStick_Click | 127 | XB1: левый джойстик, нажатие (цифровое значение). |
k_EInputActionOrigin_XBoxOne_LeftStick_DPadNorth | 128 | XB1: левый джойстик, цифровое движение (в области вверху). |
k_EInputActionOrigin_XBoxOne_LeftStick_DPadSouth | 129 | XB1: левый джойстик, цифровое движение (в области внизу). |
k_EInputActionOrigin_XBoxOne_LeftStick_DPadWest | 130 | XB1: левый джойстик, цифровое движение (в области слева). |
k_EInputActionOrigin_XBoxOne_LeftStick_DPadEast | 131 | XB1: левый джойстик, цифровое движение (в области справа). |
k_EInputActionOrigin_XBoxOne_RightStick_Move | 132 | XB1: правый джойстик, движение по любой оси (аналоговое значение). |
k_EInputActionOrigin_XBoxOne_RightStick_Click | 133 | XB1: правый джойстик, нажатие (цифровое значение). |
k_EInputActionOrigin_XBoxOne_RightStick_DPadNorth | 134 | XB1: правый джойстик, цифровое движение (в области вверху). |
k_EInputActionOrigin_XBoxOne_RightStick_DPadSouth | 135 | XB1: правый джойстик, цифровое движение (в области внизу). |
k_EInputActionOrigin_XBoxOne_RightStick_DPadWest | 136 | XB1: правый джойстик, цифровое движение (в области слева). |
k_EInputActionOrigin_XBoxOne_RightStick_DPadEast | 137 | XB1: правый джойстик, цифровое движение (в области справа). |
k_EInputActionOrigin_XBoxOne_DPad_North | 138 | XB1: крестовина, нажатие (на область вверху). |
k_EInputActionOrigin_XBoxOne_DPad_South | 139 | XB1: крестовина, нажатие (на область внизу). |
k_EInputActionOrigin_XBoxOne_DPad_West | 140 | XB1: крестовина, нажатие (на область слева). |
k_EInputActionOrigin_XBoxOne_DPad_East | 141 | XB1: крестовина, нажатие (на область справа). |
k_EInputActionOrigin_XBoxOne_Reserved0 | 142 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_XBoxOne_Reserved1 | 143 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_XBoxOne_Reserved2 | 144 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_XBoxOne_Reserved3 | 145 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_XBoxOne_Reserved4 | 146 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_XBoxOne_Reserved5 | 147 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_XBoxOne_Reserved6 | 148 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_XBoxOne_Reserved7 | 149 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_XBoxOne_Reserved8 | 150 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_XBoxOne_Reserved9 | 151 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_XBoxOne_Reserved10 | 152 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_XBox360_A | 153 | X360: цифровая лицевая кнопка A. |
k_EInputActionOrigin_XBox360_B | 154 | X360: цифровая лицевая кнопка B. |
k_EInputActionOrigin_XBox360_X | 155 | X360: цифровая лицевая кнопка X. |
k_EInputActionOrigin_XBox360_Y | 156 | X360: цифровая лицевая кнопка Y. |
k_EInputActionOrigin_XBox360_LeftBumper | 157 | X360: цифровой левый бампер. |
k_EInputActionOrigin_XBox360_RightBumper | 158 | X360: цифровой правый бампер. |
k_EInputActionOrigin_XBox360_Start | 159 | X360: цифровая кнопка Start. |
k_EInputActionOrigin_XBox360_Back | 160 | X360: цифровая кнопка Back. |
k_EInputActionOrigin_XBox360_LeftTrigger_Pull | 161 | X360: левый аналоговый триггер, нажатие любой интенсивности (аналоговое значение). |
k_EInputActionOrigin_XBox360_LeftTrigger_Click | 162 | X360: левый аналоговый триггер, нажатие максимальной интенсивности (цифровое значение). |
k_EInputActionOrigin_XBox360_RightTrigger_Pull | 163 | X360: правый аналоговый триггер, нажатие любой интенсивности (аналоговое значение). |
k_EInputActionOrigin_XBox360_RightTrigger_Click | 164 | X360: правый аналоговый триггер, нажатие максимальной интенсивности (цифровое значение). |
k_EInputActionOrigin_XBox360_LeftStick_Move | 165 | X360: левый джойстик, движение по любой оси (аналоговое значение). |
k_EInputActionOrigin_XBox360_LeftStick_Click | 166 | X360: левый джойстик, нажатие (цифровое значение). |
k_EInputActionOrigin_XBox360_LeftStick_DPadNorth | 167 | X360: левый джойстик, цифровое движение (в области вверху). |
k_EInputActionOrigin_XBox360_LeftStick_DPadSouth | 168 | X360: левый джойстик, цифровое движение (в области внизу). |
k_EInputActionOrigin_XBox360_LeftStick_DPadWest | 169 | X360: левый джойстик, цифровое движение (в области слева). |
k_EInputActionOrigin_XBox360_LeftStick_DPadEast | 170 | X360: левый джойстик, цифровое движение (в области справа). |
k_EInputActionOrigin_XBox360_RightStick_Move | 171 | X360: правый джойстик, движение по любой оси (аналоговое значение). |
k_EInputActionOrigin_XBox360_RightStick_Click | 172 | X360: правый джойстик, нажатие (цифровое значение). |
k_EInputActionOrigin_XBox360_RightStick_DPadNorth | 173 | X360: правый джойстик, цифровое движение (в области вверху). |
k_EInputActionOrigin_XBox360_RightStick_DPadSouth | 174 | X360: правый джойстик, цифровое движение (в области внизу). |
k_EInputActionOrigin_XBox360_RightStick_DPadWest | 175 | X360: правый джойстик, цифровое движение (в области слева). |
k_EInputActionOrigin_XBox360_RightStick_DPadEast | 176 | X360: правый джойстик, цифровое движение (в области справа). |
k_EInputActionOrigin_XBox360_DPad_North | 177 | X360: крестовина, нажатие (на область вверху). |
k_EInputActionOrigin_XBox360_DPad_South | 178 | X360: крестовина, нажатие (на область внизу). |
k_EInputActionOrigin_XBox360_DPad_West | 179 | X360: крестовина, нажатие (на область слева). |
k_EInputActionOrigin_XBox360_DPad_East | 180 | X360: крестовина, нажатие (на область справа). |
k_EInputActionOrigin_XBox360_Reserved0 | 181 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_XBox360_Reserved1 | 182 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_XBox360_Reserved2 | 183 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_XBox360_Reserved3 | 184 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_XBox360_Reserved4 | 185 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_XBox360_Reserved5 | 186 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_XBox360_Reserved6 | 187 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_XBox360_Reserved7 | 188 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_XBox360_Reserved8 | 189 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_XBox360_Reserved9 | 190 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_XBox360_Reserved10 | 191 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_Switch_A | 192 | Nintendo Switch Pro: цифровая лицевая кнопка A. |
k_EInputActionOrigin_Switch_B | 193 | Nintendo Switch Pro: цифровая лицевая кнопка B. |
k_EInputActionOrigin_Switch_X | 194 | Nintendo Switch Pro: цифровая лицевая кнопка X. |
k_EInputActionOrigin_Switch_Y | 195 | Nintendo Switch Pro: цифровая лицевая кнопка Y. |
k_EInputActionOrigin_Switch_LeftBumper | 196 | Nintendo Switch Pro: цифровой левый бампер. |
k_EInputActionOrigin_Switch_RightBumper | 197 | Nintendo Switch Pro: цифровой правый бампер. |
k_EInputActionOrigin_Switch_Plus | 198 | Nintendo Switch Pro: кнопка «Плюс». |
k_EInputActionOrigin_Switch_Minus | 199 | Nintendo Switch Pro: кнопка «Минус». |
k_EInputActionOrigin_Switch_Capture | 200 | Nintendo Switch Pro: цифровая кнопка захвата кадра. |
k_EInputActionOrigin_Switch_LeftTrigger_Pull | 201 | Nintendo Switch Pro: левый триггер, нажатие. |
k_EInputActionOrigin_Switch_LeftTrigger_Click | 202 | Nintendo Switch Pro: левый триггер, нажатие (совпадает с предыдущим значением). |
k_EInputActionOrigin_Switch_RightTrigger_Pull | 203 | Nintendo Switch Pro: правый триггер, нажатие. |
k_EInputActionOrigin_Switch_RightTrigger_Click | 204 | Nintendo Switch Pro: правый триггер, нажатие (совпадает с предыдущим значением). |
k_EInputActionOrigin_Switch_LeftStick_Move | 205 | Nintendo Switch Pro: левый джойстик, движение по любой оси (аналоговое значение). |
k_EInputActionOrigin_Switch_LeftStick_Click | 206 | Nintendo Switch Pro: левый джойстик, нажатие (цифровое значение). |
k_EInputActionOrigin_Switch_LeftStick_DPadNorth | 207 | Nintendo Switch Pro: левый джойстик, цифровое движение (в области вверху). |
k_EInputActionOrigin_Switch_LeftStick_DPadSouth | 208 | Nintendo Switch Pro: левый джойстик, цифровое движение (в области внизу). |
k_EInputActionOrigin_Switch_LeftStick_DPadWest | 209 | Nintendo Switch Pro: левый джойстик, цифровое движение (в области слева). |
k_EInputActionOrigin_Switch_LeftStick_DPadEast | 210 | Nintendo Switch Pro: левый джойстик, цифровое движение (в области справа). |
k_EInputActionOrigin_Switch_RightStick_Move | 211 | Nintendo Switch Pro: правый джойстик, движение по любой оси (аналоговое значение). |
k_EInputActionOrigin_Switch_RightStick_Click | 212 | Nintendo Switch Pro: правый джойстик, нажатие (цифровое значение). |
k_EInputActionOrigin_Switch_RightStick_DPadNorth | 213 | Nintendo Switch Pro: правый джойстик, цифровое движение (в области вверху). |
k_EInputActionOrigin_Switch_RightStick_DPadSouth | 214 | Nintendo Switch Pro: правый джойстик, цифровое движение (в области внизу). |
k_EInputActionOrigin_Switch_RightStick_DPadWest | 215 | Nintendo Switch Pro: правый джойстик, цифровое движение (в области слева). |
k_EInputActionOrigin_Switch_RightStick_DPadEast | 216 | Nintendo Switch Pro: правый джойстик, цифровое движение (в области справа). |
k_EInputActionOrigin_Switch_DPad_North | 217 | Nintendo Switch Pro: крестовина, нажатие (на область вверху). |
k_EInputActionOrigin_Switch_DPad_South | 218 | Nintendo Switch Pro: крестовина, нажатие (на область внизу). |
k_EInputActionOrigin_Switch_DPad_West | 219 | Nintendo Switch Pro: крестовина, нажатие (на область слева). |
k_EInputActionOrigin_Switch_DPad_East | 220 | Nintendo Switch Pro: крестовина, нажатие (на область справа). |
k_EInputActionOrigin_SwitchProGyro_Move | 221 | Nintendo Switch Pro: гироскоп, аналоговое движение по любой оси. |
k_EInputActionOrigin_SwitchProGyro_Pitch | 222 | Nintendo Switch Pro: гироскоп, аналоговое движение по оси тангажа (отклонение вверх к потолку, вниз — к полу). |
k_EInputActionOrigin_SwitchProGyro_Yaw | 223 | Nintendo Switch Pro: гироскоп, аналоговое движение по оси рысканья (поворот налево к одной стене, направо — к противоположной). |
k_EInputActionOrigin_SwitchProGyro_Roll | 224 | Nintendo Switch Pro: гироскоп, аналоговое движение по оси крена (наклоны влево и вправо). |
k_EInputActionOrigin_Switch_Reserved0 | 225 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_Switch_Reserved1 | 226 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_Switch_Reserved2 | 227 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_Switch_Reserved3 | 228 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_Switch_Reserved4 | 229 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_Switch_Reserved5 | 230 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_Switch_Reserved6 | 231 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_Switch_Reserved7 | 232 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_Switch_Reserved8 | 233 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_Switch_Reserved9 | 234 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_Switch_Reserved10 | 235 | Зарезервировано для использования в будущем. |
k_EInputActionOrigin_Count | 258 | Число значений в этом перечислении, удобно использовать для итераций. |
k_EInputActionOrigin_MaximumPossibleValue | 32767 | Число значений в этом перечислении, удобно использовать для итераций. |
EControllerSource
Область контроллера, рассматриваемая как более крупный абстрактный модульный блок, к которому можно применять один из режимов, и при этом будут получены данные вывода. Например, джойстик может восприниматься как один аналоговый элемент ввода, а может быть разделён на четыре цифровых элемента, составляющих виртуальную крестовину. Также и лицевые кнопки формируют группу, которая может восприниматься либо как четыре отдельные кнопки, либо как составляющие виртуальной крестовины.
Название | Значение | Описание |
k_EInputSource_None | 0 | Нет ввода с контроллера. |
k_EInputSource_LeftTrackpad | 1 | Левый тачпад или левая часть центрального тачпада. |
k_EInputSource_RightTrackpad | 2 | Правый тачпад или правая часть центрального тачпада. |
k_EInputSource_Joystick | 3 | Джойстик. Если джойстиков несколько — левый джойстик. |
k_EInputSource_ABXY | 4 | Четыре основные лицевые кнопки. |
k_EInputSource_Switch | 5 | Переключатели/кнопки на контроллере, которые не относятся к какому-либо другому конкретному источнику, в том числе бамперы, кнопки Start и Select, а также хваты. Это особый случай, при котором переключатели и кнопки не вписываются в более широкую парадигму и поэтому у них есть собственный источник цифровых кнопок и соответствующий режим их обработки. |
k_EInputSource_LeftTrigger | 6 | Левый аналоговый триггер. |
k_EInputSource_RightTrigger | 7 | Правый аналоговый триггер. |
k_EInputSource_Gyro | 8 | Внутренний гироскоп. |
k_EInputSource_CenterTrackpad | 9 | Центральный тачпад (только для DS4). |
k_EInputSource_RightJoystick | 10 | Правый джойстик. Если джойстик только один, этот источник не используется. |
k_EInputSource_DPad | 11 | Крестовина. |
k_EInputSource_Key | 12 | Клавиша клавиатуры (для клавиатур со скан-кодами). |
k_EInputSource_Mouse | 13 | Традиционная мышь. |
k_EInputSource_Count | 14 | Число перечислений, удобно использовать для итераций. |
EControllerSourceMode
Режим виртуального ввода, который конфигуратор устанавливает для источника контроллера. Например, конфигуратор может сделать так, чтобы аналоговый джойстик вёл себя как крестовина с четырьмя цифровыми источниками ввода; EControllerSource будет k_EInputSource_Joystick, а EControllerSourceMode — k_EInputSourceMode_Dpad. Режим также меняет данные ввода, полученные любыми связанными действиями.
Название | Значение | Описание |
k_EInputSourceMode_None | 0 | Нет источника ввода. |
k_EInputSourceMode_Dpad | 1 | Крестовина — четыре цифровые кнопки, обозначающие направления и объединённые в крестообразную структуру таким образом, что в любой момент времени можно нажимать только одну кнопку на каждой оси. |
k_EInputSourceMode_Buttons | 2 | |
k_EInputSourceMode_FourButtons | 3 | Четыре цифровые лицевые кнопки, которые можно нажимать одновременно. |
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
Управляет цветом светодиода Steam Controller (если он есть у устройства).
Примечание:У VSC есть светодиод, однако будет меняться только его яркость (цвет всегда остаётся белым).
Светодиод DS4 представляет собой световую панель, для которой можно настроить как цвет, так и яркость.
Название | Значение | Описание |
k_ESteamControllerLEDFlag_SetColor | 0 | Устанавливает указанные значения цвета. |
k_ESteamControllerLEDFlag_RestoreUserDefault | 1 | Восстанавливает стандартные (внеигровые) настройки цвета. |
ESteamInputType
Обозначает модель для данного устройства.
Название | Значение | Описание |
k_ESteamInputType_Unknown | 0 | Единое значение для нераспознанных устройств. |
k_ESteamInputType_SteamController | 1 | Steam Controller от Valve. |
k_ESteamInputType_XBox360Controller | 2 | Контроллер Xbox 360 от Microsoft. |
k_ESteamInputType_XBoxOneController | 3 | Контроллер Xbox One от Microsoft. |
k_ESteamInputType_GenericXInput | 4 | Любое стороннее устройство с поддержкой XInput. |
k_ESteamInputType_PS4Controller | 5 | Контроллер PlayStation 4 от Sony. |
k_ESteamInputType_AppleMFiController | 6 | Не используется. |
k_ESteamInputType_AndroidController | 7 | Не используется. |
k_ESteamInputType_SwitchJoyConPair | 8 | Не используется. |
k_ESteamInputType_SwitchJoyConSingle | 9 | Не используется. |
k_ESteamInputType_SwitchProController | 10 | Контроллер Nintendo Switch Pro. |
k_ESteamInputType_MobileTouch | 11 | Сенсорный контроллер в приложении Steam Link. |
k_ESteamInputType_PS3Controller | 12 | Контроллер PlayStation 3 от Sony или совместимый с PS3/PS4 файтстик. |
k_ESteamInputType_Count | 13 | Текущее число возвращаемых значений. |
k_ESteamInputType_MaximumPossibleValue | 255 | Максимальное число возвращаемых значений. |
ESteamControllerPad
Область тачпада на устройстве Steam Controller.
Примечание:Для VSC значения соответствуют левому и правому тачпаду с тактильной отдачей.
Для DS4 значения соответствуют левой и правой половине единого центрального тачпада.
Название | Значение | Описание |
k_ESteamControllerPad_Left | 0 | Область левого тачпада на Steam Controller. Совместимые модели: VSC, DS4. |
k_ESteamControllerPad_Right | 1 | Область правого тачпада на Steam Controller. Совместимые модели: VSC, DS4. |
Typedefs
Далее приведён список объявлений typedef, которые определены для использования с ISteamInput.
Название | Базовый тип | Описание |
InputActionSetHandle_t | uint64 | Эти дескрипторы используются для ссылки на определённое внутриигровое действие или набор действий Из соображений производительности все дескрипторы действий следует запрашивать во время инициализации. |
InputAnalogActionHandle_t | uint64 | Дескриптор аналогового действия. Может быть получен от GetAnalogActionHandle. |
InputDigitalActionHandle_t | uint64 | Дескриптор цифрового действия. Может быть получен от GetDigitalActionHandle. |
InputHandle_t | uint64 | Этот дескриптор будет всегда идентифицировать контроллер, даже если он будет отключён и снова подключён. |
Константы
Далее приведён список констант, которые определены для использования с ISteamInput.
Название | Тип | Значение | Описание |
STEAMINPUT_INTERFACE_VERSION | const char * | "SteamInput001" | |
STEAM_INPUT_HANDLE_ALL_CONTROLLERS | int | UINT64_MAX | При отправке параметра определённому дескриптору контроллера можно использовать это значение вместо дескриптора, чтобы отправить параметр сразу всем контроллерам. |
STEAM_INPUT_MAX_ANALOG_ACTIONS | int | 16 | Максимальное количество аналоговых действий, которое можно выполнить на каждом контроллере. |
STEAM_INPUT_MAX_ANALOG_ACTION_DATA | float | 1.0f | Максимальное значение, которое может быть передано аналоговым действием по одной оси. |
STEAM_INPUT_MAX_COUNT | int | 16 | Максимальное количество контроллеров, которые могут быть использованы одновременно с интерфейсом настройки ввода Steam. |
STEAM_INPUT_MAX_DIGITAL_ACTIONS | int | 128 | Максимальное количество цифровых действий, которое можно выполнить на каждом контроллере. |
STEAM_INPUT_MAX_ORIGINS | int | 8 | Максимальное количество источников ввода, которое можно привязать к конкретному действию. |
STEAM_INPUT_MIN_ANALOG_ACTION_DATA | float | -1.0f | Минимальное значение, которое может быть передано аналоговым действием по одной оси. |