UNPKG

contro-max

Version:

Game controls done in the best possible way!

26 lines (25 loc) 705 B
import { useState } from 'react'; import useEventListener from 'use-typed-event-listener'; /** * @example * ```ts * const isPressed = useKeyPressed('KeyZ') * ``` */ export const useKeyPressed = (key, options) => { const [pressed, setIsPressed] = useState(false); useEventListener(window, 'keydown', key => { }); useEventListener(window, 'keydown', async (key) => { // key.k }); return pressed; }; export const usePointerLockActive = () => { const [l, setL] = useState(() => !!document.pointerLockElement); useEventListener(document, 'pointerlockchange', () => { setL(!!document.pointerLockElement); }); return { pointerLocked: l, }; };