lkml.org 
[lkml]   [2012]   [Dec]   [4]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectSEMI_MT vs. simulated mt (was Re: [PATCH v3 0/4] Cypress PS/2 Trackpad driver)
From
Date
Hi Dmitry and Henrik-

Regarding SEMI_MT vs. "simulated multitouch" . . .

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




\
 
 \ /
  Last update: 2012-12-05 04:21    [W:0.122 / U:0.324 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site