Bindings
Triggers, the moments a key can act at, and their timing.
A binding is one trigger and what it does. Unlike a plain shortcut map, one key can act at several moments: on press, on a quick tap, after a hold, on release, after a pause, or when another key goes down while it’s held.
Triggers
The binding editor’s Trigger row records a key with its modifiers. From there:
| To make | Do |
|---|---|
| A chord (keys together) | + with, then record the next key. Pressed together within sets the window. |
| A sequence (keys in order) | + then, then record the next key. Each key within sets the timeout. |
| A side-specific modifier | Left / right… |
| A double-tap | Turn on Double-tap in the Binding row |
Mouse buttons and media keys can be triggers too, but only through import; the recorder can’t capture them. Chord rules… sets a chord’s key order, when it releases, and an action for the release.
Moments
Under Actions, each moment is a point on a line. + Moment adds one.
| Moment | Fires | Karabiner |
|---|---|---|
| Press | On key down | to |
| Tap | On a quick press and release | to_if_alone |
| Hold | Once held past the hold time | to_if_held_down |
| Release | On key up | to_after_key_up |
| Delayed | After a pause with no other key | to_delayed_action.to_if_invoked |
| Canceled | When another key interrupts the pause | to_delayed_action.to_if_canceled |
| Other key | When another key goes down while this one is held | to_if_other_key_pressed |
In this Leader layer, w sends ⌘W on tap and ⌘⇧W on hold:

Timing
Each threshold sits on the moment it decides, and an open moment shows a slider.
| Moment | Default | Karabiner |
|---|---|---|
| Hold | 500 ms | to_if_held_down_threshold_milliseconds |
| Tap | 1000 ms, shown beside Hold or Press | to_if_alone_timeout_milliseconds |
| Delayed and Canceled | 500 ms, shared | to_delayed_action_delay_milliseconds |
A threshold you never touch isn’t written, so Karabiner’s default applies.
Only when
Only when limits the whole binding with conditions. Its layer’s conditions apply on top.
Saving
Edits in the binding editor are a draft until Save. Generating skips unsaved drafts. Everything else in Vimputer, such as layers and variables, saves as you go.