public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: Peter Hutterer <peter.hutterer@who-t.net>
To: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Cc: "José Expósito" <jose.exposito89@gmail.com>,
	"Jiri Kosina" <jikos@kernel.org>,
	"open list:HID CORE LAYER" <linux-input@vger.kernel.org>,
	lkml <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 0/1] Do not map BTN_RIGHT/MIDDLE on buttonpads
Date: Wed, 1 Dec 2021 15:56:41 +1000	[thread overview]
Message-ID: <YacOmYorwAIB4Q3c@quokka> (raw)
In-Reply-To: <CAO-hwJLB8h6fQRF8UjN3rER_6xS2Shi3ffEr92PhkVCijtYRpQ@mail.gmail.com>

On Wed, Nov 24, 2021 at 10:39:02AM +0100, Benjamin Tissoires wrote:
> Hi José,
> 
> On Tue, Nov 23, 2021 at 8:12 PM José Expósito <jose.exposito89@gmail.com> wrote:
> >
> > Hi all,
> >
> > Historically, libinput has relayed on the INPUT_PROP_BUTTONPAD property
> > to detect buttonpads.
> >
> > Since buttonpads are expected to have only one button (BTN_LEFT),
> > recently we added a new rule to detect buttonpads: Where a touchpad
> > maps the BTN_RIGHT bit, libinput assumes it is NOT a buttonpad.
> >
> > However, this change leaded to several false possitives, so we ended up
> > reverting it. For more context:
> > https://gitlab.freedesktop.org/libinput/libinput/-/issues/704
> >
> > And for a full list of affected hardware, HID reports and bug reports
> > please see:
> > https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/726
> >
> > My understanding is that buttonpads should not map BTN_RIGHT and/or
> > BTN_MIDDLE and to avoid it I would like to fix the required drivers.
> 
> As long as udev intrinsic is happy with it (and it correctly tags the
> touchpad as ID_INPUT_something), I'm fine with it.

fwiw, udev's builtin input-id touchpad check is
  ABS_X && ABS_Y && BTN_TOOL_FINGER && !BTN_TOOL_PEN && !INPUT_PROP_DIRECT
it doesn't care about the actual buttons so this patch wouldn't affect it.

> Also, you might want to point at the specification regarding button
> pads: https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/touchpad-windows-precision-touchpad-collection#device-capabilities-feature-report
> 
> The way I read it: if the device exports the Button type value
> feature, and it is 0 or 1 (click-pad or pressure-pad), there should
> not be discrete buttons.

Yeah, it sounds like there *should* not be any buttons but 
There is nothing to explicitly forbid extra buttons for click/pressurepads
which is probably how those devices get past the windows driver
implementation.

Cheers,
   Peter

      parent reply	other threads:[~2021-12-01  5:56 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-23 19:12 [PATCH 0/1] Do not map BTN_RIGHT/MIDDLE on buttonpads José Expósito
2021-11-23 19:12 ` [PATCH 1/1] HID: multitouch: only map BTN_LEFT " José Expósito
2021-11-24  8:43   ` kernel test robot
2021-11-24  9:39 ` [PATCH 0/1] Do not map BTN_RIGHT/MIDDLE " Benjamin Tissoires
2021-11-24 19:53   ` José Expósito
2021-12-01  5:56   ` Peter Hutterer [this message]

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=YacOmYorwAIB4Q3c@quokka \
    --to=peter.hutterer@who-t.net \
    --cc=benjamin.tissoires@redhat.com \
    --cc=jikos@kernel.org \
    --cc=jose.exposito89@gmail.com \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    /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