'\" t .\" Title: xiselectevents .\" Author: [FIXME: author] [see http://www.docbook.org/tdg5/en/html/author] .\" Generator: DocBook XSL Stylesheets vsnapshot .\" Date: 09/05/2024 .\" Manual: \ \& .\" Source: \ \& .\" Language: English .\" .TH "XISELECTEVENTS" "libmansuffix" "09/05/2024" "\ \&" "\ \&" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" XISelectEvents, XIGetSelectedEvents \- select for or get selected XI2 events on the window\&. .SH "SYNOPSIS" .sp .nf #include .fi .sp .nf Status XISelectEvents( Display *display, Window win, XIEventMask *masks, int num_masks); .fi .sp .nf display Specifies the connection to the X server\&. .fi .sp .nf masks Device event mask\&. .fi .sp .nf num_masks Number of masks in masks\&. .fi .sp .nf win Specifies the window\&. .fi .sp .nf XIEventMask *XIGetSelectedEvents( Display *display, Window win, int *num_masks_return); .fi .sp .nf display Specifies the connection to the X server\&. .fi .sp .nf num_masks_return Number of masks in the return value\&. .fi .sp .nf win Specifies the window\&. .fi .SH "DESCRIPTION" .sp .if n \{\ .RS 4 .\} .nf XI2 events must be selected using XISelectEvents\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf XISelectEvents sets the event mask for this client on win\&. Further events are only reported to this client if the event type matches the selected event mask\&. The masks overrides the previously selected event mask for the given device\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf If deviceid is a valid device, the event mask is selected only for this device\&. If deviceid is XIAllDevices or XIAllMasterDevices, the event mask is selected for all devices or all master devices, respectively\&. The effective event mask is the bit\-wise OR of the XIAllDevices, XIAllMasterDevices and the respective device\*(Aqs event mask\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf typedef struct { int deviceid; int mask_len; unsigned char* mask; } XIEventMask; .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf The mask_len specifies the length of mask in bytes\&. mask is a binary mask in the form of (1 << event type)\&. deviceid must be either a device or XIAllDevices or XIAllMasterDevices\&. A client may submit several masks with the same deviceid in one request but only the last mask will be effective\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf XISelectEvents can generate a BadValue, a BadDevice, and a BadWindow error\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf XIGetSelectedEvents returns the events selected by this client on the given window\&. If no events were selected on this window, XIGetSelectedEvents returns NULL and num_masks_return is set to 0\&. If an internal error occurs, XIGetSelectedEvents returns NULL and num_masks_return is set to \-1\&. Otherwise, XIGetSelectedEvent returns the selected event masks for all devices including the masks for XIAllDevices and XIAllMasterDevices .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf The caller must free the returned data using XFree()\&. .fi .if n \{\ .RE .\} .SH "DIAGNOSTICS" .sp .if n \{\ .RS 4 .\} .nf BadValue A value is outside of the permitted range\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf BadWindow A value for a Window argument does not name a defined window\&. .fi .if n \{\ .RE .\} .sp .if n \{\ .RS 4 .\} .nf BadDevice An invalid device was specified\&. The device does not exist\&. .fi .if n \{\ .RE .\}