[alsa-devel] Hardware events
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.
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