sync with OpenBSD -current

This commit is contained in:
purplerain 2024-07-12 14:44:09 +02:00
parent 2d1e52c274
commit b5b25afdb8
Signed by: purplerain
GPG key ID: F42C07F07E2E35B7
657 changed files with 21464 additions and 54675 deletions

View file

@ -1617,275 +1617,22 @@ event. For more information on
events, refer to <link linkend="Tracking_Changes_to_Keyboard_Controls">section 10.11</link>.
</para>
<para>
Use
<function>XkbGetAccessXTimeout</function>
to query the current
There are no convenience functions in Xkb for manipulating this control. The
<emphasis>AccessXTimeout</emphasis>
options for a keyboard device.
</para>
<indexterm significance="preferred" zone="XkbGetAccessXTimeout"><primary><function>XkbGetAccessXTimeout</function></primary></indexterm>
<funcsynopsis id="XkbGetAccessXTimeout">
<funcprototype>
<funcdef>Bool <function>XkbGetAccessXTimeout</function></funcdef>
<!-- (
<parameter>display</parameter>,
<parameter>device_spec</parameter>,
<parameter>timeout_rtrn</parameter>,
<parameter>ctrls_mask_rtrn</parameter>,
<parameter>ctrls_values_rtrn</parameter>,
<parameter>options_mask_rtrn, options_values_rtrn</parameter>
) -->
<paramdef>Display *<parameter>display</parameter></paramdef>
<paramdef>unsigned int <parameter>device_spec</parameter></paramdef>
<paramdef>unsigned short *<parameter>timeout_rtrn</parameter></paramdef>
<paramdef>unsigned int *<parameter>ctrls_mask_rtrn</parameter></paramdef>
<paramdef>unsigned int *<parameter>ctrls_values_rtrn</parameter></paramdef>
<paramdef>unsigned short *<parameter>opts_mask_rtrn</parameter></paramdef>
<paramdef>unsigned short *<parameter>opts_values_rtrn</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term>
<parameter>display</parameter>
</term>
<listitem>
<para>
connection to X server
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>device_spec</parameter>
</term>
<listitem>
<para>
device to query, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>timeout_rtrn</parameter>
</term>
<listitem>
<para>
delay until AccessXTimeout, seconds
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>ctrls_mask_rtrn</parameter>
</term>
<listitem>
<para>
backfilled with controls to modify
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>ctrls_values_rtrn</parameter>
</term>
<listitem>
<para>
backfilled with on/off status for controls
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>opts_mask_rtrn</parameter>
</term>
<listitem>
<para>
backfilled with <structfield>ax_options</structfield> to modify
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>opts_values_rtrn</parameter>
</term>
<listitem>
<para>
backfilled with values for <structfield>ax_options</structfield>
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
<function>XkbGetAccessXTimeout</function>
sends a request to the X server to obtain the current values for the
<emphasis>AccessXTimeout</emphasis>
attributes, waits for a reply, and backfills the values into the appropriate
arguments.
The parameters
<parameter>opts_mask_rtrn</parameter>
control settings are carried in the
<structfield>ax_timeout</structfield>,
<structfield>axt_opts_mask</structfield>,
<structfield>axt_opts_values</structfield>,
<structfield>axt_ctrls_mask</structfield>,
and
<parameter>opts_values_rtrn</parameter>
are backfilled with the options to modify and the values for
<structfield>ax_options</structfield>,
which is a field in the
<structfield>axt_ctrls_values</structfield>
fields of an
<structname>XkbControlsRec</structname>
structure (see <link linkend="The_XkbControlsRec_Structure">section 10.8</link>).
<function>XkbGetAccessXTimeout</function>
returns
<symbol>True</symbol>
if successful; if a compatible version of the Xkb extension is not available
in the server,
<function>XkbGetAccessXTimeout</function>
returns
<symbol>False</symbol>.
structure, discussed in <link linkend="The_XkbControlsRec_Structure">section 10.8</link>.
</para>
<para>
To configure the
<emphasis>AccessXTimeout</emphasis>
options for a keyboard device, use
<function>XkbSetAccessXTimeout</function>.
</para>
<indexterm significance="preferred" zone="XkbSetAccessXTimeout"><primary><function>XkbSetAccessXTimeout</function></primary></indexterm>
<funcsynopsis id="XkbSetAccessXTimeout">
<funcprototype>
<funcdef>Bool <function>XkbSetAccessXTimeout</function></funcdef>
<!-- (
<parameter>display</parameter>,
<parameter>device_spec, timeout, ctrls_mask, ctrls_values, opts_mask,
opts_values</parameter>
) -->
<paramdef>Display *<parameter>display</parameter></paramdef>
<paramdef>unsigned int <parameter>device_spec</parameter></paramdef>
<paramdef>unsigned short <parameter>timeout</parameter></paramdef>
<paramdef>unsigned int <parameter>ctrls_mask</parameter></paramdef>
<paramdef>unsigned int <parameter>ctrls_values</parameter></paramdef>
<paramdef>unsigned short <parameter>opts_mask</parameter></paramdef>
<paramdef>unsigned short <parameter>opts_values</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term>
<parameter>display</parameter>
</term>
<listitem>
<para>
connection to X server
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>device_spec</parameter>
</term>
<listitem>
<para>
device to configure, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>timeout</parameter>
</term>
<listitem>
<para>
seconds idle until AccessXTimeout occurs
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>ctrls_mask</parameter>
</term>
<listitem>
<para>
boolean controls to modify
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>ctrls_values</parameter>
</term>
<listitem>
<para>
new bits for controls selected by <parameter>ctrls_mask</parameter>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>opts_mask</parameter>
</term>
<listitem>
<para>
<structfield>ax_options</structfield> to change
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>opts_values</parameter>
</term>
<listitem>
<para>
new bits for <structfield>ax_options</structfield> selected by <parameter>opts_mask</parameter>
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
<parameter>timeout</parameter>
specifies the number of seconds the keyboard must be idle before the controls
are modified.
<parameter>ctrls_mask</parameter>
specifies what controls are to be enabled or disabled, and
<parameter>ctrls_values</parameter>
specifies whether those controls are to be enabled or disabled. The bit values
correspond to those for enabling and disabling boolean controls
(see <link linkend="The_EnabledControls_Control">section 10.1.1</link>). The
<parameter>opts_mask</parameter>
field specifies which attributes of the
<emphasis>AccessXKeys</emphasis>
and
<emphasis>AccessXFeedback</emphasis>
controls are to be changed, and
<parameter>opts_values</parameter>
specifies the new values for those options. The bit values correspond to those
for the
<structfield>ax_options</structfield>
field of an
<structname>XkbDescRec</structname>
(see <link linkend="The_XkbControlsRec_Structure">section 10.8</link>).
</para>
<para>
<function>XkbSetAccessXTimeout</function>
sends a request to configure the
<emphasis>AccessXTimeout</emphasis>
control to the server.
It does not wait for a reply, and normally returns
<symbol>True</symbol>.
If a compatible version of the Xkb extension is not available in the server,
<function>XkbSetAccessXTimeout</function>
returns
<symbol>False</symbol>.
</para>
</sect2>
<sect2 id='The_AccessXFeedback_Control'>
@ -2285,159 +2032,15 @@ event (see <link linkend="AccessXNotify_Events">section 10.6.4</link>).
</para>
<para>
To get the
There are no convenience functions in Xkb for manipulating this control. The
<emphasis>SlowKeys</emphasis>
acceptance delay for a keyboard device, use
<function>XkbGetSlowKeysDelay</function>.
control settings are carried in the
<structfield>slow_keys_delay</structfield>
field of an
<structname>XkbControlsRec</structname>
structure, discussed in <link linkend="The_XkbControlsRec_Structure">section 10.8</link>.
</para>
<indexterm significance="preferred" zone="XkbGetSlowKeysDelay"><primary><function>XkbGetSlowKeysDelay</function></primary></indexterm>
<funcsynopsis id="XkbGetSlowKeysDelay">
<funcprototype>
<funcdef>Bool <function>XkbGetSlowKeysDelay</function></funcdef>
<!-- (
<parameter>display</parameter>,
<parameter>device_spec</parameter>,
<parameter>delay_rtrn</parameter>
) -->
<paramdef>Display *<parameter>display</parameter></paramdef>
<paramdef>unsigned int <parameter>device_spec</parameter></paramdef>
<paramdef>unsigned int *<parameter>delay_rtrn</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term>
<parameter>display</parameter>
</term>
<listitem>
<para>
connection to X server
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>device_spec</parameter>
</term>
<listitem>
<para>
device ID, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>delay_rtrn</parameter>
</term>
<listitem>
<para>
backfilled with <emphasis>SlowKeys</emphasis> delay, ms
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
<function>XkbGetSlowKeysDelay</function>
requests the attributes of the
<emphasis>SlowKeys</emphasis>
control from the server, waits for a reply and backfills
<parameter>delay_rtrn</parameter>
with the
<emphasis>SlowKeys</emphasis>
delay attribute.
<function>XkbGetSlowKeysDelay</function>
returns
<symbol>True</symbol>
if successful; if a compatible version of the Xkb extension is not available
in the server,
<function>XkbGetSlowKeysDelay</function>
returns
<symbol>False</symbol>.
</para>
<para>
To set the
<emphasis>SlowKeys</emphasis>
acceptance delay for a keyboard device, use
<function>XkbSetSlowKeysDelay</function>.
</para>
<indexterm significance="preferred" zone="XkbSetSlowKeysDelay"><primary><function>XkbSetSlowKeysDelay</function></primary></indexterm>
<funcsynopsis id="XkbSetSlowKeysDelay">
<funcprototype>
<funcdef>Bool <function>XkbSetSlowKeysDelay</function></funcdef>
<!-- (
<parameter>display</parameter>,
<parameter>device_spec</parameter>,
<parameter>delay</parameter>
) -->
<paramdef>Display *<parameter>display</parameter></paramdef>
<paramdef>unsigned int <parameter>device_spec</parameter></paramdef>
<paramdef>unsigned int <parameter>delay</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term>
<parameter>display</parameter>
</term>
<listitem>
<para>
connection to X server
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>device_spec</parameter>
</term>
<listitem>
<para>
device to configure, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>delay</parameter>
</term>
<listitem>
<para>
<emphasis>SlowKeys</emphasis> delay, ms
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
<function>XkbSetSlowKeysDelay</function>
sends a request to configure the
<emphasis>SlowKeys</emphasis>
control to the server.
It does not wait for a reply, and normally returns
<symbol>True</symbol>.
Specifying a value of
<literal>0</literal>
for the
<parameter>delay</parameter>
parameter causes
<function>XkbSetSlowKeysDelay</function>
to generate a
<errorname>BadValue</errorname>
protocol error. If a compatible version of the Xkb extension is not available
in the server
<function>XkbSetSlowKeysDelay</function>
returns
<symbol>False</symbol>.
</para>
</sect2>
<sect2 id='The_BounceKeys_Control'>
<title>The BounceKeys Control</title>
@ -2466,157 +2069,13 @@ event (see <link linkend="AccessXNotify_Events">section 10.6.4</link>).
<para>
Use
<function>XkbGetBounceKeysDelay</function>
to query the current
There are no convenience functions in Xkb for manipulating this control. The
<emphasis>BounceKeys</emphasis>
delay for a keyboard device.
</para>
<indexterm significance="preferred" zone="XkbGetBounceKeysDelay"><primary><function>XkbGetBounceKeysDelay</function></primary></indexterm>
<funcsynopsis id="XkbGetBounceKeysDelay">
<funcprototype>
<funcdef>Bool <function>XkbGetBounceKeysDelay</function></funcdef>
<!-- (
<parameter>display</parameter>,
<parameter>device_spec</parameter>,
<parameter>delay_rtrn</parameter>
) -->
<paramdef>Display *<parameter>display</parameter></paramdef>
<paramdef>unsigned int <parameter>device_spec</parameter></paramdef>
<paramdef>unsigned int *<parameter>delay_rtrn</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term>
<parameter>display</parameter>
</term>
<listitem>
<para>
connection to X server
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>device_spec</parameter>
</term>
<listitem>
<para>
device ID, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>delay_rtrn</parameter>
</term>
<listitem>
<para>
backfilled with bounce keys delay, ms
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
<function>XkbGetBounceKeysDelay</function>
requests the attributes of the
<emphasis>BounceKeys</emphasis>
control from the server, waits for a reply, and backfills
<parameter>delay_rtrn</parameter>
with the
<emphasis>BounceKeys</emphasis>
delay attribute.
<function>XkbGetBounceKeysDelay</function>
returns
<symbol>True</symbol>
if successful; if a compatible version of the Xkb extension is not available
in the server
<function>XkbGetSlowKeysDelay</function>
returns
<symbol>False</symbol>.
</para>
<para>
To set the
<emphasis>BounceKeys</emphasis>
delay for a keyboard device, use
<function>XkbSetBounceKeysDelay</function>.
</para>
<indexterm significance="preferred" zone="XkbSetBounceKeysDelay"><primary><function>XkbSetBounceKeysDelay</function></primary></indexterm>
<funcsynopsis id="XkbSetBounceKeysDelay">
<funcprototype>
<funcdef>Bool <function>XkbSetBounceKeysDelay</function></funcdef>
<!-- (
<parameter>display</parameter>,
<parameter>device_spec</parameter>,
<parameter>delay</parameter>
) -->
<paramdef>Display *<parameter>display</parameter></paramdef>
<paramdef>unsigned int <parameter>device_spec</parameter></paramdef>
<paramdef>unsigned int <parameter>delay</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term>
<parameter>display</parameter>
</term>
<listitem>
<para>
connection to X server
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>device_spec</parameter>
</term>
<listitem>
<para>
device to configure, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>delay</parameter>
</term>
<listitem>
<para>
bounce keys delay, ms
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
<function>XkbSetBounceKeysDelay</function>
sends a request to configure the
<emphasis>BounceKeys</emphasis>
control to the server.
It does not wait for a reply and normally returns
<symbol>True</symbol>.
Specifying a value of
<emphasis>zero</emphasis>
for the
<parameter>delay</parameter>
parameter causes
<function>XkbSetBounceKeysDelay</function>
to generate a
<errorname>BadValue</errorname>
protocol error. If a compatible version of the Xkb extension is not available
in the server,
<function>XkbSetBounceKeysDelay</function>
returns
<symbol>False</symbol>.
control settings are carried in the
<structfield>debounce_delay</structfield>
field of an
<structname>XkbControlsRec</structname>
structure, discussed in <link linkend="The_XkbControlsRec_Structure">section 10.8</link>.
</para>
</sect2>
@ -2756,183 +2215,14 @@ specifies whether or not
locks a modifier when pressed twice in a row.
</para>
<para>
Use
<function>XkbGetStickyKeysOptions</function>
to query the current
There are no convenience functions in Xkb for manipulating this control. The
<emphasis>StickyKeys</emphasis>
attributes for a keyboard device.
</para>
<indexterm significance="preferred" zone="XkbGetStickyKeysOptions"><primary><function>XkbGetStickyKeysOptions</function></primary></indexterm>
<funcsynopsis id="XkbGetStickyKeysOptions">
<funcprototype>
<funcdef>Bool <function>XkbGetStickyKeysOptions</function></funcdef>
<!-- (
<parameter>display</parameter>,
<parameter>device_spec</parameter>,
<parameter>options_rtrn</parameter>
) -->
<paramdef>Display *<parameter>display</parameter></paramdef>
<paramdef>unsigned int <parameter>device_spec</parameter></paramdef>
<paramdef>unsigned int *<parameter>options_rtrn</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term>
<parameter>display</parameter>
</term>
<listitem>
<para>
connection to X server
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>device_spec</parameter>
</term>
<listitem>
<para>
device ID, or <symbol>XkbUseCoreKbd</symbol>
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>options_rtrn</parameter>
</term>
<listitem>
<para>
backfilled with StickyKeys option mask
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
<function>XkbGetStickyKeysOptions</function>
requests the attributes of the
<emphasis>StickyKeys</emphasis>
control from the server, waits for a reply, and backfills
<parameter>options_rtrn</parameter>
with a mask indicating whether the individual
<emphasis>StickyKeys</emphasis>
options are on or off. Valid bits in
<parameter>options_rtrn</parameter>
are:
<simplelist type='vert' columns='1'>
<member><symbol>XkbAX_TwoKeysMask</symbol></member>
<member><symbol>XkbAX_LatchToLockMask</symbol></member>
</simplelist>
</para>
<para>
<function>XkbGetStickyKeysOptions</function>
returns
<symbol>True</symbol>
if successful; if a compatible version of the Xkb extension is not available
in the server
<function>XkbGetStickyKeysOptions</function>
returns
<symbol>False</symbol>.
</para>
<para>
To set the
<emphasis>StickyKeys</emphasis>
attributes for a keyboard device, use
<function>XkbSetStickyKeysOptions</function>.
</para>
<indexterm significance="preferred" zone="XkbSetStickyKeysOptions"><primary><function>XkbSetStickyKeysOptions</function></primary></indexterm>
<funcsynopsis id="XkbSetStickyKeysOptions">
<funcprototype>
<funcdef>Bool <function>XkbSetStickyKeysOptions</function></funcdef>
<!-- (
<parameter>display</parameter>,
<parameter>device_spec, mask, values</parameter>
) -->
<paramdef>Display *<parameter>display</parameter></paramdef>
<paramdef>unsigned int <parameter>device_spec</parameter></paramdef>
<paramdef>unsigned int <parameter>mask</parameter></paramdef>
<paramdef>unsigned int <parameter>values</parameter></paramdef>
</funcprototype>
</funcsynopsis>
<variablelist>
<varlistentry>
<term>
<parameter>display</parameter>
</term>
<listitem>
<para>
connection to X server
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>device_spec</parameter>
</term>
<listitem>
<para>
device to configure, or XkbUseCoreKbd
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>mask</parameter>
</term>
<listitem>
<para>
selects StickyKeys attributes to modify
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>values</parameter>
</term>
<listitem>
<para>
values for selected attributes
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
<function>XkbSetStickyKeysOptions</function>
sends a request to configure the
<emphasis>StickyKeys</emphasis>
control to the server.
It does not wait for a reply and normally returns
<symbol>True</symbol>.
The valid bits to use for both the
<parameter>mask</parameter>
and
<parameter>values</parameter>
parameters are:
<simplelist type='vert' columns='1'>
<member><symbol>XkbAX_TwoKeysMask</symbol></member>
<member><symbol>XkbAX_LatchToLockMask</symbol></member>
</simplelist>
</para>
<para>
If a compatible version of the Xkb extension is not available in the server,
<function>XkbSetStickyKeysOptions</function>
returns
<symbol>False</symbol>.
control settings are carried in the
<structfield>ax_options</structfield>
field of an
<structname>XkbControlsRec</structname>
structure, discussed in <link linkend="The_XkbControlsRec_Structure">section 10.8</link>.
</para>
</sect3>