---
title: "addPointerInputChange"
description: "Track the positions and timestamps inside this event change.

For optimal tracking, this should be called for the DOWN event and all MOVE events, including any
touch-slop-captured MOVE event.

Since Compose uses relative positions inside PointerInputChange, this should be taken into
consideration when using this method. Right now, we use the first down to initialize an
accumulator and use subsequent deltas to simulate an actual movement from relative positions in
PointerInputChange. This is required because VelocityTracker requires data that can be fit into a
curve, which might not happen with relative positions inside a moving target for instance."
type: "function"
---

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


<a id='references'></a>
<div class='sourceset sourceset-common'>Common</div>


```kotlin
fun VelocityTracker.addPointerInputChange(event: PointerInputChange) =
    addPointerInputChange(event, Offset.Zero)
```


Track the positions and timestamps inside this event change.

For optimal tracking, this should be called for the DOWN event and all MOVE events, including any
touch-slop-captured MOVE event.

Since Compose uses relative positions inside PointerInputChange, this should be taken into
consideration when using this method. Right now, we use the first down to initialize an
accumulator and use subsequent deltas to simulate an actual movement from relative positions in
PointerInputChange. This is required because VelocityTracker requires data that can be fit into a
curve, which might not happen with relative positions inside a moving target for instance.

#### Parameters

| | |
| --- | --- |
| event | Pointer change to track. |




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


```kotlin
fun VelocityTracker.addPointerInputChange(event: PointerInputChange, offset: Offset) =
    platformVelocityTracker.addPointerInputChange(event, offset)
```


Track the positions and timestamps inside this event change.

For optimal tracking, this should be called for the DOWN event and all MOVE events, including any
touch-slop-captured MOVE event.

Since Compose uses relative positions inside PointerInputChange, this should be taken into
consideration when using this method. Right now, we use the first down to initialize an
accumulator and use subsequent deltas to simulate an actual movement from relative positions in
PointerInputChange. This is required because VelocityTracker requires data that can be fit into a
curve, which might not happen with relative positions inside a moving target for instance.

#### Parameters

| | |
| --- | --- |
| event | Pointer change to track. |
| offset | An optional offset that should be applied to the position of the `event` before adding it to the tracker. |




