HID: hid-multitouch: add support for PenMount dual-touch panel
authorJohn Sung <penmount.touch@gmail.com>
Thu, 21 Apr 2011 14:21:52 +0000 (16:21 +0200)
committerJiri Kosina <jkosina@suse.cz>
Fri, 22 Apr 2011 09:56:52 +0000 (11:56 +0200)
This patch adds PenMount support to hid-multitouch.  A new class
MT_CLS_CONFIDENCE is defined for PenMount, since it uses HID_DG_CONFIDENCE as
the valid flag.

Signed-off-by: John Sung <penmount.touch@gmail.com>
[benjamin.tissoires@enac.fr: rebased on top of last_index_field changes]
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@enac.fr>
Acked-by: Henrik Rydberg <rydberg@euromail.se>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/Kconfig
drivers/hid/hid-core.c
drivers/hid/hid-ids.h
drivers/hid/hid-multitouch.c

index 996ae3a..8058cf1 100644 (file)
@@ -313,6 +313,7 @@ config HID_MULTITOUCH
          - Cypress TrueTouch panels
          - Hanvon dual touch panels
          - IrTouch Infrared USB panels
+         - PenMount dual touch panels
          - Pixcir dual touch panels
          - 'Sensing Win7-TwoFinger' panel by GeneralTouch
           - eGalax dual-touch panels, including the
index c3d6626..6e31b9f 100644 (file)
@@ -1438,6 +1438,7 @@ static const struct hid_device_id hid_have_special_driver[] = {
        { HID_USB_DEVICE(USB_VENDOR_ID_NTRIG, USB_DEVICE_ID_NTRIG_TOUCH_SCREEN_18) },
        { HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_PKB1700) },
        { HID_USB_DEVICE(USB_VENDOR_ID_ORTEK, USB_DEVICE_ID_ORTEK_WKB2000) },
+       { HID_USB_DEVICE(USB_VENDOR_ID_PENMOUNT, USB_DEVICE_ID_PENMOUNT_PCI) },
        { HID_USB_DEVICE(USB_VENDOR_ID_PETALYNX, USB_DEVICE_ID_PETALYNX_MAXTER_REMOTE) },
        { HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_QUANTA_OPTICAL_TOUCH) },
        { HID_USB_DEVICE(USB_VENDOR_ID_QUANTA, USB_DEVICE_ID_PIXART_IMAGING_INC_OPTICAL_TOUCH_SCREEN) },
index d485894..252aeba 100644 (file)
 #define USB_VENDOR_ID_PANTHERLORD      0x0810
 #define USB_DEVICE_ID_PANTHERLORD_TWIN_USB_JOYSTICK    0x0001
 
+#define USB_VENDOR_ID_PENMOUNT         0x14e1
+#define USB_DEVICE_ID_PENMOUNT_PCI     0x3500
+
 #define USB_VENDOR_ID_PETALYNX         0x18b1
 #define USB_DEVICE_ID_PETALYNX_MAXTER_REMOTE   0x0037
 
index 6005e78..51b5d27 100644 (file)
@@ -89,6 +89,7 @@ struct mt_class {
 #define MT_CLS_EGALAX                          5
 #define MT_CLS_STANTUM                         6
 #define MT_CLS_3M                              7
+#define MT_CLS_CONFIDENCE                      8
 
 #define MT_DEFAULT_MAXCONTACT  10
 
@@ -156,6 +157,8 @@ struct mt_class mt_classes[] = {
                .sn_move = 2048,
                .sn_width = 128,
                .sn_height = 128 },
+       { .name = MT_CLS_CONFIDENCE,
+               .quirks = MT_QUIRK_VALID_IS_CONFIDENCE },
 
        { }
 };
@@ -584,6 +587,11 @@ static const struct hid_device_id mt_devices[] = {
                HID_USB_DEVICE(USB_VENDOR_ID_IRTOUCHSYSTEMS,
                        USB_DEVICE_ID_IRTOUCH_INFRARED_USB) },
 
+       /* PenMount panels */
+       { .driver_data = MT_CLS_CONFIDENCE,
+               HID_USB_DEVICE(USB_VENDOR_ID_PENMOUNT,
+                       USB_DEVICE_ID_PENMOUNT_PCI) },
+
        /* PixCir-based panels */
        { .driver_data = MT_CLS_DUAL_INRANGE_CONTACTID,
                HID_USB_DEVICE(USB_VENDOR_ID_HANVON,