Defined in: hotkey-recorder.ts:144
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: 3,
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:169
| HotkeyChordRecorderOptions | (() => HotkeyChordRecorderOptions)
HotkeyRecorder
new HotkeyRecorder(options): HotkeyRecorder;Defined in: hotkey-recorder.ts:172
| HotkeySequenceRecorderOptions | (() => HotkeySequenceRecorderOptions)
HotkeyRecorder
readonly store: Store<HotkeyRecorderState>;Defined in: hotkey-recorder.ts:145
cancel(): void;Defined in: hotkey-recorder.ts:417
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:326
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:444
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:185
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:219
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:407
Stop recording (same as cancel, but doesn't call onCancel).
Removes the event listener and resets the recording state.
void