Re: PC Beep or PC Speaker or just Beep? and HDA Beep code...

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



At Tue, 3 Nov 2009 12:43:17 +0100 (CET),
Jaroslav Kysela wrote:
> 
> On Tue, 3 Nov 2009, Takashi Iwai wrote:
> 
> > At Tue, 3 Nov 2009 12:01:57 +0100 (CET),
> > Jaroslav Kysela wrote:
> >>
> >> On Fri, 30 Oct 2009, Takashi Iwai wrote:
> >>
> >>> At Thu, 22 Oct 2009 17:50:10 +0200 (CEST),
> >>> Jaroslav Kysela wrote:
> >>>>
> >>>> Hi,
> >>>>
> >>>>  	I'm changing the behaviour of Beep / PC Beep controls for HDA
> >>>> drivers (comments?):
> >>>>
> >>>> http://git.alsa-project.org/?p=alsa-kernel.git;a=commitdiff;h=d605dbeed1b102136513e09e95217e8dc19c800d
> >>>
> >>> Well, IMHO, the fundamental problem is that there is no logic to
> >>> select the beep device in the input layer.  A few line of code to
> >>> drivers/char/keyboard.c would do that.
> >>
> >> Yes, it would be good to have possibility to configure which input device
> >> will receive beep events.
> >
> > I had even a patch somewhere... I need to dig down my archive.
> >
> >>> Regarding your change: I'm afraid that too frequent attach/detach
> >>> calls aren't good.
> >>
> >> What's too frequent? The attach/detach is called only when Beep mute
> >> control is toggled. I don't think that user will toggle this control as
> >> more as once in a normal system setup. The default value is "muted"
> >> (no registration) anyway.
> >
> > Heh, you can't expect how odd things users would do.
> > I can foresee this too frequent toggling can happen simply, e.g. key
> > auto-repeating on a mute button.
> >
> >> I would really like to have the HDA Beep registration to input layer
> >> configurable at runtime. The control layer seems good for this job.
> >> I can eventually add one more control with name like "Beep Register
> >> Switch", but the "Beep Playback Switch" does this job well.
> >
> > Well, the biggest problem in your patch is that its re-register the
> > input device.  When you watch the kernel message, you'll find that the
> > new input device is added at each time you toggle the beep switch,
> >  input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input6
> >  input: HDA Digital PCBeep as /devices/pci0000:00/0000:00:1b.0/input/input7
> >  ...
> > With frequent toggles, you can reach to a very high number very
> > easily.
> 
> I don't see a problem. If you find the behaviour too risky, we can limit 
> the register/unregister calls in time. Like one register call in one 
> second.

Oh no, that'd be very strange behavior as an mixer element.


> >>>  Also, note that there are hardwares that still
> >>> beep even when the beep volume is set to zero.  So, you may get a
> >>> situation that you can't disable beep tone.
> >>
> >> ??? If you don't set HDA codec frequency registers, then the HDA
> >> digital beep cannot be generated.
> >
> > It's a scenario like below:
> >  - "Beep Playback Switch" off -> pcspr is activated; no way to
> >    control the beep volume -> beep always heard
> 
> Users can still disable beeps using standard I/O layer (as described in 
> patch comment):
> 
> The user can easy disable all beeps using 'setterm -blength 0' or 'xset b 
> off' command.

OK, setterm seems working.

I thought there is an escape sequence to change the beep length, but
maybe not.  I remember the esc sequence to change the beep frequency,
though...


thanks,

Takashi
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux