[alsa-devel] Hardware events

Rolf Theunissen rolf.theunissen at gmail.com
Tue Nov 30 12:48:27 CET 2010

Clemens Ladisch wrote:
> Rolf Theunissen wrote:
>> For some hardware devices (for instance the ThinkPad EC) the volume can
>> be changed by (only) hardware buttons.
>> ...
>> This raises the following question: is it possible to detect the events
>> originating from the hardware in the functions that handle the callbacks
>> (set via snd_mixer_elem_set_callback/snd_hctl_elem_set_callback)? This
>> would allow to implement an OSD that only responds to the hardware
>> buttons and that would ignore events originating from "software".
> The control notifications are for all changes of the control.
> If it is not possible to change the volume in software, then the driver
> must not set the control to be writable.
> Regards,
> Clemens

The issue is not that the driver should be writable or not. Even, if the 
volume is read only, an OSD can be shown for any event. However when the 
volume can be set both in hardware and in software, the end-user will 
expect different behavior.
For instance, if the user changes the volume in a music player 
application, no OSD should be shown as this clutters the interface. But 
if the volume is changed from the hardware a OSD should be shown.

I don't know if a ticket should be opened for this issue.


More information about the Alsa-devel mailing list