Defined in: hotkey-recorder.ts:192
Framework-agnostic class for recording keyboard shortcuts.
With the default maxSteps: 1, the first valid chord commits. With a larger maxSteps, each chord adds a step; the recording commits on Enter (unless commitKeys: 'none'), after idleTimeoutMs, or when it reaches maxSteps. Backspace/Delete removes the last step, and on an empty recording calls onClear. Escape cancels. A one-step result is a chord string.
State Management:
const recorder = new HotkeyRecorder({
onRecord: (hotkey) => {
console.log('Recorded:', hotkey) // 'Mod+S'
},
})
const sequenceRecorder = new HotkeyRecorder({
maxSteps: Infinity,
onRecord: (hotkey) => {
console.log('Recorded:', hotkey) // 'Mod+S' or ['G', 'H']
},
})
recorder.start()
// ... later
recorder.destroy()new HotkeyRecorder(options): HotkeyRecorder;Defined in: hotkey-recorder.ts:217
| HotkeyChordRecorderOptions | (() => HotkeyChordRecorderOptions)
HotkeyRecorder
new HotkeyRecorder(options): HotkeyRecorder;Defined in: hotkey-recorder.ts:220
| HotkeySequenceRecorderOptions | (() => HotkeySequenceRecorderOptions)
HotkeyRecorder
readonly store: Store<HotkeyRecorderState>;Defined in: hotkey-recorder.ts:193
cancel(): void;Defined in: hotkey-recorder.ts:469
Cancel recording without saving.
Removes the event listener, resets the recording state, and calls the onCancel callback if provided.
void
commit(): void;Defined in: hotkey-recorder.ts:375
Commits the recorded steps after validation and conflict checks. Called automatically at maxSteps, on Enter, or after idleTimeoutMs. A rejected commit leaves recording active with its steps intact.
void
destroy(): void;Defined in: hotkey-recorder.ts:496
Clean up event listeners and reset state.
Call this when you're done with the recorder to ensure all event listeners are properly removed.
void
setOptions(options): void;Defined in: hotkey-recorder.ts:233
Updates the recorder options, including callbacks. This allows framework adapters to sync callback changes without recreating the recorder.
Partial<HotkeyRecorderOptions>
void
start(): void;Defined in: hotkey-recorder.ts:267
Start recording a new hotkey.
Sets up a keydown event listener that captures keyboard events and records chords according to maxSteps.
void
stop(): void;Defined in: hotkey-recorder.ts:459
Stop recording (same as cancel, but doesn't call onCancel).
Removes the event listener and resets the recording state.
void