Steamworks Documentation
Activators are a powerful tool for controlling how, when, and how often an input responds to you.

Example: Repeat "Down" on Hold

Have you ever played, say, a menu-driven RPG and gotten frustrated that you had to repeatedly push "down" to scroll through a list of hundreds of items, one at a time?

Activators let you define simple macros like, "If I hold DOWN for 1 second, repeat DOWN every 0.1 seconds thereafter until release." Ta-da! Now you can scroll through that list in a jiffy just by holding down the button, even though the developers never implemented it!

So here we are in the configuration menu for said hypothetical RPG -- the Dpad is already properly bound, but we want to add an activator to the "Dpad Down" input:


Selecting that, we see this menu, and select "Show Activators."


From here we are taken to the activators menu and have a variety of settings at our disposal:


So first thing's first -- let's select "Long Press" as our activation type. This is what will trigger the special behavior.


By default, the activator's binding is set to the original input (Dpad Down), which we'll leave because that's what we want. We'll also leave "Long Press Time" on the default value, 0.15 seconds.

We will, however, set "Hold To Repeat (Turbo)" to "On":


We'll leave the "Repeat Rate" at it's default value, 0.9 seconds. Now, whenever Dpad down is pressed and held for longer than 0.15 seconds, every 0.9 seconds therafter it will pulse an additional Dpad down event until the input is released. These timings can of course be adjusted to taste.

If you want to add several different activators, you can do that by selecting "Add Activator." You can remove an activator by selecting "None - Remove Activator" as the activation type. There doesn't seem to be a limit to how many activators you can add, but any more than five will start to run off of the interface.

Activator Settings

Let's break down all the settings available in the activator system. These settings are always available regardless of activation type:

Activation TypeRegular Press, Double Press, Long Press, Start Press, Release Press, Chorded Press, None - Remove ActivatorActivators determine how the input responds to you. Is it a regular press, a long press, a double tap? Select them here or remove them.
BindingDigital input/actionYou can bind one or more actions to this activator, such as keyboard, mouse, and gamepad buttons or native actions.
ToggleOn, OffToggle will make this activator continue to be active after releasing it until it is pressed again.
Fire Start Delay0.0-1.0The activator will wait for this period of time after the button has been pressed before activating. This delay will offset the entire period the button is held, so if no end delay is set, the total period of time the button is held will be the same, just delayed.
Fire End Delay0.0-1.0The activator will wait for this period of time after the button has been released before deactivating. The end delay will make a button be active for longer than it was physically held.
Haptics IntensityOff, Low, Medium, HighThis defines the strength of haptics on activation and deactivation of the activator.
Cycle BindingOn, OffCycle bindings will make this activator cycle through each of its bindings in order each time it is activated. Order is determined by the order they were selected in the button binding process.

Here's a description of the various activation types:

Activation TypeDescription
Regular PressRegular Press Activator is the default type. When you press the button, it activates and stays on until you release it.
Double PressDouble Press Activator requires a quick double tap of the input to activate. If held on the second press, it will remain pressed. Any interruptable activators on the same button will not fire if a double press is fired, and will be paused until the double press time has passed.
Long PressLong Press Activator requires the button to be held for a period of time to activate. Once the long press time has passed, it will stay active until you release it. Any interruptable activators on the same button will not fire if a long press is fired, and will be paused until the button is released while under the long press time.
Start PressStart Press Activator activates when the button is pressed. It immediately deactivates even if the button continues to be held. This is useful, particularly when used with a Release Press Activator, to convert a Toggle into a Hold, such as a Toggle Crouch action.
Release PressRelease Press Activator activates and deactivates when the button is released.
Chorded PressLike the regular press, but additionally, a specific button must be held down at the same time that the regular activation input is pressed. Other bindings for the chorded button will continue to fire.
None - Remove ActivatorSelecting this option will remove the activator and any bindings it contains.

These settings are specific to certain activation types:

NameValuesActivation TypeDescription
InterruptableOff, OnRegular Press, Release PressInterruptable activators can be paused or stopped by other activators. For example, a long press activator can interrupt a full press activator so the full press only fires if the long press doesn't. If not interruptable, it ignores the other activator in regards to behavior.
Double Tap Time0.0-1.0Double PressDetermines how fast you must double tap to activate the activator. Any interruptable activators also on this input will not fire until this time has passed.
Long Press Time0.0-1.0Long PressDetermines how long you must hold the button to activate the activator. Any interruptable activators also on this input will not be activated until the button is released prior to this time and they will not be activated at all if the Long Press is activated.
Hold to Repeat (Turbo)On, OffRegular Press, Double Press, Long PressTurbo will make this activator activate and deactivate at a rapid pace while held. Can be used in combination with cycle bindings.
Repeat Rate0.0-1.0Regular Press, Double Press, Long PressThe speed of turbo will be set by this slider.