[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <YjqqoW9jU3SoBgYn@quokka>
Date: Wed, 23 Mar 2022 15:05:37 +1000
From: Peter Hutterer <peter.hutterer@...-t.net>
To: José Expósito <jose.exposito89@...il.com>
Cc: jkosina@...e.cz, tiwai@...e.de, benjamin.tissoires@...hat.com,
regressions@...mhuis.info, linux-input@...r.kernel.org,
stable@...r.kernel.org, regressions@...ts.linux.dev,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] Revert "Input: clear BTN_RIGHT/MIDDLE on buttonpads"
On Mon, Mar 21, 2022 at 07:44:05PM +0100, José Expósito wrote:
> This reverts commit 37ef4c19b4c659926ce65a7ac709ceaefb211c40.
>
> The touchpad present in the Dell Precision 7550 and 7750 laptops
> reports a HID_DG_BUTTONTYPE of type MT_BUTTONTYPE_CLICKPAD. However,
> the device is not a clickpad, it is a touchpad with physical buttons.
>
> In order to fix this issue, a quirk for the device was introduced in
> libinput [1] [2] to disable the INPUT_PROP_BUTTONPAD property:
>
> [Precision 7x50 Touchpad]
> MatchBus=i2c
> MatchUdevType=touchpad
> MatchDMIModalias=dmi:*svnDellInc.:pnPrecision7?50*
> AttrInputPropDisable=INPUT_PROP_BUTTONPAD
>
> However, because of the change introduced in 37ef4c19b4 ("Input: clear
> BTN_RIGHT/MIDDLE on buttonpads") the BTN_RIGHT key bit is not mapped
> anymore breaking the device right click button and making impossible to
> workaround it in user space.
>
> In order to avoid breakage on other present or future devices, revert
> the patch causing the issue.
>
> Cc: stable@...r.kernel.org
> Link: https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/481 [1]
> Link: https://bugzilla.redhat.com/show_bug.cgi?id=1868789 [2]
> Signed-off-by: José Expósito <jose.exposito89@...il.com>
Acked-by: Peter Hutterer <peter.hutterer@...-t.net>
Cheers,
Peter
> ---
> drivers/input/input.c | 6 ------
> 1 file changed, 6 deletions(-)
>
> diff --git a/drivers/input/input.c b/drivers/input/input.c
> index c3139bc2aa0d..ccaeb2426385 100644
> --- a/drivers/input/input.c
> +++ b/drivers/input/input.c
> @@ -2285,12 +2285,6 @@ int input_register_device(struct input_dev *dev)
> /* KEY_RESERVED is not supposed to be transmitted to userspace. */
> __clear_bit(KEY_RESERVED, dev->keybit);
>
> - /* Buttonpads should not map BTN_RIGHT and/or BTN_MIDDLE. */
> - if (test_bit(INPUT_PROP_BUTTONPAD, dev->propbit)) {
> - __clear_bit(BTN_RIGHT, dev->keybit);
> - __clear_bit(BTN_MIDDLE, dev->keybit);
> - }
> -
> /* Make sure that bitmasks not mentioned in dev->evbit are clean. */
> input_cleanse_bitmasks(dev);
>
> --
> 2.25.1
>
Powered by blists - more mailing lists