Defined in: key-state-tracker.ts:65
Singleton tracker for currently held keyboard keys.
This class maintains a list of all keys currently being pressed, which is useful for:
State Management:
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()readonly store: Store<KeyStateTrackerState>;Defined in: key-state-tracker.ts:72
The TanStack Store instance containing the tracker state. Use this to subscribe to state changes or access current state.
areAllKeysHeld(keys): boolean;Defined in: key-state-tracker.ts:297
Checks if all of the given keys are currently held.
string[]
Array of key names to check
boolean
True if all of the keys are currently held
destroy(): void;Defined in: key-state-tracker.ts:304
Destroys the tracker and removes all listeners.
void
getHeldKeys(): string[];Defined in: key-state-tracker.ts:260
Gets an array of currently held key names.
string[]
Array of key names currently being pressed
isAnyKeyHeld(keys): boolean;Defined in: key-state-tracker.ts:287
Checks if any of the given keys are currently held.
string[]
Array of key names to check
boolean
True if any of the keys are currently held
isKeyHeld(key): boolean;Defined in: key-state-tracker.ts:274
Checks if a specific key is currently being held.
Letters match in any case. Other key names are case-sensitive, so 'escape' doesn't match Escape. Every adapter's key-hold helper uses this rule.
string
The key name to check, such as 'A', 'Shift', or 'Escape'
boolean
True if the key is currently held
static getInstance(): KeyStateTracker;Defined in: key-state-tracker.ts:87
Gets the singleton instance of KeyStateTracker.
KeyStateTracker
static resetInstance(): void;Defined in: key-state-tracker.ts:97
Resets the singleton instance. Useful for testing.
void