1XICHANGEHIERARCHY(3)                                      XICHANGEHIERARCHY(3)
2
3
4

NAME

6       XIChangeHierarchy - change the device hierarchy.
7

SYNOPSIS

9       #include <X11/extensions/XInput2.h>
10
11       Status XIChangeHierarchy( Display *display,
12                                 XIAnyHierarchyChangeInfo *changes,
13                                 int num_changes);
14
15       display
16              Specifies the connection to the X server.
17
18       num_changes
19              Specifies the number of elements in changes.
20
21       changes
22              Specifies the changes to be made.
23

DESCRIPTION

25           XIChangeHierarchy modifies the device hierarchy by creating or
26           removing master devices or changing the attachment of slave
27           devices. If num_changes is non-zero, changes is an array of
28           XIAnyHierarchyChangeInfo structures. If num_changes is equal or less than
29           zero, XIChangeHierarchy does nothing.
30
31           XIChangeHierarchy processes changes in order, effective
32           immediately. If an error occurs, processing is aborted and the
33           error is reported to the client. Changes already made remain
34           effective.
35
36           The list of changes is any combination of
37           XIAnyHierarchyChangeInfo. The type of a hierarchy change can be
38           XIAddMaster, XIRemoveMaster, XIAttachSlave or XIDetachSlave.
39
40           typedef union {
41               int type;
42               XIAddMasterInfo add;
43               XIRemoveMasterInfo remove;
44               XIAttachSlave attach;
45               XIDetachSlave detach;
46           } XIAnyHierarchyChangeInfo;
47
48           typedef struct {
49               int type; /* XIAddMaster */
50               char* name;
51               Bool send_core;
52               Bool enable;
53           } XIAddMasterInfo;
54
55           typedef struct {
56               int type; /* XIRemoveMaster */
57               int deviceid;
58               int return_mode;
59               int return_pointer;
60               int return_keyboard;
61           } XIRemoveMasterInfo;
62
63           typedef struct {
64               int type; /* XIAttachSlave */
65               int deviceid;
66               int new_master;
67           } XIAttachSlaveInfo;
68
69           typedef struct {
70               int type; /* XIDetachSlave */
71               int deviceid;
72           } XIDetachSlaveInfo;
73
74           XIAddMasterInfo creates a new master pointer and a new
75           master keyboard labeled "name pointer" and "name keyboard"
76           respectively. If sendCore is True, the devices will send core
77           events. If enable is True, the device is enabled immediately.
78
79           XIAddMasterInfo can generate a BadValue error.
80
81           XIRemoveMasterInfo removes device and its paired master device.
82           If returnMode is XIAttachToMaster, all pointers attached to
83           device or its paired master device are attached to
84           returnPointer. Likewise, all keyboards are attached to
85           returnKeyboard. If returnMode is XIFloating, all attached
86           devices are set to floating.
87
88           XIRemoveMasterInfo can generate a BadValue and a BadDevice
89           error.
90
91           XIAttachSlaveInfo attaches device to new_master. If the device
92           is currently attached to a master device, it is detached from
93           the master device and attached to the new master device.
94
95           XIAttachSlaveInfo can generate a BadDevice error.
96
97           XIDetachSlaveInfo detaches device from the current master
98           device and sets it floating. If the device is already floating,
99           no changes are made.
100
101           XIDetachSlaveInfo can generate a BadDevice error.
102
103           XIChangeHierarchy generates an XIHierarchyEvent if any
104           modifications were successful.
105

DIAGNOSTICS

107           BadDevice
108                  An invalid device was specified. The device does not
109                  exist or is not a appropriate for the type of change.
110
111           BadValue
112                  Some numeric value falls out of the allowed range.
113
114
115
116                                  09/15/2021              XICHANGEHIERARCHY(3)
Impressum