specs/XKB: Markup XKB macros as <symbol> instead of <emphasis>

Performed via:
 perl -n -e 'printf "s{<emphasis>\\s*%s\\s*</emphasis>}{<symbol>%s</symbol>};\n", $1, $1 if m{^#define\s+([^\s\(]*)}' \
  /usr/include/X11/extensions/XK*h /usr/include/X11/XKBlib.h \
  | sort -u > xkb-defines.pl
 perl -i -p -f xkb-defines.pl *.xml

Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
This commit is contained in:
Alan Coopersmith 2014-07-08 23:29:49 -07:00
parent 9e397ed37c
commit 83839e3780
20 changed files with 612 additions and 612 deletions

View file

@ -237,7 +237,7 @@ another key in the group is pressed, at which point the previously depressed
key is logically released. Consequently, at most one key in a radio group can
be logically depressed at one time. A radio group is defined by a radio group
index, an optional name, and by assigning each key in the radio group
<emphasis>XkbKB_RadioGroup</emphasis>
<symbol>XkbKB_RadioGroup</symbol>
behavior and the radio group index.
</para>

View file

@ -129,11 +129,11 @@ To determine the compatibility of a library at runtime, call
<para>
Pass the symbolic value
<emphasis>XkbMajorVersion</emphasis>
<symbol>XkbMajorVersion</symbol>
in
<parameter>lib_major_in_out</parameter>
and
<emphasis>XkbMinorVersion</emphasis>
<symbol>XkbMinorVersion</symbol>
in
<parameter>lib_minor_in_out</parameter>.
These arguments represent the version of the library used at compile time.
@ -784,9 +784,9 @@ involve both a server connection (Display *
The device identifier can specify any X input extension device with a
<emphasis>KeyClass</emphasis>
component, or it can specify the constant,
<emphasis>XkbUseCoreKbd</emphasis>.
<symbol>XkbUseCoreKbd</symbol>.
The use of
<emphasis>XkbUseCoreKbd</emphasis>
<symbol>XkbUseCoreKbd</symbol>
allows applications to indicate the core keyboard without having to determine
its device identifier.
</para>
@ -798,12 +798,12 @@ Where an Xkb device identifier is passed as an argument and an
<emphasis>XkbDescRec</emphasis>
<emphasis>device_spec</emphasis>
field is
<emphasis>XkbUseCoreKbd</emphasis>,
<symbol>XkbUseCoreKbd</symbol>,
and if the function returns successfully, the
<emphasis>XkbDescPtr</emphasis>
<emphasis>device_spec</emphasis>
field will have been converted from
<emphasis>XkbUseCoreKbd</emphasis>
<symbol>XkbUseCoreKbd</symbol>
to a real Xkb device ID. If the function does not complete successfully, the
<emphasis>device_spec</emphasis>
field remains unchanged. Subsequently, the device id argument must match the
@ -823,8 +823,8 @@ to use for the keyboard, that ID is the input extension identifier for the
device if the server supports the X Input Extension. If the server does not
support the input extension, the meaning of the identifier is undefined — the
only guarantee is that when you use
<emphasis>XkbUseCoreKbd</emphasis>,
<emphasis>XkbUseCoreKbd</emphasis>
<symbol>XkbUseCoreKbd</symbol>,
<symbol>XkbUseCoreKbd</symbol>
will work and the identifier returned by the server will refer to the core
keyboard device.
</para>

View file

@ -92,7 +92,7 @@ event.
<tbody>
<row>
<entry>
<para><emphasis>XkbNewKeyboardNotify</emphasis></para>
<para><symbol>XkbNewKeyboardNotify</symbol></para>
</entry>
<entry>
<para>Keyboard geometry; keycode range change</para>
@ -107,7 +107,7 @@ event.
<row>
<entry>
<para>
<emphasis>XkbMapNotify</emphasis>
<symbol>XkbMapNotify</symbol>
</para>
</entry>
<entry>
@ -122,7 +122,7 @@ event.
</row>
<row>
<entry>
<para><emphasis>XkbStateNotify</emphasis></para>
<para><symbol>XkbStateNotify</symbol></para>
</entry>
<entry>
<para>Keyboard state change</para>
@ -136,7 +136,7 @@ event.
</row>
<row>
<entry>
<para><emphasis>XkbControlsNotify</emphasis></para>
<para><symbol>XkbControlsNotify</symbol></para>
</entry>
<entry>
<para>Keyboard controls state change</para>
@ -150,7 +150,7 @@ event.
</row>
<row>
<entry>
<para><emphasis>XkbIndicatorStateNotify</emphasis></para>
<para><symbol>XkbIndicatorStateNotify</symbol></para>
</entry>
<entry>
<para>Keyboard indicators state change</para>
@ -164,7 +164,7 @@ event.
</row>
<row>
<entry>
<para><emphasis>XkbIndicatorMapNotify</emphasis></para>
<para><symbol>XkbIndicatorMapNotify</symbol></para>
</entry>
<entry>
<para>Keyboard indicators map change</para>
@ -178,7 +178,7 @@ event.
</row>
<row>
<entry>
<para><emphasis>XkbNamesNotify</emphasis></para>
<para><symbol>XkbNamesNotify</symbol></para>
</entry>
<entry>
<para>Keyboard name change</para>
@ -192,7 +192,7 @@ event.
</row>
<row>
<entry>
<para><emphasis>XkbCompatMapNotify</emphasis></para>
<para><symbol>XkbCompatMapNotify</symbol></para>
</entry>
<entry>
<para>Keyboard compatibility map change</para>
@ -206,7 +206,7 @@ event.
</row>
<row>
<entry>
<para><emphasis>XkbBellNotify</emphasis></para>
<para><symbol>XkbBellNotify</symbol></para>
</entry>
<entry>
<para>Keyboard bell generated</para>
@ -220,7 +220,7 @@ event.
</row>
<row>
<entry>
<para><emphasis>XkbActionMessage</emphasis></para>
<para><symbol>XkbActionMessage</symbol></para>
</entry>
<entry>
<para>Keyboard action message</para>
@ -234,7 +234,7 @@ event.
</row>
<row>
<entry>
<para><emphasis>XkbAccessXNotify</emphasis></para>
<para><symbol>XkbAccessXNotify</symbol></para>
</entry>
<entry>
<para>AccessX state change</para>
@ -248,7 +248,7 @@ event.
</row>
<row>
<entry>
<para><emphasis>XkbExtensionDeviceNotify</emphasis></para>
<para><symbol>XkbExtensionDeviceNotify</symbol></para>
</entry>
<entry>
<para>Extension device change</para>
@ -288,7 +288,7 @@ generated */
Time time; /* server time when event generated */
int xkb_type; /* Xkb minor event code */
unsigned int device; /* Xkb device ID, will not be
<emphasis>XkbUseCoreKbd</emphasis> */
<symbol>XkbUseCoreKbd</symbol> */
} <emphasis>XkbAnyEvent</emphasis>
;
</programlisting></para>
@ -313,11 +313,11 @@ type, and is one of the values listed in
<emphasis>device</emphasis>
field contains the keyboard device identifier associated with the event. This
is never
<emphasis>XkbUseCoreKbd</emphasis>,
<symbol>XkbUseCoreKbd</symbol>,
even if the request that generated the event specified a device of
<emphasis>XkbUseCoreKbd</emphasis>.
<symbol>XkbUseCoreKbd</symbol>.
If the request that generated the event specified
<emphasis>XkbUseCoreKbd</emphasis>,
<symbol>XkbUseCoreKbd</symbol>,
<emphasis>device</emphasis>
contains a value assigned by the server to specify the core keyboard. If the
request that generated the event specified an X input extension device,
@ -413,7 +413,7 @@ them delivered under all conditions, use
</term>
<listitem>
<para>
device ID, or <emphasis>XkbUseCoreKbd</emphasis>
device ID, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -548,7 +548,7 @@ Xkb events with
</term>
<listitem>
<para>
device ID, or <emphasis>XkbUseCoreKbd</emphasis>
device ID, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -682,91 +682,91 @@ in <link linkend="Selecting_Xkb_Events">section 4.3</link>.
<tbody>
<row>
<entry>
<emphasis>XkbNewKeyboardNotifyMask</emphasis>
<symbol>XkbNewKeyboardNotifyMask</symbol>
</entry>
<entry>(1L&lt;&lt;0)</entry>
<entry>Keyboard geometry change</entry>
</row>
<row>
<entry>
<emphasis>XkbMapNotifyMask</emphasis>
<symbol>XkbMapNotifyMask</symbol>
</entry>
<entry>(1L&lt;&lt;1)</entry>
<entry>Keyboard mapping change</entry>
</row>
<row>
<entry>
<para><emphasis>XkbStateNotifyMask</emphasis></para>
<para><symbol>XkbStateNotifyMask</symbol></para>
</entry>
<entry>(1L&lt;&lt;2)</entry>
<entry><para>Keyboard state change</para></entry>
</row>
<row>
<entry>
<para><emphasis>XkbControlsNotifyMask</emphasis></para>
<para><symbol>XkbControlsNotifyMask</symbol></para>
</entry>
<entry>(1L&lt;&lt;3)</entry>
<entry>Keyboard control change</entry>
</row>
<row>
<entry>
<emphasis>XkbIndicatorStateNotifyMask</emphasis>
<symbol>XkbIndicatorStateNotifyMask</symbol>
</entry>
<entry>(1L&lt;&lt;4)</entry>
<entry>Keyboard indicator state change</entry>
</row>
<row>
<entry>
<emphasis>XkbIndicatorMapNotifyMask</emphasis>
<symbol>XkbIndicatorMapNotifyMask</symbol>
</entry>
<entry>(1L&lt;&lt;5)</entry>
<entry>Keyboard indicator map change</entry>
</row>
<row>
<entry>
<emphasis>XkbNamesNotifyMask</emphasis>
<symbol>XkbNamesNotifyMask</symbol>
</entry>
<entry>(1L&lt;&lt;6)</entry>
<entry>Keyboard name change</entry>
</row>
<row>
<entry>
<emphasis>XkbCompatMapNotifyMask</emphasis>
<symbol>XkbCompatMapNotifyMask</symbol>
</entry>
<entry>(1L&lt;&lt;7)</entry>
<entry>Keyboard compat map change</entry>
</row>
<row>
<entry>
<emphasis>XkbBellNotifyMask</emphasis>
<symbol>XkbBellNotifyMask</symbol>
</entry>
<entry>(1L&lt;&lt;8)</entry>
<entry>Bell</entry>
</row>
<row>
<entry>
<emphasis>XkbActionMessageMask</emphasis>
<symbol>XkbActionMessageMask</symbol>
</entry>
<entry>(1L&lt;&lt;9)</entry>
<entry>Action message</entry>
</row>
<row>
<entry>
<emphasis>XkbAccessXNotifyMask</emphasis>
<symbol>XkbAccessXNotifyMask</symbol>
</entry>
<entry>(1L&lt;&lt;10)</entry>
<entry>AccessX features</entry>
</row>
<row>
<entry>
<emphasis>XkbExtensionDeviceNotifyMask</emphasis>
<symbol>XkbExtensionDeviceNotifyMask</symbol>
</entry>
<entry>(1L&lt;&lt;11)</entry>
<entry>Extension device</entry>
</row>
<row>
<entry>
<emphasis>XkbAllEventsMask</emphasis>
<symbol>XkbAllEventsMask</symbol>
</entry>
<entry>(0xFFF)</entry>
<entry>All Xkb events</entry>

View file

