ISteamInput

Note

This documentation is auto-generated. Methods marked with 🤖 are automatically generated bindings. Methods marked with ✍️ are manually implemented and methods marked with ✋ are currently not implemented.

List of Functions

List of Callbacks

Function Reference

Input.ActivateActionSet(inputHandle, actionSetHandle)

🤖 Auto-generated binding

Parameters:
  • inputHandle (uint64 - InputHandle_t) –

  • actionSetHandle (uint64 - InputActionSetHandle_t) –

SteamWorks:

ActivateActionSet

Example:

local menuActionSet = Steam.Input.GetActionSetHandle('MenuControls')
Steam.Input.ActivateActionSet(Steam.STEAM_INPUT_HANDLE_ALL_CONTROLLERS, menuActionSet)
Input.ActivateActionSetLayer(inputHandle, actionSetLayerHandle)

🤖 Auto-generated binding

Parameters:
  • inputHandle (uint64 - InputHandle_t) –

  • actionSetLayerHandle (uint64 - InputActionSetHandle_t) –

SteamWorks:

ActivateActionSetLayer

Input.BNewDataAvailable()

🤖 Auto-generated binding

Returns:

(bool) Return value

SteamWorks:

BNewDataAvailable

Input.BWaitForData(bWaitForever, unTimeout)

🤖 Auto-generated binding

Parameters:
  • bWaitForever (bool) –

  • unTimeout (int) –

Returns:

(bool) Return value

SteamWorks:

BWaitForData

Input.DeactivateActionSetLayer(inputHandle, actionSetLayerHandle)

🤖 Auto-generated binding

Parameters:
  • inputHandle (uint64 - InputHandle_t) –

  • actionSetLayerHandle (uint64 - InputActionSetHandle_t) –

SteamWorks:

DeactivateActionSetLayer

Input.DeactivateAllActionSetLayers(inputHandle)

🤖 Auto-generated binding

Parameters:

inputHandle (uint64 - InputHandle_t) –

SteamWorks:

DeactivateAllActionSetLayers

Input.EnableDeviceCallbacks()

🤖 Auto-generated binding

SteamWorks:

EnableDeviceCallbacks

Input.GetActionOriginFromXboxOrigin(inputHandle, eOrigin)

🤖 Auto-generated binding

Parameters:
  • inputHandle (uint64 - InputHandle_t) –

  • eOrigin (int - EXboxOrigin) –

Returns:

(int - EInputActionOrigin) Return value

SteamWorks:

GetActionOriginFromXboxOrigin

Input.GetActionSetHandle(pszActionSetName)

🤖 Auto-generated binding

Parameters:

pszActionSetName (str?) –

Returns:

(uint64 - InputActionSetHandle_t) Return value

SteamWorks:

GetActionSetHandle

Example:

local menuActionSet = Steam.Input.GetActionSetHandle('MenuControls')
local gameActionSet = Steam.Input.GetActionSetHandle('GameControls')
Input.GetActiveActionSetLayers(inputHandle)

🤖 Auto-generated binding

Parameters:

inputHandle (uint64 - InputHandle_t) –

Returns:

(int) Return value

Returns:

(uint64[]) handlesOut

SteamWorks:

GetActiveActionSetLayers

Signature differences from C++ API:

  • Parameter handlesOut is not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.

Input.GetAnalogActionData(inputHandle, analogActionHandle)

🤖 Auto-generated binding

Parameters:
  • inputHandle (uint64 - InputHandle_t) –

  • analogActionHandle (uint64 - InputAnalogActionHandle_t) –

Returns:

(InputAnalogActionData_t) Return value

SteamWorks:

GetAnalogActionData

Example:

local data = Steam.Input.GetAnalogActionData(controllerHandle, moveActionHandle)
player.move(data.x, data.y)
Input.GetAnalogActionHandle(pszActionName)

🤖 Auto-generated binding

Parameters:

pszActionName (str?) –

Returns:

(uint64 - InputAnalogActionHandle_t) Return value

SteamWorks:

GetAnalogActionHandle

Example:

local moveAction = Steam.Input.GetAnalogActionHandle('Move')
local aimAction = Steam.Input.GetAnalogActionHandle('Aim')
Input.GetAnalogActionOrigins(inputHandle, actionSetHandle, analogActionHandle)

🤖 Auto-generated binding

Parameters:
  • inputHandle (uint64 - InputHandle_t) –

  • actionSetHandle (uint64 - InputActionSetHandle_t) –

  • analogActionHandle (uint64 - InputAnalogActionHandle_t) –

Returns:

(int) Return value

Returns:

(int[]) originsOut

SteamWorks:

GetAnalogActionOrigins

Signature differences from C++ API:

  • Parameter originsOut is not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.

