La API de Steam Input es una API flexible, basada en acciones, que admite todos los principales tipos de mandos: Xbox, PlayStation, Pro de Nintendo Switch y Steam Controller.
Consulta la documentación de
Steam Input para obtener más información.
Funciones miembro
Las funciones miembro para
ISteamInput se llaman a través de la función de acceso global
SteamInput().
ActivateActionSet
void ActivateActionSet( InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle );
| Nombre | Tipo | Descripción |
| inputHandle | InputHandle_t | Handle del mando para el que deseas activar el set de acciones. |
| actionSetHandle | InputActionSetHandle_t | Handle del set de acciones que quieres activar. |
Reconfigura el mando para usar el set de acciones especificado (por ejemplo, «Menú», «Caminar» o «Conducir»).
No es costoso usarla, se puede llamar repetidamente. A menudo es más sencillo llamar a esta función en los bucles de estado, en lugar de intentar colocarla en todas las transiciones de estado.
Ejemplo: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;
}
}
Activar todos los mandos
A menudo, querrás activar todos los mandos a la vez, en lugar de un solo dispositivo. Para esto, debes usar la constante
STEAM_INPUT_HANDLE_ALL_CONTROLLERS como el handle de tu mando. También puedes utilizar este valor en cualquier otra función que requiera un handle de mando individual.
Ejemplo: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 );
| Nombre | Tipo | Descripción |
| inputHandle | InputHandle_t | Handle del mando para el que quieres activar la capa de set de acciones. |
| actionSetHandle | InputActionSetHandle_t | Handle de la capa de set de acciones que quieres activar. |
Reconfigura el mando para que use la capa del set de acciones especificada.
Consulta el artículo
Capas de sets de acciones para obtener todos los detalles y un ejemplo práctico en profundidad.
Ejemplo:SteamInput()->ActivateActionSetLayer( inputHandle1, myActionSetLayer );
DeactivateActionSetLayer
void DeactivateActionSetLayer( InputHandle_t inputHandle, InputActionSetHandle_t actionSetLayerHandle );
| Nombre | Tipo | Descripción |
| inputHandle | InputHandle_t | Handle del mando para el que quieres desactivar la capa de set de acciones. |
| actionSetHandle | InputActionSetHandle_t | Handle de la capa de set de acciones que quieres desactivar. |
Reconfigura el mando para dejar de usar la capa del set de acciones especificada.
Ejemplo:SteamInput()->DeactivateActionSetLayer( inputHandle1, myActionSetLayer );
DeactivateAllActionSetLayers
void DeactivateAllActionSetLayers( InputHandle_t inputHandle );
| Nombre | Tipo | Descripción |
| inputHandle | InputHandle_t | Handle del mando para el que quieres desactivar todas las capas de sets de acciones. |
Reconfigura el mando para dejar de usar las capas de sets de acciones.
Ejemplo:SteamInput()->DeactivateAllActionSetLayers( inputHandle1 );
GetActiveActionSetLayers
int GetActiveActionSetLayers( InputHandle_t inputHandle, InputActionSetHandle_t *handlesOut );
Rellena una matriz con todas las capas de sets de acciones actualmente activas para el handle de un mando específico.
Ejemplo:InputActionSetHandle_t hActiveLayerHandles [STEAM_INPUT_MAX_ACTIVE_LAYERS];
SteamInput()->GetActiveActionSetLayers( controllerHandle, hActiveLayerHandles );
GetActionSetHandle
InputActionSetHandle_t GetActionSetHandle( const char *pszActionSetName );
| Nombre | Tipo | Descripción |
| pszActionSetName | const char * | Identificador de cadena de un set de acciones definido en el archivo VDF del juego. |
Busca el handle de un set de acciones. Es mejor hacerlo una vez al inicio y almacenar los handles para todas las futuras llamadas a la API.
Devuelve: InputActionSetHandle_tEl handle del set de acciones especificado.
Ejemplo:InputActionSetHandle_t fightingSetHandle = SteamInput()->GetActionSetHandle( "fighting" );
GetAnalogActionData
InputAnalogActionData_t GetAnalogActionData( InputHandle_t inputHandle, InputAnalogActionHandle_t analogActionHandle );
Devuelve el estado actual de la acción analógica del juego suministrada.
Devuelve: InputAnalogActionData_tEl estado actual de la acción analógica especificada.
Ejemplo:InputAnalogActionData_t data = SteamInput()->GetAnalogActionData( controller1Handle, moveHandle );
GetAnalogActionHandle
InputAnalogActionHandle_t GetAnalogActionHandle( const char *pszActionName );
| Nombre | Tipo | Descripción |
| pszActionName | const char * | Identificador de cadena de la acción analógica definida en el archivo VDF del juego. |
Obtiene el handle de la acción analógica especificada.
NOTA: Esta función no toma el parámetro handle del set de acciones. Esto significa que cada acción presente en el archivo VDF debe tener un identificador de cadena único. En otras palabras, si usas una acción llamada «arriba» en dos sets de acciones distintos, esta función solo devolverá una de ellas e ignorará la otra.
Devuelve: InputAnalogActionHandle_tEl handle de la acción analógica especificada.
Ejemplo:InputAnalogActionHandle_t moveHandle = SteamInput()->GetAnalogActionHandle( "move" );
GetAnalogActionOrigins
int GetAnalogActionOrigins( InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle, InputAnalogActionHandle_t analogActionHandle, EInputActionOrigin *originsOut );
Obtiene los orígenes de una acción analógica que forma parte de un set de acciones; para ello, rellena originsOut con los handles de EInputActionOrigin. Usa esto para mostrar el aviso en pantalla adecuado para la acción.
Devuelve: int
El número de orígenes suministrados en
originsOut.
Ejemplo:EInputActionOrigin *origins = new EInputActionOrigin[ STEAM_INPUT_MAX_ORIGINS ];
SteamInput()->GetAnalogActionOrigins( controller1Handle, walkingSetHandle, moveHandle, origins );
GetConnectedControllers
int GetConnectedControllers( InputHandle_t *handlesOut );
Enumera los mandos conectados actualmente; para ello, rellena handlesOut con handles de mandos.
Devuelve: int
El número de handles escritos en
handlesOut.
Ejemplo:InputHandle_t *inputHandles = new InputHandle_t[ STEAM_INPUT_MAX_COUNT ];
SteamInput()->GetConnectedControllers( inputHandles );
GetControllerForGamepadIndex
InputHandle_t GetControllerForGamepadIndex( int nIndex );
| Nombre | Tipo | Descripción |
| nIndex | int | Índice del mando emulado cuyo handle quieres obtener. |
Devuelve el handle asociado al mando emulado especificado. Se puede usar con GetInputTypeForHandle para determinar el tipo de mando mediante la emulación de mandos de Steam Input.
Devuelve: InputHandle_tEjemplo:// Reemplaza con la posición de Xinput por la que consultas. Este número está entre 0 y 3.
int nXinputSlotIndex = 0;
InputHandle_t inputHandle = SteamInput()->GetControllerForGamepadIndex( nXinputSlotIndex );
if ( inputHandle == 0 )
{
// Los handles de entrada válidos son mayores que 0; este es un mando normal de Xbox
}
else
{
ESteamInputType inputType = SteamInput()->GetInputTypeForHandle( inputHandle );
switch( inputType )
{
case k_ESteamInputType_Unknown:
printf( "¡Desconocido!\n" ); break;
case k_ESteamInputType_SteamController:
printf( "¡Steam Controller!\n" ); break;
case k_ESteamInputType_XBox360Controller:
printf( "¡Mando de XBox 360!\n" ); break;
case k_ESteamInputType_XBoxOneController:
printf( "¡Mando de XBox One!\n" ); break;
case k_ESteamInputType_GenericXInput:
printf( "¡XInput genérico!\n" ); break;
case k_ESteamInputType_PS4Controller:
printf( "¡Mando de PS4!\n" ); break;
}
}
GetCurrentActionSet
InputActionSetHandle_t GetCurrentActionSet( InputHandle_t inputHandle );
| Nombre | Tipo | Descripción |
| inputHandle | InputHandle_t | Handle del mando que quieres consultar. |
Obtiene el set de acciones activo actualmente para el mando especificado.
Devuelve: InputActionSetHandle_tEl handle del set de acciones activado para el mando especificado.
Ejemplo:InputActionSetHandle_t controller1Set = SteamInput()->GetCurrentActionSet(controller1Handle);
GetDigitalActionData
InputDigitalActionData_t GetDigitalActionData( InputHandle_t inputHandle, InputDigitalActionHandle_t digitalActionHandle );
Devuelve el estado actual de la acción digital del juego proporcionada.
Devuelve: InputDigitalActionData_tEl estado actual de la acción digital especificada.
GetDigitalActionHandle
InputDigitalActionHandle_t GetDigitalActionHandle( const char *pszActionName );
| Nombre | Tipo | Descripción |
| pszActionName | const char * | Identificador de cadena de la acción digital definida en el archivo VDF del juego. |
Obtiene el handle de la acción digital especificada.
NOTA: Esta función no toma el parámetro handle del set de acciones. Esto significa que cada acción presente en el archivo VDF debe tener un identificador de cadena único. En otras palabras, si usas una acción llamada «arriba» en dos sets de acciones distintos, esta función solo devolverá una de ellas e ignorará la otra.
Devuelve: InputDigitalActionHandle_tEl handle de la acción digital especificada.
Ejemplo:InputDigitalActionHandle_t punchHandle = SteamInput()->GetDigitalActionHandle( "punch" );
GetDigitalActionOrigins
int GetDigitalActionOrigins( InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle, InputDigitalActionHandle_t digitalActionHandle, EInputActionOrigin *originsOut );
Obtiene el origen o los orígenes de una acción digital dentro de un set de acciones rellenando
originsOut con los handles de
EInputActionOrigin. Usa esto para mostrar el aviso en pantalla adecuado para la acción.
Devuelve: int
El número de orígenes suministrados en
originsOut.
Ejemplo:EInputActionOrigin *origins = new EInputActionOrigin[ STEAM_INPUT_MAX_ORIGINS ];
SteamInput()->GetDigitalActionOrigins( controller1Handle, fightingSetHandle, punchHandle, origins );
GetGamepadIndexForController
int GetGamepadIndexForController( InputHandle_t ulControllerHandle );
| Nombre | Tipo | Descripción |
| ulControllerHandle | InputHandle_t | Handle del mando cuyo índice quieres obtener. |
Devuelve el índice del mando asociado con el mando especificado, si se está emulando.
Devuelve: int
Ejemplo:int gamepadIndex = SteamInput()->GetGamepadIndexForController( controller1Handle );
GetGlyphForActionOrigin
const char * GetGlyphForActionOrigin( EInputActionOrigin eOrigin );
Obtiene la ruta local a una imagen para mostrar en pantalla el glifo correspondiente a un origen particular.
Devuelve: const char *
La ruta al archivo PNG del glifo.
Por ejemplo,
"C:\Archivos de programa (x86)\Steam\tenfoot\resource\images\library\controller\api\ps4_button_x.png"Ejemplo:// Obtiene los orígenes de «golpear».
EInputActionOrigin *origins = new EInputActionOrigin[ STEAM_INPUT_MAX_ORIGINS ];
SteamInput()->GetDigitalActionOrigins( controller1Handle, fightingSetHandle, punchHandle, origins );
EInputActionOrigin firstOrigin = origins[0]; //i.e, k_EInputActionOrigin_PS4_X
// Esta es una función del propio juego que intenta obtener arte de glifos personalizado.
int glyphTextureID = getHardCodedButtonGlyphTexture( firstOrigin );
// ¡No incluimos ningún material gráfico en nuestro juego para este origen! Parece que Steam ha añadido compatibilidad para
// un nuevo mando, o simplemente nos olvidamos de añadir ese material gráfico
// (es decir, solo tenemos glifos del Steam Controller, pero es un mando de PlayStation 4).
if( glyphTextureID == -1 )
{
// En su lugar, simplemente obtén la imagen del cliente de Steam.
const char *localGlyphPath = SteamInput()->GetGlyphForActionOrigin( firstOrigin );
printf( "path = %s\n", localGlyphPath ); // "path = C:\Archivos de programa (x86)\Steam\tenfoot\resource\images\library\controller\api\ps4_button_x.png"
// Una función del juego que convierte la ruta de un archivo en una textura del juego utilizable.
glyphTextureID = loadButtonGlyphTextureFromLocalPath( localGlyphPath );
}
GetInputTypeForHandle
ESteamInputType GetInputTypeForHandle( InputHandle_t inputHandle );
| Nombre | Tipo | Descripción |
| inputHandle | InputHandle_t | Handle del mando cuyo tipo de entrada (modelo de dispositivo) deseas consultar. |
Devuelve el tipo de entrada (modelo de dispositivo) para el mando especificado. Esto te indica si un mando determinado es un Steam Controller, un mando de Xbox 360, un mando de PS4, etc.
Devuelve: ESteamInputTypeEjemplo:ESteamInputType inputType = SteamInput()->GetInputTypeForHandle(controller1Handle);
switch(inputType)
{
case k_ESteamInputType_Unknown:
printf("¡Desconocido!\n"); break;
case k_ESteamInputType_SteamController:
printf("¡Steam Controller!\n"); break;
case k_ESteamInputType_XBox360Controller:
printf("¡Mando de XBox 360!\n"); break;
case k_ESteamInputType_XBoxOneController:
printf("¡Mando de XBox One!\n"); break;
case k_ESteamInputType_GenericXInput:
printf("¡XInput genérico!\n"); break;
case k_ESteamInputType_PS4Controller:
printf("¡Mando de PS4!\n"); break;
}
GetMotionData
InputMotionData_t GetMotionData( InputHandle_t inputHandle );
| Nombre | Tipo | Descripción |
| inputHandle | InputHandle_t | Handle del mando del que quieres obtener los datos de movimiento. |
Devuelve datos de movimiento sin procesar del mando especificado.
Nota sobre la orientación: Los datos de movimiento devueltos están orientados con respecto al
hardware del mando y no a la forma natural de sostener el mando. Con esto en mente, es posible que debas realizar adaptaciones de diseño en tus esquemas de control por giroscopio. En el caso de dispositivos portátiles con pantallas integradas como Steam Deck (
k_ESteamInputType_SteamDeckController) y Lenovo Legion Go (
k_ESteamInputType_SteamOSHandheld), los usuarios suelen rotar el mando hacia arriba unos 90 grados para apuntar la pantalla hacia sus ojos. En estos casos, considera aplicar una contrarrotación de 90 grados en el cabeceo a los valores del cuaternión del giroscopio y de la velocidad del giroscopio, o utiliza la dirección del acelerómetro/gravedad para crear esquemas de control independientes de la orientación.
El cuaternión devuelto se basa en la rotación acumulada de cada paquete del giroscopio recibido desde el mando, mientras que los valores del giroscopio y del acelerómetro representan los «últimos» paquetes recibidos.
En el caso de giroscopios duales (por ejemplo,
k_ESteamInputType_SwitchJoyConPair), solo se devuelven los datos de movimiento del mando de la mano derecha.
Devuelve: InputMotionData_tEjemplo:InputMotionData_t motionData = SteamInput()->GetControllerMotionData( inputHandle );
GetStringForActionOrigin
const char * GetStringForActionOrigin( EInputActionOrigin eOrigin );
Devuelve una cadena traducida (según la configuración de idioma de Steam) para el origen especificado.
Devuelve: const char *
Ejemplo:EInputActionOrigin *origins = new EInputActionOrigin[ STEAM_INPUT_MAX_ORIGINS ];
SteamInput()->GetDigitalActionOrigins( controller1Handle, fightingSetHandle, punchHandle, origins );
const char * punchString = SteamInput()->GetStringForActionOrigin( origins[0] );
printf("punch = %s\n",punchString);
Init
bool Init();
Se debe llamar al comenzar a usar la interfaz
ISteamInput.
Devuelve: bool
Siempre devuelve
true.
Ejemplo:SteamInput()->Init();
RunFrame
void RunFrame();
Sincroniza el estado de la API con las últimas entradas de Steam Controller disponibles. SteamAPI_RunCallbacks realiza esta acción automáticamente; pero, para obtener la latencia más baja posible, se puede llamar directamente antes de leer el estado del mando.
Ejemplo:SteamInput()->RunFrame();
SetDualSenseTriggerEffect
void SetDualSenseTriggerEffect( InputHandle_t inputHandle, const ScePadTriggerEffectParam *pParam );
| Nombre | Tipo | Descripción |
| inputHandle | InputHandle_t | Handle del mando que se va a ver afectado. |
| pParam | ScePadTriggerEffectParam | Parámetro del efecto del gatillo, definido en isteamdualsense.h. |
Establece el efecto de gatillo para un mando DualSense.
Ejemplo: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 );
| Nombre | Tipo | Descripción |
| inputHandle | InputHandle_t | Handle del mando que se va a ver afectado. |
| nColorR | uint8 | Componente rojo del color que se va a establecer (0-255). |
| nColorG | uint8 | Componente verde del color que se va a establecer (0-255). |
| nColorB | uint8 | Componente azul del color que se va a establecer (0-255). |
| nFlags | unsigned int | Marcas enmascaradas por bits combinadas de valores definidos en ESteamControllerLEDFlag. |
Establece el color del LED en los mandos compatibles.
Notas:El Steam Controller de Valve no es compatible con ningún color que no sea blanco e interpreta los valores RGB como un valor en una escala de grises que afecta al brillo del LED del botón de Steam.
El mando DUALSHOCK 4 responde a la información de color completa y usa esos valores para establecer el color y el brillo de la barra luminosa.
Ejemplo:// Restaura el color predeterminado del usuario para el mando 1:
SteamInput()->SetLEDColor( controller1Handle, 0, 0, 0, k_ESteamControllerLEDFlag_RestoreUserDefault );
// Establece magenta como el color del mando 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 );
Obsoleto.
Devuelve: bool
Siempre devuelve
true.
ShowBindingPanel
bool ShowBindingPanel( InputHandle_t inputHandle );
| Nombre | Tipo | Descripción |
| inputHandle | InputHandle_t | Handle del mando para el que quieres mostrar la pantalla de asignaciones. |
Invoca la interfaz superpuesta de Steam y muestra la pantalla de asignaciones.
Devuelve: bool
true si se realizó correctamente;
false si la interfaz superpuesta está deshabilitada o no disponible. Si el jugador usa el modo Big Picture, la configuración se abrirá en la interfaz superpuesta. En el modo escritorio se creará una versión en ventana emergente de Big Picture y se abrirá la configuración.
Ejemplo:SteamInput()->ShowBindingPanel( myControllerHandle );
ShowDigitalActionOrigins
bool ShowDigitalActionOrigins( InputHandle_t inputHandle, InputDigitalActionHandle_t digitalActionHandle, float flScale, float flXPosition, float flYPosition );
Obsoleto.
Devuelve: bool
Siempre devuelve
true.
Shutdown
bool Shutdown();
Se debe llamar al terminar de usar la interfaz
ISteamInput.
Devuelve: bool
Siempre devuelve
true.
Ejemplo:SteamInput()->Shutdown();
StopAnalogActionMomentum
void StopAnalogActionMomentum( InputHandle_t inputHandle, InputAnalogActionHandle_t eAction );
Detiene la inercia de una acción analógica (si fuese aplicable, es decir, para los ajustes de un panel táctil con trackball virtual).
NOTA:Esto también detendrá todas las respuestas hápticas asociadas. Sirve en situaciones donde quieres indicar al usuario que ha alcanzado el límite de una acción, como rotar un carrusel o desplazarse en una página web.
Ejemplo:SteamInput()->StopAnalogActionMomentum( controller1Handle, moveHandle );
TriggerHapticPulse
void TriggerHapticPulse( InputHandle_t inputHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec );
| Nombre | Tipo | Descripción |
| inputHandle | InputHandle_t | Handle del mando que se va a ver afectado. |
| eTargetPad | ESteamControllerPad | Panel táctil háptico que se va a ver afectado. |
| usDurationMicroSec | unsigned short | Duración de la pulsación, en microsegundos (1/1 000 000 de segundo). |
Activa una pulsación háptica (de bajo nivel) en mandos compatibles.
Notas:Actualmente, solo el Steam Controller de Valve es compatible con pulsaciones hápticas.
La llamada a esta API se ignora en los demás modelos de mandos.
El valor máximo habitual para el tipo «unsigned short» es 65535, lo que significa que la pulsación háptica más larga que puedes activar con este método tiene una duración de 0,065535 segundos (es decir, menos de 1/10 de segundo). Esta función debe considerarse como una acción primaria de bajo nivel cuyo fin es su uso repetido en funciones de usuario de alto nivel para generar comportamientos más sofisticados.
Ejemplo:// Pulsa una vez durante 1/20 de segundo
SteamInput()->TriggerHapticPulse(controller1Handle, k_ESteamControllerPad_Left, 50000);
TriggerRepeatedHapticPulse
void TriggerRepeatedHapticPulse( InputHandle_t inputHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec, unsigned short usOffMicroSec, unsigned short unRepeat, unsigned int nFlags );
| Nombre | Tipo | Descripción |
| inputHandle | InputHandle_t | Handle del mando que se va a ver afectado. |
| eTargetPad | ESteamControllerPad | Panel táctil háptico que se va a ver afectado. |
| usDurationMicroSec | unsigned short | Duración de la pulsación, en microsegundos (1/1 000 000 de segundo). |
| usOffMicroSec | unsigned short | Duración de la pausa entre pulsaciones, en microsegundos. |
| unRepeat | unsigned short | Número de veces a repetir el ciclo usDurationMicroSec/usOffMicroSec. |
| nFlags | unsigned int | Actualmente no se utiliza; reservado para un uso futuro. |
Activa una pulsación háptica repetida en mandos compatibles.
Notas:Actualmente, solo los dispositivos Steam Controller, Steam Deck y el mando Pro de Nintendo Switch son compatibles con las pulsaciones hápticas.
La llamada a esta API se ignora en los modelos de mandos no compatibles.
Esta es una función fácil de usar para llamar a TriggerHapticPulse, pues puede generar patrones de pulsación suficientemente largos como para que los note el usuario.
Al cambiar los parámetros
usDurationMicroSec y
usOffMicroSec se modifica la «textura» de la pulsación háptica.
Ejemplo:// Pulsa durante 1 segundo con un patrón de pulsación de activar/desactivar de un 1/20 de segundo cada uno.
SteamInput()->TriggerRepeatedHapticPulse( controller1Handle, k_ESteamControllerPad_Left, 50000, 50000, 10 );
TriggerVibration
void TriggerVibration( InputHandle_t inputHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed );
| Nombre | Tipo | Descripción |
| inputHandle | InputHandle_t | Handle del mando que se va a ver afectado. |
| usLeftSpeed | unsigned short | Valor de intensidad del motor de vibración izquierdo. |
| usRightSpeed | unsigned short | Valor de intensidad del motor de vibración derecho. |
Activa un evento de vibración en mandos compatibles.
Notas:La llamada a esta API se ignora en los modelos de mandos no compatibles.
Esto genera el tradicional efecto de vibración «rumble».
El Steam Controller de Valve emula la vibración tradicional usando su tecnología háptica.
Ejemplo:SteamInput()->TriggerVibration( controller1Handle, 10000, 10000 );
TriggerVibrationExtended
void TriggerVibrationExtended( InputHandle_t inputHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed );
| Nombre | Tipo | Descripción |
| inputHandle | InputHandle_t | Handle del mando que se va a ver afectado. |
| usLeftSpeed | unsigned short | Valor de intensidad del motor de vibración izquierdo. |
| usRightSpeed | unsigned short | Valor de intensidad del motor de vibración derecho. |
| usLeftTriggerSpeed | unsigned short | Valor de intensidad del motor del gatillo de impulso izquierdo de Xbox. |
| usRightTriggerSpeed | unsigned short | Valor de intensidad del motor del gatillo de impulso derecho de Xbox. |
Activa un evento de vibración en mandos compatibles, incluidos los valores del motor del gatillo de impulso de Xbox.
Notas:En Windows, es necesario instalar el controlador de compatibilidad con funcionalidad ampliada de Xbox para que los valores del motor del gatillo de impulso de Xbox sean compatibles.
El Steam Controller y el Steam Deck emulan la vibración tradicional usando tecnología háptica.
Ejemplo:SteamInput()->TriggerVibrationExtended( controller1Handle, 10000, 10000, 10000, 10000 );
GetActionOriginFromXboxOrigin
EInputActionOrigin GetActionOriginFromXboxOrigin( InputHandle_t inputHandle, EXboxOrigin eOrigin );
| Nombre | Tipo | Descripción |
| inputHandle | InputHandle_t | Handle del mando que se va a ver afectado. Puedes usar GetControllerForGamepadIndex para obtener este handle. |
| eOrigin | EXboxOrigin | Botón para el que deseas obtener la imagen, por ejemplo: k_EXboxOrigin_A. |
Devuelve: EInputActionOrigin
Obtiene un origen de acción que puede utilizarse en la tabla de consulta de glifos o pasarse a GetGlyphForActionOrigin o GetStringForActionOrigin.
Ejemplo:int nXinputSlot = 1; // Sustituye la ranura correcta de Xinput para tu jugador.
InputHandle_t controller1Handle = GetControllerForGamepadIndex( nXinputSlot );
EInputActionOrigin buttonOrigin = SteamInput()->GetActionOriginFromXboxOrigin( controller1Handle, k_EXboxOrigin_A );
// Obtiene la imagen desde el cliente de Steam.
const char *localGlyphPath = SteamInput()->GetGlyphForActionOrigin( buttonOrigin );
printf( "path = %s\n", localGlyphPath ); // "path = C:\Archivos de programa (x86)\Steam\tenfoot\resource\images\library\controller\api\ps4_button_x.png"
// Una función del juego que convierte la ruta de un archivo en una textura del juego utilizable.
glyphTextureID = loadButtonGlyphTextureFromLocalPath( localGlyphPath );
TranslateActionOrigin
EInputActionOrigin TranslateActionOrigin( ESteamInputType eDestinationInputType, EInputActionOrigin eSourceOrigin );
| Nombre | Tipo | Descripción |
| inputHandle | InputHandle_t | Handle del mando que se va a ver afectado. Puedes usar GetControllerForGamepadIndex para obtener este handle. |
| eDestinationInputType | ESteamInputType | Tipo de mando al que deseas hacer la conversión. Steam elegirá el tipo más cercano de tu versión de SDK si usas k_ESteamInputType_Unknown. |
| eSourceOrigin | EInputActionOrigin | Este es el botón que quieres convertir. |
Devuelve: EInputActionOrigin.
Obtiene el origen equivalente para un tipo de mando determinado o aquel más cercano existente en el SDK que integraste en tu juego, si eDestinationInputType es k_ESteamInputType_Unknown. Este origen de acción puede utilizarse en la tabla de consulta de glifos o pasarse a GetGlyphForActionOrigin o GetStringForActionOrigin.
Ejemplo:int nXinputSlot = 1; // Sustituye la ranura correcta de Xinput para tu jugador.
InputHandle_t controller1Handle = GetControllerForGamepadIndex( nXinputSlot );
EInputActionOrigin buttonOrigin = SteamInput()->GetActionOriginFromXboxOrigin( controller1Handle, k_EXboxOrigin_A ); // Por ejemplo, k_EInputActionOrigin_PS4_X.
if ( buttonOrigin >= k_EInputActionOrigin_Count )
{
// ¡No incluimos ningún material gráfico en nuestro juego para este origen! Parece que Steam ha añadido compatibilidad para
// un nuevo mando. Vamos a obtener el valor más cercano que era compatible con el SDK con el que creamos.
buttonOrigin = SteamInput()->TranslateActionOrigin( k_ESteamInputType_Unknown, buttonOrigin )
}
// Esta es una función del propio juego que intenta obtener arte de glifos personalizado.
int glyphTextureID = getHardCodedButtonGlyphTexture( actionOrigin );
GetDeviceBindingRevision
bool GetDeviceBindingRevision( InputHandle_t inputHandle, int *pMajor, int *pMinor );
| Nombre | Tipo | Descripción |
| inputHandle | InputHandle_t | Handle del mando que se quiere consultar. |
| pMajor | int * | Puntero a int en donde se van a introducir las revisiones principales de las asignaciones. |
| pMinor | int * | Puntero a int en donde se van a introducir las revisiones menores de las asignaciones. |
Devuelve: bool -
true si la asignación del dispositivo se encontró correctamente y
false si la asignación aún se está cargando.
Obtiene las revisiones principales y menores de las asignaciones de los dispositivos para las configuraciones de la API de Steam Input. Las revisiones principales se deben utilizar al cambiar el número de sets de acciones o al volver a diseñar las configuraciones en la medida en que las configuraciones más antiguas ya no sean útiles. Cuando la asignación de un usuario no concuerda con la revisión principal de la configuración oficial actual, Steam actualizará de manera forzosa la configuración del usuario. Será necesario realizar nuevas configuraciones para cada mando al actualizar revisiones principales. Las revisiones menores son para pequeños cambios, como añadir una nueva acción opcional o actualizar la localización en la configuración. Al actualizar la revisión menor, por lo general, puedes actualizar una sola configuración y marcar la opción «Usar bloque de acciones» para aplicar los cambios del bloque de acciones a las demás configuraciones.
Código de ejemplo:int nMajorRevision = -1;
int nMinorRevision= -1;
const int nCurrentMajorRevision = 1;
const int nCurrentMinorRevision = 1;
if ( GetDeviceBindingRevision( inputHandle, &nMajorRevision , &nMinorRevision ) )
{
if ( nMinorRevision != nCurrentMinorRevision )
{
// La versión menor no está actualizada, pero está bien.
// La próxima vez que se edite su configuración, esto se solucionará.
}
if ( nMajorRevision != nCurrentMajorRevision )
{
// Esto solo debería ocurrir brevemente mientras Steam detecta
// y luego actualiza a la fuerza al usuario a la última configuración oficial.
}
}
else
{
// La configuración para este mando aún no está cargada.
}
Ejemplo de uso del archivo de acciones en el juego:"In Game Actions"
{
"major_revision" "0"
"minor_revision" "1"
"actions"
{
...
GetRemotePlaySessionID
uint32 GetRemotePlaySessionID( InputHandle_t inputHandle );
| Nombre | Tipo | Descripción |
| inputHandle | InputHandle_t | Handle del mando que se quiere consultar. |
Devuelve: uint32 - Id. de sesión de Steam Remote Play.
Obtiene el id. de sesión de Steam Remote Play asociado al dispositivo, o 0 si no hay una sesión asociada a él. Consulta isteamremoteplay.h para obtener más información sobre las sesiones de Steam Remote Play.
Estructuras
Estas son las estructuras que las funciones de ISteamInput pueden devolver o con las que pueden interactuar.
InputAnalogActionData_t
Representa el estado actual de una acción analógica.
Notas: - Los valores exactos, rango, etc. dependen de la configuración, pero (en términos generales) las acciones analógicas tradicionales producirán valores normalizados de coma flotante de entre -1,0 y 1,0 aproximadamente, mientras que las acciones de tipo ratón proporcionarán actualizaciones delta, que indican el número de «píxeles» desplazados desde el último fotograma. El resultado de esto es que las acciones de tipo ratón proporcionarán valores absolutos X e Y mucho mayores, y estos son relativos a la última posición de entrada registrada, mientras que las acciones analógicas tradicionales aportan valores menores y son relativas a un punto de anclaje físico central.
- Mientras que las deltas aportadas por las acciones de tipo ratón son muy similares a las deltas de los píxeles aportados por un SO, las deltas del SC son decimales, no enteros. Esto supone una cuantificación potencial menor y la pérdida de precisión cuando se asignan dichos datos a la rotación de una cámara.
- En el caso de entradas analógicas de un único eje (tales como los gatillos analógicos), solo el eje X contendrá datos; el eje Y será siempre cero.
| Nombre | Tipo | Descripción |
| eMode | EControllerSourceMode | Tipo de datos provenientes de esta acción, que se corresponderán con lo especificado en la definición de los archivos VDF del set de acciones. |
| X | float | Estado actual de esta acción en el eje horizontal. |
| Y | float | Estado actual de esta acción en el eje vertical. |
| bActive | bool | Si la acción está disponible o no en este momento para asignarse al set de acciones activo. Si no está disponible o si no pertenece al set de acciones activo, el valor será false. |
InputDigitalActionData_t
Representa el estado actual de una acción digital.
| Nombre | Tipo | Descripción |
| bState | bool | Estado actual de esta acción; true si está presionada la acción, de lo contrario, false. |
| bActive | bool | Si la acción está disponible o no en este momento para asignarse al set de acciones activo. |
InputMotionData_t
Representa el estado actual de los sensores de movimiento de un dispositivo.
NOTA: Para rotQuatX/rotQuatY/rotQuatZ/rotQuatW, la unidad de medición de inercia en el mando creará un cuaterno basado en la fusión del giroscopio y el acelerómetro. Este valor es la orientación absoluta del mando, pero se desviará en el eje de guiñada.
La aceleración posicional se indica como un valor interpolado entre INT16_MIN e INT16_MAX en el que las extensiones se limitan a ±2G (1G = 9,80665 m/s
2).
La velocidad angular se indica como un valor interpolado entre INT16_MIN e INT16_MAX en el que las extensiones se limitan a ±2000 grados por segundo.
| Nombre | Tipo | Descripción |
| rotQuatX | float | Rotación absoluta con sensor (sometida a deriva sobre el eje de guiñada), eje X. |
| rotQuatY | float | Rotación absoluta con sensor (sometida a deriva sobre el eje de guiñada), eje Y. |
| rotQuatZ | float | Rotación absoluta con sensor (sometida a deriva sobre el eje de guiñada), eje Z. |
| rotQuatW | float | Rotación absoluta con sensor (sometida a deriva sobre el eje de guiñada), eje W. |
| posAccelX | float | Aceleración posicional, eje X. |
| posAccelY | float | Aceleración posicional, eje Y. |
| posAccelZ | float | Aceleración posicional, eje Z. |
| rotVelX | float | Velocidad angular, eje X. |
| rotVelY | float | Velocidad angular, eje Y. |
| rotVelZ | float | Velocidad angular, eje Z. |
Enumeraciones
Estas son las enumeraciones definidas para usarse con ISteamInput.
EInputActionOrigin
Entradas que el jugador asigna a acciones en el configurador de Steam Input. El principal propósito de estos valores es ordenar qué glifos de botones en pantalla deben aparecer para una acción dada, tal como «Pulsa [A] para saltar».
| Nombre | Valor | Descripción |
| k_EInputActionOrigin_None | 0 | |
| k_EInputActionOrigin_A | 1 | (Steam Controller de Valve) botón digital «A». |
| k_EInputActionOrigin_B | 2 | (Steam Controller de Valve) botón digital «B». |
| k_EInputActionOrigin_X | 3 | (Steam Controller de Valve) botón digital «X». |
| k_EInputActionOrigin_Y | 4 | (Steam Controller de Valve) botón digital «Y». |
| k_EInputActionOrigin_LeftBumper | 5 | (Steam Controller de Valve) botón digital superior frontal izquierdo (conocido también como bumper izquierdo). |
| k_EInputActionOrigin_RightBumper | 6 | (Steam Controller de Valve) botón digital superior frontal derecho (conocido también como bumper derecho). |
| k_EInputActionOrigin_LeftGrip | 7 | (Steam Controller de Valve) empuñadura digital izquierda. |
| k_EInputActionOrigin_RightGrip | 8 | (Steam Controller de Valve) empuñadura digital derecha. |
| k_EInputActionOrigin_Start | 9 | (Steam Controller de Valve) botón digital «Start». |
| k_EInputActionOrigin_Back | 10 | (Steam Controller de Valve) botón digital «Back». |
| k_EInputActionOrigin_LeftPad_Touch | 11 | (Steam Controller de Valve) panel táctil háptico izquierdo, con el simple contacto de un dedo. |
| k_EInputActionOrigin_LeftPad_Swipe | 12 | (Steam Controller de Valve) panel táctil háptico izquierdo, entrada táctil sobre cualquier eje. |
| k_EInputActionOrigin_LeftPad_Click | 13 | (Steam Controller de Valve) panel táctil háptico izquierdo, clic digital (para su totalidad). |
| k_EInputActionOrigin_LeftPad_DPadNorth | 14 | (Steam Controller de Valve) panel táctil háptico izquierdo, clic digital (cuadrante superior). |
| k_EInputActionOrigin_LeftPad_DPadSouth | 15 | (Steam Controller de Valve) panel táctil háptico izquierdo, clic digital (cuadrante inferior). |
| k_EInputActionOrigin_LeftPad_DPadWest | 16 | (Steam Controller de Valve) panel táctil háptico izquierdo, clic digital (cuadrante izquierdo). |
| k_EInputActionOrigin_LeftPad_DPadEast | 17 | (Steam Controller de Valve) panel táctil háptico izquierdo, clic digital (cuadrante derecho). |
| k_EInputActionOrigin_RightPad_Touch | 18 | (Steam Controller de Valve) panel táctil háptico derecho, con el simple contacto de un dedo. |
| k_EInputActionOrigin_RightPad_Swipe | 19 | (Steam Controller de Valve) panel táctil háptico derecho, entrada táctil sobre cualquier eje. |
| k_EInputActionOrigin_RightPad_Click | 20 | (Steam Controller de Valve) panel táctil háptico derecho, clic digital (para su totalidad). |
| k_EInputActionOrigin_RightPad_DPadNorth | 21 | (Steam Controller de Valve) panel táctil háptico derecho, clic digital (cuadrante superior). |
| k_EInputActionOrigin_RightPad_DPadSouth | 22 | (Steam Controller de Valve) panel táctil háptico derecho, clic digital (cuadrante inferior). |
| k_EInputActionOrigin_RightPad_DPadWest | 23 | (Steam Controller de Valve) panel táctil háptico derecho, clic digital (cuadrante izquierdo). |
| k_EInputActionOrigin_RightPad_DPadEast | 24 | (Steam Controller de Valve) panel táctil háptico derecho, clic digital (cuadrante derecho). |
| k_EInputActionOrigin_LeftTrigger_Pull | 25 | (Steam Controller de Valve) gatillo analógico izquierdo, pulsado en cualquier medida (valor analógico). |
| k_EInputActionOrigin_LeftTrigger_Click | 26 | (Steam Controller de Valve) gatillo analógico izquierdo, pulsado hasta el fondo (valor digital). |
| k_EInputActionOrigin_RightTrigger_Pull | 27 | (Steam Controller de Valve) gatillo analógico derecho, pulsado en cualquier medida (valor analógico). |
| k_EInputActionOrigin_RightTrigger_Click | 28 | (Steam Controller de Valve) gatillo analógico derecho, pulsado hasta el fondo (valor digital). |
| k_EInputActionOrigin_LeftStick_Move | 29 | (Steam Controller de Valve) joystick izquierdo, movimiento sobre cualquier eje (valor analógico). |
| k_EInputActionOrigin_LeftStick_Click | 30 | (Steam Controller de Valve) joystick izquierdo, pulsado para hacer clic (valor digital). |
| k_EInputActionOrigin_LeftStick_DPadNorth | 31 | (Steam Controller de Valve) joystick izquierdo, movimiento digital (cuadrante superior). |
| k_EInputActionOrigin_LeftStick_DPadSouth | 32 | (Steam Controller de Valve) joystick izquierdo, movimiento digital (cuadrante inferior). |
| k_EInputActionOrigin_LeftStick_DPadWest | 33 | (Steam Controller de Valve) joystick izquierdo, movimiento digital (cuadrante izquierdo). |
| k_EInputActionOrigin_LeftStick_DPadEast | 34 | (Steam Controller de Valve) joystick izquierdo, movimiento digital (cuadrante derecho). |
| k_EInputActionOrigin_Gyro_Move | 35 | (Steam Controller de Valve) giroscopio, movimiento analógico sobre cualquier eje. |
| k_EInputActionOrigin_Gyro_Pitch | 36 | (Steam Controller de Valve) giroscopio, movimiento analógico en el eje de cabeceo (apuntar cabeza hacia el techo, apuntar cabeza hacia el suelo). |
| k_EInputActionOrigin_Gyro_Yaw | 37 | (Steam Controller de Valve) giroscopio, movimiento analógico en el eje de guiñada (girar la cabeza hacia la izquierda, girar la cabeza hacia la derecha). |
| k_EInputActionOrigin_Gyro_Roll | 38 | (Steam Controller de Valve) giroscopio, movimiento analógico en el eje de alabeo (ladear la cabeza hacia el hombro izquierdo, ladear la cabeza hacia el hombro derecho). |
| k_EInputActionOrigin_SteamController_Reserved0 | 39 | Reservado para uso futuro. |
| k_EInputActionOrigin_SteamController_Reserved1 | 40 | Reservado para uso futuro. |
| k_EInputActionOrigin_SteamController_Reserved2 | 41 | Reservado para uso futuro. |
| k_EInputActionOrigin_SteamController_Reserved3 | 42 | Reservado para uso futuro. |
| k_EInputActionOrigin_SteamController_Reserved4 | 43 | Reservado para uso futuro. |
| k_EInputActionOrigin_SteamController_Reserved5 | 44 | Reservado para uso futuro. |
| k_EInputActionOrigin_SteamController_Reserved6 | 45 | Reservado para uso futuro. |
| k_EInputActionOrigin_SteamController_Reserved7 | 46 | Reservado para uso futuro. |
| k_EInputActionOrigin_SteamController_Reserved8 | 47 | Reservado para uso futuro. |
| k_EInputActionOrigin_SteamController_Reserved9 | 48 | Reservado para uso futuro. |
| k_EInputActionOrigin_SteamController_Reserved10 | 49 | Reservado para uso futuro. |
| k_EInputActionOrigin_PS4_X | 50 | (DUALSHOCK 4 de Sony) botón digital «X». |
| k_EInputActionOrigin_PS4_Circle | 51 | (DUALSHOCK 4 de Sony) botón digital «círculo». |
| k_EInputActionOrigin_PS4_Triangle | 52 | (DUALSHOCK 4 de Sony) botón digital «triángulo». |
| k_EInputActionOrigin_PS4_Square | 53 | (DUALSHOCK 4 de Sony) botón digital «cuadrado». |
| k_EInputActionOrigin_PS4_LeftBumper | 54 | (DUALSHOCK 4 de Sony) botón digital superior frontal izquierdo (conocido también como bumper izquierdo). |
| k_EInputActionOrigin_PS4_RightBumper | 55 | (DUALSHOCK 4 de Sony) botón digital superior frontal derecho (conocido también como bumper derecho). |
| k_EInputActionOrigin_PS4_Options | 56 | (DUALSHOCK 4 de Sony) botón digital «OPTIONS» (también conocido como «Inicio»). |
| k_EInputActionOrigin_PS4_Share | 57 | (DUALSHOCK 4 de Sony) botón de retroceso digital o «SHARE» (también conocido como «Atrás»). |
| k_EInputActionOrigin_PS4_LeftPad_Touch | 58 | (DUALSHOCK 4 de Sony) mitad izquierda del panel táctil, con el simple contacto de un dedo. |
| k_EInputActionOrigin_PS4_LeftPad_Swipe | 59 | (DUALSHOCK 4 de Sony) mitad izquierda del panel táctil, entrada táctil sobre cualquier eje. |
| k_EInputActionOrigin_PS4_LeftPad_Click | 60 | (DUALSHOCK 4 de Sony) mitad izquierda del panel táctil, clic digital (para su totalidad). |
| k_EInputActionOrigin_PS4_LeftPad_DPadNorth | 61 | (DUALSHOCK 4 de Sony) mitad izquierda del panel táctil, clic digital (cuadrante superior). |
| k_EInputActionOrigin_PS4_LeftPad_DPadSouth | 62 | (DUALSHOCK 4 de Sony) mitad izquierda del panel táctil, clic digital (cuadrante inferior). |
| k_EInputActionOrigin_PS4_LeftPad_DPadWest | 63 | (DUALSHOCK 4 de Sony) mitad izquierda del panel táctil, clic digital (cuadrante izquierdo). |
| k_EInputActionOrigin_PS4_LeftPad_DPadEast | 64 | (DUALSHOCK 4 de Sony) mitad izquierda del panel táctil, clic digital (cuadrante derecho). |
| k_EInputActionOrigin_PS4_RightPad_Touch | 65 | (DUALSHOCK 4 de Sony) mitad derecha del panel táctil, con el simple contacto de un dedo. |
| k_EInputActionOrigin_PS4_RightPad_Swipe | 66 | (DUALSHOCK 4 de Sony) mitad derecha del panel táctil, entrada táctil sobre cualquier eje. |
| k_EInputActionOrigin_PS4_RightPad_Click | 67 | (DUALSHOCK 4 de Sony) mitad derecha del panel táctil, clic digital (para su totalidad). |
| k_EInputActionOrigin_PS4_RightPad_DPadNorth | 68 | (DUALSHOCK 4 de Sony) mitad derecha del panel táctil, clic digital (cuadrante superior). |
| k_EInputActionOrigin_PS4_RightPad_DPadSouth | 69 | (DUALSHOCK 4 de Sony) mitad derecha del panel táctil, clic digital (cuadrante inferior). |
| k_EInputActionOrigin_PS4_RightPad_DPadWest | 70 | (DUALSHOCK 4 de Sony) mitad derecha del panel táctil, clic digital (cuadrante izquierdo). |
| k_EInputActionOrigin_PS4_RightPad_DPadEast | 71 | (DUALSHOCK 4 de Sony) mitad derecha del panel táctil, clic digital (cuadrante derecho). |
| k_EInputActionOrigin_PS4_CenterPad_Touch | 72 | (DUALSHOCK 4 de Sony) panel táctil unificado, con el simple contacto de un dedo. |
| k_EInputActionOrigin_PS4_CenterPad_Swipe | 73 | (DUALSHOCK 4 de Sony) panel táctil unificado, entrada táctil de datos sobre cualquier eje. |
| k_EInputActionOrigin_PS4_CenterPad_Click | 74 | (DUALSHOCK 4 de Sony) panel táctil unificado, clic digital (para su totalidad). |
| k_EInputActionOrigin_PS4_CenterPad_DPadNorth | 75 | (DUALSHOCK 4 de Sony) panel táctil unificado, clic digital (cuadrante superior). |
| k_EInputActionOrigin_PS4_CenterPad_DPadSouth | 76 | (DUALSHOCK 4 de Sony) panel táctil unificado, clic digital (cuadrante inferior). |
| k_EInputActionOrigin_PS4_CenterPad_DPadWest | 77 | (DUALSHOCK 4 de Sony) panel táctil unificado, clic digital (cuadrante izquierdo). |
| k_EInputActionOrigin_PS4_CenterPad_DPadEast | 78 | (DUALSHOCK 4 de Sony) panel táctil unificado, clic digital (cuadrante derecho). |
| k_EInputActionOrigin_PS4_LeftTrigger_Pull | 79 | (DUALSHOCK 4 de Sony) gatillo analógico izquierdo, pulsado en cualquier medida (valor analógico). |
| k_EInputActionOrigin_PS4_LeftTrigger_Click | 80 | (DUALSHOCK 4 de Sony) gatillo analógico izquierdo, pulsado hasta el fondo (valor digital). |
| k_EInputActionOrigin_PS4_RightTrigger_Pull | 81 | (DUALSHOCK 4 de Sony) gatillo analógico derecho, pulsado en cualquier medida (valor analógico). |
| k_EInputActionOrigin_PS4_RightTrigger_Click | 82 | (DUALSHOCK 4 de Sony) gatillo analógico derecho, pulsado hasta el fondo (valor digital). |
| k_EInputActionOrigin_PS4_LeftStick_Move | 83 | (DUALSHOCK 4 de Sony) joystick izquierdo, movimiento sobre cualquier eje (valor analógico). |
| k_EInputActionOrigin_PS4_LeftStick_Click | 84 | (DUALSHOCK 4 de Sony) joystick izquierdo, pulsado para hacer clic (valor digital). |
| k_EInputActionOrigin_PS4_LeftStick_DPadNorth | 85 | (DUALSHOCK 4 de Sony) joystick izquierdo, movimiento digital (cuadrante superior). |
| k_EInputActionOrigin_PS4_LeftStick_DPadSouth | 86 | (DUALSHOCK 4 de Sony) joystick izquierdo, movimiento digital (cuadrante inferior). |
| k_EInputActionOrigin_PS4_LeftStick_DPadWest | 87 | (DUALSHOCK 4 de Sony) joystick izquierdo, movimiento digital (cuadrante izquierdo). |
| k_EInputActionOrigin_PS4_LeftStick_DPadEast | 88 | (DUALSHOCK 4 de Sony) joystick izquierdo, movimiento digital (cuadrante derecho). |
| k_EInputActionOrigin_PS4_RightStick_Move | 89 | (DUALSHOCK 4 de Sony) joystick derecho, movimiento sobre cualquier eje (valor analógico). |
| k_EInputActionOrigin_PS4_RightStick_Click | 90 | (DUALSHOCK 4 de Sony) joystick derecho, pulsado para hacer clic (valor digital). |
| k_EInputActionOrigin_PS4_RightStick_DPadNorth | 91 | (DUALSHOCK 4 de Sony) joystick derecho, movimiento digital (cuadrante superior). |
| k_EInputActionOrigin_PS4_RightStick_DPadSouth | 92 | (DUALSHOCK 4 de Sony) joystick derecho, movimiento digital (cuadrante inferior). |
| k_EInputActionOrigin_PS4_RightStick_DPadWest | 93 | (DUALSHOCK 4 de Sony) joystick derecho, movimiento digital (cuadrante izquierdo). |
| k_EInputActionOrigin_PS4_RightStick_DPadEast | 94 | (DUALSHOCK 4 de Sony) joystick derecho, movimiento digital (cuadrante derecho). |
| k_EInputActionOrigin_PS4_DPad_North | 95 | (DUALSHOCK 4 de Sony) panel táctil digital, pulsado (cuadrante superior). |
| k_EInputActionOrigin_PS4_DPad_South | 96 | (DUALSHOCK 4 de Sony) panel táctil digital, pulsado (cuadrante inferior). |
| k_EInputActionOrigin_PS4_DPad_West | 97 | (DUALSHOCK 4 de Sony) panel táctil digital, pulsado (cuadrante izquierdo). |
| k_EInputActionOrigin_PS4_DPad_East | 98 | (DUALSHOCK 4 de Sony) panel táctil digital, pulsado (cuadrante derecho). |
| k_EInputActionOrigin_PS4_Gyro_Move | 99 | (DUALSHOCK 4 de Sony) giroscopio, movimiento analógico sobre cualquier eje. |
| k_EInputActionOrigin_PS4_Gyro_Pitch | 100 | (DUALSHOCK 4 de Sony) giroscopio, movimiento analógico en el eje de cabeceo (dirigir la cabeza hacia el techo, dirigir la cabeza hacia el suelo). |
| k_EInputActionOrigin_PS4_Gyro_Yaw | 101 | (DUALSHOCK 4 de Sony) giroscopio, movimiento analógico en el eje de guiñada (girar la cabeza hacia la izquierda, girar la cabeza hacia la derecha). |
| k_EInputActionOrigin_PS4_Gyro_Roll | 102 | (DUALSHOCK 4 de Sony) giroscopio, movimiento analógico en el eje de alabeo (ladear la cabeza hacia el hombro izquierdo, ladear la cabeza hacia el hombro derecho). |
| k_EInputActionOrigin_PS4_Reserved0 | 103 | Reservado para uso futuro. |
| k_EInputActionOrigin_PS4_Reserved1 | 104 | Reservado para uso futuro. |
| k_EInputActionOrigin_PS4_Reserved2 | 105 | Reservado para uso futuro. |
| k_EInputActionOrigin_PS4_Reserved3 | 106 | Reservado para uso futuro. |
| k_EInputActionOrigin_PS4_Reserved4 | 107 | Reservado para uso futuro. |
| k_EInputActionOrigin_PS4_Reserved5 | 108 | Reservado para uso futuro. |
| k_EInputActionOrigin_PS4_Reserved6 | 109 | Reservado para uso futuro. |
| k_EInputActionOrigin_PS4_Reserved7 | 110 | Reservado para uso futuro. |
| k_EInputActionOrigin_PS4_Reserved8 | 111 | Reservado para uso futuro. |
| k_EInputActionOrigin_PS4_Reserved9 | 112 | Reservado para uso futuro. |
| k_EInputActionOrigin_PS4_Reserved10 | 113 | Reservado para uso futuro. |
| k_EInputActionOrigin_XBoxOne_A | 114 | (XB1) botón digital «A». |
| k_EInputActionOrigin_XBoxOne_B | 115 | (XB1) botón digital «B». |
| k_EInputActionOrigin_XBoxOne_X | 116 | (XB1) botón digital «X». |
| k_EInputActionOrigin_XBoxOne_Y | 117 | (XB1) botón digital «Y». |
| k_EInputActionOrigin_XBoxOne_LeftBumper | 118 | (XB1) botón digital superior izquierdo (bumper izquierdo). |
| k_EInputActionOrigin_XBoxOne_RightBumper | 119 | (XB1) botón digital superior derecho (bumper derecho). |
| k_EInputActionOrigin_XBoxOne_View | 121 | (XB1) botón digital «Vista» (también conocido como «Atrás»). |
| k_EInputActionOrigin_XBoxOne_LeftTrigger_Pull | 122 | (XB1) gatillo analógico izquierdo, pulsado en cualquier medida (valor analógico). |
| k_EInputActionOrigin_XBoxOne_LeftTrigger_Click | 123 | (XB1) gatillo analógico izquierdo, pulsado hasta el fondo (valor digital). |
| k_EInputActionOrigin_XBoxOne_RightTrigger_Pull | 124 | (XB1) gatillo analógico derecho, pulsado en cualquier medida (valor analógico). |
| k_EInputActionOrigin_XBoxOne_RightTrigger_Click | 125 | (XB1) gatillo analógico derecho, pulsado hasta el fondo (valor digital). |
| k_EInputActionOrigin_XBoxOne_LeftStick_Move | 126 | (XB1) joystick izquierdo, movimiento en cualquier eje (valor analógico). |
| k_EInputActionOrigin_XBoxOne_LeftStick_Click | 127 | (XB1) joystick izquierdo, pulsado para hacer clic (valor digital). |
| k_EInputActionOrigin_XBoxOne_LeftStick_DPadNorth | 128 | (XB1) joystick izquierdo, movimiento digital (cuadrante superior). |
| k_EInputActionOrigin_XBoxOne_LeftStick_DPadSouth | 129 | (XB1) joystick izquierdo, movimiento digital (cuadrante inferior). |
| k_EInputActionOrigin_XBoxOne_LeftStick_DPadWest | 130 | (XB1) joystick izquierdo, movimiento digital (cuadrante izquierdo). |
| k_EInputActionOrigin_XBoxOne_LeftStick_DPadEast | 131 | (XB1) joystick izquierdo, movimiento digital (cuadrante derecho). |
| k_EInputActionOrigin_XBoxOne_RightStick_Move | 132 | (XB1) joystick derecho, movimiento en cualquier eje (valor analógico). |
| k_EInputActionOrigin_XBoxOne_RightStick_Click | 133 | (XB1) joystick derecho, pulsado para hacer clic (valor digital). |
| k_EInputActionOrigin_XBoxOne_RightStick_DPadNorth | 134 | (XB1) joystick derecho, movimiento digital (cuadrante superior). |
| k_EInputActionOrigin_XBoxOne_RightStick_DPadSouth | 135 | (XB1) joystick derecho, movimiento digital (cuadrante inferior). |
| k_EInputActionOrigin_XBoxOne_RightStick_DPadWest | 136 | (XB1) joystick derecho, movimiento digital (cuadrante izquierdo). |
| k_EInputActionOrigin_XBoxOne_RightStick_DPadEast | 137 | (XB1) joystick derecho, movimiento digital (cuadrante derecho). |
| k_EInputActionOrigin_XBoxOne_DPad_North | 138 | (XB1) panel táctil digital, pulsado (cuadrante superior). |
| k_EInputActionOrigin_XBoxOne_DPad_South | 139 | (XB1) panel táctil digital, pulsado (cuadrante inferior). |
| k_EInputActionOrigin_XBoxOne_DPad_West | 140 | (XB1) panel táctil digital, pulsado (cuadrante izquierdo). |
| k_EInputActionOrigin_XBoxOne_DPad_East | 141 | (XB1) panel táctil digital, pulsado (cuadrante derecho). |
| k_EInputActionOrigin_XBoxOne_Reserved0 | 142 | Reservado para uso futuro. |
| k_EInputActionOrigin_XBoxOne_Reserved1 | 143 | Reservado para uso futuro. |
| k_EInputActionOrigin_XBoxOne_Reserved2 | 144 | Reservado para uso futuro. |
| k_EInputActionOrigin_XBoxOne_Reserved3 | 145 | Reservado para uso futuro. |
| k_EInputActionOrigin_XBoxOne_Reserved4 | 146 | Reservado para uso futuro. |
| k_EInputActionOrigin_XBoxOne_Reserved5 | 147 | Reservado para uso futuro. |
| k_EInputActionOrigin_XBoxOne_Reserved6 | 148 | Reservado para uso futuro. |
| k_EInputActionOrigin_XBoxOne_Reserved7 | 149 | Reservado para uso futuro. |
| k_EInputActionOrigin_XBoxOne_Reserved8 | 150 | Reservado para uso futuro. |
| k_EInputActionOrigin_XBoxOne_Reserved9 | 151 | Reservado para uso futuro. |
| k_EInputActionOrigin_XBoxOne_Reserved10 | 152 | Reservado para uso futuro. |
| k_EInputActionOrigin_XBox360_A | 153 | (XB360) botón digital «A». |
| k_EInputActionOrigin_XBox360_B | 154 | (XB360) botón digital «B». |
| k_EInputActionOrigin_XBox360_X | 155 | (XB360) botón digital «X». |
| k_EInputActionOrigin_XBox360_Y | 156 | (XB360) botón digital «Y». |
| k_EInputActionOrigin_XBox360_LeftBumper | 157 | (XB360) botón digital superior izquierdo (bumper izquierdo). |
| k_EInputActionOrigin_XBox360_RightBumper | 158 | (XB360) botón digital superior derecho (bumper derecho). |
| k_EInputActionOrigin_XBox360_Start | 159 | (XB360) botón digital «START». |
| k_EInputActionOrigin_XBox360_Back | 160 | (XB360) botón digital «ATRÁS». |
| k_EInputActionOrigin_XBox360_LeftTrigger_Pull | 161 | (XB360) gatillo analógico izquierdo, pulsado en cualquier medida (valor analógico). |
| k_EInputActionOrigin_XBox360_LeftTrigger_Click | 162 | (XB360) gatillo analógico izquierdo, pulsado hasta el fondo (valor digital). |
| k_EInputActionOrigin_XBox360_RightTrigger_Pull | 163 | (XB360) gatillo analógico derecho, pulsado en cualquier medida (valor analógico). |
| k_EInputActionOrigin_XBox360_RightTrigger_Click | 164 | (XB360) gatillo analógico derecho, pulsado hasta el fondo (valor digital). |
| k_EInputActionOrigin_XBox360_LeftStick_Move | 165 | (XB360) joystick izquierdo, movimiento en cualquier eje (valor analógico). |
| k_EInputActionOrigin_XBox360_LeftStick_Click | 166 | (XB360) joystick izquierdo, pulsado para hacer clic (valor digital). |
| k_EInputActionOrigin_XBox360_LeftStick_DPadNorth | 167 | (XB360) joystick izquierdo, movimiento digital (cuadrante superior). |
| k_EInputActionOrigin_XBox360_LeftStick_DPadSouth | 168 | (XB360) joystick izquierdo, movimiento digital (cuadrante inferior). |
| k_EInputActionOrigin_XBox360_LeftStick_DPadWest | 169 | (XB360) joystick izquierdo, movimiento digital (cuadrante izquierdo). |
| k_EInputActionOrigin_XBox360_LeftStick_DPadEast | 170 | (XB360) joystick izquierdo, movimiento digital (cuadrante derecho). |
| k_EInputActionOrigin_XBox360_RightStick_Move | 171 | (XB360) joystick derecho, movimiento en cualquier eje (valor analógico). |
| k_EInputActionOrigin_XBox360_RightStick_Click | 172 | (XB360) joystick derecho, pulsado para hacer clic (valor digital). |
| k_EInputActionOrigin_XBox360_RightStick_DPadNorth | 173 | (XB360) joystick derecho, movimiento digital (cuadrante superior). |
| k_EInputActionOrigin_XBox360_RightStick_DPadSouth | 174 | (XB360) joystick derecho, movimiento digital (cuadrante inferior). |
| k_EInputActionOrigin_XBox360_RightStick_DPadWest | 175 | (XB360) joystick derecho, movimiento digital (cuadrante izquierdo). |
| k_EInputActionOrigin_XBox360_RightStick_DPadEast | 176 | (XB360) joystick derecho, movimiento digital (cuadrante derecho). |
| k_EInputActionOrigin_XBox360_DPad_North | 177 | (XB360) panel táctil digital, pulsado (cuadrante superior). |
| k_EInputActionOrigin_XBox360_DPad_South | 178 | (XB360) panel táctil digital, pulsado (cuadrante inferior). |
| k_EInputActionOrigin_XBox360_DPad_West | 179 | (XB360) panel táctil digital, pulsado (cuadrante izquierdo). |
| k_EInputActionOrigin_XBox360_DPad_East | 180 | (XB360) panel táctil digital, pulsado (cuadrante derecho). |
| k_EInputActionOrigin_XBox360_Reserved0 | 181 | Reservado para uso futuro. |
| k_EInputActionOrigin_XBox360_Reserved1 | 182 | Reservado para uso futuro. |
| k_EInputActionOrigin_XBox360_Reserved2 | 183 | Reservado para uso futuro. |
| k_EInputActionOrigin_XBox360_Reserved3 | 184 | Reservado para uso futuro. |
| k_EInputActionOrigin_XBox360_Reserved4 | 185 | Reservado para uso futuro. |
| k_EInputActionOrigin_XBox360_Reserved5 | 186 | Reservado para uso futuro. |
| k_EInputActionOrigin_XBox360_Reserved6 | 187 | Reservado para uso futuro. |
| k_EInputActionOrigin_XBox360_Reserved7 | 188 | Reservado para uso futuro. |
| k_EInputActionOrigin_XBox360_Reserved8 | 189 | Reservado para uso futuro. |
| k_EInputActionOrigin_XBox360_Reserved9 | 190 | Reservado para uso futuro. |
| k_EInputActionOrigin_XBox360_Reserved10 | 191 | Reservado para uso futuro. |
| k_EInputActionOrigin_Switch_A | 192 | (Pro de Nintendo Switch) botón digital «A». |
| k_EInputActionOrigin_Switch_B | 193 | (Pro de Nintendo Switch) botón digital «B». |
| k_EInputActionOrigin_Switch_X | 194 | (Pro de Nintendo Switch) botón digital «X». |
| k_EInputActionOrigin_Switch_Y | 195 | (Pro de Nintendo Switch) botón digital «Y». |
| k_EInputActionOrigin_Switch_LeftBumper | 196 | (Pro de Nintendo Switch) botón digital superior frontal izquierdo (bumper izquierdo). |
| k_EInputActionOrigin_Switch_RightBumper | 197 | (Pro de Nintendo Switch) botón digital superior frontal derecho (bumper derecho). |
| k_EInputActionOrigin_Switch_Plus | 198 | (Pro de Nintendo Switch) botón «+». |
| k_EInputActionOrigin_Switch_Minus | 199 | (Pro de Nintendo Switch) botón «-». |
| k_EInputActionOrigin_Switch_Capture | 200 | (Pro de Nintendo Switch) botón digital de captura. |
| k_EInputActionOrigin_Switch_LeftTrigger_Pull | 201 | (Pro de Nintendo Switch) gatillo izquierdo o ZL, pulsado. |
| k_EInputActionOrigin_Switch_LeftTrigger_Click | 202 | (Pro de Nintendo Switch) gatillo izquierdo o ZL, pulsado (el mismo valor anterior). |
| k_EInputActionOrigin_Switch_RightTrigger_Pull | 203 | (Pro de Nintendo Switch) gatillo derecho o ZR, pulsado. |
| k_EInputActionOrigin_Switch_RightTrigger_Click | 204 | (Pro de Nintendo Switch) gatillo derecho o ZR, pulsado (el mismo valor anterior). |
| k_EInputActionOrigin_Switch_LeftStick_Move | 205 | (Pro de Nintendo Switch) joystick izquierdo, movimiento sobre cualquier eje (valor analógico). |
| k_EInputActionOrigin_Switch_LeftStick_Click | 206 | (Pro de Nintendo Switch) joystick izquierdo, pulsado para hacer clic (valor digital). |
| k_EInputActionOrigin_Switch_LeftStick_DPadNorth | 207 | (Pro de Nintendo Switch) joystick izquierdo, movimiento digital (cuadrante superior). |
| k_EInputActionOrigin_Switch_LeftStick_DPadSouth | 208 | (Pro de Nintendo Switch) joystick izquierdo, movimiento digital (cuadrante inferior). |
| k_EInputActionOrigin_Switch_LeftStick_DPadWest | 209 | (Pro de Nintendo Switch) joystick izquierdo, movimiento digital (cuadrante izquierdo). |
| k_EInputActionOrigin_Switch_LeftStick_DPadEast | 210 | (Pro de Nintendo Switch) joystick izquierdo, movimiento digital (cuadrante derecho). |
| k_EInputActionOrigin_Switch_RightStick_Move | 211 | (Pro de Nintendo Switch) joystick derecho, movimiento sobre cualquier eje (valor analógico). |
| k_EInputActionOrigin_Switch_RightStick_Click | 212 | (Pro de Nintendo Switch) joystick derecho, pulsado para hacer clic (valor digital). |
| k_EInputActionOrigin_Switch_RightStick_DPadNorth | 213 | (Pro de Nintendo Switch) joystick derecho, movimiento digital (cuadrante superior). |
| k_EInputActionOrigin_Switch_RightStick_DPadSouth | 214 | (Pro de Nintendo Switch) joystick derecho, movimiento digital (cuadrante inferior). |
| k_EInputActionOrigin_Switch_RightStick_DPadWest | 215 | (Pro de Nintendo Switch) joystick derecho, movimiento digital (cuadrante izquierdo). |
| k_EInputActionOrigin_Switch_RightStick_DPadEast | 216 | (Pro de Nintendo Switch) joystick derecho, movimiento digital (cuadrante derecho). |
| k_EInputActionOrigin_Switch_DPad_North | 217 | (Pro de Nintendo Switch) panel táctil digital, pulsado (cuadrante superior). |
| k_EInputActionOrigin_Switch_DPad_South | 218 | (Pro de Nintendo Switch) panel táctil digital, pulsado (cuadrante inferior). |
| k_EInputActionOrigin_Switch_DPad_West | 219 | (Pro de Nintendo Switch) panel táctil digital, pulsado (cuadrante izquierdo). |
| k_EInputActionOrigin_Switch_DPad_East | 220 | (Pro de Nintendo Switch) panel táctil digital, pulsado (cuadrante derecho). |
| k_EInputActionOrigin_SwitchProGyro_Move | 221 | (Pro de Nintendo Switch) giroscopio, movimiento analógico sobre cualquier eje. |
| k_EInputActionOrigin_SwitchProGyro_Pitch | 222 | (Pro de Nintendo Switch) giroscopio, movimiento analógico en el eje de cabeceo (dirigir la cabeza hacia el techo, dirigir la cabeza hacia el suelo). |
| k_EInputActionOrigin_SwitchProGyro_Yaw | 223 | (Pro de Nintendo Switch) giroscopio, movimiento analógico en el eje de guiñada (girar la cabeza hacia la izquierda, girar la cabeza hacia la derecha). |
| k_EInputActionOrigin_SwitchProGyro_Roll | 224 | (Pro de Nintendo Switch) giroscopio, movimiento analógico en el eje de alabeo (ladear la cabeza hacia el hombro izquierdo, ladear la cabeza hacia el hombro derecho). |
| k_EInputActionOrigin_Switch_Reserved0 | 225 | Reservado para uso futuro. |
| k_EInputActionOrigin_Switch_Reserved1 | 226 | Reservado para uso futuro. |
| k_EInputActionOrigin_Switch_Reserved2 | 227 | Reservado para uso futuro. |
| k_EInputActionOrigin_Switch_Reserved3 | 228 | Reservado para uso futuro. |
| k_EInputActionOrigin_Switch_Reserved4 | 229 | Reservado para uso futuro. |
| k_EInputActionOrigin_Switch_Reserved5 | 230 | Reservado para uso futuro. |
| k_EInputActionOrigin_Switch_Reserved6 | 231 | Reservado para uso futuro. |
| k_EInputActionOrigin_Switch_Reserved7 | 232 | Reservado para uso futuro. |
| k_EInputActionOrigin_Switch_Reserved8 | 233 | Reservado para uso futuro. |
| k_EInputActionOrigin_Switch_Reserved9 | 234 | Reservado para uso futuro. |
| k_EInputActionOrigin_Switch_Reserved10 | 235 | Reservado para uso futuro. |
| k_EInputActionOrigin_Count | 258 | Número de valores en esta enumeración, útil para iteraciones. |
| k_EInputActionOrigin_MaximumPossibleValue | 32767 | Número de valores en esta enumeración, útil para iteraciones. |
EControllerSource
Región del mando que se puede considerar una unidad modular abstracta mayor, a la que se puede aplicar uno de los muchos modos y que puede generar datos significativos. Por ejemplo, un joystick puede tratarse como una sola entrada analógica o dividirse en cuatro entradas digitales discretas que forman una cruceta virtual. Igualmente, los botones «A», «B», «X» e «Y» forman un grupo natural que puede tratarse como cuatro botones independientes o como componentes de una cruceta virtual, etc.
| Nombre | Valor | Descripción |
| k_EInputSource_None | 0 | Ningún origen de mando. |
| k_EInputSource_LeftTrackpad | 1 | Panel táctil izquierdo o la mitad izquierda de un panel táctil central. |
| k_EInputSource_RightTrackpad | 2 | Panel táctil derecho o la mitad derecha de un panel táctil central. |
| k_EInputSource_Joystick | 3 | El joystick o, si hay más de uno, el joystick izquierdo. |
| k_EInputSource_ABXY | 4 | Los cuatro botones principales. |
| k_EInputSource_Switch | 5 | Interruptores o botones del mando que no pertenecen a ningún otro origen específico. Esto incluye los bumpers, los botones de inicio/selección y las empuñaduras. Estos casos especiales no encajan en el paradigma general y, por tanto, disponen de su propio origen de botones digitales y de un modo correspondiente para procesarlos. |
| k_EInputSource_LeftTrigger | 6 | Gatillo analógico izquierdo. |
| k_EInputSource_RightTrigger | 7 | Gatillo analógico derecho. |
| k_EInputSource_Gyro | 8 | Giroscopio interno. |
| k_EInputSource_CenterTrackpad | 9 | Panel táctil central (solo DS4). |
| k_EInputSource_RightJoystick | 10 | Joystick derecho. Si solo hay un joystick, este origen no se utiliza. |
| k_EInputSource_DPad | 11 | Panel digital. |
| k_EInputSource_Key | 12 | Tecla del teclado (para teclados con códigos de escaneo). |
| k_EInputSource_Mouse | 13 | Ratón tradicional. |
| k_EInputSource_Count | 14 | Número de enumeraciones, útil para iteraciones. |
EControllerSourceMode
Modo de entrada virtual impuesto por el configurador a un origen de mando. Por ejemplo, el configurador puede hacer que un joystick analógico se comporte como una cruceta con cuatro entradas digitales; el EControllerSource sería k_EInputSource_Joystick y el EControllerSourceMode sería k_EInputSourceMode_Dpad. El modo también cambia los datos de entrada que recibe cualquier acción asociada.
| Nombre | Valor | Descripción |
| k_EInputSourceMode_None | 0 | Ningún modo de entrada. |
| k_EInputSourceMode_Dpad | 1 | Panel digital: cuatro botones digitales de dirección combinados en un patrón de cruz, de forma que en un momento dado solo puede estar pulsado un botón de cada eje. |
| k_EInputSourceMode_Buttons | 2 | |
| k_EInputSourceMode_FourButtons | 3 | Cuatro botones digitales que se pueden pulsar simultáneamente. |
| 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
Controla el color del LED del dispositivo Steam Controller (si dispone de uno).
Notas:El Steam Controller de Valve tiene un LED, pero solo se verá afectado su brillo (el color siempre es blanco).
El LED del DS4 es la barra luminosa; en ella, el color y brillo se pueden configurar.
| Nombre | Valor | Descripción |
| k_ESteamControllerLEDFlag_SetColor | 0 | Establece el color según los valores especificados. |
| k_ESteamControllerLEDFlag_RestoreUserDefault | 1 | Restaura el color a los ajustes predeterminados (fuera del juego). |
ESteamInputType
Representa el modelo de dispositivo para una pieza de hardware determinada.
| Nombre | Valor | Descripción |
| k_ESteamInputType_Unknown | 0 | Cajón de sastre para dispositivos no reconocidos. |
| k_ESteamInputType_SteamController | 1 | Steam Controller de Valve. |
| k_ESteamInputType_XBox360Controller | 2 | Mando de Microsoft Xbox 360. |
| k_ESteamInputType_XBoxOneController | 3 | Mando de Microsoft Xbox One. |
| k_ESteamInputType_GenericXInput | 4 | Cualquier dispositivo XInput genérico de terceros. |
| k_ESteamInputType_PS4Controller | 5 | Mando de Sony PlayStation 4. |
| k_ESteamInputType_AppleMFiController | 6 | Sin uso. |
| k_ESteamInputType_AndroidController | 7 | Sin uso. |
| k_ESteamInputType_SwitchJoyConPair | 8 | No se usa. |
| k_ESteamInputType_SwitchJoyConSingle | 9 | No se usa. |
| k_ESteamInputType_SwitchProController | 10 | Mando Pro de Nintendo Switch. |
| k_ESteamInputType_MobileTouch | 11 | Mando táctil móvil de la aplicación Steam Link. |
| k_ESteamInputType_PS3Controller | 12 | Mando de Sony PlayStation 3 o mando de recreativos compatible de PS3/PS4. |
| k_ESteamInputType_PS5Controller | 13 | Mando de Sony PlayStation 5. |
| k_ESteamInputType_SteamDeckController | 14 | Mando de Steam Deck. |
| k_ESteamInputType_SteamOSHandheld | 15 | Mando de hardware con SteamOS. |
| k_ESteamInputType_Switch2ProController | 16 | Mando Pro de Nintendo Switch 2. |
| k_ESteamInputType_SteamController2026 | 17 | Steam Controller (2026). |
| k_ESteamInputType_SteamFrameControllerPair | 18 | Par de mandos de Steam Frame. |
| k_ESteamInputType_Count | 19 | Número actual de valores devueltos. |
| k_ESteamInputType_MaximumPossibleValue | 255 | Valor máximo posible devuelto. |
ESteamControllerPad
Región del panel táctil en un dispositivo Steam Controller.
Notas:En el Steam Controller de Valve, los valores se corresponden con los paneles táctiles hápticos derecho e izquierdo.
En el DS4, los valores se corresponden con las mitades derecha e izquierda del único panel táctil central.
| Nombre | Valor | Descripción |
| k_ESteamControllerPad_Left | 0 | Región izquierda del panel táctil en un dispositivo Steam Controller. Modelos compatibles: VSC, DS4 |
| k_ESteamControllerPad_Right | 1 | Región derecha del panel táctil en un dispositivo Steam Controller. Modelos compatibles: VSC, DS4. |
Definiciones de tipo
Estas son las definiciones de tipo establecidas para usarse con ISteamInput.
| Nombre | Tipo de base | Descripción |
| InputActionSetHandle_t | uint64 | Estos handles se usan para referirse a una acción concreta dentro del juego o a un set de acciones. Por motivos de rendimiento, todos los handles de acciones se deben consultar durante la inicialización. |
| InputAnalogActionHandle_t | uint64 | Handle de una acción analógica. Puede obtenerse con ISteamInput::GetAnalogActionHandle. |
| InputDigitalActionHandle_t | uint64 | Handle de una acción digital. Puede obtenerse con ISteamInput::GetDigitalActionHandle. |
| InputHandle_t | uint64 | Este handle identifica de forma consistente un control, aunque este se desconecte y se vuelva a conectar. |
Constantes
Estas son las constantes definidas para usarse con ISteamInput.
| Nombre | Tipo | Valor | Descripción |
| STEAMINPUT_INTERFACE_VERSION | const char * | "SteamInput001" | |
| STEAM_INPUT_HANDLE_ALL_CONTROLLERS | int | UINT64_MAX | Al enviar una opción a un handle del mando específico, puedes utilizar este valor especial en lugar del handle para enviar la opción a todos los mandos. |
| STEAM_INPUT_MAX_ANALOG_ACTIONS | int | 16 | Número máximo de acciones analógicas que se pueden realizar en cada mando. |
| STEAM_INPUT_MAX_ANALOG_ACTION_DATA | float | 1.0f | Valor máximo que una acción analógica puede comunicar en un eje dado. |
| STEAM_INPUT_MAX_COUNT | int | 16 | Número máximo de mandos que se pueden utilizar simultáneamente con el configurador de Steam Input. |
| STEAM_INPUT_MAX_DIGITAL_ACTIONS | int | 128 | Número máximo de acciones digitales que se pueden realizar en cada mando. |
| STEAM_INPUT_MAX_ORIGINS | int | 8 | Número máximo de orígenes de entrada que se pueden asociar a una misma acción. |
| STEAM_INPUT_MIN_ANALOG_ACTION_DATA | float | -1.0f | Valor mínimo que una acción analógica puede comunicar en un eje dado. |