---
name: "al_set_mouse_wheel_precision"
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_set_mouse_wheel_precision/3alleg5"
---

# al\_set\_mouse\_wheel\_precision(3alleg5)

Allegro 5 API

## NAME

al\_set\_mouse\_wheel\_precision - Allegro 5 API

## SYNOPSIS

-

  ```
  #include <allegro5/allegro.h>
  void al_set_mouse_wheel_precision(int precision)
  ```

## DESCRIPTION

Sets the precision of the mouse wheel (the z and w coordinates). This precision manifests itself as a multiplier on the `dz` and `dw` fields in mouse events. It also affects the `z` and `w` fields of events and ALLEGRO\_MOUSE\_STATE(3alleg5), but not in a simple way if you alter the precision often, so it is suggested to reset those axes to 0 when you change precision. Setting this to a high value allows you to detect small changes in those two axes for some high precision mice. A flexible way of using this precision is to set it to a high value (120 is likely sufficient for most, if not all, mice) and use a floating point `dz` and `dw` like so:

-

  ```
  al_set_mouse_wheel_precision(120);
  ALLEGRO_EVENT event;
  al_wait_for_event(event_queue, &event);
  if (event.type == ALLEGRO_EVENT_MOUSE_AXES) {
    double dz = (double)event.mouse.dz / al_get_mouse_wheel_precision();
    /* Use dz in some way... */
  }
  ```

Precision is set to 1 by default. It is impossible to set it to a lower precision than that.

## SINCE

5\.1.10

## SEE ALSO

al\_get\_mouse\_wheel\_precision(3alleg5)
