1XkbGetBounceKeysDelay(3) XKB FUNCTIONS XkbGetBounceKeysDelay(3)
2
3
4
6 XkbGetBounceKeysDelay - Queries the current BounceKeys delay for a key‐
7 board device.
8
10 Bool XkbGetBounceKeysDelay (Display *display, unsigned int device_spec,
11 unsigned int *delay_rtrn);
12
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
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
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
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
135 XkbGetSlowKeysDelay(3)
136
137
138
139
140X Version 11 libX11 1.3.4 XkbGetBounceKeysDelay(3)