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

NAME

6       XkbSetBounceKeysDelay - Sets the BounceKeys delay for a keyboard device
7

SYNOPSIS

9       Bool XkbSetBounceKeysDelay (Display *display, unsigned int device_spec,
10              unsigned int *delay);
11

ARGUMENTS

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

DESCRIPTION

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

RETURN VALUES

105       True           The XkbSetBounceKeysDelay function returns True when  it
106                      sends  a  request to configure the BounceKeys control to
107                      the server.
108
109       False          The XkbSetBounceKeysDelay function returns  False  if  a
110                      compatible version of the Xkb extension is not available
111                      in the server.
112

STRUCTURES

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

DIAGNOSTICS

133       BadValue       An argument is out of range
134
135
136
137X Version 11                     libX11 1.7.2         XkbSetBounceKeysDelay(3)
Impressum