Re: Unusual Focaltech driver behavior

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Apr 17, 2015 at 06:54:13PM +0300, Dmitry Tunin wrote:
> 
> 
> 17.04.2015 18:43, Benjamin Tissoires пишет:
> > On Fri, Apr 17, 2015 at 10:56 AM, Dmitry Tunin <hanipouspilot@xxxxxxxxx> wrote:
> >>
> >>
> >> 17.04.2015 17:49, Dmitry Tunin пишет:
> >>> 17.04.2015 16:57, Benjamin Tissoires пишет:
> >>>> On Fri, Apr 17, 2015 at 9:39 AM, Dmitry Tunin <hanipouspilot@xxxxxxxxx> wrote:
> >>>>>> Hi Dmitry,
> >>>>>>
> >>>>>> On Fri, Apr 17, 2015 at 5:56 AM, Dmitry Tunin <hanipouspilot@xxxxxxxxx> wrote:
> >>>>>>>> I noticed that myself and got some complaints like this.
> >>>>>>>> https://github.com/hanipouspilot/ubuntu-fixes/issues/2
> >>>>>>>>
> >>>>>>>> General issue is that when one finger is on the touchpad, movement of a second finger is ignored, if the first finger does not move.
> >>>>>>>> Usually with other touchpads, when you have one finger on the touchpad and move the other, it is recognized as two-finger scrolling.
> >>>>>>>> The device itself sends relative packages as normal in that case, but linux driver ignores them, until first finger is moved.
> >>>>>>>>
> >>>>>>>> I guess, Windows driver behaves same way. I can't test it, since I do not have Windows installed on that laptop.
> >>>>>>>>
> >>>>>>>> As I understood, Windows driver ignores that one finger is on button area and recognizes movement of the other as one-finger movement.
> >>>>>>>>
> >>>>>>>> It is clear that we do not know the full protocol or parameters of all touchpad models to have that button area always correct.
> >>>>>>>> But it looks like button area is set when 3rd byte in abs package is 00. There is a good chance that it is common for all touchpad models.
> >>>>>>>>
> >>>>>>>> Do you have ideas how to fix it the easiest way?
> >>>>>>>>
> >>>>>>>> Regards,
> >>>>>>>>
> >>>>>>>> Dmitry
> >>>>>>>>
> >>>>>>>
> >>>>>>> I looked at it some more and noticed that if I put one finger on touchpad, then another, then move the second one, rel packets are ignored.
> >>>>>>> But if keeping both fingers on touchpad, I move the first one, rel packets work OK.
> >>>>>>> This is wrong. I can't get what's wrong with the code at the moment.
> >>>>>>
> >>>>>>
> >>>>>> It looks like your touchpad is in the mouse emulation mode, not the
> >>>>>> raw touch mode. What you get is fed by the touchpad FW ans there is
> >>>>>> nothing we can do in userspace to fix that.
> >>>>>> That being said, there has been a lot of work with the focaltech
> >>>>>> drivers in the previous kernel releases, and maybe trying a v4.0 will
> >>>>>> switch your touchpad in the raw mode.
> >>>>>> Once it is in raw mode, the software buttons, scrolling and gestures
> >>>>>> are all treated in userspace and you will get the expected behavior.
> >>>>>>
> >>>>>> Cheers,
> >>>>>> Benjamin
> >>>>>>
> >>>>>
> >>>>> No, the mouse is in proprietary mode. Multitouch is supported. In emulation mode it is not supported at all.
> >>>>> I am testing actually the driver from kernel 4.0. Everything works great except this strange problem, when some relative packets are ignored.
> >>>>> I mentioned above the test case. Now I added some debug and trying to figure it out. But no success so far.
> >>>>>
> >>>>>
> >>>>
> >>>> If you are in absolute (raw) mode, then can you share the evemu-record
> >>>> of the gesture you are trying to support?
> >>>> We should be able to see what is going on and be able to pinpoint if
> >>>> this is a kernel problem or a user space problem.
> >>>>
> >>>> Cheers,
> >>>> Benjamin
> >>>>
> >>>
> >>> Here is the record. I put one finger on the touchpad and moved the other from top to bottom. This gesture is ignored.
> >>> But if I move first finger or both, it is recognized as scrolling
> > 
> > OK, this evemu-record is clean in term of protocol handling.
> > It looks like the first finger is in the middle of the touchpad.
> > Besides that I do not see any problems (and this works fine on Fedora
> > with libinput).
> > 
> > It must be a user-space problem. Can you tell us which distribution
> > you are using and which driver is handling the touchpad (xorg-evdev,
> > xorg-synaptics, xorg-libinput, wayland, mir)?
> > 
> > Benjamin
> 
> I am usung Ubuntu. I guess xorg-synaptics is handling the touchpad.

ok, in that case you'll need to file a bug, ideally in launchpad so we can
first rule out any ubuntu-specific patches. as Benjamin said, the recording
itself looks ok so this should work. You could try to give the
xf86-input-synaptics driver from git a try and see if it works.

either way, it doesn't look like a kernel problem at this point.

Cheers,
   Peter
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux