Hotkeys Docs
API Reference
Hotkeys API Reference
- HotkeyManager
- getHotkeyManager
- Hotkey
- HotkeyChord
- HotkeySequence
- RegisterableHotkey
- RegisterableHotkeyChord
- RegisterableHotkeySequence
- RawHotkeyChord
- HotkeyOptions
- HotkeyChordOptions
- HotkeySequenceOptions
- HotkeyOptionsFor
- HotkeyRegistrationHandle
- HotkeyRegistrationView
- HotkeyChordRegistrationView
- HotkeySequenceRegistrationView
- toHotkeyRegistrationView
- HotkeyCallback
- HotkeyCallbackContext
- HotkeyChordCallbackContext
- HotkeySequenceCallbackContext
- HotkeyCallbackContextFor
- HotkeyMeta
- ConflictBehavior
- isHotkeySequence
- simplifyHotkey
- createSequenceMatcher
- DEFAULT_SEQUENCE_TIMEOUT
- createHotkey
- createHotkeyRegistrations
- createHotkeys
- useDefaultHotkeysOptions
- useHotkeysContext
- HotkeysProviderOptions
- HotkeysProviderProps
- CreateHotkeyChordOptions
- CreateHotkeyCommonOptions
- CreateHotkeyDefinition
- CreateHotkeyOptions
- CreateHotkeyOptionsFor
- CreateHotkeySequenceOptions
- CreateHotkeyTarget
- HotkeysProvider
App Hotkeys API Reference
- defineAppHotkeys
- AppHotkeysStore
- provideAppHotkeys
- publishAppHotkeysStore
- AppHotkey
- AppHotkeyInput
- AppHotkeyOptions
- AppHotkeyListItem
- AppHotkeyStatus
- AppHotkeysState
- AppHotkeysStoreOptions
- CustomHotkeys
- Register
- AppHotkeyId
- RegisteredAppHotkeys
- isAppHotkey
- isCustomHotkey
- resolveAppHotkey
- createAppHotkeyList
- useAppHotkeys
- useCustomHotkeys
- UseCustomHotkeysResult
- CreateAppHotkeyOptions
Key hold & held keys API Reference
Hotkey Recorder API Reference
- HotkeyRecorder
- HotkeyRecorderOptions
- HotkeyChordRecorderOptions
- HotkeySequenceRecorderOptions
- HotkeyRecorderState
- HotkeyRecorderCommitKeys
- HotkeyRecorderValidationContext
- HotkeyChordRecorderValidationContext
- HotkeySequenceRecorderValidationContext
- RecorderOptions
- RecorderRejection
- RecorderKeyMode
- findHotkeyConflicts
- HotkeyConflict
- HotkeyConflictOptions
- createHotkeyRecorder
- SolidHotkeyRecorder
Normalization & format API Reference
- formatForDisplay
- FormatDisplayOptions
- DisplayHotkey
- DisplayHotkeyChord
- formatHotkey
- normalizeHotkey
- parseHotkey
- parseKeyboardEvent
- ParsedHotkeyChord
- matchesKeyboardEvent
- areHotkeysEqual
- validateHotkey
- checkHotkey
- assertValidHotkey
- ValidationResult
- ValidatableHotkey
- LogicalKey
- PhysicalKey
- PhysicalKeyCode
- KEY_DISPLAY_SYMBOLS
- PUNCTUATION_KEY_DISPLAY_LABELS
- MAC_MODIFIER_SYMBOLS
- MAC_MODIFIER_LABELS
- WINDOWS_MODIFIER_LABELS
- LINUX_MODIFIER_LABELS
- MODIFIER_ALIASES
- MODIFIER_ORDER
- MODIFIER_KEYS
AI/LLM: This documentation page is available in plain markdown format at/hotkeys/latest/docs/framework/solid/reference/functions/createKeyHold.md
Key hold & held keys API Reference
createKeyHold
ts
function createKeyHold(key): () => boolean;Defined in: createKeyHold.ts:46
SolidJS primitive that returns whether a specific key is currently being held.
This primitive uses useSelector from @tanstack/solid-store to subscribe to the global KeyStateTracker and uses a selector to determine if the specified key is held.
Parameters#
key#
IndividualKey | (() => IndividualKey)
The key to check (e.g., 'Shift', 'Control', 'A') - can be an accessor function
Returns#
Signal accessor that returns true if the key is currently held down
() => boolean
Examples#
tsx
function ShiftIndicator() {
const isShiftHeld = createKeyHold('Shift')
return (
<div style={{ opacity: isShiftHeld() ? 1 : 0.5 }}>
{isShiftHeld() ? 'Shift is pressed!' : 'Press Shift'}
</div>
)
}tsx
function ModifierIndicators() {
const ctrl = createKeyHold('Control')
const shift = createKeyHold('Shift')
const alt = createKeyHold('Alt')
return (
<div>
<span style={{ opacity: ctrl() ? 1 : 0.3 }}>Ctrl</span>
<span style={{ opacity: shift() ? 1 : 0.3 }}>Shift</span>
<span style={{ opacity: alt() ? 1 : 0.3 }}>Alt</span>
</div>
)
}