Re: [PATCH] Revert "Input: clear BTN_RIGHT/MIDDLE on buttonpads"

Thorsten Leemhuis
2022-04-05T11:08:15Z

Just a quick add-on note for the record about another affected device:

On 31.03.22 06:38, Peter Hutterer wrote:
> On Wed, Mar 30, 2022 at 09:13:30PM -0700, Dmitry Torokhov wrote:
>> On Wed, Mar 30, 2022 at 02:30:37PM +0200, Benjamin Tissoires wrote:
>>> On Wed, Mar 30, 2022 at 2:27 PM Thorsten Leemhuis
>>> <regressions@leemhuis.info> wrote:
>>>> On 21.03.22 19:44, 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@vger.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@gmail.com>
>>>>> [...]
>>>>
>>>> Jiri, Benjamin, what the status here? Sure, this is not a crucial
>>>> regression and we are in the middle of the merge window, but it looks
>>>> like nothing has happened for a week now. Or was progress made somewhere
>>>> and I just missed it?
>>>
>>> No, I think it just wasn't picked up by the input maintainer yet
>>> (Dmitry, now in CC).
>>>
>>> FWIW:
>>> Acked-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
>>>
>>> José, please do not forget to add the input maintainer when you target
>>> the input tree, not the HID one :)
>>
>> I see that there were several ACKs, but how many devices misuse the
>> HID_DG_BUTTONTYPE? Would it be better to quirk against either affected
>> Dell models, or particular touchpads (by HID IDs) instead of reverting
>> wholesale?
>
> fwiw, a quick git grep in libinput shows 12 entries for disabling BTN_RIGHT
> and 9 entries for enabling/disabling INPUT_PROP_BUTTONPAD. That's not the
> number of devices affected by this bug, merely devices we know advertise the
> wrong combination.
>
> Note that the cause for the revert is loss of functionality. Previously, a
> device was just advertising buttons incorrectly but still worked fine. This
> was mostly a cosmetic issue (and could be worked around in userspace). With
> the patch in place some devices right button no longer works because it's
> filtered by the kernel. That's why the revert is needed.
>
> The device could/should still be quirked to drop INPUT_PROP_BUTTONPAD but that
> is only required to work around the cosmetic issues then.

I anyone cares now or in the future: seems the patch meanwhile reverted
(thx) also broke the ICL Si1516:
https://bugzilla.kernel.org/show_bug.cgi?id=215771

Ciao, Thorsten

P.S.: Any while at it, let me let regzbot about the fix as well:

#regzbot fixed-by: 8b188fba75195745026e11d408e4a7e94e01d701