[go: nahoru, domu]

History log of /drivers/input/input-mt.c
Revision Date Author Comments
8ff21f44fa70d363477b63646847f8d08c0e20a2 25-Aug-2014 Dmitry Torokhov <dmitry.torokhov@gmail.com> Input: fix used slots detection breakage

Commit f8ec894945e7d205ce62be59e55e72c4304e4739 allowed external callers
use slot dropping logic, unfortunately it also broke external users of
input_mt_is_used() as we stopped incrementing frame count unless input
device was set up to automatically drop unused slots.

Fixes: f8ec894945e7d ("Input: MT - make slot cleanup callable outside
mt_sync_frame()")
Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=83081

Reported-by: Gabriele Mazzotta <gabriele.mzt@gmail.com>
Tested-by: Gabriele Mazzotta <gabriele.mzt@gmail.com>
Reviewed-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
f8ec894945e7d205ce62be59e55e72c4304e4739 26-Jul-2014 Henrik Rydberg <rydberg@euromail.se> Input: MT - make slot cleanup callable outside mt_sync_frame()

Some semi-mt drivers use the slots in a manual way, but may still
want to call parts of the frame synchronization logic. This patch
makes input_mt_drop_unused callable from those drivers.

Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Reviewed-by: Benson Leung <bleung@chromium.org>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
a0ef6a348a47bdb3896c468608f9cd19c1c26949 08-Apr-2013 Henrik Rydberg <rydberg@euromail.se> Input: MT - handle semi-mt devices in core

Most semi-mt drivers use the slots in a manual way, but really only
need to treat the finger count manually. With this patch, a semi-mt
driver may use the input-mt core for everything else.

Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
352ce2b0575f195c8e6452a9802e6c186b39409a 16-Feb-2013 Henrik Rydberg <rydberg@euromail.se> Input: MT - do not apply filtering on emulated events

The pointer emulation events are derived from contact values that
have already been filtered, so send the emulated events as is.

Reported-by: Daniel Kurtz <djkurtz@chromium.org>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
29807d1e24b7cd696442d2f600057230f084b3c7 14-Nov-2012 Benjamin Tissoires <benjamin.tissoires@gmail.com> Input: mt: add input_mt_is_used

This patch extracts the test (slot->frame == mt->frame) so that it can
be used in third party drivers.

Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Reviewed-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
40a812044a11a8fd32202cd22bb76329dd188094 08-Nov-2012 Henrik Rydberg <rydberg@euromail.se> Input: MT - document new 'flags' argument of input_mt_init_slots()

Fixes new kernel-doc warning in input-mt.c:

Warning(drivers/input/input-mt.c:38): No description found for parameter
'flags'

Reported-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
5161870f51acd74442375a6693c0586996d01f44 25-Oct-2012 Dmitry Torokhov <dmitry.torokhov@gmail.com> Input: fix sparse warning in multitouch code

This fixes the following sparse warning:
drivers/input/input-mt.c:193:18: warning: Using plain integer as NULL pointer

Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
22739293402966db7ca3eb0148632d986fe30465 15-Sep-2012 Henrik Rydberg <rydberg@euromail.se> Input: MT - Allow legacy pressure computation

Some drivers like to report ABS_PRESSURE in a special way.
Allow this when ABS_MT_PRESSURE is not defined.

Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
17a465a7f2d6ce31738a3a76591afeab165f185a 01-Sep-2012 Henrik Rydberg <rydberg@euromail.se> Input: MT - Get slot by key

Some devices use an internal key for tracking which cannot be directly
mapped to slots. This patch provides a key-to-slot mapping, which can
be used by drivers of such devices.

Reviewed-and-tested-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
7c1a87897c75139dec258eb03e1a24fb73385b73 12-Aug-2012 Henrik Rydberg <rydberg@euromail.se> Input: MT - Add in-kernel tracking

With the INPUT_MT_TRACK flag set, the function input_mt_assign_slots()
can be used to match a new set of contacts against the currently used
slots. The algorithm used is based on Lagrange relaxation, and performs
very well in practice; slower than mtdev for a few corner cases, but
faster in most commonly occuring cases.

Tested-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
55e49089f4589908eb688742d2d7eff33b74ac78 22-Aug-2012 Henrik Rydberg <rydberg@euromail.se> Input: MT - Handle frame synchronization in core

Most MT drivers perform the same actions on frame synchronization.
Some actions, like dropping unseen contacts, are also unnecessarily
complex. Collect common frame synchronization tasks in a new function,
input_mt_sync_frame(). Depending on the flags set, it drops unseen
contacts and performs pointer emulation.

With init flags and frame synchronization in place, most MT drivers
can be simplified. First out are the bcm5974 and hid-multitouch
drivers, following this patch.

Reviewed-and-tested-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
Tested-by: Ping Cheng <pingc@wacom.com>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
b4adbbefc2099476a4f1020041c99f52cf3cd67d 11-Aug-2012 Henrik Rydberg <rydberg@euromail.se> Input: MT - Add flags to input_mt_init_slots()

Preparing to move more repeated code into the mt core, add a flags
argument to the input_mt_slots_init() function.

Reviewed-and-tested-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
Tested-by: Ping Cheng <pingc@wacom.com>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
7c75bf99271139ca7cb2d0cca3be11f1f7c59efd 01-Sep-2012 Henrik Rydberg <rydberg@euromail.se> Input: Improve the events-per-packet estimate

The events-per-packet estimate has so far been used by MT devices
only. This patch adjusts the packet buffer size to also accomodate the
KEY and MSC events. Keyboards normally send one or two keys at a
time. MT devices normally send a number of button keys along with the
MT information. The buffer size chosen here covers those cases, and
matches the default buffer size in evdev. Since the input estimate is
now preferred, remove the special input-mt estimate.

Reviewed-and-tested-by: Ping Cheng <pingc@wacom.com>
Tested-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
8d18fba282120a4a8e4416d1202522ffae8cad58 15-Sep-2012 Henrik Rydberg <rydberg@euromail.se> Input: Break out MT data

Move all MT-related things to a separate place. This saves some
bytes for non-mt input devices, and prepares for new MT features.

Reviewed-and-tested-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
Tested-by: Ping Cheng <pingc@wacom.com>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
27c347d64f5e4a7e141f6bdb85bbf59e0f1dcde6 04-Jun-2012 Sachin Kamat <sachin.kamat@linaro.org> Input: MT - fix null pointer warning

Fixes the following sparse warning:
drivers/input/input-mt.c:138:40: warning: Using plain integer as NULL pointer

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
15d0580f20f5d3f997e3823bfe39daa3d521a99d 25-Oct-2011 Paul Gortmaker <paul.gortmaker@windriver.com> drivers/input: add export.h to symbol exporting files.

These files are not modules but are exporting symbols and/or
making use of THIS_MODULE macro.

Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
d5051272fc4860e056e34c92080369a1b63c9378 24-Aug-2011 Daniel Kurtz <djkurtz@chromium.org> Input: add BTN_TOOL_QUINTTAP for reporting 5 fingers on touchpad

"4-finger scroll" is a gesture supported by some applications and
operating systems.

"Resting thumb" is when a clickpad user rests a finger (e.g., a
thumb), in a "click zone" (typically the bottom of the touchpad) in
anticipation of click+move=select gestures.

Thus, "4-finger scroll + resting thumb" is a 5-finger gesture.
To allow userspace to detect this gesture, we send BTN_TOOL_QUINTTAP.

Signed-off-by: Daniel Kurtz <djkurtz@chromium.org>
Acked-by: Chase Douglas <chase.douglas@canonical.com>
Acked-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
c5f4dec1ceb6ab773bbbefbe64a7c990c7d6b17f 15-Dec-2010 Henrik Rydberg <rydberg@euromail.se> input: mt: Move tracking and pointer emulation to input-mt

The drivers using the type B protocol all report tracking information
the same way. The contact id is semantically equivalent to
ABS_MT_SLOT, and the handling of ABS_MT_TRACKING_ID only complicates
the driver. The situation can be improved upon by providing a common
pointer emulation code, thereby removing the need for the tracking id
in the driver. This patch moves all tracking event handling over to
the input core, simplifying both the existing drivers and the ones
currently in preparation.

Acked-by: Ping Cheng <pingc@wacom.com>
Acked-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
8cde81001626c4c60b26ef2eb5fc522885ed9fd0 27-Nov-2010 Henrik Rydberg <rydberg@euromail.se> input: mt: Collect slots initialization code

The MT slots devices all follow the same initialization pattern
of creating slots and hinting about buffer size. Let drivers call
an initialization function instead, and make sure it can be called
repeatedly without side effects.

Signed-off-by: Henrik Rydberg <rydberg@euromail.se>
47c78e891323513e9909729b44033e2c6649e2b7 27-Nov-2010 Henrik Rydberg <rydberg@euromail.se> input: mt: Break out slots handling

In preparation for common code to handle a larger set of MT slots
devices, move the slots handling over to a separate file.

Signed-off-by: Henrik Rydberg <rydberg@euromail.se>