linux/drivers/input
Dmitry Torokhov ef7995f4e4 Input: implement input filters
Sometimes it is desirable to suppress certain events from reaching
input handlers and thus user space. One such example is Mac mouse
button emulation code which catches certain key presses and converts
them into button clicks as if they were emitted by a virtual mouse.
The original key press events should be completely suppressed,
otherwise user space will be confused, and while keyboard driver
does it on its own evdev is blissfully unaware of this arrangement.

This patch adds notion of 'filter' to the standard input handlers,
which may flag event as filtered thus preventing it from reaching
other input handlers. Filters don't (nor will they ever) have a
notion of priority relative to each other, input core will run all
of them first and any one of them may mark event as filtered.

This patch is inspired by similar patch by Matthew Garret but the
implementation and intended usage are quite different.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
2010-01-30 01:47:41 -08:00
..
gameport Input: ns558 - make pnp device ids constant 2010-01-09 23:29:13 -08:00
joystick Input: xpad - add rumble support for original xbox controller 2010-01-24 22:42:10 -08:00
keyboard Merge commit 'v2.6.33-rc5' into next 2010-01-21 23:55:25 -08:00
misc Input: uinput - remove BKL from uinput_open function 2010-01-29 23:55:18 -08:00
mouse Merge commit 'v2.6.33-rc5' into next 2010-01-21 23:55:25 -08:00
serio Input: xilinx_ps2 - use resource_size 2010-01-24 22:41:49 -08:00
tablet Input: make USB device ids constant 2010-01-11 00:08:19 -08:00
touchscreen Input: wm97xx - provide coordinate logs for accelerated I/O 2010-01-28 22:38:30 -08:00
Kconfig Merge branch 'xen/fbdev' of git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen 2009-12-10 09:34:40 -08:00
Makefile Input: add generic support for sparse keymaps 2009-12-07 09:26:35 -08:00
apm-power.c Input: apm-power - fix crash when unloading modules 2008-03-24 11:02:06 -04:00
evbug.c Input: struct device - replace bus_id with dev_name(), dev_set_name() 2008-10-30 09:29:05 -04:00
evdev.c Input: evdev - be less aggressive about sending SIGIO notifies 2010-01-06 00:17:04 -08:00
ff-core.c Input: fix memory leak in force feedback core 2009-12-04 22:16:38 -08:00
ff-memless.c Input: ff-memless - add notion of direction to for rumble effects 2009-12-24 21:54:29 -08:00
fixp-arith.h
input-compat.c Input: refactor evdev 32bit compat to be shareable with uinput 2008-10-27 22:03:42 -04:00
input-compat.h Input: refactor evdev 32bit compat to be shareable with uinput 2008-10-27 22:03:42 -04:00
input-polldev.c Input: add generic support for sparse keymaps 2009-12-07 09:26:35 -08:00
input.c Input: implement input filters 2010-01-30 01:47:41 -08:00
joydev.c headers: remove sched.h from poll.h 2009-10-04 15:05:10 -07:00
mousedev.c headers: remove sched.h from poll.h 2009-10-04 15:05:10 -07:00
sparse-keymap.c Input: add generic support for sparse keymaps 2009-12-07 09:26:35 -08:00
xen-kbdfront.c Input: xen-kbdfront - make xenbus device ids constant 2010-01-09 23:29:27 -08:00