WinSTT logoWinSTT
Settings

Hotkeys

The four global hotkeys — push-to-talk, re-paste, read-aloud, and transform — plus the while-held combos that cycle modes and cancel a pass.

WinSTT runs four global hotkeys that work even when its window isn't focused: one to dictate, one to re-paste your last transcription, one to read a selection aloud, and one to transform selected text with the LLM. Two more actions ride on the push-to-talk key while it's held.

Where the controls live

The hotkey recorder UI sits in the Shortcuts tab — that's where you record or rebind the push-to-talk key and read the live shortcuts legend. The re-paste, read-aloud, and transform bindings are recorded in the same recorder, alongside push-to-talk.

The Hotkey Configuration section of the Shortcuts tab: the push-to-talk recorder with its current combo, and the live shortcuts legend beneath it.
The push-to-talk recorder and the live shortcuts legend, on the Shortcuts tab.

Every binding is a uiohook-style combo string — physical-key tokens joined with +, with left/right-specific modifiers (LCtrl, RCtrl, LShift, RShift, LAlt, RAlt, LMeta). Because each token names a specific physical key, picking LMeta over a generic Meta cuts down on conflicts.

The four hotkeys

LCtrlLMeta
Push-to-TalkStart / stop dictation. Max 3 keys. Hidden in Listen mode.
LCtrlLShiftV
Re-paste lastRe-inject your most recent transcription. Exclusive — swallows the combo system-wide.
LMetaLShiftE
Read selection aloud (TTS)Speak the current selection. Only armed when TTS is enabled.
(unset)
Transform selection (LLM)Run the composed transform on the selection. Empty by default — try LCtrl+LShift+T.

Push-to-Talk

Push-to-Talk Keydefault LCtrl+LMeta
hotkey.pushToTalkKey

The primary hotkey for dictation. What pressing it does depends on the active

Push-to-TalkToggle ListenWake Word

recording mode. Capped at 3 keys (MAX_COMBO_KEYS). Recorded via low-level uiohook — it only observes keys, so it never blocks the focused app's own shortcuts. Hidden entirely when the recording mode is Listen (loopback capture needs no key).

Re-paste last transcription

Re-paste Hotkeydefault LCtrl+LShift+V
general.repasteHotkey

Re-injects your most recent dictation into whatever window has focus — for when a paste landed in the wrong app, or you want the same text again without re-dictating. It delivers through the same path as dictation auto-paste, so it behaves identically in terminals, editors, and browsers. Silent if you haven't dictated anything yet. Press Clear (empty string) to disable it.

Re-paste is an exclusive shortcut

Unlike the other three (which passively observe keys), re-paste is registered through WinSTT's exclusive global-shortcut path and swallows the combo system-wide. While WinSTT runs, LCtrlLShiftV only re-pastes — it won't also fire the focused app's native binding (e.g. paste-without-formatting / terminal paste). That's what makes it deterministic, and why it loses its native meaning everywhere until you clear or rebind it.

Read selection aloud (TTS)

TTS Hotkeydefault LMeta+LShift+E
tts.hotkey

Captures the active selection and reads it aloud with the text-to-speech voice. Only fires when TTS is enabled and something is selected. While the playback is running, hold the TTS hotkey together with Backspace to stop immediately.

Transform selection (LLM)

Transform Hotkeydefault (unset)
llm.transforms.hotkey

Runs the composed transform — your active tone preset plus any custom modifiers — on whatever text is currently selected, in place. Empty by default (the feature is off until you bind it). A suggested combo is LCtrlLShiftT. Single-shot per hold: it fires once, then re-arms only after you release a key, so auto-repeat can't run the LLM dozens of times. Record it on the Shortcuts tab alongside the other global hotkeys.

During dictation

Two extra actions are available while dictating. The mode cycle uses the push-to-talk key; cancel is always Escape.

Push-to-TalkArrowUp
Cycle recording modeStep forward: PTT → Toggle → Listen → Wakeword → PTT (wraps).
Escape
Cancel the current passAbort an in-flight recording, transcription, or LLM cleanup pass.

Hold the hotkey and tap to advance one link in the mode chain (Push-to-TalkToggleListenWake Word → back to Push-to-Talk). Press Escape to cancel whatever is in flight — useful when you misspoke and want to abandon the result before it pastes. The shortcuts legend on the Shortcuts tab highlights the mode you're currently in and shows these two rows (plus the two TTS rows when TTS is enabled).

Combo format

Tokens are physical keys joined with +. Modifiers are left/right-specific.

Modifiers: LCtrl RCtrl LShift RShift LAlt RAlt LMeta. Other keys: letters, digits, F1–F24. Push-to-Talk is capped at 3 keys.
ComboMeaning
LCtrl+LMetaLeft Ctrl + left platform meta key (PTT default)
LCtrl+LShift+VLeft Ctrl + Left Shift + V (re-paste default)
LMeta+LShift+ELeft Meta + Left Shift + E (TTS default)
LCtrl+SpaceLeft Ctrl + Spacebar
F13Function key 13 — great for a dedicated macro key
LCtrl+LShift+F9Left Ctrl + Left Shift + F9

Choosing a hotkey

Pick a combo no other app uses. Left/right-specific modifiers (LMeta rather than a generic Meta) reduce conflicts. F13F24 are almost never bound by other software, which makes them excellent dedicated dictation keys — especially on macro keyboards.

Conflict resolution

The recorder rejects a new binding inline if its key set is equal to, a subset of, or a superset of any other binding — pressing the larger combo would otherwise fire the smaller one "by accident." Two combos are only allowed when each has at least one key the other lacks (they're disjoint).

A second pass runs at startup as defense against hand-edited settings.json or a sync conflict that smuggled overlapping combos past the recorder. Its policy is anchored on push-to-talk:

If a default would also collide (e.g. you set PTT to a default's combo), the value is left as-is and the recorder shows the inline error next time you touch it.
BindingOn collision
Push-to-TalkAnchor — never rewritten.
Re-pasteReset to its default if it collides with push-to-talk.
TTSReset to its default if it collides with push-to-talk or with the settled re-paste binding.

Recording a hotkey pauses the others

While you're capturing a new combo in the recorder, the re-paste shortcut is unregistered and the TTS / transform listeners are suppressed — so the keys you press to record don't also fire those actions mid-recording.

On this page