|
@@ -121,6 +121,7 @@ struct mt_device {
|
|
|
#define MT_CLS_GENERALTOUCH_PWT_TENFINGERS 0x0109
|
|
|
|
|
|
#define MT_DEFAULT_MAXCONTACT 10
|
|
|
+#define MT_MAX_MAXCONTACT 250
|
|
|
|
|
|
#define MT_USB_DEVICE(v, p) HID_DEVICE(BUS_USB, HID_GROUP_MULTITOUCH, v, p)
|
|
|
#define MT_BT_DEVICE(v, p) HID_DEVICE(BUS_BLUETOOTH, HID_GROUP_MULTITOUCH, v, p)
|
|
@@ -282,6 +283,9 @@ static void mt_feature_mapping(struct hid_device *hdev,
|
|
|
case HID_DG_CONTACTMAX:
|
|
|
td->maxcontact_report_id = field->report->id;
|
|
|
td->maxcontacts = field->value[0];
|
|
|
+ if (!td->maxcontacts &&
|
|
|
+ field->logical_maximum <= MT_MAX_MAXCONTACT)
|
|
|
+ td->maxcontacts = field->logical_maximum;
|
|
|
if (td->mtclass.maxcontacts)
|
|
|
/* check if the maxcontacts is given by the class */
|
|
|
td->maxcontacts = td->mtclass.maxcontacts;
|