diff options
Diffstat (limited to 'libX11/man/xkb/XkbSetAccessXTimeout.man')
-rw-r--r-- | libX11/man/xkb/XkbSetAccessXTimeout.man | 215 |
1 files changed, 215 insertions, 0 deletions
diff --git a/libX11/man/xkb/XkbSetAccessXTimeout.man b/libX11/man/xkb/XkbSetAccessXTimeout.man new file mode 100644 index 000000000..fd7d6248d --- /dev/null +++ b/libX11/man/xkb/XkbSetAccessXTimeout.man @@ -0,0 +1,215 @@ +'\" t +.\" Copyright (c) 1999 - Sun Microsystems, Inc. +.\" All rights reserved. +.\" +.\" Permission is hereby granted, free of charge, to any person obtaining a +.\" copy of this software and associated documentation files (the +.\" "Software"), to deal in the Software without restriction, including +.\" without limitation the rights to use, copy, modify, merge, publish, +.\" distribute, and/or sell copies of the Software, and to permit persons +.\" to whom the Software is furnished to do so, provided that the above +.\" copyright notice(s) and this permission notice appear in all copies of +.\" the Software and that both the above copyright notice(s) and this +.\" permission notice appear in supporting documentation. +.\" +.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS +.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT +.\" OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR +.\" HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL +.\" INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING +.\" FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, +.\" NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION +.\" WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +.\" +.\" Except as contained in this notice, the name of a copyright holder +.\" shall not be used in advertising or otherwise to promote the sale, use +.\" or other dealings in this Software without prior written authorization +.\" of the copyright holder. +.\" +.TH XkbSetAccessXTimeout __libmansuffix__ __xorgversion__ "XKB FUNCTIONS" +.SH NAME +XkbSetAccessXTimeout \- Configures the AccessXTimeout options for a keyboard +device +.SH SYNOPSIS +.B Bool XkbSetAccessXTimeout +( +.I display, +.I device_spec, +.I timeout, +.I ctrls_mask, +.I ctrls_values, +.I opts_mask, +.I opts_values +) +.br + Display *\fI display \fP\^; +.br + unsigned int \fI device_spec \fP\^; +.br + unsigned short \fI timeout \fP\^; +.br + unsigned int \fI ctrls_mask \fP\^; +.br + unsigned int \fI ctrls_values \fP\^; +.br + unsigned short \fI opts_mask \fP\^; +.br + unsigned short \fI opts_values \fP\^; +.if n .ti +5n +.if t .ti +.5i +.SH ARGUMENTS +.TP +.I \- display +connection to X server +.TP +.I \- device_spec +device to configure, or XkbUseCoreKbd +.TP +.I \- timeout +seconds idle until AccessXTimeout occurs +.TP +.I \- ctrls_mask +boolean controls to modify +.TP +.I \- ctrls_values +new bits for controls selected by ctrls_mask +.TP +.I \- opts_mask +ax_options to change +.TP +.I \- opts_values +new bits for ax_options selected by opts_mask +.SH DESCRIPTION +.LP +In environments where computers are shared, features such as SlowKeys present a +problem: if SlowKeys is on, the keyboard can appear to be unresponsive because +keys are not accepted until they are held for a certain period of time. To help +solve this problem, Xkb provides an AccessXTimeout control to automatically +change the enabled/disabled state of any boolean controls and to change the +value of the AccessXKeys and AccessXFeedback control attributes if the keyboard +is idle for a specified period of time. + +When a timeout as specified by AccessXTimeout occurs and a control is +consequently modified, Xkb generates an XkbControlsNotify event. For more +information on XkbControlsNotify events. + +.I timeout +specifies the number of seconds the keyboard must be idle before the controls +are modified. +.I ctrls_mask +specifies what controls are to be enabled or disabled, and +.I ctrls_values +specifies whether those controls are to be enabled or disabled. The bit values +correspond to those for enabling and disabling boolean controls using +.I XkbChangeEnabledControls. + The +.I opts_mask +field specifies which attributes of the AccessXKeys and AccessXFeedback controls +are to be changed, and +.I opts_values +specifies the new values for those options. The bit values correspond to those +for the +.I ax_options +field of an XkbDescRec. + +.I XkbSetAccessXTimeout +sends a request to configure the AccessXTimeout control to the server. It does +not wait for a reply, and normally returns True. If a compatible version of the +Xkb extension is not available in the server, +.I XkbSetAccessXTimeout +returns False. +.SH "RETURN VALUES" +.TP 15 +True +The +.I XkbSetAccessXTimeout +function returns True when a compatible version of the Xkb extension is available in the server. +.TP 15 +False +The +.I XkbSetAccessXTimeout +function returns False when a compatible version of the Xkb extension is not available in the server. +.SH STRUCTURES +.LP +The complete description of an Xkb keyboard is given by an XkbDescRec. The component +structures in the XkbDescRec represent the major Xkb components. + +.nf +typedef struct { + struct _XDisplay * display; /\(** connection to X server */ + unsigned short flags; /\(** private to Xkb, do not modify */ + unsigned short device_spec; /\(** device of interest */ + KeyCode min_key_code; /\(** minimum keycode for device */ + KeyCode max_key_code; /\(** maximum keycode for device */ + XkbControlsPtr ctrls; /\(** controls */ + XkbServerMapPtr server; /\(** server keymap */ + XkbClientMapPtr map; /\(** client keymap */ + XkbIndicatorPtr indicators; /\(** indicator map */ + XkbNamesPtr names; /\(** names for all components */ + XkbCompatMapPtr compat; /\(** compatibility map */ + XkbGeometryPtr geom; /\(** physical geometry of keyboard */ +} XkbDescRec, *XkbDescPtr; + +.fi +The +.I display +field points to an X display structure. The +.I flags field is private to the library: modifying +.I flags +may yield unpredictable results. The +.I device_spec +field specifies the device identifier of the keyboard input device, or +XkbUseCoreKeyboard, which specifies the core keyboard device. The +.I min_key_code +and +.I max_key_code +fields specify the least and greatest keycode that can be returned by the keyboard. + +Each structure component has a corresponding mask bit that is used in function calls to +indicate that the structure should be manipulated in some manner, such as allocating it +or freeing it. These masks and their relationships to the fields in the XkbDescRec are +shown in Table 1. + +.TS +c s s +l l l +l l l. +Table 1 Mask Bits for XkbDescRec +_ +Mask Bit XkbDescRec Field Value +_ +XkbControlsMask ctrls (1L<<0) +XkbServerMapMask server (1L<<1) +XkbIClientMapMask map (1L<<2) +XkbIndicatorMapMask indicators (1L<<3) +XkbNamesMask names (1L<<4) +XkbCompatMapMask compat (1L<<5) +XkbGeometryMask geom (1L<<6) +XkbAllComponentsMask All Fields (0x7f) +.TE + +The structure for the XkbControlsNotify event is defined as follows: +.nf + + typedef struct { + int type; /\(** Xkb extension base event code */ + unsigned long serial; /\(** X server serial number for event */ + Bool send_event; /\(** True => synthetically generated */ + Display * display; /\(** server connection where event generated */ + Time time; /\(** server time when event generated */ + int xkb_type; /\(** XkbCompatMapNotify */ + int device; /\(** Xkb device ID, will not be XkbUseCoreKbd */ + 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 */ + int num_groups; /\(** current number of keyboard groups */ + KeyCode keycode; /\(** != 0 => keycode of key causing change */ + char event_type; /\(** Type of event causing change */ + char req_major; /\(** major event code of event causing change */ + char req_minor; /\(** minor event code of event causing change */ + } XkbControlsNotifyEvent; + +.fi +.SH "SEE ALSO" +.BR XkbChangeEnabledControls (__libmansuffix__) |