本页还没有译文
本页 64 段还没译成Tiếng Việt,下面显示的是英文原文。KeyStateTracker
还没翻译译自英文(tanstack.com)本页 64 段都还没译
Defined in: key-state-tracker.ts:63
Singleton tracker for currently held keyboard keys.
This class maintains a list of all keys currently being pressed, which is useful for:
- Displaying currently held keys to users
- Custom shortcut recording for rebinding
- Complex chord detection
State Management:
- Uses TanStack Store for reactive state management
- State can be accessed via
tracker.store.statewhen using the class directly - When using framework adapters (React), use
useHeldKeysanduseHeldKeyCodeshooks for reactive state
Example
const tracker = KeyStateTracker.getInstance()
// Access state directly
console.log(tracker.store.state.heldKeys) // ['Control', 'Shift']
// Subscribe to changes with TanStack Store
const unsubscribe = tracker.store.subscribe(() => {
console.log('Currently held:', tracker.store.state.heldKeys)
})
// Check current state
console.log(tracker.getHeldKeys()) // ['Control', 'Shift']
console.log(tracker.isKeyHeld('Control')) // true
// Cleanup
unsubscribe()Properties
store
readonly store: Store<KeyStateTrackerState>;Defined in: key-state-tracker.ts:70
The TanStack Store instance containing the tracker state. Use this to subscribe to state changes or access current state.
Methods
areAllKeysHeld()
areAllKeysHeld(keys): boolean;Defined in: key-state-tracker.ts:241
Checks if all of the given keys are currently held.
Parameters
keys
string[]
Array of key names to check
Returns
boolean
True if all of the keys are currently held
destroy()
destroy(): void;Defined in: key-state-tracker.ts:248
Destroys the tracker and removes all listeners.
Returns
void
getHeldKeys()
getHeldKeys(): string[];Defined in: key-state-tracker.ts:208
Gets an array of currently held key names.
Returns
string[]
Array of key names currently being pressed
isAnyKeyHeld()
isAnyKeyHeld(keys): boolean;Defined in: key-state-tracker.ts:231
Checks if any of the given keys are currently held.
Parameters
keys
string[]
Array of key names to check
Returns
boolean
True if any of the keys are currently held
isKeyHeld()
isKeyHeld(key): boolean;Defined in: key-state-tracker.ts:218
Checks if a specific key is currently being held.
Parameters
key
string
The key name to check (case-insensitive)
Returns
boolean
True if the key is currently held
getInstance()
static getInstance(): KeyStateTracker;Defined in: key-state-tracker.ts:86
Gets the singleton instance of KeyStateTracker.
Returns
KeyStateTracker
resetInstance()
static resetInstance(): void;Defined in: key-state-tracker.ts:96
Resets the singleton instance. Useful for testing.
Returns
void