diff options
Diffstat (limited to 'drivers/hid/hid-multitouch.c')
-rw-r--r-- | drivers/hid/hid-multitouch.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/hid/hid-multitouch.c b/drivers/hid/hid-multitouch.c index 62cac4dc3b6..b03a0b0e9b6 100644 --- a/drivers/hid/hid-multitouch.c +++ b/drivers/hid/hid-multitouch.c | |||
@@ -213,6 +213,16 @@ static int mt_input_mapping(struct hid_device *hdev, struct hid_input *hi, | |||
213 | struct mt_class *cls = td->mtclass; | 213 | struct mt_class *cls = td->mtclass; |
214 | __s32 quirks = cls->quirks; | 214 | __s32 quirks = cls->quirks; |
215 | 215 | ||
216 | /* Only map fields from TouchScreen or TouchPad collections. | ||
217 | * We need to ignore fields that belong to other collections | ||
218 | * such as Mouse that might have the same GenericDesktop usages. */ | ||
219 | if (field->application == HID_DG_TOUCHSCREEN) | ||
220 | set_bit(INPUT_PROP_DIRECT, hi->input->propbit); | ||
221 | else if (field->application == HID_DG_TOUCHPAD) | ||
222 | set_bit(INPUT_PROP_POINTER, hi->input->propbit); | ||
223 | else | ||
224 | return 0; | ||
225 | |||
216 | switch (usage->hid & HID_USAGE_PAGE) { | 226 | switch (usage->hid & HID_USAGE_PAGE) { |
217 | 227 | ||
218 | case HID_UP_GENDESK: | 228 | case HID_UP_GENDESK: |
@@ -672,6 +682,11 @@ static const struct hid_device_id mt_devices[] = { | |||
672 | HID_USB_DEVICE(USB_VENDOR_ID_IRTOUCHSYSTEMS, | 682 | HID_USB_DEVICE(USB_VENDOR_ID_IRTOUCHSYSTEMS, |
673 | USB_DEVICE_ID_IRTOUCH_INFRARED_USB) }, | 683 | USB_DEVICE_ID_IRTOUCH_INFRARED_USB) }, |
674 | 684 | ||
685 | /* LG Display panels */ | ||
686 | { .driver_data = MT_CLS_DEFAULT, | ||
687 | HID_USB_DEVICE(USB_VENDOR_ID_LG, | ||
688 | USB_DEVICE_ID_LG_MULTITOUCH) }, | ||
689 | |||
675 | /* Lumio panels */ | 690 | /* Lumio panels */ |
676 | { .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE, | 691 | { .driver_data = MT_CLS_CONFIDENCE_MINUS_ONE, |
677 | HID_USB_DEVICE(USB_VENDOR_ID_LUMIO, | 692 | HID_USB_DEVICE(USB_VENDOR_ID_LUMIO, |
@@ -727,6 +742,10 @@ static const struct hid_device_id mt_devices[] = { | |||
727 | { .driver_data = MT_CLS_DEFAULT, | 742 | { .driver_data = MT_CLS_DEFAULT, |
728 | HID_USB_DEVICE(USB_VENDOR_ID_UNITEC, | 743 | HID_USB_DEVICE(USB_VENDOR_ID_UNITEC, |
729 | USB_DEVICE_ID_UNITEC_USB_TOUCH_0A19) }, | 744 | USB_DEVICE_ID_UNITEC_USB_TOUCH_0A19) }, |
745 | /* XAT */ | ||
746 | { .driver_data = MT_CLS_DEFAULT, | ||
747 | HID_USB_DEVICE(USB_VENDOR_ID_XAT, | ||
748 | USB_DEVICE_ID_XAT_CSR) }, | ||
730 | 749 | ||
731 | { } | 750 | { } |
732 | }; | 751 | }; |