|
@@ -1411,17 +1411,54 @@ void hid_init_reports(struct hid_device *hid)
|
|
warn("timeout initializing reports");
|
|
warn("timeout initializing reports");
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+#define USB_VENDOR_ID_GTCO 0x078c
|
|
|
|
+#define USB_DEVICE_ID_GTCO_90 0x0090
|
|
|
|
+#define USB_DEVICE_ID_GTCO_100 0x0100
|
|
|
|
+#define USB_DEVICE_ID_GTCO_101 0x0101
|
|
|
|
+#define USB_DEVICE_ID_GTCO_103 0x0103
|
|
|
|
+#define USB_DEVICE_ID_GTCO_104 0x0104
|
|
|
|
+#define USB_DEVICE_ID_GTCO_105 0x0105
|
|
|
|
+#define USB_DEVICE_ID_GTCO_106 0x0106
|
|
|
|
+#define USB_DEVICE_ID_GTCO_107 0x0107
|
|
|
|
+#define USB_DEVICE_ID_GTCO_108 0x0108
|
|
|
|
+#define USB_DEVICE_ID_GTCO_200 0x0200
|
|
|
|
+#define USB_DEVICE_ID_GTCO_201 0x0201
|
|
|
|
+#define USB_DEVICE_ID_GTCO_202 0x0202
|
|
|
|
+#define USB_DEVICE_ID_GTCO_203 0x0203
|
|
|
|
+#define USB_DEVICE_ID_GTCO_204 0x0204
|
|
|
|
+#define USB_DEVICE_ID_GTCO_205 0x0205
|
|
|
|
+#define USB_DEVICE_ID_GTCO_206 0x0206
|
|
|
|
+#define USB_DEVICE_ID_GTCO_207 0x0207
|
|
|
|
+#define USB_DEVICE_ID_GTCO_300 0x0300
|
|
|
|
+#define USB_DEVICE_ID_GTCO_301 0x0301
|
|
|
|
+#define USB_DEVICE_ID_GTCO_302 0x0302
|
|
|
|
+#define USB_DEVICE_ID_GTCO_303 0x0303
|
|
|
|
+#define USB_DEVICE_ID_GTCO_304 0x0304
|
|
|
|
+#define USB_DEVICE_ID_GTCO_305 0x0305
|
|
|
|
+#define USB_DEVICE_ID_GTCO_306 0x0306
|
|
|
|
+#define USB_DEVICE_ID_GTCO_307 0x0307
|
|
|
|
+#define USB_DEVICE_ID_GTCO_308 0x0308
|
|
|
|
+#define USB_DEVICE_ID_GTCO_309 0x0309
|
|
|
|
+#define USB_DEVICE_ID_GTCO_400 0x0400
|
|
|
|
+#define USB_DEVICE_ID_GTCO_401 0x0401
|
|
|
|
+#define USB_DEVICE_ID_GTCO_402 0x0402
|
|
|
|
+#define USB_DEVICE_ID_GTCO_403 0x0403
|
|
|
|
+#define USB_DEVICE_ID_GTCO_404 0x0404
|
|
|
|
+#define USB_DEVICE_ID_GTCO_404 0x0405
|
|
|
|
+#define USB_DEVICE_ID_GTCO_500 0x0500
|
|
|
|
+#define USB_DEVICE_ID_GTCO_501 0x0501
|
|
|
|
+#define USB_DEVICE_ID_GTCO_502 0x0502
|
|
|
|
+#define USB_DEVICE_ID_GTCO_503 0x0503
|
|
|
|
+#define USB_DEVICE_ID_GTCO_504 0x0504
|
|
|
|
+#define USB_DEVICE_ID_GTCO_1000 0x1000
|
|
|
|
+#define USB_DEVICE_ID_GTCO_1001 0x1001
|
|
|
|
+#define USB_DEVICE_ID_GTCO_1002 0x1002
|
|
|
|
+#define USB_DEVICE_ID_GTCO_1003 0x1003
|
|
|
|
+#define USB_DEVICE_ID_GTCO_1004 0x1004
|
|
|
|
+#define USB_DEVICE_ID_GTCO_1005 0x1005
|
|
|
|
+#define USB_DEVICE_ID_GTCO_1006 0x1006
|
|
|
|
+
|
|
#define USB_VENDOR_ID_WACOM 0x056a
|
|
#define USB_VENDOR_ID_WACOM 0x056a
|
|
-#define USB_DEVICE_ID_WACOM_PENPARTNER 0x0000
|
|
|
|
-#define USB_DEVICE_ID_WACOM_GRAPHIRE 0x0010
|
|
|
|
-#define USB_DEVICE_ID_WACOM_INTUOS 0x0020
|
|
|
|
-#define USB_DEVICE_ID_WACOM_PL 0x0030
|
|
|
|
-#define USB_DEVICE_ID_WACOM_INTUOS2 0x0040
|
|
|
|
-#define USB_DEVICE_ID_WACOM_VOLITO 0x0060
|
|
|
|
-#define USB_DEVICE_ID_WACOM_PTU 0x0003
|
|
|
|
-#define USB_DEVICE_ID_WACOM_INTUOS3 0x00B0
|
|
|
|
-#define USB_DEVICE_ID_WACOM_CINTIQ 0x003F
|
|
|
|
-#define USB_DEVICE_ID_WACOM_DTF 0x00C0
|
|
|
|
|
|
|
|
#define USB_VENDOR_ID_ACECAD 0x0460
|
|
#define USB_VENDOR_ID_ACECAD 0x0460
|
|
#define USB_DEVICE_ID_ACECAD_FLAIR 0x0004
|
|
#define USB_DEVICE_ID_ACECAD_FLAIR 0x0004
|
|
@@ -1588,6 +1625,51 @@ static const struct hid_blacklist {
|
|
{ USB_VENDOR_ID_GLAB, USB_DEVICE_ID_0_8_8_IF_KIT, HID_QUIRK_IGNORE },
|
|
{ USB_VENDOR_ID_GLAB, USB_DEVICE_ID_0_8_8_IF_KIT, HID_QUIRK_IGNORE },
|
|
{ USB_VENDOR_ID_GRIFFIN, USB_DEVICE_ID_POWERMATE, HID_QUIRK_IGNORE },
|
|
{ USB_VENDOR_ID_GRIFFIN, USB_DEVICE_ID_POWERMATE, HID_QUIRK_IGNORE },
|
|
{ USB_VENDOR_ID_GRIFFIN, USB_DEVICE_ID_SOUNDKNOB, HID_QUIRK_IGNORE },
|
|
{ USB_VENDOR_ID_GRIFFIN, USB_DEVICE_ID_SOUNDKNOB, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_90, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_100, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_101, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_103, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_104, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_105, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_106, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_107, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_108, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_200, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_201, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_202, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_203, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_204, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_205, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_206, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_207, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_300, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_301, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_302, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_303, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_304, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_305, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_306, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_307, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_308, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_309, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_400, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_401, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_402, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_403, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_404, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_404, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_500, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_501, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_502, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_503, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_504, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1000, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1001, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1002, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1003, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1004, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1005, HID_QUIRK_IGNORE },
|
|
|
|
+ { USB_VENDOR_ID_GTCO, USB_DEVICE_ID_GTCO_1006, HID_QUIRK_IGNORE },
|
|
{ USB_VENDOR_ID_KBGEAR, USB_DEVICE_ID_KBGEAR_JAMSTUDIO, HID_QUIRK_IGNORE },
|
|
{ USB_VENDOR_ID_KBGEAR, USB_DEVICE_ID_KBGEAR_JAMSTUDIO, HID_QUIRK_IGNORE },
|
|
{ USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_CASSY, HID_QUIRK_IGNORE },
|
|
{ USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_CASSY, HID_QUIRK_IGNORE },
|
|
{ USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_POCKETCASSY, HID_QUIRK_IGNORE },
|
|
{ USB_VENDOR_ID_LD, USB_DEVICE_ID_LD_POCKETCASSY, HID_QUIRK_IGNORE },
|
|
@@ -1617,49 +1699,6 @@ static const struct hid_blacklist {
|
|
{ USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_GOTEMP, HID_QUIRK_IGNORE },
|
|
{ USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_GOTEMP, HID_QUIRK_IGNORE },
|
|
{ USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_SKIP, HID_QUIRK_IGNORE },
|
|
{ USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_SKIP, HID_QUIRK_IGNORE },
|
|
{ USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_CYCLOPS, HID_QUIRK_IGNORE },
|
|
{ USB_VENDOR_ID_VERNIER, USB_DEVICE_ID_VERNIER_CYCLOPS, HID_QUIRK_IGNORE },
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PENPARTNER, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE + 1, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE + 2, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE + 3, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE + 4, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS + 1, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS + 2, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS + 3, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS + 4, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 1, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 2, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 3, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 4, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 5, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 7, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 8, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PL + 9, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 1, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 2, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 3, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 4, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 5, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS2 + 7, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_VOLITO, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_VOLITO + 1, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_VOLITO + 2, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_VOLITO + 3, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_VOLITO + 4, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE + 5, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_GRAPHIRE + 6, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_PTU, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3 + 1, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3 + 2, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3 + 3, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3 + 4, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_INTUOS3 + 5, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_CINTIQ, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_DTF, HID_QUIRK_IGNORE },
|
|
|
|
- { USB_VENDOR_ID_WACOM, USB_DEVICE_ID_WACOM_DTF + 3, HID_QUIRK_IGNORE },
|
|
|
|
{ USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_4_PHIDGETSERVO_20, HID_QUIRK_IGNORE },
|
|
{ USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_4_PHIDGETSERVO_20, HID_QUIRK_IGNORE },
|
|
{ USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_1_PHIDGETSERVO_20, HID_QUIRK_IGNORE },
|
|
{ USB_VENDOR_ID_WISEGROUP, USB_DEVICE_ID_1_PHIDGETSERVO_20, HID_QUIRK_IGNORE },
|
|
{ USB_VENDOR_ID_YEALINK, USB_DEVICE_ID_YEALINK_P1K_P4K_B2K, HID_QUIRK_IGNORE },
|
|
{ USB_VENDOR_ID_YEALINK, USB_DEVICE_ID_YEALINK_P1K_P4K_B2K, HID_QUIRK_IGNORE },
|
|
@@ -1778,6 +1817,10 @@ static struct hid_device *usb_hid_configure(struct usb_interface *intf)
|
|
char *rdesc;
|
|
char *rdesc;
|
|
int n, len, insize = 0;
|
|
int n, len, insize = 0;
|
|
|
|
|
|
|
|
+ /* Ignore all Wacom devices */
|
|
|
|
+ if (dev->descriptor.idVendor == USB_VENDOR_ID_WACOM)
|
|
|
|
+ return NULL;
|
|
|
|
+
|
|
for (n = 0; hid_blacklist[n].idVendor; n++)
|
|
for (n = 0; hid_blacklist[n].idVendor; n++)
|
|
if ((hid_blacklist[n].idVendor == le16_to_cpu(dev->descriptor.idVendor)) &&
|
|
if ((hid_blacklist[n].idVendor == le16_to_cpu(dev->descriptor.idVendor)) &&
|
|
(hid_blacklist[n].idProduct == le16_to_cpu(dev->descriptor.idProduct)))
|
|
(hid_blacklist[n].idProduct == le16_to_cpu(dev->descriptor.idProduct)))
|