linux/include/uapi
David Herrmann 06a16293f7 Input: evdev - add event-mask API
Hardware manufacturers group keys in the weirdest way possible. This may
cause a power-key to be grouped together with normal keyboard keys and
thus be reported on the same kernel interface.

However, user-space is often only interested in specific sets of events.
For instance, daemons dealing with system-reboot (like systemd-logind)
listen for KEY_POWER, but are not interested in any main keyboard keys.
Usually, power keys are reported via separate interfaces, however,
some i8042 boards report it in the AT matrix. To avoid waking up those
system daemons on each key-press, we had two ideas:
 - split off KEY_POWER into a separate interface unconditionally
 - allow filtering a specific set of events on evdev FDs

Splitting of KEY_POWER is a rather weird way to deal with this and may
break backwards-compatibility. It is also specific to KEY_POWER and might
be required for other stuff, too. Moreover, we might end up with a huge
set of input-devices just to have them properly split.

Hence, this patchset implements the second idea: An event-mask to specify
which events you're interested in. Two ioctls allow setting this mask for
each event-type. If not set, all events are reported. The type==0 entry is
used same as in EVIOCGBIT to set the actual EV_* mask of filtered events.
This way, you have a two-level filter.

We are heavily forward-compatible to new event-types and event-codes. So
new user-space will be able to run on an old kernel which doesn't know the
given event-codes or event-types.

Signed-off-by: David Herrmann <dh.herrmann@gmail.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
2015-10-26 19:06:48 -07:00
..
asm-generic userfaultfd: register uapi generic syscall (aarch64) 2015-09-22 15:09:53 -07:00
drm uapi/drm/i915_drm.h: fix userspace compilation. 2015-09-02 16:26:58 +03:00
linux Input: evdev - add event-mask API 2015-10-26 19:06:48 -07:00
misc cxl: Add alternate MMIO error handling 2015-08-18 19:34:43 +10:00
mtd mtd: lpddr: add driver for LPDDR2-NVM PCM memories 2014-05-20 17:45:17 -07:00
rdma IB/hfi1: Add PSM2 user space header to header_install 2015-09-03 15:29:52 -04:00
scsi cxlflash: Virtual LUN support 2015-08-26 18:05:39 -07:00
sound ASoC: Disable topology support for v4.2 2015-08-19 18:31:54 +02:00
video
xen xen/privcmd: Further s/MFN/GFN/ clean-up 2015-09-08 18:03:54 +01:00
Kbuild cxl: Add userspace header file 2014-10-08 20:15:57 +11:00