From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
To: Gabor Balla <gaborwho@gmail.com>
Cc: "linux-input@vger.kernel.org" <linux-input@vger.kernel.org>,
Benjamin Tissoires <benjamin.tissoires@gmail.com>,
Stephen Chandler Paul <thatslyude@gmail.com>,
Nick Bowler <nbowler@draconx.ca>,
Andrew Duggan <andrew.duggan@gmail.com>
Subject: Re: PROBLEM: Missing events on thinkpad trackpoint buttons
Date: Mon, 24 Aug 2015 10:57:29 -0700 [thread overview]
Message-ID: <20150824175729.GC22442@dtor-ws> (raw)
In-Reply-To: <20150820231339.GA7236@localhost>
On Thu, Aug 20, 2015 at 04:13:39PM -0700, Dmitry Torokhov wrote:
> On Thu, Aug 20, 2015 at 04:08:40PM -0700, Dmitry Torokhov wrote:
> > Hi Gabor,
> >
> > On Fri, Aug 21, 2015 at 01:05:46AM +0200, Gabor Balla wrote:
> > > Hi Dmitry,
> > >
> > > On Fri, Aug 21, 2015 at 1:01 AM, Dmitry Torokhov
> > > <dmitry.torokhov@gmail.com> wrote:
> > > > On Thu, Aug 20, 2015 at 3:56 PM, Dmitry Torokhov
> > > > <dmitry.torokhov@gmail.com> wrote:
> > > >> On Fri, Aug 21, 2015 at 12:24:59AM +0200, Gabor Balla wrote:
> > > >>> Hi Dmitry,
> > > >>>
> > > >>> On Thu, Aug 20, 2015 at 11:35 PM, Dmitry Torokhov
> > > >>> <dmitry.torokhov@gmail.com> wrote:
> > > >>> > On Thu, Aug 20, 2015 at 10:50:27PM +0200, Gabor Balla wrote:
> > > [...]
> > > > Ah, wait, not quite still. So we actually do want to disable gestures
> > > > when in Absolute mode (non extended). Although frankly I do not think
> > > > we'll ever see pre 4.0 Synaptics device in a wild.
> > >
> > > Also notice there is a function called synaptics_set_disable_gesture that can
> > > change that bit regardless of current mode.
> >
> > That attribute is only created when touchpad is used in relative mode,
> > so should be OK.
> >
> > Thanks.
>
> How about this one?
Nick, Benjamin, could you please give this a spin?
>
> Thanks.
>
> --
> Dmitry
>
>
> Input: synaptics - fix handling of disabling gesture mode
>
> From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
>
> Bit 2 of the mode byte has dual meaning: it can disable reporting of
> gestures when touchpad works in Relative mode or normal Absolute mode,
> or it can enable so called Extended W-Mode when touchpad uses enhanced
> Absolute mode (W-mode). The extended W-Mode confuses our driver and
> causes missing button presses on some Thinkpads (x250, T450s), so let's
> make sure we do not enable it.
>
> Also, according to the spec W mode "... bit is defined only in Absolute
> mode on pads whose capExtended capability bit is set. In Relative mode and
> in TouchPads without this capability, the bit is reserved and should be
> left at 0.", so let's make sure we respect this requirement as well.
>
> Reported-by: Nick Bowler <nbowler@draconx.ca>
> Suggested-by: Gabor Balla <gaborwho@gmail.com>
> Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> ---
> drivers/input/mouse/synaptics.c | 12 ++++++++----
> 1 file changed, 8 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
> index 28daca1..d9c9e41 100644
> --- a/drivers/input/mouse/synaptics.c
> +++ b/drivers/input/mouse/synaptics.c
> @@ -519,14 +519,18 @@ static int synaptics_set_mode(struct psmouse *psmouse)
> struct synaptics_data *priv = psmouse->private;
>
> priv->mode = 0;
> - if (priv->absolute_mode)
> +
> + if (priv->absolute_mode) {
> priv->mode |= SYN_BIT_ABSOLUTE_MODE;
> - if (priv->disable_gesture)
> + if (SYN_CAP_EXTENDED(priv->capabilities))
> + priv->mode |= SYN_BIT_W_MODE;
> + }
> +
> + if (!(priv->mode & SYN_BIT_W_MODE) && priv->disable_gesture)
> priv->mode |= SYN_BIT_DISABLE_GESTURE;
> +
> if (psmouse->rate >= 80)
> priv->mode |= SYN_BIT_HIGH_RATE;
> - if (SYN_CAP_EXTENDED(priv->capabilities))
> - priv->mode |= SYN_BIT_W_MODE;
>
> if (synaptics_mode_cmd(psmouse, priv->mode))
> return -1;
--
Dmitry
next prev parent reply other threads:[~2015-08-24 17:57 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-20 20:50 PROBLEM: Missing events on thinkpad trackpoint buttons Gabor Balla
2015-08-20 21:35 ` Dmitry Torokhov
2015-08-20 22:24 ` Gabor Balla
2015-08-20 22:42 ` Gabor Balla
2015-08-20 22:56 ` Dmitry Torokhov
2015-08-20 23:01 ` Dmitry Torokhov
2015-08-20 23:05 ` Gabor Balla
2015-08-20 23:08 ` Dmitry Torokhov
2015-08-20 23:13 ` Dmitry Torokhov
2015-08-20 23:35 ` Gabor Balla
2015-08-21 0:06 ` Dmitry Torokhov
2015-08-24 17:57 ` Dmitry Torokhov [this message]
2015-08-24 23:44 ` Nick Bowler
[not found] ` <CAN+gG=H88uVbRun=Vs1r1b8jM=wpnC1285BquFpDsh8HQdr07Q@mail.gmail.com>
2015-09-27 12:14 ` Benjamin Tissoires
2015-09-28 22:52 ` Dmitry Torokhov
2015-09-29 0:22 ` Nick Bowler
2015-09-29 0:26 ` Dmitry Torokhov
-- strict thread matches above, loose matches on Subject: below --
2015-08-18 2:31 Nick Bowler
2015-08-18 19:06 ` Benjamin Tissoires
2015-08-19 13:52 ` Benjamin Tissoires
2015-08-19 14:10 ` Nick Bowler
2015-08-19 14:12 ` Benjamin Tissoires
2015-08-19 21:27 ` Dmitry Torokhov
2015-08-19 21:33 ` Stephen Chandler Paul
2015-08-19 21:34 ` Benjamin Tissoires
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=20150824175729.GC22442@dtor-ws \
--to=dmitry.torokhov@gmail.com \
--cc=andrew.duggan@gmail.com \
--cc=benjamin.tissoires@gmail.com \
--cc=gaborwho@gmail.com \
--cc=linux-input@vger.kernel.org \
--cc=nbowler@draconx.ca \
--cc=thatslyude@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