useKeyModifier
A React Hook that allows you to detect if a key modifier is pressed.
Demo
Usage
See API for more details.
Source
Click links below to view source on GitHub.
API
const isModifierPressed = useKeyModifier(keyModifier, options)
KeyModifier
export type KeyModifier =
| 'Alt'
| 'AltGraph'
| 'CapsLock'
| 'Control'
| 'Fn'
| 'FnLock'
| 'Meta'
| 'NumLock'
| 'ScrollLock'
| 'Shift'
| 'Symbol'
| 'SymbolLock'
Options
export type UseModifierOptions<Initial> = {
/**
* Event names that will prompt update to modifier states
*
* @defaultValue ['mousedown', 'mouseup', 'keydown', 'keyup']
*/
events?: WindowEventName[]
/**
* Initial value of the returned ref
*
* @defaultValue null
*/
initial?: Initial
}
Returns
boolean | null
, boolean
indicates if the key modifier is pressed, null
is means that the events not yet fired.
export type UseKeyModifierReturns<Initial> = Initial extends boolean ? boolean : boolean | null