UNPKG

@tanstack/react-hotkeys

Version:

React adapter for TanStack Hotkeys

44 lines • 1.23 kB
import { IndividualKey } from "@tanstack/hotkeys"; //#region src/useKeyHold.d.ts /** * React hook that returns whether a specific key is currently being held. * * This hook uses `useSelector` from `@tanstack/react-store` to subscribe * to the global KeyStateTracker and uses a selector to determine if * the specified key is held. * * @param key - The key to check (e.g., 'Shift', 'Control', 'A') * @returns True if the key is currently held down * * @example * ```tsx * function ShiftIndicator() { * const isShiftHeld = useKeyHold('Shift') * * return ( * <div style={{ opacity: isShiftHeld ? 1 : 0.5 }}> * {isShiftHeld ? 'Shift is pressed!' : 'Press Shift'} * </div> * ) * } * ``` * * @example * ```tsx * function ModifierIndicators() { * const ctrl = useKeyHold('Control') * const shift = useKeyHold('Shift') * const alt = useKeyHold('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> * ) * } * ``` */ export declare function useKeyHold(key: IndividualKey): boolean; //#endregion