Bool DMXAddInput(Display *dpy, unsigned int mask, DMXInputAttributes *attr, int *id);
Bool DMXAddBackendInput(Display *dpy, int screen, int sendsCore, int *newId);
Bool DMXAddConsoleInput(Display *dpy, const char *name, int sendsCore, int *newId);
The value of mask is computed from the following values:
DMXInputType DMXInputPhysicalScreen DMXInputSendsCore
The DMXInputAttributes structure is:
typedef struct { DMXInputEnum inputType; int physicalScreen; int physicalId; Bool isCore; Bool sendsCore; const char *name; Bool detached; } DMXInputAttributes;
inputType may bave the value DmxConsoleInputType or DmxBackendInputType .
For console devices, name will specify the display to be used.
For back-end devices, physicalScreen will specify the Xdmx(1) screen number.
If sendsCore is True, the new device will be added as a true core device.
If a device was removed with DMXRemoveInput(3) an attempt will be made to reconnect the previous devices (sendsCore is ignored in this case).
DMXAddBackendInput() is a helper function that is used to add input from a back-end server. With this function, screen refers to the back-end screen, sendsCore is True if the new input should send core events (and it ignored if the input has been detached), and newId will hold the device id of the first device in the series added.
DMXAddConsoleInput() is a helper function that is used to add input from a console. With this function, name is the name of the console display, sendsCore is True if the new input should send core events (and it ignored if the input has been detached), and newId will hold the device id of the first device in the series added.
DMXAddInput() can generate BadValue (if inputType is invalid or physicalScreen is out of range), BadAccess (if the input has already been attached or if the backend screen is currently detached).
Attributes that are not specified will default to 0. This may lead to unintended results.