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
- provideHotkeysContext
- useDefaultHotkeysOptions
- useHotkey
- useHotkeyRegistrations
- useHotkeys
- useHotkeysContext
- HotkeysProviderOptions
- ProvideHotkeysContextOptions
- UseHotkeyChordOptions
- UseHotkeyCommonOptions
- UseHotkeyDefinition
- UseHotkeyOptions
- UseHotkeyOptionsFor
- UseHotkeySequenceOptions
- UseHotkeyTarget
- HotkeysProvider
App Hotkeys API Reference
- defineAppHotkeys
- AppHotkeysStore
- provideAppHotkeys
- publishAppHotkeysStore
- AppHotkey
- AppHotkeyInput
- AppHotkeyOptions
- AppHotkeyListItem
- AppHotkeyStatus
- AppHotkeysState
- AppHotkeysStoreOptions
- CustomHotkeys
- Register
- AppHotkeyId
- RegisteredAppHotkeys
- isAppHotkey
- isCustomHotkey
- resolveAppHotkey
- useAppHotkeyList
- useAppHotkeys
- useCustomHotkeys
- UseCustomHotkeysResult
- UseAppHotkeyOptions
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
- useHotkeyRecorder
- VueHotkeyRecorder
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/vue/reference/functions/useKeyHold.md
Key hold & held keys API Reference
useKeyHold
ts
function useKeyHold(key): Ref<boolean>;Defined in: useKeyHold.ts:51
Vue composable that returns a reactive ref indicating whether a specific key is currently being held.
This composable uses useSelector from @tanstack/vue-store to subscribe to the global KeyStateTracker and uses a selector to determine if the specified key is held.
Parameters#
key#
MaybeRefOrGetter<IndividualKey>
The key to check (e.g., 'Shift', 'Control', 'A')
Returns#
Ref<boolean>
Reactive ref that is true if the key is currently held down
Examples#
vue
<script setup>
import { useKeyHold } from '@tanstack/vue-hotkeys'
const isShiftHeld = useKeyHold('Shift')
</script>
<template>
<div :style="{ opacity: isShiftHeld ? 1 : 0.5 }">
{{ isShiftHeld ? 'Shift is pressed!' : 'Press Shift' }}
</div>
</template>vue
<script setup>
import { useKeyHold } from '@tanstack/vue-hotkeys'
const ctrl = useKeyHold('Control')
const shift = useKeyHold('Shift')
const alt = useKeyHold('Alt')
</script>
<template>
<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>
</template>