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
type MaybeHTMLElement = HTMLElement | undefined | null
export interface UsePointerLockOptions extends ConfigurableDocument {}
/**
* Reactive pointer lock.
*
* @see https://vueuse.org/usePointerLock
* @param target
* @param options
*/
export declare function usePointerLock(
target?: MaybeElementRef<MaybeHTMLElement>,
options?: UsePointerLockOptions,
): {
isSupported: ComputedRef<boolean>
element: Ref<MaybeHTMLElement, MaybeHTMLElement>
triggerElement: Ref<MaybeHTMLElement, MaybeHTMLElement>
lock: (e: MaybeElementRef<MaybeHTMLElement> | Event) => Promise<HTMLElement>
unlock: () => Promise<boolean>
}
export type UsePointerLockReturn = ReturnType<typeof usePointerLock>
Source ​
Contributors ​
Anthony Fu
Anthony Fu
Sergey Danilchenko