[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d120d5000710171159p617115d9w862aadf266c2470c@mail.gmail.com>
Date: Wed, 17 Oct 2007 14:59:52 -0400
From: "Dmitry Torokhov" <dmitry.torokhov@...il.com>
To: "Henrique de Moraes Holschuh" <hmh@....eng.br>
Cc: "Matthew Garrett" <mjg59@...f.ucam.org>,
"Linus Torvalds" <torvalds@...ux-foundation.org>,
"Jeremy Katz" <katzj@...hat.com>, linux-kernel@...r.kernel.org,
davej@...hat.com
Subject: Re: [PATCH] Map volume and brightness events on thinkpads
On 10/17/07, Henrique de Moraes Holschuh <hmh@....eng.br> wrote:
> On Wed, 17 Oct 2007, Matthew Garrett wrote:
> > On Wed, Oct 17, 2007 at 11:57:18AM -0400, Dmitry Torokhov wrote:
> > > say that they only care about notifications arising from keypresses
> > > then I will add EV_NOTIFY type of events to input layer. What events
> > > would we need? I can imagine:
> >
> > Why use EV_NOTIFY? They're still keys. I'd also quibble with the need
>
> Why not? Why the heck do we have to keep the worst of the current mess,
> when many drivers CAN (and sometimes have to) tell appart the two classes of
> events? Make notifications a separate thing from regular events, please.
>
> The use of the same path for notifications and events are already a big
> enough concession to the HAL model. AFAIK, HAL is the only reason why on
> most systems the userspace consumer of events and notification events are
> the same. HAL gets them all (as well as ACPI events, and whatever else its
> helpers poll the system for), and then distributes them over to various
> other paths.
I have a nagging feeling that we rely on HAL and windows environments
too much nowadays. Last night I tried to susped my laptop while at KDM
prompt but apparently some service is only running in context of user
session and so nothing was there to recognize that suspend button was
pressed (Fedora 8).
>
> On a HAL-less system, it is far less clear that anything that needs the real
> events would bother with the notifications. The only class of applications
> that have an use for the notifications are OSD applets and the like.
>
> > for adding _NOTIFY varients of already existing keys - the existing
> > consumers can all cope already.
>
> If one adds EV_NOTIFY, one can just allow for the same KEY constants that
> are valid for EV_KEY, and be done with that, I suppose. But my take is that
> Dmitry wants to limit the number of notifications going over input.
>
That was not my primary goal. We have bitmaps of supported events in
input_dev structure. If we were to reuse KEY_* constants for EV_NOTIFY
then I have to make this bitmap the same size as input_dev->keybit,
which is 512 bit at the moment (and I am thinking that we do need to
extend it to 1024). I expect that we need much less KEY_*_NOTIFY
events so that we could easily fit them into 32 bits.
> I'd rather we added an EV_NOTIFY *bit* that gets or-ed to the real EV_*
> type, so that one can turn any event into a notification. This is certainly
> to be useful at least for EV_KEY and EV_SWITCH.
>
The problem with this scenario is that userspace can never be sure if
input device is capable of only KEY_BLAH, only KEY_BLAH_NOTIFY or
both. Normally we let userspace query device for all supported events.
--
Dmitry
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists