Skip to content

useKeyboard

useKeyboard(): KeyboardState

Defined in: src/hooks/useKeyboard/useKeyboard.tsx:43

Hook for tracking keyboard state including modifier keys and pressed keys.

Useful for components that need to respond to keyboard modifiers like Ctrl+drag for snapping, Shift+drag for precision, etc.

Returns

KeyboardState

Current keyboard state

Example

// Track all keys and modifiers
const keyboard = useKeyboard();
const handleMouseMove = (e: MouseEvent) => {
if (keyboard.ctrl) {
// Snap to grid
} else if (keyboard.shift) {
// Precision mode
}
};
// Track only specific keys
const keyboard = useKeyboard({
trackAllKeys: false,
trackedKeys: ['Space', 'Enter', 'Escape']
});
// Check if specific key is pressed
const isSpacePressed = keyboard.pressedKeys.includes('Space');