linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Hui Wang <hui.wang@canonical.com>
To: "Barnabás Pőcze" <pobrn@protonmail.com>
Cc: "linux-input@vger.kernel.org" <linux-input@vger.kernel.org>,
	"jikos@kernel.org" <jikos@kernel.org>,
	"benjamin.tissoires@redhat.com" <benjamin.tissoires@redhat.com>,
	"jkosina@suse.cz" <jkosina@suse.cz>
Subject: Re: [PATCH] HID: multitouch: add a quirk to skip set inputmode for 2 new laptops
Date: Sat, 9 Jan 2021 20:35:06 +0800	[thread overview]
Message-ID: <af979df2-d5dc-ce91-5349-44b5b428e517@canonical.com> (raw)
In-Reply-To: <uQnmWiLQ4Lmlm2GUj2fhPTv6zZ9Cszx0BNMz2K4WvVE7TjLE82lmU6mi0Leu4OK2fXfn-86Tw8WeR6kla03TdTpKIn-1zcmb1mLHl8WAt_Q=@protonmail.com>


On 1/7/21 8:42 PM, Barnabás Pőcze wrote:
> Hi
>
>
> 2021. január 7., csütörtök 12:27 keltezéssel, Hui Wang írta:
>
>> we have 2 latest Thinkpad laptops, the synaptics trackpoint module is
>> connected to i8042 bus and the synaptics touchpad module is on the i2c
>> bus. The trackpoint is driven by input/mouse/trackpoint.c and the
>> touchpad is driven by hid-multitouch.c.
>>
>> They all work well independently, but if users press any buttons of
>> trackpoint and meanwhile move finger on the touchpad, the touchpad
>> can't work, the i2c bus can't generate interrupts even. That is to say
>> the touchpad can't work with trackpoint together, once trackpoint
>> works, the touchpad stops working.
>>
>> The current hid driver parses the device descriptor and selects the
>> hid-multitouch.c and applies the MT_CLS_WIN_8 to the touchpad, I found
>> this issue begins to happen after the driver sets the
>> MT_INPUTMODE_TOUCHPAD to the device, If skipping to set it, the
>> touchpad work well and doesn't have that issue, even after suspend and
>> resume, the touchpad still work well.
>>
>> This touchpad module doesn't support multi inputmodes, and its init
>> mode is set by BIOS already, it is safe to skip to set it again in
>> the kernel driver.
>> [...]
> Assuming I'm not missing anything obvious, a windows precision touchpad
> should revert back to reporting events via its HID compliant mouse collection
> when power cycled or reset by the host[1].
>
> Doesn't that imply that the events will be reported via the mouse collection
> in this case, and that the multi-touch capabilities of the device will not
> be usable? Or am I missing something?
>
>
> [1]: https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/windows-precision-touchpad-required-hid-top-level-collections#input-mode-feature-report

Yes, you are right, after applying this patch, the events will be 
reported through mouse collection and some features specific to touchpad 
collection like multi-touch are lost. So this patch is not a correct 
solution, please ignore this patch.

And I found If using the hid-rmi.c to drive this touchpad, it will work 
well, the touchpad and trackpoint could work well together and the 
touchpad has multi-touch capability. But because the report descriptor 
contains an Input item which has the usage HID_DG_CONTACTID, the 
hid->group is set to HID_GROUP_MULTITOUCH, the hid-multitouch.c is 
selected to drive this touchpad.

Is it Okay to do the change below and let hid-rmi.c drive this touchpad?

diff --git a/drivers/hid/hid-rmi.c b/drivers/hid/hid-rmi.c
index 311eee599ce9..58a7529499f5 100644
--- a/drivers/hid/hid-rmi.c
+++ b/drivers/hid/hid-rmi.c
@@ -759,6 +759,7 @@ static const struct hid_device_id rmi_id[] = {
         { HID_USB_DEVICE(USB_VENDOR_ID_PRIMAX, 
USB_DEVICE_ID_PRIMAX_REZEL) },
         { HID_USB_DEVICE(USB_VENDOR_ID_SYNAPTICS, 
USB_DEVICE_ID_SYNAPTICS_ACER_SWITCH5),
                 .driver_data = RMI_DEVICE_OUTPUT_SET_REPORT },
+       { HID_I2C_DEVICE(USB_VENDOR_ID_SYNAPTICS, 0xce57) },
         { HID_DEVICE(HID_BUS_ANY, HID_GROUP_RMI, HID_ANY_ID, HID_ANY_ID) },
         { }
  };

Thanks,

Hui.

>
>
> Regards,
> Barnabás Pőcze
>

  reply	other threads:[~2021-01-09 12:36 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-07 11:27 [PATCH] HID: multitouch: add a quirk to skip set inputmode for 2 new laptops Hui Wang
2021-01-07 12:42 ` Barnabás Pőcze
2021-01-09 12:35   ` Hui Wang [this message]
2021-01-18  7:55     ` Hui Wang

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=af979df2-d5dc-ce91-5349-44b5b428e517@canonical.com \
    --to=hui.wang@canonical.com \
    --cc=benjamin.tissoires@redhat.com \
    --cc=jikos@kernel.org \
    --cc=jkosina@suse.cz \
    --cc=linux-input@vger.kernel.org \
    --cc=pobrn@protonmail.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;
as well as URLs for NNTP newsgroup(s).