There is a simple typo in xorg-server-1.7.1 that prevents some bell parameter changes from having effect. ProcChangeKeyboardControl() fails to copy the master setting to the slave. Because of a separate problem where the server rings the bell through both the master and the slave, and on x86, it's the same physical bell, the slave action often just overrides the master. Bug 25801 is not this. There is something more basic wrong with the way bells work in the master/slave world, but this one is just an isolated coding error. --- xorg-server-1.7.1/dix/devices.c 2009-10-23 04:53:21.000000000 +0000 +++ xorg-server/dix/devices.c 2011-03-05 22:51:37.000000000 +0000 @@ -1940,7 +1940,7 @@ } for (pDev = inputInfo.devices; pDev; pDev = pDev->next) { - if ((pDev == keyboard || (!IsMaster(keyboard) && pDev->u.master == key\ board)) && + if ((pDev == keyboard || (!IsMaster(pDev) && pDev->u.master == keyboar\ d)) && pDev->kbdfeed && pDev->kbdfeed->CtrlProc) { ret = DoChangeKeyboardControl(client, pDev, vlist, vmask); if (ret != Success)
Already fixed last year: http://cgit.freedesktop.org/xorg/xserver/commit/?id=968a79dcf5e17ac3963953ef56b8f94dbd75323b *** This bug has been marked as a duplicate of bug 27926 ***
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.