Skip to content
hifihedgehog edited this page Apr 18, 2026 · 36 revisions

Macros

Macros trigger action sequences from controller inputs. Button combos, stick deflection, D-pad directions, or no trigger at all. Actions include button presses, keystrokes, mouse control, delays, volume changes, and axis overrides. Configured per slot on the Macros tab.

Macros tab showing trigger setup and action list


Creating a Macro

  1. Open a slot and switch to the Macros tab.
  2. Click Add and name the macro.
  3. Set up a trigger. The input combination that activates it.
  4. Add actions. The steps that execute when it fires.
  5. Configure fire mode, repeat, and other options.

Each macro has an enable checkbox. Disabled macros stay in settings but never fire.


Trigger Setup

Triggers combine buttons, axes (sticks/triggers), and D-pad directions. All must be active simultaneously for the macro to fire.

Trigger Source

Choose where to read the trigger before recording:

Source Reads From Best For
Output Controller Virtual controller's mapped output (A, B, X, Y, LB, etc.) Most setups. Device-independent
Input Device Raw physical controller inputs Device-specific buttons outside standard mapping (touchpad click, pressure buttons, flight stick extras)

Recording a Trigger

  1. Click Record Trigger.
  2. Press and hold the desired button(s) on your controller.
  3. Deflect a stick or pull a trigger past the threshold to add an axis trigger.
  4. Press a D-pad direction to add a directional trigger.
  5. Click Stop when all desired inputs appear in the live display.

Trigger Components

Mix and match in one trigger. All must be satisfied simultaneously.

Component Behavior
Buttons Most common. Holding LB + A during recording creates a two-button combo. Both must be pressed.
Axes Fires when a stick or trigger exceeds a threshold (e.g., "Left Trigger > 50%"). Direction filter: Any (default), Positive (right/up/pressed), or Negative (left/down). Allows separate macros for left-stick-left vs. left-stick-right.
D-pad / POV Fires when the hat switch matches a direction. Uses a 45° sector, so "Up" also catches slight diagonals.

Combined example: "LB + Right Stick X (Positive) + D-pad Up". LB held, right stick pushed right past threshold, D-pad up.

Axis Trigger Threshold

When a trigger includes an axis, a threshold slider appears (1–100%, default 50%). The axis must exceed this percentage to activate.

  • Low (10%). Slight stick movement fires it
  • High (90%). Requires near-full deflection
  • With a direction filter, the threshold applies within that half of the axis range

Fire Modes

Controls when and how often the macro fires:

Mode Fires Example Use
On Press Once on activation Toggle, one-shot command, single keystroke
On Release Once on trigger release Charged shot release
While Held Every frame while held Turbo fire, continuous mouse, real-time volume
Always Every frame, no trigger needed Stick-to-mouse, permanent volume knob

Actions

Actions execute in order from top to bottom when the macro fires.

Action Types

Button Press / Button Release

Presses or releases a virtual controller button. Button Press has a duration (ms). Held that long, then auto-released.

  • Names match the output type: Xbox 360 labels, DualShock 4 labels, or numbered buttons for DirectInput Custom presets.
  • Select multiple buttons to press/release simultaneously.

Key Press / Key Release

Sends a keyboard keystroke indistinguishable from a real keyboard. Key Press has a duration (ms).

  • Key combos supported: Ctrl+C, Ctrl+Alt+Delete, etc. Keys press in order, release in reverse.
  • Select from the dropdown or type the combo string directly.

Delay

Pauses the action sequence for a specified number of milliseconds.

Axis Set

Overrides a virtual controller axis to a fixed value.

Axis Range
Stick (LX, LY, RX, RY) −32768 to 32767 (0 = center)
Trigger (LT, RT) 0 to 32767 (0 = released)

System Volume

Maps a controller axis to Windows master volume (0–100%), updated every frame.

  • Axis. Which axis drives volume (e.g., Left Trigger, Right Stick Y)
  • Invert axis. Reverses direction (release trigger = louder)
  • Show volume OSD. Displays the Windows volume flyout (on by default)
  • Volume Limit. Caps maximum volume (see Volume Limit)

App Volume

Controls a specific application's volume in the Windows audio mixer, independent of master volume.

  • Process name. The target app (e.g., "spotify", "firefox", "Discord"). Auto-suggest lists apps currently producing audio.
  • Other options match System Volume: axis, invert, volume limit.

Mouse Move

Maps a controller axis to continuous cursor movement, updated every frame.

  • Axis. Sticks give bidirectional movement; triggers give unidirectional
  • Sensitivity (1–100). Pixels per frame at full deflection. Start at 10–15.
  • X axes map to horizontal, Y axes to vertical automatically.
  • Sub-pixel accumulation ensures smooth movement at low sensitivity.

Mouse Button Press / Mouse Button Release

Presses or releases a mouse button. Press has a duration (ms) and auto-releases. Supported: Left, Right, Middle, X1 (Back), X2 (Forward).

Mouse Scroll

Maps a controller axis to continuous scroll wheel movement, updated every frame.

  • Sensitivity. Scroll units per frame at full deflection
  • Stick Y axes give bidirectional scrolling; triggers give one-direction

Volume Limit

Both System Volume and App Volume have a Volume Limit slider (1–100%), capping maximum volume regardless of axis position. Shown as "(max N%)" in the action list.

Full trigger pull normally hits 100%. A limit of 30% caps it there. Protects your ears.

