Steamworks Documentation
ISteamInput Interface
Steam Input API is a flexible action-based API that supports all major controller types - Xbox, PlayStation, Nintendo Switch Pro, Steam Controller (2015), Steam Controller (2026), and Steam Deck.

See the Steam Input documentation for more information.

Member Functions

Member functions for ISteamInput are called through the global accessor function SteamInput().

ActivateActionSet

void ActivateActionSet( InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle );
NameTypeDescription
inputHandleInputHandle_tThe handle of the controller you want to activate an action set for.
actionSetHandleInputActionSetHandle_tThe handle of the action set you want to activate.

Reconfigure the controller to use the specified action set (i.e. "Menu", "Walk", or "Drive").

This is cheap, and can be safely called repeatedly. It's often easier to repeatedly call it in your state loops, instead of trying to place it in all of your state transitions.

Example:
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; } }

Activate All Controllers

Oftentimes, you'll want to activate all the controllers at once, rather than a single device. For this you should use the constant STEAM_INPUT_HANDLE_ALL_CONTROLLERS as your controller handle. You can likewise use this value in any other function that calls for an individual controller handle.

Example:
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 );
NameTypeDescription
inputHandleInputHandle_tThe handle of the controller you want to activate an action set layer for.
actionSetLayerHandleInputActionSetHandle_tThe handle of the action set layer you want to activate.

Reconfigure the controller to use the specified action set layer.

See the Action Set Layers article for full details and an in-depth practical example.

Example:
SteamInput()->ActivateActionSetLayer( inputHandle1, myActionSetLayer );

BNewDataAvailable

bool BNewDataAvailable();
Returns true if new data has been received since the last time action data was accessed via ISteamInput::GetDigitalActionData or ISteamInput::GetAnalogActionData.

The game will still need to call ISteamInput::RunFrame or SteamAPI_RunCallbacks() before this to update the data stream.

Returns: bool
true if new data is available; otherwise false.

Example:
SteamInput()->RunFrame(); if ( SteamInput()->BNewDataAvailable() ) { InputDigitalActionData_t data = SteamInput()->GetDigitalActionData( controller1Handle, punchHandle ); }

BWaitForData

bool BWaitForData( bool bWaitForever, uint32 unTimeout );
NameTypeDescription
bWaitForeverboolIf true, wait until data arrives and ignore unTimeout.
unTimeoutuint32How long to wait for new data, in milliseconds.

Thread waits on an IPC event from Steam sent when there is new data to be fetched from the data drop. Useful for games with a dedicated input thread.

Returns: bool
true when data was received before the timeout expired; otherwise false.

Example:
// On a dedicated input thread while ( bRunning ) { if ( SteamInput()->BWaitForData( false, 100 ) ) { SteamInput()->RunFrame(); processInput(); } }

DeactivateActionSetLayer

void DeactivateActionSetLayer( InputHandle_t inputHandle, InputActionSetHandle_t actionSetLayerHandle );
NameTypeDescription
inputHandleInputHandle_tThe handle of the controller you want to deactivate an action set layer for.
actionSetLayerHandleInputActionSetHandle_tThe handle of the action set layer you want to deactivate.

Reconfigure the controller to stop using the specified action set layer.

Example:
SteamInput()->DeactivateActionSetLayer( inputHandle1, myActionSetLayer );

DeactivateAllActionSetLayers

void DeactivateAllActionSetLayers( InputHandle_t inputHandle );
NameTypeDescription
inputHandleInputHandle_tThe handle of the controller you want to deactivate all action set layers for.

Reconfigure the controller to stop using all action set layers.

Example:
SteamInput()->DeactivateAllActionSetLayers( inputHandle1 );

EnableActionEventCallbacks

void EnableActionEventCallbacks( SteamInputActionEventCallbackPointer pCallback );
NameTypeDescription
pCallbackSteamInputActionEventCallbackPointerThe function Steam Input calls each time a controller action's state changes.

Enable SteamInputActionEvent_t callbacks. Can be used with ISteamInput::RunFrame on a thread to call your callback function with lower latency than standard Steam callbacks. Supports one callback at a time.

Note: The callback is called from within either ISteamInput::RunFrame or SteamAPI_RunCallbacks and if you run them on separate threads, this can also be called from those multiple threads.

Example:
void OnActionEvent( SteamInputActionEvent_t *pEvent ) { if ( pEvent->eEventType == ESteamInputActionEventType_DigitalAction ) { if ( pEvent->digitalAction.actionHandle == punchHandle && pEvent->digitalAction.digitalActionData.bState ) { doPunch( pEvent->controllerHandle ); } } } SteamInput()->EnableActionEventCallbacks( OnActionEvent );

EnableDeviceCallbacks

void EnableDeviceCallbacks();
Enable SteamInputDeviceConnected_t and SteamInputDeviceDisconnected_t callbacks.

Each controller that is already connected will generate a device connected callback when you enable them.

Example:
SteamInput()->EnableDeviceCallbacks();

GetActiveActionSetLayers

int GetActiveActionSetLayers( InputHandle_t inputHandle, InputActionSetHandle_t *handlesOut );
NameTypeDescription
inputHandleInputHandle_tThe handle of the controller you want to get active action set layers for.
handlesOutInputActionSetHandle_t*This must point to a STEAM_INPUT_MAX_ACTIVE_LAYERS sized array of InputActionSetHandle_t.

Fill an array with all of the currently active action set layers for a specified controller handle.

Returns: int
The number of handles written to handlesOut.

Example:
InputActionSetHandle_t hActiveLayerHandles [STEAM_INPUT_MAX_ACTIVE_LAYERS]; int nActiveLayers = SteamInput()->GetActiveActionSetLayers( controllerHandle, hActiveLayerHandles );

GetActionSetHandle

InputActionSetHandle_t GetActionSetHandle( const char *pszActionSetName );
NameTypeDescription
pszActionSetNameconst char *The string identifier of an action set defined in the game's VDF file.

Lookup the handle for an Action Set. Best to do this once on startup, and store the handles for all future API calls.

Returns: InputActionSetHandle_t
The handle of the specified action set.

Example:
InputActionSetHandle_t fightingSetHandle = SteamInput()->GetActionSetHandle( "fighting" );

GetAnalogActionData

InputAnalogActionData_t GetAnalogActionData( InputHandle_t inputHandle, InputAnalogActionHandle_t analogActionHandle );
NameTypeDescription
inputHandleInputHandle_tThe handle of the controller you want to query.
analogActionHandleInputAnalogActionHandle_tThe handle of the analog action you want to query.

Returns the current state of the supplied analog game action.

Returns: InputAnalogActionData_t
The current state of the specified analog action.

Example:
InputAnalogActionData_t data = SteamInput()->GetAnalogActionData( controller1Handle, moveHandle );

GetAnalogActionHandle

InputAnalogActionHandle_t GetAnalogActionHandle( const char *pszActionName );
NameTypeDescription
pszActionNameconst char *The string identifier of the analog action defined in the game's VDF file.

Get the handle of the specified Analog action.

NOTE: This function does not take an action set handle parameter. That means that each action in your VDF file must have a unique string identifier. In other words, if you use an action called "up" in two different action sets, this function will only ever return one of them and the other will be ignored.

Returns: InputAnalogActionHandle_t
The handle of the specified analog action.

Example:
InputAnalogActionHandle_t moveHandle = SteamInput()->GetAnalogActionHandle( "move" );

GetAnalogActionOrigins

int GetAnalogActionOrigins( InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle, InputAnalogActionHandle_t analogActionHandle, EInputActionOrigin *originsOut );
NameTypeDescription
inputHandleInputHandle_tThe handle of the controller you want to query.
actionSetHandleInputActionSetHandle_tThe handle of the action set you want to query.
analogActionHandleInputAnalogActionHandle_tThe handle of the analog action you want to query.
originsOutEInputActionOrigin *A STEAM_INPUT_MAX_ORIGINS sized array of EInputActionOrigin handles.

Get the origin(s) for an analog action within an action set by filling originsOut with EInputActionOrigin handles. Use this to display the appropriate on-screen prompt for the action.

NOTE: The EInputActionOrigin enum will get extended as support for new controllers gets added to the Steam client, and will exceed the values from your SDK's header. Please check bounds if you are using a look up table.

Returns: int
The number of origins supplied in originsOut.

Example:
EInputActionOrigin *origins = new EInputActionOrigin[ STEAM_INPUT_MAX_ORIGINS ]; SteamInput()->GetAnalogActionOrigins( controller1Handle, walkingSetHandle, moveHandle, origins );

GetConnectedControllers

int GetConnectedControllers( InputHandle_t *handlesOut );
NameTypeDescription
handlesOutInputHandle_t *This must point to a STEAM_INPUT_MAX_COUNT sized array of InputHandle_t.

Enumerates currently connected Steam Input enabled devices by filling handlesOut with controller handles. Developers can opt in controllers by type (ex: Xbox/PlayStation/etc) via the Steam Input settings on the Steamworks site, or users can opt in in their controller settings in Steam.

Note: ISteamInput::RunFrame (or SteamAPI_RunCallbacks) must be called before this will return any handles.

Returns: int
The number of handles written to handlesOut.

Example:
InputHandle_t *inputHandles = new InputHandle_t[ STEAM_INPUT_MAX_COUNT ]; SteamInput()->GetConnectedControllers( inputHandles );

GetControllerForGamepadIndex

InputHandle_t GetControllerForGamepadIndex( int nIndex );
NameTypeDescription
nIndexintThe index of the emulated gamepad you want to get a controller handle for.

Returns the associated controller handle for the specified emulated gamepad. Can be used with GetInputTypeForHandle to determine the type of controller using Steam Input Gamepad Emulation.

Returns: InputHandle_t
The controller handle, or 0 if the XInput index isn't associated with Steam Input.

Example:
// Replace with the XInput Slot you are querying for. This number is between 0 and 3 int nXinputSlotIndex = 0; InputHandle_t inputHandle = SteamInput()->GetControllerForGamepadIndex( nXinputSlotIndex ); if ( inputHandle == 0 ) { // Valid input handles are non-zero. 0 means this slot isn't associated with Steam Input, e.g. a normal Xbox controller. } else { ESteamInputType inputType = SteamInput()->GetInputTypeForHandle( inputHandle ); switch( inputType ) { case k_ESteamInputType_Unknown: printf( "unknown!\n" ); break; case k_ESteamInputType_SteamController: printf( "Steam Controller (2015)!\n" ); break; case k_ESteamInputType_XBox360Controller: printf( "XBox 360 controller!\n" ); break; case k_ESteamInputType_XBoxOneController: printf( "XBox One controller!\n" ); break; case k_ESteamInputType_GenericGamepad: printf( "Generic Gamepad (DirectInput)!\n" ); break; case k_ESteamInputType_PS4Controller: printf( "PS4 controller!\n" ); break; case k_ESteamInputType_PS5Controller: printf( "PS5 controller!\n" ); break; case k_ESteamInputType_SteamDeckController: printf( "Steam Deck!\n" ); break; case k_ESteamInputType_SteamController2026: printf( "Steam Controller (2026)!\n" ); break; } }

GetCurrentActionSet

InputActionSetHandle_t GetCurrentActionSet( InputHandle_t inputHandle );
NameTypeDescription
inputHandleInputHandle_tThe handle of the controller you want to query.

Get the currently active action set for the specified controller.

Returns: InputActionSetHandle_t
The handle of the action set activated for the specified controller.

Example:
InputActionSetHandle_t controller1Set = SteamInput()->GetCurrentActionSet(controller1Handle);

GetDigitalActionData

InputDigitalActionData_t GetDigitalActionData( InputHandle_t inputHandle, InputDigitalActionHandle_t digitalActionHandle );
NameTypeDescription
inputHandleInputHandle_tThe handle of the controller you want to query.
digitalActionHandleInputDigitalActionHandle_tThe handle of the digital action you want to query.

Returns the current state of the supplied digital game action.

Returns: InputDigitalActionData_t
The current state of the specified digital action.

Example:
InputDigitalActionData_t data = SteamInput()->GetDigitalActionData( controller1Handle, punchHandle );

GetDigitalActionHandle

InputDigitalActionHandle_t GetDigitalActionHandle( const char *pszActionName );
NameTypeDescription
pszActionNameconst char *The string identifier of the digital action defined in the game's VDF file.

Get the handle of the specified digital action.

NOTE: This function does not take an action set handle parameter. That means that each action in your VDF file must have a unique string identifier. In other words, if you use an action called "up" in two different action sets, this function will only ever return one of them and the other will be ignored.

Returns: InputDigitalActionHandle_t
The handle of the specified digital action.

Example:
InputDigitalActionHandle_t punchHandle = SteamInput()->GetDigitalActionHandle( "punch" );

GetDigitalActionOrigins

int GetDigitalActionOrigins( InputHandle_t inputHandle, InputActionSetHandle_t actionSetHandle, InputDigitalActionHandle_t digitalActionHandle, EInputActionOrigin *originsOut );
NameTypeDescription
inputHandleInputHandle_tThe handle of the controller you want to query.
actionSetHandleInputActionSetHandle_tThe handle of the action set you want to query.
digitalActionHandleInputDigitalActionHandle_tThe handle of the digital action you want to query.
originsOutEInputActionOrigin *A STEAM_INPUT_MAX_ORIGINS sized array of EInputActionOrigin handles.

Get the origin(s) for a digital action within an action set by filling originsOut with EInputActionOrigin handles. Use this to display the appropriate on-screen prompt for the action.

NOTE: The EInputActionOrigin enum will get extended as support for new controllers gets added to the Steam client, and will exceed the values from your SDK's header. Please check bounds if you are using a look up table.

Returns: int
The number of origins supplied in originsOut.

Example:
EInputActionOrigin *origins = new EInputActionOrigin[ STEAM_INPUT_MAX_ORIGINS ]; SteamInput()->GetDigitalActionOrigins( controller1Handle, fightingSetHandle, punchHandle, origins );

GetGamepadIndexForController

int GetGamepadIndexForController( InputHandle_t ulinputHandle );
NameTypeDescription
ulinputHandleInputHandle_tThe handle of the controller you want to get a gamepad index for.

Returns the associated gamepad index for the specified controller, if emulating a gamepad.

Returns: int
The gamepad index, or -1 if the controller isn't associated with an XInput index.

Example:
int gamepadIndex = SteamInput()->GetGamepadIndexForController( controller1Handle );

GetGlyphForActionOrigin_Legacy

const char * GetGlyphForActionOrigin_Legacy( EInputActionOrigin eOrigin );
NameTypeDescription
eOriginEInputActionOriginThe origin you want to get the glyph for.

Get a local path to an older, Big Picture Mode-style PNG file for a particular origin. Previously named GetGlyphForActionOrigin.

New code should use ISteamInput::GetGlyphPNGForActionOrigin or ISteamInput::GetGlyphSVGForActionOrigin instead.

Returns: const char *
The path to the png file for the glyph.
E.g. "C:\Program Files (x86)\Steam\tenfoot\resource\images\library\controller\api\ps4_button_x.png"

Example:
// Gets origins for "punch" EInputActionOrigin *origins = new EInputActionOrigin[ STEAM_INPUT_MAX_ORIGINS ]; SteamInput()->GetDigitalActionOrigins( controller1Handle, fightingSetHandle, punchHandle, origins ); EInputActionOrigin firstOrigin = origins[0]; //i.e, k_EInputActionOrigin_PS4_X // This is a function from the game itself that tries to get custom glyph art int glyphTextureID = getHardCodedButtonGlyphTexture( firstOrigin ); // We didn't ship any art in our game for this origin! I guess Steam has added support for // a new controller or we just forgot to add this art! //(i.e, we only have Steam Controller (2015) glyphs, but it's a PlayStation 4 Controller) if( glyphTextureID == -1 ) { // Just get the image from the Steam client instead. const char *localGlyphPath = SteamInput()->GetGlyphForActionOrigin_Legacy( firstOrigin ); printf( "path = %s\n", localGlyphPath ); // "path = C:\Program Files (x86)\Steam\tenfoot\resource\images\library\controller\api\ps4_button_x.png" //a function from the game that turns a file path into a usable game texture glyphTextureID = loadButtonGlyphTextureFromLocalPath( localGlyphPath ); }

GetGlyphForXboxOrigin

const char * GetGlyphForXboxOrigin( EXboxOrigin eOrigin );
NameTypeDescription
eOriginEXboxOriginThe Xbox controller origin you want to get the glyph for.

Get a local path to art for on-screen glyph for a particular Xbox controller origin.

Returns: const char *
The path to the image file for the glyph.

Example:
const char *localGlyphPath = SteamInput()->GetGlyphForXboxOrigin( k_EXboxOrigin_A );

GetGlyphPNGForActionOrigin

const char * GetGlyphPNGForActionOrigin( EInputActionOrigin eOrigin, ESteamInputGlyphSize eSize, uint32 unFlags );
NameTypeDescription
eOriginEInputActionOriginThe origin you want to get the glyph for.
eSizeESteamInputGlyphSizeThe size of the PNG to return.
unFlagsuint32Bit-masked flags combined from values defined in ESteamInputGlyphStyle. Use one base style, optionally combined with modifiers.

Get a local path to a PNG file for the provided origin's glyph.

Returns: const char *
The path to the PNG file for the glyph.

Example:
EInputActionOrigin *origins = new EInputActionOrigin[ STEAM_INPUT_MAX_ORIGINS ]; SteamInput()->GetDigitalActionOrigins( controller1Handle, fightingSetHandle, punchHandle, origins ); const char *localGlyphPath = SteamInput()->GetGlyphPNGForActionOrigin( origins[0], k_ESteamInputGlyphSize_Medium, ESteamInputGlyphStyle_Dark | ESteamInputGlyphStyle_SolidABXY ); //a function from the game that turns a file path into a usable game texture int glyphTextureID = loadButtonGlyphTextureFromLocalPath( localGlyphPath );

