summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2013-08-31 14:35:58 +1000
committerPeter Hutterer <peter.hutterer@who-t.net>2013-09-05 08:56:52 +1000
commit39c4c7fca7db19ac550332fa53d0d4f58a26f67f (patch)
tree07456267a3cfce51ccade2b1eb8ed143e608744a
parent3f95c4c58afd25e7c8a3ab18dad936f615cfd189 (diff)
downloadxf86-input-wacom-39c4c7fca7db19ac550332fa53d0d4f58a26f67f.tar.gz
Print list of supported models on wcmPlug
When the driver starts, print the list of supported models. This should help with any questions like "does my driver support this or that model". For those models that don't have a defined name, print "usb:1234:5678" instead, so users can at least try to match the usb IDs. Sample log output: [ 25950.166] (II) wacom: Driver for Wacom graphics tablets: PenPartner, PenPartner, Graphire, Graphire2 4x5, Graphire2 5x7, Graphire3 4x5, Graphire3 6x8, Graphire4 4x5, Graphire4 6x8, BambooFun 4x5, BambooFun 6x8, Bamboo1 Medium, Graphire4 6x8 BlueTooth, CTL-460, CTH-461, CTL-660, CTL-461/S, Bamboo Touch, CTH-460/K, CTH-461/S, CTH-661/S1, CTH-461/L, CTH-661/L, Intuos 4x5, Intuos 6x8, Intuos 9x12, Intuos 12x12, Intuos 12x18, PTU600, PL400, PL500, PL600, PL600SX, PL550, PL800, PL700, PL510, PL710, DTI520, DTF720, DTF720a, DTF521, DTU1931, DTU2231, DTU1631, Intuos2 4x5, Intuos2 6x8, Intuos2 9x12, Intuos2 12x12, Intuos2 12x18, Intuos2 6x8 , Volito, PenStation, Volito2 4x5, Volito2 2x3, PenPartner2, Bamboo, Bamboo1, Bamboo1 4x6, Bamboo1 5x8, Intuos3 4x5, Intuos3 6x8, Intuos3 9x12, Intuos3 12x12, Intuos3 12x19, Intuos3 6x11, Intuos3 4x6, Intuos4 4x6, Intuos4 6x9, Intuos4 8x13, Intuos4 12x19, Intuos4 WL USB Endpoint, Intuos4 WL Bluetooth Endpoint, Intuos5 touch S, Intuos5 touch M, Intuos5 touch L, Intuos5 S, Intuos5 M, Cintiq 21UX, Cintiq 20WSX, Cintiq 12WX, Cintiq 21UX2, Cintiq 24HD, Cintiq 22HD, Cintiq 24HD touch (EMR digitizer), Cintiq 13HD, DTK2241, DTH2242, Cintiq 22HDT, TabletPC 0x90, TabletPC 0x93, TabletPC 0x97, TabletPC 0x9A, CapPlus 0x9F, TabletPC 0xE2, TabletPC 0xE3, TabletPC 0xE5, TabletPC 0xE6, TabletPC 0xEC, TabletPC 0xED, TabletPC 0xEF, TabletPC 0x100, TabletPC 0x101, TabletPC 0x10D, TabletPC 0x4001, usb:172f:0024, usb:172f:0025, usb:172f:0026, usb:172f:0027, usb:172f:0028, usb:172f:0030, usb:172f:0031, usb:172f:0032, usb:172f:0033, usb:172f:0034, usb:172f:0035, usb:172f:0036, usb:172f:0037, usb:172f:0038, usb:172f:0039, usb:172f:0051, usb:172f:0052, usb:172f:0053, usb:172f:0054, usb:172f:0055, usb:172f:0056, usb:172f:0057, usb:172f:0058, usb:172f:0500, usb:172f:0501, usb:172f:0502, usb:172f:0503, usb:1b96:0001, usb:17ef:6004 [ 25950.167] (II) Using input driver 'wacom' for 'Wacom Intuos4 6x9' Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net> Acked-by: Ping Cheng <pinglinux@gmail.com>
-rw-r--r--src/wcmConfig.c3
-rw-r--r--src/wcmUSB.c339
-rw-r--r--src/xf86Wacom.h1
3 files changed, 195 insertions, 148 deletions
diff --git a/src/wcmConfig.c b/src/wcmConfig.c
index 1955661..2d19944 100644
--- a/src/wcmConfig.c
+++ b/src/wcmConfig.c
@@ -659,6 +659,9 @@ static pointer wcmPlug(pointer module, pointer options, int* errmaj,
int* errmin)
{
xf86AddInputDriver(&WACOM, module, 0);
+
+ usbListModels();
+
return module;
}
diff --git a/src/wcmUSB.c b/src/wcmUSB.c
index f1504cf..068b306 100644
--- a/src/wcmUSB.c
+++ b/src/wcmUSB.c
@@ -172,172 +172,215 @@ static unsigned short mouse_codes [] = {
BTN_SIDE, BTN_EXTRA
};
-static struct
+static struct WacomModelDesc
{
const unsigned int vendor_id;
const unsigned int model_id;
int yRes; /* tablet Y resolution in units/meter */
int xRes; /* tablet X resolution in units/meter */
WacomModelPtr model;
+ const char *name;
} WacomModelDesc [] =
{
- { WACOM_VENDOR_ID, 0x00, 39370, 39370, &usbPenPartner }, /* PenPartner */
- { WACOM_VENDOR_ID, 0x10, 80000, 80000, &usbGraphire }, /* Graphire */
- { WACOM_VENDOR_ID, 0x11, 80000, 80000, &usbGraphire2 }, /* Graphire2 4x5 */
- { WACOM_VENDOR_ID, 0x12, 80000, 80000, &usbGraphire2 }, /* Graphire2 5x7 */
- { WACOM_VENDOR_ID, 0x13, 80000, 80000, &usbGraphire3 }, /* Graphire3 4x5 */
- { WACOM_VENDOR_ID, 0x14, 80000, 80000, &usbGraphire3 }, /* Graphire3 6x8 */
- { WACOM_VENDOR_ID, 0x15, 80000, 80000, &usbGraphire4 }, /* Graphire4 4x5 */
- { WACOM_VENDOR_ID, 0x16, 80000, 80000, &usbGraphire4 }, /* Graphire4 6x8 */
- { WACOM_VENDOR_ID, 0x17, 100000, 100000, &usbBambooFun }, /* BambooFun 4x5 */
- { WACOM_VENDOR_ID, 0x18, 100000, 100000, &usbBambooFun }, /* BambooFun 6x8 */
- { WACOM_VENDOR_ID, 0x19, 80000, 80000, &usbBamboo1 }, /* Bamboo1 Medium*/
- { WACOM_VENDOR_ID, 0x81, 80000, 80000, &usbGraphire4 }, /* Graphire4 6x8 BlueTooth */
-
- { WACOM_VENDOR_ID, 0xD1, 100000, 100000, &usbBamboo }, /* CTL-460 */
- { WACOM_VENDOR_ID, 0xD4, 100000, 100000, &usbBamboo }, /* CTH-461 */
- { WACOM_VENDOR_ID, 0xD3, 100000, 100000, &usbBamboo }, /* CTL-660 */
- { WACOM_VENDOR_ID, 0xD2, 100000, 100000, &usbBamboo }, /* CTL-461/S */
- { WACOM_VENDOR_ID, 0xD0, 100000, 100000, &usbBamboo }, /* Bamboo Touch */
- { WACOM_VENDOR_ID, 0xD6, 100000, 100000, &usbBamboo }, /* CTH-460/K */
- { WACOM_VENDOR_ID, 0xD7, 100000, 100000, &usbBamboo }, /* CTH-461/S */
- { WACOM_VENDOR_ID, 0xD8, 100000, 100000, &usbBamboo }, /* CTH-661/S1 */
- { WACOM_VENDOR_ID, 0xDA, 100000, 100000, &usbBamboo }, /* CTH-461/L */
- { WACOM_VENDOR_ID, 0xDB, 100000, 100000, &usbBamboo }, /* CTH-661/L */
-
- { WACOM_VENDOR_ID, 0x20, 100000, 100000, &usbIntuos }, /* Intuos 4x5 */
- { WACOM_VENDOR_ID, 0x21, 100000, 100000, &usbIntuos }, /* Intuos 6x8 */
- { WACOM_VENDOR_ID, 0x22, 100000, 100000, &usbIntuos }, /* Intuos 9x12 */
- { WACOM_VENDOR_ID, 0x23, 100000, 100000, &usbIntuos }, /* Intuos 12x12 */
- { WACOM_VENDOR_ID, 0x24, 100000, 100000, &usbIntuos }, /* Intuos 12x18 */
-
- { WACOM_VENDOR_ID, 0x03, 20000, 20000, &usbCintiqPartner }, /* PTU600 */
-
- { WACOM_VENDOR_ID, 0x30, 20000, 20000, &usbCintiq }, /* PL400 */
- { WACOM_VENDOR_ID, 0x31, 20000, 20000, &usbCintiq }, /* PL500 */
- { WACOM_VENDOR_ID, 0x32, 20000, 20000, &usbCintiq }, /* PL600 */
- { WACOM_VENDOR_ID, 0x33, 20000, 20000, &usbCintiq }, /* PL600SX */
- { WACOM_VENDOR_ID, 0x34, 20000, 20000, &usbCintiq }, /* PL550 */
- { WACOM_VENDOR_ID, 0x35, 20000, 20000, &usbCintiq }, /* PL800 */
- { WACOM_VENDOR_ID, 0x37, 20000, 20000, &usbCintiq }, /* PL700 */
- { WACOM_VENDOR_ID, 0x38, 20000, 20000, &usbCintiq }, /* PL510 */
- { WACOM_VENDOR_ID, 0x39, 20000, 20000, &usbCintiq }, /* PL710 */
- { WACOM_VENDOR_ID, 0x3A, 20000, 20000, &usbCintiq }, /* DTI520 */
- { WACOM_VENDOR_ID, 0xC0, 20000, 20000, &usbCintiq }, /* DTF720 */
- { WACOM_VENDOR_ID, 0xC2, 20000, 20000, &usbCintiq }, /* DTF720a */
- { WACOM_VENDOR_ID, 0xC4, 20000, 20000, &usbCintiq }, /* DTF521 */
- { WACOM_VENDOR_ID, 0xC7, 100000, 100000, &usbCintiq }, /* DTU1931 */
- { WACOM_VENDOR_ID, 0xCE, 100000, 100000, &usbCintiq }, /* DTU2231 */
- { WACOM_VENDOR_ID, 0xF0, 100000, 100000, &usbCintiq }, /* DTU1631 */
-
- { WACOM_VENDOR_ID, 0x41, 100000, 100000, &usbIntuos2 }, /* Intuos2 4x5 */
- { WACOM_VENDOR_ID, 0x42, 100000, 100000, &usbIntuos2 }, /* Intuos2 6x8 */
- { WACOM_VENDOR_ID, 0x43, 100000, 100000, &usbIntuos2 }, /* Intuos2 9x12 */
- { WACOM_VENDOR_ID, 0x44, 100000, 100000, &usbIntuos2 }, /* Intuos2 12x12 */
- { WACOM_VENDOR_ID, 0x45, 100000, 100000, &usbIntuos2 }, /* Intuos2 12x18 */
- { WACOM_VENDOR_ID, 0x47, 100000, 100000, &usbIntuos2 }, /* Intuos2 6x8 */
-
- { WACOM_VENDOR_ID, 0x60, 50000, 50000, &usbVolito }, /* Volito */
-
- { WACOM_VENDOR_ID, 0x61, 50000, 50000, &usbVolito2 }, /* PenStation */
- { WACOM_VENDOR_ID, 0x62, 50000, 50000, &usbVolito2 }, /* Volito2 4x5 */
- { WACOM_VENDOR_ID, 0x63, 50000, 50000, &usbVolito2 }, /* Volito2 2x3 */
- { WACOM_VENDOR_ID, 0x64, 50000, 50000, &usbVolito2 }, /* PenPartner2 */
-
- { WACOM_VENDOR_ID, 0x65, 100000, 100000, &usbBamboo }, /* Bamboo */
- { WACOM_VENDOR_ID, 0x69, 39842, 39842, &usbBamboo1 }, /* Bamboo1 */
- { WACOM_VENDOR_ID, 0x6A, 100000, 100000, &usbBamboo1 }, /* Bamboo1 4x6 */
- { WACOM_VENDOR_ID, 0x6B, 100000, 100000, &usbBamboo1 }, /* Bamboo1 5x8 */
-
- { WACOM_VENDOR_ID, 0xB0, 200000, 200000, &usbIntuos3 }, /* Intuos3 4x5 */
- { WACOM_VENDOR_ID, 0xB1, 200000, 200000, &usbIntuos3 }, /* Intuos3 6x8 */
- { WACOM_VENDOR_ID, 0xB2, 200000, 200000, &usbIntuos3 }, /* Intuos3 9x12 */
- { WACOM_VENDOR_ID, 0xB3, 200000, 200000, &usbIntuos3 }, /* Intuos3 12x12 */
- { WACOM_VENDOR_ID, 0xB4, 200000, 200000, &usbIntuos3 }, /* Intuos3 12x19 */
- { WACOM_VENDOR_ID, 0xB5, 200000, 200000, &usbIntuos3 }, /* Intuos3 6x11 */
- { WACOM_VENDOR_ID, 0xB7, 200000, 200000, &usbIntuos3 }, /* Intuos3 4x6 */
-
- { WACOM_VENDOR_ID, 0xB8, 200000, 200000, &usbIntuos4 }, /* Intuos4 4x6 */
- { WACOM_VENDOR_ID, 0xB9, 200000, 200000, &usbIntuos4 }, /* Intuos4 6x9 */
- { WACOM_VENDOR_ID, 0xBA, 200000, 200000, &usbIntuos4 }, /* Intuos4 8x13 */
- { WACOM_VENDOR_ID, 0xBB, 200000, 200000, &usbIntuos4 }, /* Intuos4 12x19*/
- { WACOM_VENDOR_ID, 0xBC, 200000, 200000, &usbIntuos4 }, /* Intuos4 WL USB Endpoint */
- { WACOM_VENDOR_ID, 0xBD, 200000, 200000, &usbIntuos4 }, /* Intuos4 WL Bluetooth Endpoint */
-
- { WACOM_VENDOR_ID, 0x26, 200000, 200000, &usbIntuos5 }, /* Intuos5 touch S */
- { WACOM_VENDOR_ID, 0x27, 200000, 200000, &usbIntuos5 }, /* Intuos5 touch M */
- { WACOM_VENDOR_ID, 0x28, 200000, 200000, &usbIntuos5 }, /* Intuos5 touch L */
- { WACOM_VENDOR_ID, 0x29, 200000, 200000, &usbIntuos5 }, /* Intuos5 S */
- { WACOM_VENDOR_ID, 0x2A, 200000, 200000, &usbIntuos5 }, /* Intuos5 M */
-
- { WACOM_VENDOR_ID, 0x3F, 200000, 200000, &usbCintiqV5 }, /* Cintiq 21UX */
- { WACOM_VENDOR_ID, 0xC5, 200000, 200000, &usbCintiqV5 }, /* Cintiq 20WSX */
- { WACOM_VENDOR_ID, 0xC6, 200000, 200000, &usbCintiqV5 }, /* Cintiq 12WX */
- { WACOM_VENDOR_ID, 0xCC, 200000, 200000, &usbCintiqV5 }, /* Cintiq 21UX2 */
- { WACOM_VENDOR_ID, 0xF4, 200000, 200000, &usbCintiqV5 }, /* Cintiq 24HD */
- { WACOM_VENDOR_ID, 0xFA, 200000, 200000, &usbCintiqV5 }, /* Cintiq 22HD */
- { WACOM_VENDOR_ID, 0xF8, 200000, 200000, &usbCintiqV5 }, /* Cintiq 24HD touch (EMR digitizer) */
- { WACOM_VENDOR_ID, 0x304,200000, 200000, &usbCintiqV5 }, /* Cintiq 13HD */
- { WACOM_VENDOR_ID, 0x57, 200000, 200000, &usbCintiqV5 }, /* DTK2241 */
- { WACOM_VENDOR_ID, 0x59, 200000, 200000, &usbCintiqV5 }, /* DTH2242 */
- { WACOM_VENDOR_ID, 0x5B, 200000, 200000, &usbCintiqV5 }, /* Cintiq 22HDT */
-
- { WACOM_VENDOR_ID, 0x90, 100000, 100000, &usbTabletPC }, /* TabletPC 0x90 */
- { WACOM_VENDOR_ID, 0x93, 100000, 100000, &usbTabletPC }, /* TabletPC 0x93 */
- { WACOM_VENDOR_ID, 0x97, 100000, 100000, &usbTabletPC }, /* TabletPC 0x97 */
- { WACOM_VENDOR_ID, 0x9A, 100000, 100000, &usbTabletPC }, /* TabletPC 0x9A */
- { WACOM_VENDOR_ID, 0x9F, 100000, 100000, &usbTabletPC }, /* CapPlus 0x9F */
- { WACOM_VENDOR_ID, 0xE2, 100000, 100000, &usbTabletPC }, /* TabletPC 0xE2 */
- { WACOM_VENDOR_ID, 0xE3, 100000, 100000, &usbTabletPC }, /* TabletPC 0xE3 */
- { WACOM_VENDOR_ID, 0xE5, 100000, 100000, &usbTabletPC }, /* TabletPC 0xE5 */
- { WACOM_VENDOR_ID, 0xE6, 100000, 100000, &usbTabletPC }, /* TabletPC 0xE6 */
- { WACOM_VENDOR_ID, 0xEC, 100000, 100000, &usbTabletPC }, /* TabletPC 0xEC */
- { WACOM_VENDOR_ID, 0xED, 100000, 100000, &usbTabletPC }, /* TabletPC 0xED */
- { WACOM_VENDOR_ID, 0xEF, 100000, 100000, &usbTabletPC }, /* TabletPC 0xEF */
- { WACOM_VENDOR_ID, 0x100,100000, 100000, &usbTabletPC }, /* TabletPC 0x100 */
- { WACOM_VENDOR_ID, 0x101,100000, 100000, &usbTabletPC }, /* TabletPC 0x101 */
- { WACOM_VENDOR_ID, 0x10D,100000, 100000, &usbTabletPC }, /* TabletPC 0x10D */
- { WACOM_VENDOR_ID, 0x4001,100000, 100000, &usbTabletPC }, /* TabletPC 0x4001 */
+ { WACOM_VENDOR_ID, 0x00, 39370, 39370, &usbPenPartner, "PenPartner" },
+ { WACOM_VENDOR_ID, 0x10, 80000, 80000, &usbGraphire, "Graphire" },
+ { WACOM_VENDOR_ID, 0x11, 80000, 80000, &usbGraphire2, "Graphire2 4x5" },
+ { WACOM_VENDOR_ID, 0x12, 80000, 80000, &usbGraphire2, "Graphire2 5x7" },
+ { WACOM_VENDOR_ID, 0x13, 80000, 80000, &usbGraphire3, "Graphire3 4x5" },
+ { WACOM_VENDOR_ID, 0x14, 80000, 80000, &usbGraphire3, "Graphire3 6x8" },
+ { WACOM_VENDOR_ID, 0x15, 80000, 80000, &usbGraphire4, "Graphire4 4x5" },
+ { WACOM_VENDOR_ID, 0x16, 80000, 80000, &usbGraphire4, "Graphire4 6x8" },
+ { WACOM_VENDOR_ID, 0x17, 100000, 100000, &usbBambooFun, "BambooFun 4x5" },
+ { WACOM_VENDOR_ID, 0x18, 100000, 100000, &usbBambooFun, "BambooFun 6x8" },
+ { WACOM_VENDOR_ID, 0x19, 80000, 80000, &usbBamboo1, "Bamboo1 Medium" },
+ { WACOM_VENDOR_ID, 0x81, 80000, 80000, &usbGraphire4, "Graphire4 6x8 BlueTooth" },
+
+ { WACOM_VENDOR_ID, 0xD1, 100000, 100000, &usbBamboo, "CTL-460" },
+ { WACOM_VENDOR_ID, 0xD4, 100000, 100000, &usbBamboo, "CTH-461" },
+ { WACOM_VENDOR_ID, 0xD3, 100000, 100000, &usbBamboo, "CTL-660" },
+ { WACOM_VENDOR_ID, 0xD2, 100000, 100000, &usbBamboo, "CTL-461/S" },
+ { WACOM_VENDOR_ID, 0xD0, 100000, 100000, &usbBamboo, "Bamboo Touch" },
+ { WACOM_VENDOR_ID, 0xD6, 100000, 100000, &usbBamboo, "CTH-460/K" },
+ { WACOM_VENDOR_ID, 0xD7, 100000, 100000, &usbBamboo, "CTH-461/S" },
+ { WACOM_VENDOR_ID, 0xD8, 100000, 100000, &usbBamboo, "CTH-661/S1" },
+ { WACOM_VENDOR_ID, 0xDA, 100000, 100000, &usbBamboo, "CTH-461/L" },
+ { WACOM_VENDOR_ID, 0xDB, 100000, 100000, &usbBamboo, "CTH-661/L" },
+
+ { WACOM_VENDOR_ID, 0x20, 100000, 100000, &usbIntuos, "Intuos 4x5" },
+ { WACOM_VENDOR_ID, 0x21, 100000, 100000, &usbIntuos, "Intuos 6x8" },
+ { WACOM_VENDOR_ID, 0x22, 100000, 100000, &usbIntuos, "Intuos 9x12" },
+ { WACOM_VENDOR_ID, 0x23, 100000, 100000, &usbIntuos, "Intuos 12x12" },
+ { WACOM_VENDOR_ID, 0x24, 100000, 100000, &usbIntuos, "Intuos 12x18" },
+
+ { WACOM_VENDOR_ID, 0x03, 20000, 20000, &usbCintiqPartner, "PTU600" },
+
+ { WACOM_VENDOR_ID, 0x30, 20000, 20000, &usbCintiq, "PL400" },
+ { WACOM_VENDOR_ID, 0x31, 20000, 20000, &usbCintiq, "PL500" },
+ { WACOM_VENDOR_ID, 0x32, 20000, 20000, &usbCintiq, "PL600" },
+ { WACOM_VENDOR_ID, 0x33, 20000, 20000, &usbCintiq, "PL600SX" },
+ { WACOM_VENDOR_ID, 0x34, 20000, 20000, &usbCintiq, "PL550" },
+ { WACOM_VENDOR_ID, 0x35, 20000, 20000, &usbCintiq, "PL800" },
+ { WACOM_VENDOR_ID, 0x37, 20000, 20000, &usbCintiq, "PL700" },
+ { WACOM_VENDOR_ID, 0x38, 20000, 20000, &usbCintiq, "PL510" },
+ { WACOM_VENDOR_ID, 0x39, 20000, 20000, &usbCintiq, "PL710" },
+ { WACOM_VENDOR_ID, 0x3A, 20000, 20000, &usbCintiq, "DTI520" },
+ { WACOM_VENDOR_ID, 0xC0, 20000, 20000, &usbCintiq, "DTF720" },
+ { WACOM_VENDOR_ID, 0xC2, 20000, 20000, &usbCintiq, "DTF720a" },
+ { WACOM_VENDOR_ID, 0xC4, 20000, 20000, &usbCintiq, "DTF521" },
+ { WACOM_VENDOR_ID, 0xC7, 100000, 100000, &usbCintiq, "DTU1931" },
+ { WACOM_VENDOR_ID, 0xCE, 100000, 100000, &usbCintiq, "DTU2231" },
+ { WACOM_VENDOR_ID, 0xF0, 100000, 100000, &usbCintiq, "DTU1631" },
+
+ { WACOM_VENDOR_ID, 0x41, 100000, 100000, &usbIntuos2, "Intuos2 4x5" },
+ { WACOM_VENDOR_ID, 0x42, 100000, 100000, &usbIntuos2, "Intuos2 6x8" },
+ { WACOM_VENDOR_ID, 0x43, 100000, 100000, &usbIntuos2, "Intuos2 9x12" },
+ { WACOM_VENDOR_ID, 0x44, 100000, 100000, &usbIntuos2, "Intuos2 12x12" },
+ { WACOM_VENDOR_ID, 0x45, 100000, 100000, &usbIntuos2, "Intuos2 12x18" },
+ { WACOM_VENDOR_ID, 0x47, 100000, 100000, &usbIntuos2, "Intuos2 6x8 " },
+
+ { WACOM_VENDOR_ID, 0x60, 50000, 50000, &usbVolito, "Volito" },
+
+ { WACOM_VENDOR_ID, 0x61, 50000, 50000, &usbVolito2, "PenStation" },
+ { WACOM_VENDOR_ID, 0x62, 50000, 50000, &usbVolito2, "Volito2 4x5" },
+ { WACOM_VENDOR_ID, 0x63, 50000, 50000, &usbVolito2, "Volito2 2x3" },
+ { WACOM_VENDOR_ID, 0x64, 50000, 50000, &usbVolito2, "PenPartner2" },
+
+ { WACOM_VENDOR_ID, 0x65, 100000, 100000, &usbBamboo, "Bamboo" },
+ { WACOM_VENDOR_ID, 0x69, 39842, 39842, &usbBamboo1, "Bamboo1" },
+ { WACOM_VENDOR_ID, 0x6A, 100000, 100000, &usbBamboo1, "Bamboo1 4x6" },
+ { WACOM_VENDOR_ID, 0x6B, 100000, 100000, &usbBamboo1, "Bamboo1 5x8" },
+
+ { WACOM_VENDOR_ID, 0xB0, 200000, 200000, &usbIntuos3, "Intuos3 4x5" },
+ { WACOM_VENDOR_ID, 0xB1, 200000, 200000, &usbIntuos3, "Intuos3 6x8" },
+ { WACOM_VENDOR_ID, 0xB2, 200000, 200000, &usbIntuos3, "Intuos3 9x12" },
+ { WACOM_VENDOR_ID, 0xB3, 200000, 200000, &usbIntuos3, "Intuos3 12x12" },
+ { WACOM_VENDOR_ID, 0xB4, 200000, 200000, &usbIntuos3, "Intuos3 12x19" },
+ { WACOM_VENDOR_ID, 0xB5, 200000, 200000, &usbIntuos3, "Intuos3 6x11" },
+ { WACOM_VENDOR_ID, 0xB7, 200000, 200000, &usbIntuos3, "Intuos3 4x6" },
+
+ { WACOM_VENDOR_ID, 0xB8, 200000, 200000, &usbIntuos4, "Intuos4 4x6" },
+ { WACOM_VENDOR_ID, 0xB9, 200000, 200000, &usbIntuos4, "Intuos4 6x9" },
+ { WACOM_VENDOR_ID, 0xBA, 200000, 200000, &usbIntuos4, "Intuos4 8x13" },
+ { WACOM_VENDOR_ID, 0xBB, 200000, 200000, &usbIntuos4, "Intuos4 12x19" },
+ { WACOM_VENDOR_ID, 0xBC, 200000, 200000, &usbIntuos4, "Intuos4 WL USB Endpoint" },
+ { WACOM_VENDOR_ID, 0xBD, 200000, 200000, &usbIntuos4, "Intuos4 WL Bluetooth Endpoint"},
+
+ { WACOM_VENDOR_ID, 0x26, 200000, 200000, &usbIntuos5, "Intuos5 touch S" },
+ { WACOM_VENDOR_ID, 0x27, 200000, 200000, &usbIntuos5, "Intuos5 touch M" },
+ { WACOM_VENDOR_ID, 0x28, 200000, 200000, &usbIntuos5, "Intuos5 touch L" },
+ { WACOM_VENDOR_ID, 0x29, 200000, 200000, &usbIntuos5, "Intuos5 S" },
+ { WACOM_VENDOR_ID, 0x2A, 200000, 200000, &usbIntuos5, "Intuos5 M" },
+
+ { WACOM_VENDOR_ID, 0x3F, 200000, 200000, &usbCintiqV5, "Cintiq 21UX" },
+ { WACOM_VENDOR_ID, 0xC5, 200000, 200000, &usbCintiqV5, "Cintiq 20WSX" },
+ { WACOM_VENDOR_ID, 0xC6, 200000, 200000, &usbCintiqV5, "Cintiq 12WX" },
+ { WACOM_VENDOR_ID, 0xCC, 200000, 200000, &usbCintiqV5, "Cintiq 21UX2" },
+ { WACOM_VENDOR_ID, 0xF4, 200000, 200000, &usbCintiqV5, "Cintiq 24HD" },
+ { WACOM_VENDOR_ID, 0xFA, 200000, 200000, &usbCintiqV5, "Cintiq 22HD" },
+ { WACOM_VENDOR_ID, 0xF8, 200000, 200000, &usbCintiqV5, "Cintiq 24HD touch (EMR digitizer)" },
+ { WACOM_VENDOR_ID, 0x304,200000, 200000, &usbCintiqV5, "Cintiq 13HD" },
+ { WACOM_VENDOR_ID, 0x57, 200000, 200000, &usbCintiqV5, "DTK2241" },
+ { WACOM_VENDOR_ID, 0x59, 200000, 200000, &usbCintiqV5, "DTH2242" },
+ { WACOM_VENDOR_ID, 0x5B, 200000, 200000, &usbCintiqV5, "Cintiq 22HDT" },
+
+ { WACOM_VENDOR_ID, 0x90, 100000, 100000, &usbTabletPC, "TabletPC 0x90" },
+ { WACOM_VENDOR_ID, 0x93, 100000, 100000, &usbTabletPC, "TabletPC 0x93" },
+ { WACOM_VENDOR_ID, 0x97, 100000, 100000, &usbTabletPC, "TabletPC 0x97" },
+ { WACOM_VENDOR_ID, 0x9A, 100000, 100000, &usbTabletPC, "TabletPC 0x9A" },
+ { WACOM_VENDOR_ID, 0x9F, 100000, 100000, &usbTabletPC, "CapPlus 0x9F" },
+ { WACOM_VENDOR_ID, 0xE2, 100000, 100000, &usbTabletPC, "TabletPC 0xE2" },
+ { WACOM_VENDOR_ID, 0xE3, 100000, 100000, &usbTabletPC, "TabletPC 0xE3" },
+ { WACOM_VENDOR_ID, 0xE5, 100000, 100000, &usbTabletPC, "TabletPC 0xE5" },
+ { WACOM_VENDOR_ID, 0xE6, 100000, 100000, &usbTabletPC, "TabletPC 0xE6" },
+ { WACOM_VENDOR_ID, 0xEC, 100000, 100000, &usbTabletPC, "TabletPC 0xEC" },
+ { WACOM_VENDOR_ID, 0xED, 100000, 100000, &usbTabletPC, "TabletPC 0xED" },
+ { WACOM_VENDOR_ID, 0xEF, 100000, 100000, &usbTabletPC, "TabletPC 0xEF" },
+ { WACOM_VENDOR_ID, 0x100,100000, 100000, &usbTabletPC, "TabletPC 0x100" },
+ { WACOM_VENDOR_ID, 0x101,100000, 100000, &usbTabletPC, "TabletPC 0x101" },
+ { WACOM_VENDOR_ID, 0x10D,100000, 100000, &usbTabletPC, "TabletPC 0x10D" },
+ { WACOM_VENDOR_ID, 0x4001,100000, 100000, &usbTabletPC, "TabletPC 0x4001" },
/* IDs from Waltop's driver, available http://www.waltop.com.tw/download.asp?lv=0&id=2.
Accessed 8 Apr 2010, driver release date 2009/08/11, fork of linuxwacom 0.8.4.
Some more info would be nice for the ID's below... */
- { WALTOP_VENDOR_ID, 0x24, 80000, 80000, &usbGraphire },
- { WALTOP_VENDOR_ID, 0x25, 80000, 80000, &usbGraphire2 },
- { WALTOP_VENDOR_ID, 0x26, 80000, 80000, &usbGraphire2 },
- { WALTOP_VENDOR_ID, 0x27, 80000, 80000, &usbGraphire3 },
- { WALTOP_VENDOR_ID, 0x28, 80000, 80000, &usbGraphire3 },
- { WALTOP_VENDOR_ID, 0x30, 80000, 80000, &usbGraphire4 },
- { WALTOP_VENDOR_ID, 0x31, 80000, 80000, &usbGraphire4 },
- { WALTOP_VENDOR_ID, 0x32, 100000, 100000, &usbBambooFun },
- { WALTOP_VENDOR_ID, 0x33, 100000, 100000, &usbBambooFun },
- { WALTOP_VENDOR_ID, 0x34, 80000, 80000, &usbBamboo1 },
- { WALTOP_VENDOR_ID, 0x35, 80000, 80000, &usbGraphire4 },
- { WALTOP_VENDOR_ID, 0x36, 80000, 80000, &usbGraphire4 },
- { WALTOP_VENDOR_ID, 0x37, 80000, 80000, &usbGraphire4 },
- { WALTOP_VENDOR_ID, 0x38, 100000, 100000, &usbBambooFun },
- { WALTOP_VENDOR_ID, 0x39, 100000, 100000, &usbBambooFun },
- { WALTOP_VENDOR_ID, 0x51, 100000, 100000, &usbBamboo },
- { WALTOP_VENDOR_ID, 0x52, 100000, 100000, &usbBamboo },
-
- { WALTOP_VENDOR_ID, 0x53, 100000, 100000, &usbBamboo },
- { WALTOP_VENDOR_ID, 0x54, 100000, 100000, &usbBamboo },
- { WALTOP_VENDOR_ID, 0x55, 100000, 100000, &usbBamboo },
- { WALTOP_VENDOR_ID, 0x56, 100000, 100000, &usbBamboo },
- { WALTOP_VENDOR_ID, 0x57, 100000, 100000, &usbBamboo },
- { WALTOP_VENDOR_ID, 0x58, 100000, 100000, &usbBamboo },
- { WALTOP_VENDOR_ID, 0x500, 100000, 100000, &usbBamboo },
- { WALTOP_VENDOR_ID, 0x501, 100000, 100000, &usbBamboo },
- { WALTOP_VENDOR_ID, 0x502, 200000, 200000, &usbIntuos4 },
- { WALTOP_VENDOR_ID, 0x503, 200000, 200000, &usbIntuos4 },
+ { WALTOP_VENDOR_ID, 0x24, 80000, 80000, &usbGraphire, NULL },
+ { WALTOP_VENDOR_ID, 0x25, 80000, 80000, &usbGraphire2, NULL },
+ { WALTOP_VENDOR_ID, 0x26, 80000, 80000, &usbGraphire2, NULL },
+ { WALTOP_VENDOR_ID, 0x27, 80000, 80000, &usbGraphire3, NULL },
+ { WALTOP_VENDOR_ID, 0x28, 80000, 80000, &usbGraphire3, NULL },
+ { WALTOP_VENDOR_ID, 0x30, 80000, 80000, &usbGraphire4, NULL },
+ { WALTOP_VENDOR_ID, 0x31, 80000, 80000, &usbGraphire4, NULL },
+ { WALTOP_VENDOR_ID, 0x32, 100000, 100000, &usbBambooFun, NULL },
+ { WALTOP_VENDOR_ID, 0x33, 100000, 100000, &usbBambooFun, NULL },
+ { WALTOP_VENDOR_ID, 0x34, 80000, 80000, &usbBamboo1, NULL },
+ { WALTOP_VENDOR_ID, 0x35, 80000, 80000, &usbGraphire4, NULL },
+ { WALTOP_VENDOR_ID, 0x36, 80000, 80000, &usbGraphire4, NULL },
+ { WALTOP_VENDOR_ID, 0x37, 80000, 80000, &usbGraphire4, NULL },
+ { WALTOP_VENDOR_ID, 0x38, 100000, 100000, &usbBambooFun, NULL },
+ { WALTOP_VENDOR_ID, 0x39, 100000, 100000, &usbBambooFun, NULL },
+ { WALTOP_VENDOR_ID, 0x51, 100000, 100000, &usbBamboo, NULL },
+ { WALTOP_VENDOR_ID, 0x52, 100000, 100000, &usbBamboo, NULL },
+
+ { WALTOP_VENDOR_ID, 0x53, 100000, 100000, &usbBamboo, NULL },
+ { WALTOP_VENDOR_ID, 0x54, 100000, 100000, &usbBamboo, NULL },
+ { WALTOP_VENDOR_ID, 0x55, 100000, 100000, &usbBamboo, NULL },
+ { WALTOP_VENDOR_ID, 0x56, 100000, 100000, &usbBamboo, NULL },
+ { WALTOP_VENDOR_ID, 0x57, 100000, 100000, &usbBamboo, NULL },
+ { WALTOP_VENDOR_ID, 0x58, 100000, 100000, &usbBamboo, NULL },
+ { WALTOP_VENDOR_ID, 0x500, 100000, 100000, &usbBamboo, NULL },
+ { WALTOP_VENDOR_ID, 0x501, 100000, 100000, &usbBamboo, NULL },
+ { WALTOP_VENDOR_ID, 0x502, 200000, 200000, &usbIntuos4, NULL },
+ { WALTOP_VENDOR_ID, 0x503, 200000, 200000, &usbIntuos4, NULL },
/* N-Trig devices */
- { NTRIG_VENDOR_ID, 0x01, 44173, 36772, &usbTabletPC },
+ { NTRIG_VENDOR_ID, 0x01, 44173, 36772, &usbTabletPC, NULL },
/* Add in Lenovo W700 Palmrest digitizer */
- { LENOVO_VENDOR_ID, 0x6004, 100000, 100000, &usbTabletPC } /* Pen-only */
+ { LENOVO_VENDOR_ID, 0x6004, 100000, 100000, &usbTabletPC, NULL } /* Pen-only */
};
+void usbListModels(void)
+{
+ int i;
+ char *usbnames[ARRAY_SIZE(WacomModelDesc)] = {0};
+ SymTabRec models[ARRAY_SIZE(WacomModelDesc) + 1];
+
+ for (i = 0; i < ARRAY_SIZE(WacomModelDesc); i++)
+ {
+ struct WacomModelDesc *m = &WacomModelDesc[i];
+
+ models[i].token = i;
+ if (m->name)
+ models[i].name = m->name;
+ else {
+ /* SymTabRec has a const char *name so we can't free
+ without compiler warnings. keep allocated stuff
+ in separate array.
+ */
+ usbnames[i] = malloc(64);
+ if (!usbnames[i]) {
+ /* if malloc fails, xf86PrintChipsets() terminates
+ here because models->name is NULL. then again,
+ malloc failed, so the rest is academic. */
+ models[i].name = NULL;
+ break;
+ }
+ sprintf(usbnames[i], "usb:%04x:%04x", m->vendor_id, m->model_id);
+ models[i].name = usbnames[i];
+ }
+ }
+
+ models[ARRAY_SIZE(models) - 1].name = NULL;
+
+ xf86PrintChipsets("wacom",
+ "Driver for Wacom graphics tablets",
+ models);
+
+ for (i = 0; i < ARRAY_SIZE(usbnames); i++)
+ free(usbnames[i]);
+}
+
+
static Bool usbWcmInit(InputInfoPtr pInfo, char* id, float *version)
{
int i;
diff --git a/src/xf86Wacom.h b/src/xf86Wacom.h
index b9e8957..587bf48 100644
--- a/src/xf86Wacom.h
+++ b/src/xf86Wacom.h
@@ -182,6 +182,7 @@ extern void set_absolute(InputInfoPtr pInfo, Bool absolute);
extern WacomCommonPtr wcmRefCommon(WacomCommonPtr common);
extern void wcmFreeCommon(WacomCommonPtr *common);
extern WacomCommonPtr wcmNewCommon(void);
+extern void usbListModels(void);
enum WacomSuppressMode {
SUPPRESS_NONE = 8, /* Process event normally */