Documentação do Steamworks
Interface ISteamInput
A API da Entrada Steam é uma API flexível, baseada em ações e compatível com os tipos de controle mais populares — Xbox, PlayStation, Controle Pro do Nintendo Switch e Controle Steam.

Consulte a documentação do Entrada Steam para mais informações.

Funções de membro

Funções de membro de ISteamInput são chamadas por meio da função de acesso global SteamInput().

ActivateActionSet

void ActivateActionSet( InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle );
NomeTipoDescrição
inputHandleInputHandle_tO handle do controle no qual deseja ativar um conjunto de ações.
actionSetHandleInputActionSetHandle_tO handle do conjunto de ações que deseja ativar.

Reconfigura o controle para usar o conjunto de ações especificado (como "Menu", "A pé" ou "Direção").

Função de baixo custo e que pode ser chamada várias vezes com segurança. Costuma ser mais fácil chamá-la repetidas vezes nos ciclos de estado do que tentar colocá-la em todas as transições de estado.

Exemplo:
void cicloEstado() { switch( estadoAtual ) { case MENU: SteamInput()->ActivateActionSet( handleEntradaUm, handleConjuntoMenu ); fazerCoisasDeMenu(); break; case A_PE: SteamInput()->ActivateActionSet( handleEntradaUm, handleConjuntoAPe ); fazerCoisasDeAPe(); break; case DIRECAO: SteamInput()->ActivateActionSet( handleEntradaUm, handleConjuntoDirecao ); fazerCoisasDeDirecao(); break; case COMBATE: SteamInput()->ActivateActionSet( handleEntradaUm, handleConjuntoCombate ); fazerCoisasDeCombate(); break; } }

Ativar todos os controles

Às vezes, você precisa ativar todos os controles de uma vez. Para esses casos, use a constante STEAM_INPUT_HANDLE_ALL_CONTROLLERS como o handle do controle. Você pode usar esse valor em qualquer função que receber um handle de controle.

Exemplo:
void cicloEstado() { switch( estadoAtual ) { case MENU: SteamInput()->ActivateActionSet( STEAM_INPUT_HANDLE_ALL_CONTROLLERS, handleConjuntoMenu ); fazerCoisasDeMenu(); break; case A_PE: SteamInput()->ActivateActionSet( STEAM_INPUT_HANDLE_ALL_CONTROLLERS, handleConjuntoAPe ); fazerCoisasDeAPe(); break; case DIRECAO: SteamInput()->ActivateActionSet( STEAM_INPUT_HANDLE_ALL_CONTROLLERS, handleConjuntoDirecao ); fazerCoisasDeDirecao(); break; case COMBATE: SteamInput()->ActivateActionSet( STEAM_INPUT_HANDLE_ALL_CONTROLLERS, handleConjuntoCombate ); fazerCoisasDeCombate(); break; } }

ActivateActionSetLayer

void ActivateActionSetLayer( InputHandle_t inputHandle, InputActionSetHandle_t actionSetLayerHandle );
NomeTipoDescrição
inputHandleInputHandle_tO handle do controle no qual deseja ativar uma camada de conjunto de ações.
actionSetHandleInputActionSetHandle_tO handle da camada de conjunto de ações que deseja ativar.

Reconfigura o controle para usar a camada de conjunto de ações especificada.

Consulte o artigo Camadas de conjuntos de ações para detalhes e um exemplo prático.

Exemplo:
SteamInput()->ActivateActionSetLayer( handleEntradaUm, minhaCamadaConjuntoAcoes );

DeactivateActionSetLayer

void DeactivateActionSetLayer( InputHandle_t inputHandle, InputActionSetHandle_t actionSetLayerHandle );
NomeTipoDescrição
inputHandleInputHandle_tO handle do controle no qual deseja desativar uma camada de conjunto de ações.
actionSetHandleInputActionSetHandle_tO handle da camada de conjunto de ações que deseja desativar.

Reconfigura o controle para parar de usar a camada de conjunto de ações especificada.

Exemplo:
SteamInput()->DeactivateActionSetLayer( handleEntradaUm, minhaCamadaConjuntoAcoes );

DeactivateAllActionSetLayers

void DeactivateAllActionSetLayers( InputHandle_t inputHandle );
NomeTipoDescrição
inputHandleInputHandle_tO handle do controle no qual deseja desativar todas as camadas de conjunto de ações.

Reconfigura o controle para parar de usar todas as camadas de conjunto de ações.

Exemplo:
SteamInput()->DeactivateAllActionSetLayers( handleControleUm );

GetActiveActionSetLayers

int GetActiveActionSetLayers( InputHandle_t inputHandle, InputActionSetHandle_t *handlesOut );
NomeTipoDescrição
inputHandleInputHandle_tO handle do controle cujas camadas de conjunto de ações ativas deseja recuperar.
handlesOutInputActionSetHandle_t*Deve apontar para um vetor, de tamanho STEAM_INPUT_MAX_COUNT, do tipo InputHandle_t.

Preenche um vetor com todas as camadas de conjunto de ações atualmente ativadas para o controle associado ao handle especificado.

Exemplo:
InputHandle_t *saidaHandles = new InputHandle_t []; SteamInput()->GetActiveActionSetLayers( handleControleUm, &saidaHandles );

GetActionSetHandle

InputActionSetHandle_t GetActionSetHandle( const char *pszActionSetName );
NomeTipoDescrição
pszActionSetNameconst char *A string que identifica um conjunto de ações, como definido no arquivo VDF do jogo.

Busca o handle de um conjunto de ações. Aconselhável chamá-la uma vez na inicialização e armazenar todos os handles para chamadas futuras à API.

Retorna: InputActionSetHandle_t
O handle do conjunto de ações especificado.

Exemplo:
InputActionSetHandle_t handleConjuntoCombate = SteamInput()->GetActionSetHandle( "combate" );

GetAnalogActionData

InputAnalogActionData_t GetAnalogActionData( InputHandle_t inputHandle, InputAnalogActionHandle_t analogActionHandle );
NomeTipoDescrição
inputHandleInputHandle_tO handle do controle que deseja consultar.
analogActionHandleInputAnalogActionHandle_tO handle da ação analógica que deseja consultar.

Retorna o estado atual da ação analógica do jogo informada.

Retorna: InputAnalogActionData_t
O estado atual da ação analógica especificada.

Exemplo:
InputAnalogActionData_t dados = SteamInput()->GetAnalogActionData( handleControleUm, handleMovimentacao );

GetAnalogActionHandle

InputAnalogActionHandle_t GetAnalogActionHandle( const char *pszActionName );
NomeTipoDescrição
pszActionNameconst char *A string que identifica a ação analógica, como definido no arquivo VDF do jogo.

Recupera o handle da ação analógica especificada.

AVISO: esta função não recebe um handle de conjunto de ação como parâmetro. Isso quer dizer que cada ação no arquivo VDF precisa ter uma string de identificação única. Em outras palavras, se tiver uma ação chamada "para_cima" em dois conjuntos de ação diferentes, esta função sempre retornará só uma delas, ignorando a outra.

Retorna: InputAnalogActionHandle_t
O handle da ação analógica especificada.

Exemplo:
InputAnalogActionHandle_t handleMovimentacao = SteamInput()->GetAnalogActionHandle( "movimentacao" );

GetAnalogActionOrigins

int GetAnalogActionOrigins( InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle, InputAnalogActionHandle_t analogActionHandle, EInputActionOrigin *originsOut );
NomeTipoDescrição
inputHandleInputHandle_tO handle do controle que deseja consultar.
actionSetHandleInputActionSetHandle_tO handle do conjunto de ações que deseja consultar.
analogActionHandleInputAnalogActionHandle_tO handle da ação analógica que deseja consultar.
originsOutEInputActionOrigin *Um vetor, de tamanho STEAM_INPUT_MAX_ORIGINS, de tipo EInputActionOrigin.

Recupera a(s) origem(ns) de uma ação analógica de um conjunto de ações, preenchendo originsOut com handles EInputActionOrigin. Use para exibir os indicadores apropriados para a ação na tela.

Retorna: int
A quantidade de origens contidas no vetor originsOut.

Exemplo:
EInputActionOrigin *origens = new EInputActionOrigin[]; SteamInput()->GetAnalogActionOrigins( handleControleUm, handleConjuntoAPe, handleMovimentacao, origens );

GetConnectedControllers

int GetConnectedControllers( InputHandle_t *handlesOut );
NomeTipoDescrição
handlesOutInputHandle_t *Deve apontar para um vetor, de tamanho STEAM_INPUT_MAX_COUNT, do tipo InputHandle_t.

Enumera controles conectados atualmente, preenchendo handlesOut com handles de controle.

Retorna: int
A quantidade de handles contidos em handlesOut.

Exemplo:
InputHandle_t *handlesEntradas = new InputHandle_t[]; SteamInput()->GetConnectedControllers( handlesEntradas );

GetControllerForGamepadIndex

InputHandle_t GetControllerForGamepadIndex( int nIndex );
NomeTipoDescrição
nIndexintO índice do controle emulado cujo handle de controle recuperar.

