GNOME Bugzilla – Bug 336783
volume up keyboard shortcut does not increase volume
Last modified: 2007-02-14 17:25:40 UTC
Please describe the problem: The keyboard shortcut for "Volume Up," once configured, does not raise the volume when the key is pressed. The OSD is displayed, but the volume stays the same. Volume down and mute work fine. Steps to reproduce: 1. Set a keyboard shortcut for "Volume up" 2. Logout/login (sometimes needed to flush settings) 3. Press the key(s) Actual results: OSD is displayed, volume stays constant Expected results: Volume should increase Does this happen every time? Yes Other information: Tried with different keys. The key is being reported correctly to the system (checked with showkey) and the audio device does not appear to be a problem, since down and mute work. The key does not appear to be bound twice (checked under GConf.)
Ubuntu bug about that: https://launchpad.net/products/control-center/+bug/36302/+index
http://cvs.gnome.org/viewcvs/gnome-control-center/gnome-settings-daemon/gnome-settings-multimedia-keys.c?rev=1.18&view=markup This may be the offending file. The acme stuff abstracts to a set_level function, so that doesn't appear to be the problem. I can't build GNOME, otherwise I would try to fix this. Someone might put a debugging message after line 760 and find out if vol is really getting changed -- perhaps that section of the case is not being run.
*** Bug 342997 has been marked as a duplicate of this bug. ***
For reference, Dimitrios pointed out some upstream Fedora bugs about this issue: https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=187572 https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=184561
This bug is in the acme volume controls for gstreamer. The function acme_volume_gstreamer_set_volume truncates a floating point value when it assigns it to an int. The alsa equivalent round the value before assigning it. By not rounding, if the volume_step (gconf key /apps/gnome_settings_daemon/volume_step) is too small, the volume never makes it up to the next setting. Lowering the volume still works because truncation works for rounding down but not up.
You imply that volume down works, but it doesn't work here. Not only does it not work, but the OSD bar doesn't appear on the screen. Neither does "mute" work anymore, is that a float/int conversion problem as well? I'm guessing that the key actions are lost somewhere...
I do not imply that volume down works. It is stated in the original bug report. No implication necessary. CLearly the key actions are not being lost, as the original poster says that volume down and mute work, and volume up displays the volume bar, but the volume does not change. Your problem would appear to be unrelated to this bug. Perhaps you should open another one? Check the output of "xmodmap -pke | grep XF86Audio" to see if you have duplicates for RaiseVolume, LowerVolume and Mute. If so, that is likely to be your problem - which is another bug in gnome-settings-daemon. Verify the correct keysyms with xev and remove the duplicates - most likely the lower numbered keycodes - with "xmodmap -e 'keycode nnn ='" (ie assign it nothing).
I did open another one and someone marked it as duplicate of this bug! $ xmodmap -pke | grep XF86Audio keycode 129 = XF86AudioMedia keycode 144 = XF86AudioPrev keycode 153 = XF86AudioNext keycode 159 = XF86AudioMute keycode 160 = XF86AudioMute keycode 162 = XF86AudioPlay keycode 164 = XF86AudioStop keycode 171 = XF86AudioLowerVolume keycode 173 = XF86AudioRaiseVolume keycode 174 = XF86AudioLowerVolume keycode 175 = XF86AudioRaiseVolume keycode 176 = XF86AudioRaiseVolume keycode 237 = XF86AudioMedia you are right, there are duplicates! i'll try the procedure you suggested, thank you.
The bug happens with GNOME 2.15.90 on my desktop with /apps/gnome_settings_daemon/volume_step set to 3 as pointed on https://launchpad.net/distros/ubuntu/+source/control-center/+bug/36302
(In reply to comment #5) > This bug is in the acme volume controls for gstreamer. The function > acme_volume_gstreamer_set_volume truncates a floating point value when it > assigns it to an int. The alsa equivalent round the value before assigning it. > > By not rounding, if the volume_step (gconf key > /apps/gnome_settings_daemon/volume_step) is too small, the volume never makes > it up to the next setting. > > Lowering the volume still works because truncation works for rounding down but > not up. Changing the key /apps/gnome_settings_daemon/volume_step from 2 to 3 makes the difference for me (now up works again), so i can confirm this analysis.
Hi there, I have a similar issue but I think it is unrelated to this "rounding bug". I have installed a SB Audigy LS on my AMD64 system and configured it after disabling the onboard audio (Asus A8N-E). Now when I use the keyboard shortcut the volume does not change. I suppose this is due to the fact that the shorcut is controlling the wrong mixer channel: if I keep the mixer window open I can see the "headphones" channel (which is the first channel listed) changing, but the actual volume is controlled by the "Analog Front" channel. I could set the correct association in the preferences for the volume applet, but couldn't find a way to do the same with the keyboard shortcut. Gnome 2.14 on Debian Sid AMD64. Thanks for any help!
Several different issues mentioned here, but most should be answered by bug 389996. *** This bug has been marked as a duplicate of 389996 ***