Trigger Modes
Every binding pairs which button with how it fires. Control Flex offers ten trigger modes, so one button can tap, hold, latch, and double-press for different actions.
The Ten Modes
| Mode | When it fires | Typical use |
|---|---|---|
| Press | Once, on button down | One-shots and menu opens |
| Release | Once, on button up | Layer return, “on let go” actions |
| Hold | Active the whole time held | Movement, look, sustained use, layer switches |
| Tap | Once, on release after a short press; if held past the threshold, nothing fires on release | Quick actions that must not fire on a hold |
| Long Press | Once, after being held past the long-press threshold | A second function on the same button (e.g. pause menu) |
| Toggle | First press activates and holds, second press releases; independent of button hold (RELEASE events are ignored) | Persistent states: sprint, walk mode, POV |
| Double Press | A second press inside the tap window fires once immediately on down (not latched) | An extra one-shot alongside Hold / Press |
| Double Tap | Two short presses; fires once on the second release | Confirm-style actions that must not steal the first tap |
| Double Hold | Short press, then press-and-hold inside the tap window; stays active until release | Tap-then-hold for deliberate triggers that resist misfires |
| Double Toggle | Same latch as Toggle; flips on the second short-press release | A latch sharing one button with its Hold variant (Basic does this for sneak) |
Thresholds & Time Windows
- Tap and Long Press thresholds are global, 100–2000 ms, configured in Other Settings. They apply to every binding and template.
- The Tap threshold doubles as the gap limit for every Double mode: Double Press / Tap / Hold / Toggle all use it as the maximum interval between the two presses.
- Defaults: Tap 500 ms, Long Press 1000 ms (from the Basic template).
Changing a Mode
- In Key Mapping, the Mode column cycles through the common modes (Press / Hold / Tap / Long Press).
- Templates and compat JSON support all ten, written as
button|MODE— for examplebuttonA|HOLDorrightStickClick|DOUBLE_TOGGLE. Mode tokens:PRESS / RELEASE / HOLD / TAP / LONG_PRESS / TOGGLE / DOUBLE_PRESS / DOUBLE_TAP / DOUBLE_HOLD / DOUBLE_TOGGLE. - Some actions restrict their mode: layer switches are fixed to HOLD, Shift-layer return-to-Main to RELEASE, and radial-menu opens support PRESS and HOLD.
Worked Examples
| Button | Binding | Effect |
|---|---|---|
| R-stick click | HOLD + DOUBLE_TOGGLE |
Hold to sneak, double-tap to latch sneak (Basic default) |
| Start | LONG_PRESS |
Long press opens the pause menu; short presses do nothing |
| D-Pad → | TAP |
Tap to change perspective; an accidental hold does nothing |
To combine buttons into one action, see Combo Keys; to bake toggles into a template, see Configuration.