Re: [PATCH] Input: Support for a less exclusive grab.

Zephaniah E. Hull
2007-10-26T17:58:57Z

On Fri, Oct 26, 2007 at 01:16:31PM -0400, Ryan Lortie wrote:
> On Fri, 2007-26-10 at 12:44 -0400, Zephaniah E. Hull wrote:
> > A 'filter' cares about a key or two, and might even want to remove it
> > from the stream, rfkill is a good example.
>
> The patch introduces two different features that work nicely together
> but, by no means have to be used together.
>
> 1) set interested events
>
> By default, -all- events are delivered to an event device. you only
> get selective delivery when you explicitly use the 'set bits' call.
>
>
> 2) filter
>
> Filter all events that have been delivered to the user from further
> propagation.
>
>
> Notice that if you do not use feature #1 then you get all keystrokes
> delivered to you (unless someone with a higher priority than you did
> some filtering). If you then use feature #2 then you filter everything
> (since everything is delivered to you).
>
>
>
> I really do think that this is good for your use case. Your use of it
> would basically involve opening the event device and saying
> "ioctl(turn_filter_on);". The default case is that all keys are
> delivered (and therefore blocked from anyone below you).

But it's not really above/below, I don't want another X session with the
same priority level coming along and stealing the device, but I do want
to be able to steal it from the console.

I'm just not entirely convinced that we need priority levels, but if we
do go for them, then we want some documentation very clearly spelling
them out.
>
>
>
> Cheers
>

--