diff options
-rw-r--r-- | drivers/hid/wacom_wac.c | 37 |
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 }; |
2681 | static const struct wacom_features wacom_features_0xF4 = | 2685 | static 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 }; | ||
2684 | static const struct wacom_features wacom_features_0xF8 = | 2689 | static 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 }; |
2688 | static const struct wacom_features wacom_features_0xF6 = | 2694 | static 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 }; |
2701 | static const struct wacom_features wacom_features_0x304 = | 2707 | static 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 }; | ||
2704 | static const struct wacom_features wacom_features_0xC7 = | 2711 | static 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 }; |
2714 | static const struct wacom_features wacom_features_0xFB = | 2721 | static 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 }; | ||
2717 | static const struct wacom_features wacom_features_0x57 = | 2725 | static 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 }; | ||
2720 | static const struct wacom_features wacom_features_0x59 = /* Pen */ | 2729 | static 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 }; |
2724 | static const struct wacom_features wacom_features_0x5D = /* Touch */ | 2734 | static 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 }; |
2728 | static const struct wacom_features wacom_features_0xCC = | 2738 | static 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 }; | ||
2731 | static const struct wacom_features wacom_features_0xFA = | 2742 | static 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 }; | ||
2734 | static const struct wacom_features wacom_features_0x5B = | 2746 | static 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 }; |
2738 | static const struct wacom_features wacom_features_0x5E = | 2751 | static 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 }; |
2880 | static const struct wacom_features wacom_features_0x307 = | 2893 | static 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 }; |
2884 | static const struct wacom_features wacom_features_0x309 = | 2898 | static 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 }; |
2888 | static const struct wacom_features wacom_features_0x30A = | 2902 | static 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 }; |
2892 | static const struct wacom_features wacom_features_0x30C = | 2907 | static const struct wacom_features wacom_features_0x30C = |
2893 | { "Wacom ISDv5 30C", .type = WACOM_24HDT, /* Touch */ | 2908 | { "Wacom ISDv5 30C", .type = WACOM_24HDT, /* Touch */ |