the auto-reset AudibleBell control does not work
Submitted by beroal
Assigned to Xorg Project Team
Description
If I request that AudibleBell is auto-reset to 1, set AudibleBell to 0, and terminate the process, AudibleBell remains at 0 (no bell rings).
There is a similar bug https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=806236 regarding "xkbevd".
The code of the process using XCB: {{{ /* request that AudibleBell is auto-reset to 1 / pcf_cookie = xcb_xkb_per_client_flags(conn, XCB_XKB_ID_USE_CORE_KBD , XCB_XKB_PER_CLIENT_FLAG_AUTO_RESET_CONTROLS, XCB_XKB_PER_CLIENT_FLAG_AUTO_RESET_CONTROLS , XCB_XKB_BOOL_CTRL_AUDIBLE_BELL_MASK, XCB_XKB_BOOL_CTRL_AUDIBLE_BELL_MASK, XCB_XKB_BOOL_CTRL_AUDIBLE_BELL_MASK); pcf_reply = xcb_xkb_per_client_flags_reply(conn, pcf_cookie, &error); if (! pcf_reply) { / skipped / } else { printf("autoCtrls: %x, autoCtrlsValues: %x\n", pcf_reply->autoCtrls, pcf_reply->autoCtrlsValues); fflush(stdout); free(pcf_reply); / set AudibleBell to 0 */ xcb_xkb_set_controls(conn, XCB_XKB_ID_USE_CORE_KBD , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 , XCB_XKB_BOOL_CTRL_AUDIBLE_BELL_MASK, 0 , XCB_XKB_CONTROL_CONTROLS_ENABLED , 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, per_key_repeat); xcb_flush(conn); } }}} It outputs "autoCtrls: 200, autoCtrlsValues: 200".
I may be a bug in XCB, but the bug in "xkbevd" was filed pretty recently (2015-11-25) and "xkbevd" uses Xlib, so I guess it's a bug in Xorg.
Version: 7.7 (2012.06)