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:
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:
- Input.BNewDataAvailable()
🤖 Auto-generated binding
- Returns:
(bool) Return value
- SteamWorks:
- Input.BWaitForData(bWaitForever, unTimeout)
🤖 Auto-generated binding
- Parameters:
bWaitForever (bool) –
unTimeout (int) –
- Returns:
(bool) Return value
- SteamWorks:
- Input.DeactivateActionSetLayer(inputHandle, actionSetLayerHandle)
🤖 Auto-generated binding
- Parameters:
inputHandle (uint64 - InputHandle_t) –
actionSetLayerHandle (uint64 - InputActionSetHandle_t) –
- SteamWorks:
- Input.DeactivateAllActionSetLayers(inputHandle)
🤖 Auto-generated binding
- Parameters:
inputHandle (uint64 - InputHandle_t) –
- SteamWorks:
- Input.EnableDeviceCallbacks()
🤖 Auto-generated binding
- SteamWorks:
- Input.GetActionOriginFromXboxOrigin(inputHandle, eOrigin)
🤖 Auto-generated binding
- Parameters:
inputHandle (uint64 - InputHandle_t) –
eOrigin (int - EXboxOrigin) –
- Returns:
(int - EInputActionOrigin) Return value
- SteamWorks:
- Input.GetActionSetHandle(pszActionSetName)
🤖 Auto-generated binding
- Parameters:
pszActionSetName (str?) –
- Returns:
(uint64 - InputActionSetHandle_t) Return value
- SteamWorks:
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:
Signature differences from C++ API:
Parameter
handlesOutis 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:
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:
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:
Signature differences from C++ API:
Parameter
originsOutis 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:
Signature differences from C++ API:
Parameter
handlesOutis 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:
- Input.GetCurrentActionSet(inputHandle)
🤖 Auto-generated binding
- Parameters:
inputHandle (uint64 - InputHandle_t) –
- Returns:
(uint64 - InputActionSetHandle_t) Return value
- SteamWorks:
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:
Signature differences from C++ API:
Parameter
pMajoris not a parameter in Lua — it is an output-only pointer in C++ and is returned as an additional return value.Parameter
pMinoris 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:
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:
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:
Signature differences from C++ API:
Parameter
originsOutis 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:
- Input.GetGlyphForActionOrigin_Legacy(eOrigin)
🤖 Auto-generated binding
- Parameters:
eOrigin (int - EInputActionOrigin) –
- Returns:
(str) Return value
- SteamWorks:
- Input.GetGlyphForXboxOrigin(eOrigin)
🤖 Auto-generated binding
- Parameters:
eOrigin (int - EXboxOrigin) –
- Returns:
(str) Return value
- SteamWorks:
- Input.GetGlyphPNGForActionOrigin(eOrigin, eSize, unFlags)
🤖 Auto-generated binding
- Parameters:
eOrigin (int - EInputActionOrigin) –
eSize (int - ESteamInputGlyphSize) –
unFlags (int) –
- Returns:
(str) Return value
- SteamWorks:
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:
- Input.GetInputTypeForHandle(inputHandle)
🤖 Auto-generated binding
- Parameters:
inputHandle (uint64 - InputHandle_t) –
- Returns:
(int - ESteamInputType) Return value
- SteamWorks:
Notes:
See
Input.GetConnectedControllers()’s example.
- Input.GetMotionData(inputHandle)
🤖 Auto-generated binding
- Parameters:
inputHandle (uint64 - InputHandle_t) –
- Returns:
(InputMotionData_t) Return value
- SteamWorks:
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:
- Input.GetSessionInputConfigurationSettings()
🤖 Auto-generated binding
- Returns:
(int) Return value
- SteamWorks:
- Input.GetStringForActionOrigin(eOrigin)
🤖 Auto-generated binding
- Parameters:
eOrigin (int - EInputActionOrigin) –
- Returns:
(str) Return value
- SteamWorks:
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:
- Input.GetStringForDigitalActionName(eActionHandle)
🤖 Auto-generated binding
- Parameters:
eActionHandle (uint64 - InputDigitalActionHandle_t) –
- Returns:
(str) Return value
- SteamWorks:
- Input.GetStringForXboxOrigin(eOrigin)
🤖 Auto-generated binding
- Parameters:
eOrigin (int - EXboxOrigin) –
- Returns:
(str) Return value
- SteamWorks:
- Input.Init(bExplicitlyCallRunFrame)
🤖 Auto-generated binding
- Parameters:
bExplicitlyCallRunFrame (bool) –
- Returns:
(bool) Return value
- SteamWorks:
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:
- 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:
- Input.RunFrame(bReservedValue)
🤖 Auto-generated binding
- Parameters:
bReservedValue (bool) –
- SteamWorks:
Example:
Steam.Input.RunFrame(false)
- Input.SetInputActionManifestFilePath(pchInputActionManifestAbsolutePath)
🤖 Auto-generated binding
- Parameters:
pchInputActionManifestAbsolutePath (str?) –
- Returns:
(bool) Return value
- SteamWorks:
- 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:
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:
Example:
Steam.Input.ShowBindingPanel(controllerHandle)
- Input.StopAnalogActionMomentum(inputHandle, eAction)
🤖 Auto-generated binding
- Parameters:
inputHandle (uint64 - InputHandle_t) –
eAction (uint64 - InputAnalogActionHandle_t) –
- SteamWorks:
- Input.TranslateActionOrigin(eDestinationInputType, eSourceOrigin)
🤖 Auto-generated binding
- Parameters:
eDestinationInputType (int - ESteamInputType) –
eSourceOrigin (int - EInputActionOrigin) –
- Returns:
(int - EInputActionOrigin) Return value
- SteamWorks:
- 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:
- Input.TriggerVibration(inputHandle, usLeftSpeed, usRightSpeed)
🤖 Auto-generated binding
- Parameters:
inputHandle (uint64 - InputHandle_t) –
usLeftSpeed (int - unsigned short) –
usRightSpeed (int - unsigned short) –
- SteamWorks:
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:
Unimplemented Methods
- Input.EnableActionEventCallbacks()
✋ Not implemented - unsupported type: SteamInputActionEventCallbackPointer
- SteamWorks:
- Input.SetDualSenseTriggerEffect()
✋ Not implemented - unsupported type: const ScePadTriggerEffectParam *
- SteamWorks:
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)