164 lines
5.9 KiB
Groff
164 lines
5.9 KiB
Groff
|
.\" Copyright (c) 1999 - Sun Microsystems, Inc.
|
||
|
.\" All rights reserved.
|
||
|
.\"
|
||
|
.\" Permission is hereby granted, free of charge, to any person obtaining a
|
||
|
.\" copy of this software and associated documentation files (the
|
||
|
.\" "Software"), to deal in the Software without restriction, including
|
||
|
.\" without limitation the rights to use, copy, modify, merge, publish,
|
||
|
.\" distribute, and/or sell copies of the Software, and to permit persons
|
||
|
.\" to whom the Software is furnished to do so, provided that the above
|
||
|
.\" copyright notice(s) and this permission notice appear in all copies of
|
||
|
.\" the Software and that both the above copyright notice(s) and this
|
||
|
.\" permission notice appear in supporting documentation.
|
||
|
.\"
|
||
|
.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
|
||
|
.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||
|
.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||
|
.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
||
|
.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL
|
||
|
.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING
|
||
|
.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT,
|
||
|
.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION
|
||
|
.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||
|
.\"
|
||
|
.\" Except as contained in this notice, the name of a copyright holder
|
||
|
.\" shall not be used in advertising or otherwise to promote the sale, use
|
||
|
.\" or other dealings in this Software without prior written authorization
|
||
|
.\" of the copyright holder.
|
||
|
.\"
|
||
|
.TH XkbSelectEventDetails __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
|
||
|
.SH NAME
|
||
|
XkbSelectEventDetails \- Selects or deselects for a specific Xkb event and
|
||
|
optionally places conditions on when events of that type are reported to your
|
||
|
client
|
||
|
.SH SYNOPSIS
|
||
|
.B Bool XkbSelectEventDetails
|
||
|
(
|
||
|
.I display,
|
||
|
.I device_spec,
|
||
|
.I event_type,
|
||
|
.I bits_to_change,
|
||
|
.I values_for_bits
|
||
|
)
|
||
|
.br
|
||
|
Display * \fIdisplay\fP\^;
|
||
|
.br
|
||
|
unsigned int \fIdevice_spec\fP\^;
|
||
|
.br
|
||
|
unsigned int \fIevent_type\fP\^;
|
||
|
.br
|
||
|
unsigned long int \fIbits_to_change\fP\^;
|
||
|
.br
|
||
|
unsigned long int \fIvalues_for_bits\fP\^;
|
||
|
.if n .ti +5n
|
||
|
.if t .ti +.5i
|
||
|
.SH ARGUMENTS
|
||
|
.TP
|
||
|
.I display
|
||
|
connection to the X server
|
||
|
.TP
|
||
|
.I device_spec
|
||
|
device ID, or XkbUseCoreKbd
|
||
|
.TP
|
||
|
.I event_type
|
||
|
Xkb event type of interest
|
||
|
.TP
|
||
|
.I bits_to_change
|
||
|
determines events to be selected / deselected
|
||
|
.TP
|
||
|
.I values_for_bits
|
||
|
1=>select, 0->deselect; for events in bits_to_change
|
||
|
.SH DESCRIPTION
|
||
|
.LP
|
||
|
Xkb events are selected using an event mask, much the same as normal core X
|
||
|
events are selected. However, unlike selecting core X events, where you must
|
||
|
specify the selection status (on or off) for all possible event types whenever
|
||
|
you wish to change the selection criteria for any one event, Xkb allows you to
|
||
|
restrict the specification to only the event types you wish to change. This
|
||
|
means that you do not need to remember the event selection values for all
|
||
|
possible types each time you want to change one of them.
|
||
|
|
||
|
Many Xkb event types are generated under several different circumstances. When
|
||
|
selecting to receive an Xkb event, you may specify either that you want it
|
||
|
delivered under all circumstances, or that you want it delivered only for a
|
||
|
subset of the possible circumstances.
|
||
|
|
||
|
You can also deselect an event type that was previously selected for, using the
|
||
|
same granularity.
|
||
|
|
||
|
Xkb provides two functions to select and deselect delivery of Xkb events.
|
||
|
.I XkbSelectEvents
|
||
|
allows you to select or deselect delivery of more than one Xkb event type at
|
||
|
once. Events selected using
|
||
|
.I XkbSelectEvents
|
||
|
are delivered to your program under all circumstances that generate the events.
|
||
|
To restrict delivery of an event to a subset of the conditions under which it
|
||
|
occurs, use
|
||
|
.I XkbSelectEventDetails. XkbSelectEventDetails
|
||
|
only allows you to change the selection conditions for a single event at a time,
|
||
|
but it provides a means of fine-tuning the conditions under which the event is
|
||
|
delivered.
|
||
|
|
||
|
To select or deselect for a specific Xkb event and optionally place conditions
|
||
|
on when events of that type are reported to your client, use
|
||
|
.I XkbSelectEventDetails.
|
||
|
This allows you to exercise a finer granularity of
|
||
|
control over delivery of Xkb events with
|
||
|
.I XkbSelectEvents.
|
||
|
|
||
|
While
|
||
|
.I XkbSelectEvents
|
||
|
allows multiple events to be selected,
|
||
|
.I XkbSelectEventDetails
|
||
|
changes the selection criteria for a single type of Xkb
|
||
|
event. The interpretation of the
|
||
|
.I bits_to_change
|
||
|
and
|
||
|
.I values_for_bits
|
||
|
masks depends on the event type in question.
|
||
|
|
||
|
.I XkbSelectEventDetails
|
||
|
changes the Xkb event selection mask for the keyboard
|
||
|
specified by
|
||
|
.I device_spec
|
||
|
and the Xkb event specified by
|
||
|
.I event_type.
|
||
|
To turn on event selection for an event detail, set the bit for the
|
||
|
detail in the
|
||
|
.I bits_to_change
|
||
|
parameter and set the corresponding bit in the
|
||
|
.I values_for_bits
|
||
|
parameter. To turn off event detail selection for a detail, set
|
||
|
the bit for the detail in the
|
||
|
.I bits_to_change
|
||
|
parameter and do not set the corresponding bit in the
|
||
|
.I values_for_bits
|
||
|
parameter.
|
||
|
|
||
|
If an invalid event type is specified, a BadValue protocol error results. If a
|
||
|
bit is not set in the
|
||
|
.I bits_to_change
|
||
|
parameter, but the corresponding bit is set in the
|
||
|
.I values_for_bits
|
||
|
parameter, a BadMatch protocol error results. If an undefined
|
||
|
bit is set in either the
|
||
|
.I bits_to_change
|
||
|
or the
|
||
|
.I values_for_bits
|
||
|
parameter, a BadValue protocol error results.
|
||
|
|
||
|
For each type of Xkb event, the legal event details that you can specify in the
|
||
|
.I XkbSelectEventDetails
|
||
|
request are listed in the chapters that describe each event in detail.
|
||
|
.SH DIAGNOSTICS
|
||
|
.TP 15
|
||
|
.SM BadMatch
|
||
|
A compatible version of Xkb was not available in the server or an argument has
|
||
|
correct type and range, but is otherwise invalid
|
||
|
.TP 15
|
||
|
.SM BadValue
|
||
|
An argument is out of range
|
||
|
.SH "SEE ALSO"
|
||
|
.BR XkbSelectEvents (__libmansuffix__),
|
||
|
.BR XkbUseCoreKbd (__libmansuffix__)
|