usePointerLock
Reactive pointer lock.
Demo
Basic Usage
js
import { usePointerLock } from '@vueuse/core'
const { isSupported, lock, unlock, element, triggerElement } = usePointerLock()
Component Usage
This function also provides a renderless component version via the
@vueuse/components
package. Learn more about the usage.
vue
<template>
<UsePointerLock v-slot="{ lock }">
<canvas />
<button @click="lock">
Lock Pointer on Canvas
</button>
</UsePointerLock>
</template>
Type Declarations
typescript
export interface UsePointerLockOptions extends ConfigurableDocument {}
/**
* Reactive pointer lock.
*
* @see https://vueuse.dev.org.tw/usePointerLock
* @param target
* @param options
*/
export declare function usePointerLock(
target?: MaybeElementRef,
options?: UsePointerLockOptions,
): {
isSupported: ComputedRef<boolean>
element: ShallowRef<MaybeElement, MaybeElement>
triggerElement: ShallowRef<MaybeElement, MaybeElement>
lock: (e: MaybeElementRef | Event) => Promise<HTMLElement | SVGElement>
unlock: () => Promise<boolean>
}
export type UsePointerLockReturn = ReturnType<typeof usePointerLock>
Source
Contributors
Changelog
v12.6.0
on 2/14/2025v12.4.0
on 1/10/2025v12.0.0-beta.1
on 11/21/2024v10.8.0
on 2/20/2024a086e
- fix: stricter types