Received: by 2002:ab2:1689:0:b0:1f7:5705:b850 with SMTP id d9csp1535989lqa; Mon, 29 Apr 2024 11:08:36 -0700 (PDT) X-Forwarded-Encrypted: i=3; AJvYcCXbRdmimtaPT8C1Wyim5HFkA7TcSHfrgFnCgg48OVH6+CpfdjMgVZDEM7OIb1mm48id4E0m9O8RcW/fKu0gBqyN5BmGfMHXFuuIN7HM+Q== X-Google-Smtp-Source: AGHT+IFxEBFLChiZFBTDvXiLs6N87v/Rc89KogJiYE07dAPKjhK4CeMznOdF6rM3/Juf9VrQlE5/ X-Received: by 2002:a05:620a:4245:b0:790:683c:2914 with SMTP id w5-20020a05620a424500b00790683c2914mr319745qko.75.1714414116226; Mon, 29 Apr 2024 11:08:36 -0700 (PDT) ARC-Seal: i=2; a=rsa-sha256; t=1714414116; cv=pass; d=google.com; s=arc-20160816; b=KSt1vIOETqbKtRNAkg7KSz8a46Xwt7X7AKJkDLsBFTGO/Yzf+2VgmbzRhR0ATNL8lq x1PVI13te0eyQ+xJlb13ZvG8moeR/OINFKKG78h4VvXzZsy/1jO4TW7ygPB0ouJNykOK KSSSpUIRlY7VuvCjO+5Urml0jAPHuKKonjRr4jNekYR13GuV3JqlWhDFW2BT+Z4CWy3L ltXJxSDlpKwsypu1wiuLXYB0tpbQHAeHeeefNHq3N/2pXMQsKSMZCCSqywkGeJ3BNKHE 9SewSliGWKLvXq/7KH/SCQA1FGdbHoeRgzwcHBSqScuzL/yrD+hfbdrFBWfHyjlCIIWC 6h7A== ARC-Message-Signature: i=2; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=content-transfer-encoding:mime-version:list-unsubscribe :list-subscribe:list-id:precedence:message-id:date:subject:cc:to :from:dkim-signature; bh=nf84ojcMOq0M0VVKXZcmBf3YAZLtizS/AKsNC5U5GYU=; fh=aemT+GeZQZWQoNzoyCTbRRaTH9+nk2QVwO/HOwIhj0I=; b=MewrFRP8CqdR6YAxBwUBrcKU5hBuLEo3KbP+ge14rNKLYFKOgtarKF9UErt8RUU7b+ 9QhDNindqRwX44RFwrq4P/KDznug58S68t7kZlwinuXGluDhSRWomSuoVn9EsNR1strs NVdy4Xdk5tLou5QHKzVZVyTk5bS02ZuOHNul0n/MvbGqN329FgIHrh0i09SAZfkZen88 CsrJs3M0AYBP5QpJLFBe/W5IbNoh/SStcSUO8vaC8Q4xm7vjslJDq6zyrYsTQG6H+dIx R7lxOpQuxB+J9uOs4pEhteuCMpELmTCaRVwl8eqpg42u2yexmNLZg8qseGMr7S97i1w9 r+bQ==; dara=google.com ARC-Authentication-Results: i=2; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=l8cAQKsk; arc=pass (i=1 spf=pass spfdomain=chromium.org dkim=pass dkdomain=chromium.org dmarc=pass fromdomain=chromium.org); spf=pass (google.com: domain of linux-kernel+bounces-162813-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-162813-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from ny.mirrors.kernel.org (ny.mirrors.kernel.org. [2604:1380:45d1:ec00::1]) by mx.google.com with ESMTPS id pe21-20020a05620a851500b0078edf0c16c5si25361897qkn.534.2024.04.29.11.08.36 for (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Apr 2024 11:08:36 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel+bounces-162813-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) client-ip=2604:1380:45d1:ec00::1; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=l8cAQKsk; arc=pass (i=1 spf=pass spfdomain=chromium.org dkim=pass dkdomain=chromium.org dmarc=pass fromdomain=chromium.org); spf=pass (google.com: domain of linux-kernel+bounces-162813-linux.lists.archive=gmail.com@vger.kernel.org designates 2604:1380:45d1:ec00::1 as permitted sender) smtp.mailfrom="linux-kernel+bounces-162813-linux.lists.archive=gmail.com@vger.kernel.org"; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: from smtp.subspace.kernel.org (wormhole.subspace.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ny.mirrors.kernel.org (Postfix) with ESMTPS id E14A91C20EA9 for ; Mon, 29 Apr 2024 18:08:35 +0000 (UTC) Received: from localhost.localdomain (localhost.localdomain [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id 1740B128396; Mon, 29 Apr 2024 18:08:29 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="l8cAQKsk" Received: from mail-qk1-f171.google.com (mail-qk1-f171.google.com [209.85.222.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DB97F8614C for ; Mon, 29 Apr 2024 18:08:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.222.171 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714414108; cv=none; b=aV+7yfxfpCsfqhXEt6qeL2hyQt8YKh5aS8rOPCcrZQ0dKYbfPnHvTu/iHr7wkgGQzHNStfqldqAJL5QIE9gy2KDX8efCJggCR+935sXqjg18CxfS/JtuDhFzsAg58MfVc03zIou3P+IW/UVQC/wn9y6vL/+mjTpb1G2PjgfWdDY= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1714414108; c=relaxed/simple; bh=ZdfPcczF7xRDV5aIKhhSE/OBvQACkiweQ02X0owtYuU=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=kNLV0O3cCv98fMQTvVIaKs932ckXDvzNgsmxvmT/AkgRRmNK4Qk/nsUPO4IBY7IiGn7k9Y9wxkvhkw1INJGQ38Z1zlSbcTU3sKhP2JtBC9PQRpK1IIvYBfm1lLCBYoYCrKBrYF5cCFEsAiVVgqfskMr+HuXYdpde7BaVQ/aCBxg= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org; spf=pass smtp.mailfrom=chromium.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b=l8cAQKsk; arc=none smtp.client-ip=209.85.222.171 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=chromium.org Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=chromium.org Received: by mail-qk1-f171.google.com with SMTP id af79cd13be357-790fb2b780dso78999585a.0 for ; Mon, 29 Apr 2024 11:08:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1714414106; x=1715018906; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=nf84ojcMOq0M0VVKXZcmBf3YAZLtizS/AKsNC5U5GYU=; b=l8cAQKskurRSjog+c7tB695KI+VrF0fVEz6ixKEw4hepxxHCY0sTzQNG+VPrrDg0J3 xd7UC9uhgEBZabdsGAgIyeJVOiILLg0w5taWgixi8dtIx09VyBN+0DDA5ZJcflV7LY9n 0+9/bs7IfOQpLiN2uaXMZSxPzxD0Ky6bzaxi8= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714414106; x=1715018906; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=nf84ojcMOq0M0VVKXZcmBf3YAZLtizS/AKsNC5U5GYU=; b=J47ngU3u+SFBziKgLmTRTwhZJjv0qguzQ66ME8qowxgdBu+hUSHJm+l6iSbmO+yYjA F+p3xSyNjSY0929UgV2wA0wKSmu7mAqit98Cfnd2c1liDQkZ9PJONhIW321Pcq4Xsf3z 9AQr48LzkHPLKzwbDFjsnGP5lnhpvs24vHGxcuYrz/8zGX9pzQ67ZS8Ozpre8nq6HbEC Qv1IobNEbDwlgqTNgNWPIDGlvEv6GBnU+zrcjoEfAxugk5JGyOwDdh5rhmzbHzBZjNhq ZZ8B9LBTGazjt0ZWwBT+C138tNci7U4JsGz9t5g4//SKn3FS6ibATHVyqXGI7MNG4qzg YThw== X-Forwarded-Encrypted: i=1; AJvYcCXgmI8JxWplnrRfuP6dQD3IXvm5HB6rqZwHs3XEuBvIsftuRKUMmOHUmdzvsWhMk9CIfy7LUdoayiHdJPSJbbdgim3Y6gKaYj/UvlzS X-Gm-Message-State: AOJu0YzqEimSir68myjZYQiND5MI95OutMqjqb7imGJDHN985RcG13nJ oxM5kK3s+rt/TUuc3Fyj5XzBZoS1BRV0Tx/EQS4dwqr4gUPlYkq+FsGkcN0LeQ== X-Received: by 2002:a05:620a:4551:b0:790:a3a7:7cab with SMTP id u17-20020a05620a455100b00790a3a77cabmr392969qkp.39.1714414105812; Mon, 29 Apr 2024 11:08:25 -0700 (PDT) Received: from seobrien.c.googlers.com.com (114.66.194.35.bc.googleusercontent.com. [35.194.66.114]) by smtp.gmail.com with ESMTPSA id m6-20020ae9e006000000b0078efdcd9aa6sm10669039qkk.127.2024.04.29.11.08.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Apr 2024 11:08:25 -0700 (PDT) From: Sean O'Brien To: Benjamin Tissoires , linux-input@vger.kernel.org Cc: Sean O'Brien , Jiri Kosina , linux-kernel@vger.kernel.org Subject: [PATCH] HID: Add quirk for Logitech Casa touchpad Date: Mon, 29 Apr 2024 18:08:05 +0000 Message-ID: <20240429180804.1.Ie7e8d0ba595f9e39f71cbe4ab3468f79c00b4581@changeid> X-Mailer: git-send-email 2.45.0.rc0.197.gbae5840b3b-goog Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit This device sometimes doesn't send touch release signals when moving from >=4 fingers to <4 fingers. Using MT_QUIRK_NOT_SEEN_MEANS_UP instead of MT_QUIRK_ALWAYS_VALID makes sure that no touches become stuck. MT_QUIRK_FORCE_MULTI_INPUT is not necessary for this device, but does no harm. Signed-off-by: Sean O'Brien --- drivers/hid/hid-ids.h | 1 + drivers/hid/hid-multitouch.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h index 8376fb5e2d0b4..68b0f39deaa9a 100644 --- a/drivers/hid/hid-ids.h +++ b/drivers/hid/hid-ids.h @@ -823,6 +823,7 @@ #define USB_DEVICE_ID_LOGITECH_AUDIOHUB 0x0a0e #define USB_DEVICE_ID_LOGITECH_T651 0xb00c #define USB_DEVICE_ID_LOGITECH_DINOVO_EDGE_KBD 0xb309 +#define USB_DEVICE_ID_LOGITECH_CASA_TOUCHPAD 0xbb00 #define USB_DEVICE_ID_LOGITECH_C007 0xc007 #define USB_DEVICE_ID_LOGITECH_C077 0xc077 #define USB_DEVICE_ID_LOGITECH_RECEIVER 0xc101 diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c index 04a014cd2a2f6..56fc78841f245 100644 --- a/drivers/hid/hid-multitouch.c +++ b/drivers/hid/hid-multitouch.c @@ -2081,6 +2081,12 @@ static const struct hid_device_id mt_devices[] = { USB_VENDOR_ID_LENOVO, USB_DEVICE_ID_LENOVO_X12_TAB) }, + /* Logitech devices */ + { .driver_data = MT_CLS_NSMU, + HID_DEVICE(BUS_BLUETOOTH, HID_GROUP_MULTITOUCH_WIN_8, + USB_VENDOR_ID_LOGITECH, + USB_DEVICE_ID_LOGITECH_CASA_TOUCHPAD) }, + /* MosArt panels */ { .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE, MT_USB_DEVICE(USB_VENDOR_ID_ASUS, -- 2.45.0.rc0.197.gbae5840b3b-goog