@ -378,7 +378,7 @@ To lock and unlock any of the eight real keyboard modifiers, use
</term>
<listitem>
<para>
device ID, or <emphasis>XkbUseCoreKbd</emphasis>
device ID, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -460,7 +460,7 @@ To latch and unlatch any of the eight real keyboard modifiers, use
</term>
<listitem>
<para>
device ID, or <emphasis>XkbUseCoreKbd</emphasis>
device ID, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -579,7 +579,7 @@ To lock the keysym group, use
</term>
<listitem>
<para>
device ID, or <emphasis>XkbUseCoreKbd</emphasis>
device ID, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -643,7 +643,7 @@ To latch the keysym group, use
</term>
<listitem>
<para>
device ID, or <emphasis>XkbUseCoreKbd</emphasis>
device ID, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -738,7 +738,7 @@ To obtain the keyboard state, use
</term>
<listitem>
<para>
device ID, or <emphasis>XkbUseCoreKbd</emphasis>
device ID, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -774,9 +774,9 @@ All group values are expressed as group indices in the range [0..3]. Modifiers a
<para>
The Xkb extension reports
<emphasis>XkbStateNotify</emphasis>
<symbol>XkbStateNotify</symbol>
events to clients wanting notification whenever the Xkb state changes. The changes reported include changes to any aspect of the keyboard state: when a modifier is set or unset, when the current group changes, or when a pointer button is pressed or released. As with all Xkb events,
<emphasis>XkbStateNotify</emphasis>
<symbol>XkbStateNotify</symbol>
events are reported to all interested clients without regard to the current keyboard input focus or grab state.
</para>
@ -866,7 +866,7 @@ listed in <link linkend="table5.3">Table 5.3</link>.
<para>
To track changes in the keyboard state for a particular device, select to receive
<emphasis>XkbStateNotify</emphasis>
<symbol>XkbStateNotify</symbol>
events by calling either
<function>XkbSelectEvents</function>
or
@ -877,11 +877,11 @@ To track changes in the keyboard state for a particular device, select to receiv
<para>
To receive
<emphasis>XkbStateNotify</emphasis>
<symbol>XkbStateNotify</symbol>
events under all possible conditions, use
<function>XkbSelectEvents</function>
and pass
<emphasis>XkbStateNotifyMask</emphasis>
<symbol>XkbStateNotifyMask</symbol>
in both
<emphasis>bits_to_change</emphasis>
and
@ -891,11 +891,11 @@ To receive
<para>
To receive
<emphasis>XkbStateNotify</emphasis>
<symbol>XkbStateNotify</symbol>
events only under certain conditions, use
<function>XkbSelectEventDetails</function>
using
<emphasis>XkbStateNotify</emphasis>
<symbol>XkbStateNotify</symbol>
as the
<emphasis>event_type</emphasis>
and specifying the desired state changes in
@ -908,7 +908,7 @@ To receive
<para>
The structure for
<emphasis>XkbStateNotify</emphasis>
<symbol>XkbStateNotify</symbol>
events is:
</para>
@ -919,8 +919,8 @@ typedef struct {
Bool send_event; /* <symbol>True</symbol> =&gt; synthetically generated */
Display * display; /* server connection where event generated */
Time time; /* server time when event generated */
int xkb_type; /* <emphasis>XkbStateNotify</emphasis> */
int device; /* Xkb device ID, will not be <emphasis>XkbUseCoreKbd</emphasis> */
int xkb_type; /* <symbol>XkbStateNotify</symbol> */
int device; /* Xkb device ID, will not be <symbol>XkbUseCoreKbd</symbol> */
unsigned int changed; /* bits indicating what has changed */
int group; /* group index of effective group */
int base_group; /* group index of base group */
@ -947,12 +947,12 @@ typedef struct {
<para>
When you receive an
<emphasis>XkbStateNotify</emphasis>
<symbol>XkbStateNotify</symbol>
event, the
<emphasis>changed</emphasis>
field indicates which elements of keyboard state have changed.
This will be the bitwise inclusive OR of one or more of the
<emphasis>XkbStateNotify</emphasis>
<symbol>XkbStateNotify</symbol>
event detail masks shown in <link linkend="table5.3">Table 5.3</link>.
All fields reported in the event are valid, but only those indicated in
<emphasis>changed</emphasis>

View file

@ -242,7 +242,7 @@ To retrieve one or more components of a keyboard device description, use
<listitem>
<para>
device for which to fetch description, or
<emphasis>XkbUseCoreKbd</emphasis>
<symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -325,7 +325,7 @@ Otherwise, it returns a pointer to an empty keyboard description structure.
The
<emphasis>device_spec</emphasis>
field will have been initialized to
<emphasis>XkbUseCoreKbd</emphasis>.
<symbol>XkbUseCoreKbd</symbol>.
You may then either fill in the structure components or use Xkb functions to
obtain values for the structure components from a keyboard device.
</para>

View file

@ -87,7 +87,7 @@ represents the i-th virtual modifier.
To set the name of a virtual modifier, use
<function>XkbSetNames</function>,
using
<emphasis>XkbVirtualModNamesMask</emphasis>
<symbol>XkbVirtualModNamesMask</symbol>
in
<parameter>which</parameter>
and the name in the

View file

@ -242,16 +242,16 @@ state of the keyboard to change.</entry>
<para>
Note that if
<emphasis>XkbIM_NoAutomatic</emphasis>
<symbol>XkbIM_NoAutomatic</symbol>
is not set, by default the indicator follows the keyboard state.
</para>
<para>
If
<emphasis>XkbIM_LEDDrivesKB</emphasis>
<symbol>XkbIM_LEDDrivesKB</symbol>
is set and
<emphasis>XkbIM_NoExplicit</emphasis>
<symbol>XkbIM_NoExplicit</symbol>
is not, and if you call a function which updates the servers image of the
indicator map (such as
<function>XkbSetIndicatorMap</function>
@ -260,9 +260,9 @@ indicator map (such as
), Xkb changes the keyboard state and controls to reflect the other fields of
the indicator map, as described in the remainder of this section. If you
attempt to explicitly change the value of an indicator for which
<emphasis>XkbIM_LEDDrivesKB</emphasis>
<symbol>XkbIM_LEDDrivesKB</symbol>
is absent or for which
<emphasis>XkbIM_NoExplicit</emphasis>
<symbol>XkbIM_NoExplicit</symbol>
is present, keyboard state or controls are unaffected.
</para>
@ -274,7 +274,7 @@ For example, a keyboard designer may want to make the
<emphasis>Scroll Lock</emphasis>
LED to be controlled by client applications. To do so, the keyboard designer
could set the
<emphasis>XkbIM_NoExplicit</emphasis>
<symbol>XkbIM_NoExplicit</symbol>
flag for the
<emphasis>CapsLock</emphasis>
@ -289,16 +289,16 @@ the server to automatically change the
modifier state whenever a client application changes the
<emphasis>CapsLock</emphasis>
LED. To do so, the keyboard designer would not set the
<emphasis>XkbIM_NoExplicit</emphasis>
<symbol>XkbIM_NoExplicit</symbol>
flag, but would instead set the
<emphasis>XkbIM_LEDDrivesKB</emphasis>
<symbol>XkbIM_LEDDrivesKB</symbol>
flag.
</para>
<para>
The remaining fields in the indicator map specify the conditions under which
Xkb automatically turns an indicator on or off (only if
<emphasis>XkbIM_NoAutomatic</emphasis>
<symbol>XkbIM_NoAutomatic</symbol>
is not set). If these conditions match the keyboard state, Xkb turns the
indicator on. If the conditions do not match, Xkb turns the indicator off.
</para>
@ -349,7 +349,7 @@ inclusive OR of the following valid values:
<para>
If
<emphasis>XkbIM_NoAutomatic</emphasis>
<symbol>XkbIM_NoAutomatic</symbol>
is not set (the keyboard drives the indicator), the effect of
<emphasis>which_groups</emphasis>
and
@ -431,7 +431,7 @@ The effect of
and
<emphasis>groups</emphasis>
when you change an indicator for which
<emphasis>XkbIM_LEDDrivesKB</emphasis>
<symbol>XkbIM_LEDDrivesKB</symbol>
is set (the indicator drives the keyboard) is shown in
<link linkend="table8.3">Table 8.3</link>. The "New
State" column refers to the new state to which you set the indicator.
@ -561,7 +561,7 @@ modifiers are changed in the modifier definition) or you can use
specifies what criteria Xkb uses to determine a match with the corresponding
<emphasis>mods</emphasis>
field by specifying one or more components of the Xkb keyboard state. If
<emphasis>XkbIM_NoAutomatic</emphasis>
<symbol>XkbIM_NoAutomatic</symbol>
is not set (the keyboard drives the indicator), the indicator is lit whenever
any of the modifiers specified in the
<emphasis>mask</emphasis>
@ -594,7 +594,7 @@ OR of the following values to compose a value for
<para>
If
<emphasis>XkbIM_NoAutomatic</emphasis>
<symbol>XkbIM_NoAutomatic</symbol>
is not set (the keyboard drives the indicator), the effect of
<emphasis>which_mods</emphasis>
and
@ -703,7 +703,7 @@ The effect on the keyboard modifiers of
and
<emphasis>mods</emphasis>
when you change an indicator for which
<emphasis>XkbIM_LEDDrivesKB</emphasis>
<symbol>XkbIM_LEDDrivesKB</symbol>
is set (the indicator drives the keyboard) is shown in
<link linkend="table8.5">Table 8.5</link>. The "New
State" column refers to the new state to which you set the indicator.
@ -885,7 +885,7 @@ current state of the keyboard indicators, use
</term>
<listitem>
<para>
device ID, or <emphasis>XkbUseCoreKbd</emphasis>
device ID, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -1083,7 +1083,7 @@ Use
</term>
<listitem>
<para>
keyboard device ID, or <emphasis>XkbUseCoreKbd</emphasis>
keyboard device ID, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -1244,9 +1244,9 @@ are made.
<para>
If
<emphasis>XkbIM_LEDDrivesKB</emphasis>
<symbol>XkbIM_LEDDrivesKB</symbol>
is set and
<emphasis>XkbIM_NoExplicit</emphasis>
<symbol>XkbIM_NoExplicit</symbol>
is not, and if you call a function that updates the servers image of the
indicator map (such as
<function>XkbSetIndicatorMap</function>
@ -1255,18 +1255,18 @@ indicator map (such as
), Xkb changes the keyboard state and controls to reflect the other fields of
the indicator map. If you attempt to explicitly change the value of an
indicator for which
<emphasis>XkbIM_LEDDrivesKB</emphasis>
<symbol>XkbIM_LEDDrivesKB</symbol>
is absent or for which
<emphasis>XkbIM_NoExplicit</emphasis>
<symbol>XkbIM_NoExplicit</symbol>
is present, keyboard state or controls are unaffected.
</para>
<para>
If neither
<emphasis>XkbIM_NoAutomatic</emphasis>
<symbol>XkbIM_NoAutomatic</symbol>
nor
<emphasis>XkbIM_NoExplicit</emphasis>
<symbol>XkbIM_NoExplicit</symbol>
is set in an indicator map, Xkb honors any request to change the state of the
indicator, but the new state might be immediately superseded by automatic
changes to the indicator state if the keyboard state or controls change.
@ -1282,9 +1282,9 @@ controls simultaneously.
<para>
If you change an indicator for which both the
<emphasis>XkbIM_LEDDrivesKB</emphasis>
<symbol>XkbIM_LEDDrivesKB</symbol>
and
<emphasis>XkbIM_NoAutomatic</emphasis>
<symbol>XkbIM_NoAutomatic</symbol>
flags are specified, Xkb applies the keyboard changes specified in the other
indicator map fields and changes the indicator to reflect the state that was
explicitly requested. The indicator remains in the new state until it is
@ -1294,9 +1294,9 @@ explicitly changed again.
<para>
If the
<emphasis>XkbIM_NoAutomatic</emphasis>
<symbol>XkbIM_NoAutomatic</symbol>
flag is not set and
<emphasis>XkbIM_LEDDrivesKB</emphasis>
<symbol>XkbIM_LEDDrivesKB</symbol>
is set, Xkb applies the changes specified in the other indicator map fields
and sets the state of the indicator to the values specified by the indicator
map. Note that it is possible in this case for the indicator to end up in a
@ -1304,7 +1304,7 @@ different state than the one that was explicitly requested. For example, Xkb
does not extinguish an indicator with
<emphasis>which_mods</emphasis>
of
<emphasis>XkbIM_UseBase</emphasis>
<symbol>XkbIM_UseBase</symbol>
and
<emphasis>mods</emphasis>
of
@ -1318,7 +1318,7 @@ the
<para>
If you explicitly light an indicator for which
<emphasis>XkbIM_LEDDrivesKB</emphasis>
<symbol>XkbIM_LEDDrivesKB</symbol>
is set, Xkb enables all of the boolean controls specified in the
<emphasis>ctrls</emphasis>
field of its indicator map. Explicitly extinguishing such an indicator causes
@ -1469,7 +1469,7 @@ Set the indicator map for the indicator
</term>
<listitem>
<para>
device ID, or <emphasis>XkbUseCoreKbd</emphasis>
device ID, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -1587,11 +1587,11 @@ in <parameter>map</parameter>.
and
<errorname>BadImplementation</errorname>
errors. In addition, it can also generate
<emphasis>XkbIndicatorStateNotify</emphasis>
<symbol>XkbIndicatorStateNotify</symbol>
(see <link linkend="Tracking_Changes_to_Indicator_State_or_Map">section 8.5</link>),
<emphasis>XkbIndicatorMapNotify</emphasis>,
<symbol>XkbIndicatorMapNotify</symbol>,
and
<emphasis>XkbNamesNotify</emphasis>
<symbol>XkbNamesNotify</symbol>
events (see <link linkend="Tracking_Name_Changes">section 18.5</link>).
</para>
@ -1718,9 +1718,9 @@ s can generate
and
<errorname>BadImplementation</errorname>
errors. In addition, it can also generate
<emphasis>XkbIndicatorStateNotify</emphasis>
<symbol>XkbIndicatorStateNotify</symbol>
and
<emphasis>XkbIndicatorMapNotify</emphasis>
<symbol>XkbIndicatorMapNotify</symbol>
events (see <link linkend="Tracking_Changes_to_Indicator_State_or_Map">section 8.5</link>).
</para>
@ -1732,17 +1732,17 @@ s can generate
<para>
Whenever an indicator changes state, the server sends
<emphasis>XkbIndicatorStateNotify</emphasis>
<symbol>XkbIndicatorStateNotify</symbol>
events to all interested clients. Similarly, whenever an indicators map
changes, the server sends
<emphasis>XkbIndicatorMapNotify</emphasis>
<symbol>XkbIndicatorMapNotify</symbol>
events to all interested clients.
</para>
<para>
To receive
<emphasis>XkbIndicatorStateNotify</emphasis>
<symbol>XkbIndicatorStateNotify</symbol>
events, use
<function>XkbSelectEvents</function>
(see <link linkend="Selecting_Xkb_Events">section 4.3</link>) with both the
@ -1750,13 +1750,13 @@ To receive
and
<emphasis>values_for_bits</emphasis>
parameters containing
<emphasis>XkbIndicatorStateNotifyMask</emphasis>.
<symbol>XkbIndicatorStateNotifyMask</symbol>.
To receive
<emphasis>XkbIndicatorMapNotify</emphasis>
<symbol>XkbIndicatorMapNotify</symbol>
events, use
<function>XkbSelectEvents</function>
with
<emphasis>XkbIndicatorMapNotifyMask</emphasis>.
<symbol>XkbIndicatorMapNotifyMask</symbol>.
</para>
@ -1768,7 +1768,7 @@ Set the
parameter
<emphasis>to XkbIndicatorStateNotify</emphasis>
or
<emphasis>XkbIndicatorMapNotify</emphasis>,
<symbol>XkbIndicatorMapNotify</symbol>,
and set both the
<emphasis>bits_to_change</emphasis>
and
@ -1790,7 +1790,7 @@ typedef struct _XkbIndicatorNotify {
Display * display; /* server connection where event generated */
Time time; /* server time when event generated */
int xkb_type; /* specifies state or map notify */
int device; /* Xkb device ID, will not be <emphasis>XkbUseCoreKbd</emphasis> */
int device; /* Xkb device ID, will not be <symbol>XkbUseCoreKbd</symbol> */
unsigned int changed; /* mask of indicators with new state or map */
unsigned int state; /* current state of all indicators */
} <emphasis>XkbIndicatorNotifyEvent</emphasis>;
@ -1799,9 +1799,9 @@ typedef struct _XkbIndicatorNotify {
<para>
<emphasis>xkb_type</emphasis>
is either
<emphasis>XkbIndicatorStateNotify</emphasis>
<symbol>XkbIndicatorStateNotify</symbol>
or
<emphasis>XkbIndicatorMapNotify</emphasis>,
<symbol>XkbIndicatorMapNotify</symbol>,
depending on whether the event is a
<emphasis>kbIndicatorStateNotify</emphasis>
event or
@ -1814,24 +1814,24 @@ The
<emphasis>changed</emphasis>
parameter is a mask that is the bitwise inclusive OR of the indicators that
have changed. If the event is of type
<emphasis>XkbIndicatorMapNotify</emphasis>,
<symbol>XkbIndicatorMapNotify</symbol>,
<emphasis>changed</emphasis>
reports the maps that changed. If the event is of type
<emphasis>XkbIndicatorStateNotify</emphasis>,
<symbol>XkbIndicatorStateNotify</symbol>,
<emphasis>changed</emphasis>
reports the indicators that have changed state.
<parameter>state</parameter>
is a mask that specifies the current state of all indicators, whether they
have changed or not, for both
<emphasis>XkbIndicatorStateNotify</emphasis>
<symbol>XkbIndicatorStateNotify</symbol>
and <emphasis>IndicatorMapNotify</emphasis> events.
</para>
<para>
When your client application receives either a
<emphasis>XkbIndicatorStateNotify</emphasis>
<symbol>XkbIndicatorStateNotify</symbol>
event or
<emphasis>XkbIndicatorMapNotify</emphasis>
<symbol>XkbIndicatorMapNotify</symbol>
event, you can note the changes in a changes structure by calling
<function>XkbNoteIndicatorChanges</function>.
</para>
@ -1888,7 +1888,7 @@ When your client application receives either a
The
<parameter>wanted</parameter>
parameter is the bitwise inclusive OR of
<emphasis>XkbIndicatorMapMask</emphasis>
<symbol>XkbIndicatorMapMask</symbol>
and
<emphasis>XkbIndicatorStateMask</emphasis>.
<function>XkbNoteIndicatorChanges</function>

View file

@ -15,7 +15,7 @@ opposed to any other audible sound generated elsewhere in the system.
<para>
You can ask to receive
<emphasis>XkbBellNotify</emphasis>
<symbol>XkbBellNotify</symbol>
events (see <link linkend="Detecting_Bells">section 9.4</link>) when any client rings any one of the following:
</para>
@ -46,7 +46,7 @@ visual feedback, if any, that is associated with the name.)
<para>
You can also ask to receive
<emphasis>XkbBellNotify</emphasis>
<symbol>XkbBellNotify</symbol>
events when the server rings the default bell or if any client has requested
events only (without the bell sounding) for any of the bell types previously
listed.
@ -60,7 +60,7 @@ bell with some other audible cue might want to turn off the
<emphasis>AudibleBell</emphasis>
control to prevent the server from also generating a sound and avoid
cacophony. If you disable audible bells and request to receive
<emphasis>XkbBellNotify</emphasis>
<symbol>XkbBellNotify</symbol>
events, you can generate feedback different from the default bell.
</para>
@ -103,7 +103,7 @@ You can associate a name to an act of ringing a bell by converting the name to
an Atom and then using this name when you call the functions listed in this
chapter. If an event is generated as a result, the name is then passed to all
other clients interested in receiving
<emphasis>XkbBellNotify</emphasis>
<symbol>XkbBellNotify</symbol>
events. Note that these are arbitrary names and that there is no binding to
any sounds. Any sounds or other effects (such as visual bells on the screen)
must be generated by a client application upon receipt of the bell event
@ -113,7 +113,7 @@ The server does generate some predefined bells for the AccessX controls (see
These named bells are shown in <link linkend="table9.1">Table 9.1</link>;
the name is included
in any bell event sent to clients that have requested to receive
<emphasis>XkbBellNotify</emphasis>
<symbol>XkbBellNotify</symbol>
events.
</para>
@ -203,9 +203,9 @@ Using Xkb you can generate bell events that do not necessarily ring the system
bell. This is useful if you need to use an audio server instead of the system
beep. For example, when an audio client starts, it could disable the audible
bell (the system bell) and then listen for
<emphasis>XkbBellNotify</emphasis>
<symbol>XkbBellNotify</symbol>
events (see <link linkend="Detecting_Bells">section 9.4</link>). When it receives a
<emphasis>XkbBellNotify</emphasis>
<symbol>XkbBellNotify</symbol>
event, the audio client could then send a request to an audio server to play a
sound.
</para>
@ -213,14 +213,14 @@ sound.
<para>
You can control the audible bells feature by passing the
<emphasis>XkbAudibleBellMask</emphasis>
<symbol>XkbAudibleBellMask</symbol>
to
<function>XkbChangeEnabledControls</function>
(see <link linkend="The_EnabledControls_Control">section 10.1.1</link>). If you set
<emphasis>XkbAudibleBellMask</emphasis>
<symbol>XkbAudibleBellMask</symbol>
on, the server rings the system bell when a bell event occurs. This is the
default. If you set
<emphasis>XkbAudibleBellMask</emphasis>
<symbol>XkbAudibleBellMask</symbol>
off and a bell event occurs, the server does not ring the system bell unless
you call
<function>XkbForceDeviceBell</function>
@ -389,7 +389,7 @@ To ring the bell on an X input extension device or the default keyboard, use
</term>
<listitem>
<para>
device ID, or <emphasis>XkbUseCoreKbd</emphasis>
device ID, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -471,7 +471,7 @@ rings the bell as specified for the display and keyboard device and returns
<symbol>True</symbol>.
If you have disabled the audible bell, the server does not ring the system
bell, although it does generate a
<emphasis>XkbBellNotify</emphasis>
<symbol>XkbBellNotify</symbol>
event.
</para>
@ -566,15 +566,15 @@ and
a
<emphasis>device_spec</emphasis>
of
<emphasis>XkbUseCoreKbd</emphasis>,
<symbol>XkbUseCoreKbd</symbol>,
a
<emphasis>bell_class</emphasis>
of
<emphasis>XkbDfltXIClass</emphasis>,
<symbol>XkbDfltXIClass</symbol>,
and a
<emphasis>bell_id</emphasis>
of
<emphasis>XkbDfltXIId</emphasis>,
<symbol>XkbDfltXIId</symbol>,
and returns
<symbol>True</symbol>.
</para>
@ -582,7 +582,7 @@ of
<para>
If you have disabled the audible bell, the server does not ring the system
bell, although it does generate a
<emphasis>XkbBellNotify</emphasis>
<symbol>XkbBellNotify</symbol>
event.
</para>
@ -661,7 +661,7 @@ without ringing the corresponding bell, use
</term>
<listitem>
<para>
device ID, or <emphasis>XkbUseCoreKbd</emphasis>
device ID, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -715,7 +715,7 @@ If a compatible keyboard extension isnt present in the X server,
Otherwise,
<function>XkbDeviceBellEvent</function>
causes an
<emphasis>XkbBellNotify</emphasis>
<symbol>XkbBellNotify</symbol>
event to be sent to all interested clients and returns
<symbol>True</symbol>.
Set
@ -731,7 +731,7 @@ In addition,
may generate
<type>Atom</type>
protocol errors as well as
<emphasis>XkbBellNotify</emphasis>
<symbol>XkbBellNotify</symbol>
events. You can call
<function>XkbBell</function>
without first initializing the keyboard extension.
@ -818,15 +818,15 @@ and
a
<emphasis>device_spec</emphasis>
of
<emphasis>XkbUseCoreKbd</emphasis>,
<symbol>XkbUseCoreKbd</symbol>,
a
<emphasis>bell_class</emphasis>
of
<emphasis>XkbDfltXIClass</emphasis>,
<symbol>XkbDfltXIClass</symbol>,
and a
<emphasis>bell_id</emphasis>
of
<emphasis>XkbDfltXIId</emphasis>,
<symbol>XkbDfltXIId</symbol>,
and returns what
<function>XkbDeviceBellEvent</function>
returns.
@ -834,7 +834,7 @@ of
<para>
<function>XkbBellEvent</function>
generates a <emphasis>XkbBellNotify</emphasis>
generates a <symbol>XkbBellNotify</symbol>
event.
</para>
@ -897,7 +897,7 @@ audible bells, use <function>XkbForceDeviceBell</function>.
</term>
<listitem>
<para>
device ID, or <emphasis>XkbUseCoreKbd</emphasis>
device ID, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -951,7 +951,7 @@ There is no
parameter because
<function>XkbForceDeviceBell</function>
does not cause an
<emphasis>XkbBellNotify</emphasis>
<symbol>XkbBellNotify</symbol>
event.
</para>
@ -1022,13 +1022,13 @@ and
<parameter>percent</parameter>,
<emphasis>device_spec</emphasis>
=
<emphasis>XkbUseCoreKbd</emphasis>,
<symbol>XkbUseCoreKbd</symbol>,
<emphasis>bell_class</emphasis>
=
<emphasis>XkbDfltXIClass</emphasis>,
<symbol>XkbDfltXIClass</symbol>,
<emphasis>bell_id</emphasis>
=
<emphasis>XkbDfltXIId</emphasis>,
<symbol>XkbDfltXIId</symbol>,
<emphasis>window</emphasis>
= None, and
<emphasis>name</emphasis>
@ -1042,7 +1042,7 @@ and returns what
<para>
<function>XkbForceBell</function>
does not cause an
<emphasis>XkbBellNotify</emphasis>
<symbol>XkbBellNotify</symbol>
event.
</para>
@ -1059,15 +1059,15 @@ You can call
<para>
Xkb generates
<emphasis>XkbBellNotify</emphasis>
<symbol>XkbBellNotify</symbol>
events for all bells except for those resulting from calls to
<function>XkbForceDeviceBell</function>
and
<function>XkbForceBell</function>.
To receive
<emphasis>XkbBellNotify</emphasis>
<symbol>XkbBellNotify</symbol>
events under all possible conditions, pass
<emphasis>XkbBellNotifyMask</emphasis>
<symbol>XkbBellNotifyMask</symbol>
in both the
<emphasis>bits_to_change</emphasis>
and
@ -1079,12 +1079,12 @@ and
<para>
The
<emphasis>XkbBellNotify</emphasis>
<symbol>XkbBellNotify</symbol>
event has no event details. It is either selected or it is not. However, you
can call
<function>XkbSelectEventDetails</function>
using
<emphasis>XkbBellNotify</emphasis>
<symbol>XkbBellNotify</symbol>
as the
<emphasis>event_type</emphasis>
and specifying
@ -1099,7 +1099,7 @@ can call
<para>
The structure for the
<emphasis>XkbBellNotify</emphasis>
<symbol>XkbBellNotify</symbol>
event type contains:
</para>
@ -1110,8 +1110,8 @@ typedef struct _XkbBellNotify {
Bool send_event; /* <symbol>True</symbol> =&gt; synthetically generated */
Display * display; /* server connection where event generated */
Time time; /* server time when event generated */
int xkb_type; /* <emphasis>XkbBellNotify</emphasis> */
unsigned int device; /* Xkb device ID, will not be <emphasis>XkbUseCoreKbd</emphasis> */
int xkb_type; /* <symbol>XkbBellNotify</symbol> */
unsigned int device; /* Xkb device ID, will not be <symbol>XkbUseCoreKbd</symbol> */
int percent; /* requested volume as % of max */
int pitch; /* requested pitch in Hz */
int duration; /* requested duration in microseconds */

View file

@ -337,7 +337,7 @@ configure their behavior. For example, the
fields to describe the timing behavior of keys that repeat. The
<emphasis>RepeatControl</emphasis>
behavior is turned on or off depending on the value of the
<emphasis>XkbRepeatKeysMask</emphasis>
<symbol>XkbRepeatKeysMask</symbol>
bit, but you must use other means, as described in this chapter, to configure
its behavior in detail.
</para>
@ -733,7 +733,7 @@ To get the current attributes of the
</term>
<listitem>
<para>
desired device ID, or <emphasis>XkbUseCoreKbd</emphasis>
desired device ID, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -813,7 +813,7 @@ To set the attributes of the RepeatKeys control for a keyboard device, use
</term>
<listitem>
<para>
device to configure, or <emphasis>XkbUseCoreKbd</emphasis>
device to configure, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -1153,9 +1153,9 @@ the
<para>
To specify the overlay to which a key belongs and the alternate keycode it
should generate when that overlay is enabled, assign it either the
<emphasis>XkbKB_Overlay1</emphasis>
<symbol>XkbKB_Overlay1</symbol>
or
<emphasis>XkbKB_Overlay2</emphasis>
<symbol>XkbKB_Overlay2</symbol>
key behaviors, as described in <link linkend="Key_Behavior">section 16.2</link>.
</para>
@ -1239,7 +1239,7 @@ changes as a key is held down. If the control is disabled, pressing a
mouse-pointer key yields one mouse event. When
<emphasis>MouseKeysAccel</emphasis>
is enabled, mouse movement is defined by an initial distance specified in the
<emphasis>XkbSA_MovePtr</emphasis>
<symbol>XkbSA_MovePtr</symbol>
action and the following fields in the
<emphasis>XkbControlsRec</emphasis>
structure (see <link linkend="The_XkbControlsRec_Structure">section 10.8</link>).
@ -1299,7 +1299,7 @@ There are no convenience functions to query or change the attributes of the
The effects of the attributes of the
<emphasis>MouseKeysAccel</emphasis>
control depend on whether the
<emphasis>XkbSA_MovePtr</emphasis>
<symbol>XkbSA_MovePtr</symbol>
action (see <link linkend="Key_Actions">section 16.1</link>) specifies relative or absolute pointer motion.
</para>
@ -1308,11 +1308,11 @@ The effects of the attributes of the
<para>
If an
<emphasis>XkbSA_MovePtr</emphasis>
<symbol>XkbSA_MovePtr</symbol>
action specifies an absolute position for one of the coordinates but still
allows acceleration, all repeated events contain any absolute coordinates
specified in the action. For example, if the
<emphasis>XkbSA_MovePtr</emphasis>
<symbol>XkbSA_MovePtr</symbol>
action specifies an absolute position for the X direction, but a relative
motion for the Y direction, the pointer accelerates in the Y direction, but
stays at the same X position.
@ -1325,7 +1325,7 @@ stays at the same X position.
<para>
If the
<emphasis>XkbSA_MovePtr</emphasis>
<symbol>XkbSA_MovePtr</symbol>
action specifies relative motion, the initial event always moves the cursor
the distance specified in the action. After
<emphasis>mk_delay</emphasis>
@ -1350,7 +1350,7 @@ the action by
<para>
For example, if the
<emphasis>XkbSA_MovePtr</emphasis>
<symbol>XkbSA_MovePtr</symbol>
action specifies a relative motion in the X direction of 5,
<emphasis>mk_delay</emphasis>
=160,
@ -1413,7 +1413,7 @@ accelerated according to the formula:
Where
<emphasis>action_delta</emphasis>
is the relative motion specified by the
<emphasis>XkbSA_MovePtr</emphasis>
<symbol>XkbSA_MovePtr</symbol>
action,
<emphasis>mk_max_speed</emphasis>
and
@ -1555,7 +1555,7 @@ When the
<para>
Some of these key sequences optionally generate audible feedback of the change
in state, as described in <link linkend="The_AccessXFeedback_Control">section 10.6.3</link>, or
<emphasis>XkbControlsNotify</emphasis>
<symbol>XkbControlsNotify</symbol>
events, described in <link linkend="Tracking_Changes_to_Keyboard_Controls">section 10.11</link>.
</para>
@ -1585,9 +1585,9 @@ controls and to change the value of the
When a timeout as specified by
<emphasis>AccessXTimeout</emphasis>
occurs and a control is consequently modified, Xkb generates an
<emphasis>XkbControlsNotify</emphasis>
<symbol>XkbControlsNotify</symbol>
event. For more information on
<emphasis>XkbControlsNotify</emphasis>
<symbol>XkbControlsNotify</symbol>
events, refer to <link linkend="Tracking_Changes_to_Keyboard_Controls">section 10.11</link>.
</para>
@ -1639,7 +1639,7 @@ Use
</term>
<listitem>
<para>
device to query, or <emphasis>XkbUseCoreKbd</emphasis>
device to query, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -1765,7 +1765,7 @@ opts_values</parameter>
</term>
<listitem>
<para>
device to configure, or <emphasis>XkbUseCoreKbd</emphasis>
device to configure, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -1988,7 +1988,7 @@ beeps instead of falling and rising tones; for example, they can generate a
high-pitched beep followed by a low-pitched beep instead of a continuous
falling tone. Other implementations can only ring the bell with one fixed
pitch. In these cases, use the
<emphasis>XkbAX_DumbBellFBMask</emphasis>
<symbol>XkbAX_DumbBellFBMask</symbol>
bit of
<emphasis>ax_options</emphasis>
to indicate that the bell can only ring with a fixed pitch.
@ -1997,7 +1997,7 @@ pitch. In these cases, use the
<para>
When any of the above feedbacks occur, Xkb may generate a
<emphasis>XkbBellNotify</emphasis>
<symbol>XkbBellNotify</symbol>
event (see <link linkend="Detecting_Bells">section 9.4</link>).
</para>
@ -2008,9 +2008,9 @@ When any of the above feedbacks occur, Xkb may generate a
<para>
The server can generate
<emphasis>XkbAccessXNotify</emphasis>
<symbol>XkbAccessXNotify</symbol>
events for some of the global keyboard controls. The structure for the
<emphasis>XkbAccessXNotify</emphasis>
<symbol>XkbAccessXNotify</symbol>
event type is as follows:
</para>
@ -2021,8 +2021,8 @@ typedef struct {
Bool send_event; /* <symbol>True</symbol> =&gt; synthetically generated */
Display * display; /* server connection where event generated */
Time time; /* server time when event generated */
int xkb_type; /* <emphasis>XkbAccessXNotify</emphasis> */
int device; /* Xkb device ID, will not be <emphasis>XkbUseCoreKbd</emphasis> */
int xkb_type; /* <symbol>XkbAccessXNotify</symbol> */
int device; /* Xkb device ID, will not be <symbol>XkbUseCoreKbd</symbol> */
int detail; /* XkbAXN_* */
KeyCode keycode; /* key of event */
int slowKeysDelay; /* current SlowKeys delay */
@ -2108,7 +2108,7 @@ the
<para>
To receive
<emphasis>XkbAccessXNotify</emphasis>
<symbol>XkbAccessXNotify</symbol>
events under all possible conditions, use
<function>XkbSelectEvents</function>
(see <link linkend="Selecting_Xkb_Events">section 4.3</link>) and pass
@ -2122,11 +2122,11 @@ To receive
<para>
To receive
<emphasis>XkbStateNotify</emphasis>
<symbol>XkbStateNotify</symbol>
events only under certain conditions, use
<function>XkbSelectEventDetails</function>
using
<emphasis>XkbAccessXNotify</emphasis>
<symbol>XkbAccessXNotify</symbol>
as the
<emphasis>event_type</emphasis>
and specifying the desired state changes in
@ -2210,7 +2210,7 @@ and
locking, or unlocking of modifiers using
<emphasis>StickyKeys</emphasis>
generates
<emphasis>XkbStateNotify</emphasis>
<symbol>XkbStateNotify</symbol>
events as described in <link linkend="Tracking_Keyboard_State">section 5.4</link>. Repeating keys generate normal
<symbol>KeyPress</symbol>
and
@ -2293,7 +2293,7 @@ To get the
</term>
<listitem>
<para>
device ID, or <emphasis>XkbUseCoreKbd</emphasis>
device ID, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -2369,7 +2369,7 @@ To set the
</term>
<listitem>
<para>
device to configure, or <emphasis>XkbUseCoreKbd</emphasis>
device to configure, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -2475,7 +2475,7 @@ Use
</term>
<listitem>
<para>
device ID, or <emphasis>XkbUseCoreKbd</emphasis>
device ID, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -2551,7 +2551,7 @@ To set the
</term>
<listitem>
<para>
device to configure, or <emphasis>XkbUseCoreKbd</emphasis>
device to configure, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -2766,7 +2766,7 @@ Use
</term>
<listitem>
<para>
device ID, or <emphasis>XkbUseCoreKbd</emphasis>
device ID, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -2797,8 +2797,8 @@ with a mask indicating whether the individual
<para>
<programlisting>
<emphasis>XkbAX_TwoKeysMask</emphasis>
<emphasis>XkbAX_LatchToLockMask</emphasis>
<symbol>XkbAX_TwoKeysMask</symbol>
<symbol>XkbAX_LatchToLockMask</symbol>
</programlisting>
</para>
@ -2896,8 +2896,8 @@ The valid bits to use for both the
<para>
<programlisting>
<emphasis>XkbAX_TwoKeysMask</emphasis>
<emphasis>XkbAX_LatchToLockMask</emphasis>
<symbol>XkbAX_TwoKeysMask</symbol>
<symbol>XkbAX_LatchToLockMask</symbol>
</programlisting>
</para>
@ -3104,7 +3104,7 @@ virtual_values</parameter>
</term>
<listitem>
<para>
device ID, or <emphasis>XkbUseCoreKbd</emphasis>
device ID, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -3314,7 +3314,7 @@ virtual_values</parameter>
</term>
<listitem>
<para>
device ID, or <emphasis>XkbUseCoreKbd</emphasis>
device ID, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -3919,7 +3919,7 @@ global basis. Valid values for
When
<emphasis>groups_wrap</emphasis>
is set to
<emphasis>XkbRedirectIntoRange</emphasis>,
<symbol>XkbRedirectIntoRange</symbol>,
its four low-order bits specify the index of the group to use.
</para>
@ -4152,9 +4152,9 @@ The
<para>
The fields pertaining to each control are relevant only when the control is
enabled (
<emphasis>XkbAccessXFeedbackMask</emphasis>
<symbol>XkbAccessXFeedbackMask</symbol>
or
<emphasis>XkbStickyKeysMask</emphasis>
<symbol>XkbStickyKeysMask</symbol>
bit is turned on in the
<emphasis>enabled_cntrls</emphasis>
field).
@ -4170,13 +4170,13 @@ Xkb provides a set of convenience macros for working with the
</para>
<para><programlisting>
#define <emphasis>XkbAX_NeedOption</emphasis>
#define <symbol>XkbAX_NeedOption</symbol>
(c,w) ((c)-&gt;ax_options&amp;(w))
</programlisting></para>
<para>
The
<emphasis>XkbAX_NeedOption</emphasis>
<symbol>XkbAX_NeedOption</symbol>
macro is useful for determining whether a particular AccessX option is enabled
or not. It accepts a pointer to an
<emphasis>XkbControlsRec</emphasis>
@ -4197,17 +4197,17 @@ XkbAX_NeedOption(ctlrec, XkbAX_LatchToLockMask)
<para>
is nonzero if the latch to lock transition for latching keys is enabled, and
zero if it is disabled. Note that
<emphasis>XkbAX_NeedOption</emphasis>
<symbol>XkbAX_NeedOption</symbol>
only determines whether or not the particular capability is configured to
operate; the
<emphasis>XkbAccessXFeedbackMask</emphasis>
<symbol>XkbAccessXFeedbackMask</symbol>
bit must also be turned on in
<emphasis>enabled_ctrls</emphasis>
for the capability to actually be functioning.
</para>
<para><programlisting>
#define <emphasis>XkbAX_AnyFeedback</emphasis>
#define <symbol>XkbAX_AnyFeedback</symbol>
(c) ((c)-&gt;enabled_ctrls&amp;XkbAccessXFeedbackMask)
</programlisting></para>
@ -4221,18 +4221,18 @@ The
control is enabled or not. If the
<emphasis>AccessXFeedback</emphasis>
control is enabled, the macro returns
<emphasis>XkbAccessXFeedbackMask</emphasis>.
<symbol>XkbAccessXFeedbackMask</symbol>.
Otherwise, it returns zero.
</para>
<para><programlisting>
#define <emphasis>XkbAX_NeedFeedback</emphasis>
#define <symbol>XkbAX_NeedFeedback</symbol>
(c,w) (XkbAX_AnyFeedback(c)&amp;&amp;XkbAX_NeedOption(c,w))
</programlisting></para>
<para>
The
<emphasis>XkbAX_NeedFeedback</emphasis>
<symbol>XkbAX_NeedFeedback</symbol>
macro is useful for determining if both the
<emphasis>AccessXFeedback</emphasis>
control and a particular AccessX feedback option are enabled. The macro
@ -4576,7 +4576,7 @@ boolean controls, you must set
<emphasis>enabled_ctrls</emphasis>
to the appropriate bits to enable only the controls you want and disable all
others, then specify the
<emphasis>XkbControlsEnabledMask</emphasis>
<symbol>XkbControlsEnabledMask</symbol>
in a call to
<function>XkbSetControls</function>.
Because this is somewhat awkward if all you want to do is enable and disable
@ -4715,13 +4715,13 @@ to the server specified by
<para>
Whenever a field in the controls structure changes in the servers keyboard
description, the server sends an
<emphasis>XkbControlsNotify</emphasis>
<symbol>XkbControlsNotify</symbol>
event to all interested clients.To receive
<emphasis>XkbControlsNotify</emphasis>
<symbol>XkbControlsNotify</symbol>
events under all possible conditions, use
<function>XkbSelectEvents</function>
(see <link linkend="Selecting_Xkb_Events">section 4.3</link>) and pass
<emphasis>XkbControlsNotifyMask</emphasis>
<symbol>XkbControlsNotifyMask</symbol>
in both
<emphasis>bits_to_change</emphasis>
and
@ -4731,11 +4731,11 @@ description, the server sends an
<para>
To receive
<emphasis>XkbControlsNotify</emphasis>
<symbol>XkbControlsNotify</symbol>
events only under certain conditions, use
<function>XkbSelectEventDetails</function>
using
<emphasis>XkbControlsNotify</emphasis>
<symbol>XkbControlsNotify</symbol>
as the
<emphasis>event_type</emphasis>
and specifying the desired state changes in
@ -4748,7 +4748,7 @@ To receive
<para>
The structure for the
<emphasis>XkbControlsNotify</emphasis>
<symbol>XkbControlsNotify</symbol>
event is defined as follows:
</para>
@ -4759,8 +4759,8 @@ typedef struct {
Bool send_event; /* <symbol>True</symbol> =&gt; synthetically generated */
Display * display; /* server connection where event generated */
Time time; /* server time when event generated */
int xkb_type; /* <emphasis>XkbCompatMapNotify</emphasis> */
int device; /* Xkb device ID, will not be <emphasis>XkbUseCoreKbd</emphasis> */
int xkb_type; /* <symbol>XkbCompatMapNotify</symbol> */
int device; /* Xkb device ID, will not be <symbol>XkbUseCoreKbd</symbol> */
unsigned int changed_ctrls; /* bits indicating which controls data have changed*/
unsigned int enabled_ctrls; /* controls currently enabled in server */
unsigned int enabled_ctrl_changes; /* bits indicating enabled/disabled controls */
@ -4852,7 +4852,7 @@ the
<para>
When a client receives an
<emphasis>XkbControlsNotify</emphasis>
<symbol>XkbControlsNotify</symbol>
event, it can note the changes in a changes structure using
<function>XkbNoteControlsChanges</function>.
</para>

View file

@ -58,9 +58,9 @@ a
<para>
The X Keyboard Extension uses
<emphasis>XkbMapNotify</emphasis>
<symbol>XkbMapNotify</symbol>
and
<emphasis>XkbNewKeyboardNotify</emphasis>
<symbol>XkbNewKeyboardNotify</symbol>
events to track changes to the keyboard mapping. When an Xkb-aware client
receives either event, it should call
<function>XkbRefreshKeyboardMapping</function>
@ -68,14 +68,14 @@ receives either event, it should call
duplicate events, the X server does not send core protocol
<symbol>MappingNotify</symbol>
events to a client that has selected for
<emphasis>XkbMapNotify</emphasis>
<symbol>XkbMapNotify</symbol>
events.
</para>
<para>
The implicit support for Xkb selects for
<emphasis>XkbMapNotify</emphasis>
<symbol>XkbMapNotify</symbol>
events. This means that clients that do not explicitly use Xkb but that are
using a version of the X library that has implicit support for Xkb do not
receive
@ -93,18 +93,18 @@ explicitly selected for the Xkb version of the event.
An Xkb-capable X server does not send events from keys that fall outside the
legal range of keycodes expected by that client. Once the server sends a client
an
<emphasis>XkbNewKeyboardNotify</emphasis>
<symbol>XkbNewKeyboardNotify</symbol>
event, it reports events from all keys because it assumes that any client that
has receieved an
<emphasis>XkbNewKeyboardNotify</emphasis>
<symbol>XkbNewKeyboardNotify</symbol>
event expects key events from the new range of keycodes. The implicit support
for Xkb asks for
<emphasis>XkbNewKeyboardNotify</emphasis>
<symbol>XkbNewKeyboardNotify</symbol>
events, so the range of keycodes reported to the client might vary without the
clients knowledge. Most clients dont really care about the range of legal
keycodes, but some clients maintain information about each key and might have
problems with events that come from unexpected keys. Such clients can set the
<emphasis>XkbLC_IgnoreNewKeyboards</emphasis>
<symbol>XkbLC_IgnoreNewKeyboards</symbol>
library control (see <link linkend="IgnoreNewKeyboards">section 11.3.1</link>) to prevent the implicit support from
requesting notification of changes to the legal range of keycodes.
</para>
@ -200,7 +200,7 @@ reflect changes reported via
events. When Xkb is missing or disabled, this function reloads the entire
modifier map or keyboard mapping. When Xkb is present, the implicit Xkb support
keeps track of the changed components reported by each
<emphasis>XkbMapNotify</emphasis>
<symbol>XkbMapNotify</symbol>
event and updates only those pieces of the keyboard description that have
changed. If the implicit support has not noted any keyboard mapping changes,
<function>XRefreshKeyboardMapping</function>
@ -748,7 +748,7 @@ To update the keyboard description that is internal to the X library, use
information to this client. A client usually invokes
<function>XkbRefreshKeyboardMapping</function>
after receiving an
<emphasis>XkbMapNotify</emphasis>
<symbol>XkbMapNotify</symbol>
event.
<function>XkbRefreshKeyboardMapping</function>
returns
@ -761,7 +761,7 @@ information to this client. A client usually invokes
<para>
The
<emphasis>XkbMapNotify</emphasis>
<symbol>XkbMapNotify</symbol>
event can be generated when some client calls
<function>XkbSetMap</function>,
<function>XkbChangeMap</function>,

View file

@ -581,7 +581,7 @@ The structures these doodads are stored in and the values of the
<emphasis>XkbIndicatorDoodadRec</emphasis>
</entry>
<entry>
<emphasis>XkbIndicatorDoodad</emphasis>
<symbol>XkbIndicatorDoodad</symbol>
</entry>
</row>
<row>
@ -592,7 +592,7 @@ The structures these doodads are stored in and the values of the
<emphasis>XkbShapeDoodadRec</emphasis>
</entry>
<entry>
<emphasis>XkbOutlineDoodad</emphasis>
<symbol>XkbOutlineDoodad</symbol>
</entry>
</row>
<row>
@ -603,7 +603,7 @@ The structures these doodads are stored in and the values of the
<emphasis>XkbShapeDoodadRec</emphasis>
</entry>
<entry>
<emphasis>XkbSolidDoodad</emphasis>
<symbol>XkbSolidDoodad</symbol>
</entry>
</row>
<row>
@ -614,7 +614,7 @@ The structures these doodads are stored in and the values of the
<emphasis>XkbTextDoodadRec</emphasis>
</entry>
<entry>
<emphasis>XkbTextDoodad</emphasis>
<symbol>XkbTextDoodad</symbol>
</entry>
</row>
<row>
@ -625,7 +625,7 @@ The structures these doodads are stored in and the values of the
<emphasis>XkbLogoDoodadRec</emphasis>
</entry>
<entry>
<emphasis>XkbLogoDoodad</emphasis>
<symbol>XkbLogoDoodad</symbol>
</entry>
</row>
</tbody>
@ -1013,8 +1013,8 @@ relative to the keyboards origin if the doodad is in the
<para><programlisting>
typedef struct _XkbShapeDoodad {
Atom name; /* doodad name */
unsigned char type; /* <emphasis>XkbOutlineDoodad</emphasis>
or <emphasis>XkbSolidDoodad</emphasis> */
unsigned char type; /* <symbol>XkbOutlineDoodad</symbol>
or <symbol>XkbSolidDoodad</symbol> */
unsigned char priority; /* drawing priority,
0=&gt;highest, 255=&gt;lowest */
short top; /* top coordinate, in <emphasis>mm</emphasis>/<emphasis>10</emphasis> */
@ -1028,7 +1028,7 @@ typedef struct _XkbShapeDoodad {
<para><programlisting>
typedef struct _XkbTextDoodad {
Atom name; /* doodad name */
unsigned char type; /* <emphasis>XkbTextDoodad</emphasis> */
unsigned char type; /* <symbol>XkbTextDoodad</symbol> */
unsigned char priority; /* drawing priority,
0=&gt;highest, 255=&gt;lowest */
short top; /* top coordinate, in <emphasis>mm</emphasis>/<emphasis>10</emphasis> */
@ -1045,7 +1045,7 @@ typedef struct _XkbTextDoodad {
<para><programlisting>
typedef struct _XkbIndicatorDoodad {
Atom name; /* doodad name */
unsigned char type; /* <emphasis>XkbIndicatorDoodad</emphasis> */
unsigned char type; /* <symbol>XkbIndicatorDoodad</symbol> */
unsigned char priority; /* drawing priority, 0=&gt;highest, 255=&gt;lowest */
short top; /* top coordinate, in <emphasis>mm</emphasis>/<emphasis>10</emphasis> */
short left; /* left coordinate, in <emphasis>mm</emphasis>/<emphasis>10</emphasis> */
@ -1059,7 +1059,7 @@ typedef struct _XkbIndicatorDoodad {
<para><programlisting>
typedef struct _XkbLogoDoodad {
Atom name; /* doodad name */
unsigned char type; /* <emphasis>XkbLogoDoodad</emphasis> */
unsigned char type; /* <symbol>XkbLogoDoodad</symbol> */
unsigned char priority; /* drawing priority, 0=&gt;highest, 255=&gt;lowest */
short top; /* top coordinate, in <emphasis>mm</emphasis>/<emphasis>10</emphasis> */
short left; /* left coordinate, in <emphasis>mm</emphasis>/<emphasis>10</emphasis> */

View file

@ -287,7 +287,7 @@ populated.
</term>
<listitem>
<para>
device_id, or <emphasis>XkbUseCoreKbd</emphasis>
device_id, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -376,7 +376,7 @@ information on these functions.
</thead>
<tbody>
<row>
<entry><emphasis>XkbKeyTypesMask</emphasis></entry>
<entry><symbol>XkbKeyTypesMask</symbol></entry>
<entry>(1&lt;&lt;0)</entry>
<entry>client</entry>
<entry>
@ -393,7 +393,7 @@ information on these functions.
<entry>15.2</entry>
</row>
<row>
<entry><emphasis>XkbKeySymsMask</emphasis></entry>
<entry><symbol>XkbKeySymsMask</symbol></entry>
<entry>(1&lt;&lt;1)</entry>
<entry>client</entry>
<entry>
@ -410,7 +410,7 @@ information on these functions.
<entry>15.3</entry>
</row>
<row>
<entry><emphasis>XkbModifierMapMask</emphasis></entry>
<entry><symbol>XkbModifierMapMask</symbol></entry>
<entry>(1&lt;&lt;2)</entry>
<entry>client</entry>
<entry><emphasis>modmap</emphasis></entry>
@ -418,7 +418,7 @@ information on these functions.
<entry>15.4</entry>
</row>
<row>
<entry><emphasis>XkbExplicitComponentsMask</emphasis></entry>
<entry><symbol>XkbExplicitComponentsMask</symbol></entry>
<entry>(1&lt;&lt;3)</entry>
<entry>server</entry>
<entry><emphasis>explicit</emphasis></entry>
@ -426,7 +426,7 @@ information on these functions.
<entry>16.3</entry>
</row>
<row>
<entry><emphasis>XkbKeyActionsMask</emphasis></entry>
<entry><symbol>XkbKeyActionsMask</symbol></entry>
<entry>(1&lt;&lt;4)</entry>
<entry>server</entry>
<entry>
@ -442,7 +442,7 @@ information on these functions.
<entry>16.1</entry>
</row>
<row>
<entry><emphasis>XkbKeyBehaviorsMask</emphasis></entry>
<entry><symbol>XkbKeyBehaviorsMask</symbol></entry>
<entry>(1&lt;&lt;5)</entry>
<entry>server</entry>
<entry><emphasis>behaviors</emphasis></entry>
@ -450,7 +450,7 @@ information on these functions.
<entry>16.2</entry>
</row>
<row>
<entry><emphasis>XkbVirtualModsMask</emphasis></entry>
<entry><symbol>XkbVirtualModsMask</symbol></entry>
<entry>(1&lt;&lt;6)</entry>
<entry>server</entry>
<entry><emphasis>vmods</emphasis></entry>
@ -458,7 +458,7 @@ information on these functions.
<entry>16.4</entry>
</row>
<row>
<entry><emphasis>XkbVirtualModMapMask</emphasis></entry>
<entry><symbol>XkbVirtualModMapMask</symbol></entry>
<entry>(1&lt;&lt;7)</entry>
<entry>server</entry>
<entry><emphasis>vmodmap</emphasis></entry>
@ -787,7 +787,7 @@ server and are always updated by the server whenever it returns the data for an
</thead>
<tbody>
<row>
<entry><emphasis>XkbKeyTypesMask</emphasis></entry>
<entry><symbol>XkbKeyTypesMask</symbol></entry>
<entry>
<para>first_type</para>,
<para>num_types</para>
@ -798,7 +798,7 @@ server and are always updated by the server whenever it returns the data for an
</entry>
</row>
<row>
<entry><emphasis>XkbKeySymsMask</emphasis></entry>
<entry><symbol>XkbKeySymsMask</symbol></entry>
<entry>
<para>first_key_sym</para>,
<para>num_key_syms</para>
@ -809,7 +809,7 @@ server and are always updated by the server whenever it returns the data for an
</entry>
</row>
<row>
<entry><emphasis>XkbModifierMapMask</emphasis></entry>
<entry><symbol>XkbModifierMapMask</symbol></entry>
<entry>
<para>first_modmap_key</para>,
<para>num_modmap_keys</para>
@ -820,7 +820,7 @@ server and are always updated by the server whenever it returns the data for an
</entry>
</row>
<row>
<entry><emphasis>XkbExplicitComponentsMask</emphasis></entry>
<entry><symbol>XkbExplicitComponentsMask</symbol></entry>
<entry>
<para>first_key_explicit</para>,
<para>num_key_explicit</para>
@ -831,7 +831,7 @@ server and are always updated by the server whenever it returns the data for an
</entry>
</row>
<row>
<entry><emphasis>XkbKeyActionsMask</emphasis></entry>
<entry><symbol>XkbKeyActionsMask</symbol></entry>
<entry>
<para>first_key_act,</para>
<para>num_key_acts</para>
@ -842,7 +842,7 @@ server and are always updated by the server whenever it returns the data for an
</entry>
</row>
<row>
<entry><emphasis>XkbKeyBehaviorsMask</emphasis></entry>
<entry><symbol>XkbKeyBehaviorsMask</symbol></entry>
<entry>
<para>first_key_behavior,</para>
<para>num_key_behaviors</para>
@ -858,7 +858,7 @@ server and are always updated by the server whenever it returns the data for an
<entry>server-&gt;vmods[*]</entry>
</row>
<row>
<entry><emphasis>XkbVirtualModMapMask</emphasis></entry>
<entry><symbol>XkbVirtualModMapMask</symbol></entry>
<entry>
<para>first_vmodmap_key,</para>
<para>num_vmodmap_keys</para>
@ -973,7 +973,7 @@ and
<para>
The Xkb extension reports
<emphasis>XkbMapNotify</emphasis>
<symbol>XkbMapNotify</symbol>
events to clients wanting notification whenever a map component of the Xkb
description for a device changes. There are many different types of Xkb
keyboard map changes. Xkb uses an event detail mask to identify each type of
@ -984,11 +984,11 @@ change. The event detail masks are identical to the masks listed in
<para>
To receive
<emphasis>XkbMapNotify</emphasis>
<symbol>XkbMapNotify</symbol>
events under all possible conditions, use
<function>XkbSelectEvents</function>
(see <link linkend="Selecting_Xkb_Events">section 4.3</link>) and pass
<emphasis>XkbMapNotifyMask</emphasis>
<symbol>XkbMapNotifyMask</symbol>
in both
<emphasis>bits_to_change</emphasis>
and
@ -998,11 +998,11 @@ To receive
<para>
To receive
<emphasis>XkbMapNotify</emphasis>
<symbol>XkbMapNotify</symbol>
events only under certain conditions, use
<function>XkbSelectEventDetails</function>
using
<emphasis>XkbMapNotify</emphasis>
<symbol>XkbMapNotify</symbol>
as the
<emphasis>event_type</emphasis>
and specifying the desired map changes in
@ -1015,7 +1015,7 @@ To receive
<para>
The structure for
<emphasis>XkbMapNotify</emphasis>
<symbol>XkbMapNotify</symbol>
events is:
</para>
@ -1026,8 +1026,8 @@ typedef struct {
Bool send_event; /* <symbol>True</symbol> =&gt; synthetically generated */
Display * display; /* server connection where event generated */
Time time; /* server time when event generated */
int xkb_type; /* <emphasis>XkbMapNotify</emphasis> */
int device; /* Xkb device ID, will not be <emphasis>XkbUseCoreKbd</emphasis> */
int xkb_type; /* <symbol>XkbMapNotify</symbol> */
int device; /* Xkb device ID, will not be <symbol>XkbUseCoreKbd</symbol> */
unsigned int changed; /* identifies valid fields in rest of event */
unsigned int resized; /* reserved */
int first_type; /* index of first key <emphasis>type</emphasis> modified */
@ -1195,7 +1195,7 @@ field specifies the number of entries to preallocate for the
field of the client map. If the
<parameter>type_count</parameter>
field is less than
<emphasis>XkbNumRequiredTypes</emphasis>
<symbol>XkbNumRequiredTypes</symbol>
(see <link linkend="The_Canonical_Key_Types">section 15.2.1</link>), returns
<errorname>BadValue</errorname>.
</entry>
@ -1251,9 +1251,9 @@ of entries necessary for
fields of the
<parameter>xkb</parameter>
parameter must be legal values if the
<emphasis>XkbKeySymsMask</emphasis>
<symbol>XkbKeySymsMask</symbol>
or
<emphasis>XkbModifierMapMask</emphasis>
<symbol>XkbModifierMapMask</symbol>
masks are set in the
<parameter>which</parameter>
parameter. If they are not valid,

View file

@ -398,24 +398,24 @@ level-one symbols.
<para>
Xkb allows up to
<emphasis>XkbMaxKeyTypes</emphasis>
<symbol>XkbMaxKeyTypes</symbol>
(255) key types to be defined, but requires at least
<emphasis>XkbNumRequiredTypes</emphasis>
<symbol>XkbNumRequiredTypes</symbol>
(4) predefined types to be in a key map. These predefined key types are
referred to as the canonical key types and describe the types of keys available
on most keyboards. The definitions for the canonical key types are held in the
first
<emphasis>XkbNumRequiredTypes</emphasis>
<symbol>XkbNumRequiredTypes</symbol>
entries of the
<emphasis>types</emphasis>
field of the client map and are indexed using the following constants:
</para>
<para><programlisting>
<emphasis>XkbOneLevelIndex</emphasis>
<emphasis>XkbTwoLevelIndex</emphasis>
<emphasis>XkbAlphabeticIndex</emphasis>
<emphasis>XkbKeypadIndex</emphasis>
<symbol>XkbOneLevelIndex</symbol>
<symbol>XkbTwoLevelIndex</symbol>
<symbol>XkbAlphabeticIndex</symbol>
<symbol>XkbKeypadIndex</symbol>
</programlisting></para>
<sect3 id='ONE_LEVEL'>
@ -440,7 +440,7 @@ type "ONE_LEVEL" {
The description of the ONE_LEVEL key type is stored in the
<emphasis>types</emphasis>
[
<emphasis>XkbOneLevelIndex</emphasis>
<symbol>XkbOneLevelIndex</symbol>
] entry of the client key map.
</para>
@ -473,7 +473,7 @@ type "TWO_LEVEL" {
The description of the TWO_LEVEL key type is stored in the
<emphasis>types</emphasis>
[
<emphasis>XkbTwoLevelIndex</emphasis>
<symbol>XkbTwoLevelIndex</symbol>
] entry of the client key map.
</para>
@ -550,7 +550,7 @@ type "ALPHABETIC" {
The description of the ALPHABETIC key type is stored in the
<emphasis>types</emphasis>
[
<emphasis>XkbAlphabeticIndex</emphasis>
<symbol>XkbAlphabeticIndex</symbol>
] entry of the client key map.
</para>
@ -624,7 +624,7 @@ type "KEYPAD" {
The description of the KEYPAD key type is stored in the
<emphasis>types</emphasis>
[
<emphasis>XkbKeypadIndex</emphasis>
<symbol>XkbKeypadIndex</symbol>
] entry of the client key map.
</para>
@ -688,18 +688,18 @@ default values, use
<para>
<function>XkbInitCanonicalKeyTypes</function>
initializes the first
<emphasis>XkbNumRequiredTypes</emphasis>
<symbol>XkbNumRequiredTypes</symbol>
key types of the keyboard specified by the
<parameter>xkb</parameter>
parameter to their default values. The
<parameter>which</parameter>
parameter specifies what canonical key types to initialize and is a bitwise
inclusive OR of the following masks:
<emphasis>XkbOneLevelMask</emphasis>,
<emphasis>XkbTwoLevelMask</emphasis>,
<emphasis>XkbAlphabeticMask</emphasis>,
<symbol>XkbOneLevelMask</symbol>,
<symbol>XkbTwoLevelMask</symbol>,
<symbol>XkbAlphabeticMask</symbol>,
and
<emphasis>XkbKeypadMask</emphasis>.
<symbol>XkbKeypadMask</symbol>.
Only those canonical types specified by the
<parameter>which</parameter>
mask are initialized.
@ -708,7 +708,7 @@ Only those canonical types specified by the
<para>
If
<emphasis>XkbKeypadMask</emphasis>
<symbol>XkbKeypadMask</symbol>
is set in the
<parameter>which</parameter>
parameter,
@ -1289,9 +1289,9 @@ the key types:
<note><para>The array of key types is of fixed width and is large enough to
hold key types for the maximum legal number of groups (
<emphasis>XkbNumKbdGroups</emphasis>,
<symbol>XkbNumKbdGroups</symbol>,
currently four); if a key has fewer than
<emphasis>XkbNumKbdGroups</emphasis>
<symbol>XkbNumKbdGroups</symbol>
groups, the extra key types are reported but ignored.</para></note>
<indexterm significance="preferred" zone="XkbKeyTypeIndex"><primary><function>XkbKeyTypeIndex</function></primary></indexterm>
@ -2127,7 +2127,7 @@ extension has not been properly initialized,
If
<parameter>num</parameter>
is less than 1 or greater than
<emphasis>XkbMaxKeyCount</emphasis>,
<symbol>XkbMaxKeyCount</symbol>,
<function>XkbGetKeySyms</function>
returns
<errorname>BadValue</errorname>.
@ -2245,7 +2245,7 @@ as appropriate. If the
<symbol>NULL</symbol>,
<function>XkbChangeTypesOfKey</function>
adds the
<emphasis>XkbKeySymsMask</emphasis>
<symbol>XkbKeySymsMask</symbol>
to the
<emphasis>changes</emphasis>
field of
@ -2274,11 +2274,11 @@ The
<parameter>groups</parameter>
parameter is a mask specifying the groups for which new types are supplied and
is a bitwise inclusive OR of the following masks:
<emphasis>XkbGroup1Mask</emphasis>,
<emphasis>XkbGroup2Mask</emphasis>,
<emphasis>XkbGroup3Mask</emphasis>,
<symbol>XkbGroup1Mask</symbol>,
<symbol>XkbGroup2Mask</symbol>,
<symbol>XkbGroup3Mask</symbol>,
and
<emphasis>XkbGroup4Mask</emphasis>.
<symbol>XkbGroup4Mask</symbol>.
</para>
@ -2370,7 +2370,7 @@ If the
is not a valid keycode,
<parameter>n_groups</parameter>
is greater than
<emphasis>XkbNumKbdGroups</emphasis>,
<symbol>XkbNumKbdGroups</symbol>,
or the
<parameter>groups</parameter>
mask does not contain any of the valid group mask bits,

File diff suppressed because it is too large Load diff

View file

@ -426,7 +426,7 @@ processing may be modified for the particular key involved:
<literallayout>
Virtual modifier map
Auto repeat
Key behavior (may be set to <emphasis>XkbKB_Lock</emphasis>)
Key behavior (may be set to <symbol>XkbKB_Lock</symbol>)
Key action (see <link linkend="Key_Actions">section 16.1</link>)
</literallayout>
@ -492,7 +492,7 @@ are to be interpreted.
</thead>
<tbody>
<row>
<entry><emphasis>XkbSI_NoneOf</emphasis></entry>
<entry><symbol>XkbSI_NoneOf</symbol></entry>
<entry>(0)</entry>
<entry>
None of the bits that are on in <emphasis>mods</emphasis>
@ -500,7 +500,7 @@ None of the bits that are on in <emphasis>mods</emphasis>
</entry>
</row>
<row>
<entry><emphasis>XkbSI_AnyOfOrNone</emphasis></entry>
<entry><symbol>XkbSI_AnyOfOrNone</symbol></entry>
<entry>(1)</entry>
<entry>
Zero or more of the bits that are on in
@ -509,7 +509,7 @@ Zero or more of the bits that are on in
</entry>
</row>
<row>
<entry><emphasis>XkbSI_AnyOf</emphasis></entry>
<entry><symbol>XkbSI_AnyOf</symbol></entry>
<entry>(2)</entry>
<entry>
One or more of the bits that are on in
@ -518,7 +518,7 @@ One or more of the bits that are on in
</entry>
</row>
<row>
<entry><emphasis>XkbSI_AllOf</emphasis></entry>
<entry><symbol>XkbSI_AllOf</symbol></entry>
<entry>(3)</entry>
<entry>
All of the bits that are on in
@ -527,7 +527,7 @@ All of the bits that are on in
</entry>
</row>
<row>
<entry><emphasis>XkbSI_Exactly</emphasis></entry>
<entry><symbol>XkbSI_Exactly</symbol></entry>
<entry>(4)</entry>
<entry>
All of the bits that are on in
@ -543,7 +543,7 @@ All of the bits that are on in
In addition to the above bits,
<emphasis>match</emphasis>
may contain the
<emphasis>XkbSI_LevelOneOnly</emphasis>
<symbol>XkbSI_LevelOneOnly</symbol>
bit, in which case the modifier match criteria specified by
<emphasis>mods</emphasis>
and
@ -579,11 +579,11 @@ interpretation where:
</row>
<row>
<entry><emphasis>flags</emphasis> =</entry>
<entry><emphasis>XkbSI_AutoRepeat</emphasis></entry>
<entry><symbol>XkbSI_AutoRepeat</symbol></entry>
</row>
<row>
<entry><emphasis>match</emphasis> =</entry>
<entry><emphasis>XkbSI_AnyOfOrNone</emphasis></entry>
<entry><symbol>XkbSI_AnyOfOrNone</symbol></entry>
</row>
<row>
<entry><emphasis>mods</emphasis> =</entry>
@ -591,7 +591,7 @@ interpretation where:
</row>
<row>
<entry><emphasis>virtual_mod</emphasis> =</entry>
<entry><emphasis>XkbNoModifier</emphasis></entry>
<entry><symbol>XkbNoModifier</symbol></entry>
</row>
<row>
@ -620,9 +620,9 @@ defined in <link linkend="Key_Actions">section 16.1</link>.
If the Xkb keyboard map for the key does not have its
<emphasis>ExplicitVModMap</emphasis>
control set, the
<emphasis>XkbSI_LevelOneOnly</emphasis>
<symbol>XkbSI_LevelOneOnly</symbol>
bit and symbol position are examined. If the
<emphasis>XkbSI_LevelOneOnly</emphasis>
<symbol>XkbSI_LevelOneOnly</symbol>
bit is not set in
<emphasis>match</emphasis>
or the symbol is in position G1L1, the
@ -630,7 +630,7 @@ If the Xkb keyboard map for the key does not have its
field is examined. If
<emphasis>virtual_mod</emphasis>
is not
<emphasis>XkbNoModifier</emphasis>,
<symbol>XkbNoModifier</symbol>,
<emphasis>virtual_mod</emphasis>
specifies a single virtual modifier to be added to the virtual modifier map
for the key.
@ -656,9 +656,9 @@ field potentially specify additional behavior modifications:
If the Xkb keyboard map for the key does not have its
<emphasis>ExplicitAutoRepeat</emphasis>
control set, its auto repeat behavior is set based on the value of the
<emphasis>XkbSI_AutoRepeat</emphasis>
<symbol>XkbSI_AutoRepeat</symbol>
bit. If the
<emphasis>XkbSI_AutoRepeat</emphasis>
<symbol>XkbSI_AutoRepeat</symbol>
bit is set, the auto-repeat behavior of the key is turned on; otherwise, it is
turned off.
</para>
@ -668,9 +668,9 @@ turned off.
If the Xkb keyboard map for the key does not have its
<emphasis>ExplicitBehavior</emphasis>
control set, its locking behavior is set based on the value of the
<emphasis>XkbSI_LockingKey</emphasis>
<symbol>XkbSI_LockingKey</symbol>
bit. If
<emphasis>XkbSI_LockingKey</emphasis>
<symbol>XkbSI_LockingKey</symbol>
is set, the key behavior is set to
<emphasis>KB_Lock</emphasis>
; otherwise, it is turned off (see <link linkend="Explicit_ComponentsAvoiding_Automatic_Remapping_by_the_Server">section 16.3</link>).
@ -730,10 +730,10 @@ component of the keyboard group, all of the modifiers in the
<emphasis>mask</emphasis>
field of all of the group compatibility maps are added to the modifier mapping
as well. While an
<emphasis>XkbSA_ISOLock</emphasis>
<symbol>XkbSA_ISOLock</symbol>
action can theoretically affect any modifier, if the Xkb mapping for a key
specifies an
<emphasis>XkbSA_ISOLock</emphasis>
<symbol>XkbSA_ISOLock</symbol>
action, only the modifiers or group that are set by default are added to the
modifier mapping.
</para>
@ -750,7 +750,7 @@ Use
to fetch any combination of the current compatibility map components from the
server. When another client modifies the compatibility map, you are notified if
you have selected for
<emphasis>XkbCompatMapNotify</emphasis>
<symbol>XkbCompatMapNotify</symbol>
events (see <link linkend="Tracking_Changes_to_the_Compatibility_Map">section 17.5</link>).
<function>XkbGetCompatMap</function>
is particularly useful when you receive an event of this type, as it allows
@ -841,17 +841,17 @@ Valid values for
</thead>
<tbody>
<row>
<entry><emphasis>XkbSymInterpMask</emphasis></entry>
<entry><symbol>XkbSymInterpMask</symbol></entry>
<entry>(1&lt;&lt;0)</entry>
<entry>Symbol interpretations</entry>
</row>
<row>
<entry><emphasis>XkbGroupCompatMask</emphasis></entry>
<entry><symbol>XkbGroupCompatMask</symbol></entry>
<entry>(1&lt;&lt;1)</entry>
<entry>Group maps</entry>
</row>
<row>
<entry><emphasis>XkbAllCompatMask</emphasis></entry>
<entry><symbol>XkbAllCompatMask</symbol></entry>
<entry>(0x3)</entry>
<entry>All compatibility map components</entry>
</row>
@ -1514,9 +1514,9 @@ The server automatically generates
<symbol>MappingNotify</symbol>
events when the keyboard mapping changes. If you wish to be notified of
changes to the compatibility map, you should select for
<emphasis>XkbCompatMapNotify</emphasis>
<symbol>XkbCompatMapNotify</symbol>
events. If you select for
<emphasis>XkbMapNotify</emphasis>
<symbol>XkbMapNotify</symbol>
events, you no longer receive the automatically generated
<symbol>MappingNotify</symbol>
events. If you subsequently deselect
@ -1529,11 +1529,11 @@ changes to the compatibility map, you should select for
<para>
To receive
<emphasis>XkbCompatMapNotify</emphasis>
<symbol>XkbCompatMapNotify</symbol>
events under all possible conditions, use
<function>XkbSelectEvents</function>
(see <link linkend="Selecting_Xkb_Events">section 4.3</link>) and pass
<emphasis>XkbCompatMapNotifyMask</emphasis>
<symbol>XkbCompatMapNotifyMask</symbol>
in both
<emphasis>bits_to_change</emphasis>
and
@ -1543,11 +1543,11 @@ To receive
<para>
To receive
<emphasis>XkbCompatMapNotify</emphasis>
<symbol>XkbCompatMapNotify</symbol>
events only under certain conditions, use
<function>XkbSelectEventDetails</function>
using
<emphasis>XkbCompatMapNotify</emphasis>
<symbol>XkbCompatMapNotify</symbol>
as the
<emphasis>event_type</emphasis>
and specifying the desired map changes in
@ -1578,9 +1578,9 @@ typedef struct {
synthetically generated */
Display * display; /* server connection where event generated */
Time time; /* server time when event generated */
int xkb_type; /* <emphasis>XkbCompatMapNotify</emphasis> */
int xkb_type; /* <symbol>XkbCompatMapNotify</symbol> */
int device; /* Xkb device ID, will not be
<emphasis>XkbUseCoreKbd</emphasis> */
<symbol>XkbUseCoreKbd</symbol> */
unsigned int changed_groups;/* number of group maps changed */
int first_si; /* index to 1st changed symbol
interpretation */

View file

@ -460,9 +460,9 @@ If the
<symbol>NULL</symbol>,
<function>XkbGetNames</function>
does not retrieve type or shift level names, even if
<emphasis>XkbKeyTypeNamesMask</emphasis>
<symbol>XkbKeyTypeNamesMask</symbol>
or
<emphasis>XkbKTLevelNamesMask</emphasis>
<symbol>XkbKTLevelNamesMask</symbol>
are set in
<parameter>which</parameter>.
</para>
@ -602,9 +602,9 @@ The
and
<parameter>num_types</parameter>
arguments are used only if
<emphasis>XkbKeyTypeNamesMask</emphasis>
<symbol>XkbKeyTypeNamesMask</symbol>
or
<emphasis>XkbKTLevelNamesMask</emphasis>
<symbol>XkbKTLevelNamesMask</symbol>
is set in
<parameter>which</parameter>
and specify a subset of the types for which the corresponding names are to be
@ -834,11 +834,11 @@ to the X server specified by
<para>
Whenever a symbolic name changes in the servers keyboard description, the
server sends a
<emphasis>XkbNamesNotify</emphasis>
<symbol>XkbNamesNotify</symbol>
event to all interested clients. To receive name notify events, use
<function>XkbSelectEvents</function>
(see <link linkend="Selecting_Xkb_Events">section 4.3</link>) with
<emphasis>XkbNamesNotifyMask</emphasis>
<symbol>XkbNamesNotifyMask</symbol>
in both the
<emphasis>bits_to_change</emphasis>
and
@ -853,7 +853,7 @@ To receive events for only specific names, use
Set the
<emphasis>event_type</emphasis>
parameter to
<emphasis>XkbNamesNotify</emphasis>,
<symbol>XkbNamesNotify</symbol>,
and set both the
<emphasis>bits_to_change</emphasis>
and
@ -865,7 +865,7 @@ and
<para>
The structure for the
<emphasis>XkbNamesNotify</emphasis>
<symbol>XkbNamesNotify</symbol>
event is defined as follows:
</para>
@ -879,9 +879,9 @@ typedef struct {
Display * display; /* server connection where event
generated */
Time time; /* server time when event generated */
int xkb_type; /* <emphasis>XkbNamesNotify</emphasis> */
int xkb_type; /* <symbol>XkbNamesNotify</symbol> */
int device; /* Xkb device ID, will not be
<emphasis>XkbUseCoreKbd</emphasis> */
<symbol>XkbUseCoreKbd</symbol> */
unsigned int changed; /* mask of name components
that have changed */
int first_type; /* first key type with a new name */

View file

@ -38,14 +38,14 @@ for the client.
<para>
Xkb provides an
<emphasis>XkbNewKeyboardNotify</emphasis>
<symbol>XkbNewKeyboardNotify</symbol>
event that reports a change in keyboard geometry and/or the range of supported
keycodes. The server can generate an
<emphasis>XkbNewKeyboardNotify</emphasis>
<symbol>XkbNewKeyboardNotify</symbol>
event when it detects a new keyboard or in response to an
<function>XkbGetKeyboardByName</function>
request that loads a new keyboard description. Selecting for
<emphasis>XkbNewKeyboardNotify</emphasis>
<symbol>XkbNewKeyboardNotify</symbol>
events allows Xkb-aware clients to be notified whenever a keyboard change
occurs that may affect the keymap.
</para>
@ -53,11 +53,11 @@ occurs that may affect the keymap.
<para>
When a client requests
<emphasis>XkbNewKeyboardNotify</emphasis>
<symbol>XkbNewKeyboardNotify</symbol>
events, the server compares the range of keycodes for the current keyboard to
the range of keycodes that are valid for the client. If they are not the same,
the server immediately sends the client an
<emphasis>XkbNewKeyboardNotify</emphasis>
<symbol>XkbNewKeyboardNotify</symbol>
event. Even if the "new" keyboard is not new to the server, it is new to this
particular client.
</para>
@ -65,14 +65,14 @@ particular client.
<para>
When the server sends an
<emphasis>XkbNewKeyboardNotify</emphasis>
<symbol>XkbNewKeyboardNotify</symbol>
event to a client to inform it of a new keycode range, it resets the stored
range of legal keycodes for the client to the keycode range reported in the
event; it does not reset this range for the client if it does not sent an
<emphasis>XkbNewKeyboardNotify</emphasis>
<symbol>XkbNewKeyboardNotify</symbol>
event to a client. Because Xkb-unaware clients and Xkb-aware clients that do
not request
<emphasis>XkbNewKeyboardNotify</emphasis>
<symbol>XkbNewKeyboardNotify</symbol>
events are never sent these events, the servers notion of the legal keycode
range never changes, and these clients never receive events from keys that fall
outside of their notion of the legal keycode range.
@ -81,9 +81,9 @@ outside of their notion of the legal keycode range.
<para>
Clients that have not selected to receive
<emphasis>XkbNewKeyboardNotify</emphasis>
<symbol>XkbNewKeyboardNotify</symbol>
events do, however, receive the
<emphasis>XkbNewKeyboardNotify</emphasis>
<symbol>XkbNewKeyboardNotify</symbol>
event when a keyboard change occurs. Clients that have not selected to receive
this event also receive numerous other events detailing the individual changes
that occur when a keyboard change occurs.
@ -96,15 +96,15 @@ Clients wishing to track changes in
and
<emphasis>max_key_code</emphasis>
must watch for both
<emphasis>XkbNewKeyboardNotify</emphasis>
<symbol>XkbNewKeyboardNotify</symbol>
and
<emphasis>XkbMapNotify</emphasis>
<symbol>XkbMapNotify</symbol>
events, because a simple mapping change causes an
<emphasis>XkbMapNotify</emphasis>
<symbol>XkbMapNotify</symbol>
event and may change the range of valid keycodes, but does not cause an
<emphasis>XkbNewKeyboardNotify</emphasis>
<symbol>XkbNewKeyboardNotify</symbol>
event. If a client does not select for
<emphasis>XkbNewKeyboardNotify</emphasis>
<symbol>XkbNewKeyboardNotify</symbol>
events, the server restricts the range of keycodes reported to the client.
</para>
@ -159,7 +159,7 @@ Xkb events are discarded, and no Xkb requests have their keycode range clamped.
<para>
The structure for the
<emphasis>XkbNewKeyboardNotify</emphasis>
<symbol>XkbNewKeyboardNotify</symbol>
event is defined as follows:
</para>
@ -171,7 +171,7 @@ typedef struct _XkbNewKeyboardNotify {
=&gt; synthetically generated */
Display * display; /* server connection where event generated */
Time time; /* server time when event generated */
int xkb_type; /* <emphasis>XkbNewKeyboardNotify</emphasis> */
int xkb_type; /* <symbol>XkbNewKeyboardNotify</symbol> */
int device; /* device ID of new keyboard */
int old_device; /* device ID of old keyboard */
int min_key_code; /* min keycode of new keyboard */
@ -188,7 +188,7 @@ typedef struct _XkbNewKeyboardNotify {
To receive name notify events, use
<function>XkbSelectEvents</function>
(see <link linkend="Selecting_Xkb_Events">section 4.3</link>) with
<emphasis>XkbNewKeyboardNotifyMask</emphasis>
<symbol>XkbNewKeyboardNotifyMask</symbol>
in both the
<emphasis>bits_to_change</emphasis>
and
@ -198,7 +198,7 @@ To receive name notify events, use
Set the
<emphasis>event_type</emphasis>
parameter to
<emphasis>XkbNewKeyboardNotify</emphasis>,
<symbol>XkbNewKeyboardNotify</symbol>,
and set both the
<emphasis>bits_to_change</emphasis>
and
@ -223,12 +223,12 @@ and
</thead>
<tbody>
<row>
<entry><emphasis>XkbNKN_KeycodesMask</emphasis></entry>
<entry><symbol>XkbNKN_KeycodesMask</symbol></entry>
<entry>(1L&lt;&lt;0)</entry>
<entry>Notification of keycode range changes wanted</entry>
</row>
<row>
<entry><emphasis>XkbNKN_GeometryMask</emphasis></entry>
<entry><symbol>XkbNKN_GeometryMask</symbol></entry>
<entry>(1L&lt;&lt;1)</entry>
<entry>Notification of geometry changes wanted</entry>
</row>
@ -307,13 +307,13 @@ In this case,
If the keyboard change is the result of an
<function>XkbGetKeyboardByName</function>
function call, which generates an
<emphasis>X_kbGetKbdByName</emphasis>
<symbol>X_kbGetKbdByName</symbol>
request,
<emphasis>req_major</emphasis>
contains the Xkb extension base event code (see <link linkend="Initializing_the_Keyboard_Extension">section 2.4</link>), and
<emphasis>req_minor</emphasis>
contains the event code for the Xkb extension request
<emphasis>X_kbGetKbdByName</emphasis>.
<symbol>X_kbGetKbdByName</symbol>.
<emphasis>device</emphasis>
contains the device identifier for the new device, but nothing definitive can
be said for

View file

@ -198,7 +198,7 @@ To obtain this list, use
</term>
<listitem>
<para>
device ID, or <emphasis>XkbUseCoreKbd</emphasis>
device ID, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -406,7 +406,7 @@ is dependent on the type of component. The flags bits are defined in
The symbols hints in <link linkend="table20.2">Table 20.2</link>
apply only to partial symbols components
(those with
<emphasis>XkbLC_Partial</emphasis>
<symbol>XkbLC_Partial</symbol>
also set); full symbols components are assumed to specify all of the pieces.
</para>
@ -417,10 +417,10 @@ describe the primary intent of the component designer and should not be simply
an exhaustive list of the kinds of keys that are affected. For example,
national keyboard layouts affect primarily alphanumeric keys, but many affect a
few modifier keys as well; such mappings should set only the
<emphasis>XkbLC_AlphanumericKeys</emphasis>
<symbol>XkbLC_AlphanumericKeys</symbol>
hint. In general, symbols components should set only one of the four flags
(
<emphasis>XkbLC_AlternateGroup</emphasis>
<symbol>XkbLC_AlternateGroup</symbol>
may be combined with any of the other flags).
</para>
@ -443,19 +443,19 @@ few modifier keys as well; such mappings should set only the
<tbody>
<row>
<entry>All Components</entry>
<entry><para><emphasis>XkbLC_Hidden</emphasis></para></entry>
<entry><para><symbol>XkbLC_Hidden</symbol></para></entry>
<entry>Do not present to user</entry>
<entry>(1L&lt;&lt;0)</entry>
</row>
<row>
<entry></entry>
<entry><emphasis>XkbLC_Default</emphasis></entry>
<entry><symbol>XkbLC_Default</symbol></entry>
<entry>Default member of class</entry>
<entry>(1L&lt;&lt;1)</entry>
</row>
<row>
<entry></entry>
<entry><emphasis>XkbLC_Partial</emphasis></entry>
<entry><symbol>XkbLC_Partial</symbol></entry>
<entry>Partial component</entry>
<entry>(1L&lt;&lt;2)</entry>
</row>
@ -485,31 +485,31 @@ few modifier keys as well; such mappings should set only the
</row>
<row>
<entry>Symbols</entry>
<entry><emphasis>XkbLC_AlphanumericKeys</emphasis></entry>
<entry><symbol>XkbLC_AlphanumericKeys</symbol></entry>
<entry>Bindings primarily for alphanumeric keyboard section</entry>
<entry>(1L&lt;&lt;8)</entry>
</row>
<row>
<entry></entry>
<entry><emphasis>XkbLC_ModifierKeys</emphasis></entry>
<entry><symbol>XkbLC_ModifierKeys</symbol></entry>
<entry>Bindings primarily for modifier keys</entry>
<entry>(1L&lt;&lt;9)</entry>
</row>
<row>
<entry></entry>
<entry><emphasis>XkbLC_KeypadKeys</emphasis></entry>
<entry><symbol>XkbLC_KeypadKeys</symbol></entry>
<entry>Bindings primarily for numeric keypad keys</entry>
<entry>(1L&lt;&lt;10)</entry>
</row>
<row>
<entry></entry>
<entry><emphasis>XkbLC_FunctionKeys</emphasis></entry>
<entry><symbol>XkbLC_FunctionKeys</symbol></entry>
<entry>Bindings primarily for function keys</entry>
<entry>(1L&lt;&lt;11)</entry>
</row>
<row>
<entry></entry>
<entry><emphasis>XkbLC_AlternateGroup</emphasis></entry>
<entry><symbol>XkbLC_AlternateGroup</symbol></entry>
<entry>Bindings for an alternate group</entry>
<entry>(1L&lt;&lt;12)</entry>
</row>
@ -586,7 +586,7 @@ one, use
</term>
<listitem>
<para>
device ID, or <emphasis>XkbUseCoreKbd</emphasis>
device ID, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>

View file

@ -130,7 +130,7 @@ core indicator feedback. The particular device ID corresponding to the core
keyboard feedback and the core indicator feedback may be obtained by calling
<function>XkbGetDeviceInfo</function>
and specifying
<emphasis>XkbUseCoreKbd</emphasis>
<symbol>XkbUseCoreKbd</symbol>
as the
<parameter>device_spec</parameter>
; the values will be returned in
@ -413,7 +413,7 @@ which, device_spec, ind_class, ind_id) -->
</term>
<listitem>
<para>
device ID, or <emphasis>XkbUseCoreKbd</emphasis>
device ID, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
@ -521,7 +521,7 @@ XListInputDevices request.
<para>
If any of the
<emphasis>XkbXI_IndicatorsMask</emphasis>
<symbol>XkbXI_IndicatorsMask</symbol>
bits are set in
<parameter>which</parameter>,
the
@ -554,7 +554,7 @@ The
are always filled in. If
<parameter>which</parameter>
contains
<emphasis>XkbXI_IndicatorNamesMask</emphasis>,
<symbol>XkbXI_IndicatorNamesMask</symbol>,
the
<emphasis>names_present</emphasis>
and
@ -569,13 +569,13 @@ the
If
<parameter>which</parameter>
contains
<emphasis>XkbXI_IndicatorStateMask</emphasis>,
<symbol>XkbXI_IndicatorStateMask</symbol>,
the corresponding
<emphasis>state</emphasis>
field is updated. If
<parameter>which</parameter>
contains
<emphasis>XkbXI_IndicatorMapsMask</emphasis>,
<symbol>XkbXI_IndicatorMapsMask</symbol>,
the
<emphasis>maps_present</emphasis>
and
@ -846,10 +846,10 @@ by
Valid values for
<parameter>which</parameter>
are the inclusive OR of any of
<emphasis>XkbXI_IndicatorNamesMask</emphasis>,
<emphasis>XkbXI_IndicatorMapsMask</emphasis>,
<symbol>XkbXI_IndicatorNamesMask</symbol>,
<symbol>XkbXI_IndicatorMapsMask</symbol>,
and
<emphasis>XkbXI_IndicatorStateMask</emphasis>.
<symbol>XkbXI_IndicatorStateMask</symbol>.
</para>
@ -895,7 +895,7 @@ The
If
<parameter>which</parameter>
contains
<emphasis>XkbXI_IndicatorNamesMask</emphasis>,
<symbol>XkbXI_IndicatorNamesMask</symbol>,
the
<emphasis>names_present</emphasis>
and
@ -911,13 +911,13 @@ the
are updated, if
<parameter>which</parameter>
contains
<emphasis>XkbXI_IndicatorStateMask</emphasis>,
<symbol>XkbXI_IndicatorStateMask</symbol>,
the corresponding
<emphasis>state</emphasis>
field is updated, and if
<parameter>which</parameter>
contains
<emphasis>XkbXI_IndicatorMapsMask</emphasis>,
<symbol>XkbXI_IndicatorMapsMask</symbol>,
the
<emphasis>maps_present</emphasis>
and
@ -1389,7 +1389,7 @@ Xkb implementations are required to support key actions for the buttons of the
core pointer device, but support for actions on extension devices is optional.
Implementations that do not support button actions for extension devices must
not set the
<emphasis>XkbXI_ButtonActionsMask</emphasis>
<symbol>XkbXI_ButtonActionsMask</symbol>
bit in the
<emphasis>supported</emphasis>
field of an
@ -1403,7 +1403,7 @@ If a client attempts to modify valid characteristics of a device using an
implementation that does not support modification of those characteristics, no
protocol error is generated. Instead, the server reports a failure for the
request; it also sends an
<emphasis>XkbExtensionDeviceNotify</emphasis>
<symbol>XkbExtensionDeviceNotify</symbol>
event to the client that issued the request if the client has selected to
receive these events.
</para>
@ -1498,9 +1498,9 @@ The
<parameter>which</parameter>
parameter specifies which aspects of the device should be changed and is a
bitmask composed of an inclusive OR or one or more of the following bits:
<emphasis>XkbXI_ButtonActionsMask</emphasis>,
<emphasis>XkbXI_IndicatorNamesMask</emphasis>,
<emphasis>XkbXI_IndicatorMapsMask</emphasis>.
<symbol>XkbXI_ButtonActionsMask</symbol>,
<symbol>XkbXI_IndicatorNamesMask</symbol>,
<symbol>XkbXI_IndicatorMapsMask</symbol>.
If the features requested to be manipulated in
<parameter>which</parameter>
are valid for the device, but the server does not support assignment of one or
@ -1523,11 +1523,11 @@ a
<para>
If the
<emphasis>XkbXI_ButtonActionsMask</emphasis>
<symbol>XkbXI_ButtonActionsMask</symbol>
bit is set in the supported mask returned by XkbGetDeviceInfo, the Xkb
extension allows applications to assign key actions to buttons on input
extension devices other than the core keyboard device. If the
<emphasis>XkbXI_ButtonActionsMask</emphasis>
<symbol>XkbXI_ButtonActionsMask</symbol>
is set in
<parameter>which</parameter>,
the actions for all buttons specified in device_info are set to the
@ -1550,7 +1550,7 @@ If the number of buttons requested to be updated is not valid for the device,
If the
<emphasis>XkbXI_IndicatorMaps</emphasis>
and / or
<emphasis>XkbXI_IndicatorNamesMask</emphasis>
<symbol>XkbXI_IndicatorNamesMask</symbol>
bit is set in the supported mask returned by XkbGetDeviceInfo, the Xkb
extension allows applications to assign maps and / or names to the indicators
of nonkeyboard extension devices. If supported, maps and / or names can be
@ -1561,9 +1561,9 @@ keyboard feedback or part of an indicator feedback.
<para>
If the
<emphasis>XkbXI_IndicatorMapsMask</emphasis>
<symbol>XkbXI_IndicatorMapsMask</symbol>
and / or
<emphasis>XkbXI_IndicatorNamesMask</emphasis>
<symbol>XkbXI_IndicatorNamesMask</symbol>
flag is set in
<parameter>which</parameter>,
the indicator maps and / or names for all
@ -1744,7 +1744,7 @@ a <errorname>BadKeyboard</errorname>
<para>
The Xkb extension generates
<emphasis>XkbExtensionDeviceNotify</emphasis>
<symbol>XkbExtensionDeviceNotify</symbol>
events when the status of an input extension device changes or when an attempt
is made to use an Xkb feature that is not supported by a particular device.
</para>
@ -1755,7 +1755,7 @@ delivered only to the client requesting the event.</para></note>
<para>
To track changes to the status of input extension devices or attempts to use
unsupported features of a device, select to receive
<emphasis>XkbExtensionDeviceNotify</emphasis>
<symbol>XkbExtensionDeviceNotify</symbol>
events by calling either
<function>XkbSelectEvents</function>
or
@ -1766,11 +1766,11 @@ unsupported features of a device, select to receive
<para>
To receive
<emphasis>XkbExtensionDeviceNotify</emphasis>
<symbol>XkbExtensionDeviceNotify</symbol>
events under all possible conditions, call
<function>XkbSelectEvents</function>
and pass
<emphasis>XkbExtensionDeviceNotifyMask</emphasis>
<symbol>XkbExtensionDeviceNotifyMask</symbol>
in both
<emphasis>bits_to_change</emphasis>
and
@ -1780,11 +1780,11 @@ To receive
<para>
The
<emphasis>XkbExtensionDeviceNotify</emphasis>
<symbol>XkbExtensionDeviceNotify</symbol>
event has no event details. However, you can call
<function>XkbSelectEventDetails</function>
using
<emphasis>XkbExtensionDeviceNotify</emphasis>
<symbol>XkbExtensionDeviceNotify</symbol>
as the
<emphasis>event_type</emphasis>
and specifying
@ -1800,7 +1800,7 @@ The
<para>
The structure for
<emphasis>XkbExtensionDeviceNotify</emphasis>
<symbol>XkbExtensionDeviceNotify</symbol>
events is:
</para>
@ -1814,7 +1814,7 @@ typedef struct {
Time time; /* server time when event generated */
int xkb_type; /* <emphasis>XkbExtensionDeviceNotifyEvent</emphasis> */
int device; /* Xkb device ID, will not be
<emphasis>XkbUseCoreKbd</emphasis> */
<symbol>XkbUseCoreKbd</symbol> */
unsigned int reason; /* reason for the event */
unsigned int supported; /* mask of supported features */
unsigned int unsupported; /* unsupported features this client
@ -1830,7 +1830,7 @@ typedef struct {
<para>
The
<emphasis>XkbExtensionDeviceNotify</emphasis>
<symbol>XkbExtensionDeviceNotify</symbol>
event has fields enabling it to report changes in the state (on/off) of all of
the buttons for a device, but only for one LED feedback associated with a
device. You will get multiple events when more than one LED feedback changes
@ -1894,7 +1894,7 @@ server.
<para>
To note device changes reported in an
<emphasis>XkbExtensionDeviceNotify</emphasis>
<symbol>XkbExtensionDeviceNotify</symbol>
event, use XkbNoteDeviceChanges.
</para>

View file

@ -85,7 +85,7 @@ upon client program exit.
The canonical key types are predefined key types that describe the types of
keys available on most keyboards. The definitions for the canonical key types
are held in the first
<emphasis>XkbNumRequiredTypes</emphasis>
<symbol>XkbNumRequiredTypes</symbol>
entries of the
<emphasis>types</emphasis>
field of the client map and are indexed using the following constants:
@ -93,22 +93,22 @@ are held in the first
<itemizedlist>
<listitem>
<para>
<emphasis>XkbOneLevelIndex</emphasis>
<symbol>XkbOneLevelIndex</symbol>
</para>
</listitem>
<listitem>
<para>
<emphasis>XkbTwoLevelIndex</emphasis>
<symbol>XkbTwoLevelIndex</symbol>
</para>
</listitem>
<listitem>
<para>
<emphasis>XkbAlphabeticIndex</emphasis>
<symbol>XkbAlphabeticIndex</symbol>
</para>
</listitem>
<listitem>
<para>
<emphasis>XkbKeypadIndex</emphasis>
<symbol>XkbKeypadIndex</symbol>
</para>
</listitem>
</itemizedlist>
@ -557,9 +557,9 @@ types are defined using the
and
<emphasis>XkbKTMapEntryRec</emphasis>
structures. Xkb allows up to
<emphasis>XkbMaxKeyTypes</emphasis>
<symbol>XkbMaxKeyTypes</symbol>
(255) key types to be defined, but requires at least
<emphasis>XkbNumRequiredTypes</emphasis>
<symbol>XkbNumRequiredTypes</symbol>
(4) predefined types to be in a key map.
</para>
</glossdef>