HID: hid-multitouch: merge hid-mosart into hid-multitouch
This patch include MosArt devices into hid-multitouch. MosArt devices now support mt-protocol B. We also need to introduce a new quirk for mosart devices to support their contactID. Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:

committed by
Jiri Kosina

parent
6ab3a9a63f
commit
4a6ee685fb
@@ -50,6 +50,7 @@ MODULE_LICENSE("GPL");
|
||||
#define MT_QUIRK_VALID_IS_INRANGE (1 << 4)
|
||||
#define MT_QUIRK_VALID_IS_CONFIDENCE (1 << 5)
|
||||
#define MT_QUIRK_EGALAX_XYZ_FIXUP (1 << 6)
|
||||
#define MT_QUIRK_SLOT_IS_CONTACTID_MINUS_ONE (1 << 7)
|
||||
|
||||
struct mt_slot {
|
||||
__s32 x, y, p, w, h;
|
||||
@@ -90,6 +91,7 @@ struct mt_class {
|
||||
#define MT_CLS_STANTUM 6
|
||||
#define MT_CLS_3M 7
|
||||
#define MT_CLS_CONFIDENCE 8
|
||||
#define MT_CLS_CONFIDENCE_MINUS_ONE 9
|
||||
|
||||
#define MT_DEFAULT_MAXCONTACT 10
|
||||
|
||||
@@ -140,7 +142,9 @@ struct mt_class mt_classes[] = {
|
||||
.quirks = MT_QUIRK_NOT_SEEN_MEANS_UP |
|
||||
MT_QUIRK_CYPRESS,
|
||||
.maxcontacts = 10 },
|
||||
|
||||
{ .name = MT_CLS_CONFIDENCE_MINUS_ONE,
|
||||
.quirks = MT_QUIRK_VALID_IS_CONFIDENCE |
|
||||
MT_QUIRK_SLOT_IS_CONTACTID_MINUS_ONE },
|
||||
{ .name = MT_CLS_EGALAX,
|
||||
.quirks = MT_QUIRK_SLOT_IS_CONTACTID |
|
||||
MT_QUIRK_VALID_IS_INRANGE |
|
||||
@@ -325,6 +329,9 @@ static int mt_compute_slot(struct mt_device *td)
|
||||
if (quirks & MT_QUIRK_SLOT_IS_CONTACTNUMBER)
|
||||
return td->num_received;
|
||||
|
||||
if (quirks & MT_QUIRK_SLOT_IS_CONTACTID_MINUS_ONE)
|
||||
return td->curdata.contactid - 1;
|
||||
|
||||
return find_slot_from_contactid(td);
|
||||
}
|
||||
|
||||
@@ -587,6 +594,17 @@ static const struct hid_device_id mt_devices[] = {
|
||||
HID_USB_DEVICE(USB_VENDOR_ID_IRTOUCHSYSTEMS,
|
||||
USB_DEVICE_ID_IRTOUCH_INFRARED_USB) },
|
||||
|
||||
/* MosArt panels */
|
||||
{ .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE,
|
||||
HID_USB_DEVICE(USB_VENDOR_ID_ASUS,
|
||||
USB_DEVICE_ID_ASUS_T91MT)},
|
||||
{ .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE,
|
||||
HID_USB_DEVICE(USB_VENDOR_ID_ASUS,
|
||||
USB_DEVICE_ID_ASUSTEK_MULTITOUCH_YFO) },
|
||||
{ .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE,
|
||||
HID_USB_DEVICE(USB_VENDOR_ID_TURBOX,
|
||||
USB_DEVICE_ID_TURBOX_TOUCHSCREEN_MOSART) },
|
||||
|
||||
/* PenMount panels */
|
||||
{ .driver_data = MT_CLS_CONFIDENCE,
|
||||
HID_USB_DEVICE(USB_VENDOR_ID_PENMOUNT,
|
||||
|
Reference in New Issue
Block a user