[PATCH 4/5] HID: multitouch: specify that Apple Touch Bar is direct

From: Aditya Garg
Date: Thu Feb 27 2025 - 12:35:46 EST


From: Kerem Karabay <kekrby@xxxxxxxxx>

Currently the driver determines the device type based on the
application, but this value is not reliable on Apple Touch Bar, where
the application is HID_DG_TOUCHPAD even though this device is direct,
so add a quirk for the same.

Signed-off-by: Kerem Karabay <kekrby@xxxxxxxxx>
Co-developed-by: Aditya Garg <gargaditya08@xxxxxxxx>
Signed-off-by: Aditya Garg <gargaditya08@xxxxxxxx>
---
drivers/hid/hid-multitouch.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c
index f7fe6aab8..66e33a482 100644
--- a/drivers/hid/hid-multitouch.c
+++ b/drivers/hid/hid-multitouch.c
@@ -1349,6 +1349,13 @@ static int mt_touch_input_configured(struct hid_device *hdev,
if (td->serial_maybe)
mt_post_parse_default_settings(td, app);

+ /*
+ * The application for Apple Touch Bars is HID_DG_TOUCHPAD,
+ * but these devices are direct.
+ */
+ if (cls->quirks & MT_QUIRK_APPLE_TOUCHBAR)
+ app->mt_flags |= INPUT_MT_DIRECT;
+
if (cls->is_indirect)
app->mt_flags |= INPUT_MT_POINTER;

--
2.43.0