linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Chris Diamand <chris@diamand.org>
To: Richard Pospesel <pospeselr@gmail.com>
Cc: Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	linux-input@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] psmouse: added BYD touchpad driver
Date: Wed, 3 Feb 2016 08:58:16 +0000	[thread overview]
Message-ID: <20160203085816.GA3307@smaug> (raw)
In-Reply-To: <CAHc7Qt3cMu4+qXvruXtY7-GxL=skaUda1c4bfA5DDdNMfOfKGg@mail.gmail.com>

Hi Richard,

> Reporting absolute position allows the synaptics and libinput xorg drivers
> to treat the BYD touchpad as a touchpad, rather than a mouse.  This allows
> edge scrolling, tap to click, natural scrolling and any other location
> based single touch gesture to work.
>
> I opted to completely disable the hardware multitouch gesture recognition
> (including two finger scroll) for a couple of reasons:
>
> 1.  time delta between gesture packets was very large resulting in a rather
> jerky scrolling experience, especially compared to touchpad with real
> multitouch reporting.
> 2.  Reporting absolute position and touch support enables the users to
> configure the touchpad in the touchpad settings section of gnome, cinnamon,
> etc because those applets configure synaptics and libinput.  Otherwise xorg
> thinks it's just a mouse.

This all sounds good - I look forward to trying your patch!

Also, how did you figure out how to enable the absolute packets? I couldn't
find anything like that with the Windows driver I was using.

> 3.  Enabling multitouch gesture recognition results in the mouse cursor
> freezing up when the user uses two fingers, one to move the mouse cursor
> and another to click.  This is because movement packets stop getting sent
> while a gesture (such as pinch, rotate, etc) is being detected and/or
> reported.

So with your patch, how will this gesture work, if it can only recognise one
finger at a time? I guess you'd have to enable the "double-tap then drag"
thing in synaptics and use that?

> Disabling all hardware gesture detection, including two finger
> scroll, provides the most fluid user experience.

Yep, I agree that if it works, good one-finger scrolling would be much better
than the touchpad's internal gesture recognition.

> Regarding serio_pause_rx(), I was following a pattern similar to another
> touchpad driver in psmouse.  That whole callback mechanism is required to
> report the touch had ended, since the BYD hardware only sends packets when
> a touch is occurring.  Is there a better way?

You're right, actually - I was worried that the input_report_* functions might
sleep, but I just had a proper look and they don't.

> I'll try to rebase and post an updated patch tonight.

Cheers!
Chris

  parent reply	other threads:[~2016-02-03  8:58 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-31  3:26 [PATCH] psmouse: added BYD touchpad driver Richard Pospesel
2016-02-03  0:41 ` Chris Diamand
2016-02-03  2:30   ` Richard Pospesel
     [not found]   ` <CAHc7Qt2c4RYohcm7-hACaQUAHx7RDE2hYgq8MJJ8LyyS+Vf2sQ@mail.gmail.com>
2016-02-03  5:39     ` Richard Pospesel
     [not found]   ` <CAHc7Qt3cMu4+qXvruXtY7-GxL=skaUda1c4bfA5DDdNMfOfKGg@mail.gmail.com>
2016-02-03  8:58     ` Chris Diamand [this message]
2016-02-03 16:59       ` Richard Pospesel
2016-02-03 20:28         ` Chris Diamand
2016-02-04  5:52           ` Richard Pospesel
2016-02-05 18:55             ` Chris Diamand
2016-02-07  0:37               ` Richard Pospesel
2016-02-07  1:22                 ` Richard Pospesel
2016-02-09 23:36                   ` Chris Diamand
2016-02-11  2:58                     ` Richard Pospesel
2016-02-17  5:26                       ` [PATCH] psmouse: added absolute touch event support to " Richard Pospesel
2016-02-17 16:39                         ` (unknown), Richard Pospesel
2016-02-17 16:39                           ` [PATCH] psmouse: added absolute touch event support to BYD touchpad driver Richard Pospesel

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20160203085816.GA3307@smaug \
    --to=chris@diamand.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pospeselr@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).