xcb_query_pointer - Man Page

get pointer coordinates


#include <xcb/xproto.h>

Request function

xcb_query_pointer_cookie_t xcb_query_pointer(xcb_connection_t *conn, xcb_window_t window);

Reply datastructure

typedef struct xcb_query_pointer_reply_t {
    uint8_t      response_type;
    uint8_t      same_screen;
    uint16_t     sequence;
    uint32_t     length;
    xcb_window_t root;
    xcb_window_t child;
    int16_t      root_x;
    int16_t      root_y;
    int16_t      win_x;
    int16_t      win_y;
    uint16_t     mask;
    uint8_t      pad0[2];
} xcb_query_pointer_reply_t;

Reply function

xcb_query_pointer_reply_t *xcb_query_pointer_reply(xcb_connection_t *conn, xcb_query_pointer_cookie_t cookie, xcb_generic_error_t **e);

Request Arguments


The XCB connection to X11.


A window to check if the pointer is on the same screen as window (see the same_screen field in the reply).

Reply Fields


The type of this reply, in this case XCB_QUERY_POINTER. This field is also present in the xcb_generic_reply_t and can be used to tell replies apart from each other.


The sequence number of the last request processed by the X11 server.


The length of the reply, in words (a word is 4 bytes).


If same_screen is False, then the pointer is not on the same screen as the argument window, child is None, and win_x and win_y are zero. If same_screen is True, then win_x and win_y are the pointer coordinates relative to the argument window's origin, and child is the child containing the pointer, if any.


The root window the pointer is logically on.


The child window containing the pointer, if any, if same_screen is true. If same_screen is false, XCB_NONE is returned.


The pointer X position, relative to root.


The pointer Y position, relative to root.


The pointer X coordinate, relative to child, if same_screen is true. Zero otherwise.


The pointer Y coordinate, relative to child, if same_screen is true. Zero otherwise.


The current logical state of the modifier keys and the buttons. Note that the logical state of a device (as seen by means of the protocol) may lag the physical state if device event processing is frozen.


Gets the root window the pointer is logically on and the pointer coordinates relative to the root window's origin.

Return Value

Returns an xcb_query_pointer_cookie_t. Errors have to be handled when calling the reply function xcb_query_pointer_reply.

If you want to handle errors in the event loop instead, use xcb_query_pointer_unchecked. See xcb-requests(3) for details.



The specified window does not exist.

See Also



Generated from xproto.xml. Contact xcb@lists.freedesktop.org for corrections and improvements.

Referenced By

The man pages xcb_query_pointer_reply(3) and xcb_query_pointer_unchecked(3) are aliases of xcb_query_pointer(3).

libxcb 1.13.1 X Version 11 XCB Requests