Continuous Mouse Drags
Hold a mouse button and move the mouse to adjust volume, brightness, MIDI or any other numeric action field. Continuous drag categories keep sending updates the whole time you move.
Example: hold a button and drag to adjust volume
- In Normal Mouse, add a trigger and record its button.
- Choose Action For Trigger Category → Actions Executed On Drag Up (Continuous) and add Set System Volume.
- Click the link icon next to the volume field (tooltip: "Drive this value from the trigger") and enable Use the drag value. Under How to change the value, choose Increase / Decrease Value. Set Output range to 0 … 100 and Curve to Linear, and enable Keep within the target range. Leave Wrap around at the ends off.
- Add the same action with the same settings under Drag Down (Continuous).
- Now hold the button and drag: up raises the volume, down lowers it. Release the button to stop.
Use Linear for both directions, because the movement already carries its direction. New bindings default to Increase / Decrease Value, and saved bindings keep their mode. Left/right works the same way.

The screenshot still shows older labels. These are the current names in the binding popover (titled Drive "…" From The Trigger):
- Use the drag value turns the binding on.
- How to change the value: Increase / Decrease Value (the default for new bindings) or Set Value Directly. Position (0…1) and Change Since Last Update are under Advanced.
- Movement for the full range and Wrap around at the ends (only shown for Increase / Decrease Value).
- Output range, Curve (Linear, Inverted, Logarithmic, Exponential), Round (Don't Round, To Whole Numbers) and Keep within the target range.
- Remove Binding and Done.
Adjust sensitivity and output
- Movement for the full range controls the sensitivity. The default is 200 px. With 400 px, you need to move twice as far. Use the same value for both directional bindings.
- Advanced → Continuous Drag Options → Continuous drag step threshold on the button trigger controls how far you need to move between action runs. Smaller values mean more frequent updates. 0 uses the global Continuous Drag Step (default 20 px).
For MIDI, bind a Send MIDI Command value field to 0 … 127 with To Whole Numbers. See Action Value Bindings for modes, output ranges and remembered values.
Repeat actions by distance
Under Drag Right (Continuous), add:
- Only Continue After Accumulating Movement / Value, threshold 30.
- Your next-tab shortcut.
The shortcut now runs once for every 30 pixels of accumulated movement. For the other direction, add a separate threshold action and a previous-tab shortcut under Drag Left (Continuous).
How often updates arrive depends on the drag step threshold described above. Leftover movement can carry over to the next drag. See movement thresholds for details.
Press, drag and release categories
You can use press/release actions alongside drag actions, but anything that should respond continuously belongs under Drag … (Continuous). For scrolling, zooming or space switching, see simulating trackpad gestures.
The equivalent for touch devices is Fluid / Continuous Gestures.
Script variables
See the shared trigger variables and JavaScript example. Mouse drag deltas are measured in pixels.
The existing variables are still available too: BTTDragValue, BTTDragUpValue, BTTDragDownValue, BTTDragLeftValue, BTTDragRightValue, BTTDragDeltaX, BTTDragDeltaY and BTTDragButtonNumber.