# PenState

`import { PenState } from "destack:input/binding";`

Pen-specific pointer state.

```ds title="PenState"
export struct PenState {
    tool: PenTool;
    pressure: float64;
    tangentialPressure: float64;
    tiltX: float64;
    tiltY: float64;
    altitudeRadians: float64;
    azimuthRadians: float64;
    hoverDistance: float64;
    twist: float64;
    isInContact: boolean;
    isInRange: boolean;
}
```

[language/library/src/input/binding/pointer.ds:62:85](https://github.com/destack-sh/destack/blob/main/language/library/src/input/binding/pointer.ds#L62-L85)

## Members

### `tool: PenTool`

Pen tool kind.

### `pressure: float64`

Pen pressure in the normalized range `[0, 1]` when available.

### `tangentialPressure: float64`

Pen tangential pressure in the normalized range `[-1, 1]` when available.

### `tiltX: float64`

Pen tilt around the x axis in degrees when available.

### `tiltY: float64`

Pen tilt around the y axis in degrees when available.

### `altitudeRadians: float64`

Pen altitude angle in radians when available.

### `azimuthRadians: float64`

Pen azimuth angle in radians when available.

### `hoverDistance: float64`

Hover distance from the surface when available.

### `twist: float64`

Pen barrel rotation in degrees when available.

### `isInContact: boolean`

Whether the pen tip is currently in contact with the surface.

### `isInRange: boolean`

Whether the pen is currently in proximity range.
