1XkbSetBounceKeysDelay(3) XKB FUNCTIONS XkbSetBounceKeysDelay(3)
2
3
4
6 XkbSetBounceKeysDelay - Sets the BounceKeys delay for a keyboard device
7
9 Bool XkbSetBounceKeysDelay (Display *display, unsigned int device_spec,
10 unsigned int *delay);
11
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
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
33 enabled.
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
48 related 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
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
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
133 BadValue An argument is out of range
134
135
136
137X Version 11 libX11 1.3.4 XkbSetBounceKeysDelay(3)