Retorna o handle de controle associado ao controle emulado especificado. Use este valor na função GetInputTypeForHandle para determinar o tipo de controle que está usando emulação.

Retorna: InputHandle_t


Exemplo:
// Substitua 0 pelo valor do índice do jogador que deseja na API XInput. Os valores possíveis são 0 a 3 int nIndiceJogadorXinput = 0; InputHandle_t handleControle = SteamInput()->GetControllerForGamepadIndex( nIndiceJogadorXinput ); if ( handleControle == 0 ) { // Handles válidos possuem valores diferentes de zero, logo este é um controle de Xbox. } else { ESteamInputType tipoEntrada = SteamInput()->GetInputTypeForHandle( handleControle ); switch(tipoEntrada) { case k_ESteamInputType_Unknown: printf("controle desconhecido!\n"); break; case k_ESteamInputType_SteamController: printf("Controle Steam!\n"); break; case k_ESteamInputType_XBox360Controller: printf("Controle de Xbox 360!\n"); break; case k_ESteamInputType_XBoxOneController: printf("Controle de Xbox One!\n"); break; case k_ESteamInputType_GenericXInput: printf("Controle XInput genérico!\n"); break; case k_ESteamInputType_PS4Controller: printf("Controle DUALSHOCK 4!\n"); break; } }

GetCurrentActionSet

InputActionSetHandle_t GetCurrentActionSet( InputHandle_t inputHandle );
NomeTipoDescrição
inputHandleInputHandle_tO handle do controle que deseja consultar.

Recupera o conjunto de ações ativo para o controle especificado.

Retorna: InputActionSetHandle_t
O handle do conjunto de ações ativado para o controle especificado.

Exemplo:
InputActionSetHandle_t conjuntoControleUm = SteamInput()->GetCurrentActionSet(handleControleUm);

GetDigitalActionData

InputDigitalActionData_t GetDigitalActionData( InputHandle_t inputHandle, InputDigitalActionHandle_t digitalActionHandle );
NomeTipoDescrição
inputHandleInputHandle_tO handle do controle que deseja consultar.
digitalActionHandleInputDigitalActionHandle_tO handle da ação digital que deseja consultar.

Retorna o estado atual da ação digital do jogo informada.

Retorna: InputDigitalActionData_t
O estado atual da ação digital especificada.

GetDigitalActionHandle

InputDigitalActionHandle_t GetDigitalActionHandle( const char *pszActionName );
NomeTipoDescrição
pszActionNameconst char *A string que identifica a ação digital, como definido no arquivo VDF do jogo.

Recupera o handle da ação digital especificada.

AVISO: esta função não recebe um handle de conjunto de ação como parâmetro. Isso quer dizer que cada ação no arquivo VDF precisa ter uma string de identificação única. Em outras palavras, se tiver uma ação chamada "para_cima" em dois conjuntos de ação diferentes, esta função sempre retornará só uma delas, ignorando a outra.

Retorna: InputDigitalActionHandle_t
O handle da ação digital especificada.

Exemplo:
InputDigitalActionHandle_t handleSoco = SteamInput()->GetDigitalActionHandle( "soco" );

GetDigitalActionOrigins

int GetDigitalActionOrigins( InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle, InputDigitalActionHandle_t digitalActionHandle, EInputActionOrigin *originsOut );
NomeTipoDescrição
inputHandleInputHandle_tO handle do controle que deseja consultar.
actionSetHandleInputActionSetHandle_tO handle do conjunto de ações que deseja consultar.
digitalActionHandleInputDigitalActionHandle_tO handle da ação digital que deseja consultar.
originsOutEInputActionOrigin *Um vetor, de tamanho STEAM_INPUT_MAX_ORIGINS, de tipo EInputActionOrigin.

Recupera a(s) origem(ns) de uma ação digital de um conjunto de ações, preenchendo originsOut com handles EInputActionOrigin. Use para exibir os indicadores apropriados para a ação na tela.

Retorna: int
A quantidade de origens contidas no vetor originsOut.

Exemplo:
EInputActionOrigin *origens = new EInputActionOrigin[]; SteamInput()->GetDigitalActionOrigins( handleControleUm, handleConjuntoCombate, handleSoco, origens );

GetGamepadIndexForController

int GetGamepadIndexForController( InputHandle_t ulControllerHandle );
NomeTipoDescrição
ulControllerHandleInputHandle_tO handle do controle cujo índice de controle emulado recuperar.

Retorna o índice de controle emulado associado ao controle especificado, se estiver emulando um controle.

Retorna: int


Exemplo:
int indiceControle = SteamInput()->GetGamepadIndexForController( handleControleUm );

GetGlyphForActionOrigin

const char * GetGlyphForActionOrigin( EInputActionOrigin eOrigin );
NomeTipoDescrição
eOriginEInputActionOrigin

Recupera o caminho local para arte de ícone de interface de usuário para uma origem específica.

Retorna: const char *
O caminho para o arquivo PNG do botão.
E.g. "C:\Program Files (x86)\Steam\tenfoot\resource\images\library\controller\api\ps4_button_x.png"

Exemplo:
// Recuperar origens para "soco" EInputActionOrigin *origens = new EInputActionOrigin[]; SteamInput()->GetDigitalActionOrigins( handleControleUm, handleConjuntoCombate, handleSoco, origens ); EInputActionOrigin primeiraOrigem = origens[0]; //i.é., k_EInputActionOrigin_PS4_X // Esta eh uma funcao do proprio jogo que tenta recuperar a arte do icone int idTexturaIcone = recuperarTexturaIconeBotaoIncluso( primeiraOrigem ); // Nao temos nenhuma arte para esta origem no jogo! // Parece que o Steam adicionou compatibilidade com um controle novo ou esquecemos de adicionar esta arte! //(ou seja, temos icones para o Controle Steam, mas o controle eh um DUALSHOCK 4) if( idTexturaIcone == -1 ) { // Vamos entao recuperar a imagem do cliente Steam. const char *caminhoLocalIcone = SteamInput()->GetGlyphForActionOrigin( primeiraOrigem ); printf( "caminho = %s\n", caminhoLocalIcone ); // "caminho = C:\Program Files (x86)\Steam\tenfoot\resource\images\library\controller\api\ps4_button_x.png" //Uma funcao do jogo que transforma o caminho para um arquivo em uma textura usavel pelo jogo idTexturaIcone = transformarCaminhoEmTexturaIconeBotao( caminhoLocalIcone ); }

GetInputTypeForHandle

ESteamInputType GetInputTypeForHandle( InputHandle_t inputHandle );
NomeTipoDescrição
inputHandleInputHandle_tO handle do controle cujo tipo de entrada (modelo) deseja consultar.

Retorna o tipo de entrada (modelo) do controle especificado. Indica se dado controle é um Controle Steam, controle para Xbox 360, DUALSHOCK 4 etc.

Retorna: ESteamInputType


Exemplo:
ESteamInputType inputType = SteamInput()->GetInputTypeForHandle(handleControleUm); switch(inputType) { case k_ESteamInputType_Unknown: printf("Desconhecido\n!"); break; case k_ESteamInputType_SteamController: printf("Controle Steam\n!"); break; case k_ESteamInputType_XBox360Controller: printf("Controle para Xbox 360\n!"); break; case k_ESteamInputType_XBoxOneController: printf("Controle para Xbox One\n!"); break; case k_ESteamInputType_GenericXInput: printf("Controle XInput genérico\n!"); break; case k_ESteamInputType_PS4Controller: printf("DUALSHOCK 4\n!"); break; }

GetMotionData

InputMotionData_t GetMotionData( InputHandle_t inputHandle );
NomeTipoDescrição
inputHandleInputHandle_tO handle do controle cujos dados de movimento recuperar.

Retorna dados brutos de movimento para o controle especificado.

Retorna: InputMotionData_t


Exemplo:
InputMotionData_t dadosMovimento = SteamInput()->GetControllerMotionData( handleEntrada );

GetStringForActionOrigin

const char * GetStringForActionOrigin( EInputActionOrigin eOrigin );
NomeTipoDescrição
eOriginEInputActionOrigin

Retorna uma string localizada (a partir da configuração de idioma do Steam) para a origem especificada.

Retorna: const char *


Exemplo:
EInputActionOrigin *origens = new EInputActionOrigin[]; SteamInput()->GetDigitalActionOrigins( handleControleUm, handleConjuntoCombate, handleSoco, origens ); const char * stringSoco = SteamInput()->GetStringForActionOrigin( origens[0] ); printf("soco = %s\n",stringSoco);

Init

bool Init();
Deve ser chamada ao começar a usar a interface ISteamInput.

Retorna: bool
Sempre retorna true.

Exemplo:
SteamInput()->Init();

RunFrame

void RunFrame();
Sincroniza o estado da API com as entradas de controle mais recentes disponíveis. Realizado automaticamente por SteamAPI_RunCallbacks, mas para obter a menor latência possível, chame diretamente antes de ler o estado do controle.

Exemplo:
SteamInput()->RunFrame();

SetDualSenseTriggerEffect

