TanStack
Hotkey Sequence Recorder API Reference

HotkeySequenceRecorderOptions

Defined in: hotkey-sequence-recorder.ts:42

Options for configuring a HotkeySequenceRecorder instance.

Extends

Properties

commitKeys?

ts
optional commitKeys: HotkeySequenceRecorderCommitKeys;

Defined in: hotkey-sequence-recorder.ts:63

Keyboard commit mode. When 'none', use HotkeySequenceRecorder.commit (and optional idle timeout).

Default

ts
'enter'

commitOnEnter?

ts
optional commitOnEnter: boolean;

Defined in: hotkey-sequence-recorder.ts:58

Whether plain Enter commits the current steps. Ignored when commitKeys is 'none'.

Default

ts
true

detectConflicts?

ts
optional detectConflicts: boolean | HotkeyConflictOptions;

Defined in: recorder-options.ts:21

Opt in to live-registry conflicts, including sequence prefixes. Default: false.

Inherited from

RecorderOptions.detectConflicts


idleTimeoutMs?

ts
optional idleTimeoutMs: number;

Defined in: hotkey-sequence-recorder.ts:68

Milliseconds of inactivity after the last completed chord before auto-committing. The timer does not run while waiting for the first chord (steps.length === 0).


ignoreInputs?

ts
optional ignoreInputs: boolean;

Defined in: hotkey-sequence-recorder.ts:76

Whether to ignore keyboard events from input-like elements (text inputs, textarea, select, contenteditable). When true, typing in inputs passes through normally instead of being captured as a sequence recording. Escape always works regardless of this setting.

Default

ts
true

onCancel()?

ts
optional onCancel: () => void;

Defined in: hotkey-sequence-recorder.ts:51

Optional callback when recording is cancelled (Escape pressed)

Returns

void


onClear()?

ts
optional onClear: () => void;

Defined in: hotkey-sequence-recorder.ts:53

Optional callback when the sequence is cleared (Backspace/Delete with no steps)

Returns

void


onRecord()

ts
onRecord: (sequence) => void;

Defined in: hotkey-sequence-recorder.ts:49

Callback when a sequence is successfully recorded

Parameters

sequence

HotkeySequence

Returns

void


onReject()?

ts
optional onReject: (rejection) => void;

Defined in: recorder-options.ts:23

Rejected candidates leave recording active.

Parameters

rejection

RecorderRejection

Returns

void

Inherited from

RecorderOptions.onReject


platform?

ts
optional platform: "mac" | "windows" | "linux";

Defined in: recorder-options.ts:19

Platform used for Mod and AltGraph handling. Defaults to platform detection.

Inherited from

RecorderOptions.platform


recordBy?

ts
optional recordBy: RecorderKeyMode;

Defined in: recorder-options.ts:17

Physical code recording is the default. Choose key to record logical characters.

Inherited from

RecorderOptions.recordBy


validate()?

ts
optional validate: (sequence, context) => string | boolean;

Defined in: hotkey-sequence-recorder.ts:44

Validate the completed sequence. Rejection preserves the steps for editing.

Parameters

sequence

HotkeySequence

context

HotkeySequenceRecorderValidationContext

Returns

string | boolean