XQueryPointer(3) XLIB FUNCTIONS XQueryPointer(3)

# [NAME](#NAME)

XQueryPointer - get pointer coordinates

# [SYNTAX](#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](#ARGUMENTS)

[*child\_return*](#child_return)

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

[*display*](#display)

Specifies the connection to the X server.

[*mask\_return*](#mask_return)

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

[*root\_return*](#root_return)

Returns the root window that the pointer is in.

[*root\_x\_return*](#root_x_return)

[*root\_y\_return*](#root_y_return)

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

[*w*](#w)

Specifies the window.

[*win\_x\_return*](#win_x_return)

[*win\_y\_return*](#win_y_return)

Return the pointer coordinates relative to the specified window.

# [DESCRIPTION](#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](#DIAGNOSTICS)

[**BadWindow**](#BadWindow)

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

# [SEE ALSO](#SEE_ALSO)

[**XGetWindowAttributes**(3)](/man/os/libx11/XGetWindowAttributes.3), [**XQueryTree**(3)](/man/os/libx11/XQueryTree.3)  
*Xlib - C Language X Interface*

libX11 1.8.14 X Version 11

---

Document: XQueryPointer(3) from libx11 1.8.14-r3 (Chainguard OS)
Source: https://gitlab.freedesktop.org/xorg/lib/libx11.git
