ISteamController

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

Function Reference

Controller.ActivateActionSet(controllerHandle, actionSetHandle)

🤖 Auto-generated binding

Parameters:
  • controllerHandle (uint64 - ControllerHandle_t) –

  • actionSetHandle (uint64 - ControllerActionSetHandle_t) –

SteamWorks:

ActivateActionSet

Example:

local gameplaySet = Steam.Controller.GetActionSetHandle('GameControls')
Steam.Controller.ActivateActionSet(controllerHandle, gameplaySet)
Controller.ActivateActionSetLayer(controllerHandle, actionSetLayerHandle)

🤖 Auto-generated binding

Parameters:
  • controllerHandle (uint64 - ControllerHandle_t) –

  • actionSetLayerHandle (uint64 - ControllerActionSetHandle_t) –

SteamWorks:

ActivateActionSetLayer

Controller.DeactivateActionSetLayer(controllerHandle, actionSetLayerHandle)

🤖 Auto-generated binding

Parameters:
  • controllerHandle (uint64 - ControllerHandle_t) –

  • actionSetLayerHandle (uint64 - ControllerActionSetHandle_t) –

SteamWorks:

DeactivateActionSetLayer

Controller.DeactivateAllActionSetLayers(controllerHandle)

🤖 Auto-generated binding

Parameters:

controllerHandle (uint64 - ControllerHandle_t) –

SteamWorks:

DeactivateAllActionSetLayers

Controller.GetActionOriginFromXboxOrigin(controllerHandle, eOrigin)

🤖 Auto-generated binding

Parameters:
  • controllerHandle (uint64 - ControllerHandle_t) –

  • eOrigin (int - EXboxOrigin) –

Returns:

(int - EControllerActionOrigin) Return value

SteamWorks:

GetActionOriginFromXboxOrigin

Controller.GetActionSetHandle(pszActionSetName)

🤖 Auto-generated binding

Parameters:

pszActionSetName (str?) –

Returns:

(uint64 - ControllerActionSetHandle_t) Return value

SteamWorks:

GetActionSetHandle

Example:

local gameplaySet = Steam.Controller.GetActionSetHandle('GameControls')
Controller.GetActiveActionSetLayers(controllerHandle)

🤖 Auto-generated binding

Parameters:

