---
name: "al_get_mouse_state"
section: "3alleg5"
platform: "linux"
package: "allegro5-doc"
version: "2:5.2.10.1+dfsg-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/al_get_mouse_state/3alleg5"
---

# al\_get\_mouse\_state(3alleg5)

Allegro 5 API

## NAME

al\_get\_mouse\_state - Allegro 5 API

## SYNOPSIS

-

  ```
  #include <allegro5/allegro.h>
  void al_get_mouse_state(ALLEGRO_MOUSE_STATE *ret_state)
  ```

## DESCRIPTION

Save the state of the mouse specified at the time the function is called into the given structure.

Example:

-

  ```
  ALLEGRO_MOUSE_STATE state;
  al_get_mouse_state(&state);
  if (state.buttons & 1) {
      /* Primary (e.g. left) mouse button is held. */
      printf("Mouse position: (%d, %d)\n", state.x, state.y);
  }
  if (state.buttons & 2) {
      /* Secondary (e.g. right) mouse button is held. */
  }
  if (state.buttons & 4) {
      /* Tertiary (e.g. middle) mouse button is held. */
  }
  ```

## SEE ALSO

ALLEGRO\_MOUSE\_STATE(3alleg5), al\_get\_mouse\_state\_axis(3alleg5), al\_mouse\_button\_down(3alleg5)
