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

Ryan Lortie
2007-10-26T17:17:20Z

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).

Cheers