diff options
Diffstat (limited to 'libX11/man/xkb/XkbGetSlowKeysDelay.man')
-rw-r--r-- | libX11/man/xkb/XkbGetSlowKeysDelay.man | 229 |
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 + |