contro-max
Version:
Game controls done in the best possible way!
18 lines (17 loc) • 615 B
JavaScript
const mouseButtons = ['left', 'middle', 'right'];
// TODO! mouse.spec!
/**
* Browser rejects pointer lock if it wan't requested by the user itself (user gesture)
* @returns Returns null if not supported
*/
export const requestPointerLock = async ({ target = document.documentElement } = {}) => {
if (!document.documentElement.requestPointerLock)
return null;
//@ts-expect-error
const pointerLockPromise = target.requestPointerLock({
unadjustedMovement: true,
});
if (pointerLockPromise)
await pointerLockPromise;
return { usingRawInput: !!pointerLockPromise };
};