Provided by: libx11-doc_1.6.4-3ubuntu0.4_all bug

NAME

       XkbGetSlowKeysDelay - Gets the SlowKeys acceptance delay for a keyboard device

SYNOPSIS

       Bool XkbGetSlowKeysDelay (Display *display, unsigned int device_spec, unsigned int *delay_rtrn);

ARGUMENTS

       - display
              connection to X server

       - device_spec
              device ID, or XkbUseCoreKbd

       - delay_rtrn
              backfilled with SlowKeys delay, ms

DESCRIPTION

       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
       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.

                       Table 1 AccessXNotify Events
       ─────────────────────────────────────────────────────────────
       detail              Reason
       ─────────────────────────────────────────────────────────────
       XkbAXN_SKPress      A  key  was  pressed  when  SlowKeys was
                           enabled.
       XkbAXN_SKAccept     A key was accepted (held longer than the
                           SlowKeys delay).
       XkbAXN_SKRelease    An accepted SlowKeys key was released.
       XkbAXN_SKReject     A  key was rejected (released before the
                           SlowKeys delay expired).
       XkbAXN_BKAccept     A key was accepted by BounceKeys.
       XkbAXN_BKReject     A key was rejected (pressed  before  the
                           BounceKeys delay expired).
       XkbAXN_AXKWarning   AccessXKeys  is  about  to  turn  on/off
                           StickyKeys or BounceKeys.

       The keycode field reports the keycode of the key for which the event occurred. If the action  is  related
       to  SlowKeys,  the  slowKeysDelay  field contains the current SlowKeys acceptance delay. If the action is
       related to BounceKeys, the debounceDelay field contains the current BounceKeys debounce delay.

       Selecting for AccessX Events

       To  receive  XkbAccessXNotify  events  under  all  possible  conditions,  use  XkbSelectEvents  and  pass
       XkbAccesXNotifyMask in both bits_to_change and values_for_bits.

       To  receive  XkbStateNotify  events  only  under  certain  conditions,  use  XkbSelectEventDetails  using
       XkbAccessXNotify as the event_type and  specifying  the  desired  state  changes  in  bits_to_change  and
       values_for_bits using mask bits from Table 2.

                         Table 2 AccessXNotify Event Details
       ─────────────────────────────────────────────────────────────────────────
       XkbAccessXNotify Event Details   Value    Circumstances
       ─────────────────────────────────────────────────────────────────────────
       XkbAXN_SKPressMask               (1<<0)   Slow  key  press  notification
                                                 wanted
       XkbAXN_SKAcceptMask              (1<<1)   Slow key  accept  notification
                                                 wanted
       XkbAXN_SKRejectMask              (1<<2)   Slow  key  reject notification
                                                 wanted
       XkbAXN_SKReleaseMask             (1<<3)   Slow key release  notification
                                                 wanted
       XkbAXN_BKAcceptMask              (1<<4)   Bounce key accept notification
                                                 wanted
       XkbAXN_BKRejectMask              (1<<5)   Bounce key reject notification
                                                 wanted
       XkbAXN_AXKWarningMask            (1<<6)   AccessX  warning  notification
                                                 wanted
       XkbAllAccessXEventsMask          (0x7f)   All      AccessX      features
                                                 notifications wanted

       XkbGetSlowKeysDelay  requests  the  attributes of the SlowKeys control from the server, waits for a reply
       and backfills delay_rtrn  with  the  SlowKeys  delay  attribute.   XkbGetSlowKeysDelay  returns  True  if
       successful; , XkbGetSlowKeysDelay returns False.

RETURN VALUES

       True           The  XkbGetSlowKeysDelay function returns True if the request of the Slowkeys control from
                      the server was successful.

       False          The XkbGetSlowKeysDelay function  returns  False  if  a  compatible  version  of  the  Xkb
                      extension is not available in the server.

STRUCTURES

       The structure for the XkbAccessXNotify event type is as follows:

       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;