aboutsummaryrefslogtreecommitdiff
path: root/libX11/man/xkb/XkbGetSlowKeysDelay.man
diff options
context:
space:
mode:
Diffstat (limited to 'libX11/man/xkb/XkbGetSlowKeysDelay.man')
-rw-r--r--libX11/man/xkb/XkbGetSlowKeysDelay.man229
1 files changed, 229 insertions, 0 deletions
diff --git a/libX11/man/xkb/XkbGetSlowKeysDelay.man b/libX11/man/xkb/XkbGetSlowKeysDelay.man
new file mode 100644
index 000000000..ff7b29f35
--- /dev/null
+++ b/libX11/man/xkb/XkbGetSlowKeysDelay.man
@@ -0,0 +1,229 @@
+'\" 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 XkbGetSlowKeysDelay __libmansuffix__ __xorgversion__ "XKB FUNCTIONS"
+.SH NAME
+XkbGetSlowKeysDelay \- Gets the SlowKeys acceptance delay for a keyboard device
+.SH SYNOPSIS
+.B Bool XkbGetSlowKeysDelay
+(
+.I display,
+.I device_spec,
+.I delay_rtrn
+)
+.br
+ Display *\fIdisplay\fP\^;
+.br
+ unsigned int \fIdevice_spec\fP\^;
+.br
+ unsigned int *\fIdelay_rtrn \fP\^;
+.if n .ti +5n
+.if t .ti +.5i
+.SH ARGUMENTS
+.TP
+.I \- display
+connection to X server
+.TP
+.I \- device_spec
+device ID, or XkbUseCoreKbd
+.TP
+.I \- delay_rtrn
+backfilled with SlowKeys delay, ms
+.SH DESCRIPTION
+.LP
+Some users may accidentally bump keys while moving a hand or typing stick toward
+the key they want. Usually, the keys that are accidentally bumped are just hit
+for a very short period of time. The SlowKeys control helps filter these
+accidental bumps by telling the server to wait a specified period, called the
+.I SlowKeys acceptance delay,
+before delivering key events. If the key is released before this period elapses,
+no key events are generated. Users can then bump any number of keys on their way
+to the one they want without accidentally getting those characters. Once they
+have reached the key they want, they can then hold the desired key long enough
+for the computer to accept it. SlowKeys is a boolean control with one
+configurable attribute.
+
+When the SlowKeys control is active, the server reports the initial key press,
+subsequent acceptance or rejection, and release of any key to interested clients
+by sending an appropriate AccessXNotify event (see section 10.6.4).
+
+The server can generate XkbAccessXNotify events for some of the global keyboard
+controls.
+The detail field describes what AccessX event just occurred and can be any of
+the values in
+Table 1.
+The server can generate XkbAccessXNotify events for some of the global keyboard
+controls.
+The detail field describes what AccessX event just occurred and can be any of
+the values in
+Table 1.
+
+.TS
+c s
+l l
+l lw(4i).
+Table 1 AccessXNotify Events
+_
+detail Reason
+_
+XkbAXN_SKPress T{
+A key was pressed when SlowKeys was enabled.
+T}
+XkbAXN_SKAccept T{
+A key was accepted (held longer than the SlowKeys delay).
+T}
+XkbAXN_SKRelease T{
+An accepted SlowKeys key was released.
+T}
+XkbAXN_SKReject T{
+A key was rejected (released before the SlowKeys delay expired).
+T}
+XkbAXN_BKAccept T{
+A key was accepted by BounceKeys.
+T}
+XkbAXN_BKReject T{
+A key was rejected (pressed before the BounceKeys delay expired).
+T}
+XkbAXN_AXKWarning T{
+AccessXKeys is about to turn on/off StickyKeys or BounceKeys.
+T}
+.TE
+
+
+The
+.I keycode
+field reports the keycode of the key for which the event occurred. If the action
+is related to
+.I SlowKeys,
+the
+.I slowKeysDelay
+field contains the current SlowKeys acceptance delay. If the action is related
+to BounceKeys,
+the
+.I debounceDelay
+field contains the current BounceKeys debounce delay.
+
+Selecting for AccessX Events
+
+To receive XkbAccessXNotify events under all possible conditions, use
+.I XkbSelectEvents
+and pass XkbAccesXNotifyMask in both
+.I bits_to_change
+and
+.I values_for_bits.
+
+To receive XkbStateNotify events only under certain conditions, use
+.I XkbSelectEventDetails
+using XkbAccessXNotify as the
+.I event_type
+and specifying the desired state changes in
+.I bits_to_change
+and
+.I values_for_bits
+using mask bits from Table 2.
+
+.TS
+c s s
+l l l
+l l lw(3i).
+Table 2 AccessXNotify Event Details
+_
+XkbAccessXNotify Event Details Value Circumstances
+_
+XkbAXN_SKPressMask (1<<0) T{
+Slow key press notification wanted
+T}
+XkbAXN_SKAcceptMask (1<<1) T{
+Slow key accept notification wanted
+T}
+XkbAXN_SKRejectMask (1<<2) T{
+Slow key reject notification wanted
+T}
+XkbAXN_SKReleaseMask (1<<3) T{
+Slow key release notification wanted
+T}
+XkbAXN_BKAcceptMask (1<<4) T{
+Bounce key accept notification wanted
+T}
+XkbAXN_BKRejectMask (1<<5) T{
+Bounce key reject notification wanted
+T}
+XkbAXN_AXKWarningMask (1<<6) T{
+AccessX warning notification wanted
+T}
+XkbAXN_AllEventsMask (0x7f) T{
+All AccessX features notifications wanted
+T}
+.TE
+
+.I XkbGetSlowKeysDelay
+requests the attributes of the SlowKeys control from the server, waits for a
+reply and backfills
+.I delay_rtrn
+with the SlowKeys delay attribute.
+.I XkbGetSlowKeysDelay
+returns True if successful; ,
+.I XkbGetSlowKeysDelay
+returns False.
+.SH "RETURN VALUES"
+.TP 15
+True
+The
+.I XkbGetSlowKeysDelay
+function returns True if the request of the Slowkeys control from the server was
+successful.
+.I
+.TP 15
+False
+The
+.I XkbGetSlowKeysDelay
+function returns False if a compatible version of the Xkb extension is not
+available in the server.
+.SH STRUCTURES
+.LP
+The structure for the XkbAccessXNotify event type is 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; /\(** XkbAccessXNotify */
+ int device; /\(** Xkb device ID, will not be XkbUseCoreKbd
+*/
+ int detail; /\(** XkbAXN_* */
+ KeyCode keycode; /\(** key of event */
+ int slowKeysDelay; /\(** current SlowKeys delay */
+ int debounceDelay; /\(** current debounce delay */
+} XkbAccessXNotifyEvent;
+
+.fi
+