# IndirectPointerEvent

Artifact: [androidx.compose.ui:ui](https://developer.android.com/jetpack/androidx/releases/compose-ui) [View Source](https://cs.android.com/search?q=file:androidx/compose/ui/input/indirect/IndirectPointerEvent.kt+class:androidx.compose.ui.input.indirect.IndirectPointerEvent) Added in [1.10.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.10.0) Common/AllAndroid/JVM
- Cmn

  ```
  sealed interface IndirectPointerEvent
  ```

*** ** * ** ***

An IndirectPointerEvent represents a pointer input event, where the pointer positions do not correspond to a position on the screen. Instead, the position of the pointer corresponds to the position on the input device, such as a touchpad.

Since IndirectPointerEvents do not have a position on the screen, they cannot be dispatched through hit-testing and instead they are dispatched through the focus tree, similar to key input. Only the focused component and any of its parents will receive an IndirectPointerEvent.

This event differs from a `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/pointer/PointerEvent` as it does not necessitate an existence of a pointer. If an event were to have an associated pointer, they will be routed to through `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/pointer/PointerEvent`.

## Summary

| ### Public properties |
|---|---|---|
| `https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerInputChange>` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerEvent#changes()` The list of individual pointer changes in this event. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerEventPrimaryDirectionalMotionAxis` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerEvent#primaryDirectionalMotionAxis()` Main coordinate axis to use for movement. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerEventType` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerEvent#type()` The reason the `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerEvent` was sent. | Cmn |

| ### Extension properties |
|---|---|---|
| `https://developer.android.com/reference/android/view/MotionEvent.html` | `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerEvent.https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerEvent#(androidx.compose.ui.input.indirect.IndirectPointerEvent).nativeEvent()` Returns the underlying `https://developer.android.com/reference/android/view/MotionEvent.html` for additional information and cross module testing. | android |

## Public properties

### changes

Cmn Added in [1.10.0](https://developer.android.com/jetpack/androidx/releases/compose-ui#1.10.0)

```
val changes: List<IndirectPointerInputChange>
```

The list of individual pointer changes in this event.

### primaryDirectionalMotionAxis

Cmn

```
val primaryDirectionalMotionAxis: IndirectPointerEventPrimaryDirectionalMotionAxis
```

Main coordinate axis to use for movement.

### type

Cmn

```
val type: IndirectPointerEventType
```

The reason the `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerEvent` was sent.

## Extension properties

### IndirectPointerEvent.nativeEvent

android Artifact: [androidx.compose.ui:ui](https://developer.android.com/jetpack/androidx/releases/compose-ui) [View Source](https://cs.android.com/search?q=file:androidx/compose/ui/input/indirect/AndroidIndirectPointerEvent.android.kt+symbol:nativeEvent)

```
val IndirectPointerEvent.nativeEvent: MotionEvent
```

Returns the underlying `https://developer.android.com/reference/android/view/MotionEvent.html` for additional information and cross module testing.