2 .\" Title: xichangehierarchy
3 .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author]
4 .\" Generator: DocBook XSL Stylesheets v1.76.1 <http://docbook.sf.net/>
6 .\" Manual: [FIXME: manual]
7 .\" Source: [FIXME: source]
10 .TH "XICHANGEHIERARCHY" "libmansuffix" "09/23/2011" "[FIXME: source]" "[FIXME: manual]"
11 .\" -----------------------------------------------------------------
12 .\" * Define some portability stuff
13 .\" -----------------------------------------------------------------
14 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
15 .\" http://bugs.debian.org/507673
16 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html
17 .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
20 .\" -----------------------------------------------------------------
21 .\" * set default formatting
22 .\" -----------------------------------------------------------------
23 .\" disable hyphenation
25 .\" disable justification (adjust text to left margin only)
27 .\" -----------------------------------------------------------------
28 .\" * MAIN CONTENT STARTS HERE *
29 .\" -----------------------------------------------------------------
31 XIChangeHierarchy \- change the device hierarchy\&.
35 #include <X11/extensions/XInput2\&.h>
39 Status XIChangeHierarchy( Display *display,
40 XIAnyHierarchyChangeInfo *changes,
46 Specifies the connection to the X server\&.
51 Specifies the number of elements in changes\&.
56 Specifies the changes to be made\&.
64 XIChangeHierarchy modifies the device hierarchy by creating or
65 removing master devices or changing the attachment of slave
66 devices\&. If num_changes is non\-zero, changes is an array of
67 XIAnyHierarchyChangeInfo structures\&. If num_changes is equal or less than
68 zero, XIChangeHierarchy does nothing\&.
78 XIChangeHierarchy processes changes in order, effective
79 immediately\&. If an error occurs, processing is aborted and the
80 error is reported to the client\&. Changes already made remain
91 The list of changes is any combination of
92 XIAnyHierarchyChangeInfo\&. The type of a hierarchy change can be
93 XIAddMaster, XIRemoveMaster, XIAttachSlave or XIDetachSlave\&.
106 XIRemoveMasterInfo remove;
107 XIAttachSlave attach;
108 XIDetachSlave detach;
109 } XIAnyHierarchyChangeInfo;
120 int type; /* XIAddMaster */
135 int type; /* XIRemoveMaster */
140 } XIRemoveMasterInfo;
151 int type; /* XIAttachSlave */
165 int type; /* XIDetachSlave */
177 XIAddMasterInfo creates a new master pointer and a new
178 master keyboard labelled "name pointer" and "name keyboard"
179 respectively\&. If sendCore is True, the devices will send core
180 events\&. If enable is True, the device is enabled immediately\&.
190 XIAddMasterInfo can generate a BadValue error\&.
200 XIRemoveMasterInfo removes device and its paired master device\&.
201 If returnMode is XIAttachToMaster, all pointers attached to
202 device or its paired master device are attached to
203 returnPointer\&. Likewise, all keyboards are attached to
204 returnKeyboard\&. If returnMode is XIFloating, all attached
205 devices are set to floating\&.
215 XIRemoveMasterInfo can generate a BadValue and a BadDevice
226 XIAttachSlaveInfo attaches device to newMaster\&. If the device
227 is currently attached to a master device, it is detached from
228 the master device and attached to the new master device\&.
238 XIAttachSlaveInfo can generate a BadDevice error\&.
248 XIDettachSlaveInfo deattaches device from the current master
249 device and sets it floating\&. If the device is already floating,
250 no changes are made\&.
260 XIDetachSlaveInfo can generate a BadDevice error\&.
270 XIChangeHierarchy generates an XIHierarchyEvent if any
271 modifications were successful\&.
283 An invalid device was specified\&. The device does not
284 exist or is not a appropriate for the type of change\&.
295 Some numeric value falls out of the allowed range\&.