Re: [PATCH] HID: lenovo: Detect quirk-free fw on cptkbd and stop applying workaround

From: Jiri Kosina
Date: Wed Oct 04 2023 - 15:07:33 EST


On Sun, 24 Sep 2023, Mikhail Khvainitski wrote:

> Built-in firmware of cptkbd handles scrolling by itself (when middle
> button is pressed) but with issues: it does not support horizontal and
> hi-res scrolling and upon middle button release it sends middle button
> click even if there was a scrolling event. Commit 3cb5ff0220e3 ("HID:
> lenovo: Hide middle-button press until release") workarounds last
> issue but it's impossible to workaround scrolling-related issues
> without firmware modification.
>
> Likely, Dennis Schneider has reverse engineered the firmware and
> provided an instruction on how to patch it [1]. However,
> aforementioned workaround prevents userspace (libinput) from knowing
> exact moment when middle button has been pressed down and performing
> "On-Button scrolling". This commit detects correctly-behaving patched
> firmware if cursor movement events has been received during middle
> button being pressed and stops applying workaround for this device.
>
> Link: https://hohlerde.org/rauch/en/elektronik/projekte/tpkbd-fix/ [1]
>
> Signed-off-by: Mikhail Khvainitski <me@xxxxxxxxxxxxxxx>

Applied to for-6.7/lenovo, thanks.

--
Jiri Kosina
SUSE Labs