GetGlyphSVGForActionOrigin

const char * GetGlyphSVGForActionOrigin( EInputActionOrigin eOrigin, uint32 unFlags );
NameTypeDescription
eOriginEInputActionOriginThe origin you want to get the glyph for.
unFlagsuint32Bit-masked flags combined from values defined in ESteamInputGlyphStyle. Use one base style, optionally combined with modifiers.

Get a local path to a SVG file for the provided origin's glyph.

Returns: const char *
The path to the SVG file for the glyph.

Example:
const char *localGlyphPath = SteamInput()->GetGlyphSVGForActionOrigin( origins[0], ESteamInputGlyphStyle_Knockout );

GetInputTypeForHandle

ESteamInputType GetInputTypeForHandle( InputHandle_t inputHandle );
NameTypeDescription
inputHandleInputHandle_tThe handle of the controller whose input type (device model) you want to query

Returns the input type (device model) for the specified controller. This tells you if a given controller is a Steam Controller, Xbox 360 controller, PS4 controller, etc.

NOTE: Unlike EInputActionOrigin, which updates with Steam and may return unrecognized values, ESteamInputType will remain static and only return valid values from your SDK version.

Returns: ESteamInputType


Example:
ESteamInputType inputType = SteamInput()->GetInputTypeForHandle(controller1Handle); switch(inputType) { case k_ESteamInputType_Unknown: printf("unknown!\n"); break; case k_ESteamInputType_SteamController: printf("Steam Controller (2015)!\n"); break; case k_ESteamInputType_XBox360Controller: printf("XBox 360 controller!\n"); break; case k_ESteamInputType_XBoxOneController: printf("XBox One controller!\n"); break; case k_ESteamInputType_GenericGamepad: printf("Generic Gamepad (DirectInput)!\n"); break; case k_ESteamInputType_PS4Controller: printf("PS4 controller!\n"); break; case k_ESteamInputType_PS5Controller: printf("PS5 controller!\n"); break; case k_ESteamInputType_SteamDeckController: printf("Steam Deck!\n"); break; case k_ESteamInputType_SteamController2026: printf("Steam Controller (2026)!\n"); break; }

GetMotionData

InputMotionData_t GetMotionData( InputHandle_t inputHandle );
NameTypeDescription
inputHandleInputHandle_tThe handle of the controller you want to get motion data for.

Returns raw motion data for the specified controller.

Note on Orientation: The motion data returned is oriented to the hardware of the controller, as opposed to how the controller is naturally held. You may need to make design accommodations to your gyro control schemes with this in mind. In the case of "HandHeld" devices with integrated screens like the SteamDeck (k_ESteamInputType_SteamDeckController) and Lenovo Legion Go (k_ESteamInputType_SteamOSHandheld), users will typically rotate the controller up by ~90 degrees in order to point the screen toward their eyes. In these cases, consider applying a 90 degree counter rotation in pitch to the gyro quaternion and gyro speed values, or use the accelerometer/gravity direction to make orientation invariant control schemes).

The Quaternion returned is based on the accumulated rotation of every gyro packet received from the controller, while the gyro and accelerometer values represent the "latest" packets received.

A Quaternion Identity (x:0, y:0, z:0, w:1) will be sent in the first few packets while the controller's IMU is still waking up; some controllers have a short "warmup" period before these values should be used. After the first time GetMotionData is called per controller handle, the IMU will be active until your app is closed. The exception is the Sony DualShock, which will stay on until the controller has been turned off.

In the case of dual Gyroscopes (i.e. k_ESteamInputType_SwitchJoyConPair), only the right hand controller's motion data is returned.

Returns: InputMotionData_t

Example:
InputMotionData_t motionData = SteamInput()->GetMotionData( inputHandle );

GetSessionInputConfigurationSettings

uint16 GetSessionInputConfigurationSettings();
Get a bitmask of the Steam Input Configuration types opted in for the current session.

Note: The user can override the settings from the Steamworks Partner site, so the returned values may not exactly match your default configuration.

Returns: uint16
A bitmask of ESteamInputConfigurationEnableType values.

