---
name: "XChangePointerControl"
section: "3x"
platform: "linux"
package: "libx11-dev"
version: "4.3.0.dfsg.1-14sarge7"
release: "Debian 3.1 (Sarge)"
platforms: ["linux"]
url: "https://new.carta.tech/XChangePointerControl/3x"
---

# XChangePointerControl(3x)

control pointer

## NAME

XChangePointerControl, XGetPointerControl - control pointer

## SYNTAX

int XChangePointerControl(Display \**display*, Bool *do\_accel*, Bool *do\_threshold*, int *accel\_numerator*, int *accel\_denominator*, int *threshold*);

int XGetPointerControl(Display \**display*, int \**accel\_numerator\_return*, int \**accel\_denominator\_return*, int \**threshold\_return*);

## ARGUMENTS

- *accel\_denominator*

  Specifies the denominator for the acceleration multiplier.

- *accel\_denominator\_return*

  Returns the denominator for the acceleration multiplier.

- *accel\_numerator*

  Specifies the numerator for the acceleration multiplier.

- *accel\_numerator\_return*

  Returns the numerator for the acceleration multiplier.

- *display*

  Specifies the connection to the X server.

- *do\_accel*

  Specifies a Boolean value that controls whether the values for  the accel\_numerator or accel\_denominator are used.

- *do\_threshold*

  Specifies a Boolean value that controls whether the value for the  threshold is used.

- *threshold*

  Specifies the acceleration threshold.

- *threshold\_return*

  Returns the acceleration threshold.

## DESCRIPTION

The *XChangePointerControl* function defines how the pointing device moves. The acceleration, expressed as a fraction, is a multiplier for movement.  For example, specifying 3/1 means the pointer moves three times as fast as normal. The fraction may be rounded arbitrarily by the X server.   Acceleration only takes effect if the pointer moves more than threshold pixels at once and only applies to the amount beyond the value in the threshold argument. Setting a value to -1 restores the default. The values of the do\_accel and do\_threshold arguments must be  *True* for the pointer values to be set, or the parameters are unchanged. Negative values (other than -1) generate a *BadValue* error, as does a zero value for the accel\_denominator argument.

*XChangePointerControl* can generate a *BadValue* error.

The *XGetPointerControl* function returns the pointer's current acceleration multiplier and acceleration threshold.

## DIAGNOSTICS

- *BadValue*

  Some numeric value falls outside the range of values accepted by the request. Unless a specific range is specified for an argument, the full range defined by the argument's type is accepted.  Any argument defined as a set of alternatives can generate this error.

## SEE ALSO

*Xlib - C Language X Interface*