Input.GetConnectedControllers()

🤖 Auto-generated binding

Returns:

(int) Return value

Returns:

(uint64[]) handlesOut

SteamWorks:

GetConnectedControllers

Signature differences from C++ API:

  • Parameter handlesOut is not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.

Example:

local _, controllers = Steam.Input.GetConnectedControllers()
for _, handle in ipairs(controllers) do
    local inputType = Steam.Input.GetInputTypeForHandle(handle)
    print('Controller type:', inputType)
end
Input.GetControllerForGamepadIndex(nIndex)

🤖 Auto-generated binding

Parameters:

nIndex (int) –

Returns:

(uint64 - InputHandle_t) Return value

SteamWorks:

GetControllerForGamepadIndex

Input.GetCurrentActionSet(inputHandle)

🤖 Auto-generated binding

Parameters:

inputHandle (uint64 - InputHandle_t) –

Returns:

(uint64 - InputActionSetHandle_t) Return value

SteamWorks:

GetCurrentActionSet

Example:

local currentSet = Steam.Input.GetCurrentActionSet(controllerHandle)
Input.GetDeviceBindingRevision(inputHandle)

🤖 Auto-generated binding

Parameters:

inputHandle (uint64 - InputHandle_t) –

Returns:

(bool) Return value

Returns:

(int) pMajor

Returns:

(int) pMinor

SteamWorks:

GetDeviceBindingRevision

Signature differences from C++ API:

  • Parameter pMajor is not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.

  • Parameter pMinor is not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.

Input.GetDigitalActionData(inputHandle, digitalActionHandle)

🤖 Auto-generated binding

Parameters:
  • inputHandle (uint64 - InputHandle_t) –

  • digitalActionHandle (uint64 - InputDigitalActionHandle_t) –

Returns:

(InputDigitalActionData_t) Return value

SteamWorks:

GetDigitalActionData

Example:

local actionData = Steam.Input.GetDigitalActionData(controllerHandle, jumpActionHandle)
if actionData.bState then
    player.jump()
end
Input.GetDigitalActionHandle(pszActionName)

🤖 Auto-generated binding

Parameters:

pszActionName (str?) –

Returns:

(uint64 - InputDigitalActionHandle_t) Return value

SteamWorks:

GetDigitalActionHandle

Example:

local jumpAction = Steam.Input.GetDigitalActionHandle('Jump')
local attackAction = Steam.Input.GetDigitalActionHandle('Attack')
Input.GetDigitalActionOrigins(inputHandle, actionSetHandle, digitalActionHandle)

🤖 Auto-generated binding

Parameters:
  • inputHandle (uint64 - InputHandle_t) –

  • actionSetHandle (uint64 - InputActionSetHandle_t) –

  • digitalActionHandle (uint64 - InputDigitalActionHandle_t) –

Returns:

(int) Return value

Returns:

(int[]) originsOut

SteamWorks:

GetDigitalActionOrigins

Signature differences from C++ API:

  • Parameter originsOut is not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.

Input.GetGamepadIndexForController(ulinputHandle)

🤖 Auto-generated binding

Parameters:

ulinputHandle (uint64 - InputHandle_t) –

Returns:

(int) Return value

SteamWorks:

GetGamepadIndexForController

Input.GetGlyphForActionOrigin_Legacy(eOrigin)

🤖 Auto-generated binding

Parameters:

eOrigin (int - EInputActionOrigin) –

Returns:

(str) Return value

SteamWorks:

GetGlyphForActionOrigin_Legacy

Input.GetGlyphForXboxOrigin(eOrigin)

🤖 Auto-generated binding

Parameters:

eOrigin (int - EXboxOrigin) –

Returns:

(str) Return value

SteamWorks:

GetGlyphForXboxOrigin

Input.GetGlyphPNGForActionOrigin(eOrigin, eSize, unFlags)

🤖 Auto-generated binding

Parameters:
  • eOrigin (int - EInputActionOrigin) –

  • eSize (int - ESteamInputGlyphSize) –

  • unFlags (int) –

Returns:

(str) Return value

SteamWorks:

GetGlyphPNGForActionOrigin

Example:

local _, origins = Steam.Input.GetDigitalActionOrigins(controllerHandle, actionSetHandle, attackActionHandle)
if #origins > 0 then
    local glyphPath = Steam.Input.GetGlyphPNGForActionOrigin(origins[1], Steam.k_ESteamInputGlyphSize_Medium, 0)
    loadButtonIcon(glyphPath)
end
Input.GetGlyphSVGForActionOrigin(eOrigin, unFlags)

🤖 Auto-generated binding

Parameters:
  • eOrigin (int - EInputActionOrigin) –

  • unFlags (int) –

Returns:

(str) Return value

