Comment 71 for bug 331589

Revision history for this message
Ryan Egesdahl (deriamis) wrote :

I've done some snooping on this problem, and here is what I can tell you:

There is a setting in gconf under desktop->gnome->peripherals->keyboard called "bell_mode" that controls the system bell. When set to "on", a keyboard event (such as hitting backspace on an empty line) will cause the annoying beep. Setting it to "custom" allows for using a file to be played instead of just a beep, set by bell_custom_file. In any case, neither of these settings is changed in the sound preferences panel.

There is also a setting in the CompizConfig Settings Manager, under General->General, called "Audible Bell". Unsetting this also disables the system bell, but there is no means to configure a file to be played here.

It appears that the CompizConfig setting is prior to the gconf setting - when the CompizConfig setting is "off", the bell sound does not play regardless of the gconf setting. Both gconf and CompizConfig must be set to "on" for this to work.

When the pcspkr module is loaded, all system bell events get routed to the PC Speaker when they are to be played. If the module is unloaded, the sound instead gets routed through to the ALSA PC Speaker emulator. Setting a file to play did not seem to work, at least for the ogg files I had available.

I'm not sure that simply blacklisting the pcspkr module will solve the issue - though it needs to be done anyway if we are going to use the ALSA emulator for that. Perhaps blacklist the module if ALSA is installed? Also, simply disabling the system beep won't work because that prevents any audible alert notifications from happening. Shutdown and login do not seem to be affected by this - but let's assist the blind with knowing when they have hit the backspace key enough times, shall we? Visual notifications won't help them much.

Oh, and there is a separate issue floating around about a beep on logout. This is happening because there is apparently an error not-so-silently happening behind the scenes with power management when the computer is shutting down. It can be disabled in System->Preferences->Power Management->General->Extras->Use sound to notify in event of an error, but it really shouldn't be simply because it is a beep. It should be playing the proper sound selected, and if it is a false positive error, the problem should be found and corrected. Unfortunately, I haven't found the source of that problem yet.

And that's all I have. I hope it helps someone.