From: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
To: Matthew Garrett <mjg59@srcf.ucam.org>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
ibm-acpi-devel@lists.sourceforge.net,
Richard Hughes <hughsient@gmail.com>,
linux-acpi@vger.kernel.org, lenb@kernel.org
Subject: Re: [ibm-acpi-devel] ACPI: thinkpad-acpi: add input device support to hotkey subdriver
Date: Mon, 16 Jul 2007 15:19:11 -0300 [thread overview]
Message-ID: <20070716181911.GA13710@khazad-dum.debian.net> (raw)
In-Reply-To: <20070716155103.GB19199@srcf.ucam.org>
On Mon, 16 Jul 2007, Matthew Garrett wrote:
> On Mon, Jul 16, 2007 at 11:46:26AM -0400, Dmitry Torokhov wrote:
> > How do you know that this is a "passive keypress"? Can you put another
> > (better) soundcard in a docking station? Woudl the firmware still
> > control that card (doubtful)? Do we want the same keys to control that
> > card's volume?
>
> This is absolutely possible. In that case I'd expect the hotkeys to
> start controlling the card mixer's volume, but that's a policy decision
> that would have to be taken in userspace by an application aware of
> everything that's happened.
The moment you screw up with the thinkpad builtin mixer, you are screwing
with the emergency notification system (system beeps). They go *only*
through that mixer, and their signal is not routed through the builtin AC97
(and probably not through HDA either) mixers. I would stay well away from
trying to override what these buttons do.
In fact, the thinkpad volume buttons are (in most thinkpads, I don't speak
for the new *61 models, they may be different) the "button version" of a
small volume dial near the headphone jack.
They were NOT made to be used in any other way, they DO NOT work in any
other way in Windows, and the firmware does NOT cooperate to let you use
them in any other way.
This whole issue is mainly caused by a refusal to understand this simple
fact. THOSE BUTTONS ARE NOT GENERIC VOLUME CONTROL BUTTONS unless you hack
the firmware on anything but the very newest X61, R61 and T61... and maybe
even on them.
(and if you hack the firmware, you can get thinkpad-acpi to do what you want
with just the right sysfs setting).
IMO, if you want to use hot keys to control the AC97/HDA/soundcard mixer
volume in a typical thinkpad where the volume buttons are handled in
firmware, just assign Fn+Insert and Fn+delete to VOLUME_UP and VOLUME_DOWN,
they are right to the side of HOME/END (brightness up/down) anyway.
Anyway, if the input layer is really not the place for "passive key
presses", then my decision to not issue input events for such stuff is the
correct one.
Brightness can be notified through ACPI (ACPI 3.0b has standard events for
this), or it could be done through an improved backlight sysfs class. It
will require work either way, because you don't want ACPI video processing
these synthezised events, or because you need to get backlight to be
poll()/select() or inotify()-friendly if you don't want to add another
dumbass userspace polling loop.
Built-in headphone/speaker volume can be notified and controlled through an
ALSA mixer. It won't be a nice poll-less thing, but I can trap the ACPI hot
key events as a hint to update the mixer state, and if ALSA lets me do it,
issue mixer changed notifications.
And thinklight toggle key presses can be notified through the LED class,
although that one is such an useless notification, that I simply don't know
if I should bother with it.
That covers all thinkpad "passive" EV_KEY events.
--
"One disk to rule them all, One disk to find them. One disk to bring
them all and in the darkness grind them. In the Land of Redmond
where the shadows lie." -- The Silicon Valley Tarot
Henrique Holschuh
next prev parent reply other threads:[~2007-07-16 18:19 UTC|newest]
Thread overview: 65+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-07-14 14:11 [GIT PULL] thinkpad-acpi queue for 2.6.23 (v2) Henrique de Moraes Holschuh
2007-07-14 14:11 ` ACPI: thinkpad-acpi: enable more hotkeys Henrique de Moraes Holschuh
2007-07-14 14:11 ` ACPI: thinkpad-acpi: update CMOS commands documentation Henrique de Moraes Holschuh
[not found] ` <11844223322928-git-send-email-hmh-N3TV7GIv+o9fyO9Q7EP/yw@public.gmane.org>
2007-07-14 14:11 ` ACPI: thinkpad-acpi: add DMI-based modalias Henrique de Moraes Holschuh
2007-07-14 14:11 ` ACPI: thinkpad-acpi: remove all uneeded initializers Henrique de Moraes Holschuh
2007-07-14 14:11 ` ACPI: thinkpad-acpi: update information on T43 thermal sensor 0xc1 Henrique de Moraes Holschuh
2007-07-14 14:11 ` ACPI: thinkpad-acpi: export hotkey maximum masks Henrique de Moraes Holschuh
2007-07-14 14:11 ` ACPI: thinkpad-acpi: export to sysfs the state of the radio slider switch Henrique de Moraes Holschuh
2007-07-14 14:11 ` ACPI: thinkpad-acpi: checkpoint sysfs interface version due to hotkey Henrique de Moraes Holschuh
2007-07-14 14:11 ` ACPI: thinkpad-acpi: register input device Henrique de Moraes Holschuh
2007-07-14 14:11 ` ACPI: thinkpad-acpi: add input device support to hotkey subdriver Henrique de Moraes Holschuh
2007-07-14 22:31 ` Matthew Garrett
[not found] ` <20070714223144.GA25782-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2007-07-15 18:12 ` Henrique de Moraes Holschuh
[not found] ` <20070715181233.GG14134-ZGHd14iZgfaRjzvQDGKj+xxZW9W5cXbT@public.gmane.org>
2007-07-15 18:45 ` Matthew Garrett
[not found] ` <20070715184519.GD3235-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2007-07-15 20:03 ` Henrique de Moraes Holschuh
2007-07-15 20:12 ` [ibm-acpi-devel] " Matthew Garrett
2007-07-15 20:59 ` Henrique de Moraes Holschuh
2007-07-15 21:04 ` Matthew Garrett
2007-07-15 21:54 ` Henrique de Moraes Holschuh
[not found] ` <20070715215453.GJ19066-ZGHd14iZgfaRjzvQDGKj+xxZW9W5cXbT@public.gmane.org>
2007-07-15 22:45 ` Matthew Garrett
2007-07-16 2:47 ` [ibm-acpi-devel] " Henrique de Moraes Holschuh
2007-07-16 15:46 ` Dmitry Torokhov
2007-07-16 15:51 ` Matthew Garrett
2007-07-16 18:19 ` Henrique de Moraes Holschuh [this message]
2007-07-16 18:37 ` Matthew Garrett
2007-07-14 14:12 ` ACPI: thinkpad-acpi: add power-management handler capability Henrique de Moraes Holschuh
2007-07-14 14:12 ` ACPI: thinkpad-acpi: export EV_SW SW_RADIO events Henrique de Moraes Holschuh
2007-07-14 14:12 ` ACPI: thinkpad-acpi: checkpoint sysfs interface version due to input layer Henrique de Moraes Holschuh
2007-07-14 14:12 ` ACPI: thinkpad-acpi: rename pci HID constant Henrique de Moraes Holschuh
2007-07-14 22:37 ` Matthew Garrett
[not found] ` <20070714223713.GC25782-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2007-07-15 18:02 ` Henrique de Moraes Holschuh
2007-07-15 18:34 ` Matthew Garrett
2007-07-15 21:18 ` Henrique de Moraes Holschuh
2007-07-15 21:23 ` Matthew Garrett
2007-07-14 14:12 ` pci-ids: add Lenovo PCI vendor ID Henrique de Moraes Holschuh
2007-07-15 11:52 ` Jeff Garzik
2007-07-15 21:22 ` Henrique de Moraes Holschuh
2007-07-14 14:12 ` ACPI: thinkpad-acpi: store ThinkPad model information Henrique de Moraes Holschuh
2007-07-14 14:12 ` ACPI: thinkpad-acpi: allow use of CMOS NVRAM for brightness control Henrique de Moraes Holschuh
2007-07-14 14:12 ` ACPI: thinkpad-acpi: react to Lenovo ThinkPad differences in hot key Henrique de Moraes Holschuh
2007-07-14 22:39 ` Matthew Garrett
[not found] ` <20070714223932.GD25782-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2007-07-15 17:59 ` Henrique de Moraes Holschuh
2007-07-15 18:31 ` Matthew Garrett
[not found] ` <20070715183150.GA3235-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2007-07-15 20:17 ` Henrique de Moraes Holschuh
[not found] ` <20070715201712.GD19066-ZGHd14iZgfaRjzvQDGKj+xxZW9W5cXbT@public.gmane.org>
2007-07-15 20:24 ` Matthew Garrett
2007-07-14 14:12 ` ACPI: thinkpad-acpi: make sure DSDT TMPx readings don't return +128 Henrique de Moraes Holschuh
2007-07-14 14:12 ` ACPI: thinkpad-acpi: make EC-based thermal readings non-experimental Henrique de Moraes Holschuh
2007-07-14 14:12 ` ACPI: thinkpad-acpi: bump up version to 0.15 Henrique de Moraes Holschuh
2007-07-14 14:58 ` [GIT PULL] thinkpad-acpi queue for 2.6.23 (v2) Henrique de Moraes Holschuh
2007-07-14 14:12 ` ACPI: thinkpad-acpi: make the input event mode the default Henrique de Moraes Holschuh
2007-07-14 22:33 ` Matthew Garrett
2007-07-15 18:05 ` Henrique de Moraes Holschuh
[not found] ` <20070715180529.GF14134-ZGHd14iZgfaRjzvQDGKj+xxZW9W5cXbT@public.gmane.org>
2007-07-15 18:38 ` Matthew Garrett
2007-07-15 20:09 ` [ibm-acpi-devel] " Henrique de Moraes Holschuh
2007-07-15 20:13 ` Matthew Garrett
2007-07-15 21:14 ` Henrique de Moraes Holschuh
[not found] ` <20070715211421.GG19066-ZGHd14iZgfaRjzvQDGKj+xxZW9W5cXbT@public.gmane.org>
2007-07-15 21:19 ` Matthew Garrett
[not found] ` <20070715211953.GA6527-1xO5oi07KQx4cg9Nei1l7Q@public.gmane.org>
2007-07-15 22:08 ` Henrique de Moraes Holschuh
[not found] ` <20070715220801.GK19066-ZGHd14iZgfaRjzvQDGKj+xxZW9W5cXbT@public.gmane.org>
2007-07-15 22:49 ` Matthew Garrett
2007-07-16 0:12 ` [ibm-acpi-devel] " Henrique de Moraes Holschuh
[not found] ` <20070716001239.GA31604-ZGHd14iZgfaRjzvQDGKj+xxZW9W5cXbT@public.gmane.org>
2007-07-16 0:24 ` Matthew Garrett
2007-07-16 3:02 ` [ibm-acpi-devel] " Henrique de Moraes Holschuh
[not found] ` <20070716030254.GD31604-ZGHd14iZgfaRjzvQDGKj+xxZW9W5cXbT@public.gmane.org>
2007-07-16 15:27 ` Dmitry Torokhov
2007-07-16 18:21 ` [ibm-acpi-devel] " Henrique de Moraes Holschuh
2007-07-14 14:12 ` ACPI: thinkpad_acpi: use bool for boolean parameters Henrique de Moraes Holschuh
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20070716181911.GA13710@khazad-dum.debian.net \
--to=hmh@hmh.eng.br \
--cc=dmitry.torokhov@gmail.com \
--cc=hughsient@gmail.com \
--cc=ibm-acpi-devel@lists.sourceforge.net \
--cc=lenb@kernel.org \
--cc=linux-acpi@vger.kernel.org \
--cc=mjg59@srcf.ucam.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox