specs/XKB: Manual fixup of symbol name markup

Handles typos that caused the scripts to miss matches, misnamed masks, etc.

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
This commit is contained in:
Alan Coopersmith 2014-07-09 23:26:37 -07:00
parent eb1453a0c6
commit c36ee1a4db
15 changed files with 102 additions and 96 deletions

View file

@ -379,7 +379,7 @@ generated.
<tbody>
<row>
<entry>pointer to a structure</entry>
<entry>NULL</entry>
<entry><symbol>NULL</symbol></entry>
</row>
<row>
<entry>Bool</entry>

View file

@ -782,7 +782,7 @@ involve both a server connection (Display *
<para>
The device identifier can specify any X input extension device with a
<emphasis>KeyClass</emphasis>
<symbol>KeyClass</symbol>
component, or it can specify the constant,
<symbol>XkbUseCoreKbd</symbol>.
The use of

View file

@ -57,7 +57,7 @@ The
may yield unpredictable results. The
<parameter>device_spec</parameter>
field specifies the device identifier of the keyboard input device, or
<emphasis>XkbUseCoreKeyboard</emphasis>,
<symbol>XkbUseCoreKbd</symbol>,
which specifies the core keyboard device. The
<structfield>min_key_code</structfield>
and

View file

@ -1028,9 +1028,9 @@ Xkb also allows applications to refer to indicators by name. Use
to get the indicator names (see <xref linkend="Symbolic_Names" />). Using names eliminates the need
for hard-coding bitmask values for particular keyboards. For example, instead
of using vendor-specific constants such as
<emphasis>WSKBLed_ScrollLock</emphasis>
<symbol>WSKBLed_ScrollLock</symbol>
mask on Digital workstations or
<emphasis>XLED_SCROLL_LOCK</emphasis>
<symbol>XLED_SCROLL_LOCK</symbol>
on Sun workstations, you can instead use
<function>XkbGetNamedIndicator</function>
to look up information on the indicator named "Scroll Lock."
@ -1764,8 +1764,8 @@ To receive events for only specific indicators, use
<function>XkbSelectEventDetails</function>.
Set the
<structfield>event_type</structfield>
parameter
<emphasis>to XkbIndicatorStateNotify</emphasis>
parameter to
<symbol>XkbIndicatorStateNotify</symbol>
or
<symbol>XkbIndicatorMapNotify</symbol>,
and set both the
@ -1802,9 +1802,9 @@ typedef struct _XkbIndicatorNotify {
or
<symbol>XkbIndicatorMapNotify</symbol>,
depending on whether the event is a
<emphasis>kbIndicatorStateNotify</emphasis>
<symbol>XkbIndicatorStateNotify</symbol>
event or
<emphasis>kbIndicatorMapNotify</emphasis>
<symbol>XkbIndicatorMapNotify</symbol>,
event.
</para>
@ -1823,7 +1823,7 @@ have changed. If the event is of type
is a mask that specifies the current state of all indicators, whether they
have changed or not, for both
<symbol>XkbIndicatorStateNotify</symbol>
and <emphasis>IndicatorMapNotify</emphasis> events.
and <symbol>XkbIndicatorMapNotify</symbol> events.
</para>
<para>

View file

@ -252,9 +252,9 @@ feedback and keyboard feedback. Some of the functions in this section have
parameters; set them as follows: Set
<structfield>bell_class</structfield>
to
<emphasis>BellFeedbackClass</emphasis>
<symbol>BellFeedbackClass</symbol>
or
<emphasis>KbdFeedbackClass</emphasis>.
<symbol>KbdFeedbackClass</symbol>.
A device can have more than one feedback of each type; set
<structfield>bell_id</structfield>
to the particular bell feedback of
@ -1088,7 +1088,7 @@ can call
as the
<structfield>event_type</structfield>
and specifying
<emphasis>XkbAllBellNotifyMask</emphasis>
<symbol>XkbAllBellEventsMask</symbol>
in
<emphasis>bits_to_change</emphasis>
and

View file

@ -2113,7 +2113,7 @@ To receive
events under all possible conditions, use
<function>XkbSelectEvents</function>
(see <link linkend="Selecting_Xkb_Events">section 4.3</link>) and pass
<emphasis>XkbAccesXNotifyMask</emphasis>
<symbol>XkbAccessXNotifyMask</symbol>
in both
<emphasis>bits_to_change</emphasis>
and
@ -4215,7 +4215,7 @@ operate; the
<para>
The
<emphasis>XkbAX_AnyFeeback</emphasis>
<symbol>XkbAX_AnyFeedback</symbol>
macro accepts a pointer to an
<structname>XkbControlsRec</structname>
structure and tells whether the
@ -4559,7 +4559,7 @@ the corresponding values are still updated in the X server. For example, the
control is enabled (that is, the X servers equivalent of
<emphasis>xkb-&gt;ctrls</emphasis>
has
<emphasis>XkbRepeatKeyMask</emphasis>
<symbol>XkbRepeatKeysMask</symbol>
set in
<structfield>enabled_ctrls</structfield>
). It is permissible to modify the attributes of a control in one call to
@ -4822,8 +4822,8 @@ and the
is set to the type of event that caused the change (one of
<symbol>KeyPress</symbol>,
<symbol>KeyRelease</symbol>,
<emphasis>DeviceKeyPress</emphasis>,
<emphasis>DeviceKeyRelease</emphasis>,
<symbol>DeviceKeyPress</symbol>,
<symbol>DeviceKeyRelease</symbol>,
<symbol>ButtonPress</symbol>
or
<symbol>ButtonRelease</symbol>
@ -4836,9 +4836,9 @@ and the
is
<symbol>KeyPress</symbol>,
<symbol>KeyRelease</symbol>,
<emphasis>DeviceKeyPress</emphasis>,
<symbol>DeviceKeyPress</symbol>,
or
<emphasis>DeviceKeyRelease</emphasis>,
<symbol>DeviceKeyRelease</symbol>,
the
<structfield>keycode</structfield>
field is set to the key that caused the change. If

View file

@ -325,7 +325,7 @@ name is “<literal>ComposeFail</literal>”.
<para>
When Xkb is initialized, it implicitly forces requests for
<emphasis>NewKeyboardNotify</emphasis>
<symbol>NewKeyboardNotify</symbol>
events. These events may be used by the Xkb library extension internally; they
are normally translated into core protocol
<symbol>MappingNotify</symbol>
@ -333,7 +333,7 @@ are normally translated into core protocol
client is appropriate in most cases, it is not appropriate for some clients
that maintain per-key data structures. This is because once the server has sent
a
<emphasis>NewKeyboardNotify</emphasis>
<symbol>NewKeyboardNotify</symbol>
event, it is free to send the client events for all keys in the new range and
that range may be outside of the per-key data structures the client is
maintaining.
@ -344,7 +344,7 @@ maintaining.
The
<emphasis>IgnoreNewKeyboards</emphasis>
control, if enabled, prevents Xkb from mapping
<emphasis>NewKeyboardNotify</emphasis>
<symbol>NewKeyboardNotify</symbol>
events to core
<symbol>MappingNotify</symbol>
events and passing them to the client. The control is initially disabled.

View file

@ -93,7 +93,7 @@ as follows:
<listitem>
<para>
The top-level keyboard geometry description includes a list of up to
<emphasis>MaxColors</emphasis>
<symbol>XkbGeomMaxColors</symbol>
(32)
<emphasis>color names</emphasis>.
A color name is a string whose interpretation is not specified by Xkb. The

View file

@ -853,7 +853,7 @@ server and are always updated by the server whenever it returns the data for an
</entry>
</row>
<row>
<entry><emphasis>XkbVirtuawModsMask</emphasis></entry>
<entry><symbol>XkbVirtualModsMask</symbol></entry>
<entry>vmods</entry>
<entry>server-&gt;vmods[*]</entry>
</row>

View file

@ -2299,9 +2299,9 @@ The
is four and
<parameter>groups</parameter>
only has
<emphasis>Group1Mask</emphasis>
<symbol>XkbGroup1Mask</symbol>
and
<emphasis>Group3Mask</emphasis>
<symbol>XkbGroup3Mask</symbol>
set,
<parameter>new_types_in</parameter>
looks like this:

View file

@ -553,7 +553,7 @@ have an associated data structure.
</row>
<row>
<entry>
<para><emphasis>XKbSA_PtrBtn</emphasis></para>
<para><symbol>XkbSA_PtrBtn</symbol></para>
<para><symbol>XkbSA_LockPtrBtn</symbol></para>
</entry>
<entry><structname>XkbPtrBtnAction</structname></entry><entry>btn</entry>
@ -601,7 +601,7 @@ have an associated data structure.
<row>
<entry>
<para><symbol>XkbSA_DeviceBtn</symbol></para>
<para><emphasis>XKbSA_LockDeviceBtn</emphasis></para>
<para><symbol>XkbSA_LockDeviceBtn</symbol></para>
</entry>
<entry><structname>XkbDeviceBtnAction</structname></entry>
<entry>devbtn</entry>
@ -630,7 +630,7 @@ Actions associated with the
<para><programlisting>
typedef struct _XkbModAction {
unsigned char type; /* <emphasis>XkbSA_{Set|Latch|Lock}Mods</emphasis> */
unsigned char type; /* <symbol>XkbSA_{Set|Latch|Lock}Mods</symbol> */
unsigned char flags; /* with <structfield>type</structfield> , controls the effect on modifiers */
unsigned char mask; /* same as <structfield>mask</structfield> field of a modifier description */
unsigned char real_mods; /* same as <structfield>real_mods</structfield> field of a modifier description */
@ -1006,7 +1006,7 @@ Actions associated with the
<para><programlisting>
typedef struct _XkbGroupAction {
unsigned char type; /* <emphasis>XkbSA_{Set|Latch|Lock}Group</emphasis> */
unsigned char type; /* <symbol>XkbSA_{Set|Latch|Lock}Group</symbol> */
unsigned char flags; /* with <structfield>type</structfield> , controls the effect on groups */
char group_XXX; /* represents a group index or delta */
} <structname>XkbGroupAction</structname>;
@ -1178,7 +1178,7 @@ the server sets the locked keyboard group to
<entry><symbol>XkbSA_LatchToLock</symbol></entry>
<entry>
If set, and the action type is
<emphasis>SA_LatchGroup</emphasis>,
<symbol>XkbSA_LatchGroup</symbol>,
the server locks the action group if it is already latched.
</entry>
</row>
@ -1595,7 +1595,7 @@ pressed and released:
<para><programlisting>
typedef struct _XkbPtrBtnAction {
unsigned char type; /*<emphasis>XkbSA_PtrBtn, XkbSA_LockPtrBtn</emphasis> */
unsigned char type; /* <symbol>XkbSA_PtrBtn</symbol>, <symbol>XkbSA_LockPtrBtn</symbol> */
unsigned char flags; /* with <structfield>type</structfield> , controls the effect on pointer buttons*/
unsigned char count; /* controls number of ButtonPress and ButtonRelease events */
unsigned char button; /* pointer button to simulate */
@ -2119,7 +2119,7 @@ A key press sets the base group as specified by the
bit of the
<structfield>flags</structfield>
field (see section Note). If no other actions are transformed by the
<emphasis>XkbISO_Lock</emphasis>
<symbol>XkbSA_ISOLock</symbol>
action, a key release locks the group. Otherwise, a key release clears group
set by the key press.
</para>
@ -2144,7 +2144,7 @@ If not set, any
actions that occur simultaneously with the
<symbol>XkbSA_ISOLock</symbol>
action are treated as
<emphasis>XkbSA_LockMod</emphasis>
<symbol>XkbSA_LockMods</symbol>
actions instead.
</entry>
</row>
@ -2231,7 +2231,7 @@ the
and
<structfield>vmods2</structfield>
fields (see <link linkend="Actions_for_Changing_Modifiers_State">section 16.1.3</link>). If no other actions are transformed by the
<emphasis>XkbISO_Lock</emphasis>
<symbol>XkbSA_ISOLock</symbol>
action, a key release locks the action modifiers. Otherwise, a key release
clears the base modifiers set by the key press.
</para>
@ -2269,7 +2269,7 @@ If not set, any
actions that occur simultaneously with the
<symbol>XkbSA_ISOLock</symbol>
action are treated as
<emphasis>XkbSA_LockMod</emphasis>
<symbol>XkbSA_LockMods</symbol>
actions instead.
</entry>
</row>
@ -2371,7 +2371,7 @@ The
</thead>
<tbody>
<row>
<entry><emphasis>XkbSA_ISODNoAffectMods</emphasis></entry>
<entry><symbol>XkbSA_ISONoAffectMods</symbol></entry>
<entry>
If
<symbol>XkbSA_ISONoAffectMods</symbol>
@ -3003,7 +3003,7 @@ The
as the
<structfield>event_type</structfield>
and specifying
<emphasis>XkbAllActionMessageMask</emphasis>
<symbol>XkbAllActionMessagesMask</symbol>
in
<emphasis>bits_to_change</emphasis>
and
@ -3176,7 +3176,7 @@ The
<symbol>XkbSA_RedirectKey</symbol>
action normally redirects to another key on the same device as the key that
caused the event, unless that device does not belong to the input extension
<emphasis>KeyClass</emphasis>,
<symbol>KeyClass</symbol>,
in which case this action causes an event on the core keyboard device. (The
input extension categorizes devices by breaking them into classes. Keyboards,
and other input devices with keys, are classified as KeyClass devices by the
@ -3368,9 +3368,9 @@ provides the following convenience macros:
Actions associated with
<structname>XkbDeviceBtnAction</structname>
structures generate
<emphasis>DeviceButtonPress</emphasis>
<symbol>DeviceButtonPress</symbol>
and
<emphasis>DeviceButtonRelease</emphasis>
<symbol>DeviceButtonRelease</symbol>
events instead of normal
<symbol>KeyPress</symbol>
and
@ -3380,7 +3380,7 @@ Actions associated with
<para><programlisting>
typedef struct _XkbDeviceBtnAction {
unsigned char type; /* <emphasis>XkbSA_DeviceBtn, XkbSA_LockDeviceBtn</emphasis> */
unsigned char type; /* <symbol>XkbSA_DeviceBtn</symbol>, <symbol>XkbSA_LockDeviceBtn</symbol> */
unsigned char flags; /* with <structfield>type</structfield> , specifies locking or unlocking */
unsigned char count; /* controls number of DeviceButtonPress and Release events */
unsigned char button; /* index of button on <structfield>device</structfield> */
@ -3426,13 +3426,13 @@ Otherwise, key presses cause one or more input extension device events instead
of the usual key press event. If the
<structfield>count</structfield>
field is zero, a key press generates a single
<emphasis>DeviceButtonPress</emphasis>
<symbol>DeviceButtonPress</symbol>
event. If count is greater than zero, a key press event generates
<structfield>count</structfield>
pairs of
<emphasis>DeviceButtonPress</emphasis>
<symbol>DeviceButtonPress</symbol>
and
<emphasis>DeviceButtonRelease</emphasis>
<symbol>DeviceButtonRelease</symbol>
events.
</para>
</listitem>
@ -3441,11 +3441,11 @@ of the usual key press event. If the
If
<structfield>count</structfield>
is zero, a key release generates an input extension
<emphasis>DeviceButtonRelease</emphasis>
<symbol>DeviceButtonRelease</symbol>
event that matches the event generated by the corresponding key press. If
<structfield>count</structfield>
is nonzero, a key release does not cause a
<emphasis>DeviceButtonRelease</emphasis>
<symbol>DeviceButtonRelease</symbol>
event. Key releases never cause
<symbol>KeyRelease</symbol>
events.
@ -3471,7 +3471,7 @@ Otherwise, if the specified button is not locked and the
bit is not set in the
<structfield>flags</structfield>
field, a key press generates an input extension
<emphasis>DeviceButtonPress</emphasis>
<symbol>DeviceButtonPress</symbol>
event instead of a
<symbol>KeyPress</symbol>
event and locks the button. If the button is already locked or if
@ -3488,7 +3488,7 @@ If the corresponding key press was ignored, and if the
bit is not set in the
<structfield>flags</structfield>
field, a key release generates an input extension
<emphasis>DeviceButtonRelease</emphasis>
<symbol>DeviceButtonRelease</symbol>
event instead of a
<symbol>KeyRelease</symbol>
event and unlocks the button. If the corresponding key press locked a button,
@ -4003,7 +4003,7 @@ currently defined is:
</para>
<para><programlisting>
#define XkbRG_AllowNone 0x80
#define XkbKB_RGAllowNone 0x80
</programlisting></para>
</sect2>
@ -4086,7 +4086,7 @@ that is logically down and then processes the new key press event normally.
If the key itself is logically down when pressed, the key press event is
ignored, but the processing of the corresponding key release depends on the
value of the
<emphasis>Xkb_RGAllowNone</emphasis>
<symbol>XkbKB_RGAllowNone</symbol>
bit in
<structfield>flags</structfield>.
If it is set, the key release is processed normally; otherwise, the key

View file

@ -438,7 +438,7 @@ structure specifies a symbol interpretation:
<para><programlisting>
typedef struct {
KeySym sym; /* keysym of interest or <symbol>NULL</symbol> */
unsigned char flags; /* <emphasis>XkbSI_AutoRepeat, XkbSI_LockingKey</emphasis> */
unsigned char flags; /* <symbol>XkbSI_AutoRepeat</symbol>, <symbol>XkbSI_LockingKey</symbol> */
unsigned char match; /* specifies how mods is interpreted */
unsigned char mods; /* modifier bits, correspond to eight real modifiers */
unsigned char virtual_mod; /* 1 modifier to add to key virtual mod map */

View file

@ -915,8 +915,8 @@ fields in this event are interpreted as the like-named fields in an
<para>
When your application receives a X
<emphasis>kbNamesNotify</emphasis>
When your application receives a
<symbol>XkbNamesNotify</symbol>
event, you can note the changed names in a changes structure using
<function>XkbNoteNameChanges</function>.
</para>

View file

@ -19,9 +19,9 @@ XChangeKeyboardDevice input extension request allows a client to designate an
input extension keyboard device as the X keyboard, in which case the old X
keyboard device becomes inaccessible except via the input device extension. In
this case, core protocol
<emphasis>XMappingNotify</emphasis>
<symbol>MappingNotify</symbol>
and input extension
<emphasis>XChangeDeviceNotify</emphasis>
<symbol>XChangeDeviceNotify</symbol>
events are generated to notify all clients that a new keyboard with a new
keymap has been designated.
</para>
@ -233,12 +233,12 @@ and
<entry>Notification of geometry changes wanted</entry>
</row>
<row>
<entry>XkbNKN_DeviceIDMask</entry>
<entry><symbol>XkbNKN_DeviceIDMask</symbol></entry>
<entry>(1L&lt;&lt;2)</entry>
<entry>Notification of device ID changes wanted</entry>
</row>
<row>
<entry><emphasis>XkbNKN_AllChangesMask</emphasis></entry>
<entry><symbol>XkbAllNewKeyboardEventsMask</symbol></entry>
<entry>(0x7)</entry>
<entry>Includes all of the above masks</entry>
</row>
@ -290,7 +290,7 @@ If the keyboard change is the result of an X Input Extension
contains the input extension major opcode, and
<structfield>req_minor</structfield>
contains the input extension request number for
<emphasis>X_ChangeKeyboardDevice</emphasis>.
<symbol>X_ChangeKeyboardDevice</symbol>.
In this case,
<structfield>device</structfield>
and

View file

@ -10,7 +10,7 @@ input extension. Other types of devices supported by the input extension
include, but are not limited to: mice, tablets, touchscreens, barcode readers,
button boxes, trackballs, identifier devices, data gloves, and eye trackers.
Xkb provides additional control over all X input extension devices, whether
they are <emphasis>KeyClass</emphasis>
they are <symbol>KeyClass</symbol>
devices or not, as well as the core keyboard and pointer.
</para>
@ -59,14 +59,14 @@ the following additional access is provided:
<listitem>
<para>
If allowed, Xkb functionality for additional
<emphasis>KeyClass</emphasis>
<symbol>KeyClass</symbol>
devices supported by the input extension is accessed via those same functions.
</para>
</listitem>
<listitem>
<para>
If allowed, Xkb functionality for non-
<emphasis>KeyClass</emphasis>
<symbol>KeyClass</symbol>
devices supported by the input extension is also accessed via the
XkbGetDeviceInfo and XkbSetDeviceInfo functions described in this chapter.
</para>
@ -77,9 +77,9 @@ XkbGetDeviceInfo and XkbSetDeviceInfo functions described in this chapter.
Each device has an X Input Extension device ID. Each device may have several
classes of feedback. For example, there are two types of feedbacks that can
generate bells: bell feedback and keyboard feedback (
<emphasis>BellFeedbackClass</emphasis>
<symbol>BellFeedbackClass</symbol>
and
<emphasis>KbdFeedbackClass</emphasis>
<symbol>KbdFeedbackClass</symbol>
). A device can have more than one feedback of each type; the feedback ID
identifies the particular feedback within its class.
</para>
@ -124,7 +124,7 @@ If the input extension is present and the server allows interaction between the
input extension and Xkb, then the core keyboard, the core keyboard indicators,
and the core keyboard bells may each be addressed using an appropriate device
spec, class, and ID. The constant
<emphasis>XkbXIDfltID</emphasis>
<symbol>XkbDfltXIId</symbol>
may be used as the device ID to specify the core keyboard indicators for the
core indicator feedback. The particular device ID corresponding to the core
keyboard feedback and the core indicator feedback may be obtained by calling
@ -142,11 +142,11 @@ keyboard feedback and the core indicator feedback may be obtained by calling
<para>
If the server does not allow Xkb access to input extension
<emphasis>KeyClass</emphasis>
<symbol>KeyClass</symbol>
devices, attempts to use Xkb requests with those devices fail with a
<errorname>BadKeyboard</errorname>
error. Attempts to access non-
<emphasis>KeyClass</emphasis>
<symbol>KeyClass</symbol>
input extension devices via XkbGetDeviceInfo and XkbSetDeviceInfo fail
silently if Xkb access to those devices is not supported by the X server.
</para>
@ -201,7 +201,7 @@ The
<structfield>type</structfield>
field is a registered symbolic name for a class of devices (for example,
"TABLET"). If a device is a keyboard (that is, is a member of
<emphasis>KeyClass</emphasis>
<symbol>KeyClass</symbol>
), it has its own state, and
<structfield>has_own_state</structfield>
is
@ -246,7 +246,7 @@ functions described subsequently in this section.
<entry>(1L &lt;&lt; 0)</entry>
<entry>
Clients can use all Xkb requests and events with
<emphasis>KeyClass</emphasis>
<symbol>KeyClass</symbol>
devices supported by the input device extension.
</entry>
</row>
@ -259,7 +259,7 @@ devices supported by the input device extension.
<entry>(1L &lt;&lt;1)</entry>
<entry>
Clients can assign key actions to buttons on non-
<emphasis>KeyClass</emphasis>
<symbol>KeyClass</symbol>
input extension devices.
</entry>
</row>
@ -269,7 +269,7 @@ input extension devices.
<entry>(1L &lt;&lt;2)</entry>
<entry>
Clients can assign names to indicators on non-
<emphasis>KeyClass</emphasis>
<symbol>KeyClass</symbol>
input extension devices.
</entry>
</row>
@ -279,7 +279,7 @@ Clients can assign names to indicators on non-
<entry>(1L &lt;&lt;3)</entry>
<entry>
Clients can assign indicator maps to indicators on non-
<emphasis>KeyClass</emphasis>
<symbol>KeyClass</symbol>
input extension devices.
</entry>
</row>
@ -289,7 +289,7 @@ Clients can assign indicator maps to indicators on non-
<entry>(1L &lt;&lt;4)</entry>
<entry>
Clients can request the status of indicators on non-
<emphasis>KeyClass</emphasis>
<symbol>KeyClass</symbol>
input extension devices.
</entry>
</row>
@ -302,9 +302,9 @@ Clients can request the status of indicators on non-
</entry>
<entry>(0x1c)</entry>
<entry>
<para>XkbXI_IndicatorNames&#xAD;Mask |</para>
<para>XkbXI_IndicatorMaps&#xAD;Mask |</para>
<para>XkbXI_IndicatorState&#xAD;Mask</para>
<para><symbol>XkbXI_IndicatorNames&#xAD;Mask</symbol> |</para>
<para><symbol>XkbXI_IndicatorMaps&#xAD;Mask</symbol> |</para>
<para><symbol>XkbXI_IndicatorState&#xAD;Mask</symbol></para>
</entry>
</row>
<row>
@ -318,8 +318,8 @@ Clients can request the status of indicators on non-
<entry>Those selected by Value column masks</entry>
<entry>(0x1e)</entry>
<entry>
<para>XkbXI_Indicators&#xAD;Mask | </para>
<para>XkbSI_ButtonActions&#xAD;Mask</para>
<para><symbol>XkbXI_Indicators&#xAD;Mask</symbol> | </para>
<para><symbol>XkbXI_ButtonActions&#xAD;Mask</symbol> </para>
</entry>
</row>
<row>
@ -327,8 +327,8 @@ Clients can request the status of indicators on non-
<entry>Those selected by Value column masks</entry>
<entry>(0x1f)</entry>
<entry>
<para>XkbSI_AllDevice&#xAD;FeaturesMask |</para>
<para>XkbSI_Keyboards&#xAD;Mask</para>
<para><symbol>XkbXI_AllDevice&#xAD;FeaturesMask</symbol> | </para>
<para><symbol>XkbXI_Keyboards&#xAD;Mask</symbol> </para>
</entry>
</row>
<row>
@ -336,8 +336,8 @@ Clients can request the status of indicators on non-
<entry>Those selected by Value column masks</entry>
<entry>(0x801f)</entry>
<entry>
<para>XkbXI_AllFeatures&#xAD;Mask | </para>
<para>XkbXI_Unsupported&#xAD;FeaturesMask</para>
<para><symbol>XkbXI_AllFeatures&#xAD;Mask</symbol> | </para>
<para><symbol>XkbXI_Unsupported&#xAD;FeaturesMask</symbol></para>
</entry>
</row>
</tbody>
@ -367,7 +367,7 @@ them.
To determine whether the X server allows Xkb access to particular capabilities
of input devices other than the core X keyboard, or to determine the status of
indicator maps, indicator names or button actions on a non-
<emphasis>KeyClass</emphasis>
<symbol>KeyClass</symbol>
extension device, use XkbGetDeviceInfo.
</para>
@ -496,7 +496,7 @@ the server implementation, and a client may modify the associated behavior.
<para>
If the
<emphasis>XkbButtonActionsMask</emphasis>
<symbol>XkbXI_ButtonActionsMask</symbol>
bit is set in
<parameter>which</parameter>,
the
@ -510,10 +510,12 @@ the
<para>
If
<parameter>which</parameter>
includes one of the bits in XkbXI_IndicatorsMask, the feedback class of the
includes one of the bits in <symbol>XkbXI_IndicatorsMask</symbol>,
the feedback class of the
indicators must be specified in ind_class, and the feedback ID of the
indicators must be specified in ind_id. If the request does not include any of
the bits in XkbXI_IndicatorsMask, the ind_class and ind_id parameters are
the bits in <symbol>XkbXI_IndicatorsMask</symbol>,
the ind_class and ind_id parameters are
ignored. The class and ID can be obtained via the input device extension
XListInputDevices request.
</para>
@ -1321,7 +1323,8 @@ the value of which determines which subcomponents are freed.
<parameter>which</parameter>
is an inclusive OR of one or more of the values from
<link linkend="table21.1">Table 21.1</link>. If which
contains XkbXI_ButtonActionsMask, all button actions associated with
contains <symbol>XkbXI_ButtonActionsMask</symbol>,
all button actions associated with
<parameter>device_info</parameter>
are freed,
<parameter>device_info</parameter>
@ -1333,7 +1336,8 @@ and
<parameter>device_info</parameter>
-&gt;
<structfield>num_btns</structfield>
is set to zero. If which contains all bits in XkbXI_IndicatorsMask, all
is set to zero. If which contains all bits in
<symbol>XkbXI_IndicatorsMask</symbol>, all
<structname>XkbDeviceLedInfoRec</structname>
structures associated with
<parameter>device_info</parameter>
@ -1351,14 +1355,16 @@ and
<parameter>device_info</parameter>
-&gt;
<structfield>num_leds</structfield>
are set to zero. If which contains XkbXI_IndicatorMapsMask, all indicator maps
associated with
are set to zero. If which contains <symbol>XkbXI_IndicatorMapsMask</symbol>,
all indicator maps associated with
<parameter>device_info</parameter>
are cleared, but the number of LEDs and the leds structures themselves are
preserved. If which contains XkbXI_IndicatorNamesMask, all indicator names
preserved. If which contains <symbol>XkbXI_IndicatorNamesMask</symbol>,
all indicator names
associated with device_info are cleared, but the number of LEDs and the leds
structures themselves are preserved. If which contains
XkbXI_IndicatorStateMask, the indicator state associated with the
<symbol>XkbXI_IndicatorStateMask</symbol>,
the indicator state associated with the
<parameter>device_info</parameter>
leds are set to zeros but the number of LEDs and the leds structures
themselves are preserved.
@ -1548,7 +1554,7 @@ If the number of buttons requested to be updated is not valid for the device,
<para>
If the
<emphasis>XkbXI_IndicatorMaps</emphasis>
<symbol>XkbXI_IndicatorMapsMask</symbol>
and / or
<symbol>XkbXI_IndicatorNamesMask</symbol>
bit is set in the supported mask returned by XkbGetDeviceInfo, the Xkb
@ -1788,7 +1794,7 @@ The
as the
<structfield>event_type</structfield>
and specifying
<emphasis>XkbAllExtensionDeviceMask</emphasis>
<symbol>XkbAllExtensionDeviceEventsMask</symbol>
in
<emphasis>bits_to_change</emphasis>
and
@ -1844,7 +1850,7 @@ state or configuration.
<para>
Changes to an Xkb extension device may be tracked by listening to
<emphasis>XkbDeviceExtensionNotify</emphasis>
<symbol>XkbExtensionDeviceNotify</symbol>
events and accumulating the changes in an
<structname>XkbDeviceChangesRec</structname>
structure. The changes noted in the structure may then be used in subsequent