---
category: Sensors
---
# usePointerLock
Reactive [pointer lock](https://developer.mozilla.org/en-US/docs/Web/API/Pointer_Lock_API).
## Basic Usage
```ts
import { usePointerLock } from '@vueuse/core';
const { isSupported, lock, unlock, element, triggerElement } = usePointerLock();
```
## Component Usage
```vue
```
## Type Declarations
```ts
export interface UsePointerLockOptions extends ConfigurableDocument {}
/**
* Reactive pointer lock.
*
* @see https://vueuse.org/usePointerLock
* @param target
* @param options
*
* @__NO_SIDE_EFFECTS__
*/
export declare function usePointerLock(
target?: MaybeElementRef,
options?: UsePointerLockOptions,
): {
isSupported: ComputedRef;
element: ShallowRef;
triggerElement: ShallowRef;
lock: (e: MaybeElementRef | Event) => Promise;
unlock: () => Promise;
};
export type UsePointerLockReturn = ReturnType;
```