Skip to content

useKeyPress

Detects keyboard key presses with optional callback support.

import { useKeyPress, useKeyPressCallback } from 'asterui'
function KeyPressExample() {
const escapePressed = useKeyPress('Escape')
useEffect(() => {
if (escapePressed) closeModal()
}, [escapePressed])
return <div>{escapePressed ? 'Escape pressed!' : 'Press Escape'}</div>
}
function CallbackExample() {
useKeyPressCallback('Escape', () => closeModal())
useKeyPressCallback('Enter', () => submitForm(), { preventDefault: true })
return <Form>...</Form>
}
ParameterTypeDescription
targetKeystringKey to detect (e.g., 'Enter', 'Escape', 'a')
optionsUseKeyPressOptionsConfiguration options
ParameterTypeDescription
targetKeystringKey to detect
callback(event: KeyboardEvent) => voidFunction to call
optionsUseKeyPressOptionsConfiguration options
PropertyTypeDefaultDescription
targetHTMLElement | WindowwindowTarget element for listener
event'keydown' | 'keyup''keydown'Event type to listen for
preventDefaultbooleanfalsePrevent default browser behavior
TypeDescription
booleanTrue while the key is pressed