void SetDualSenseTriggerEffect( InputHandle_t inputHandle, const ScePadTriggerEffectParam *pParam );
NomeTipoDescrição
inputHandleInputHandle_tO handle do controle que deseja afetar.
pParam ScePadTriggerEffectParamO parâmetro do gatilho, definido no arquivo de cabeçalho isteamdualsense.h.

Define o efeito de gatilho para um controle DualSense.

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

SetLEDColor

void SetLEDColor( InputHandle_t inputHandle, uint8 nColorR, uint8 nColorG, uint8 nColorB, unsigned int nFlags );
NomeTipoDescrição
inputHandleInputHandle_tO handle do controle a ser afetado.
nColorRuint8O componente vermelho da cor a definir (0–255).
nColorGuint8O componente verde da cor a definir (0–255).
nColorBuint8O componente azul da cor a definir (0–255).
nFlagsunsigned intAtributos no formato de máscara de bits, combinados a partir dos valores definidos em ESteamControllerLEDFlag.

Define a cor do LED em controles compatíveis.

Avisos:
O Controle Steam não é compatível com cores que não sejam branco e interpretará valores RGB como um valor de escala de cinza, afetando o brilho do LED do botão Steam.
O DUALSHOCK 4 responde aos dados completos de cor e usa os valores para definir a cor e brilho da barra de luz.

Exemplo:
// Restaura a cor padrão do usuário para o controle 1: SteamInput()->SetLEDColor( handleControleUm, 0, 0, 0, k_ESteamControllerLEDFlag_RestoreUserDefault ); // Define a cor magenta para o controle 2: SteamInput()->SetLEDColor( handleControleDois, 255, 0, 255, k_ESteamControllerLEDFlag_SetColor );

ShowAnalogActionOrigins

bool ShowAnalogActionOrigins( InputHandle_t inputHandle, InputAnalogActionHandle_t analogActionHandle, float flScale, float flXPosition, float flYPosition );
NomeTipoDescrição
inputHandleInputHandle_t
analogActionHandleInputAnalogActionHandle_t
flScalefloat
flXPositionfloat
flYPositionfloat

Em desuso.

Retorna: bool
Sempre retorna true.

ShowBindingPanel

bool ShowBindingPanel( InputHandle_t inputHandle );
NomeTipoDescrição
inputHandleInputHandle_tO handle do controle cuja tela de configuração exibir.

Invoca o Painel Steam e exibe a tela de configuração.

Retorna: bool
true se tiver sido exibida com sucesso; false se o painel estiver desativado ou indisponível. Se o usuário estiver no modo Big Picture, a tela de configuração será aberta no Painel Steam. No modo de área de trabalho, uma versão em janela do modo Big Picture será criada e aberta na tela de configuração.

Exemplo:
SteamInput()->ShowBindingPanel( handleMeuControle );

ShowDigitalActionOrigins

bool ShowDigitalActionOrigins( InputHandle_t inputHandle, InputDigitalActionHandle_t digitalActionHandle, float flScale, float flXPosition, float flYPosition );
NomeTipoDescrição
inputHandleInputHandle_t
digitalActionHandleInputDigitalActionHandle_t
flScalefloat
flXPositionfloat
flYPositionfloat

Em desuso.

Retorna: bool
Sempre retorna true.

Shutdown

bool Shutdown();
Deve ser chamada ao terminar de usar a interface ISteamInput.

Retorna: bool
Sempre retorna true.

Exemplo:
SteamInput()->Shutdown();

StopAnalogActionMomentum

void StopAnalogActionMomentum( InputHandle_t inputHandle, InputAnalogActionHandle_t eAction );
NomeTipoDescrição
inputHandleInputHandle_tO handle do controle que deseja afetar.
eActionInputAnalogActionHandle_tA ação analógica cujo momento será interrompido.

Interrompe o momento de uma ação analógica (onde aplicável, como em um touchpad configurado como trackball).

AVISO:
Também interromperá a resposta tátil associada. Útil para situações onde é desejável indicar ao usuário que o limite de uma ação foi alcançado, como girar um carrossel ou rolar uma página web.

Exemplo:
SteamInput()->StopAnalogActionMomentum( handleControleUm, handleMovimentacao );

TriggerHapticPulse

void TriggerHapticPulse( InputHandle_t inputHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec );
NomeTipoDescrição
inputHandleInputHandle_tO handle do controle que deseja afetar.
eTargetPadESteamControllerPadQual touchpad tátil afetar.
usDurationMicroSecunsigned shortDuração da pulsação, em microssegundos (1/1.000.000 de segundo).

Dispara uma pulsação tátil (de baixo nível) em controles compatíveis.

Avisos:
Atualmente apenas o Controle Steam é compatível com pulsações táteis.
Esta chamada da API será ignorada para todos os outros modelos de controle.
O valor máximo típico para um unsigned short é 65535, o que significa que a pulsação tátil mais longa que pode ser disparada desta forma tem duração de 0,065535 segundo (ou seja, menos de 1 décimo de segundo). Esta função deve ser considerada uma primitiva de baixo nível, feita para ser usada várias vezes por funções do usuário de mais alto nível para gerar um comportamento mais sofisticado.

Exemplo:
//Pulsar uma vez por 1/20 segundo SteamInput()->TriggerHapticPulse(handleControleUm, k_ESteamControllerPad_Left, 50000);

TriggerRepeatedHapticPulse

void TriggerRepeatedHapticPulse( InputHandle_t inputHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec, unsigned short usOffMicroSec, unsigned short unRepeat, unsigned int nFlags );
NomeTipoDescrição
inputHandleInputHandle_tO handle do controle que deseja afetar.
eTargetPadESteamControllerPadQual touchpad tátil afetar.
usDurationMicroSecunsigned shortDuração da pulsação, em microssegundos (1/1.000.000 de segundo).
usOffMicroSecunsigned shortDuração da pausa entre pulsações, em microssegundos.
unRepeatunsigned shortQuantidade de repetições do ciclo usDurationMicroSec / usOffMicroSec.
nFlagsunsigned intNão usado no momento; reservado para uso futuro.

Dispara uma pulsação tátil repetida em controles compatíveis.

Avisos:
Atualmente apenas o Controle Steam é compatível com pulsações táteis.
Esta chamada da API será ignorada para todos os outros modelos de controle.
Função mais amigável que TriggerHapticPulse, por gerar padrões de pulsação longos o bastante para serem notados pelo usuário.
Alterar os parâmetros usDurationMicroSec e usOffMicroSec mudará a "textura" da pulsação tátil.

Exemplo:
//Pulsar por 1 segundo com um padrão de pulsação de liga/desliga por 1/20 segundo SteamInput()->TriggerRepeatedHapticPulse( handleControleUm, k_ESteamControllerPad_Left, 50000, 50000, 10 );

TriggerVibration

void TriggerVibration( InputHandle_t inputHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed );
NomeTipoDescrição
inputHandleInputHandle_tO handle do controle a ser afetado.
usLeftSpeedunsigned shortA intensidade do motor de vibração esquerdo.
usRightSpeedunsigned shortA intensidade do motor de vibração direito.

Dispara um evento de vibração em controles compatíveis.

Avisos:
Esta chamada da API será ignorada para modelos de controle incompatíveis.
Gera o efeito de vibração tradicional.
O Controle Steam emulará a vibração tradicional com a resposta tátil.

Exemplo:
SteamInput()->TriggerVibration( handleControleUm, 10000, 10000 );

TriggerVibrationExtended

void TriggerVibrationExtended( InputHandle_t inputHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed );
NomeTipoDescrição
inputHandleInputHandle_tO handle do controle a ser afetado.
usLeftSpeedunsigned shortA intensidade do motor de vibração esquerdo.
usRightSpeedunsigned shortA intensidade do motor de vibração direito.
usLeftTriggerSpeedunsigned shortO valor da intensidade do motor do gatilho de impulso esquerdo (Xbox).
usRightTriggerSpeedunsigned shortO valor da intensidade do motor do gatilho de impulso direito (Xbox).

Dispara um evento de vibração em controles compatíveis, incluindo valores para os gatilhos de impulso de controles de Xbox.

Notes:
On Windows support for Xbox Impulse Trigger motor values requires user installation of the Xbox Extended Feature support driver.
The Steam Controller and Steam Deck will emulate traditional rumble using their haptics.

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

GetActionOriginFromXboxOrigin

EInputActionOrigin GetActionOriginFromXboxOrigin( InputHandle_t inputHandle, EXboxOrigin eOrigin );
NomeTipoDescrição
inputHandleInputHandle_tO handle do controle a ser afetado. Use a função GetControllerForGamepadIndex para recuperá-lo.
eOriginEXboxOriginO botão cuja imagem recuperar (ex.: k_EXboxOrigin_A).

Retorna: EInputActionOrigin

Get an action origin that you can use in your glyph look up table or passed into GetGlyphForActionOrigin or GetStringForActionOrigin


