aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/hid/wacom_wac.c37
1 files changed, 26 insertions, 11 deletions
diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c
index 1468f008bfbd..a8a19a5ccee5 100644
--- a/drivers/hid/wacom_wac.c
+++ b/drivers/hid/wacom_wac.c
@@ -25,6 +25,10 @@
25#define WACOM_INTUOS_RES 100 25#define WACOM_INTUOS_RES 100
26#define WACOM_INTUOS3_RES 200 26#define WACOM_INTUOS3_RES 200
27 27
28/* Newer Cintiq and DTU have an offset between tablet and screen areas */
29#define WACOM_DTU_OFFSET 200
30#define WACOM_CINTIQ_OFFSET 400
31
28/* 32/*
29 * Scale factor relating reported contact size to logical contact area. 33 * Scale factor relating reported contact size to logical contact area.
30 * 2^14/pi is a good approximation on Intuos5 and 3rd-gen Bamboo 34 * 2^14/pi is a good approximation on Intuos5 and 3rd-gen Bamboo
@@ -2680,10 +2684,12 @@ static const struct wacom_features wacom_features_0x317 =
2680 .check_for_hid_type = true, .hid_type = HID_TYPE_USBNONE }; 2684 .check_for_hid_type = true, .hid_type = HID_TYPE_USBNONE };
2681static const struct wacom_features wacom_features_0xF4 = 2685static const struct wacom_features wacom_features_0xF4 =
2682 { "Wacom Cintiq 24HD", 104280, 65400, 2047, 63, 2686 { "Wacom Cintiq 24HD", 104280, 65400, 2047, 63,
2683 WACOM_24HD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 200, 200 }; 2687 WACOM_24HD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES,
2688 WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET };
2684static const struct wacom_features wacom_features_0xF8 = 2689static const struct wacom_features wacom_features_0xF8 =
2685 { "Wacom Cintiq 24HD touch", 104280, 65400, 2047, 63, /* Pen */ 2690 { "Wacom Cintiq 24HD touch", 104280, 65400, 2047, 63, /* Pen */
2686 WACOM_24HD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 200, 200, 2691 WACOM_24HD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES,
2692 WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
2687 .oVid = USB_VENDOR_ID_WACOM, .oPid = 0xf6 }; 2693 .oVid = USB_VENDOR_ID_WACOM, .oPid = 0xf6 };
2688static const struct wacom_features wacom_features_0xF6 = 2694static const struct wacom_features wacom_features_0xF6 =
2689 { "Wacom Cintiq 24HD touch", .type = WACOM_24HDT, /* Touch */ 2695 { "Wacom Cintiq 24HD touch", .type = WACOM_24HDT, /* Touch */
@@ -2700,7 +2706,8 @@ static const struct wacom_features wacom_features_0xC6 =
2700 WACOM_BEE, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES }; 2706 WACOM_BEE, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES };
2701static const struct wacom_features wacom_features_0x304 = 2707static const struct wacom_features wacom_features_0x304 =
2702 { "Wacom Cintiq 13HD", 59352, 33648, 1023, 63, 2708 { "Wacom Cintiq 13HD", 59352, 33648, 1023, 63,
2703 WACOM_13HD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 200, 200 }; 2709 WACOM_13HD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES,
2710 WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET };
2704static const struct wacom_features wacom_features_0xC7 = 2711static const struct wacom_features wacom_features_0xC7 =
2705 { "Wacom DTU1931", 37832, 30305, 511, 0, 2712 { "Wacom DTU1931", 37832, 30305, 511, 0,
2706 PL, WACOM_INTUOS_RES, WACOM_INTUOS_RES }; 2713 PL, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
@@ -2713,13 +2720,16 @@ static const struct wacom_features wacom_features_0xF0 =
2713 DTU, WACOM_INTUOS_RES, WACOM_INTUOS_RES }; 2720 DTU, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
2714static const struct wacom_features wacom_features_0xFB = 2721static const struct wacom_features wacom_features_0xFB =
2715 { "Wacom DTU1031", 22096, 13960, 511, 0, 2722 { "Wacom DTU1031", 22096, 13960, 511, 0,
2716 DTUS, WACOM_INTUOS_RES, WACOM_INTUOS_RES }; 2723 DTUS, WACOM_INTUOS_RES, WACOM_INTUOS_RES,
2724 WACOM_DTU_OFFSET, WACOM_DTU_OFFSET };
2717static const struct wacom_features wacom_features_0x57 = 2725static const struct wacom_features wacom_features_0x57 =
2718 { "Wacom DTK2241", 95640, 54060, 2047, 63, 2726 { "Wacom DTK2241", 95640, 54060, 2047, 63,
2719 DTK, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 200, 200 }; 2727 DTK, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES,
2728 WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET };
2720static const struct wacom_features wacom_features_0x59 = /* Pen */ 2729static const struct wacom_features wacom_features_0x59 = /* Pen */
2721 { "Wacom DTH2242", 95640, 54060, 2047, 63, 2730 { "Wacom DTH2242", 95640, 54060, 2047, 63,
2722 DTK, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 200, 200, 2731 DTK, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES,
2732 WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
2723 .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x5D }; 2733 .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x5D };
2724static const struct wacom_features wacom_features_0x5D = /* Touch */ 2734static const struct wacom_features wacom_features_0x5D = /* Touch */
2725 { "Wacom DTH2242", .type = WACOM_24HDT, 2735 { "Wacom DTH2242", .type = WACOM_24HDT,
@@ -2727,13 +2737,16 @@ static const struct wacom_features wacom_features_0x5D = /* Touch */
2727 .check_for_hid_type = true, .hid_type = HID_TYPE_USBNONE }; 2737 .check_for_hid_type = true, .hid_type = HID_TYPE_USBNONE };
2728static const struct wacom_features wacom_features_0xCC = 2738static const struct wacom_features wacom_features_0xCC =
2729 { "Wacom Cintiq 21UX2", 87000, 65400, 2047, 63, 2739 { "Wacom Cintiq 21UX2", 87000, 65400, 2047, 63,
2730 WACOM_21UX2, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 200, 200 }; 2740 WACOM_21UX2, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES,
2741 WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET };
2731static const struct wacom_features wacom_features_0xFA = 2742static const struct wacom_features wacom_features_0xFA =
2732 { "Wacom Cintiq 22HD", 95640, 54060, 2047, 63, 2743 { "Wacom Cintiq 22HD", 95640, 54060, 2047, 63,
2733 WACOM_22HD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 200, 200 }; 2744 WACOM_22HD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES,
2745 WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET };
2734static const struct wacom_features wacom_features_0x5B = 2746static const struct wacom_features wacom_features_0x5B =
2735 { "Wacom Cintiq 22HDT", 95640, 54060, 2047, 63, 2747 { "Wacom Cintiq 22HDT", 95640, 54060, 2047, 63,
2736 WACOM_22HD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 200, 200, 2748 WACOM_22HD, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES,
2749 WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
2737 .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x5e }; 2750 .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x5e };
2738static const struct wacom_features wacom_features_0x5E = 2751static const struct wacom_features wacom_features_0x5E =
2739 { "Wacom Cintiq 22HDT", .type = WACOM_24HDT, 2752 { "Wacom Cintiq 22HDT", .type = WACOM_24HDT,
@@ -2879,7 +2892,8 @@ static const struct wacom_features wacom_features_0x6004 =
2879 TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES }; 2892 TABLETPC, WACOM_INTUOS_RES, WACOM_INTUOS_RES };
2880static const struct wacom_features wacom_features_0x307 = 2893static const struct wacom_features wacom_features_0x307 =
2881 { "Wacom ISDv5 307", 59352, 33648, 2047, 63, 2894 { "Wacom ISDv5 307", 59352, 33648, 2047, 63,
2882 CINTIQ_HYBRID, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 200, 200, 2895 CINTIQ_HYBRID, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES,
2896 WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
2883 .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x309 }; 2897 .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x309 };
2884static const struct wacom_features wacom_features_0x309 = 2898static const struct wacom_features wacom_features_0x309 =
2885 { "Wacom ISDv5 309", .type = WACOM_24HDT, /* Touch */ 2899 { "Wacom ISDv5 309", .type = WACOM_24HDT, /* Touch */
@@ -2887,7 +2901,8 @@ static const struct wacom_features wacom_features_0x309 =
2887 .check_for_hid_type = true, .hid_type = HID_TYPE_USBNONE }; 2901 .check_for_hid_type = true, .hid_type = HID_TYPE_USBNONE };
2888static const struct wacom_features wacom_features_0x30A = 2902static const struct wacom_features wacom_features_0x30A =
2889 { "Wacom ISDv5 30A", 59352, 33648, 2047, 63, 2903 { "Wacom ISDv5 30A", 59352, 33648, 2047, 63,
2890 CINTIQ_HYBRID, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES, 200, 200, 2904 CINTIQ_HYBRID, WACOM_INTUOS3_RES, WACOM_INTUOS3_RES,
2905 WACOM_CINTIQ_OFFSET, WACOM_CINTIQ_OFFSET,
2891 .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x30C }; 2906 .oVid = USB_VENDOR_ID_WACOM, .oPid = 0x30C };
2892static const struct wacom_features wacom_features_0x30C = 2907static const struct wacom_features wacom_features_0x30C =
2893 { "Wacom ISDv5 30C", .type = WACOM_24HDT, /* Touch */ 2908 { "Wacom ISDv5 30C", .type = WACOM_24HDT, /* Touch */