Commit 2c31ec92 authored by Kerem Karabay's avatar Kerem Karabay Committed by Jiri Kosina
Browse files

HID: multitouch: add device ID for Apple Touch Bar



This patch adds the device ID of Apple Touch Bar found on x86 MacBook Pros
to the hid-multitouch driver.

Note that this is device ID is for T2 Macs. Testing on T1 Macs would be
appreciated.

Signed-off-by: default avatarKerem Karabay <kekrby@gmail.com>
Co-developed-by: default avatarAditya Garg <gargaditya08@live.com>
Signed-off-by: default avatarAditya Garg <gargaditya08@live.com>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.com>
parent 45ca23c5
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -771,6 +771,7 @@ config HID_MULTITOUCH
	  Say Y here if you have one of the following devices:
	  - 3M PCT touch screens
	  - ActionStar dual touch panels
	  - Apple Touch Bar on x86 MacBook Pros
	  - Atmel panels
	  - Cando dual touch panels
	  - Chunghwa panels
+17 −0
Original line number Diff line number Diff line
@@ -221,6 +221,7 @@ static void mt_post_parse(struct mt_device *td, struct mt_application *app);
#define MT_CLS_GOOGLE				0x0111
#define MT_CLS_RAZER_BLADE_STEALTH		0x0112
#define MT_CLS_SMART_TECH			0x0113
#define MT_CLS_APPLE_TOUCHBAR			0x0114
#define MT_CLS_SIS				0x0457

#define MT_DEFAULT_MAXCONTACT	10
@@ -406,6 +407,12 @@ static const struct mt_class mt_classes[] = {
			MT_QUIRK_CONTACT_CNT_ACCURATE |
			MT_QUIRK_SEPARATE_APP_REPORT,
	},
	{ .name = MT_CLS_APPLE_TOUCHBAR,
		.quirks = MT_QUIRK_HOVERING |
			MT_QUIRK_SLOT_IS_CONTACTID_MINUS_ONE |
			MT_QUIRK_APPLE_TOUCHBAR,
		.maxcontacts = 11,
	},
	{ .name = MT_CLS_SIS,
		.quirks = MT_QUIRK_NOT_SEEN_MEANS_UP |
			MT_QUIRK_ALWAYS_VALID |
@@ -1858,6 +1865,11 @@ static int mt_probe(struct hid_device *hdev, const struct hid_device_id *id)
	if (ret != 0)
		return ret;

	if (mtclass->name == MT_CLS_APPLE_TOUCHBAR &&
	    !hid_find_field(hdev, HID_INPUT_REPORT,
			    HID_DG_TOUCHPAD, HID_DG_TRANSDUCER_INDEX))
		return -ENODEV;

	if (mtclass->quirks & MT_QUIRK_FIX_CONST_CONTACT_ID)
		mt_fix_const_fields(hdev, HID_DG_CONTACTID);

@@ -2349,6 +2361,11 @@ static const struct hid_device_id mt_devices[] = {
		MT_USB_DEVICE(USB_VENDOR_ID_XIROKU,
			USB_DEVICE_ID_XIROKU_CSR2) },

	/* Apple Touch Bar */
	{ .driver_data = MT_CLS_APPLE_TOUCHBAR,
		HID_USB_DEVICE(USB_VENDOR_ID_APPLE,
			USB_DEVICE_ID_APPLE_TOUCHBAR_DISPLAY) },

	/* Google MT devices */
	{ .driver_data = MT_CLS_GOOGLE,
		HID_DEVICE(HID_BUS_ANY, HID_GROUP_ANY, USB_VENDOR_ID_GOOGLE,