Exemplo:
int nJogadorXInput = 1; // Substitua este valor pelo indice do jogador na API XInput InputHandle_t handleControleUm = GetControllerForGamepadIndex( nJogadorXInput ); EInputActionOrigin origemBotao = SteamInput()->GetActionOriginFromXboxOrigin( handleControleUm, k_EXboxOrigin_A ); // Recupera a imagem do cliente Steam. const char *caminhoLocalIcone = SteamInput()->GetGlyphForActionOrigin( origemBotao ); printf( "caminho = %s\n", caminhoLocalIcone ); // "caminho = C:\Program Files (x86)\Steam\tenfoot\resource\images\library\controller\api\ps4_button_x.png" // Uma função do jogo que transforma o caminho para um arquivo em uma textura usável pelo jogo idTexturaIcone = transformarCaminhoEmTexturaIconeBotao( caminhoLocalIcone );

TranslateActionOrigin

EInputActionOrigin TranslateActionOrigin( ESteamInputType eDestinationInputType, EInputActionOrigin eSourceOrigin );
NomeTipoDescrição
inputHandleInputHandle_tThe handle of the controller to affect. You can use GetControllerForGamepadIndex to get this handle
eDestinationInputTypeESteamInputTypeThe controller type you want to translate to. Steam will pick the closest type from your SDK version if k_ESteamInputType_Unknown is used
eSourceOriginEInputActionOriginO botão que deseja traduzir.

Retorna: EInputActionOrigin

Get the equivalent origin for a given controller type or the closest controller type that existed in the SDK you built into your game if eDestinationInputType is k_ESteamInputType_Unknown. This action origin can be used in your glyph look up table or passed into GetGlyphForActionOrigin or GetStringForActionOrigin


Exemplo:
int nXinputSlot = 1; // Substitutes whatever the correct Xinput slot is for your player InputHandle_t controller1Handle = GetControllerForGamepadIndex( nXinputSlot ); EInputActionOrigin buttonOrigin = SteamInput()->GetActionOriginFromXboxOrigin( controller1Handle, k_EXboxOrigin_A ); //i.e, k_EInputActionOrigin_PS4_X if ( buttonOrigin >= k_EInputActionOrigin_Count ) { // We didn't ship any art in our game for this origin! I guess Steam has added support for // a new controller. Let's get the closest value that was supported by the SDK we built against buttonOrigin = SteamInput()->TranslateActionOrigin( k_ESteamInputType_Unknown, buttonOrigin ) } // This is a function from the game itself that tries to get custom glyph art int glyphTextureID = getHardCodedButtonGlyphTexture( actionOrigin );

GetDeviceBindingRevision

bool GetDeviceBindingRevision( InputHandle_t inputHandle, int *pMajor, int *pMinor );
NomeTipoDescrição
inputHandleInputHandle_tO handle do controle que deseja consultar.
pMajorint * Pointer to int that Major binding revision will be populated into
pMinorint * Pointer to int that Minor binding revision will be populated into

Returns: bool - true if a device binding was successfully found and false if the binding is still loading.

Gets the major and minor device binding revisions for Steam Input API configurations. Major revisions are to be used when changing the number of action sets or otherwise reworking configurations to the degree that older configurations are no longer usable. When a user's binding disagrees with the major revision of the current official configuration Steam will forcibly update the user to the new configuration. New configurations will need to be made for every controller when updating the major revision. Minor revisions are for small changes such as adding a new optional action or updating localization in the configuration. When updating the minor revision you generally can update a single configuration and check the "Use Action Block" to apply the action block changes to the other configurations.

