[PATCH] Input: synaptics - add quirk for Daffodil DC253D touchpad

Ashwin Gundarapu posted 1 patch 2 days, 3 hours ago
drivers/input/mouse/synaptics.c | 11 +++++++++--
1 file changed, 9 insertions(+), 2 deletions(-)
[PATCH] Input: synaptics - add quirk for Daffodil DC253D touchpad
Posted by Ashwin Gundarapu 2 days, 3 hours ago
From ee16efae3c4371d37467c49c0cae6af808e1b625 Mon Sep 17 00:00:00 2001
From: Ashwin Gundarapu <linuxuser509@zohomail.in>
Date: Fri, 22 May 2026 20:48:25 +0530
Subject: [PATCH] Input: synaptics - add quirk for Daffodil DC253D touchpad

On the Daffodil DC253D laptop, the touchpad is incorrectly detected as
a clickpad, causing the right button to be missing. Add a DMI quirk
to clear the CLICKPAD bit for this device.

Link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2153983
Signed-off-by: Ashwin Gundarapu <linuxuser509@zohomail.in>
---
 drivers/input/mouse/synaptics.c | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/drivers/input/mouse/synaptics.c b/drivers/input/mouse/synaptics.c
index 26071128f43a..4ca85fb4ab70 100644
--- a/drivers/input/mouse/synaptics.c
+++ b/drivers/input/mouse/synaptics.c
@@ -534,9 +534,16 @@ static int synaptics_invert_y(int y)
  * Apply quirk(s) if the hardware matches
  */
 static void synaptics_apply_quirks(struct psmouse *psmouse,
-				   struct synaptics_device_info *info)
+                                   struct synaptics_device_info *info)
 {
-	int i;
+        int i;
+
+        /* Daffodil DC253D has a physical right button */
+        if (dmi_match(DMI_SYS_VENDOR, "Daffodil Computers Ltd.") &&
+            dmi_match(DMI_PRODUCT_NAME, "DC253D")) {
+                info->ext_cap_0c &= ~BIT(20);  /* Clear CLICKPAD bit */
+                psmouse_info(psmouse, "Force right button on Daffodil DC253D\n");
+        }
 
 	for (i = 0; min_max_pnpid_table[i].pnp_ids; i++) {
 		if (!psmouse_matches_pnp_id(psmouse,
-- 
2.43.0