Example:
uint16 unSettings = SteamInput()->GetSessionInputConfigurationSettings(); if ( unSettings & k_ESteamInputConfigurationEnableType_Playstation ) { // Steam Input is enabled for PlayStation controllers in this session }

GetStringForActionOrigin

const char * GetStringForActionOrigin( EInputActionOrigin eOrigin );
NameTypeDescription
eOriginEInputActionOriginThe origin you want to get the string for.

Returns a localized string (from Steam's language setting) for the specified origin.

Returns: const char *


Example:
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);

GetStringForAnalogActionName

const char * GetStringForAnalogActionName( InputAnalogActionHandle_t eActionHandle );
NameTypeDescription
eActionHandleInputAnalogActionHandle_tThe handle of the analog action you want the name for.

Returns a localized string (from Steam's language setting) for the user-facing action name corresponding to the specified handle.

Returns: const char *


Example:
const char *moveName = SteamInput()->GetStringForAnalogActionName( moveHandle );

GetStringForDigitalActionName

const char * GetStringForDigitalActionName( InputDigitalActionHandle_t eActionHandle );
NameTypeDescription
eActionHandleInputDigitalActionHandle_tThe handle of the digital action you want the name for.

Returns a localized string (from Steam's language setting) for the user-facing action name corresponding to the specified handle.

Returns: const char *


Example:
const char *punchName = SteamInput()->GetStringForDigitalActionName( punchHandle );

GetStringForXboxOrigin

const char * GetStringForXboxOrigin( EXboxOrigin eOrigin );
NameTypeDescription
eOriginEXboxOriginThe Xbox controller origin you want to get the string for.

Returns a localized string (from Steam's language setting) for the specified Xbox controller origin.

Returns: const char *


Example:
const char *buttonString = SteamInput()->GetStringForXboxOrigin( k_EXboxOrigin_A );

Init

bool Init( bool bExplicitlyCallRunFrame );
NameTypeDescription
bExplicitlyCallRunFrameboolIf true, you will need to manually call ISteamInput::RunFrame each frame. Otherwise Steam Input will be updated when SteamAPI_RunCallbacks() is called.

Must be called when starting use of the ISteamInput interface.

Returns: bool
Always returns true.

Example:
SteamInput()->Init( false );

Legacy_TriggerHapticPulse

void Legacy_TriggerHapticPulse( InputHandle_t inputHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec );
NameTypeDescription
inputHandleInputHandle_tThe handle of the controller to affect.
eTargetPadESteamControllerPadWhich haptic touchpad to affect.
usDurationMicroSecunsigned shortDuration of the pulse, in microseconds (1/1,000,000th of a second)

Triggers a (low-level) haptic pulse on supported controllers. Previously named TriggerHapticPulse.

Notes:
Currently only the Steam Controller (2015), Steam Controller (2026), and Steam Deck support haptic pulses.
This API call will be ignored for all other controller models.
If you are approximating rumble you may want to use ISteamInput::TriggerVibration instead; these devices translate rumble calls into haptics automatically. Good uses for haptic pulses include chimes, noises, or directional gameplay feedback (taking damage, footstep locations, etc).
The typical max value of an unsigned short is 65535, which means the longest haptic pulse you can trigger with this method has a duration of 0.065535 seconds (ie, less than 1/10th of a second). This function should be thought of as a low-level primitive meant to be repeatedly used in higher-level user functions to generate more sophisticated behavior.

Example:
//Pulse once for 1/20th of a second SteamInput()->Legacy_TriggerHapticPulse(controller1Handle, k_ESteamControllerPad_Left, 50000);

Legacy_TriggerRepeatedHapticPulse

void Legacy_TriggerRepeatedHapticPulse( InputHandle_t inputHandle, ESteamControllerPad eTargetPad, unsigned short usDurationMicroSec, unsigned short usOffMicroSec, unsigned short unRepeat, unsigned int nFlags );
NameTypeDescription
inputHandleInputHandle_tThe handle of the controller to affect.
eTargetPadESteamControllerPadWhich haptic touchpad to affect.
usDurationMicroSecunsigned shortDuration of the pulse, in microseconds (1/1,000,000th of a second).
usOffMicroSecunsigned shortDuration of the pause between pulses, in microseconds.
unRepeatunsigned shortNumber of times to repeat the usDurationMicroSec / usOffMicroSec duty cycle.
nFlagsunsigned intCurrently unused and reserved for future use.

Triggers a repeated haptic pulse on supported controllers. Previously named TriggerRepeatedHapticPulse.

Notes:
Currently only the Steam Controller (2015), Steam Controller (2026), and Steam Deck support haptic pulses.
This API call will be ignored for incompatible controller models.
This is a more user-friendly function to call than Legacy_TriggerHapticPulse as it can generate pulse patterns long enough to be actually noticed by the user.
Changing the usDurationMicroSec and usOffMicroSec parameters will change the "texture" of the haptic pulse.
If you are approximating rumble you may want to use ISteamInput::TriggerVibration instead.

Example:
//Pulse for 1 second with an on/off pulse pattern of 1/20th of a second each SteamInput()->Legacy_TriggerRepeatedHapticPulse( controller1Handle, k_ESteamControllerPad_Left, 50000, 50000, 10, 0 );

RunFrame

void RunFrame( bool bReservedValue = true );
NameTypeDescription
bReservedValueboolReserved. Use the default value.

Synchronize API state with the latest Steam Input action data available. This is performed automatically by SteamAPI_RunCallbacks, but for the absolute lowest possible latency, you can call this directly before reading controller state.

Note: This must be called from somewhere before ISteamInput::GetConnectedControllers will return any handles.

Example:
SteamInput()->RunFrame();

SetDualSenseTriggerEffect

void SetDualSenseTriggerEffect( InputHandle_t inputHandle, const ScePadTriggerEffectParam *pParam );
NameTypeDescription
inputHandleInputHandle_tThe handle of the controller to affect.
pParam ScePadTriggerEffectParamThe trigger parameter, defined in isteamdualsense.h

Set the trigger effect for a DualSense controller.

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

SetInputActionManifestFilePath

bool SetInputActionManifestFilePath( const char *pchInputActionManifestAbsolutePath );
NameTypeDescription
pchInputActionManifestAbsolutePathconst char *The absolute path to the Input Action Manifest file.

Set the absolute path to the Input Action Manifest file containing the in-game actions and file paths to the official configurations. Used in games that bundle Steam Input configurations inside of the game depot instead of using the Steam Workshop.

Returns: bool
true if the manifest was parsed successfully; otherwise false.

Example:
SteamInput()->SetInputActionManifestFilePath( "C:\\Games\\MyGame\\steam_input\\steam_input_manifest.vdf" );

SetLEDColor

void SetLEDColor( InputHandle_t inputHandle, uint8 nColorR, uint8 nColorG, uint8 nColorB, unsigned int nFlags );
NameTypeDescription
inputHandleInputHandle_tThe handle of the controller to affect.
nColorRuint8The red component of the color to set (0-255).
nColorGuint8The green component of the color to set (0-255).
nColorBuint8The blue component of the color to set (0-255).
nFlagsunsigned intBit-masked flags combined from values defined in ESteamInputLEDFlag. 0 will default to setting a color.

Set the controller LED color on supported controllers.

Notes:
The Steam Controller (2015) does not support any color but white, and will interpret the RGB values as a greyscale value affecting the brightness of the Steam button LED.
The Steam Controller (2026) does not have API-facing LED support.
The DS4 responds to full color information and uses the values to set the color & brightness of the lightbar.
Steam will restore the user's default color when your game exits, so you don't need to restore it yourself as you are shutting down.

Example:
// Restore the user default color for controller 1: SteamInput()->SetLEDColor( controller1Handle, 0, 0, 0, k_ESteamInputLEDFlag_RestoreUserDefault ); // Set the color to magenta for controller 2: SteamInput()->SetLEDColor( controller2Handle, 255, 0, 255, k_ESteamInputLEDFlag_SetColor );

ShowBindingPanel

bool ShowBindingPanel( InputHandle_t inputHandle );
NameTypeDescription
inputHandleInputHandle_tThe handle of the controller you want to bring up the binding screen for.

Invokes the Steam overlay and brings up the binding screen.

Returns: bool
true for success; false if overlay is disabled/unavailable. If the player is using Big Picture Mode the configuration will open in the overlay. In desktop mode a popup window version of Big Picture will be created and open the configuration.

Example:
SteamInput()->ShowBindingPanel( myControllerHandle );

Shutdown

bool Shutdown();
Must be called when ending use of the ISteamInput interface.

Returns: bool
Always returns true.

Example:
SteamInput()->Shutdown();

StopAnalogActionMomentum

void StopAnalogActionMomentum( InputHandle_t inputHandle, InputAnalogActionHandle_t eAction );
NameTypeDescription
inputHandleInputHandle_tThe handle of the controller to affect.
eActionInputAnalogActionHandle_tThe analog action to stop momentum for.

Stops the momentum of an analog action (where applicable, i.e. a touchpad w/ virtual trackball settings).

NOTE:
This will also stop all associated haptics. This is useful for situations where you want to indicate to the user that the limit of an action has been reached, such as spinning a carousel or scrolling a webpage.

Example:
SteamInput()->StopAnalogActionMomentum( controller1Handle, moveHandle );

TriggerSimpleHapticEvent

void TriggerSimpleHapticEvent( InputHandle_t inputHandle, EControllerHapticLocation eHapticLocation, uint8 nIntensity, char nGainDB, uint8 nOtherIntensity, char nOtherGainDB );
NameTypeDescription
inputHandleInputHandle_tThe handle of the controller to affect.
eHapticLocationEControllerHapticLocationWhich side(s) of the controller to pulse.
nIntensityuint8Intensity of the pulse.
nGainDBcharGain in dB. Values above 0 are clamped to 0, and the result is combined with the user's haptic strength setting.
nOtherIntensityuint8Intensity of the pulse on the right side when eHapticLocation is k_EControllerHapticLocation_Both.
nOtherGainDBcharGain in dB for the right side when eHapticLocation is k_EControllerHapticLocation_Both. Clamped the same way as nGainDB.

Send a haptic pulse on supported controllers.

Notes:
Currently only the Steam Controller (2015), Steam Controller (2026), and Steam Deck support haptic pulses.
This API call will be ignored for incompatible controller models.

Example:
SteamInput()->TriggerSimpleHapticEvent( controller1Handle, k_EControllerHapticLocation_Both, 128, 0, 128, 0 );

TriggerVibration

void TriggerVibration( InputHandle_t inputHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed );
NameTypeDescription
inputHandleInputHandle_tThe handle of the controller to affect.
usLeftSpeedunsigned shortThe intensity value for the left rumble motor.
usRightSpeedunsigned shortThe intensity value of the right rumble motor.

Trigger a vibration event on supported controllers.

Notes:
This API call will be ignored for incompatible controller models.
This generates the traditional "rumble" vibration effect.
The Steam Controller (2015), Steam Controller (2026), and Steam Deck will translate rumble into haptics automatically; you don't need to call the haptic pulse API for these devices.

Example:
SteamInput()->TriggerVibration( controller1Handle, 10000, 10000 );

TriggerVibrationExtended

void TriggerVibrationExtended( InputHandle_t inputHandle, unsigned short usLeftSpeed, unsigned short usRightSpeed, unsigned short usLeftTriggerSpeed, unsigned short usRightTriggerSpeed );
NameTypeDescription
inputHandleInputHandle_tThe handle of the controller to affect.
usLeftSpeedunsigned shortThe intensity value for the left rumble motor.
usRightSpeedunsigned shortThe intensity value of the right rumble motor.
usLeftTriggerSpeedunsigned shortThe intensity value for the left Xbox Impulse Trigger motor.
usRightTriggerSpeedunsigned shortThe intensity value of the right Xbox Impulse Trigger motor.

Trigger a vibration event on supported controllers, including Xbox Impulse Trigger motor values.

Notes:
On Windows support for Xbox Impulse Trigger motor values requires user installation of the Xbox Extended Feature support driver.
The Steam Controller (2015), Steam Controller (2026), and Steam Deck will translate rumble into haptics automatically; you don't need to call the haptic pulse API for these devices.

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

GetActionOriginFromXboxOrigin

EInputActionOrigin GetActionOriginFromXboxOrigin( InputHandle_t inputHandle, EXboxOrigin eOrigin );
NameTypeDescription
inputHandleInputHandle_tThe handle of the controller to affect. You can use GetControllerForGamepadIndex to get this handle
eOriginEXboxOriginThis is the button you want to get the image for ex: k_EXboxOrigin_A

Returns: EInputActionOrigin

Get an action origin that you can use in your glyph look up table or passed into GetGlyphPNGForActionOrigin, GetGlyphSVGForActionOrigin, or GetStringForActionOrigin.

Note: This only translates the buttons directly and doesn't take into account any remapping a user has made in their configuration.

Example:
int nXinputSlot = 1; // Substitute whatever the correct Xinput slot is for your player InputHandle_t controller1Handle = SteamInput()->GetControllerForGamepadIndex( nXinputSlot ); EInputActionOrigin buttonOrigin = SteamInput()->GetActionOriginFromXboxOrigin( controller1Handle, k_EXboxOrigin_A ); // Gets the image from the Steam client . const char *localGlyphPath = SteamInput()->GetGlyphPNGForActionOrigin( buttonOrigin, k_ESteamInputGlyphSize_Medium, ESteamInputGlyphStyle_Knockout ); printf( "path = %s\n", localGlyphPath ); //a function from the game that turns a file path into a usable game texture int glyphTextureID = loadButtonGlyphTextureFromLocalPath( localGlyphPath );

TranslateActionOrigin

EInputActionOrigin TranslateActionOrigin( ESteamInputType eDestinationInputType, EInputActionOrigin eSourceOrigin );
NameTypeDescription
eDestinationInputTypeESteamInputTypeThe controller type you want to translate to. Steam will pick the closest type from your SDK version if k_ESteamInputType_Unknown is used
eSourceOriginEInputActionOriginThis is the button you want to translate

Returns: 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 GetGlyphPNGForActionOrigin, GetGlyphSVGForActionOrigin, or GetStringForActionOrigin.

For inputs not present on the other controller type this will return k_EInputActionOrigin_None.

Example:
int nXinputSlot = 1; // Substitutes whatever the correct Xinput slot is for your player InputHandle_t controller1Handle = SteamInput()->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( buttonOrigin );

GetDeviceBindingRevision

bool GetDeviceBindingRevision( InputHandle_t inputHandle, int *pMajor, int *pMinor );
NameTypeDescription
inputHandleInputHandle_tThe handle of the controller to query.
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 handle was not valid or 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.

By default, a major revision change only affects configurations that bind Steam Input API actions; configurations that only use gamepad (XInput) or mouse/keyboard bindings are left alone. To also replace those, add these flags to your In-game Action File next to major_revision:
  • major_revision_affects_xinput - When set to "1", configurations that use gamepad (XInput) bindings without Steam Input API actions are also treated as out of date, and users are moved to your Steam Input API configuration. Use this when your game has switched from XInput to the Steam Input API.
  • major_revision_affects_mousekb - When set to "1", configurations that use mouse/keyboard bindings without Steam Input API actions are also treated as out of date, and users are moved to your Steam Input API configuration. Use this when your game no longer supports controllers through mouse/keyboard bindings.
Both default to "0".

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. When the minor revision changes, Steam will try to update existing users' configurations: action sets and action set layers newly added to the official configuration are filled in using the developer defaults, and action sets and layers that are no longer used are deleted from the user's configuration.

Example Code:
int nMajorRevision = -1; int nMinorRevision= -1; const int nCurrentMajorRevision = 1; const int nCurrentMinorRevision = 1; if ( SteamInput()->GetDeviceBindingRevision( inputHandle, &nMajorRevision , &nMinorRevision ) ) { if ( nMinorRevision != nCurrentMinorRevision ) { // The minor version out of date, but that's ok // next time they edit their config this will get fixed } if ( nMajorRevision != nCurrentMajorRevision ) { // This should only happen briefly while Steam detects // and then force-updates the user to the latest official config } } else { // The configuration isn't loaded for this controller yet }

Example In-game Action File Usage:
"In Game Actions" { "major_revision" "0" "minor_revision" "1" "major_revision_affects_xinput" "0" "major_revision_affects_mousekb" "0" "actions" { ...

GetRemotePlaySessionID

uint32 GetRemotePlaySessionID( InputHandle_t inputHandle );
NameTypeDescription
inputHandleInputHandle_tThe handle of the controller to query.

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.

Callbacks

These are callbacks which can be fired by calling steam_api#SteamAPI_RunCallbacks or ISteamInput::RunFrame. Many of these will be fired directly in response to the member functions of ISteamInput.

SteamInputConfigurationLoaded_t

Called when a controller configuration has been loaded. Will fire once per controller per focus change for Steam Input enabled controllers. These callbacks will always fire if you have a handler.

NameTypeDescription
m_unAppIDAppId_tThe app ID the configuration was loaded for.
m_ulDeviceHandleInputHandle_tHandle for the device.
m_ulMappingCreatorCSteamIDThe creator of the configuration. May differ from the local user when using an unmodified community or official configuration.
m_unMajorRevisionuint32Major binding revision from the In-game Action File. Same value as queried by ISteamInput::GetDeviceBindingRevision.
m_unMinorRevisionuint32Minor binding revision from the In-game Action File. Same value as queried by ISteamInput::GetDeviceBindingRevision.
m_bUsesSteamInputAPIboolWhether the configuration contains any Analog/Digital actions.
m_bUsesGamepadAPIboolWhether the configuration contains any XInput bindings.

SteamInputDeviceConnected_t

Called when a new controller has been connected. Will fire once per controller if multiple new controllers connect in the same frame.

Requires ISteamInput::EnableDeviceCallbacks.

NameTypeDescription
m_ulConnectedDeviceHandleInputHandle_tHandle for the connected device.

SteamInputDeviceDisconnected_t

Called when a controller has been disconnected. Will fire once per controller if multiple controllers disconnect in the same frame.

Requires ISteamInput::EnableDeviceCallbacks.

NameTypeDescription
m_ulDisconnectedDeviceHandleInputHandle_tHandle for the disconnected device.

SteamInputGamepadSlotChange_t

Called when controller gamepad slots change. Controllers using gamepad emulation (XInput, DirectInput, etc) will be seated in the order that input is sent by the device. This callback will fire on first input for each device and when a user has manually changed the order via the Steam overlay. This also has the device type info so that you can change out glyph sets without making additional API calls.

On Linux/macOS these slots are shared for all running apps.

NameTypeDescription
m_unAppIDAppId_tThe app ID.
m_ulDeviceHandleInputHandle_tHandle for the device.
m_eDeviceTypeESteamInputTypeType of device.
m_nOldGamepadSlotintPrevious gamepad slot. Can be -1 if the controller doesn't use gamepad bindings.
m_nNewGamepadSlotintNew gamepad slot. Can be -1 if the controller doesn't use gamepad bindings.

Structs

These are structs which functions in ISteamInput may return and/or interact with.

InputAnalogActionData_t

Represents the current state of an analog action.

Notes:
  • The exact values, range, etc, depend on the configuration, but (broadly speaking) traditional analog actions will provide normalized float values in the ballpark of -1.0 to 1.0, whereas mouse-like actions will provide delta updates which indicate the number of "pixels" moved since the last frame. The upshot of this is that mouse-like actions will provide much larger absolute x and y values, and are relative to the last recorded input position, whereas traditional analog actions are smaller and relative to a central physical anchor point.
  • While the delta provided by mouse-like actions is very similar to pixel deltas as provided by an OS, the Steam Input deltas are floats, not ints. This means less potential quantization and loss of precision when mapping this data to a camera rotation.
  • In the case of single-axis analog inputs (such as analog triggers), only the x axis will contain data; the y axis will always be zero.

NameTypeDescription
eModeEInputSourceModeThe type of data coming from this action, this will match what was specified in the action set's VDF definition.
xfloatThe current state of this action on the horizontal axis.
yfloatThe current state of this action vertical axis.
bActiveboolWhether or not this action is currently available to be bound in the active action set. If it is not available, OR does not belong to the active action set, this will be false.

InputDigitalActionData_t

Represents the current state of a digital action.

NameTypeDescription
bStateboolThe current state of this action; true if the action is currently pressed, otherwise false.
bActiveboolWhether or not this action is currently available to be bound in the active action set.

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.

Positional acceleration is reported as an interpolated value between INT16_MIN and INT16_MAX where the extents are clamped to ±2G (1G = 9.80665 m/s2).

Angular velocity is reported as an interpolated value between INT16_MIN and INT16_MAX where the extents are clamped to ±2000 degrees per second.

NameTypeDescription
rotQuatXfloatSensor-fused absolute rotation (will drift in heading), x axis
rotQuatYfloatSensor-fused absolute rotation (will drift in heading), y axis
rotQuatZfloatSensor-fused absolute rotation (will drift in heading), z axis
rotQuatWfloatSensor-fused absolute rotation (will drift in heading), w axis
posAccelXfloatPositional acceleration, x axis
posAccelYfloatPositional acceleration, y axis
posAccelZfloatPositional acceleration, z axis
rotVelXfloatAngular velocity, x axis
rotVelYfloatAngular velocity, y axis
rotVelZfloatAngular velocity, z axis

SteamInputActionEvent_t

Sent to the function passed to ISteamInput::EnableActionEventCallbacks each time a controller action state changes.

NameTypeDescription
controllerHandleInputHandle_tThe handle of the controller the action changed on.
eEventTypeESteamInputActionEventTypeWhether this is a digital or analog action event. Determines which member of the union is valid.
analogAction.actionHandleInputAnalogActionHandle_tThe analog action that changed. Valid when eEventType is ESteamInputActionEventType_AnalogAction.
analogAction.analogActionDataInputAnalogActionData_tThe new state of the analog action.
digitalAction.actionHandleInputDigitalActionHandle_tThe digital action that changed. Valid when eEventType is ESteamInputActionEventType_DigitalAction.
digitalAction.digitalActionDataInputDigitalActionData_tThe new state of the digital action.

Enums

These are enums which are defined for use with 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".

Versions of Steam that add new controller types in the future will extend this enum. If you're using a lookup table to display glyphs, check bounds against k_EInputActionOrigin_Count and use ISteamInput::TranslateActionOrigin for values your SDK doesn't recognize.

NameValueDescription
k_EInputActionOrigin_None0
k_EInputActionOrigin_SteamController_A1(Steam Controller 2015) digital face button A
k_EInputActionOrigin_SteamController_B2(Steam Controller 2015) digital face button B
k_EInputActionOrigin_SteamController_X3(Steam Controller 2015) digital face button X
k_EInputActionOrigin_SteamController_Y4(Steam Controller 2015) digital face button Y
k_EInputActionOrigin_SteamController_LeftBumper5(Steam Controller 2015) digital left shoulder button (aka left bumper)
k_EInputActionOrigin_SteamController_RightBumper6(Steam Controller 2015) digital right shoulder button (aka right bumper)
k_EInputActionOrigin_SteamController_LeftGrip7(Steam Controller 2015) digital left grip paddle
k_EInputActionOrigin_SteamController_RightGrip8(Steam Controller 2015) digital right grip paddle
k_EInputActionOrigin_SteamController_Start9(Steam Controller 2015) digital start button
k_EInputActionOrigin_SteamController_Back10(Steam Controller 2015) digital back button
k_EInputActionOrigin_SteamController_LeftPad_Touch11(Steam Controller 2015) left haptic touchpad, in simple contact with a finger
k_EInputActionOrigin_SteamController_LeftPad_Swipe12(Steam Controller 2015) left haptic touchpad, touch input on any axis
k_EInputActionOrigin_SteamController_LeftPad_Click13(Steam Controller 2015) left haptic touchpad, digital click (for the whole thing)
k_EInputActionOrigin_SteamController_LeftPad_DPadNorth14(Steam Controller 2015) left haptic touchpad, digital click (upper quadrant)
k_EInputActionOrigin_SteamController_LeftPad_DPadSouth15(Steam Controller 2015) left haptic touchpad, digital click (lower quadrant)
k_EInputActionOrigin_SteamController_LeftPad_DPadWest16(Steam Controller 2015) left haptic touchpad, digital click (left quadrant)
k_EInputActionOrigin_SteamController_LeftPad_DPadEast17(Steam Controller 2015) left haptic touchpad, digital click (right quadrant)
k_EInputActionOrigin_SteamController_RightPad_Touch18(Steam Controller 2015) right haptic touchpad, in simple contact with a finger
k_EInputActionOrigin_SteamController_RightPad_Swipe19(Steam Controller 2015) right haptic touchpad, touch input on any axis
k_EInputActionOrigin_SteamController_RightPad_Click20(Steam Controller 2015) right haptic touchpad, digital click (for the whole thing)
k_EInputActionOrigin_SteamController_RightPad_DPadNorth21(Steam Controller 2015) right haptic touchpad, digital click (upper quadrant)
k_EInputActionOrigin_SteamController_RightPad_DPadSouth22(Steam Controller 2015) right haptic touchpad, digital click (lower quadrant)
k_EInputActionOrigin_SteamController_RightPad_DPadWest23(Steam Controller 2015) right haptic touchpad, digital click (left quadrant)
k_EInputActionOrigin_SteamController_RightPad_DPadEast24(Steam Controller 2015) right haptic touchpad, digital click (right quadrant)
k_EInputActionOrigin_SteamController_LeftTrigger_Pull25(Steam Controller 2015) left analog trigger, pulled by any amount (analog value)
k_EInputActionOrigin_SteamController_LeftTrigger_Click26(Steam Controller 2015) left analog trigger, pulled in all the way (digital value)
k_EInputActionOrigin_SteamController_RightTrigger_Pull27(Steam Controller 2015) right analog trigger, pulled by any amount (analog value)
k_EInputActionOrigin_SteamController_RightTrigger_Click28(Steam Controller 2015) right analog trigger, pulled in all the way (digital value)
k_EInputActionOrigin_SteamController_LeftStick_Move29(Steam Controller 2015) left joystick, movement on any axis (analog value)
k_EInputActionOrigin_SteamController_LeftStick_Click30(Steam Controller 2015) left joystick, clicked in (digital value)
k_EInputActionOrigin_SteamController_LeftStick_DPadNorth31(Steam Controller 2015) left joystick, digital movement (upper quadrant)
k_EInputActionOrigin_SteamController_LeftStick_DPadSouth32(Steam Controller 2015) left joystick, digital movement (lower quadrant)
k_EInputActionOrigin_SteamController_LeftStick_DPadWest33(Steam Controller 2015) left joystick, digital movement (left quadrant)
k_EInputActionOrigin_SteamController_LeftStick_DPadEast34(Steam Controller 2015) left joystick, digital movement (right quadrant)
k_EInputActionOrigin_SteamController_Gyro_Move35(Steam Controller 2015) gyroscope, analog movement in any axis
k_EInputActionOrigin_SteamController_Gyro_Pitch36(Steam Controller 2015) gyroscope, analog movement on the Pitch axis (point head up to ceiling, point head down to floor)
k_EInputActionOrigin_SteamController_Gyro_Yaw37(Steam Controller 2015) gyroscope, analog movement on the Yaw axis (turn head left to face one wall, turn head right to face other)
k_EInputActionOrigin_SteamController_Gyro_Roll38(Steam Controller 2015) gyroscope, analog movement on the Roll axis (tilt head left towards shoulder, tilt head right towards other shoulder)
k_EInputActionOrigin_SteamController_Reserved039(Steam Controller 2015) Reserved for future use
k_EInputActionOrigin_SteamController_Reserved140(Steam Controller 2015) Reserved for future use
k_EInputActionOrigin_SteamController_Reserved241(Steam Controller 2015) Reserved for future use
k_EInputActionOrigin_SteamController_Reserved342(Steam Controller 2015) Reserved for future use
k_EInputActionOrigin_SteamController_Reserved443(Steam Controller 2015) Reserved for future use
k_EInputActionOrigin_SteamController_Reserved544(Steam Controller 2015) Reserved for future use
k_EInputActionOrigin_SteamController_Reserved645(Steam Controller 2015) Reserved for future use
k_EInputActionOrigin_SteamController_Reserved746(Steam Controller 2015) Reserved for future use
k_EInputActionOrigin_SteamController_Reserved847(Steam Controller 2015) Reserved for future use
k_EInputActionOrigin_SteamController_Reserved948(Steam Controller 2015) Reserved for future use
k_EInputActionOrigin_SteamController_Reserved1049(Steam Controller 2015) Reserved for future use
k_EInputActionOrigin_PS4_X50(Sony DualShock 4) digital face button X
k_EInputActionOrigin_PS4_Circle51(Sony DualShock 4) digital face button Circle
k_EInputActionOrigin_PS4_Triangle52(Sony DualShock 4) digital face button Triangle
k_EInputActionOrigin_PS4_Square53(Sony DualShock 4) digital face button Square
k_EInputActionOrigin_PS4_LeftBumper54(Sony DualShock 4) digital left shoulder button (aka left bumper)
k_EInputActionOrigin_PS4_RightBumper55(Sony DualShock 4) digital right shoulder button (aka right bumper)
k_EInputActionOrigin_PS4_Options56(Sony DualShock 4) digital options button (aka Start)
k_EInputActionOrigin_PS4_Share57(Sony DualShock 4) digital share button (aka Back)
k_EInputActionOrigin_PS4_LeftPad_Touch58(Sony DualShock 4) left half of the touchpad, in simple contact with a finger
k_EInputActionOrigin_PS4_LeftPad_Swipe59(Sony DualShock 4) left half of the touchpad, touch input on any axis
k_EInputActionOrigin_PS4_LeftPad_Click60(Sony DualShock 4) left half of the touchpad, digital click (for the whole thing)
k_EInputActionOrigin_PS4_LeftPad_DPadNorth61(Sony DualShock 4) left half of the touchpad, digital click (upper quadrant)
k_EInputActionOrigin_PS4_LeftPad_DPadSouth62(Sony DualShock 4) left half of the touchpad, digital click (lower quadrant)
k_EInputActionOrigin_PS4_LeftPad_DPadWest63(Sony DualShock 4) left half of the touchpad, digital click (left quadrant)
k_EInputActionOrigin_PS4_LeftPad_DPadEast64(Sony DualShock 4) left half of the touchpad, digital click (right quadrant)
k_EInputActionOrigin_PS4_RightPad_Touch65(Sony DualShock 4) right half of the touchpad, in simple contact with a finger
k_EInputActionOrigin_PS4_RightPad_Swipe66(Sony DualShock 4) right half of the touchpad, touch input on any axis
k_EInputActionOrigin_PS4_RightPad_Click67(Sony DualShock 4) right half of the touchpad, digital click (for the whole thing)
k_EInputActionOrigin_PS4_RightPad_DPadNorth68(Sony DualShock 4) right half of the touchpad, digital click (upper quadrant)
k_EInputActionOrigin_PS4_RightPad_DPadSouth69(Sony DualShock 4) right half of the touchpad, digital click (lower quadrant)
k_EInputActionOrigin_PS4_RightPad_DPadWest70(Sony DualShock 4) right half of the touchpad, digital click (left quadrant)
k_EInputActionOrigin_PS4_RightPad_DPadEast71(Sony DualShock 4) right half of the touchpad, digital click (right quadrant)
k_EInputActionOrigin_PS4_CenterPad_Touch72(Sony DualShock 4) unified touchpad, in simple contact with a finger
k_EInputActionOrigin_PS4_CenterPad_Swipe73(Sony DualShock 4) unified touchpad, touch input on any axis
k_EInputActionOrigin_PS4_CenterPad_Click74(Sony DualShock 4) unified touchpad, digital click (for the whole thing)
k_EInputActionOrigin_PS4_CenterPad_DPadNorth75(Sony DualShock 4) unified touchpad, digital click (upper quadrant)
k_EInputActionOrigin_PS4_CenterPad_DPadSouth76(Sony DualShock 4) unified touchpad, digital click (lower quadrant)
k_EInputActionOrigin_PS4_CenterPad_DPadWest77(Sony DualShock 4) unified touchpad, digital click (left quadrant)
k_EInputActionOrigin_PS4_CenterPad_DPadEast78(Sony DualShock 4) unified touchpad, digital click (right quadrant)
k_EInputActionOrigin_PS4_LeftTrigger_Pull79(Sony DualShock 4) left analog trigger, pulled by any amount (analog value)
k_EInputActionOrigin_PS4_LeftTrigger_Click80(Sony DualShock 4) left analog trigger, pulled in all the way (digital value)
k_EInputActionOrigin_PS4_RightTrigger_Pull81(Sony DualShock 4) right analog trigger, pulled by any amount (analog value)
k_EInputActionOrigin_PS4_RightTrigger_Click82(Sony DualShock 4) right analog trigger, pulled in all the way (digital value)
k_EInputActionOrigin_PS4_LeftStick_Move83(Sony DualShock 4) left joystick, movement on any axis (analog value)
k_EInputActionOrigin_PS4_LeftStick_Click84(Sony DualShock 4) left joystick, clicked in (digital value)
k_EInputActionOrigin_PS4_LeftStick_DPadNorth85(Sony DualShock 4) left joystick, digital movement (upper quadrant)
k_EInputActionOrigin_PS4_LeftStick_DPadSouth86(Sony DualShock 4) left joystick, digital movement (lower quadrant)
k_EInputActionOrigin_PS4_LeftStick_DPadWest87(Sony DualShock 4) left joystick, digital movement (left quadrant)
k_EInputActionOrigin_PS4_LeftStick_DPadEast88(Sony DualShock 4) left joystick, digital movement (right quadrant)
k_EInputActionOrigin_PS4_RightStick_Move89(Sony DualShock 4) right joystick, movement on any axis (analog value)
k_EInputActionOrigin_PS4_RightStick_Click90(Sony DualShock 4) right joystick, clicked in (digital value)
k_EInputActionOrigin_PS4_RightStick_DPadNorth91(Sony DualShock 4) right joystick, digital movement (upper quadrant)
k_EInputActionOrigin_PS4_RightStick_DPadSouth92(Sony DualShock 4) right joystick, digital movement (lower quadrant)
k_EInputActionOrigin_PS4_RightStick_DPadWest93(Sony DualShock 4) right joystick, digital movement (left quadrant)
k_EInputActionOrigin_PS4_RightStick_DPadEast94(Sony DualShock 4) right joystick, digital movement (right quadrant)
k_EInputActionOrigin_PS4_DPad_North95(Sony DualShock 4) digital pad, pressed (upper quadrant)
k_EInputActionOrigin_PS4_DPad_South96(Sony DualShock 4) digital pad, pressed (lower quadrant)
k_EInputActionOrigin_PS4_DPad_West97(Sony DualShock 4) digital pad, pressed (left quadrant)
k_EInputActionOrigin_PS4_DPad_East98(Sony DualShock 4) digital pad, pressed (right quadrant)
k_EInputActionOrigin_PS4_Gyro_Move99(Sony DualShock 4) gyroscope, analog movement in any axis
k_EInputActionOrigin_PS4_Gyro_Pitch100(Sony DualShock 4) gyroscope, analog movement on the Pitch axis (point head up to ceiling, point head down to floor)
k_EInputActionOrigin_PS4_Gyro_Yaw101(Sony DualShock 4) gyroscope, analog movement on the Yaw axis (turn head left to face one wall, turn head right to face other)
k_EInputActionOrigin_PS4_Gyro_Roll102(Sony DualShock 4) gyroscope, analog movement on the Roll axis (tilt head left towards shoulder, tilt head right towards other shoulder)
k_EInputActionOrigin_PS4_DPad_Move103(Sony DualShock 4) digital pad, move in any direction
k_EInputActionOrigin_PS4_Reserved1104(Sony DualShock 4) Reserved for future use
k_EInputActionOrigin_PS4_Reserved2105(Sony DualShock 4) Reserved for future use
k_EInputActionOrigin_PS4_Reserved3106(Sony DualShock 4) Reserved for future use
k_EInputActionOrigin_PS4_Reserved4107(Sony DualShock 4) Reserved for future use
k_EInputActionOrigin_PS4_Reserved5108(Sony DualShock 4) Reserved for future use
k_EInputActionOrigin_PS4_Reserved6109(Sony DualShock 4) Reserved for future use
k_EInputActionOrigin_PS4_Reserved7110(Sony DualShock 4) Reserved for future use
k_EInputActionOrigin_PS4_Reserved8111(Sony DualShock 4) Reserved for future use
k_EInputActionOrigin_PS4_Reserved9112(Sony DualShock 4) Reserved for future use
k_EInputActionOrigin_PS4_Reserved10113(Sony DualShock 4) Reserved for future use
k_EInputActionOrigin_XBoxOne_A114(XB1) digital face button A
k_EInputActionOrigin_XBoxOne_B115(XB1) digital face button B
k_EInputActionOrigin_XBoxOne_X116(XB1) digital face button X
k_EInputActionOrigin_XBoxOne_Y117(XB1) digital face button Y
k_EInputActionOrigin_XBoxOne_LeftBumper118(XB1) digital left shoulder button (aka left bumper)
k_EInputActionOrigin_XBoxOne_RightBumper119(XB1) digital right shoulder button (aka right bumper)
k_EInputActionOrigin_XBoxOne_Menu120(XB1) digital menu button (aka start)
k_EInputActionOrigin_XBoxOne_View121(XB1) digital view button (aka back)
k_EInputActionOrigin_XBoxOne_LeftTrigger_Pull122(XB1) left analog trigger, pulled by any amount (analog value)
k_EInputActionOrigin_XBoxOne_LeftTrigger_Click123(XB1) left analog trigger, pulled in all the way (digital value)
k_EInputActionOrigin_XBoxOne_RightTrigger_Pull124(XB1) right analog trigger, pulled by any amount (analog value)
k_EInputActionOrigin_XBoxOne_RightTrigger_Click125(XB1) right analog trigger, pulled in all the way (digital value)
k_EInputActionOrigin_XBoxOne_LeftStick_Move126(XB1) left joystick, movement on any axis (analog value)
k_EInputActionOrigin_XBoxOne_LeftStick_Click127(XB1) left joystick, clicked in (digital value)
k_EInputActionOrigin_XBoxOne_LeftStick_DPadNorth128(XB1) left joystick, digital movement (upper quadrant)
k_EInputActionOrigin_XBoxOne_LeftStick_DPadSouth129(XB1) left joystick, digital movement (lower quadrant)
k_EInputActionOrigin_XBoxOne_LeftStick_DPadWest130(XB1) left joystick, digital movement (left quadrant)
k_EInputActionOrigin_XBoxOne_LeftStick_DPadEast131(XB1) left joystick, digital movement (right quadrant)
k_EInputActionOrigin_XBoxOne_RightStick_Move132(XB1) right joystick, movement on any axis (analog value)
k_EInputActionOrigin_XBoxOne_RightStick_Click133(XB1) right joystick, clicked in (digital value)
k_EInputActionOrigin_XBoxOne_RightStick_DPadNorth134(XB1) right joystick, digital movement (upper quadrant)
k_EInputActionOrigin_XBoxOne_RightStick_DPadSouth135(XB1) right joystick, digital movement (lower quadrant)
k_EInputActionOrigin_XBoxOne_RightStick_DPadWest136(XB1) right joystick, digital movement (left quadrant)
k_EInputActionOrigin_XBoxOne_RightStick_DPadEast137(XB1) right joystick, digital movement (right quadrant)
k_EInputActionOrigin_XBoxOne_DPad_North138(XB1) digital pad, pressed (upper quadrant)
k_EInputActionOrigin_XBoxOne_DPad_South139(XB1) digital pad, pressed (lower quadrant)
k_EInputActionOrigin_XBoxOne_DPad_West140(XB1) digital pad, pressed (left quadrant)
k_EInputActionOrigin_XBoxOne_DPad_East141(XB1) digital pad, pressed (right quadrant)
k_EInputActionOrigin_XBoxOne_DPad_Move142(XB1) digital pad, move in any direction
k_EInputActionOrigin_XBoxOne_LeftGrip_Lower143(XB1) digital left grip, lower paddle
k_EInputActionOrigin_XBoxOne_LeftGrip_Upper144(XB1) digital left grip, upper paddle
k_EInputActionOrigin_XBoxOne_RightGrip_Lower145(XB1) digital right grip, lower paddle
k_EInputActionOrigin_XBoxOne_RightGrip_Upper146(XB1) digital right grip, upper paddle
k_EInputActionOrigin_XBoxOne_Share147(XB1) digital share button (Xbox Series X controllers only)
k_EInputActionOrigin_XBoxOne_Reserved6148(XB1) Reserved for future use
k_EInputActionOrigin_XBoxOne_Reserved7149(XB1) Reserved for future use
k_EInputActionOrigin_XBoxOne_Reserved8150(XB1) Reserved for future use
k_EInputActionOrigin_XBoxOne_Reserved9151(XB1) Reserved for future use
k_EInputActionOrigin_XBoxOne_Reserved10152(XB1) Reserved for future use
k_EInputActionOrigin_XBox360_A153(X360) digital face button A
k_EInputActionOrigin_XBox360_B154(X360) digital face button B
k_EInputActionOrigin_XBox360_X155(X360) digital face button X
k_EInputActionOrigin_XBox360_Y156(X360) digital face button Y
k_EInputActionOrigin_XBox360_LeftBumper157(X360) digital left shoulder button (aka left bumper)
k_EInputActionOrigin_XBox360_RightBumper158(X360) digital right shoulder button (aka right bumper)
k_EInputActionOrigin_XBox360_Start159(X360) digital start button
k_EInputActionOrigin_XBox360_Back160(X360) digital back button
k_EInputActionOrigin_XBox360_LeftTrigger_Pull161(X360) left analog trigger, pulled by any amount (analog value)
k_EInputActionOrigin_XBox360_LeftTrigger_Click162(X360) left analog trigger, pulled in all the way (digital value)
k_EInputActionOrigin_XBox360_RightTrigger_Pull163(X360) right analog trigger, pulled by any amount (analog value)
k_EInputActionOrigin_XBox360_RightTrigger_Click164(X360) right analog trigger, pulled in all the way (digital value)
k_EInputActionOrigin_XBox360_LeftStick_Move165(X360) left joystick, movement on any axis (analog value)
k_EInputActionOrigin_XBox360_LeftStick_Click166(X360) left joystick, clicked in (digital value)
k_EInputActionOrigin_XBox360_LeftStick_DPadNorth167(X360) left joystick, digital movement (upper quadrant)
k_EInputActionOrigin_XBox360_LeftStick_DPadSouth168(X360) left joystick, digital movement (lower quadrant)
k_EInputActionOrigin_XBox360_LeftStick_DPadWest169(X360) left joystick, digital movement (left quadrant)
k_EInputActionOrigin_XBox360_LeftStick_DPadEast170(X360) left joystick, digital movement (right quadrant)
k_EInputActionOrigin_XBox360_RightStick_Move171(X360) right joystick, movement on any axis (analog value)
k_EInputActionOrigin_XBox360_RightStick_Click172(X360) right joystick, clicked in (digital value)
k_EInputActionOrigin_XBox360_RightStick_DPadNorth173(X360) right joystick, digital movement (upper quadrant)
k_EInputActionOrigin_XBox360_RightStick_DPadSouth174(X360) right joystick, digital movement (lower quadrant)
k_EInputActionOrigin_XBox360_RightStick_DPadWest175(X360) right joystick, digital movement (left quadrant)
k_EInputActionOrigin_XBox360_RightStick_DPadEast176(X360) right joystick, digital movement (right quadrant)
k_EInputActionOrigin_XBox360_DPad_North177(X360) digital pad, pressed (upper quadrant)
k_EInputActionOrigin_XBox360_DPad_South178(X360) digital pad, pressed (lower quadrant)
k_EInputActionOrigin_XBox360_DPad_West179(X360) digital pad, pressed (left quadrant)
k_EInputActionOrigin_XBox360_DPad_East180(X360) digital pad, pressed (right quadrant)
k_EInputActionOrigin_XBox360_DPad_Move181(X360) digital pad, move in any direction
k_EInputActionOrigin_XBox360_Reserved1182(X360) Reserved for future use
k_EInputActionOrigin_XBox360_Reserved2183(X360) Reserved for future use
k_EInputActionOrigin_XBox360_Reserved3184(X360) Reserved for future use
k_EInputActionOrigin_XBox360_Reserved4185(X360) Reserved for future use
k_EInputActionOrigin_XBox360_Reserved5186(X360) Reserved for future use
k_EInputActionOrigin_XBox360_Reserved6187(X360) Reserved for future use
k_EInputActionOrigin_XBox360_Reserved7188(X360) Reserved for future use
k_EInputActionOrigin_XBox360_Reserved8189(X360) Reserved for future use
k_EInputActionOrigin_XBox360_Reserved9190(X360) Reserved for future use
k_EInputActionOrigin_XBox360_Reserved10191(X360) Reserved for future use
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(Nintendo Switch Pro) digital face button Y
k_EInputActionOrigin_Switch_LeftBumper196(Nintendo Switch Pro) digital left shoulder button (aka left bumper)
k_EInputActionOrigin_Switch_RightBumper197(Nintendo Switch Pro) digital right shoulder button (aka right bumper)
k_EInputActionOrigin_Switch_Plus198(Nintendo Switch Pro) plus button (aka Start)
k_EInputActionOrigin_Switch_Minus199(Nintendo Switch Pro) minus button (aka Back)
k_EInputActionOrigin_Switch_Capture200(Nintendo Switch Pro) digital capture button
k_EInputActionOrigin_Switch_LeftTrigger_Pull201(Nintendo Switch Pro) left trigger, clicked
k_EInputActionOrigin_Switch_LeftTrigger_Click202(Nintendo Switch Pro) left trigger, clicked (same as previous value)
k_EInputActionOrigin_Switch_RightTrigger_Pull203(Nintendo Switch Pro) right trigger, clicked
k_EInputActionOrigin_Switch_RightTrigger_Click204(Nintendo Switch Pro) right trigger, clicked (same as previous value)
k_EInputActionOrigin_Switch_LeftStick_Move205(Nintendo Switch Pro) left joystick, movement on any axis (analog value)
k_EInputActionOrigin_Switch_LeftStick_Click206(Nintendo Switch Pro) left joystick, clicked in (digital value)
k_EInputActionOrigin_Switch_LeftStick_DPadNorth207(Nintendo Switch Pro) left joystick, digital movement (upper quadrant)
k_EInputActionOrigin_Switch_LeftStick_DPadSouth208(Nintendo Switch Pro) left joystick, digital movement (lower quadrant)
k_EInputActionOrigin_Switch_LeftStick_DPadWest209(Nintendo Switch Pro) left joystick, digital movement (left quadrant)
k_EInputActionOrigin_Switch_LeftStick_DPadEast210(Nintendo Switch Pro) left joystick, digital movement (right quadrant)
k_EInputActionOrigin_Switch_RightStick_Move211(Nintendo Switch Pro) right joystick, movement on any axis (analog value)
k_EInputActionOrigin_Switch_RightStick_Click212(Nintendo Switch Pro) right joystick, clicked in (digital value)
k_EInputActionOrigin_Switch_RightStick_DPadNorth213(Nintendo Switch Pro) right joystick, digital movement (upper quadrant)
k_EInputActionOrigin_Switch_RightStick_DPadSouth214(Nintendo Switch Pro) right joystick, digital movement (lower quadrant)
k_EInputActionOrigin_Switch_RightStick_DPadWest215(Nintendo Switch Pro) right joystick, digital movement (left quadrant)
k_EInputActionOrigin_Switch_RightStick_DPadEast216(Nintendo Switch Pro) right joystick, digital movement (right quadrant)
k_EInputActionOrigin_Switch_DPad_North217(Nintendo Switch Pro) digital pad, pressed (upper quadrant)
k_EInputActionOrigin_Switch_DPad_South218(Nintendo Switch Pro) digital pad, pressed (lower quadrant)
k_EInputActionOrigin_Switch_DPad_West219(Nintendo Switch Pro) digital pad, pressed (left quadrant)
k_EInputActionOrigin_Switch_DPad_East220(Nintendo Switch Pro) digital pad, pressed (right quadrant)
k_EInputActionOrigin_Switch_ProGyro_Move221(Nintendo Switch Pro) primary gyroscope (Pro Controller, or right JoyCon), analog movement in any axis
k_EInputActionOrigin_Switch_ProGyro_Pitch222(Nintendo Switch Pro) primary gyroscope (Pro Controller, or right JoyCon), analog movement on the Pitch axis (point head up to ceiling, point head down to floor)
k_EInputActionOrigin_Switch_ProGyro_Yaw223(Nintendo Switch Pro) primary gyroscope (Pro Controller, or right JoyCon), analog movement on the Yaw axis (turn head left to face one wall, turn head right to face other)
k_EInputActionOrigin_Switch_ProGyro_Roll224(Nintendo Switch Pro) primary gyroscope (Pro Controller, or right JoyCon), analog movement on the Roll axis (tilt head left towards shoulder, tilt head right towards other shoulder)
k_EInputActionOrigin_Switch_DPad_Move225(Nintendo Switch Pro) digital pad, move in any direction
k_EInputActionOrigin_Switch_Reserved1226(Nintendo Switch Pro) Reserved for future use
k_EInputActionOrigin_Switch_Reserved2227(Nintendo Switch Pro) Reserved for future use
k_EInputActionOrigin_Switch_Reserved3228(Nintendo Switch Pro) Reserved for future use
k_EInputActionOrigin_Switch_Reserved4229(Nintendo Switch Pro) Reserved for future use
k_EInputActionOrigin_Switch_Reserved5230(Nintendo Switch Pro) Reserved for future use
k_EInputActionOrigin_Switch_Reserved6231(Nintendo Switch Pro) Reserved for future use
k_EInputActionOrigin_Switch_Reserved7232(Nintendo Switch Pro) Reserved for future use
k_EInputActionOrigin_Switch_Reserved8233(Nintendo Switch Pro) Reserved for future use
k_EInputActionOrigin_Switch_Reserved9234(Nintendo Switch Pro) Reserved for future use
k_EInputActionOrigin_Switch_Reserved10235(Nintendo Switch Pro) Reserved for future use
k_EInputActionOrigin_Switch_RightGyro_Move236(Nintendo Switch JoyCon) right JoyCon gyroscope (generally corresponds to the Pro Controller's single gyro), analog movement in any axis
k_EInputActionOrigin_Switch_RightGyro_Pitch237(Nintendo Switch JoyCon) right JoyCon gyroscope (generally corresponds to the Pro Controller's single gyro), analog movement on the Pitch axis (point head up to ceiling, point head down to floor)
k_EInputActionOrigin_Switch_RightGyro_Yaw238(Nintendo Switch JoyCon) right JoyCon gyroscope (generally corresponds to the Pro Controller's single gyro), analog movement on the Yaw axis (turn head left to face one wall, turn head right to face other)
k_EInputActionOrigin_Switch_RightGyro_Roll239(Nintendo Switch JoyCon) right JoyCon gyroscope (generally corresponds to the Pro Controller's single gyro), analog movement on the Roll axis (tilt head left towards shoulder, tilt head right towards other shoulder)
k_EInputActionOrigin_Switch_LeftGyro_Move240(Nintendo Switch JoyCon) left JoyCon gyroscope, analog movement in any axis
k_EInputActionOrigin_Switch_LeftGyro_Pitch241(Nintendo Switch JoyCon) left JoyCon gyroscope, analog movement on the Pitch axis (point head up to ceiling, point head down to floor)
k_EInputActionOrigin_Switch_LeftGyro_Yaw242(Nintendo Switch JoyCon) left JoyCon gyroscope, analog movement on the Yaw axis (turn head left to face one wall, turn head right to face other)
k_EInputActionOrigin_Switch_LeftGyro_Roll243(Nintendo Switch JoyCon) left JoyCon gyroscope, analog movement on the Roll axis (tilt head left towards shoulder, tilt head right towards other shoulder)
k_EInputActionOrigin_Switch_LeftGrip_Lower244(Nintendo Switch JoyCon) digital left grip, lower (Left JoyCon SR Button)
k_EInputActionOrigin_Switch_LeftGrip_Upper245(Nintendo Switch JoyCon) digital left grip, upper (Left JoyCon SL Button)
k_EInputActionOrigin_Switch_RightGrip_Lower246(Nintendo Switch JoyCon) digital right grip, lower (Right JoyCon SL Button)
k_EInputActionOrigin_Switch_RightGrip_Upper247(Nintendo Switch JoyCon) digital right grip, upper (Right JoyCon SR Button)
k_EInputActionOrigin_Switch_JoyConButton_N248(Nintendo Switch JoyCon) JoyCon north face button (With a Horizontal JoyCon this will be Y or what would be Dpad Right when vertical)
k_EInputActionOrigin_Switch_JoyConButton_E249(Nintendo Switch JoyCon) JoyCon east face button (X)
k_EInputActionOrigin_Switch_JoyConButton_S250(Nintendo Switch JoyCon) JoyCon south face button (A)
k_EInputActionOrigin_Switch_JoyConButton_W251(Nintendo Switch JoyCon) JoyCon west face button (B)
k_EInputActionOrigin_Switch_Reserved15252(Nintendo Switch JoyCon) Reserved for future use
k_EInputActionOrigin_Switch_Reserved16253(Nintendo Switch JoyCon) Reserved for future use
k_EInputActionOrigin_Switch_Reserved17254(Nintendo Switch JoyCon) Reserved for future use
k_EInputActionOrigin_Switch_Reserved18255(Nintendo Switch JoyCon) Reserved for future use
k_EInputActionOrigin_Switch_Reserved19256(Nintendo Switch JoyCon) Reserved for future use
k_EInputActionOrigin_Switch_Reserved20257(Nintendo Switch JoyCon) Reserved for future use
k_EInputActionOrigin_PS5_X258(Sony DualSense) digital face button X
k_EInputActionOrigin_PS5_Circle259(Sony DualSense) digital face button Circle
k_EInputActionOrigin_PS5_Triangle260(Sony DualSense) digital face button Triangle
k_EInputActionOrigin_PS5_Square261(Sony DualSense) digital face button Square
k_EInputActionOrigin_PS5_LeftBumper262(Sony DualSense) digital left shoulder button (aka left bumper)
k_EInputActionOrigin_PS5_RightBumper263(Sony DualSense) digital right shoulder button (aka right bumper)
k_EInputActionOrigin_PS5_Option264(Sony DualSense) digital options button (aka Start)
k_EInputActionOrigin_PS5_Create265(Sony DualSense) digital create button (aka Back)
k_EInputActionOrigin_PS5_Mute266(Sony DualSense) digital mute button
k_EInputActionOrigin_PS5_LeftPad_Touch267(Sony DualSense) left half of the touchpad, in simple contact with a finger
k_EInputActionOrigin_PS5_LeftPad_Swipe268(Sony DualSense) left half of the touchpad, touch input on any axis
k_EInputActionOrigin_PS5_LeftPad_Click269(Sony DualSense) left half of the touchpad, digital click (for the whole thing)
k_EInputActionOrigin_PS5_LeftPad_DPadNorth270(Sony DualSense) left half of the touchpad, digital click (upper quadrant)
k_EInputActionOrigin_PS5_LeftPad_DPadSouth271(Sony DualSense) left half of the touchpad, digital click (lower quadrant)
k_EInputActionOrigin_PS5_LeftPad_DPadWest272(Sony DualSense) left half of the touchpad, digital click (left quadrant)
k_EInputActionOrigin_PS5_LeftPad_DPadEast273(Sony DualSense) left half of the touchpad, digital click (right quadrant)
k_EInputActionOrigin_PS5_RightPad_Touch274(Sony DualSense) right half of the touchpad, in simple contact with a finger
k_EInputActionOrigin_PS5_RightPad_Swipe275(Sony DualSense) right half of the touchpad, touch input on any axis
k_EInputActionOrigin_PS5_RightPad_Click276(Sony DualSense) right half of the touchpad, digital click (for the whole thing)
k_EInputActionOrigin_PS5_RightPad_DPadNorth277(Sony DualSense) right half of the touchpad, digital click (upper quadrant)
k_EInputActionOrigin_PS5_RightPad_DPadSouth278(Sony DualSense) right half of the touchpad, digital click (lower quadrant)
k_EInputActionOrigin_PS5_RightPad_DPadWest279(Sony DualSense) right half of the touchpad, digital click (left quadrant)
k_EInputActionOrigin_PS5_RightPad_DPadEast280(Sony DualSense) right half of the touchpad, digital click (right quadrant)
k_EInputActionOrigin_PS5_CenterPad_Touch281(Sony DualSense) unified touchpad, in simple contact with a finger
k_EInputActionOrigin_PS5_CenterPad_Swipe282(Sony DualSense) unified touchpad, touch input on any axis
k_EInputActionOrigin_PS5_CenterPad_Click283(Sony DualSense) unified touchpad, digital click (for the whole thing)
k_EInputActionOrigin_PS5_CenterPad_DPadNorth284(Sony DualSense) unified touchpad, digital click (upper quadrant)
k_EInputActionOrigin_PS5_CenterPad_DPadSouth285(Sony DualSense) unified touchpad, digital click (lower quadrant)
k_EInputActionOrigin_PS5_CenterPad_DPadWest286(Sony DualSense) unified touchpad, digital click (left quadrant)
k_EInputActionOrigin_PS5_CenterPad_DPadEast287(Sony DualSense) unified touchpad, digital click (right quadrant)
k_EInputActionOrigin_PS5_LeftTrigger_Pull288(Sony DualSense) left analog trigger, pulled by any amount (analog value)
k_EInputActionOrigin_PS5_LeftTrigger_Click289(Sony DualSense) left analog trigger, pulled in all the way (digital value)
k_EInputActionOrigin_PS5_RightTrigger_Pull290(Sony DualSense) right analog trigger, pulled by any amount (analog value)
k_EInputActionOrigin_PS5_RightTrigger_Click291(Sony DualSense) right analog trigger, pulled in all the way (digital value)
k_EInputActionOrigin_PS5_LeftStick_Move292(Sony DualSense) left joystick, movement on any axis (analog value)
k_EInputActionOrigin_PS5_LeftStick_Click293(Sony DualSense) left joystick, clicked in (digital value)
k_EInputActionOrigin_PS5_LeftStick_DPadNorth294(Sony DualSense) left joystick, digital movement (upper quadrant)
k_EInputActionOrigin_PS5_LeftStick_DPadSouth295(Sony DualSense) left joystick, digital movement (lower quadrant)
k_EInputActionOrigin_PS5_LeftStick_DPadWest296(Sony DualSense) left joystick, digital movement (left quadrant)
k_EInputActionOrigin_PS5_LeftStick_DPadEast297(Sony DualSense) left joystick, digital movement (right quadrant)
k_EInputActionOrigin_PS5_RightStick_Move298(Sony DualSense) right joystick, movement on any axis (analog value)
k_EInputActionOrigin_PS5_RightStick_Click299(Sony DualSense) right joystick, clicked in (digital value)
k_EInputActionOrigin_PS5_RightStick_DPadNorth300(Sony DualSense) right joystick, digital movement (upper quadrant)
k_EInputActionOrigin_PS5_RightStick_DPadSouth301(Sony DualSense) right joystick, digital movement (lower quadrant)
k_EInputActionOrigin_PS5_RightStick_DPadWest302(Sony DualSense) right joystick, digital movement (left quadrant)
k_EInputActionOrigin_PS5_RightStick_DPadEast303(Sony DualSense) right joystick, digital movement (right quadrant)
k_EInputActionOrigin_PS5_DPad_North304(Sony DualSense) digital pad, pressed (upper quadrant)
k_EInputActionOrigin_PS5_DPad_South305(Sony DualSense) digital pad, pressed (lower quadrant)
k_EInputActionOrigin_PS5_DPad_West306(Sony DualSense) digital pad, pressed (left quadrant)
k_EInputActionOrigin_PS5_DPad_East307(Sony DualSense) digital pad, pressed (right quadrant)
k_EInputActionOrigin_PS5_Gyro_Move308(Sony DualSense) gyroscope, analog movement in any axis
k_EInputActionOrigin_PS5_Gyro_Pitch309(Sony DualSense) gyroscope, analog movement on the Pitch axis (point head up to ceiling, point head down to floor)
k_EInputActionOrigin_PS5_Gyro_Yaw310(Sony DualSense) gyroscope, analog movement on the Yaw axis (turn head left to face one wall, turn head right to face other)
k_EInputActionOrigin_PS5_Gyro_Roll311(Sony DualSense) gyroscope, analog movement on the Roll axis (tilt head left towards shoulder, tilt head right towards other shoulder)
k_EInputActionOrigin_PS5_DPad_Move312(Sony DualSense) digital pad, move in any direction
k_EInputActionOrigin_PS5_LeftGrip313(Sony DualSense) digital left grip paddle
k_EInputActionOrigin_PS5_RightGrip314(Sony DualSense) digital right grip paddle
k_EInputActionOrigin_PS5_LeftFn315(Sony DualSense) digital left function button
k_EInputActionOrigin_PS5_RightFn316(Sony DualSense) digital right function button
k_EInputActionOrigin_PS5_Reserved5317(Sony DualSense) Reserved for future use
k_EInputActionOrigin_PS5_Reserved6318(Sony DualSense) Reserved for future use
k_EInputActionOrigin_PS5_Reserved7319(Sony DualSense) Reserved for future use
k_EInputActionOrigin_PS5_Reserved8320(Sony DualSense) Reserved for future use
k_EInputActionOrigin_PS5_Reserved9321(Sony DualSense) Reserved for future use
k_EInputActionOrigin_PS5_Reserved10322(Sony DualSense) Reserved for future use
k_EInputActionOrigin_PS5_Reserved11323(Sony DualSense) Reserved for future use
k_EInputActionOrigin_PS5_Reserved12324(Sony DualSense) Reserved for future use
k_EInputActionOrigin_PS5_Reserved13325(Sony DualSense) Reserved for future use
k_EInputActionOrigin_PS5_Reserved14326(Sony DualSense) Reserved for future use
k_EInputActionOrigin_PS5_Reserved15327(Sony DualSense) Reserved for future use
k_EInputActionOrigin_PS5_Reserved16328(Sony DualSense) Reserved for future use
k_EInputActionOrigin_PS5_Reserved17329(Sony DualSense) Reserved for future use
k_EInputActionOrigin_PS5_Reserved18330(Sony DualSense) Reserved for future use
k_EInputActionOrigin_PS5_Reserved19331(Sony DualSense) Reserved for future use
k_EInputActionOrigin_PS5_Reserved20332(Sony DualSense) Reserved for future use
k_EInputActionOrigin_SteamDeck_A333(Steam Deck) digital face button A
k_EInputActionOrigin_SteamDeck_B334(Steam Deck) digital face button B
k_EInputActionOrigin_SteamDeck_X335(Steam Deck) digital face button X
k_EInputActionOrigin_SteamDeck_Y336(Steam Deck) digital face button Y
k_EInputActionOrigin_SteamDeck_L1337(Steam Deck) digital left shoulder button (aka left bumper)
k_EInputActionOrigin_SteamDeck_R1338(Steam Deck) digital right shoulder button (aka right bumper)
k_EInputActionOrigin_SteamDeck_Menu339(Steam Deck) digital menu button (aka start)
k_EInputActionOrigin_SteamDeck_View340(Steam Deck) digital view button (aka back)
k_EInputActionOrigin_SteamDeck_LeftPad_Touch341(Steam Deck) left touchpad, in simple contact with a finger
k_EInputActionOrigin_SteamDeck_LeftPad_Swipe342(Steam Deck) left touchpad, touch input on any axis
k_EInputActionOrigin_SteamDeck_LeftPad_Click343(Steam Deck) left touchpad, digital click (for the whole thing)
k_EInputActionOrigin_SteamDeck_LeftPad_DPadNorth344(Steam Deck) left touchpad, digital click (upper quadrant)
k_EInputActionOrigin_SteamDeck_LeftPad_DPadSouth345(Steam Deck) left touchpad, digital click (lower quadrant)
k_EInputActionOrigin_SteamDeck_LeftPad_DPadWest346(Steam Deck) left touchpad, digital click (left quadrant)
k_EInputActionOrigin_SteamDeck_LeftPad_DPadEast347(Steam Deck) left touchpad, digital click (right quadrant)
k_EInputActionOrigin_SteamDeck_RightPad_Touch348(Steam Deck) right touchpad, in simple contact with a finger
k_EInputActionOrigin_SteamDeck_RightPad_Swipe349(Steam Deck) right touchpad, touch input on any axis
k_EInputActionOrigin_SteamDeck_RightPad_Click350(Steam Deck) right touchpad, digital click (for the whole thing)
k_EInputActionOrigin_SteamDeck_RightPad_DPadNorth351(Steam Deck) right touchpad, digital click (upper quadrant)
k_EInputActionOrigin_SteamDeck_RightPad_DPadSouth352(Steam Deck) right touchpad, digital click (lower quadrant)
k_EInputActionOrigin_SteamDeck_RightPad_DPadWest353(Steam Deck) right touchpad, digital click (left quadrant)
k_EInputActionOrigin_SteamDeck_RightPad_DPadEast354(Steam Deck) right touchpad, digital click (right quadrant)
k_EInputActionOrigin_SteamDeck_L2_SoftPull355(Steam Deck) left analog trigger, pulled by any amount (analog value)
k_EInputActionOrigin_SteamDeck_L2356(Steam Deck) left analog trigger, pulled in all the way (digital value)
k_EInputActionOrigin_SteamDeck_R2_SoftPull357(Steam Deck) right analog trigger, pulled by any amount (analog value)
k_EInputActionOrigin_SteamDeck_R2358(Steam Deck) right analog trigger, pulled in all the way (digital value)
k_EInputActionOrigin_SteamDeck_LeftStick_Move359(Steam Deck) left joystick, movement on any axis (analog value)
k_EInputActionOrigin_SteamDeck_L3360(Steam Deck) left joystick, clicked in (digital value)
k_EInputActionOrigin_SteamDeck_LeftStick_DPadNorth361(Steam Deck) left joystick, digital movement (upper quadrant)
k_EInputActionOrigin_SteamDeck_LeftStick_DPadSouth362(Steam Deck) left joystick, digital movement (lower quadrant)
k_EInputActionOrigin_SteamDeck_LeftStick_DPadWest363(Steam Deck) left joystick, digital movement (left quadrant)
k_EInputActionOrigin_SteamDeck_LeftStick_DPadEast364(Steam Deck) left joystick, digital movement (right quadrant)
k_EInputActionOrigin_SteamDeck_LeftStick_Touch365(Steam Deck) left joystick, touched
k_EInputActionOrigin_SteamDeck_RightStick_Move366(Steam Deck) right joystick, movement on any axis (analog value)
k_EInputActionOrigin_SteamDeck_R3367(Steam Deck) right joystick, clicked in (digital value)
k_EInputActionOrigin_SteamDeck_RightStick_DPadNorth368(Steam Deck) right joystick, digital movement (upper quadrant)
k_EInputActionOrigin_SteamDeck_RightStick_DPadSouth369(Steam Deck) right joystick, digital movement (lower quadrant)
k_EInputActionOrigin_SteamDeck_RightStick_DPadWest370(Steam Deck) right joystick, digital movement (left quadrant)
k_EInputActionOrigin_SteamDeck_RightStick_DPadEast371(Steam Deck) right joystick, digital movement (right quadrant)
k_EInputActionOrigin_SteamDeck_RightStick_Touch372(Steam Deck) right joystick, touched
k_EInputActionOrigin_SteamDeck_L4373(Steam Deck) digital left back button (L4)
k_EInputActionOrigin_SteamDeck_R4374(Steam Deck) digital right back button (R4)
k_EInputActionOrigin_SteamDeck_L5375(Steam Deck) digital left back button (L5)
k_EInputActionOrigin_SteamDeck_R5376(Steam Deck) digital right back button (R5)
k_EInputActionOrigin_SteamDeck_DPad_Move377(Steam Deck) digital pad, move in any direction
k_EInputActionOrigin_SteamDeck_DPad_North378(Steam Deck) digital pad, pressed (upper quadrant)
k_EInputActionOrigin_SteamDeck_DPad_South379(Steam Deck) digital pad, pressed (lower quadrant)
k_EInputActionOrigin_SteamDeck_DPad_West380(Steam Deck) digital pad, pressed (left quadrant)
k_EInputActionOrigin_SteamDeck_DPad_East381(Steam Deck) digital pad, pressed (right quadrant)
k_EInputActionOrigin_SteamDeck_Gyro_Move382(Steam Deck) gyroscope, analog movement in any axis
k_EInputActionOrigin_SteamDeck_Gyro_Pitch383(Steam Deck) gyroscope, analog movement on the Pitch axis (point head up to ceiling, point head down to floor)
k_EInputActionOrigin_SteamDeck_Gyro_Yaw384(Steam Deck) gyroscope, analog movement on the Yaw axis (turn head left to face one wall, turn head right to face other)
k_EInputActionOrigin_SteamDeck_Gyro_Roll385(Steam Deck) gyroscope, analog movement on the Roll axis (tilt head left towards shoulder, tilt head right towards other shoulder)
k_EInputActionOrigin_SteamDeck_Reserved1386(Steam Deck) Reserved for future use
k_EInputActionOrigin_SteamDeck_Reserved2387(Steam Deck) Reserved for future use
k_EInputActionOrigin_SteamDeck_Reserved3388(Steam Deck) Reserved for future use
k_EInputActionOrigin_SteamDeck_Reserved4389(Steam Deck) Reserved for future use
k_EInputActionOrigin_SteamDeck_Reserved5390(Steam Deck) Reserved for future use
k_EInputActionOrigin_SteamDeck_Reserved6391(Steam Deck) Reserved for future use
k_EInputActionOrigin_SteamDeck_Reserved7392(Steam Deck) Reserved for future use
k_EInputActionOrigin_SteamDeck_Reserved8393(Steam Deck) Reserved for future use
k_EInputActionOrigin_SteamDeck_Reserved9394(Steam Deck) Reserved for future use
k_EInputActionOrigin_SteamDeck_Reserved10395(Steam Deck) Reserved for future use
k_EInputActionOrigin_SteamDeck_Reserved11396(Steam Deck) Reserved for future use
k_EInputActionOrigin_SteamDeck_Reserved12397(Steam Deck) Reserved for future use
k_EInputActionOrigin_SteamDeck_Reserved13398(Steam Deck) Reserved for future use
k_EInputActionOrigin_SteamDeck_Reserved14399(Steam Deck) Reserved for future use
k_EInputActionOrigin_SteamDeck_Reserved15400(Steam Deck) Reserved for future use
k_EInputActionOrigin_SteamDeck_Reserved16401(Steam Deck) Reserved for future use
k_EInputActionOrigin_SteamDeck_Reserved17402(Steam Deck) Reserved for future use
k_EInputActionOrigin_SteamDeck_Reserved18403(Steam Deck) Reserved for future use
k_EInputActionOrigin_SteamDeck_Reserved19404(Steam Deck) Reserved for future use
k_EInputActionOrigin_SteamDeck_Reserved20405(Steam Deck) Reserved for future use
k_EInputActionOrigin_Horipad_M1406(Horipad) digital M1 button
k_EInputActionOrigin_Horipad_M2407(Horipad) digital M2 button
k_EInputActionOrigin_Horipad_L4408(Horipad) digital left back button (L4)
k_EInputActionOrigin_Horipad_R4409(Horipad) digital right back button (R4)
k_EInputActionOrigin_LenovoLegionGo_A410(Lenovo Legion Go) digital face button A
k_EInputActionOrigin_LenovoLegionGo_B411(Lenovo Legion Go) digital face button B
k_EInputActionOrigin_LenovoLegionGo_X412(Lenovo Legion Go) digital face button X
k_EInputActionOrigin_LenovoLegionGo_Y413(Lenovo Legion Go) digital face button Y
k_EInputActionOrigin_LenovoLegionGo_LB414(Lenovo Legion Go) digital left shoulder button (aka left bumper)
k_EInputActionOrigin_LenovoLegionGo_RB415(Lenovo Legion Go) digital right shoulder button (aka right bumper)
k_EInputActionOrigin_LenovoLegionGo_Menu416(Lenovo Legion Go) digital menu button (aka start)
k_EInputActionOrigin_LenovoLegionGo_View417(Lenovo Legion Go) digital view button (aka back)
k_EInputActionOrigin_LenovoLegionGo_LeftPad_Touch418(Lenovo Legion Go) left touchpad (original Legion Go only), in simple contact with a finger
k_EInputActionOrigin_LenovoLegionGo_LeftPad_Swipe419(Lenovo Legion Go) left touchpad (original Legion Go only), touch input on any axis
k_EInputActionOrigin_LenovoLegionGo_LeftPad_Click420(Lenovo Legion Go) left touchpad (original Legion Go only), digital click (for the whole thing)
k_EInputActionOrigin_LenovoLegionGo_LeftPad_DPadNorth421(Lenovo Legion Go) left touchpad (original Legion Go only), digital click (upper quadrant)
k_EInputActionOrigin_LenovoLegionGo_LeftPad_DPadSouth422(Lenovo Legion Go) left touchpad (original Legion Go only), digital click (lower quadrant)
k_EInputActionOrigin_LenovoLegionGo_LeftPad_DPadWest423(Lenovo Legion Go) left touchpad (original Legion Go only), digital click (left quadrant)
k_EInputActionOrigin_LenovoLegionGo_LeftPad_DPadEast424(Lenovo Legion Go) left touchpad (original Legion Go only), digital click (right quadrant)
k_EInputActionOrigin_LenovoLegionGo_RightPad_Touch425(Lenovo Legion Go) right touchpad, in simple contact with a finger
k_EInputActionOrigin_LenovoLegionGo_RightPad_Swipe426(Lenovo Legion Go) right touchpad, touch input on any axis
k_EInputActionOrigin_LenovoLegionGo_RightPad_Click427(Lenovo Legion Go) right touchpad, digital click (for the whole thing)
k_EInputActionOrigin_LenovoLegionGo_RightPad_DPadNorth428(Lenovo Legion Go) right touchpad, digital click (upper quadrant)
k_EInputActionOrigin_LenovoLegionGo_RightPad_DPadSouth429(Lenovo Legion Go) right touchpad, digital click (lower quadrant)
k_EInputActionOrigin_LenovoLegionGo_RightPad_DPadWest430(Lenovo Legion Go) right touchpad, digital click (left quadrant)
k_EInputActionOrigin_LenovoLegionGo_RightPad_DPadEast431(Lenovo Legion Go) right touchpad, digital click (right quadrant)
k_EInputActionOrigin_LenovoLegionGo_LT_SoftPull432(Lenovo Legion Go) left analog trigger, pulled by any amount (analog value)
k_EInputActionOrigin_LenovoLegionGo_LT433(Lenovo Legion Go) left analog trigger, pulled in all the way (digital value)
k_EInputActionOrigin_LenovoLegionGo_RT_SoftPull434(Lenovo Legion Go) right analog trigger, pulled by any amount (analog value)
k_EInputActionOrigin_LenovoLegionGo_RT435(Lenovo Legion Go) right analog trigger, pulled in all the way (digital value)
k_EInputActionOrigin_LenovoLegionGo_LeftStick_Move436(Lenovo Legion Go) left joystick, movement on any axis (analog value)
k_EInputActionOrigin_LenovoLegionGo_LS437(Lenovo Legion Go) left joystick, clicked in (digital value)
k_EInputActionOrigin_LenovoLegionGo_LeftStick_DPadNorth438(Lenovo Legion Go) left joystick, digital movement (upper quadrant)
k_EInputActionOrigin_LenovoLegionGo_LeftStick_DPadSouth439(Lenovo Legion Go) left joystick, digital movement (lower quadrant)
k_EInputActionOrigin_LenovoLegionGo_LeftStick_DPadWest440(Lenovo Legion Go) left joystick, digital movement (left quadrant)
k_EInputActionOrigin_LenovoLegionGo_LeftStick_DPadEast441(Lenovo Legion Go) left joystick, digital movement (right quadrant)
k_EInputActionOrigin_LenovoLegionGo_RightStick_Move442(Lenovo Legion Go) right joystick, movement on any axis (analog value)
k_EInputActionOrigin_LenovoLegionGo_RS443(Lenovo Legion Go) right joystick, clicked in (digital value)
k_EInputActionOrigin_LenovoLegionGo_RightStick_DPadNorth444(Lenovo Legion Go) right joystick, digital movement (upper quadrant)
k_EInputActionOrigin_LenovoLegionGo_RightStick_DPadSouth445(Lenovo Legion Go) right joystick, digital movement (lower quadrant)
k_EInputActionOrigin_LenovoLegionGo_RightStick_DPadWest446(Lenovo Legion Go) right joystick, digital movement (left quadrant)
k_EInputActionOrigin_LenovoLegionGo_RightStick_DPadEast447(Lenovo Legion Go) right joystick, digital movement (right quadrant)
k_EInputActionOrigin_LenovoLegionGo_Y1448(Lenovo Legion Go) digital Y1 button
k_EInputActionOrigin_LenovoLegionGo_Y2449(Lenovo Legion Go) digital Y2 button
k_EInputActionOrigin_LenovoLegionGo_DPad_Move450(Lenovo Legion Go) digital pad, move in any direction
k_EInputActionOrigin_LenovoLegionGo_DPad_North451(Lenovo Legion Go) digital pad, pressed (upper quadrant)
k_EInputActionOrigin_LenovoLegionGo_DPad_South452(Lenovo Legion Go) digital pad, pressed (lower quadrant)
k_EInputActionOrigin_LenovoLegionGo_DPad_West453(Lenovo Legion Go) digital pad, pressed (left quadrant)
k_EInputActionOrigin_LenovoLegionGo_DPad_East454(Lenovo Legion Go) digital pad, pressed (right quadrant)
k_EInputActionOrigin_LenovoLegionGo_Gyro_Move455(Lenovo Legion Go) gyroscope, analog movement in any axis
k_EInputActionOrigin_LenovoLegionGo_Gyro_Pitch456(Lenovo Legion Go) gyroscope, analog movement on the Pitch axis (point head up to ceiling, point head down to floor)
k_EInputActionOrigin_LenovoLegionGo_Gyro_Yaw457(Lenovo Legion Go) gyroscope, analog movement on the Yaw axis (turn head left to face one wall, turn head right to face other)
k_EInputActionOrigin_LenovoLegionGo_Gyro_Roll458(Lenovo Legion Go) gyroscope, analog movement on the Roll axis (tilt head left towards shoulder, tilt head right towards other shoulder)
k_EInputActionOrigin_LenovoLegionGo_Reserved1459(Lenovo Legion Go) Reserved for future use
k_EInputActionOrigin_LenovoLegionGo_Reserved2460(Lenovo Legion Go) Reserved for future use
k_EInputActionOrigin_LenovoLegionGo_Reserved3461(Lenovo Legion Go) Reserved for future use
k_EInputActionOrigin_LenovoLegionGo_Reserved4462(Lenovo Legion Go) Reserved for future use
k_EInputActionOrigin_LenovoLegionGo_Reserved5463(Lenovo Legion Go) Reserved for future use
k_EInputActionOrigin_LenovoLegionGo_Reserved6464(Lenovo Legion Go) Reserved for future use
k_EInputActionOrigin_LenovoLegionGo_Reserved7465(Lenovo Legion Go) Reserved for future use
k_EInputActionOrigin_LenovoLegionGo_Reserved8466(Lenovo Legion Go) Reserved for future use
k_EInputActionOrigin_LenovoLegionGo_Reserved9467(Lenovo Legion Go) Reserved for future use
k_EInputActionOrigin_LenovoLegionGo_Reserved10468(Lenovo Legion Go) Reserved for future use
k_EInputActionOrigin_LenovoLegionGo_Reserved11469(Lenovo Legion Go) Reserved for future use
k_EInputActionOrigin_LenovoLegionGo_Reserved12470(Lenovo Legion Go) Reserved for future use
k_EInputActionOrigin_LenovoLegionGo_Reserved13471(Lenovo Legion Go) Reserved for future use
k_EInputActionOrigin_LenovoLegionGo_Reserved14472(Lenovo Legion Go) Reserved for future use
k_EInputActionOrigin_LenovoLegionGo_Reserved15473(Lenovo Legion Go) Reserved for future use
k_EInputActionOrigin_LenovoLegionGo_Reserved16474(Lenovo Legion Go) Reserved for future use
k_EInputActionOrigin_LenovoLegionGo_Reserved17475(Lenovo Legion Go) Reserved for future use
k_EInputActionOrigin_LenovoLegionGo_Reserved18476(Lenovo Legion Go) Reserved for future use
k_EInputActionOrigin_LenovoLegionGo_Reserved19477(Lenovo Legion Go) Reserved for future use
k_EInputActionOrigin_LenovoLegionGo_Reserved20478(Lenovo Legion Go) Reserved for future use
k_EInputActionOrigin_Generic_L4479(Generic) digital left back button (L4)
k_EInputActionOrigin_Generic_R4480(Generic) digital right back button (R4)
k_EInputActionOrigin_Generic_L5481(Generic) digital left back button (L5)
k_EInputActionOrigin_Generic_R5482(Generic) digital right back button (R5)
k_EInputActionOrigin_Generic_PL483(Generic) digital PL button
k_EInputActionOrigin_Generic_PR484(Generic) digital PR button
k_EInputActionOrigin_Generic_C485(Generic) digital C button
k_EInputActionOrigin_Generic_Z486(Generic) digital Z button
k_EInputActionOrigin_Generic_MISC1487(Generic) digital miscellaneous button 1
k_EInputActionOrigin_Generic_MISC2488(Generic) digital miscellaneous button 2
k_EInputActionOrigin_Generic_MISC3489(Generic) digital miscellaneous button 3
k_EInputActionOrigin_Generic_MISC4490(Generic) digital miscellaneous button 4
k_EInputActionOrigin_Generic_MISC5491(Generic) digital miscellaneous button 5
k_EInputActionOrigin_Generic_MISC6492(Generic) digital miscellaneous button 6
k_EInputActionOrigin_Generic_MISC7493(Generic) digital miscellaneous button 7
k_EInputActionOrigin_Generic_MISC8494(Generic) digital miscellaneous button 8
k_EInputActionOrigin_Switch2_A495(Nintendo Switch 2 Pro) digital face button A
k_EInputActionOrigin_Switch2_B496(Nintendo Switch 2 Pro) digital face button B
k_EInputActionOrigin_Switch2_X497(Nintendo Switch 2 Pro) digital face button X
k_EInputActionOrigin_Switch2_Y498(Nintendo Switch 2 Pro) digital face button Y
k_EInputActionOrigin_Switch2_LeftBumper499(Nintendo Switch 2 Pro) digital left shoulder button (aka left bumper)
k_EInputActionOrigin_Switch2_RightBumper500(Nintendo Switch 2 Pro) digital right shoulder button (aka right bumper)
k_EInputActionOrigin_Switch2_Plus501(Nintendo Switch 2 Pro) plus button (aka Start)
k_EInputActionOrigin_Switch2_Minus502(Nintendo Switch 2 Pro) minus button (aka Back)
k_EInputActionOrigin_Switch2_Capture503(Nintendo Switch 2 Pro) digital capture button
k_EInputActionOrigin_Switch2_LeftTrigger_Pull504(Nintendo Switch 2 Pro) left trigger, clicked
k_EInputActionOrigin_Switch2_LeftTrigger_Click505(Nintendo Switch 2 Pro) left trigger, clicked (same as previous value)
k_EInputActionOrigin_Switch2_RightTrigger_Pull506(Nintendo Switch 2 Pro) right trigger, clicked
k_EInputActionOrigin_Switch2_RightTrigger_Click507(Nintendo Switch 2 Pro) right trigger, clicked (same as previous value)
k_EInputActionOrigin_Switch2_LeftStick_Move508(Nintendo Switch 2 Pro) left joystick, movement on any axis (analog value)
k_EInputActionOrigin_Switch2_LeftStick_Click509(Nintendo Switch 2 Pro) left joystick, clicked in (digital value)
k_EInputActionOrigin_Switch2_LeftStick_DPadNorth510(Nintendo Switch 2 Pro) left joystick, digital movement (upper quadrant)
k_EInputActionOrigin_Switch2_LeftStick_DPadSouth511(Nintendo Switch 2 Pro) left joystick, digital movement (lower quadrant)
k_EInputActionOrigin_Switch2_LeftStick_DPadWest512(Nintendo Switch 2 Pro) left joystick, digital movement (left quadrant)
k_EInputActionOrigin_Switch2_LeftStick_DPadEast513(Nintendo Switch 2 Pro) left joystick, digital movement (right quadrant)
k_EInputActionOrigin_Switch2_RightStick_Move514(Nintendo Switch 2 Pro) right joystick, movement on any axis (analog value)
k_EInputActionOrigin_Switch2_RightStick_Click515(Nintendo Switch 2 Pro) right joystick, clicked in (digital value)
k_EInputActionOrigin_Switch2_RightStick_DPadNorth516(Nintendo Switch 2 Pro) right joystick, digital movement (upper quadrant)
k_EInputActionOrigin_Switch2_RightStick_DPadSouth517(Nintendo Switch 2 Pro) right joystick, digital movement (lower quadrant)
k_EInputActionOrigin_Switch2_RightStick_DPadWest518(Nintendo Switch 2 Pro) right joystick, digital movement (left quadrant)
k_EInputActionOrigin_Switch2_RightStick_DPadEast519(Nintendo Switch 2 Pro) right joystick, digital movement (right quadrant)
k_EInputActionOrigin_Switch2_DPad_Move520(Nintendo Switch 2 Pro) digital pad, move in any direction
k_EInputActionOrigin_Switch2_DPad_North521(Nintendo Switch 2 Pro) digital pad, pressed (upper quadrant)
k_EInputActionOrigin_Switch2_DPad_South522(Nintendo Switch 2 Pro) digital pad, pressed (lower quadrant)
k_EInputActionOrigin_Switch2_DPad_West523(Nintendo Switch 2 Pro) digital pad, pressed (left quadrant)
k_EInputActionOrigin_Switch2_DPad_East524(Nintendo Switch 2 Pro) digital pad, pressed (right quadrant)
k_EInputActionOrigin_Switch2_ProGyro_Move525(Nintendo Switch 2 Pro) primary gyroscope (Pro Controller, or right JoyCon), analog movement in any axis
k_EInputActionOrigin_Switch2_ProGyro_Pitch526(Nintendo Switch 2 Pro) primary gyroscope (Pro Controller, or right JoyCon), analog movement on the Pitch axis (point head up to ceiling, point head down to floor)
k_EInputActionOrigin_Switch2_ProGyro_Yaw527(Nintendo Switch 2 Pro) primary gyroscope (Pro Controller, or right JoyCon), analog movement on the Yaw axis (turn head left to face one wall, turn head right to face other)
k_EInputActionOrigin_Switch2_ProGyro_Roll528(Nintendo Switch 2 Pro) primary gyroscope (Pro Controller, or right JoyCon), analog movement on the Roll axis (tilt head left towards shoulder, tilt head right towards other shoulder)
k_EInputActionOrigin_Switch2_GL529(Nintendo Switch 2 Pro) digital GL button
k_EInputActionOrigin_Switch2_GR530(Nintendo Switch 2 Pro) digital GR button
k_EInputActionOrigin_Switch2_C531(Nintendo Switch 2 Pro) digital C button
k_EInputActionOrigin_Switch2_Reserved1532(Nintendo Switch 2 Pro) Reserved for future use
k_EInputActionOrigin_Switch2_Reserved2533(Nintendo Switch 2 Pro) Reserved for future use
k_EInputActionOrigin_Switch2_Reserved3534(Nintendo Switch 2 Pro) Reserved for future use
k_EInputActionOrigin_Switch2_Reserved4535(Nintendo Switch 2 Pro) Reserved for future use
k_EInputActionOrigin_Switch2_Reserved5536(Nintendo Switch 2 Pro) Reserved for future use
k_EInputActionOrigin_Switch2_Reserved6537(Nintendo Switch 2 Pro) Reserved for future use
k_EInputActionOrigin_Switch2_Reserved7538(Nintendo Switch 2 Pro) Reserved for future use
k_EInputActionOrigin_Switch2_Reserved8539(Nintendo Switch 2 Pro) Reserved for future use
k_EInputActionOrigin_Switch2_Reserved9540(Nintendo Switch 2 Pro) Reserved for future use
k_EInputActionOrigin_Switch2_Reserved10541(Nintendo Switch 2 Pro) Reserved for future use
k_EInputActionOrigin_SteamController2026_A542(Steam Controller 2026) digital face button A
k_EInputActionOrigin_SteamController2026_B543(Steam Controller 2026) digital face button B
k_EInputActionOrigin_SteamController2026_X544(Steam Controller 2026) digital face button X
k_EInputActionOrigin_SteamController2026_Y545(Steam Controller 2026) digital face button Y
k_EInputActionOrigin_SteamController2026_L1546(Steam Controller 2026) digital left shoulder button (aka left bumper)
k_EInputActionOrigin_SteamController2026_R1547(Steam Controller 2026) digital right shoulder button (aka right bumper)
k_EInputActionOrigin_SteamController2026_Menu548(Steam Controller 2026) digital menu button (aka start)
k_EInputActionOrigin_SteamController2026_View549(Steam Controller 2026) digital view button (aka back)
k_EInputActionOrigin_SteamController2026_LeftPad_Touch550(Steam Controller 2026) left touchpad, in simple contact with a finger
k_EInputActionOrigin_SteamController2026_LeftPad_Swipe551(Steam Controller 2026) left touchpad, touch input on any axis
k_EInputActionOrigin_SteamController2026_LeftPad_Click552(Steam Controller 2026) left touchpad, digital click (for the whole thing)
k_EInputActionOrigin_SteamController2026_LeftPad_DPadNorth553(Steam Controller 2026) left touchpad, digital click (upper quadrant)
k_EInputActionOrigin_SteamController2026_LeftPad_DPadSouth554(Steam Controller 2026) left touchpad, digital click (lower quadrant)
k_EInputActionOrigin_SteamController2026_LeftPad_DPadWest555(Steam Controller 2026) left touchpad, digital click (left quadrant)
k_EInputActionOrigin_SteamController2026_LeftPad_DPadEast556(Steam Controller 2026) left touchpad, digital click (right quadrant)
k_EInputActionOrigin_SteamController2026_RightPad_Touch557(Steam Controller 2026) right touchpad, in simple contact with a finger
k_EInputActionOrigin_SteamController2026_RightPad_Swipe558(Steam Controller 2026) right touchpad, touch input on any axis
k_EInputActionOrigin_SteamController2026_RightPad_Click559(Steam Controller 2026) right touchpad, digital click (for the whole thing)
k_EInputActionOrigin_SteamController2026_RightPad_DPadNorth560(Steam Controller 2026) right touchpad, digital click (upper quadrant)
k_EInputActionOrigin_SteamController2026_RightPad_DPadSouth561(Steam Controller 2026) right touchpad, digital click (lower quadrant)
k_EInputActionOrigin_SteamController2026_RightPad_DPadWest562(Steam Controller 2026) right touchpad, digital click (left quadrant)
k_EInputActionOrigin_SteamController2026_RightPad_DPadEast563(Steam Controller 2026) right touchpad, digital click (right quadrant)
k_EInputActionOrigin_SteamController2026_L2_SoftPull564(Steam Controller 2026) left analog trigger, pulled by any amount (analog value)
k_EInputActionOrigin_SteamController2026_L2565(Steam Controller 2026) left analog trigger, pulled in all the way (digital value)
k_EInputActionOrigin_SteamController2026_R2_SoftPull566(Steam Controller 2026) right analog trigger, pulled by any amount (analog value)
k_EInputActionOrigin_SteamController2026_R2567(Steam Controller 2026) right analog trigger, pulled in all the way (digital value)
k_EInputActionOrigin_SteamController2026_LeftStick_Move568(Steam Controller 2026) left joystick, movement on any axis (analog value)
k_EInputActionOrigin_SteamController2026_L3569(Steam Controller 2026) left joystick, clicked in (digital value)
k_EInputActionOrigin_SteamController2026_LeftStick_DPadNorth570(Steam Controller 2026) left joystick, digital movement (upper quadrant)
k_EInputActionOrigin_SteamController2026_LeftStick_DPadSouth571(Steam Controller 2026) left joystick, digital movement (lower quadrant)
k_EInputActionOrigin_SteamController2026_LeftStick_DPadWest572(Steam Controller 2026) left joystick, digital movement (left quadrant)
k_EInputActionOrigin_SteamController2026_LeftStick_DPadEast573(Steam Controller 2026) left joystick, digital movement (right quadrant)
k_EInputActionOrigin_SteamController2026_LeftStick_Touch574(Steam Controller 2026) left joystick, touched
k_EInputActionOrigin_SteamController2026_RightStick_Move575(Steam Controller 2026) right joystick, movement on any axis (analog value)
k_EInputActionOrigin_SteamController2026_R3576(Steam Controller 2026) right joystick, clicked in (digital value)
k_EInputActionOrigin_SteamController2026_RightStick_DPadNorth577(Steam Controller 2026) right joystick, digital movement (upper quadrant)
k_EInputActionOrigin_SteamController2026_RightStick_DPadSouth578(Steam Controller 2026) right joystick, digital movement (lower quadrant)
k_EInputActionOrigin_SteamController2026_RightStick_DPadWest579(Steam Controller 2026) right joystick, digital movement (left quadrant)
k_EInputActionOrigin_SteamController2026_RightStick_DPadEast580(Steam Controller 2026) right joystick, digital movement (right quadrant)
k_EInputActionOrigin_SteamController2026_RightStick_Touch581(Steam Controller 2026) right joystick, touched
k_EInputActionOrigin_SteamController2026_L4582(Steam Controller 2026) digital left back button (L4)
k_EInputActionOrigin_SteamController2026_R4583(Steam Controller 2026) digital right back button (R4)
k_EInputActionOrigin_SteamController2026_L5584(Steam Controller 2026) digital left back button (L5)
k_EInputActionOrigin_SteamController2026_R5585(Steam Controller 2026) digital right back button (R5)
k_EInputActionOrigin_SteamController2026_DPad_Move586(Steam Controller 2026) digital pad, move in any direction
k_EInputActionOrigin_SteamController2026_DPad_North587(Steam Controller 2026) digital pad, pressed (upper quadrant)
k_EInputActionOrigin_SteamController2026_DPad_South588(Steam Controller 2026) digital pad, pressed (lower quadrant)
k_EInputActionOrigin_SteamController2026_DPad_West589(Steam Controller 2026) digital pad, pressed (left quadrant)
k_EInputActionOrigin_SteamController2026_DPad_East590(Steam Controller 2026) digital pad, pressed (right quadrant)
k_EInputActionOrigin_SteamController2026_Gyro_Move591(Steam Controller 2026) gyroscope, analog movement in any axis
k_EInputActionOrigin_SteamController2026_Gyro_Pitch592(Steam Controller 2026) gyroscope, analog movement on the Pitch axis (point head up to ceiling, point head down to floor)
k_EInputActionOrigin_SteamController2026_Gyro_Yaw593(Steam Controller 2026) gyroscope, analog movement on the Yaw axis (turn head left to face one wall, turn head right to face other)
k_EInputActionOrigin_SteamController2026_Gyro_Roll594(Steam Controller 2026) gyroscope, analog movement on the Roll axis (tilt head left towards shoulder, tilt head right towards other shoulder)
k_EInputActionOrigin_SteamController2026_LGrip595(Steam Controller 2026) digital left grip
k_EInputActionOrigin_SteamController2026_RGrip596(Steam Controller 2026) digital right grip
k_EInputActionOrigin_SteamController2026_Reserved1597(Steam Controller 2026) Reserved for future use
k_EInputActionOrigin_SteamController2026_Reserved2598(Steam Controller 2026) Reserved for future use
k_EInputActionOrigin_SteamController2026_Reserved3599(Steam Controller 2026) Reserved for future use
k_EInputActionOrigin_SteamController2026_Reserved4600(Steam Controller 2026) Reserved for future use
k_EInputActionOrigin_SteamController2026_Reserved5601(Steam Controller 2026) Reserved for future use
k_EInputActionOrigin_SteamController2026_Reserved6602(Steam Controller 2026) Reserved for future use
k_EInputActionOrigin_SteamController2026_Reserved7603(Steam Controller 2026) Reserved for future use
k_EInputActionOrigin_SteamController2026_Reserved8604(Steam Controller 2026) Reserved for future use
k_EInputActionOrigin_SteamController2026_Reserved9605(Steam Controller 2026) Reserved for future use
k_EInputActionOrigin_SteamController2026_Reserved10606(Steam Controller 2026) Reserved for future use
k_EInputActionOrigin_SteamController2026_Reserved11607(Steam Controller 2026) Reserved for future use
k_EInputActionOrigin_SteamController2026_Reserved12608(Steam Controller 2026) Reserved for future use
k_EInputActionOrigin_SteamController2026_Reserved13609(Steam Controller 2026) Reserved for future use
k_EInputActionOrigin_SteamController2026_Reserved14610(Steam Controller 2026) Reserved for future use
k_EInputActionOrigin_SteamController2026_Reserved15611(Steam Controller 2026) Reserved for future use
k_EInputActionOrigin_SteamController2026_Reserved16612(Steam Controller 2026) Reserved for future use
k_EInputActionOrigin_SteamController2026_Reserved17613(Steam Controller 2026) Reserved for future use
k_EInputActionOrigin_SteamController2026_Reserved18614(Steam Controller 2026) Reserved for future use
k_EInputActionOrigin_SteamController2026_Reserved19615(Steam Controller 2026) Reserved for future use
k_EInputActionOrigin_SteamController2026_Reserved20616(Steam Controller 2026) Reserved for future use
k_EInputActionOrigin_SteamFrameController_A_Click617(Steam Frame Controller) digital face button A, clicked
k_EInputActionOrigin_SteamFrameController_A_Touch618(Steam Frame Controller) digital face button A, touched
k_EInputActionOrigin_SteamFrameController_B_Click619(Steam Frame Controller) digital face button B, clicked
k_EInputActionOrigin_SteamFrameController_B_Touch620(Steam Frame Controller) digital face button B, touched
k_EInputActionOrigin_SteamFrameController_X_Click621(Steam Frame Controller) digital face button X, clicked
k_EInputActionOrigin_SteamFrameController_X_Touch622(Steam Frame Controller) digital face button X, touched
k_EInputActionOrigin_SteamFrameController_Y_Click623(Steam Frame Controller) digital face button Y, clicked
k_EInputActionOrigin_SteamFrameController_Y_Touch624(Steam Frame Controller) digital face button Y, touched
k_EInputActionOrigin_SteamFrameController_LeftTrigger_Pull625(Steam Frame Controller) left analog trigger, pulled by any amount (analog value)
k_EInputActionOrigin_SteamFrameController_LeftTrigger_Click626(Steam Frame Controller) left analog trigger, pulled in all the way (digital value)
k_EInputActionOrigin_SteamFrameController_LeftTrigger_Touch627(Steam Frame Controller) left trigger, touched
k_EInputActionOrigin_SteamFrameController_RightTrigger_Pull628(Steam Frame Controller) right analog trigger, pulled by any amount (analog value)
k_EInputActionOrigin_SteamFrameController_RightTrigger_Click629(Steam Frame Controller) right analog trigger, pulled in all the way (digital value)
k_EInputActionOrigin_SteamFrameController_RightTrigger_Touch630(Steam Frame Controller) right trigger, touched
k_EInputActionOrigin_SteamFrameController_Menu_Click631(Steam Frame Controller) digital menu button (aka start), clicked
k_EInputActionOrigin_SteamFrameController_Menu_Touch632(Steam Frame Controller) digital menu button (aka start), touched
k_EInputActionOrigin_SteamFrameController_View_Click633(Steam Frame Controller) digital view button (aka back), clicked
k_EInputActionOrigin_SteamFrameController_View_Touch634(Steam Frame Controller) digital view button (aka back), touched
k_EInputActionOrigin_SteamFrameController_LeftBumper_Click635(Steam Frame Controller) digital left shoulder button (aka left bumper), clicked
k_EInputActionOrigin_SteamFrameController_LeftBumper_Touch636(Steam Frame Controller) digital left shoulder button (aka left bumper), touched
k_EInputActionOrigin_SteamFrameController_RightBumper_Click637(Steam Frame Controller) digital right shoulder button (aka right bumper), clicked
k_EInputActionOrigin_SteamFrameController_RightBumper_Touch638(Steam Frame Controller) digital right shoulder button (aka right bumper), touched
k_EInputActionOrigin_SteamFrameController_LeftStick_Move639(Steam Frame Controller) left joystick, movement on any axis (analog value)
k_EInputActionOrigin_SteamFrameController_LeftStick_Click640(Steam Frame Controller) left joystick, clicked in (digital value)
k_EInputActionOrigin_SteamFrameController_LeftStick_DPadNorth641(Steam Frame Controller) left joystick, digital movement (upper quadrant)
k_EInputActionOrigin_SteamFrameController_LeftStick_DPadSouth642(Steam Frame Controller) left joystick, digital movement (lower quadrant)
k_EInputActionOrigin_SteamFrameController_LeftStick_DPadWest643(Steam Frame Controller) left joystick, digital movement (left quadrant)
k_EInputActionOrigin_SteamFrameController_LeftStick_DPadEast644(Steam Frame Controller) left joystick, digital movement (right quadrant)
k_EInputActionOrigin_SteamFrameController_LeftStick_Touch645(Steam Frame Controller) left joystick, touched
k_EInputActionOrigin_SteamFrameController_RightStick_Move646(Steam Frame Controller) right joystick, movement on any axis (analog value)
k_EInputActionOrigin_SteamFrameController_RightStick_Click647(Steam Frame Controller) right joystick, clicked in (digital value)
k_EInputActionOrigin_SteamFrameController_RightStick_DPadNorth648(Steam Frame Controller) right joystick, digital movement (upper quadrant)
k_EInputActionOrigin_SteamFrameController_RightStick_DPadSouth649(Steam Frame Controller) right joystick, digital movement (lower quadrant)
k_EInputActionOrigin_SteamFrameController_RightStick_DPadWest650(Steam Frame Controller) right joystick, digital movement (left quadrant)
k_EInputActionOrigin_SteamFrameController_RightStick_DPadEast651(Steam Frame Controller) right joystick, digital movement (right quadrant)
k_EInputActionOrigin_SteamFrameController_RightStick_Touch652(Steam Frame Controller) right joystick, touched
k_EInputActionOrigin_SteamFrameController_DPad_Move653(Steam Frame Controller) digital pad, move in any direction
k_EInputActionOrigin_SteamFrameController_DPad_North654(Steam Frame Controller) digital pad, pressed (upper quadrant)
k_EInputActionOrigin_SteamFrameController_DPad_South655(Steam Frame Controller) digital pad, pressed (lower quadrant)
k_EInputActionOrigin_SteamFrameController_DPad_West656(Steam Frame Controller) digital pad, pressed (left quadrant)
k_EInputActionOrigin_SteamFrameController_DPad_East657(Steam Frame Controller) digital pad, pressed (right quadrant)
k_EInputActionOrigin_SteamFrameController_DPad_Touch658(Steam Frame Controller) digital pad, touched
k_EInputActionOrigin_SteamFrameController_LeftGyro_Move659(Steam Frame Controller) left controller gyroscope, analog movement in any axis
k_EInputActionOrigin_SteamFrameController_LeftGyro_Pitch660(Steam Frame Controller) left controller gyroscope, analog movement on the Pitch axis (point head up to ceiling, point head down to floor)
k_EInputActionOrigin_SteamFrameController_LeftGyro_Yaw661(Steam Frame Controller) left controller gyroscope, analog movement on the Yaw axis (turn head left to face one wall, turn head right to face other)
k_EInputActionOrigin_SteamFrameController_LeftGyro_Roll662(Steam Frame Controller) left controller gyroscope, analog movement on the Roll axis (tilt head left towards shoulder, tilt head right towards other shoulder)
k_EInputActionOrigin_SteamFrameController_RightGyro_Move663(Steam Frame Controller) right controller gyroscope, analog movement in any axis
k_EInputActionOrigin_SteamFrameController_RightGyro_Pitch664(Steam Frame Controller) right controller gyroscope, analog movement on the Pitch axis (point head up to ceiling, point head down to floor)
k_EInputActionOrigin_SteamFrameController_RightGyro_Yaw665(Steam Frame Controller) right controller gyroscope, analog movement on the Yaw axis (turn head left to face one wall, turn head right to face other)
k_EInputActionOrigin_SteamFrameController_RightGyro_Roll666(Steam Frame Controller) right controller gyroscope, analog movement on the Roll axis (tilt head left towards shoulder, tilt head right towards other shoulder)
k_EInputActionOrigin_SteamFrameController_LeftGrip_Pull667(Steam Frame Controller) left grip, pulled by any amount (analog value)
k_EInputActionOrigin_SteamFrameController_LeftGrip_Click668(Steam Frame Controller) left grip, clicked (digital value)
k_EInputActionOrigin_SteamFrameController_LeftGrip_Touch669(Steam Frame Controller) left grip, touched
k_EInputActionOrigin_SteamFrameController_RightGrip_Pull670(Steam Frame Controller) right grip, pulled by any amount (analog value)
k_EInputActionOrigin_SteamFrameController_RightGrip_Click671(Steam Frame Controller) right grip, clicked (digital value)
k_EInputActionOrigin_SteamFrameController_RightGrip_Touch672(Steam Frame Controller) right grip, touched
k_EInputActionOrigin_SteamFrameController_LeftThumbrest_Touch673(Steam Frame Controller) left thumbrest, touched
k_EInputActionOrigin_SteamFrameController_RightThumbrest_Touch674(Steam Frame Controller) right thumbrest, touched
k_EInputActionOrigin_SteamFrameController_Reserved1675(Steam Frame Controller) Reserved for future use
k_EInputActionOrigin_SteamFrameController_Reserved2676(Steam Frame Controller) Reserved for future use
k_EInputActionOrigin_SteamFrameController_Reserved3677(Steam Frame Controller) Reserved for future use
k_EInputActionOrigin_SteamFrameController_Reserved4678(Steam Frame Controller) Reserved for future use
k_EInputActionOrigin_SteamFrameController_Reserved5679(Steam Frame Controller) Reserved for future use
k_EInputActionOrigin_SteamFrameController_Reserved6680(Steam Frame Controller) Reserved for future use
k_EInputActionOrigin_SteamFrameController_Reserved7681(Steam Frame Controller) Reserved for future use
k_EInputActionOrigin_SteamFrameController_Reserved8682(Steam Frame Controller) Reserved for future use
k_EInputActionOrigin_SteamFrameController_Reserved9683(Steam Frame Controller) Reserved for future use
k_EInputActionOrigin_SteamFrameController_Reserved10684(Steam Frame Controller) Reserved for future use
k_EInputActionOrigin_SteamFrameController_Reserved11685(Steam Frame Controller) Reserved for future use
k_EInputActionOrigin_SteamFrameController_Reserved12686(Steam Frame Controller) Reserved for future use
k_EInputActionOrigin_SteamFrameController_Reserved13687(Steam Frame Controller) Reserved for future use
k_EInputActionOrigin_SteamFrameController_Reserved14688(Steam Frame Controller) Reserved for future use
k_EInputActionOrigin_SteamFrameController_Reserved15689(Steam Frame Controller) Reserved for future use
k_EInputActionOrigin_SteamFrameController_Reserved16690(Steam Frame Controller) Reserved for future use
k_EInputActionOrigin_SteamFrameController_Reserved17691(Steam Frame Controller) Reserved for future use
k_EInputActionOrigin_SteamFrameController_Reserved18692(Steam Frame Controller) Reserved for future use
k_EInputActionOrigin_SteamFrameController_Reserved19693(Steam Frame Controller) Reserved for future use
k_EInputActionOrigin_SteamFrameController_Reserved20694(Steam Frame Controller) Reserved for future use
k_EInputActionOrigin_Count695The number of values in this enum, useful for iterating. If Steam has added support for new controllers, origins will go above this value.
k_EInputActionOrigin_MaximumPossibleValue32767The maximum possible value. Origins are currently a maximum of 16 bits.

EXboxOrigin

Xbox controller origins, used with ISteamInput::GetActionOriginFromXboxOrigin, ISteamInput::GetStringForXboxOrigin, and ISteamInput::GetGlyphForXboxOrigin.

NameValueDescription
k_EXboxOrigin_A0digital face button A
k_EXboxOrigin_B1digital face button B
k_EXboxOrigin_X2digital face button X
k_EXboxOrigin_Y3digital face button Y
k_EXboxOrigin_LeftBumper4digital left shoulder button (aka left bumper)
k_EXboxOrigin_RightBumper5digital right shoulder button (aka right bumper)
k_EXboxOrigin_Menu6digital menu button (aka start)
k_EXboxOrigin_View7digital view button (aka back)
k_EXboxOrigin_LeftTrigger_Pull8left analog trigger, pulled by any amount (analog value)
k_EXboxOrigin_LeftTrigger_Click9left analog trigger, pulled in all the way (digital value)
k_EXboxOrigin_RightTrigger_Pull10right analog trigger, pulled by any amount (analog value)
k_EXboxOrigin_RightTrigger_Click11right analog trigger, pulled in all the way (digital value)
k_EXboxOrigin_LeftStick_Move12left joystick, movement on any axis (analog value)
k_EXboxOrigin_LeftStick_Click13left joystick, clicked in (digital value)
k_EXboxOrigin_LeftStick_DPadNorth14left joystick, digital movement (upper quadrant)
k_EXboxOrigin_LeftStick_DPadSouth15left joystick, digital movement (lower quadrant)
k_EXboxOrigin_LeftStick_DPadWest16left joystick, digital movement (left quadrant)
k_EXboxOrigin_LeftStick_DPadEast17left joystick, digital movement (right quadrant)
k_EXboxOrigin_RightStick_Move18right joystick, movement on any axis (analog value)
k_EXboxOrigin_RightStick_Click19right joystick, clicked in (digital value)
k_EXboxOrigin_RightStick_DPadNorth20right joystick, digital movement (upper quadrant)
k_EXboxOrigin_RightStick_DPadSouth21right joystick, digital movement (lower quadrant)
k_EXboxOrigin_RightStick_DPadWest22right joystick, digital movement (left quadrant)
k_EXboxOrigin_RightStick_DPadEast23right joystick, digital movement (right quadrant)
k_EXboxOrigin_DPad_North24digital pad, pressed (upper quadrant)
k_EXboxOrigin_DPad_South25digital pad, pressed (lower quadrant)
k_EXboxOrigin_DPad_West26digital pad, pressed (left quadrant)
k_EXboxOrigin_DPad_East27digital pad, pressed (right quadrant)
k_EXboxOrigin_Count28The number of values in this enum, useful for iterating.

EInputSourceMode

The virtual input mode imposed by the configurator upon a controller source. For instance, the configurator can make an analog joystick behave like a Dpad with four digital inputs. The mode also changes the input data received by any associated actions.

NameValueDescription
k_EInputSourceMode_None0No input mode.
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_FourButtons3Four digital face buttons, any of which can be pressed simultaneously
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

EControllerHapticLocation

Haptic locations used by ISteamInput::TriggerSimpleHapticEvent.

NameValueDescription
k_EControllerHapticLocation_Left1The left side of the controller.
k_EControllerHapticLocation_Right2The right side of the controller.
k_EControllerHapticLocation_Both3Both sides of the controller.

EControllerHapticType

Haptic event types. Not currently used by any ISteamInput function.

NameValueDescription
k_EControllerHapticType_Off0
k_EControllerHapticType_Tick1
k_EControllerHapticType_Click2

ESteamInputLEDFlag

Values passed into ISteamInput::SetLEDColor to control the color of a controller's LED (if the device indeed has one).

Notes:
The Steam Controller (2015) has an LED, but only its brightness will be affected (the color is always white).
The Steam Controller (2026) does not have API-facing LED support.
The DS4's LED is the lightbar, whose color and brightness can both be configured.

NameValueDescription
k_ESteamInputLEDFlag_SetColor0Set the color to the specified values
k_ESteamInputLEDFlag_RestoreUserDefault1Restore the LED color to the user's preference setting as set in the controller personalization menu. This also happens automatically on exit of your game.

ESteamInputType

Represents the device model for a given piece of hardware.


NameValueDescription
k_ESteamInputType_Unknown0Catch-all for unrecognized devices
k_ESteamInputType_SteamController1Valve's Steam Controller (2015)
k_ESteamInputType_XBox360Controller2Microsoft's XBox 360 Controller
k_ESteamInputType_XBoxOneController3Microsoft's XBox One Controller
k_ESteamInputType_GenericGamepad4DirectInput controllers
k_ESteamInputType_PS4Controller5Sony's PlayStation 4 Controller
k_ESteamInputType_AppleMFiController6Unused
k_ESteamInputType_AndroidController7Unused
k_ESteamInputType_SwitchJoyConPair8Unused
k_ESteamInputType_SwitchJoyConSingle9Unused
k_ESteamInputType_SwitchProController10Nintendo's Switch Pro Controller
k_ESteamInputType_MobileTouch11Steam Link App's Mobile Touch Controller
k_ESteamInputType_PS3Controller12Sony's PlayStation 3 Controller or PS3/PS4 compatible fight stick. Currently uses PS4 origins.
k_ESteamInputType_PS5Controller13Sony's PlayStation 5 Controller
k_ESteamInputType_SteamDeckController14Steam Deck controller
k_ESteamInputType_SteamOSHandheld15Steam OS hardware controller
k_ESteamInputType_Switch2ProController16Switch 2 Pro Controller
k_ESteamInputType_SteamController202617Valve's Steam Controller (2026)
k_ESteamInputType_SteamFrameControllerPair18Steam Frame controller pair
k_ESteamInputType_Count19Current number of values returned
k_ESteamInputType_MaximumPossibleValue255Maximum possible value returned

ESteamControllerPad

A touchpad region on a Steam Input device.

Notes:
Compatible with all trackpad devices: Steam Controller (2015), Steam Controller (2026), Steam Deck, DS4, and DualSense (PS5).
On devices with two touchpads, the values correspond to the left & right touchpads.
On the DS4 and DualSense, the values correspond to the left & right halves of the single, central touchpad.

NameValueDescription
k_ESteamControllerPad_Left0The left touchpad region.
k_ESteamControllerPad_Right1The right touchpad region.
k_ESteamControllerPad_Both2Both touchpad regions.
k_ESteamControllerGrip_Left3The left grip.
k_ESteamControllerGrip_Right4The right grip.
k_ESteamControllerGrip_Both5Both grips.

ESteamInputConfigurationEnableType

Bit flags returned by ISteamInput::GetSessionInputConfigurationSettings.

NameValueDescription
k_ESteamInputConfigurationEnableType_None0x0000No configuration types are opted in.
k_ESteamInputConfigurationEnableType_Playstation0x0001PlayStation controllers are opted in.
k_ESteamInputConfigurationEnableType_Xbox0x0002Xbox controllers are opted in.
k_ESteamInputConfigurationEnableType_Generic0x0004Generic controllers are opted in.
k_ESteamInputConfigurationEnableType_Switch0x0008Nintendo Switch controllers are opted in.

ESteamInputGlyphSize

Glyph sizes passed into ISteamInput::GetGlyphPNGForActionOrigin.

NameValueDescription
k_ESteamInputGlyphSize_Small032x32 pixels
k_ESteamInputGlyphSize_Medium1128x128 pixels
k_ESteamInputGlyphSize_Large2256x256 pixels
k_ESteamInputGlyphSize_Count3The number of values in this enum.

ESteamInputGlyphStyle

Glyph style flags passed into ISteamInput::GetGlyphPNGForActionOrigin and ISteamInput::GetGlyphSVGForActionOrigin. Use one base style, optionally combined with modifiers. Base styles cannot be mixed.

By default, ABXY/PS equivalent glyphs have a solid fill with color matching the physical buttons on the device.

NameValueDescription
ESteamInputGlyphStyle_Knockout0x0Base style. Face buttons will have colored labels/outlines on a knocked out background. Rest of inputs will have white detail/borders on a knocked out background.
ESteamInputGlyphStyle_Light0x1Base style. Black detail/borders on a white background.
ESteamInputGlyphStyle_Dark0x2Base style. White detail/borders on a black background.
ESteamInputGlyphStyle_NeutralColorABXY0x10Modifier. ABXY buttons will match the base style color instead of their normal associated color.
ESteamInputGlyphStyle_SolidABXY0x20Modifier. ABXY buttons will have a solid fill.

ESteamInputActionEventType

The type of action event in SteamInputActionEvent_t.

NameValueDescription
ESteamInputActionEventType_DigitalAction0A digital action changed; use the digitalAction member.
ESteamInputActionEventType_AnalogAction1An analog action changed; use the analogAction member.

Typedefs

These are typedefs which are defined for use with ISteamInput.

NameBase typeDescription
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_tuint64A handle to an analog action. This can be obtained from ISteamInput::GetAnalogActionHandle.
InputDigitalActionHandle_tuint64A handle to a digital action. This can be obtained from ISteamInput::GetDigitalActionHandle.
InputHandle_tuint64This handle will consistently identify a controller, even if it is disconnected and re-connected
SteamInputActionEventCallbackPointervoid (*)( SteamInputActionEvent_t * )The callback function type passed to ISteamInput::EnableActionEventCallbacks.

Constants

These are constants which are defined for use with ISteamInput.

NameTypeValueDescription
STEAMINPUT_INTERFACE_VERSIONconst char *"SteamInput007"
STEAM_INPUT_HANDLE_ALL_CONTROLLERSuint64UINT64_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_ACTIVE_LAYERSint16The maximum number of action set layers that can be active on each controller.
STEAM_INPUT_MAX_ANALOG_ACTIONSint24The maximum number of analog actions that can be performed on each controller.
STEAM_INPUT_MAX_ANALOG_ACTION_DATAfloat1.0fThe maximum value that can be reported by an analog action on any given axis.
STEAM_INPUT_MAX_COUNTint16The maximum number of controllers that can be used simultaneously with the Steam Input Configurator.
STEAM_INPUT_MAX_DIGITAL_ACTIONSint256The maximum number of digital actions that can be performed on each controller.
STEAM_INPUT_MAX_ORIGINSint8The maximum number of input origins that can be attached to a single action.
STEAM_INPUT_MIN_ANALOG_ACTION_DATAfloat-1.0fThe minimum value that can be reported by an analog action on any given axis.