Código de exemplo:
int nRevisaoMajor = -1; int nRevisaoMinor = -1; const int nRevisaoMajorAtual = 1; const int nRevisaoMinorAtual = 1; if ( GetDeviceBindingRevision( handleEntrada, &nRevisaoMajor, &nRevisaoMinor ) ) { if ( nRevisaoMinor != nRevisaoMinorAtual ) { // A revisao Minor esta desatualizada, mas tudo bem. // Isso sera ajustado da proxima vez que o usuario editar a configuracao } if ( nRevisaoMajor != nRevisaoMajorAtual ) { // Isso deve ocorrer brevemente, enquanto o Steam detecta // e forca a atualizacao para a configuracao oficial mais recente } } else { // A configuracao deste controle ainda nao foi carregada }

Exemplo de uso em arquivo de ações do jogo:
"In Game Actions" { "major_revision" "0" "minor_revision" "1" "actions" { ...

GetRemotePlaySessionID

uint32 GetRemotePlaySessionID( InputHandle_t inputHandle );
NomeTipoDescrição
inputHandleInputHandle_tO handle do controle que deseja consultar.

Returns: uint32 - Steam Remote Play session ID

Get the Steam Remote Play session ID associated with a device, or 0 if there is no session associated with it. See isteamremoteplay.h for more information on Steam Remote Play sessions.

Structs

Estas são as structs com as quais funções da interface ISteamInput podem retornar e/ou interagir.

InputAnalogActionData_t

Represents the current state of an analog action.

Avisos:
  • Os valores exatos, intervalo etc. dependem da configuração, mas (de forma geral) ações analógicas tradicionais fornecerão floats normalizados entre -1,0 e 1,0, enquanto ações similares a de um mouse fornecerão atualizações de diferença (delta), indicando a quantidade de "pixels" movidos desde o último quadro. O resultado disso é que ações similares a de um mouse fornecerão valores x e y absolutos muito maiores e são relativas à última posição de entrada armazenada, enquanto ações analógicas tradicionais são menores e relativas a um ponto de ancoragem físico central.
  • Enquanto o diferencial fornecido por ações similares a de um mouse é bem similar às diferenças de pixel fornecidas por um SO, as diferenças desta API são floats, não ints. Isso significa menor quantização e perda de precisão ao mapear esses dados à rotação de uma câmera.
  • No caso de entradas analógicas de um eixo (como gatilhos analógicos), apenas o eixo x conterá dados; o eixo y sempre será zero.

NomeTipoDescrição
eModeEControllerSourceModeO tipo de dado vindo desta ação, que será igual ao especificado na definição do conjunto de ações no arquivo VDF.
xfloatO estado atual da ação no eixo horizontal.
yfloatThe current state of this action vertical axis.
bActiveboolSe a ação está disponível para ser vinculada no conjunto de ações ativo. If it is not available, OR does not belong to the active action set, this will be false.

InputDigitalActionData_t

Representa o estado atual de uma ação digital.

NomeTipoDescrição
bStateboolO estado atual da ação; true se a ação estiver sendo pressionada; false caso contrário.
bActiveboolSe a ação está disponível para ser vinculada no conjunto de ações ativo.

InputMotionData_t

Represents the current state of a device's motion sensor(s).

NOTE: For rotQuatX/rotQuatY/rotQuatZ/rotQuatW, the inertial measurement unit on the controller will create a quaternion based on fusing the gyro and the accelerometer. This value is the absolute orientation of the controller, but it will drift on the yaw axis.

A aceleração posicional é indicada como um valor interpolado entre INT16_MIN e INT16_MAX, onde os extremos não excedem ±2G (sendo 1G = 9,80665 m/s2).

A velocidade angular é indicada como um valor interpolado entre INT16_MIN e INT16_MAX, onde os extremos não excedem ±2000 graus/segundo.

NomeTypeDescrição
rotQuatXfloatSensor-fused absolute rotation (will drift in heading), x axis
rotQuatYfloatRotação absoluta com fusão de sensores (com imprecisão no cabeçalho), eixo y
rotQuatZfloatRotação absoluta com fusão de sensores (com imprecisão no cabeçalho), eixo z
rotQuatWfloatRotação absoluta com fusão de sensores (com imprecisão no cabeçalho), eixo w
posAccelXfloatAceleração posicional, eixo x
posAccelYfloatAceleração posicional, eixo y
posAccelZfloatAceleração posicional, eixo z
rotVelXfloatVelocidade angular, eixo x
rotVelYfloatVelocidade angular, eixo y
rotVelZfloatVelocidade angular, eixo z

Enumerações

Estas são as enumerações definidas para uso com ISteamInput.

EInputActionOrigin

Inputs the player binds to actions in the Steam Input Configurator. The chief purpose of these values is to direct which on-screen button glyphs should appear for a given action, such as "Press [A] to Jump".

NomeValorDescrição
k_EInputActionOrigin_None0
k_EInputActionOrigin_A1(Controle Steam) botão digital frontal A
k_EInputActionOrigin_B2(Controle Steam) botão digital frontal B
k_EInputActionOrigin_X3(Controle Steam) botão digital frontal X
k_EInputActionOrigin_Y4(Controle Steam) botão digital frontal Y
k_EInputActionOrigin_LeftBumper5(Controle Steam) botão superior esquerdo digital (LB)
k_EInputActionOrigin_RightBumper6(Controle Steam) botão digital superior direito (RB)
k_EInputActionOrigin_LeftGrip7(Controle Steam) botão digital traseiro esquerdo (LG)
k_EInputActionOrigin_RightGrip8(Valve Steam Controller) digital right grip paddle
k_EInputActionOrigin_Start9(Controle Steam) botão digital Start
k_EInputActionOrigin_Back10(Controle Steam) botão digital Back
k_EInputActionOrigin_LeftPad_Touch11(Controle Steam) touchpad tátil esquerdo, em contato com um dedo
k_EInputActionOrigin_LeftPad_Swipe12(Controle Steam) touchpad tátil esquerdo, entrada de toque em qualquer eixo
k_EInputActionOrigin_LeftPad_Click13(Controle Steam) touchpad tátil esquerdo, clique digital (em qualquer ponto)
k_EInputActionOrigin_LeftPad_DPadNorth14(Controle Steam) touchpad tátil esquerdo, clique digital (quadrante de cima)
k_EInputActionOrigin_LeftPad_DPadSouth15(Controle Steam) touchpad tátil esquerdo, clique digital (quadrante de baixo)
k_EInputActionOrigin_LeftPad_DPadWest16(Controle Steam) touchpad tátil esquerdo, clique digital (quadrante da esquerda)
k_EInputActionOrigin_LeftPad_DPadEast17(Controle Steam) touchpad tátil esquerdo, clique digital (quadrante da direita)
k_EInputActionOrigin_RightPad_Touch18(Controle Steam) touchpad tátil direito, em contato com um dedo
k_EInputActionOrigin_RightPad_Swipe19(Controle Steam) touchpad tátil direito, entrada de toque em qualquer eixo
k_EInputActionOrigin_RightPad_Click20(Controle Steam) touchpad tátil direito, clique digital (em qualquer ponto)
k_EInputActionOrigin_RightPad_DPadNorth21(Controle Steam) touchpad tátil direito, clique digital (quadrante de cima)
k_EInputActionOrigin_RightPad_DPadSouth22(Controle Steam) touchpad tátil direito, clique digital (quadrante de baixo)
k_EInputActionOrigin_RightPad_DPadWest23(Controle Steam) touchpad tátil direito, clique digital (quadrante da esquerda)
k_EInputActionOrigin_RightPad_DPadEast24(Controle Steam) touchpad tátil direito, clique digital (quadrante da direita)
k_EInputActionOrigin_LeftTrigger_Pull25(Controle Steam) gatilho analógico esquerdo, pressionado com qualquer intensidade (valor analógico)
k_EInputActionOrigin_LeftTrigger_Click26(Controle Steam) gatilho analógico esquerdo, pressionado até o fim (valor digital)
k_EInputActionOrigin_RightTrigger_Pull27(Controle Steam) gatilho analógico direito, pressionado com qualquer intensidade (valor analógico)
k_EInputActionOrigin_RightTrigger_Click28(Controle Steam) gatilho analógico direito, pressionado até o fim (valor digital)
k_EInputActionOrigin_LeftStick_Move29(Controle Steam) alavanca esquerda, movimentação em qualquer eixo (valor analógico)
k_EInputActionOrigin_LeftStick_Click30(Controle Steam) alavanca esquerda, clicada (valor digital)
k_EInputActionOrigin_LeftStick_DPadNorth31(Controle Steam) alavanca esquerda, movimentação digital (quadrante de cima)
k_EInputActionOrigin_LeftStick_DPadSouth32(Controle Steam) alavanca esquerda, movimentação digital (quadrante de baixo)
k_EInputActionOrigin_LeftStick_DPadWest33(Controle Steam) alavanca esquerda, movimentação digital (quadrante da esquerda)
k_EInputActionOrigin_LeftStick_DPadEast34(Controle Steam) alavanca esquerda, movimentação digital (quadrante da direita)
k_EInputActionOrigin_Gyro_Move35(Controle Steam) giroscópio, movimentação analógica em qualquer eixo
k_EInputActionOrigin_Gyro_Pitch36(Controle Steam) giroscópio, movimentação analógica no eixo de arfagem (aponta a face para cima na direção do teto, para baixo na direção do chão)
k_EInputActionOrigin_Gyro_Yaw37(Controle Steam) giroscópio, movimentação analógica no eixo de guinada (vira a face para a esquerda, de frente para uma parede, para a direita de frente para outra parede)
k_EInputActionOrigin_Gyro_Roll38(Valve Steam Controller) gyroscope, analog movement on the Roll axis (tilt head left towards shoulder, tilt head right towards other)
k_EInputActionOrigin_SteamController_Reserved039Reservado para uso futuro
k_EInputActionOrigin_SteamController_Reserved140Reservado para uso futuro
k_EInputActionOrigin_SteamController_Reserved241Reservado para uso futuro
k_EInputActionOrigin_SteamController_Reserved342Reservado para uso futuro
k_EInputActionOrigin_SteamController_Reserved443Reservado para uso futuro
k_EInputActionOrigin_SteamController_Reserved544Reservado para uso futuro
k_EInputActionOrigin_SteamController_Reserved645Reservado para uso futuro
k_EInputActionOrigin_SteamController_Reserved746Reservado para uso futuro
k_EInputActionOrigin_SteamController_Reserved847Reservado para uso futuro
k_EInputActionOrigin_SteamController_Reserved948Reservado para uso futuro
k_EInputActionOrigin_SteamController_Reserved1049Reservado para uso futuro
k_EInputActionOrigin_PS4_X50(DUALSHOCK 4) botão digital frontal ×
k_EInputActionOrigin_PS4_Circle51(DUALSHOCK 4) botão digital frontal 〇
k_EInputActionOrigin_PS4_Triangle52(DUALSHOCK 4) botão digital frontal △
k_EInputActionOrigin_PS4_Square53(DUALSHOCK 4) botão digital frontal □
k_EInputActionOrigin_PS4_LeftBumper54(DUALSHOCK 4) botão superior esquerdo digital (LB/L1)
k_EInputActionOrigin_PS4_RightBumper55(DUALSHOCK 4) botão superior direito digital (RB/R1)
k_EInputActionOrigin_PS4_Options56(DUALSHOCK 4) botão digital OPTIONS (Start)
k_EInputActionOrigin_PS4_Share57(DUALSHOCK 4) botão digital SHARE (Back)
k_EInputActionOrigin_PS4_LeftPad_Touch58(DUALSHOCK 4) metade esquerda do touchpad, em contato com um dedo
k_EInputActionOrigin_PS4_LeftPad_Swipe59(DUALSHOCK 4) metade esquerda do touchpad, entrada de toque em qualquer eixo
k_EInputActionOrigin_PS4_LeftPad_Click60(DUALSHOCK 4) metade esquerda do touchpad, clique digital (em qualquer ponto)
k_EInputActionOrigin_PS4_LeftPad_DPadNorth61(DUALSHOCK 4) metade esquerda do touchpad, clique digital (quadrante de cima)
k_EInputActionOrigin_PS4_LeftPad_DPadSouth62(DUALSHOCK 4) metade esquerda do touchpad, clique digital (quadrante de baixo)
k_EInputActionOrigin_PS4_LeftPad_DPadWest63(DUALSHOCK 4) metade esquerda do touchpad, clique digital (quadrante da esquerda)
k_EInputActionOrigin_PS4_LeftPad_DPadEast64(DUALSHOCK 4) metade esquerda do touchpad, clique digital (quadrante da direita)
k_EInputActionOrigin_PS4_RightPad_Touch65(DUALSHOCK 4) metade direita do touchpad, em contato com um dedo
k_EInputActionOrigin_PS4_RightPad_Swipe66(DUALSHOCK 4) metade direita do touchpad, entrada de toque em qualquer eixo
k_EInputActionOrigin_PS4_RightPad_Click67(DUALSHOCK 4) metade direita do touchpad, clique digital (em qualquer ponto)
k_EInputActionOrigin_PS4_RightPad_DPadNorth68(DUALSHOCK 4) metade direita do touchpad, clique digital (quadrante de cima)
k_EInputActionOrigin_PS4_RightPad_DPadSouth69(DUALSHOCK 4) metade direita do touchpad, clique digital (quadrante de baixo)
k_EInputActionOrigin_PS4_RightPad_DPadWest70(Sony Dualshock 4) metade direita do touchpad, clique digital (quadrante esquerdo)
k_EInputActionOrigin_PS4_RightPad_DPadEast71(DUALSHOCK 4) metade direita do touchpad, clique digital (quadrante da direita)
k_EInputActionOrigin_PS4_CenterPad_Touch72(DUALSHOCK 4) touchpad unificado, em contato com um dedo
k_EInputActionOrigin_PS4_CenterPad_Swipe73(DUALSHOCK 4) touchpad unificado, entrada de toque em qualquer eixo
k_EInputActionOrigin_PS4_CenterPad_Click74(DUALSHOCK 4) touchpad unificado, clique digital (em qualquer ponto)
k_EInputActionOrigin_PS4_CenterPad_DPadNorth75(DUALSHOCK 4) touchpad unificado, clique digital (quadrante de cima)
k_EInputActionOrigin_PS4_CenterPad_DPadSouth76(DUALSHOCK 4) touchpad unificado, clique digital (quadrante de baixo)
k_EInputActionOrigin_PS4_CenterPad_DPadWest77(DUALSHOCK 4) touchpad unificado, clique digital (quadrante da esquerda)
k_EInputActionOrigin_PS4_CenterPad_DPadEast78(DUALSHOCK 4) touchpad unificado, clique digital (quadrante da direita)
k_EInputActionOrigin_PS4_LeftTrigger_Pull79(DUALSHOCK 4) gatilho analógico esquerdo, pressionado com qualquer intensidade (valor analógico)
k_EInputActionOrigin_PS4_LeftTrigger_Click80(DUALSHOCK 4) gatilho analógico esquerdo, pressionado até o fim (valor digital)
k_EInputActionOrigin_PS4_RightTrigger_Pull81(DUALSHOCK 4) gatilho analógico direito, pressionado com qualquer intensidade (valor analógico)
k_EInputActionOrigin_PS4_RightTrigger_Click82(DUALSHOCK 4) gatilho analógico direito, pressionado até o fim (valor digital)
k_EInputActionOrigin_PS4_LeftStick_Move83(DUALSHOCK 4) alavanca esquerda, movimentação em qualquer eixo (valor analógico)
k_EInputActionOrigin_PS4_LeftStick_Click84(DUALSHOCK 4) alavanca esquerda, clicada (valor digital)
k_EInputActionOrigin_PS4_LeftStick_DPadNorth85(DUALSHOCK 4) alavanca esquerda, movimentação digital (quadrante de cima)
k_EInputActionOrigin_PS4_LeftStick_DPadSouth86(DUALSHOCK 4) alavanca esquerda, movimentação digital (quadrante de baixo)
k_EInputActionOrigin_PS4_LeftStick_DPadWest87(DUALSHOCK 4) alavanca esquerda, movimentação digital (quadrante da esquerda)
k_EInputActionOrigin_PS4_LeftStick_DPadEast88(DUALSHOCK 4) alavanca esquerda, movimentação digital (quadrante da direita)
k_EInputActionOrigin_PS4_RightStick_Move89(DUALSHOCK 4) alavanca direita, movimentação em qualquer eixo (valor analógico)
k_EInputActionOrigin_PS4_RightStick_Click90(DUALSHOCK 4) alavanca direita, clicada (valor digital)
k_EInputActionOrigin_PS4_RightStick_DPadNorth91(DUALSHOCK 4) alavanca direita, movimentação digital (quadrante de cima)
k_EInputActionOrigin_PS4_RightStick_DPadSouth92(DUALSHOCK 4) alavanca direita, movimentação digital (quadrante de baixo)
k_EInputActionOrigin_PS4_RightStick_DPadWest93(DUALSHOCK 4) alavanca direita, movimentação digital (quadrante da esquerda)
k_EInputActionOrigin_PS4_RightStick_DPadEast94(DUALSHOCK 4) alavanca direita, movimentação digital (quadrante da direita)
k_EInputActionOrigin_PS4_DPad_North95(DUALSHOCK 4) direcional, pressionado (quadrante de cima)
k_EInputActionOrigin_PS4_DPad_South96(DUALSHOCK 4) direcional, pressionado (quadrante de baixo)
k_EInputActionOrigin_PS4_DPad_West97(DUALSHOCK 4) direcional, pressionado (quadrante da esquerda)
k_EInputActionOrigin_PS4_DPad_East98(DUALSHOCK 4) direcional, pressionado (quadrante da direita)
k_EInputActionOrigin_PS4_Gyro_Move99(DUALSHOCK 4) giroscópio, movimentação analógica em qualquer eixo
k_EInputActionOrigin_PS4_Gyro_Pitch100(DUALSHOCK 4) giroscópio, movimentação analógica no eixo de arfagem (aponta a face para cima na direção do teto, para baixo na direção do chão)
k_EInputActionOrigin_PS4_Gyro_Yaw101(DUALSHOCK 4) giroscópio, movimentação analógica no eixo de guinada (vira a face para a esquerda, de frente para uma parede, para a direita de frente para outra parede)
k_EInputActionOrigin_PS4_Gyro_Roll102(DUALSHOCK 4) giroscópio, movimentação analógica no eixo de rolagem (inclina a face para a esquerda, na direção de um dos ombros, inclina a frente para a direita, na direção do outro)
k_EInputActionOrigin_PS4_Reserved0103Reservado para uso futuro
k_EInputActionOrigin_PS4_Reserved1104Reservado para uso futuro
k_EInputActionOrigin_PS4_Reserved2105Reservado para uso futuro
k_EInputActionOrigin_PS4_Reserved3106Reservado para uso futuro
k_EInputActionOrigin_PS4_Reserved4107Reservado para uso futuro
k_EInputActionOrigin_PS4_Reserved5108Reservado para uso futuro
k_EInputActionOrigin_PS4_Reserved6109Reservado para uso futuro
k_EInputActionOrigin_PS4_Reserved7110Reservado para uso futuro
k_EInputActionOrigin_PS4_Reserved8111Reservado para uso futuro
k_EInputActionOrigin_PS4_Reserved9112Reservado para uso futuro
k_EInputActionOrigin_PS4_Reserved10113Reservado para uso futuro
k_EInputActionOrigin_XBoxOne_A114(Xbox One) botão digital frontal A
k_EInputActionOrigin_XBoxOne_B115(Xbox One) botão digital frontal B
k_EInputActionOrigin_XBoxOne_X116(XB1) digital face button Cross
k_EInputActionOrigin_XBoxOne_Y117(Xbox One) botão digital frontal Y
k_EInputActionOrigin_XBoxOne_LeftBumper118(Xbox One) botão superior esquerdo digital (LB)
k_EInputActionOrigin_XBoxOne_RightBumper119(Xbox One) botão superior direito digital (RB)
k_EInputActionOrigin_XBoxOne_Menu120(Xbox One) botão digital Menu (Start)
k_EInputActionOrigin_XBoxOne_View121(Xbox One) botão digital Visão (Back)
k_EInputActionOrigin_XBoxOne_LeftTrigger_Pull122(Xbox One) gatilho analógico esquerdo, pressionado com qualquer intensidade (valor analógico)
k_EInputActionOrigin_XBoxOne_LeftTrigger_Click123(Xbox One) gatilho analógico esquerdo, pressionado até o fim (valor digital)
k_EInputActionOrigin_XBoxOne_RightTrigger_Pull124(Xbox One) gatilho analógico direito, pressionado com qualquer intensidade (valor analógico)
k_EInputActionOrigin_XBoxOne_RightTrigger_Click125(Xbox One) gatilho analógico direito, pressionado até o fim (valor digital)
k_EInputActionOrigin_XBoxOne_LeftStick_Move126(Xbox One) alavanca esquerda, movimentação em qualquer eixo (valor analógico)
k_EInputActionOrigin_XBoxOne_LeftStick_Click127(Xbox One) alavanca esquerda, clicada (valor digital)
k_EInputActionOrigin_XBoxOne_LeftStick_DPadNorth128(Xbox One) alavanca esquerda, movimentação digital (quadrante de cima)
k_EInputActionOrigin_XBoxOne_LeftStick_DPadSouth129(Xbox One) alavanca esquerda, movimentação digital (quadrante de baixo)
k_EInputActionOrigin_XBoxOne_LeftStick_DPadWest130(Xbox One) alavanca esquerda, movimentação digital (quadrante da esquerda)
k_EInputActionOrigin_XBoxOne_LeftStick_DPadEast131(Xbox One) alavanca esquerda, movimentação digital (quadrante da direita)
k_EInputActionOrigin_XBoxOne_RightStick_Move132(Xbox One) alavanca direita, movimentação em qualquer eixo (valor analógico)
k_EInputActionOrigin_XBoxOne_RightStick_Click133(Xbox One) alavanca direita, clicada (valor digital)
k_EInputActionOrigin_XBoxOne_RightStick_DPadNorth134(Xbox One) alavanca direita, movimentação digital (quadrante de cima)
k_EInputActionOrigin_XBoxOne_RightStick_DPadSouth135(Xbox One) alavanca direita, movimentação digital (quadrante de baixo)
k_EInputActionOrigin_XBoxOne_RightStick_DPadWest136(Xbox One) alavanca direita, movimentação digital (quadrante da esquerda)
k_EInputActionOrigin_XBoxOne_RightStick_DPadEast137(Xbox One) alavanca direita, movimentação digital (quadrante da direita)
k_EInputActionOrigin_XBoxOne_DPad_North138(Xbox One) direcional, pressionado (quadrante de cima)
k_EInputActionOrigin_XBoxOne_DPad_South139(Xbox One) direcional, pressionado (quadrante de baixo)
k_EInputActionOrigin_XBoxOne_DPad_West140(Xbox One) direcional, pressionado (quadrante da esquerda)
k_EInputActionOrigin_XBoxOne_DPad_East141(Xbox One) direcional, pressionado (quadrante da direita)
k_EInputActionOrigin_XBoxOne_Reserved0142Reservado para uso futuro
k_EInputActionOrigin_XBoxOne_Reserved1143Reservado para uso futuro
k_EInputActionOrigin_XBoxOne_Reserved2144Reservado para uso futuro
k_EInputActionOrigin_XBoxOne_Reserved3145Reservado para uso futuro
k_EInputActionOrigin_XBoxOne_Reserved4146Reservado para uso futuro
k_EInputActionOrigin_XBoxOne_Reserved5147Reservado para uso futuro
k_EInputActionOrigin_XBoxOne_Reserved6148Reservado para uso futuro
k_EInputActionOrigin_XBoxOne_Reserved7149Reservado para uso futuro
k_EInputActionOrigin_XBoxOne_Reserved8150Reservado para uso futuro
k_EInputActionOrigin_XBoxOne_Reserved9151Reservado para uso futuro
k_EInputActionOrigin_XBoxOne_Reserved10152Reservado para uso futuro
k_EInputActionOrigin_XBox360_A153(Xbox 360) botão digital frontal A
k_EInputActionOrigin_XBox360_B154(Xbox 360) botão digital frontal B
k_EInputActionOrigin_XBox360_X155(Xbox 360) botão digital frontal X
k_EInputActionOrigin_XBox360_Y156(Xbox 360) botão digital frontal Y
k_EInputActionOrigin_XBox360_LeftBumper157(Xbox 360) botão superior esquerdo digital (LB)
k_EInputActionOrigin_XBox360_RightBumper158(Xbox 360) botão superior direito digital (RB)
k_EInputActionOrigin_XBox360_Start159(Xbox 360) botão digital Start
k_EInputActionOrigin_XBox360_Back160(Xbox 360) botão digital Back
k_EInputActionOrigin_XBox360_LeftTrigger_Pull161(Xbox 360) gatilho analógico esquerdo, pressionado com qualquer intensidade (valor analógico)
k_EInputActionOrigin_XBox360_LeftTrigger_Click162(Xbox 360) gatilho analógico esquerdo, pressionado até o fim (valor digital)
k_EInputActionOrigin_XBox360_RightTrigger_Pull163(Xbox 360) gatilho analógico direito, pressionado com qualquer intensidade (valor analógico)
k_EInputActionOrigin_XBox360_RightTrigger_Click164(Xbox 360) gatilho analógico direito, pressionado até o fim (valor digital)
k_EInputActionOrigin_XBox360_LeftStick_Move165(Xbox 360) alavanca esquerda, movimentação em qualquer eixo (valor analógico)
k_EInputActionOrigin_XBox360_LeftStick_Click166(Xbox 360) alavanca esquerda, clicada (valor digital)
k_EInputActionOrigin_XBox360_LeftStick_DPadNorth167(Xbox 360) alavanca esquerda, movimentação digital (quadrante de cima)
k_EInputActionOrigin_XBox360_LeftStick_DPadSouth168(Xbox 360) alavanca esquerda, movimentação digital (quadrante de baixo)
k_EInputActionOrigin_XBox360_LeftStick_DPadWest169(Xbox 360) alavanca esquerda, movimentação digital (quadrante da esquerda)
k_EInputActionOrigin_XBox360_LeftStick_DPadEast170(Xbox 360) alavanca esquerda, movimentação digital (quadrante da direita)
k_EInputActionOrigin_XBox360_RightStick_Move171(Xbox 360) alavanca direita, movimentação em qualquer eixo (valor analógico)
k_EInputActionOrigin_XBox360_RightStick_Click172(Xbox 360) alavanca direita, clicada (valor digital)
k_EInputActionOrigin_XBox360_RightStick_DPadNorth173(Xbox 360) alavanca direita, movimentação digital (quadrante de cima)
k_EInputActionOrigin_XBox360_RightStick_DPadSouth174(Xbox 360) alavanca direita, movimentação digital (quadrante de baixo)
k_EInputActionOrigin_XBox360_RightStick_DPadWest175(Xbox 360) alavanca direita, movimentação digital (quadrante da esquerda)
k_EInputActionOrigin_XBox360_RightStick_DPadEast176(Xbox 360) alavanca direita, movimentação digital (quadrante da direita)
k_EInputActionOrigin_XBox360_DPad_North177(Xbox 360) direcional, pressionado (quadrante de cima)
k_EInputActionOrigin_XBox360_DPad_South178(Xbox 360) direcional, pressionado (quadrante de baixo)
k_EInputActionOrigin_XBox360_DPad_West179(Xbox 360) direcional, pressionado (quadrante da esquerda)
k_EInputActionOrigin_XBox360_DPad_East180(Xbox 360) direcional, pressionado (quadrante da direita)
k_EInputActionOrigin_XBox360_Reserved0181Reservado para uso futuro
k_EInputActionOrigin_XBox360_Reserved1182Reservado para uso futuro
k_EInputActionOrigin_XBox360_Reserved2183Reservado para uso futuro
k_EInputActionOrigin_XBox360_Reserved3184Reservado para uso futuro
k_EInputActionOrigin_XBox360_Reserved4185Reservado para uso futuro
k_EInputActionOrigin_XBox360_Reserved5186Reservado para uso futuro
k_EInputActionOrigin_XBox360_Reserved6187Reservado para uso futuro
k_EInputActionOrigin_XBox360_Reserved7188Reservado para uso futuro
k_EInputActionOrigin_XBox360_Reserved8189Reservado para uso futuro
k_EInputActionOrigin_XBox360_Reserved9190Reservado para uso futuro
k_EInputActionOrigin_XBox360_Reserved10191Reservado para uso futuro
k_EInputActionOrigin_Switch_A192(Nintendo Switch Pro) digital face button A
k_EInputActionOrigin_Switch_B193(Nintendo Switch Pro) digital face button B
k_EInputActionOrigin_Switch_X194(Nintendo Switch Pro) digital face button X
k_EInputActionOrigin_Switch_Y195(Controle Pro do Nintendo Switch) botão digital frontal Y
k_EInputActionOrigin_Switch_LeftBumper196(Controle Pro do Nintendo Switch) botão superior esquerdo digital (LB/L)
k_EInputActionOrigin_Switch_RightBumper197(Controle Pro do Nintendo Switch) botão superior direito digital (RB/R)
k_EInputActionOrigin_Switch_Plus198(Controle Pro do Nintendo Switch) botão digital +
k_EInputActionOrigin_Switch_Minus199(Controle Pro do Nintendo Switch) botão digital -
k_EInputActionOrigin_Switch_Capture200(Controle Pro do Nintendo Switch) botão digital de captura
k_EInputActionOrigin_Switch_LeftTrigger_Pull201(Controle Pro do Nintendo Switch) gatilho esquerdo (LT/ZL), clicado
k_EInputActionOrigin_Switch_LeftTrigger_Click202(Controle Pro do Nintendo Switch) gatilho esquerdo (LT/ZL), clicado (idêntico ao valor anterior)
k_EInputActionOrigin_Switch_RightTrigger_Pull203(Controle Pro do Nintendo Switch) gatilho direito (RT/ZR), clicado
k_EInputActionOrigin_Switch_RightTrigger_Click204(Controle Pro do Nintendo Switch) gatilho direito (RT/ZR), clicado (idêntico ao valor anterior)
k_EInputActionOrigin_Switch_LeftStick_Move205(Controle Pro do Nintendo Switch) alavanca esquerda, movimentação em qualquer eixo (valor analógico)
k_EInputActionOrigin_Switch_LeftStick_Click206(Controle Pro do Nintendo Switch) alavanca esquerda, clicada (valor digital)
k_EInputActionOrigin_Switch_LeftStick_DPadNorth207(Controle Pro do Nintendo Switch) alavanca esquerda, movimentação digital (quadrante de cima)
k_EInputActionOrigin_Switch_LeftStick_DPadSouth208(Controle Pro do Nintendo Switch) alavanca esquerda, movimentação digital (quadrante de baixo)
k_EInputActionOrigin_Switch_LeftStick_DPadWest209(Controle Pro do Nintendo Switch) alavanca esquerda, movimentação digital (quadrante da esquerda)
k_EInputActionOrigin_Switch_LeftStick_DPadEast210(Controle Pro do Nintendo Switch) alavanca esquerda, movimentação digital (quadrante da direita)
k_EInputActionOrigin_Switch_RightStick_Move211(Controle Pro do Nintendo Switch) alavanca direita, movimentação em qualquer eixo (valor analógico)
k_EInputActionOrigin_Switch_RightStick_Click212(Controle Pro do Nintendo Switch) alavanca direita, clicada (valor digital)
k_EInputActionOrigin_Switch_RightStick_DPadNorth213(Controle Pro do Nintendo Switch) alavanca direita, movimentação digital (quadrante de cima)
k_EInputActionOrigin_Switch_RightStick_DPadSouth214(Controle Pro do Nintendo Switch) alavanca direita, movimentação digital (quadrante de baixo)
k_EInputActionOrigin_Switch_RightStick_DPadWest215(Controle Pro do Nintendo Switch) alavanca direita, movimentação digital (quadrante da esquerda)
k_EInputActionOrigin_Switch_RightStick_DPadEast216(Controle Pro do Nintendo Switch) alavanca direita, movimentação digital (quadrante da direita)
k_EInputActionOrigin_Switch_DPad_North217(Controle Pro do Nintendo Switch) direcional, pressionado (quadrante de cima)
k_EInputActionOrigin_Switch_DPad_South218(Controle Pro do Nintendo Switch) direcional, pressionado (quadrante de baixo)
k_EInputActionOrigin_Switch_DPad_West219(Controle Pro do Nintendo Switch) direcional, pressionado (quadrante da esquerda)
k_EInputActionOrigin_Switch_DPad_East220(Controle Pro do Nintendo Switch) direcional, pressionado (quadrante da direita)
k_EInputActionOrigin_SwitchProGyro_Move221(Controle Pro do Nintendo Switch) giroscópio, movimentação analógica em qualquer eixo
k_EInputActionOrigin_SwitchProGyro_Pitch222(Nintendo Switch Pro) gyroscope, analog movement on the Pitch axis (point head up to ceiling, point head down to floor)
k_EInputActionOrigin_SwitchProGyro_Yaw223(Nintendo Switch Pro) gyroscope, analog movement on the Yaw axis (turn head left to face one wall, turn head right to face other)
k_EInputActionOrigin_SwitchProGyro_Roll224(Nintendo Switch Pro) gyroscope, analog movement on the Roll axis (tilt head left towards shoulder, tilt head right towards other shoulder)
k_EInputActionOrigin_Switch_Reserved0225Reservado para uso futuro
k_EInputActionOrigin_Switch_Reserved1226Reservado para uso futuro
k_EInputActionOrigin_Switch_Reserved2227Reservado para uso futuro
k_EInputActionOrigin_Switch_Reserved3228Reservado para uso futuro
k_EInputActionOrigin_Switch_Reserved4229Reservado para uso futuro
k_EInputActionOrigin_Switch_Reserved5230Reservado para uso futuro
k_EInputActionOrigin_Switch_Reserved6231Reservado para uso futuro
k_EInputActionOrigin_Switch_Reserved7232Reservado para uso futuro
k_EInputActionOrigin_Switch_Reserved8233Reservado para uso futuro
k_EInputActionOrigin_Switch_Reserved9234Reservado para uso futuro
k_EInputActionOrigin_Switch_Reserved10235Reservado para uso futuro
k_EInputActionOrigin_Count258The number of values in this enum, useful for iterating.
k_EInputActionOrigin_MaximumPossibleValue32767The number of values in this enum, useful for iterating.

EControllerSource

A region of the controller that can be thought of as a larger abstract modular unit that one of many modes can be applied to and output meaningful data. For example, a joystick can be treated as either a single analog input, or broken up into four discrete digital forming a virtual DPAD. Likewise, the ABXY face buttons form a natural group that be treated as four independent buttons, or as components of a virtual DPAD, etc.

NomeValorDescrição
k_EInputSource_None0Nenhuma fonte de controle.
k_EInputSource_LeftTrackpad1O touchpad esquerdo ou a metade esquerda de um touchpad centralizado.
k_EInputSource_RightTrackpad2The right touchpad, or the right half of a central touchpad.
k_EInputSource_Joystick3A alavanca ou, se houver mais de uma, a alavanca esquerda.
k_EInputSource_ABXY4The four main face buttons.
k_EInputSource_Switch5Switches/buttons on the controller that don't belong to any other specific source. This includes bumpers, start/select, and grips. This special case of misfits don't fit into the larger paradigm and thus get their own source of digital buttons and a corresponding mode that processes them.
k_EInputSource_LeftTrigger6O gatilho analógico esquerdo.
k_EInputSource_RightTrigger7O gatilho analógico direito.
k_EInputSource_Gyro8O giroscópio interno.
k_EInputSource_CenterTrackpad9The central touchpad. (DS4 only)
k_EInputSource_RightJoystick10A alavanca direita. Se houver apenas uma alavanca, esta fonte não é usada.
k_EInputSource_DPad11O direcional.
k_EInputSource_Key12Uma tecla do teclado (para teclados com "scan codes").
k_EInputSource_Mouse13Um mouse tradicional.
k_EInputSource_Count14A quantidade de valores na enumeração; útil para iterações.

EControllerSourceMode

O modo de entrada virtual imposto pelo configurador em uma fonte de controle. For instance, the configurator can make an analog joystick behave like a Dpad with four digital inputs; the EControllerSource would be k_EInputSource_Joystick and the EControllerSourceMode would be k_EInputSourceMode_Dpad. O modo também altera os dados de entrada recebidos por quaisquer ações associadas.

NomeValorDescrição
k_EInputSourceMode_None0Nenhum modo de entrada.
k_EInputSourceMode_Dpad1A digital pad -- four digital directional buttons fused together in a cross pattern, such that only one button from each axis can be pressed at any given time.
k_EInputSourceMode_Buttons2
k_EInputSourceMode_FourButtons3Quatro botões direcionais digitais, que podem ser pressionados simultaneamente.
k_EInputSourceMode_AbsoluteMouse4
k_EInputSourceMode_RelativeMouse5
k_EInputSourceMode_JoystickMove6
k_EInputSourceMode_JoystickMouse7
k_EInputSourceMode_JoystickCamera8
k_EInputSourceMode_ScrollWheel9
k_EInputSourceMode_Trigger10
k_EInputSourceMode_TouchMenu11
k_EInputSourceMode_MouseJoystick12
k_EInputSourceMode_MouseRegion13
k_EInputSourceMode_RadialMenu14
k_EInputSourceMode_SingleButton15
k_EInputSourceMode_Switches16

ESteamControllerLEDFlag

Controls the color of a Steam Controller Device's LED (if the device indeed has one).

Notes:
The VSC has an LED, but only its brightness will be affected (the color is always white).
The DS4's LED is the lightbar, whose color and brightness can both be configured.

NomeValorDescrição
k_ESteamControllerLEDFlag_SetColor0Set the color to the specified values
k_ESteamControllerLEDFlag_RestoreUserDefault1Restore the color to default (out-of-game) settings

ESteamInputType

Represents the device model for a given piece of hardware.

NomeValorDescrição
k_ESteamInputType_Unknown0Valor para dispositivos não reconhecidos
k_ESteamInputType_SteamController1Controle Steam (Valve)
k_ESteamInputType_XBox360Controller2Controle para Xbox 360 (Microsoft)
k_ESteamInputType_XBoxOneController3Controle para Xbox One (Microsoft)
k_ESteamInputType_GenericXInput4Controle XInput genérico de terceiros
k_ESteamInputType_PS4Controller5Sony's PlayStation 4 Controller
k_ESteamInputType_AppleMFiController6Não usado
k_ESteamInputType_AndroidController7Não usado
k_ESteamInputType_SwitchJoyConPair8Não usado
k_ESteamInputType_SwitchJoyConSingle9Não usado
k_ESteamInputType_SwitchProController10Controle Pro do Nintendo Switch
k_ESteamInputType_MobileTouch11Controle por toque do aplicativo móvel do Steam Link
k_ESteamInputType_PS3Controller12Sony's PlayStation 3 Controller or PS3/PS4 compatible fight stick
k_ESteamInputType_Count13A quantidade atual de itens retornados
k_ESteamInputType_MaximumPossibleValue255O valor máximo possível a ser retornado

ESteamControllerPad

A touchpad region on a Steam Controller Device.

Notes:
On the VSC, the values correspond to the left & right haptic touchpads.
On the DS4, the values correspond to the left & right halves of the single, central touchpad.

NomeValorDescrição
k_ESteamControllerPad_Left0A região esquerda do touchpad de um dispositivo. Modelos compatíveis: Controle Steam, DUALSHOCK 4
k_ESteamControllerPad_Right1The right region on a Steam Controller Device. Compatible models: VSC, DS4

Tipos definidos

Estes são os tipos definidos por typedefs para uso com ISteamInput.

NomeTipo baseDescrição
InputActionSetHandle_tuint64These handles are used to refer to a specific in-game action or action set
All action handles should be queried during initialization for performance reasons
InputAnalogActionHandle_tuint64Um handle de uma ação analógica, que pode ser recuperado a partir da função ISteamInput::GetAnalogActionHandle.
InputDigitalActionHandle_tuint64Um handle de uma ação digital, que pode ser recuperado a partir da função ISteamInput::GetDigitalActionHandle.
InputHandle_tuint64This handle will consistently identify a controller, even if it is disconnected and re-connected

Constantes

Estas são as constantes definidas para uso com ISteamInput.

NomeTipoValorDescrição
STEAMINPUT_INTERFACE_VERSIONconst char *"SteamInput001"
STEAM_INPUT_HANDLE_ALL_CONTROLLERSintUINT64_MAXWhen sending an option to a specific controller handle, you can use this special value in the place of a handle to send the option to all controllers instead.
STEAM_INPUT_MAX_ANALOG_ACTIONSint16A quantidade máxima de ações analógicas que podem ser realizadas em cada controle.
STEAM_INPUT_MAX_ANALOG_ACTION_DATAfloat1.0fO valor máximo passado por uma ação analógica em qualquer eixo.
STEAM_INPUT_MAX_COUNTint16A quantidade máxima de controles que podem ser usados simultaneamente com o configurador da Entrada Steam.
STEAM_INPUT_MAX_DIGITAL_ACTIONSint128A quantidade máxima de ações digitais que podem ser realizadas em cada controle.
STEAM_INPUT_MAX_ORIGINSint8A quantidade máxima de origens de entrada que podem ser associadas a uma única ação.
STEAM_INPUT_MIN_ANALOG_ACTION_DATAfloat-1.0fO valor mínimo passado por uma ação analógica em qualquer eixo.
  翻译: