################ 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 ----------------- * :func:`Controller.ActivateActionSet` * :func:`Controller.ActivateActionSetLayer` * :func:`Controller.DeactivateActionSetLayer` * :func:`Controller.DeactivateAllActionSetLayers` * :func:`Controller.GetActionOriginFromXboxOrigin` * :func:`Controller.GetActionSetHandle` * :func:`Controller.GetActiveActionSetLayers` * :func:`Controller.GetAnalogActionData` * :func:`Controller.GetAnalogActionHandle` * :func:`Controller.GetAnalogActionOrigins` * :func:`Controller.GetConnectedControllers` * :func:`Controller.GetControllerBindingRevision` * :func:`Controller.GetControllerForGamepadIndex` * :func:`Controller.GetCurrentActionSet` * :func:`Controller.GetDigitalActionData` * :func:`Controller.GetDigitalActionHandle` * :func:`Controller.GetDigitalActionOrigins` * :func:`Controller.GetGamepadIndexForController` * :func:`Controller.GetGlyphForActionOrigin` * :func:`Controller.GetGlyphForXboxOrigin` * :func:`Controller.GetInputTypeForHandle` * :func:`Controller.GetMotionData` * :func:`Controller.GetStringForActionOrigin` * :func:`Controller.GetStringForXboxOrigin` * :func:`Controller.Init` * :func:`Controller.RunFrame` * :func:`Controller.SetLEDColor` * :func:`Controller.ShowBindingPanel` * :func:`Controller.Shutdown` * :func:`Controller.StopAnalogActionMomentum` * :func:`Controller.TranslateActionOrigin` * :func:`Controller.TriggerHapticPulse` * :func:`Controller.TriggerRepeatedHapticPulse` * :func:`Controller.TriggerVibration` Function Reference ------------------ .. function:: Controller.ActivateActionSet(controllerHandle, actionSetHandle) 🤖 **Auto-generated binding** :param uint64 - ControllerHandle_t controllerHandle: :param uint64 - ControllerActionSetHandle_t actionSetHandle: :SteamWorks: `ActivateActionSet `_ **Example**:: local gameplaySet = Steam.Controller.GetActionSetHandle('GameControls') Steam.Controller.ActivateActionSet(controllerHandle, gameplaySet) .. function:: Controller.ActivateActionSetLayer(controllerHandle, actionSetLayerHandle) 🤖 **Auto-generated binding** :param uint64 - ControllerHandle_t controllerHandle: :param uint64 - ControllerActionSetHandle_t actionSetLayerHandle: :SteamWorks: `ActivateActionSetLayer `_ .. function:: Controller.DeactivateActionSetLayer(controllerHandle, actionSetLayerHandle) 🤖 **Auto-generated binding** :param uint64 - ControllerHandle_t controllerHandle: :param uint64 - ControllerActionSetHandle_t actionSetLayerHandle: :SteamWorks: `DeactivateActionSetLayer `_ .. function:: Controller.DeactivateAllActionSetLayers(controllerHandle) 🤖 **Auto-generated binding** :param uint64 - ControllerHandle_t controllerHandle: :SteamWorks: `DeactivateAllActionSetLayers `_ .. function:: Controller.GetActionOriginFromXboxOrigin(controllerHandle, eOrigin) 🤖 **Auto-generated binding** :param uint64 - ControllerHandle_t controllerHandle: :param int - EXboxOrigin eOrigin: :returns: (int - EControllerActionOrigin) Return value :SteamWorks: `GetActionOriginFromXboxOrigin `_ .. function:: Controller.GetActionSetHandle(pszActionSetName) 🤖 **Auto-generated binding** :param str? pszActionSetName: :returns: (uint64 - ControllerActionSetHandle_t) Return value :SteamWorks: `GetActionSetHandle `_ **Example**:: local gameplaySet = Steam.Controller.GetActionSetHandle('GameControls') .. function:: Controller.GetActiveActionSetLayers(controllerHandle) 🤖 **Auto-generated binding** :param uint64 - ControllerHandle_t controllerHandle: :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. .. function:: Controller.GetAnalogActionData(controllerHandle, analogActionHandle) 🤖 **Auto-generated binding** :param uint64 - ControllerHandle_t controllerHandle: :param uint64 - ControllerAnalogActionHandle_t analogActionHandle: :returns: (:ref:`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) .. function:: Controller.GetAnalogActionHandle(pszActionName) 🤖 **Auto-generated binding** :param str? pszActionName: :returns: (uint64 - ControllerAnalogActionHandle_t) Return value :SteamWorks: `GetAnalogActionHandle `_ **Example**:: local moveHandle = Steam.Controller.GetAnalogActionHandle('Move') .. function:: Controller.GetAnalogActionOrigins(controllerHandle, actionSetHandle, analogActionHandle) 🤖 **Auto-generated binding** :param uint64 - ControllerHandle_t controllerHandle: :param uint64 - ControllerActionSetHandle_t actionSetHandle: :param uint64 - ControllerAnalogActionHandle_t analogActionHandle: :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. .. function:: 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) .. function:: Controller.GetControllerBindingRevision(controllerHandle) 🤖 **Auto-generated binding** :param uint64 - ControllerHandle_t controllerHandle: :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. .. function:: Controller.GetControllerForGamepadIndex(nIndex) 🤖 **Auto-generated binding** :param int nIndex: :returns: (uint64 - ControllerHandle_t) Return value :SteamWorks: `GetControllerForGamepadIndex `_ .. function:: Controller.GetCurrentActionSet(controllerHandle) 🤖 **Auto-generated binding** :param uint64 - ControllerHandle_t controllerHandle: :returns: (uint64 - ControllerActionSetHandle_t) Return value :SteamWorks: `GetCurrentActionSet `_ .. function:: Controller.GetDigitalActionData(controllerHandle, digitalActionHandle) 🤖 **Auto-generated binding** :param uint64 - ControllerHandle_t controllerHandle: :param uint64 - ControllerDigitalActionHandle_t digitalActionHandle: :returns: (:ref:`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 .. function:: Controller.GetDigitalActionHandle(pszActionName) 🤖 **Auto-generated binding** :param str? pszActionName: :returns: (uint64 - ControllerDigitalActionHandle_t) Return value :SteamWorks: `GetDigitalActionHandle `_ **Example**:: local jumpHandle = Steam.Controller.GetDigitalActionHandle('Jump') .. function:: Controller.GetDigitalActionOrigins(controllerHandle, actionSetHandle, digitalActionHandle) 🤖 **Auto-generated binding** :param uint64 - ControllerHandle_t controllerHandle: :param uint64 - ControllerActionSetHandle_t actionSetHandle: :param uint64 - ControllerDigitalActionHandle_t digitalActionHandle: :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. .. function:: Controller.GetGamepadIndexForController(ulControllerHandle) 🤖 **Auto-generated binding** :param uint64 - ControllerHandle_t ulControllerHandle: :returns: (int) Return value :SteamWorks: `GetGamepadIndexForController `_ .. function:: Controller.GetGlyphForActionOrigin(eOrigin) 🤖 **Auto-generated binding** :param int - EControllerActionOrigin eOrigin: :returns: (str) Return value :SteamWorks: `GetGlyphForActionOrigin `_ .. function:: Controller.GetGlyphForXboxOrigin(eOrigin) 🤖 **Auto-generated binding** :param int - EXboxOrigin eOrigin: :returns: (str) Return value :SteamWorks: `GetGlyphForXboxOrigin `_ .. function:: Controller.GetInputTypeForHandle(controllerHandle) 🤖 **Auto-generated binding** :param uint64 - ControllerHandle_t controllerHandle: :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 .. function:: Controller.GetMotionData(controllerHandle) 🤖 **Auto-generated binding** :param uint64 - ControllerHandle_t controllerHandle: :returns: (:ref:`InputMotionData_t `) Return value :SteamWorks: `GetMotionData `_ .. function:: Controller.GetStringForActionOrigin(eOrigin) 🤖 **Auto-generated binding** :param int - EControllerActionOrigin eOrigin: :returns: (str) Return value :SteamWorks: `GetStringForActionOrigin `_ .. function:: Controller.GetStringForXboxOrigin(eOrigin) 🤖 **Auto-generated binding** :param int - EXboxOrigin eOrigin: :returns: (str) Return value :SteamWorks: `GetStringForXboxOrigin `_ .. function:: Controller.Init() 🤖 **Auto-generated binding** :returns: (bool) Return value :SteamWorks: `Init `_ **Example**:: Steam.Controller.Init() .. function:: Controller.RunFrame() 🤖 **Auto-generated binding** :SteamWorks: `RunFrame `_ **Example**:: -- Call once per frame in your game loop Steam.Controller.RunFrame() .. function:: Controller.SetLEDColor(controllerHandle, nColorR, nColorG, nColorB, nFlags) 🤖 **Auto-generated binding** :param uint64 - ControllerHandle_t controllerHandle: :param int nColorR: :param int nColorG: :param int nColorB: :param int - unsigned int nFlags: :SteamWorks: `SetLEDColor `_ **Example**:: -- Red LED for low health Steam.Controller.SetLEDColor(controllerHandle, 255, 0, 0, 0) .. function:: Controller.ShowBindingPanel(controllerHandle) 🤖 **Auto-generated binding** :param uint64 - ControllerHandle_t controllerHandle: :returns: (bool) Return value :SteamWorks: `ShowBindingPanel `_ **Example**:: Steam.Controller.ShowBindingPanel(controllerHandle) .. function:: Controller.Shutdown() 🤖 **Auto-generated binding** :returns: (bool) Return value :SteamWorks: `Shutdown `_ **Example**:: Steam.Controller.Shutdown() .. function:: Controller.StopAnalogActionMomentum(controllerHandle, eAction) 🤖 **Auto-generated binding** :param uint64 - ControllerHandle_t controllerHandle: :param uint64 - ControllerAnalogActionHandle_t eAction: :SteamWorks: `StopAnalogActionMomentum `_ .. function:: Controller.TranslateActionOrigin(eDestinationInputType, eSourceOrigin) 🤖 **Auto-generated binding** :param int - ESteamInputType eDestinationInputType: :param int - EControllerActionOrigin eSourceOrigin: :returns: (int - EControllerActionOrigin) Return value :SteamWorks: `TranslateActionOrigin `_ .. function:: Controller.TriggerHapticPulse(controllerHandle, eTargetPad, usDurationMicroSec) 🤖 **Auto-generated binding** :param uint64 - ControllerHandle_t controllerHandle: :param int - ESteamControllerPad eTargetPad: :param int - unsigned short usDurationMicroSec: :SteamWorks: `TriggerHapticPulse `_ **Example**:: Steam.Controller.TriggerHapticPulse(controllerHandle, Steam.k_ESteamControllerPad_Right, 1000) .. function:: Controller.TriggerRepeatedHapticPulse(controllerHandle, eTargetPad, usDurationMicroSec, usOffMicroSec, unRepeat, nFlags) 🤖 **Auto-generated binding** :param uint64 - ControllerHandle_t controllerHandle: :param int - ESteamControllerPad eTargetPad: :param int - unsigned short usDurationMicroSec: :param int - unsigned short usOffMicroSec: :param int - unsigned short unRepeat: :param int - unsigned int nFlags: :SteamWorks: `TriggerRepeatedHapticPulse `_ .. function:: Controller.TriggerVibration(controllerHandle, usLeftSpeed, usRightSpeed) 🤖 **Auto-generated binding** :param uint64 - ControllerHandle_t controllerHandle: :param int - unsigned short usLeftSpeed: :param int - unsigned short usRightSpeed: :SteamWorks: `TriggerVibration `_ **Example**:: Steam.Controller.TriggerVibration(controllerHandle, 16000, 16000)