[PATCH synaptics] conf: ship a quirk for Cypress touchpads

Hans de Goede hdegoede at redhat.com
Fri Mar 21 08:08:49 PDT 2014


Hi,

On 03/21/2014 03:57 PM, Adam Williamson wrote:
> On Fri, 2014-03-21 at 10:31 +0100, Hans de Goede wrote:
>> Hi,
>>
>> On 03/20/2014 11:18 PM, Peter Hutterer wrote:
>>> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>
>>> ---
>>>  conf/11-x11-synaptics.fdi |  9 +++++++++
>>>  conf/50-synaptics.conf    | 12 ++++++++++++
>>>  2 files changed, 21 insertions(+)
>>>
>>> diff --git a/conf/11-x11-synaptics.fdi b/conf/11-x11-synaptics.fdi
>>> index a898875..44dfce3 100644
>>> --- a/conf/11-x11-synaptics.fdi
>>> +++ b/conf/11-x11-synaptics.fdi
>>> @@ -34,6 +34,15 @@
>>>          <match key="info.product" contains="Apple|bcm5974">
>>>              <merge key="input.x11_options.SoftButtonAreas" type="string">0 0 0 0 0 0 0 0</merge>
>>>          </match>
>>> +
>>> +        <!--The Cypress touchpads provide BTN_RIGHT in firmware, together with
>>> +            clickfinger, and two-finger scrolling. Disable Clickpads, otherwise we
>>> +            get flaky button behaviour.
>>> +            https://bugs.freedesktop.org/show_bug.cgi?id=70819
>>> +            https://bugs.freedesktop.org/show_bug.cgi?id=76341 -->
>>
>> I'm not so sure that using a xorg.conf snippet for this is the best way to go about this, I would
>> prefer to see a fix to the kernel to not report the clickpad flag for non clickpads.
> 
> It *is* a clickpad...just a smart one.

Yes it is a clickpad, but it does not behave as one, it behaves as a regular touchpad with
separate physical buttons, so it makes sense for it to not advertise itself as a clickpad
to userspace. Going this route means we won't hit the same problem again with Wayland.

> 
>>  Esp. as some
>> newer or future Cypress touchpads may very well get rid of the firmware mode and do everything in
>> the drivers as other vendors do.
> 
>> I really think that "CyPS/2 Cypress Trackpad" is a way to generic match string 
> 
> We already know about the next generation of Cypress pads, it's broken
> in a new, different and exciting way:
> 
> https://bugzilla.redhat.com/show_bug.cgi?id=1048314
> 
> and it identifies itself differently:
> 
> "SynPS/2 Synaptics TouchPad" (on the new XPS 13)
> "PS/2 Cypress Trackpad" (on the XPS 12, according to
> https://bugs.launchpad.net/ubuntu/+source/linux/+bug/1103594)
> 

Well that is not a new Cypress pad, it is a Synaptics pad, so the new model XPS 13 has a
different vendor for the trackpad.

>> and is
>> going to bite us in the future. At a minimum we should use the still to be merged DMI matching
>> here to limit this to certain laptop models, but IHMO it would be much better to simply fix
>> this in the kernel. For starters we could add a dmi quirk in the kernel for the XPS 13, until we
>> figure out a better way to decide which Cypress Trackpads use this firmware emulation and which
>> models don't.
> 
> Still, I don't really mind if you want to do it that way. Attaching
> dmidecode.

Thanks, after having studied the cypress_ps2 driver I don't think we will need a dmi-quirk
after all, all currently supported models seem to have the same button emulation going
on inside the firmware.

>> And maybe the one in the Dell XPS 13 even has a command we can send to it to turn of the
>> emulation too, which would allow us to really fix 70819 too.
> 
> How would I go about checking for that?

You don't, to many random commands to try. Figuring this out would require vendor assistance.

Regards,

Hans


More information about the xorg-devel mailing list