# androidx.compose.ui.input.indirect

Common/AllAndroid/JVM

## Interfaces

|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerEvent` | An IndirectPointerEvent represents a pointer input event, where the pointer positions do not correspond to a position on the screen. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerInputModifierNode` | A `https://developer.android.com/reference/kotlin/androidx/compose/ui/Modifier.Node` that receives `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerEvent`s. | Cmn |

## Classes

|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerEventPrimaryDirectionalMotionAxis` | The primary axis for motion from an `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerEvent`. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerEventType` | Indicates the reason that the `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerEvent` was sent. | Cmn |
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerInputChange` | Represents a single pointer input change for an indirect pointer event. | Cmn |

## Top-level functions summary

|---|---|---|
| `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerEvent` | `@https://javadoc.io/doc/org.jetbrains/annotations/latest/org/jetbrains/annotations/TestOnly.html https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/package-summary#IndirectPointerEvent(kotlin.collections.List,androidx.compose.ui.input.indirect.IndirectPointerEventType,androidx.compose.ui.input.indirect.IndirectPointerEventPrimaryDirectionalMotionAxis,android.view.MotionEvent)( changes: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerInputChange>, type: https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerEventType, primaryDirectionalMotionAxis: https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerEventPrimaryDirectionalMotionAxis, motionEvent: https://developer.android.com/reference/android/view/MotionEvent.html )` Create a `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/package-summary#IndirectPointerEvent(kotlin.collections.List,androidx.compose.ui.input.indirect.IndirectPointerEventType,androidx.compose.ui.input.indirect.IndirectPointerEventPrimaryDirectionalMotionAxis,android.view.MotionEvent)` for test use cases. | android |

## Extension properties summary

|---|---|---|
| `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/package-summary#(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 |

## Top-level functions

### IndirectPointerEvent

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+function:IndirectPointerEvent)

```
@TestOnly
fun IndirectPointerEvent(
    changes: List<IndirectPointerInputChange>,
    type: IndirectPointerEventType,
    primaryDirectionalMotionAxis: IndirectPointerEventPrimaryDirectionalMotionAxis,
    motionEvent: MotionEvent
): IndirectPointerEvent
```

Create a `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/package-summary#IndirectPointerEvent(kotlin.collections.List,androidx.compose.ui.input.indirect.IndirectPointerEventType,androidx.compose.ui.input.indirect.IndirectPointerEventPrimaryDirectionalMotionAxis,android.view.MotionEvent)` for test use cases. In most cases, you should receive an `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/package-summary#IndirectPointerEvent(kotlin.collections.List,androidx.compose.ui.input.indirect.IndirectPointerEventType,androidx.compose.ui.input.indirect.IndirectPointerEventPrimaryDirectionalMotionAxis,android.view.MotionEvent)` from the system through `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerInputModifierNode`.

If you need to test indirect pointer events, use SemanticsNodeInteractionsProvider.sendIndirectPointerInput() where you do not need to manually create IndirectPointerEvents (instead calling higher-level functions).

| Parameters |
|---|---|
| `changes: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.collections/-list/index.html<https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerInputChange>` | A list of `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerInputChange` associated with the event |
| `type: https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerEventType` | Indicates the reason that the `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/package-summary#IndirectPointerEvent(kotlin.collections.List,androidx.compose.ui.input.indirect.IndirectPointerEventType,androidx.compose.ui.input.indirect.IndirectPointerEventPrimaryDirectionalMotionAxis,android.view.MotionEvent)` was sent. |
| `primaryDirectionalMotionAxis: https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/IndirectPointerEventPrimaryDirectionalMotionAxis` | Primary directional motion axis for testing. |
| `motionEvent: https://developer.android.com/reference/android/view/MotionEvent.html` | The `https://developer.android.com/reference/android/view/MotionEvent.html` to convert to an `https://developer.android.com/reference/kotlin/androidx/compose/ui/input/indirect/package-summary#IndirectPointerEvent(kotlin.collections.List,androidx.compose.ui.input.indirect.IndirectPointerEventType,androidx.compose.ui.input.indirect.IndirectPointerEventPrimaryDirectionalMotionAxis,android.view.MotionEvent)`. |

## 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.