---
name: "XQueryPointer"
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/XQueryPointer/3x"
---

# XQueryPointer(3x)

get pointer coordinates

## NAME

XQueryPointer - get pointer coordinates

## SYNTAX

Bool XQueryPointer(Display \**display*, Window *w*, Window \**root\_return*, Window \**child\_return*, int \**root\_x\_return*, int \**root\_y\_return*, int \**win\_x\_return*, int \**win\_y\_return*, unsigned int \**mask\_return*);

## ARGUMENTS

- *child\_return*

  Returns the child window that the pointer is located in, if any.

- *display*

  Specifies the connection to the X server.

- *mask\_return*

  Returns the current state of the modifier keys and pointer buttons.

- *root\_return*

  Returns the root window that the pointer is in.

- *root\_x\_return*

  - *root\_y\_return*

  Return the pointer coordinates relative to the root window's origin.

- *w*

  Specifies the window.

- *win\_x\_return*

  - *win\_y\_return*

  Return the pointer coordinates relative to the specified window.

## DESCRIPTION

The *XQueryPointer* function returns the root window the pointer is logically on and the pointer coordinates relative to the root window's origin. If *XQueryPointer* returns  *False*, the pointer is not on the same screen as the specified window, and *XQueryPointer* returns  *None* to child\_return and zero to win\_x\_return and win\_y\_return. If  *XQueryPointer* returns  *True*, the pointer coordinates returned to win\_x\_return and win\_y\_return are relative to the origin of the specified window. In this case,  *XQueryPointer* returns the child that contains the pointer, if any, or else *None* to child\_return.

*XQueryPointer* returns the current logical state of the keyboard buttons  and the modifier keys in mask\_return. It sets mask\_return to the bitwise inclusive OR of one or more of the button or modifier key bitmasks to match  the current state of the mouse buttons and the modifier keys.

*XQueryPointer* can generate a *BadWindow* error.

## DIAGNOSTICS

- *BadWindow*

  A value for a Window argument does not name a defined Window.

## SEE ALSO

XGetWindowAttributes(3X11), XQueryTree(3X11)\
 *Xlib - C Language X Interface*
