Volume should be zeroed instead of muted when controlled via Volume +/-
Affected version
OS: Fedora 37 (6.0.13-300.fc37.x86_64 #1 SMP PREEMPT_DYNAMIC)
GNOME Shell version: GNOME Shell 43.2
Session type: Wayland
Extensions disabled?: Yes
Bug summary
In the past month, my headphone volume control and GNOME's volume control got merged, meaning I can't set them independently. Since my headphone (Edifier W800Bt) only has volume +/- and play/pause buttons, I can't get the volume back up after zeroing it since the volume actually gets muted. Similarly, if I press the mute button on my keyboard, then I can only restore using the keyboard keys (mute (Fn-F8) or volume +/- (Fn-up or Fn-down)), but not the headphone's buttons.
While I do like that the controls got merged, it seems to cause more trouble now than it's worth. It misses a lot of button presses and the sound now changes in bigger, non-linear steps. Worryingly, it also seems to depend on which profile I choose, since the trash sounding one ("Handsfree - EDIFIER W800BT" profile) has better sensitivity and you can actually get lower sounds (anything below 5% has no sound on the default profile).
Steps to reproduce
- Muting by lowering volume on headphone
- Connect headphone and set to "Headset - EDIFIER W800BT" profile
- Use headphone button (or keyboard key) to lower volume to zero
- Use headphone button to raise volume again
- Muting by pressing "mute" key on keyboard
- Connect headphone and set to "Headset - EDIFIER W800BT" profile
- Press "mute" key on keyboard
- Use headphone buttons to lower or raise volume
What happened
You can't get the volume back up in either case by using the headphone buttons. In both cases, by pressing the mute key on keyboard the volume is displayed again to where it'd have been considering how many times you pressed the headphone's buttons. In both cases, you can get the volume to be displayed again by lowering or raising the volume using the keyboard keys.
What did you expect to happen
The volume to get higher again.
Relevant logs, screenshots, screencasts etc.
I don't know if it's really relevant, but here are the last lines of output of journalctl | grep media
dez 20 17:22:50 n gsd-media-keys[31547]: Failed to grab accelerator for keybinding settings:playback-repeat
dez 20 17:22:50 n gsd-media-keys[31547]: Failed to grab accelerator for keybinding settings:hibernate
dez 20 17:23:02 n systemd[30748]: Stopping wireplumber.service - Multimedia Service Session Manager...
dez 20 17:23:02 n systemd[30748]: Stopped wireplumber.service - Multimedia Service Session Manager.
dez 20 17:23:02 n systemd[30748]: Stopping pipewire.service - PipeWire Multimedia Service...
dez 20 17:23:02 n systemd[30748]: Stopped pipewire.service - PipeWire Multimedia Service.
dez 20 17:23:02 n systemd[30748]: Closed pipewire.socket - PipeWire Multimedia System Socket.
dez 20 17:30:37 n gsd-media-keys[31547]: Unable to get default sink
dez 20 17:31:13 n gsd-media-keys[31547]: Unable to get default sink
dez 20 17:34:28 n gsd-media-keys[31547]: Unable to get default sink
dez 20 17:34:39 n gsd-media-keys[31547]: Unable to get default sink