HID: multitouch: take cls->maxcontacts into account for Apple Touch Bar even without a HID_DG_CONTACTMAX field

In Apple Touch Bar, the HID_DG_CONTACTMAX is not present, but the maximum
contact count is still greater than the default. Add quirks for the same.

Acked-by: Benjamin Tissoires <bentiss@kernel.org>
Signed-off-by: Kerem Karabay <kekrby@gmail.com>
Co-developed-by: Aditya Garg <gargaditya08@live.com>
Signed-off-by: Aditya Garg <gargaditya08@live.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
This commit is contained in:
Kerem Karabay
2025-05-27 22:13:15 +05:30
committed by Jiri Kosina
parent e0976a61a5
commit 7dfe48bdc9

View File

@@ -1335,6 +1335,13 @@ static int mt_touch_input_configured(struct hid_device *hdev,
struct input_dev *input = hi->input;
int ret;
/*
* HID_DG_CONTACTMAX field is not present on Apple Touch Bars,
* but the maximum contact count is greater than the default.
*/
if (cls->quirks & MT_QUIRK_APPLE_TOUCHBAR && cls->maxcontacts)
td->maxcontacts = cls->maxcontacts;
if (!td->maxcontacts)
td->maxcontacts = MT_DEFAULT_MAXCONTACT;