1XkbGetBounceKeysDelay(3)         XKB FUNCTIONS        XkbGetBounceKeysDelay(3)
2
3
4

NAME

6       XkbGetBounceKeysDelay - Queries the current BounceKeys delay for a key‐
7       board device.
8

SYNOPSIS

10       Bool XkbGetBounceKeysDelay (Display *display, unsigned int device_spec,
11              unsigned int *delay_rtrn);
12

ARGUMENTS

14       - display
15              connection to X server
16
17       - device_spec
18              device ID, or XkbUseCoreKbd
19
20       - delay_rtrn
21              backfilled with bounce keys delay, ms
22

DESCRIPTION

24       The  server can generate XkbAccessXNotify events for some of the global
25       keyboard controls.  The detail field describes what AccessX event  just
26       occurred and can be any of the values in Table 1.
27
28
29                       Table 1 AccessXNotify Events
30       ─────────────────────────────────────────────────────────────
31       detail              Reason
32       ─────────────────────────────────────────────────────────────
33       XkbAXN_SKPress      A  key  was  pressed  when  SlowKeys was
34                           enabled.
35       XkbAXN_SKAccept     A key was accepted (held longer than the
36                           SlowKeys delay).
37       XkbAXN_SKRelease    An accepted SlowKeys key was released.
38       XkbAXN_SKReject     A  key was rejected (released before the
39                           SlowKeys delay expired).
40       XkbAXN_BKAccept     A key was accepted by BounceKeys.
41       XkbAXN_BKReject     A key was rejected (pressed  before  the
42                           BounceKeys delay expired).
43       XkbAXN_AXKWarning   AccessXKeys  is  about  to  turn  on/off
44                           StickyKeys or BounceKeys.
45
46
47       The keycode field reports the keycode of the key for  which  the  event
48       occurred. If the action is related to SlowKeys, the slowKeysDelay field
49       contains the current  SlowKeys  acceptance  delay.  If  the  action  is
50       related  to  BounceKeys,  the  debounceDelay field contains the current
51       BounceKeys debounce delay.
52
53       Selecting for AccessX Events
54
55       To receive XkbAccessXNotify events under all possible  conditions,  use
56       XkbSelectEvents and pass XkbAccesXNotifyMask in both bits_to_change and
57       values_for_bits.
58
59       To receive XkbStateNotify events only  under  certain  conditions,  use
60       XkbSelectEventDetails  using  XkbAccessXNotify  as  the  event_type and
61       specifying  the  desired  state  changes  in  bits_to_change  and  val‐
62       ues_for_bits using mask bits from Table 2.
63
64
65
66
67                         Table 2 AccessXNotify Event Details
68       ─────────────────────────────────────────────────────────────────────────
69       XkbAccessXNotify Event Details   Value    Circumstances
70       ─────────────────────────────────────────────────────────────────────────
71       XkbAXN_SKPressMask               (1<<0)   Slow  key  press  notification
72                                                 wanted
73       XkbAXN_SKAcceptMask              (1<<1)   Slow key  accept  notification
74                                                 wanted
75       XkbAXN_SKRejectMask              (1<<2)   Slow  key  reject notification
76                                                 wanted
77       XkbAXN_SKReleaseMask             (1<<3)   Slow key release  notification
78                                                 wanted
79       XkbAXN_BKAcceptMask              (1<<4)   Bounce key accept notification
80                                                 wanted
81       XkbAXN_BKRejectMask              (1<<5)   Bounce key reject notification
82                                                 wanted
83       XkbAXN_AXKWarningMask            (1<<6)   AccessX  warning  notification
84                                                 wanted
85       XkbAllAccessXEventsMask          (0x7f)   All AccessX features notifica‐
86                                                 tions wanted
87
88       Some  users  may  accidentally  "bounce" on a key when they release it.
89       They press it once, then accidentally press it again after they release
90       it. The BounceKeys control temporarily disables a key after it has been
91       pressed, effectively "debouncing" the keyboard. The period of time  the
92       key  is disabled after it is released is known as the BounceKeys delay.
93       BounceKeys is a boolean control.
94
95       When the BounceKeys control is active, the server reports acceptance or
96       rejection  of  any  key to interested clients by sending an appropriate
97       AccessXNotify event (see STRUCTURES).
98
99       XkbGetBounceKeysDelay requests the attributes of the BounceKeys control
100       from  the  server, waits for a reply, and backfills delay_rtrn with the
101       BounceKeys delay attribute.  XkbGetBounceKeysDelay returns True if suc‐
102       cessful;  if a compatible version of the Xkb extension is not available
103       in the server XkbGetSlowKeysDelay returns False.
104

RETURN VALUES

106       True           The XkbGetBounceKeysDelay function returns True when  it
107                      successfully  requests  the attributes of the BounceKeys
108                      control from the server, waits for a  reply,  and  back‐
109                      fills delay_rtrn with the BounceKeys delay attribute.
110
111       False          The  XkbGetBounceKeysDelay  function  returns False if a
112                      compatible version of the Xkb extension is not available
113                      in the server.
114

STRUCTURES

116       The structure for the XkbAccessXNotify event type is as follows:
117
118       typedef struct {
119           int            type;           /∗ Xkb extension base event code */
120           unsigned long  serial;         /∗ X server serial number for event */
121           Bool           send_event;     /∗ True => synthetically generated */
122           Display *      display;        /∗ server connection where event generated */
123           Time           time;           /∗ server time when event generated */
124           int            xkb_type;       /∗ XkbAccessXNotify */
125           int            device;         /∗ Xkb device ID, will not be XkbUseCoreKbd
126       */
127           int            detail;         /∗ XkbAXN_* */
128           KeyCode        keycode;        /∗ key of event */
129           int            slowKeysDelay;  /∗ current SlowKeys delay */
130           int            debounceDelay;  /∗ current debounce delay */
131       } XkbAccessXNotifyEvent;
132
133

SEE ALSO

135       XkbGetSlowKeysDelay(3)
136
137
138
139
140X Version 11                     libX11 1.6.9         XkbGetBounceKeysDelay(3)
Impressum