Axis Source. Output Controller vs. Input Device

Continuous actions (System Volume, App Volume, Mouse Move, Mouse Scroll) read an axis value from one of two sources:

Source Description
Output Controller (default) Virtual controller's combined output. Reflects deadzone, range, inversion. Device-independent.
Input Device Raw input from a specific physical controller. Pick device and axis from dropdowns.

Use Input Device when the axis is unmapped (e.g., throttle lever for volume), needs to stay on a specific device, or should bypass mapping transformations.

Axis Options

Two optional controls on volume and mouse actions:

  • Invert axis. Reverses direction. Volume: releasing trigger = louder. Mouse: reverses cursor.
  • Show volume OSD. Toggles the Windows volume flyout (on by default, System Volume only). Updates at ~5 Hz to avoid overlay spam.

Building an Action Sequence

  1. Click Add Action and choose the type.
  2. Configure it (button, key, delay, etc.).
  3. Add more as needed. Executes top to bottom.
  4. Click delete to remove an action.

Example. Quick melee combo:

  1. Button Press: Y (50ms)
  2. Delay: 100ms
  3. Button Press: B (50ms)

Example. Stick-to-mouse aiming (Always mode):

  1. Mouse Move: Right Stick X, sensitivity 15
  2. Mouse Move: Right Stick Y, sensitivity 15

Repeat Modes

Mode Behavior Example Use
Once Runs one time One-shot command, single key press
Fixed Count Repeats N times Tap a button exactly 3 times for a combo
Until Release Loops until trigger released (requires While Held) Turbo fire, rapid mashing

Fixed Count and Until Release support a Repeat Delay (ms) between each repetition.

Example. Turbo fire: While Held + Until Release, Button Press A (50ms), repeat delay 50ms. A mashes every ~100ms (~10/sec) while held.


Consume Trigger Buttons

When enabled (default), trigger buttons are removed from virtual controller output so the game never sees them. Only the macro output reaches the game. Disable to let trigger buttons pass through alongside macro actions.

Example: Trigger = LB + RB, Consume on. Game sees only macro output. Consume off. Game sees LB + RB and macro output.

Note: Consumption applies only to button triggers on Output Controller. Input Device triggers are not part of the combined gamepad state and cannot be consumed.


Continuous vs. Sequential Actions

Type Actions Behavior
Sequential Button/Key/Mouse Button Press/Release, Delay, Axis Set One at a time, top to bottom
Continuous System Volume, App Volume, Mouse Move, Mouse Scroll Every frame, all in parallel

Both types mix freely. Two Mouse Move actions (X + Y) run simultaneously while a Button Press in the same macro executes in sequence alongside them.


Common Recipes

1. Left Trigger as Volume Knob

  • Fire mode: Always
  • Actions: System Volume. Left Trigger axis, Volume Limit 50%, OSD on
  • Notes: Always mode = no trigger needed. Volume Limit prevents accidental blasts.

2. Right Stick as Mouse Cursor

  • Fire mode: Always
  • Actions:
    1. Mouse Move: Right Stick X, sensitivity 15
    2. Mouse Move: Right Stick Y, sensitivity 15
  • Notes: Both run in parallel every frame. Lower sensitivity = precision, higher = speed. Pair with mouse button macros below.

3. Bumpers as Mouse Clicks

Pair with the mouse cursor recipe above for full mouse control.

Macro Fire Mode Trigger Action
Left Click On Press LB Mouse Button Press: Left (50ms)
Right Click On Press RB Mouse Button Press: Right (50ms)

4. Turbo Fire (Rapid Mash)

  • Fire mode: While Held
  • Trigger: Right Trigger axis (threshold 50%)
  • Repeat: Until Release, delay 50ms
  • Actions: Button Press: A (30ms)
  • Notes: A presses every ~80ms (30ms press + 50ms delay) while trigger exceeds 50%. Release to stop.

5. Per-App Music Volume

  • Fire mode: While Held
  • Trigger: LB
  • Consume trigger buttons: On
  • Actions: App Volume. Left Stick Y axis, process "Spotify", Volume Limit 80%
  • Notes: Hold LB, move left stick up/down to adjust Spotify (0–80%). Game never sees LB. Volume stays where you leave it.

6. Quick Chat Combo

  • Fire mode: On Press
  • Trigger: D-pad Down + A
  • Actions:
    1. Key Press: T (50ms). Opens chat
    2. Delay: 100ms
    3. Key Press: G (50ms)
    4. Delay: 50ms
    5. Key Press: G (50ms)
    6. Delay: 50ms
    7. Key Press: Return (50ms). Sends message
  • Notes: Fires once per press. Increase delays if the game needs more time between keystrokes.

DirectInput Custom Button Support

DirectInput slots with the Custom preset support up to 128 buttons. Trigger recording and button action lists expand dynamically based on ButtonCount. Xbox 360, DualShock 4, and DirectInput gamepad presets use standard button names.


Tips

  • Delays under 10ms may not register in some games. Start at 50ms and reduce.
  • Test in-game. Timing needs vary per title.
  • Combine trigger types (button + stick deflection) to reduce accidental activation.
  • Volume Limit 30–50% is a safe starting point for protecting your ears.
  • Mouse sensitivity: 10–15 for cursor, 3–5 for scrolling.
  • Profile-aware: Macros save per-profile. Different games get different setups via Profiles.

Related Pages

Clone this wiki locally