SteamWorks:

GetGlyphSVGForActionOrigin

Input.GetInputTypeForHandle(inputHandle)

🤖 Auto-generated binding

Parameters:

inputHandle (uint64 - InputHandle_t) –

Returns:

(int - ESteamInputType) Return value

SteamWorks:

GetInputTypeForHandle

Notes:

Input.GetMotionData(inputHandle)

🤖 Auto-generated binding

Parameters:

inputHandle (uint64 - InputHandle_t) –

Returns:

(InputMotionData_t) Return value

SteamWorks:

GetMotionData

Example:

local data = Steam.Input.GetMotionData(controllerHandle)
-- Use quaternion fields for gyro aiming
updateGyroAiming(data.rotQuatX, data.rotQuatY, data.rotQuatZ, data.rotQuatW)
Input.GetRemotePlaySessionID(inputHandle)

🤖 Auto-generated binding

Parameters:

inputHandle (uint64 - InputHandle_t) –

Returns:

(int) Return value

SteamWorks:

GetRemotePlaySessionID

Input.GetSessionInputConfigurationSettings()

🤖 Auto-generated binding

Returns:

(int) Return value

SteamWorks:

GetSessionInputConfigurationSettings

Input.GetStringForActionOrigin(eOrigin)

🤖 Auto-generated binding

Parameters:

eOrigin (int - EInputActionOrigin) –

Returns:

(str) Return value

SteamWorks:

GetStringForActionOrigin

Example:

local _, origins = Steam.Input.GetDigitalActionOrigins(controllerHandle, actionSetHandle, jumpActionHandle)
if #origins > 0 then
    local label = Steam.Input.GetStringForActionOrigin(origins[1])
    print('Press ' .. label .. ' to jump')
end
Input.GetStringForAnalogActionName(eActionHandle)

🤖 Auto-generated binding

Parameters:

eActionHandle (uint64 - InputAnalogActionHandle_t) –

Returns:

(str) Return value

SteamWorks:

GetStringForAnalogActionName

Input.GetStringForDigitalActionName(eActionHandle)

🤖 Auto-generated binding

Parameters:

eActionHandle (uint64 - InputDigitalActionHandle_t) –

Returns:

(str) Return value

SteamWorks:

GetStringForDigitalActionName

Input.GetStringForXboxOrigin(eOrigin)

🤖 Auto-generated binding

Parameters:

eOrigin (int - EXboxOrigin) –

Returns:

(str) Return value

SteamWorks:

GetStringForXboxOrigin

Input.Init(bExplicitlyCallRunFrame)

🤖 Auto-generated binding

Parameters:

bExplicitlyCallRunFrame (bool) –

Returns:

(bool) Return value

SteamWorks:

Init

Example:

Steam.Input.Init(false)
Input.Legacy_TriggerHapticPulse(inputHandle, eTargetPad, usDurationMicroSec)

🤖 Auto-generated binding

Parameters:
  • inputHandle (uint64 - InputHandle_t) –

  • eTargetPad (int - ESteamControllerPad) –

  • usDurationMicroSec (int - unsigned short) –

SteamWorks:

Legacy_TriggerHapticPulse

Input.Legacy_TriggerRepeatedHapticPulse(inputHandle, eTargetPad, usDurationMicroSec, usOffMicroSec, unRepeat, nFlags)

🤖 Auto-generated binding

Parameters:
  • inputHandle (uint64 - InputHandle_t) –

  • eTargetPad (int - ESteamControllerPad) –

  • usDurationMicroSec (int - unsigned short) –

  • usOffMicroSec (int - unsigned short) –

  • unRepeat (int - unsigned short) –

  • nFlags (int - unsigned int) –

SteamWorks:

Legacy_TriggerRepeatedHapticPulse

Input.RunFrame(bReservedValue)

🤖 Auto-generated binding

Parameters:

bReservedValue (bool) –

SteamWorks:

RunFrame

Example:

Steam.Input.RunFrame(false)
Input.SetInputActionManifestFilePath(pchInputActionManifestAbsolutePath)

🤖 Auto-generated binding

Parameters:

pchInputActionManifestAbsolutePath (str?) –

Returns:

(bool) Return value

SteamWorks:

SetInputActionManifestFilePath

Input.SetLEDColor(inputHandle, nColorR, nColorG, nColorB, nFlags)

🤖 Auto-generated binding

Parameters:
  • inputHandle (uint64 - InputHandle_t) –

  • nColorR (int) –

  • nColorG (int) –

  • nColorB (int) –

  • nFlags (int - unsigned int) –

SteamWorks:

SetLEDColor

Example:

-- Set controller LED to red when player is low on health
Steam.Input.SetLEDColor(controllerHandle, 255, 0, 0, 0)
Input.ShowBindingPanel(inputHandle)

