---
name: "xcb_button_press_event_t"
section: "3"
platform: "linux"
package: "libxcb"
version: "1.17.0-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/xcb_button_press_event_t"
---

# xcb\_button\_press\_event\_t(3)

a mouse button was pressed/released

## NAME

xcb\_button\_press\_event\_t - a mouse button was pressed/released

## SYNOPSIS

**#include \<xcb/xproto.h\>**

### Event datastructure

```

typedef struct xcb_button_press_event_t {
    uint8_t         response_type;
    xcb_button_t    detail;
    uint16_t        sequence;
    xcb_timestamp_t time;
    xcb_window_t    root;
    xcb_window_t    event;
    xcb_window_t    child;
    int16_t         root_x;
    int16_t         root_y;
    int16_t         event_x;
    int16_t         event_y;
    uint16_t        state;
    uint8_t         same_screen;
    uint8_t         pad0;
} xcb_button_press_event_t;
```

## EVENT FIELDS

- *response\_type*

  The type of this event, in this case *XCB\_BUTTON\_RELEASE*. This field is also present in the *xcb\_generic\_event\_t* and can be used to tell events apart from each other.

- *sequence*

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

- *detail*

  The keycode (a number representing a physical key on the keyboard) of the key which was pressed.

- *time*

  Time when the event was generated (in milliseconds).

- *root*

  The root window of *child*.

- *event*

  NOT YET DOCUMENTED.

- *child*

  NOT YET DOCUMENTED.

- *root\_x*

  The X coordinate of the pointer relative to the *root* window at the time of the event.

- *root\_y*

  The Y coordinate of the pointer relative to the *root* window at the time of the event.

- *event\_x*

  If *same\_screen* is true, this is the X coordinate relative to the *event* window's origin. Otherwise, *event\_x* will be set to zero.

- *event\_y*

  If *same\_screen* is true, this is the Y coordinate relative to the *event* window's origin. Otherwise, *event\_y* will be set to zero.

- *state*

  The logical state of the pointer buttons and modifier keys just prior to the event.

- *same\_screen*

  Whether the *event* window is on the same screen as the *root* window.

## DESCRIPTION

## SEE ALSO

**xcb\_generic\_event\_t**(3), [**xcb\_grab\_button**(3)](/xcb_grab_button/3.md), [**xcb\_grab\_pointer**(3)](/xcb_grab_pointer/3.md)

## AUTHOR

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