mirror of
https://gitlab.freedesktop.org/xorg/lib/libx11.git
synced 2026-05-07 17:58:44 +02:00
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:
parent
9e397ed37c
commit
83839e3780
20 changed files with 612 additions and 612 deletions
|
|
@ -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>
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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<<0)</entry>
|
||||
<entry>Keyboard geometry change</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
<emphasis>XkbMapNotifyMask</emphasis>
|
||||
<symbol>XkbMapNotifyMask</symbol>
|
||||
</entry>
|
||||
<entry>(1L<<1)</entry>
|
||||
<entry>Keyboard mapping change</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
<para><emphasis>XkbStateNotifyMask</emphasis></para>
|
||||
<para><symbol>XkbStateNotifyMask</symbol></para>
|
||||
</entry>
|
||||
<entry>(1L<<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<<3)</entry>
|
||||
<entry>Keyboard control change</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
<emphasis>XkbIndicatorStateNotifyMask</emphasis>
|
||||
<symbol>XkbIndicatorStateNotifyMask</symbol>
|
||||
</entry>
|
||||
<entry>(1L<<4)</entry>
|
||||
<entry>Keyboard indicator state change</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
<emphasis>XkbIndicatorMapNotifyMask</emphasis>
|
||||
<symbol>XkbIndicatorMapNotifyMask</symbol>
|
||||
</entry>
|
||||
<entry>(1L<<5)</entry>
|
||||
<entry>Keyboard indicator map change</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
<emphasis>XkbNamesNotifyMask</emphasis>
|
||||
<symbol>XkbNamesNotifyMask</symbol>
|
||||
</entry>
|
||||
<entry>(1L<<6)</entry>
|
||||
<entry>Keyboard name change</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
<emphasis>XkbCompatMapNotifyMask</emphasis>
|
||||
<symbol>XkbCompatMapNotifyMask</symbol>
|
||||
</entry>
|
||||
<entry>(1L<<7)</entry>
|
||||
<entry>Keyboard compat map change</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
<emphasis>XkbBellNotifyMask</emphasis>
|
||||
<symbol>XkbBellNotifyMask</symbol>
|
||||
</entry>
|
||||
<entry>(1L<<8)</entry>
|
||||
<entry>Bell</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
<emphasis>XkbActionMessageMask</emphasis>
|
||||
<symbol>XkbActionMessageMask</symbol>
|
||||
</entry>
|
||||
<entry>(1L<<9)</entry>
|
||||
<entry>Action message</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
<emphasis>XkbAccessXNotifyMask</emphasis>
|
||||
<symbol>XkbAccessXNotifyMask</symbol>
|
||||
</entry>
|
||||
<entry>(1L<<10)</entry>
|
||||
<entry>AccessX features</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
<emphasis>XkbExtensionDeviceNotifyMask</emphasis>
|
||||
<symbol>XkbExtensionDeviceNotifyMask</symbol>
|
||||
</entry>
|
||||
<entry>(1L<<11)</entry>
|
||||
<entry>Extension device</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry>
|
||||
<emphasis>XkbAllEventsMask</emphasis>
|
||||
<symbol>XkbAllEventsMask</symbol>
|
||||
</entry>
|
||||
<entry>(0xFFF)</entry>
|
||||
<entry>All Xkb events</entry>
|
||||
|
|
|
|||
|
|
@ -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> => 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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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 server’s 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 server’s 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 indicator’s 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>
|
||||
|
|
|
|||
|
|
@ -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 isn’t 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> => 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 */
|
||||
|
|
|
|||
|
|
@ -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> => 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)->ax_options&(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)->enabled_ctrls&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)&&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 server’s 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> => 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>
|
||||
|
|
|
|||
|
|
@ -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
|
||||
client’s knowledge. Most clients don’t 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>,
|
||||
|
|
|
|||
|
|
@ -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 keyboard’s 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=>highest, 255=>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=>highest, 255=>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=>highest, 255=>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=>highest, 255=>lowest */
|
||||
short top; /* top coordinate, in <emphasis>mm</emphasis>/<emphasis>10</emphasis> */
|
||||
short left; /* left coordinate, in <emphasis>mm</emphasis>/<emphasis>10</emphasis> */
|
||||
|
|
|
|||
|
|
@ -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<<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<<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<<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<<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<<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<<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<<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<<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->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> => 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,
|
||||
|
|
|
|||
|
|
@ -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
|
|
@ -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<<0)</entry>
|
||||
<entry>Symbol interpretations</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry><emphasis>XkbGroupCompatMask</emphasis></entry>
|
||||
<entry><symbol>XkbGroupCompatMask</symbol></entry>
|
||||
<entry>(1<<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 */
|
||||
|
|
|
|||
|
|
@ -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 server’s 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 */
|
||||
|
|
|
|||
|
|
@ -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 server’s 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 {
|
|||
=> 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<<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<<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
|
||||
|
|
|
|||
|
|
@ -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<<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<<1)</entry>
|
||||
</row>
|
||||
<row>
|
||||
<entry></entry>
|
||||
<entry><emphasis>XkbLC_Partial</emphasis></entry>
|
||||
<entry><symbol>XkbLC_Partial</symbol></entry>
|
||||
<entry>Partial component</entry>
|
||||
<entry>(1L<<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<<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<<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<<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<<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<<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>
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
||||
|
|
|
|||
|
|
@ -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>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue