# SDL_JoystickGetBall

Get the ball axis change since the last poll.

## Header File

Defined in [SDL_joystick.h](https://github.com/libsdl-org/SDL/blob/SDL2/include/SDL_joystick.h)

## Syntax

```c
int SDL_JoystickGetBall(SDL_Joystick *joystick,
                        int ball, int *dx, int *dy);
```

## Function Parameters

|                                |              |                                                                   |
| ------------------------------ | ------------ | ----------------------------------------------------------------- |
| [SDL_Joystick](SDL_Joystick) * | **joystick** | the [SDL_Joystick](SDL_Joystick) to query.                        |
| int                            | **ball**     | the ball index to query; ball indices start at index 0.           |
| int *                          | **dx**       | stores the difference in the x axis position since the last poll. |
| int *                          | **dy**       | stores the difference in the y axis position since the last poll. |

## Return Value

(int) Returns 0 on success or a negative error code on failure; call
[SDL_GetError](SDL_GetError)() for more information.

## Remarks

Trackballs can only return relative motion since the last call to
[SDL_JoystickGetBall](SDL_JoystickGetBall)(), these motion deltas are
placed into `dx` and `dy`.

Most joysticks do not have trackballs.

## Version

This function is available since SDL 2.0.0.

## See Also

- [SDL_JoystickNumBalls](SDL_JoystickNumBalls)

----
[CategoryAPI](CategoryAPI), [CategoryAPIFunction](CategoryAPIFunction), [CategoryJoystick](CategoryJoystick)