Homelogologo
Sponsor

Hotkeys

Create and manage keyboard shortcuts, sequences, and scopes to quickly access commands via a customizable command palette.

Examples

Basic

A simple like/dislike button toggled via keyboard shortcuts.

Multiple Shortcuts

In useHotkeys, pass an array to handle multiple shortcuts. Each entry in the array must include a keyboard shortcut and the corresponding action to execute.

API Reference

createHotkeyStore

PropTypeDefault Value
activeScopesstring | string[]['*']
conflictBehavior'warn' | 'error' | 'replace' | 'allow''warn'
defaultOptionsHotkeyOptionsundefined
sequenceTimeoutMsnumber1000
returnsHotkeyStoreundefined

useHotkey

PropTypeDefault Value
propsUseHotkeyPropsundefined

useHotkeys

PropTypeDefault Value
commandsUseHotkeysCommand[]undefined
storeHotkeyStoreundefined
idstringundefined

UseHotkeysCommand

PropTypeDefault Value
idstringundefined
hotkeystringundefined
action(event: KeyboardEvent) => voidundefined
labelstringundefined
descriptionstringundefined
categorystringundefined
keywordsstring[]undefined
scopesstring | string[]'*'
enabledboolean | (() => boolean)true
optionsHotkeyOptionsundefined

HotkeyOptions

PropTypeDefault Value
preventDefaultbooleanundefined
stopPropagationbooleanundefined
enableOnFormTagsboolean | ('input' | 'textarea' | 'select')[]false
enableOnContentEditablebooleanfalse
capturebooleantrue
requireResetbooleanfalse
eventType'keydown' | 'keyup''keydown'
targetElement | (() => Element | null)undefined

useHotkeyRegistrations

PropTypeDefault Value
storeHotkeyStoreundefined
returnsHotkeyCommand[]undefined

useHotkeyStore

PropTypeDefault Value
returnsHotkeyStoreundefined

usePressedKeys

PropTypeDefault Value
storeHotkeyStoreundefined
returnsstring[]undefined

useIsKeyPressed

PropTypeDefault Value
hotkeystringundefined
storeHotkeyStoreundefined
returnsbooleanundefined

usePlatform

PropTypeDefault Value
returnsPlatformundefined

useFormatHotkey

PropTypeDefault Value
returns(hotkey: string, options?: HotkeyFormatOptions) => stringundefined

useHotkeyRecorder

PropTypeDefault Value
propsUseHotkeyRecorderPropsundefined
returnsUseHotkeyRecorderReturnundefined

UseHotkeyRecorderReturn

PropTypeDefault Value
recordingbooleanundefined
valueRecordedHotkey | nullundefined
start() => voidundefined
stop() => voidundefined
cancel() => voidundefined
clear() => voidundefined