---
name: "al_get_mouse_state"
section: "3"
platform: "linux"
package: "allegro"
version: "5.2.11.3-2"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/al_get_mouse_state"
---

# al\_get\_mouse\_state(3)

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(3)](/ALLEGRO_MOUSE_STATE/3.md), [al\_get\_mouse\_state\_axis(3)](/al_get_mouse_state_axis/3.md), [al\_mouse\_button\_down(3)](/al_mouse_button_down/3.md)
