Blame man/DMXGetInputAttributes.man

Packit ec660a
.\" Copyright 2004 Red Hat Inc., Durham, North Carolina.
Packit ec660a
.\" All Rights Reserved.
Packit ec660a
.\"
Packit ec660a
.\" Permission is hereby granted, free of charge, to any person obtaining
Packit ec660a
.\" a copy of this software and associated documentation files (the
Packit ec660a
.\" "Software"), to deal in the Software without restriction, including
Packit ec660a
.\" without limitation on the rights to use, copy, modify, merge,
Packit ec660a
.\" publish, distribute, sublicense, and/or sell copies of the Software,
Packit ec660a
.\" and to permit persons to whom the Software is furnished to do so,
Packit ec660a
.\" subject to the following conditions:
Packit ec660a
.\"
Packit ec660a
.\" he above copyright notice and this permission notice (including the
Packit ec660a
.\" next paragraph) shall be included in all copies or substantial
Packit ec660a
.\" portions of the Software.
Packit ec660a
.\"
Packit ec660a
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
Packit ec660a
.\" EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
Packit ec660a
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
Packit ec660a
.\" NON-INFRINGEMENT.  IN NO EVENT SHALL RED HAT AND/OR THEIR SUPPLIERS
Packit ec660a
.\" BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
Packit ec660a
.\" ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
Packit ec660a
.\" CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
Packit ec660a
.\" SOFTWARE.
Packit ec660a
.TH DMXGetInputAttributes __libmansuffix__ __vendorversion__
Packit ec660a
.SH NAME
Packit ec660a
DMXGetInputAttributes \- determine input device attributes
Packit ec660a
.SH SYNOPSIS
Packit ec660a
.B #include <X11/extensions/dmxext.h>
Packit ec660a
.sp
Packit ec660a
.nf
Packit ec660a
.BI "Bool DMXGetInputAttributes(Display " *dpy ,
Packit ec660a
.BI "                           int " id ,
Packit ec660a
.BI "                           DMXInputAttributes " *attr );
Packit ec660a
.fi
Packit ec660a
.SH DESCRIPTION
Packit ec660a
.B DMXGetInputAttributes()
Packit ec660a
returns information about the input device specified with
Packit ec660a
.IR id .
Packit ec660a
This information cannot be
Packit ec660a
obtained from the
Packit ec660a
.BR XListInputDevices (__libmansuffix__)
Packit ec660a
call.
Packit ec660a
.I id
Packit ec660a
is the same as that used by the
Packit ec660a
.BR XListInputDevices (__libmansuffix__)
Packit ec660a
call, and must be in
Packit ec660a
the range 0 to one less than the value returned by
Packit ec660a
.BR DMXGetInputCount(__libmansuffix__) ,
Packit ec660a
inclusive.
Packit ec660a
.PP
Packit ec660a
The
Packit ec660a
.B DMXInputAttributes
Packit ec660a
structure is:
Packit ec660a
.sp
Packit ec660a
.nf
Packit ec660a
typedef struct {
Packit ec660a
    DMXInputEnum inputType;
Packit ec660a
    int          physicalScreen;
Packit ec660a
    int          physicalId;
Packit ec660a
    Bool         isCore;
Packit ec660a
    Bool         sendsCore;
Packit ec660a
    const char   *name;
Packit ec660a
    Bool         detached;
Packit ec660a
} DMXInputAttributes;
Packit ec660a
.fi
Packit ec660a
.PP
Packit ec660a
The value of
Packit ec660a
.I inputType
Packit ec660a
will always be valid, and will have one of the following values,
Packit ec660a
depending on the type of input:
Packit ec660a
.B DMXLocalInputType ", " DMXConsoleInputType ", or" DMXBackendInputType .
Packit ec660a
.PP
Packit ec660a
For local devices, all other fields returned, except
Packit ec660a
.I isCore " and " sendsCore ,
Packit ec660a
are invalid.
Packit ec660a
.PP
Packit ec660a
For console devices,
Packit ec660a
.I physicalScreen " and " physicalID
Packit ec660a
will be invalid, and
Packit ec660a
.I name
Packit ec660a
will return the name of the X server on which the console window is
Packit ec660a
displayed.
Packit ec660a
.PP
Packit ec660a
For back-end devices,
Packit ec660a
.I physicalScreen
Packit ec660a
will identify the back-end display and can be used as an argument to
Packit ec660a
.BR DMXGetScreenAttributes (__libmansuffix__)
Packit ec660a
to obtain more information;
Packit ec660a
.I physicalId
Packit ec660a
will be the XInput device id on the back-end X server; and
Packit ec660a
.I name
Packit ec660a
will be invalid (since it does not provide any additional information
Packit ec660a
that cannot be obtained with
Packit ec660a
.BR DMXGetScreenAttributes (__libmansuffix__)).
Packit ec660a
.PP
Packit ec660a
If
Packit ec660a
.I isCore
Packit ec660a
is
Packit ec660a
.BR True ,
Packit ec660a
then this device is active as a true core input device and will send
Packit ec660a
core events.  If
Packit ec660a
.B sendsCore
Packit ec660a
is True, then this device is an XInput extension device, but sends core
Packit ec660a
events
Packit ec660a
.I instead
Packit ec660a
of extension events.  This behavior is different from that of XFree86 or
Packit ec660a
Xorg, where XInput extension devices may send
Packit ec660a
.I both
Packit ec660a
extension events and core events.
Packit ec660a
.PP
Packit ec660a
If
Packit ec660a
.I detached
Packit ec660a
is True, then this device has been detached and is no longer producing
Packit ec660a
input events.  The device may be reattached using
Packit ec660a
.BR DMXAddInput (__libmansuffix__).
Packit ec660a
.SH "RETURN VALUE"
Packit ec660a
.B DMXGetInputAttributes()
Packit ec660a
returns
Packit ec660a
.B True
Packit ec660a
unless there is a protocol error.
Packit ec660a
.PP
Packit ec660a
.B DMXGetInputAttributes()
Packit ec660a
can generate
Packit ec660a
.B BadValue
Packit ec660a
(if the value of
Packit ec660a
.I id
Packit ec660a
is out of range).
Packit ec660a
.SH "SEE ALSO"
Packit ec660a
.BR DMXGetInputCount "(__libmansuffix__), "
Packit ec660a
.BR XListInputDevices "(__libmansuffix__), "
Packit ec660a
.BR DMXGetScreenAttributes "(__libmansuffix__), "
Packit ec660a
.BR DMXAddInput "(__libmansuffix__), "
Packit ec660a
.BR DMX "(__libmansuffix__), " Xdmx (1)