🤖 Auto-generated binding

Parameters:

inputHandle (uint64 - InputHandle_t) –

Returns:

(bool) Return value

SteamWorks:

ShowBindingPanel

Example:

Steam.Input.ShowBindingPanel(controllerHandle)
Input.Shutdown()

🤖 Auto-generated binding

Returns:

(bool) Return value

SteamWorks:

Shutdown

Input.StopAnalogActionMomentum(inputHandle, eAction)

🤖 Auto-generated binding

Parameters:
  • inputHandle (uint64 - InputHandle_t) –

  • eAction (uint64 - InputAnalogActionHandle_t) –

SteamWorks:

StopAnalogActionMomentum

Input.TranslateActionOrigin(eDestinationInputType, eSourceOrigin)

🤖 Auto-generated binding

Parameters:
  • eDestinationInputType (int - ESteamInputType) –

  • eSourceOrigin (int - EInputActionOrigin) –

Returns:

(int - EInputActionOrigin) Return value

SteamWorks:

TranslateActionOrigin

Input.TriggerSimpleHapticEvent(inputHandle, eHapticLocation, nIntensity, nGainDB, nOtherIntensity, nOtherGainDB)

🤖 Auto-generated binding

Parameters:
  • inputHandle (uint64 - InputHandle_t) –

  • eHapticLocation (int - EControllerHapticLocation) –

  • nIntensity (int) –

  • nGainDB (str - char) –

  • nOtherIntensity (int) –

  • nOtherGainDB (str - char) –

SteamWorks:

TriggerSimpleHapticEvent

Input.TriggerVibration(inputHandle, usLeftSpeed, usRightSpeed)

🤖 Auto-generated binding

Parameters:
  • inputHandle (uint64 - InputHandle_t) –

  • usLeftSpeed (int - unsigned short) –

  • usRightSpeed (int - unsigned short) –

SteamWorks:

TriggerVibration

Example:

-- Brief vibration feedback on hit
Steam.Input.TriggerVibration(controllerHandle, 32000, 32000)
Input.TriggerVibrationExtended(inputHandle, usLeftSpeed, usRightSpeed, usLeftTriggerSpeed, usRightTriggerSpeed)

🤖 Auto-generated binding

Parameters:
  • inputHandle (uint64 - InputHandle_t) –

  • usLeftSpeed (int - unsigned short) –

  • usRightSpeed (int - unsigned short) –

  • usLeftTriggerSpeed (int - unsigned short) –

  • usRightTriggerSpeed (int - unsigned short) –

SteamWorks:

TriggerVibrationExtended

Unimplemented Methods

Input.EnableActionEventCallbacks()

Not implemented - unsupported type: SteamInputActionEventCallbackPointer

SteamWorks:

EnableActionEventCallbacks

Input.SetDualSenseTriggerEffect()

Not implemented - unsupported type: const ScePadTriggerEffectParam *

SteamWorks:

SetDualSenseTriggerEffect

Callbacks

Input.OnSteamInputDeviceConnected()

Callback for SteamInputDeviceConnected_t

callback(data) receives:

  • data.m_ulConnectedDeviceHandle (uint64 - InputHandle_t)

Example:

function Steam.Input.OnSteamInputDeviceConnected(data)
    print('Controller connected:', data.m_ulConnectedDeviceHandle)
    rebuildControllerList()
end
Input.OnSteamInputDeviceDisconnected()

Callback for SteamInputDeviceDisconnected_t

callback(data) receives:

  • data.m_ulDisconnectedDeviceHandle (uint64 - InputHandle_t)

Example:

function Steam.Input.OnSteamInputDeviceDisconnected(data)
    print('Controller disconnected:', data.m_ulDisconnectedDeviceHandle)
    rebuildControllerList()
end
Input.OnSteamInputConfigurationLoaded()

Callback for SteamInputConfigurationLoaded_t

callback(data) receives:

  • data.m_unAppID (int - AppId_t)

  • data.m_ulDeviceHandle (uint64 - InputHandle_t)

  • data.m_ulMappingCreator (uint64 - CSteamID)

  • data.m_unMajorRevision (int)

  • data.m_unMinorRevision (int)

  • data.m_bUsesSteamInputAPI (bool)

  • data.m_bUsesGamepadAPI (bool)

Input.OnSteamInputGamepadSlotChange()

Callback for SteamInputGamepadSlotChange_t

callback(data) receives:

  • data.m_unAppID (int - AppId_t)

  • data.m_ulDeviceHandle (uint64 - InputHandle_t)

  • data.m_eDeviceType (int - ESteamInputType)

  • data.m_nOldGamepadSlot (int)

  • data.m_nNewGamepadSlot (int)