controllerHandle (uint64 - ControllerHandle_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.

Controller.GetAnalogActionData(controllerHandle, analogActionHandle)

🤖 Auto-generated binding

Parameters:
  • controllerHandle (uint64 - ControllerHandle_t) –

  • analogActionHandle (uint64 - ControllerAnalogActionHandle_t) –

Returns:

(InputAnalogActionData_t) Return value

SteamWorks:

GetAnalogActionData

Example:

local moveHandle = Steam.Controller.GetAnalogActionHandle('Move')
local data = Steam.Controller.GetAnalogActionData(controllerHandle, moveHandle)
player.setVelocity(data.x * speed, data.y * speed)
Controller.GetAnalogActionHandle(pszActionName)

🤖 Auto-generated binding

Parameters:

pszActionName (str?) –

Returns:

(uint64 - ControllerAnalogActionHandle_t) Return value

SteamWorks:

GetAnalogActionHandle

Example:

local moveHandle = Steam.Controller.GetAnalogActionHandle('Move')
Controller.GetAnalogActionOrigins(controllerHandle, actionSetHandle, analogActionHandle)

🤖 Auto-generated binding

Parameters:
  • controllerHandle (uint64 - ControllerHandle_t) –

  • actionSetHandle (uint64 - ControllerActionSetHandle_t) –

  • analogActionHandle (uint64 - ControllerAnalogActionHandle_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.

Controller.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.Controller.GetConnectedControllers()
print('Connected controllers:', #controllers)
Controller.GetControllerBindingRevision(controllerHandle)

🤖 Auto-generated binding

Parameters:

controllerHandle (uint64 - ControllerHandle_t) –

Returns:

(bool) Return value

Returns:

(int) pMajor

Returns:

(int) pMinor

SteamWorks:

GetControllerBindingRevision

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.

Controller.GetControllerForGamepadIndex(nIndex)

🤖 Auto-generated binding

Parameters:

nIndex (int) –

Returns:

(uint64 - ControllerHandle_t) Return value

SteamWorks:

GetControllerForGamepadIndex

Controller.GetCurrentActionSet(controllerHandle)

🤖 Auto-generated binding

Parameters:

controllerHandle (uint64 - ControllerHandle_t) –

Returns:

(uint64 - ControllerActionSetHandle_t) Return value

SteamWorks:

GetCurrentActionSet

Controller.GetDigitalActionData(controllerHandle, digitalActionHandle)

🤖 Auto-generated binding

Parameters:
  • controllerHandle (uint64 - ControllerHandle_t) –

  • digitalActionHandle (uint64 - ControllerDigitalActionHandle_t) –

Returns:

(InputDigitalActionData_t) Return value

SteamWorks:

GetDigitalActionData

Example:

local jumpHandle = Steam.Controller.GetDigitalActionHandle('Jump')
local data = Steam.Controller.GetDigitalActionData(controllerHandle, jumpHandle)
if data.bState then
    player.jump()
end
Controller.GetDigitalActionHandle(pszActionName)

🤖 Auto-generated binding

Parameters:

pszActionName (str?) –

Returns:

(uint64 - ControllerDigitalActionHandle_t) Return value

SteamWorks:

GetDigitalActionHandle

Example:

local jumpHandle = Steam.Controller.GetDigitalActionHandle('Jump')
Controller.GetDigitalActionOrigins(controllerHandle, actionSetHandle, digitalActionHandle)

🤖 Auto-generated binding

Parameters:
  • controllerHandle (uint64 - ControllerHandle_t) –

  • actionSetHandle (uint64 - ControllerActionSetHandle_t) –

  • digitalActionHandle (uint64 - ControllerDigitalActionHandle_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.

Controller.GetGamepadIndexForController(ulControllerHandle)

🤖 Auto-generated binding

Parameters:

ulControllerHandle (uint64 - ControllerHandle_t) –

Returns:

(int) Return value

SteamWorks:

GetGamepadIndexForController

Controller.GetGlyphForActionOrigin(eOrigin)

🤖 Auto-generated binding

Parameters:

eOrigin (int - EControllerActionOrigin) –

Returns:

(str) Return value

SteamWorks:

GetGlyphForActionOrigin

Controller.GetGlyphForXboxOrigin(eOrigin)

🤖 Auto-generated binding

Parameters:

eOrigin (int - EXboxOrigin) –

Returns:

(str) Return value

SteamWorks:

GetGlyphForXboxOrigin

Controller.GetInputTypeForHandle(controllerHandle)

🤖 Auto-generated binding

Parameters:

controllerHandle (uint64 - ControllerHandle_t) –

Returns:

(int - ESteamInputType) Return value

SteamWorks:

GetInputTypeForHandle

Example:

local inputType = Steam.Controller.GetInputTypeForHandle(controllerHandle)
if inputType == Steam.k_ESteamInputType_PS4Controller then
    print("PS4 controller!")
end
Controller.GetMotionData(controllerHandle)

🤖 Auto-generated binding

Parameters:

controllerHandle (uint64 - ControllerHandle_t) –

Returns:

(InputMotionData_t) Return value

SteamWorks:

GetMotionData

Controller.GetStringForActionOrigin(eOrigin)

🤖 Auto-generated binding

Parameters:

eOrigin (int - EControllerActionOrigin) –

Returns:

(str) Return value

SteamWorks:

GetStringForActionOrigin

Controller.GetStringForXboxOrigin(eOrigin)

🤖 Auto-generated binding

Parameters:

eOrigin (int - EXboxOrigin) –

Returns:

(str) Return value

SteamWorks:

GetStringForXboxOrigin

Controller.Init()

🤖 Auto-generated binding

Returns:

(bool) Return value

SteamWorks:

Init

Example:

Steam.Controller.Init()
Controller.RunFrame()

🤖 Auto-generated binding

SteamWorks:

RunFrame

Example:

-- Call once per frame in your game loop
Steam.Controller.RunFrame()
Controller.SetLEDColor(controllerHandle, nColorR, nColorG, nColorB, nFlags)

🤖 Auto-generated binding

Parameters:
  • controllerHandle (uint64 - ControllerHandle_t) –

  • nColorR (int) –

  • nColorG (int) –

  • nColorB (int) –

  • nFlags (int - unsigned int) –

SteamWorks:

SetLEDColor

Example:

-- Red LED for low health
Steam.Controller.SetLEDColor(controllerHandle, 255, 0, 0, 0)
Controller.ShowBindingPanel(controllerHandle)

🤖 Auto-generated binding

Parameters:

controllerHandle (uint64 - ControllerHandle_t) –

Returns:

(bool) Return value

SteamWorks:

ShowBindingPanel

Example:

Steam.Controller.ShowBindingPanel(controllerHandle)
Controller.Shutdown()

🤖 Auto-generated binding

Returns:

(bool) Return value

SteamWorks:

Shutdown

Example:

Steam.Controller.Shutdown()
Controller.StopAnalogActionMomentum(controllerHandle, eAction)

🤖 Auto-generated binding

Parameters:
  • controllerHandle (uint64 - ControllerHandle_t) –

  • eAction (uint64 - ControllerAnalogActionHandle_t) –

SteamWorks:

StopAnalogActionMomentum

Controller.TranslateActionOrigin(eDestinationInputType, eSourceOrigin)

🤖 Auto-generated binding

Parameters:
  • eDestinationInputType (int - ESteamInputType) –

  • eSourceOrigin (int - EControllerActionOrigin) –

Returns:

(int - EControllerActionOrigin) Return value

SteamWorks:

TranslateActionOrigin

Controller.TriggerHapticPulse(controllerHandle, eTargetPad, usDurationMicroSec)

🤖 Auto-generated binding

Parameters:
  • controllerHandle (uint64 - ControllerHandle_t) –

  • eTargetPad (int - ESteamControllerPad) –

  • usDurationMicroSec (int - unsigned short) –

SteamWorks:

TriggerHapticPulse

Example:

Steam.Controller.TriggerHapticPulse(controllerHandle, Steam.k_ESteamControllerPad_Right, 1000)
Controller.TriggerRepeatedHapticPulse(controllerHandle, eTargetPad, usDurationMicroSec, usOffMicroSec, unRepeat, nFlags)

🤖 Auto-generated binding

Parameters:
  • controllerHandle (uint64 - ControllerHandle_t) –

  • eTargetPad (int - ESteamControllerPad) –

  • usDurationMicroSec (int - unsigned short) –

  • usOffMicroSec (int - unsigned short) –

  • unRepeat (int - unsigned short) –

  • nFlags (int - unsigned int) –

SteamWorks:

TriggerRepeatedHapticPulse

Controller.TriggerVibration(controllerHandle, usLeftSpeed, usRightSpeed)

🤖 Auto-generated binding

Parameters:
  • controllerHandle (uint64 - ControllerHandle_t) –

  • usLeftSpeed (int - unsigned short) –

  • usRightSpeed (int - unsigned short) –

SteamWorks:

TriggerVibration

Example:

Steam.Controller.TriggerVibration(controllerHandle, 16000, 16000)