Thread (17 messages) 17 messages, 4 authors, 2012-12-05

SEMI_MT vs. simulated mt (was Re: [PATCH v3 0/4] Cypress PS/2 Trackpad driver)

From: Kamal Mostafa <hidden>
Date: 2012-12-05 02:22:23
Also in: lkml

Hi Dmitry and Henrik-

Regarding SEMI_MT vs. "simulated multitouch" . . .
quoted
  Patch #4 (new) reintroduces simulated multitouch for up to 5 fingers
  (#if CYPRESS_SIMULATE_MT), disabling SEMI_MT again.

  If that functionality (support for >2 fingers) can be acheived in some
  better way, please advise.

On Sun, 2012-12-02 at 23:36 -0800, Dmitry Torokhov wrote:
You can still report true number of fingers on the pad via BTN_TOOL_*TAP
while reporting the bounding box, the same way as Synaptics, Elantech,
ALPS and Sentelic drivers are doing it.

On Mon, 2012-12-03 at 08:45 +0100, Henrik Rydberg wrote:
+		ret = input_mt_init_slots(input, CYTP_MAX_MT_SLOTS,
+			INPUT_MT_POINTER|INPUT_MT_DROP_UNUSED|INPUT_MT_TRACK);

Here, INPUT_MT_POINTER needs to be dropped; for semi-mt devices, the
number of fingers is propagated separately using

   input_mt_report_finger_count(dev, finger_count_as_reported_by_the_device),

which conflicts with automatic handling of pointer logic.

Well...  The forthcoming PATCH v4 version now implements all that ^^ as
you requested, but it appears that my desktop (X with Unity desktop in
Ubuntu 12.10) does not actually respond to input_mt_report_finger_count
events (e.g. BTN_TOOL_TRIPLETAP).

I asked a colleague test a couple of other semi-mt touchpads (Synaptics
and ALPS) and we found the same result:  The desktop doesn't see >2
finger events with any of these semi-mt devices, even though
'input-events' does show that the BTN_TOOL_*TAP events are in the input
stream.  (Do other X desktops actually support BTN_TOOL_*TAP?)

I understand that this may be "a userspace problem", but from my
perspective the "simulated multitouch" patch is still necessary for >2
finger tap/drag.  I have left it in my PATCH v4 set for that reason
(patch 4/4; disabled by an ifdef).  It can be included and left
disabled, or enabled, or dropped as you see fit.

 -Kamal

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help