<div class='type'>Interface</div>


<a id='references'></a>

<div class='sourceset sourceset-common'>Common</div>



```kotlin
interface IndirectPointerInputModifierNode : DelegatableNode
```


A `androidx.compose.ui.Modifier.Node` that receives `IndirectPointerEvent`s. This modifier node
only receives events if it is focused, or if a child is focused. If you are implementing this
node, make sure to use this node with a focus modifier (such as focusTarget or focusable), or
make this node also delegate to a `androidx.compose.ui.focus.FocusTargetModifierNode`.


## Functions



<h2 id="onindirectpointerevent-event-pass">onIndirectPointerEvent</h2>

```kotlin
fun onIndirectPointerEvent(event: IndirectPointerEvent, pass: PointerEventPass)
```


Handles `IndirectPointerEvent`s that are dispatched to the node. A node can only receive
`IndirectPointerEvent`s if it is focused, or if a child is focused.

#### Parameters

| | |
| --- | --- |
| event | The `IndirectPointerEvent` that has been dispatched. |
| pass | The `PointerEventPass` in which this function is being called. |





<hr class="docs-overload-divider">


<h2 id="oncancelindirectpointerinput">onCancelIndirectPointerInput</h2>

```kotlin
fun onCancelIndirectPointerInput()
```


Invoked to notify the handler that no more calls to `IndirectPointerInputModifierNode` will
be made, until at least new pointers exist. This can occur for a few reasons:
1. Android dispatches ACTION_CANCEL to Compose.