Currently, plasma-pa just sets the volume of the default sink when the volume keys on the keyboard are pressed. This is not necessarily what the user wants if he has a bit more complex setup. It would therefore be good if the sink for the volume control could be configured in plasma-pa's KCM. For example, I have this in my default.pa: load-module module-remap-sink sink_name=headphones channels=2 master_channel_map=front-left,front-right channel_map=front-left,front-right remix=0 sink_properties=device.description=Headphones load-module module-virtual-surround-sink sink_name=vsurround master=headphones hrir=/home/olesalscheider/.ir.wav sink_properties=device.description=VirtualSurround set-default-sink vsurround This splits two channels of the sound card and creates a "headphone" sink from them. The other channels could for example be connected to a surround sound system but I do not use them currently. Then it creates another sink (vsurround) with the "headphone" sink as master. This sink computes virtual surround sound from its input signals and passes the generated signal to the master. I have set "vsurround" as my default sink because I want all new streams to go there by default. But I have moved some manually to "headphones" where I do not want the virtual surround effect (e. g. for music). When I now press the volume keys I want them not to change the volume of the "vsurround" sink but the volume of the master sink. Because otherwise the volume of the streams that I moved to "headphones" is not changed. Reproducible: Always
Or maybe it would be enough to recursively query the master sink starting from the default sink and then adjust the volume of the sink you end up with eventually. That would fix my use-case at least but I do not know about others...
Been having the same issue. I have HDMI audio set as default so new streams go to my TV, but I have a seperate setup to control that volume. I want my keyboard volume slider to control the (non-default) sink that connects to the PC speakers.
I am leaning towards this being out of scope. If you want to manipulate a specific stream that is easily scripted via pactl. If you create bespoke routing setups I don't think it's unreasonable to expect also bespoke volume manipulation. The trouble here is that this is complexity a lot of users will have trouble grasping. They'll tick a box and then wonder why when they plug in their headphones the volume keys do nothing.
Yeah, I agree. I ended up doing exactly that, just rebinding the volume keys on my keyboard to control it like you described. Much better than adding a ton of complexity for an edge case like this.