diff options
author | Benjamin Tissoires <benjamin.tissoires@redhat.com> | 2014-07-24 16:10:09 -0400 |
---|---|---|
committer | Dmitry Torokhov <dmitry.torokhov@gmail.com> | 2014-07-25 21:55:38 -0400 |
commit | 471d17148c8b4174ac5f5283a73316d12c4379bc (patch) | |
tree | 07e8fc37b04e07479404806977f1c75cd0d09765 /drivers/hid/wacom_wac.h | |
parent | a3e6f6543d1969f1931b4f68fdd1a230b620ead8 (diff) |
Input: wacom - move the USB (now hid) Wacom driver in drivers/hid
wacom.ko is now a full HID driver, we have to move it into the proper
subdirectory: drivers/hid.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Diffstat (limited to 'drivers/hid/wacom_wac.h')
-rw-r--r-- | drivers/hid/wacom_wac.h | 169 |
1 files changed, 169 insertions, 0 deletions
diff --git a/drivers/hid/wacom_wac.h b/drivers/hid/wacom_wac.h new file mode 100644 index 000000000000..4c592475b237 --- /dev/null +++ b/drivers/hid/wacom_wac.h | |||
@@ -0,0 +1,169 @@ | |||
1 | /* | ||
2 | * drivers/input/tablet/wacom_wac.h | ||
3 | * | ||
4 | * This program is free software; you can redistribute it and/or modify | ||
5 | * it under the terms of the GNU General Public License as published by | ||
6 | * the Free Software Foundation; either version 2 of the License, or | ||
7 | * (at your option) any later version. | ||
8 | */ | ||
9 | #ifndef WACOM_WAC_H | ||
10 | #define WACOM_WAC_H | ||
11 | |||
12 | #include <linux/types.h> | ||
13 | |||
14 | /* maximum packet length for USB devices */ | ||
15 | #define WACOM_PKGLEN_MAX 68 | ||
16 | |||
17 | #define WACOM_NAME_MAX 64 | ||
18 | |||
19 | /* packet length for individual models */ | ||
20 | #define WACOM_PKGLEN_PENPRTN 7 | ||
21 | #define WACOM_PKGLEN_GRAPHIRE 8 | ||
22 | #define WACOM_PKGLEN_BBFUN 9 | ||
23 | #define WACOM_PKGLEN_INTUOS 10 | ||
24 | #define WACOM_PKGLEN_TPC1FG 5 | ||
25 | #define WACOM_PKGLEN_TPC1FG_B 10 | ||
26 | #define WACOM_PKGLEN_TPC2FG 14 | ||
27 | #define WACOM_PKGLEN_BBTOUCH 20 | ||
28 | #define WACOM_PKGLEN_BBTOUCH3 64 | ||
29 | #define WACOM_PKGLEN_BBPEN 10 | ||
30 | #define WACOM_PKGLEN_WIRELESS 32 | ||
31 | #define WACOM_PKGLEN_MTOUCH 62 | ||
32 | #define WACOM_PKGLEN_MTTPC 40 | ||
33 | #define WACOM_PKGLEN_DTUS 68 | ||
34 | #define WACOM_PKGLEN_PENABLED 8 | ||
35 | |||
36 | /* wacom data size per MT contact */ | ||
37 | #define WACOM_BYTES_PER_MT_PACKET 11 | ||
38 | #define WACOM_BYTES_PER_24HDT_PACKET 14 | ||
39 | |||
40 | /* device IDs */ | ||
41 | #define STYLUS_DEVICE_ID 0x02 | ||
42 | #define TOUCH_DEVICE_ID 0x03 | ||
43 | #define CURSOR_DEVICE_ID 0x06 | ||
44 | #define ERASER_DEVICE_ID 0x0A | ||
45 | #define PAD_DEVICE_ID 0x0F | ||
46 | |||
47 | /* wacom data packet report IDs */ | ||
48 | #define WACOM_REPORT_PENABLED 2 | ||
49 | #define WACOM_REPORT_INTUOSREAD 5 | ||
50 | #define WACOM_REPORT_INTUOSWRITE 6 | ||
51 | #define WACOM_REPORT_INTUOSPAD 12 | ||
52 | #define WACOM_REPORT_INTUOS5PAD 3 | ||
53 | #define WACOM_REPORT_DTUSPAD 21 | ||
54 | #define WACOM_REPORT_TPC1FG 6 | ||
55 | #define WACOM_REPORT_TPC2FG 13 | ||
56 | #define WACOM_REPORT_TPCMT 13 | ||
57 | #define WACOM_REPORT_TPCMT2 3 | ||
58 | #define WACOM_REPORT_TPCHID 15 | ||
59 | #define WACOM_REPORT_TPCST 16 | ||
60 | #define WACOM_REPORT_DTUS 17 | ||
61 | #define WACOM_REPORT_TPC1FGE 18 | ||
62 | #define WACOM_REPORT_24HDT 1 | ||
63 | #define WACOM_REPORT_WL 128 | ||
64 | #define WACOM_REPORT_USB 192 | ||
65 | |||
66 | /* device quirks */ | ||
67 | #define WACOM_QUIRK_MULTI_INPUT 0x0001 | ||
68 | #define WACOM_QUIRK_BBTOUCH_LOWRES 0x0002 | ||
69 | #define WACOM_QUIRK_NO_INPUT 0x0004 | ||
70 | #define WACOM_QUIRK_MONITOR 0x0008 | ||
71 | |||
72 | enum { | ||
73 | PENPARTNER = 0, | ||
74 | GRAPHIRE, | ||
75 | WACOM_G4, | ||
76 | PTU, | ||
77 | PL, | ||
78 | DTU, | ||
79 | DTUS, | ||
80 | INTUOS, | ||
81 | INTUOS3S, | ||
82 | INTUOS3, | ||
83 | INTUOS3L, | ||
84 | INTUOS4S, | ||
85 | INTUOS4, | ||
86 | INTUOS4L, | ||
87 | INTUOS5S, | ||
88 | INTUOS5, | ||
89 | INTUOS5L, | ||
90 | INTUOSPS, | ||
91 | INTUOSPM, | ||
92 | INTUOSPL, | ||
93 | INTUOSHT, | ||
94 | WACOM_21UX2, | ||
95 | WACOM_22HD, | ||
96 | DTK, | ||
97 | WACOM_24HD, | ||
98 | CINTIQ_HYBRID, | ||
99 | CINTIQ, | ||
100 | WACOM_BEE, | ||
101 | WACOM_13HD, | ||
102 | WACOM_MO, | ||
103 | WIRELESS, | ||
104 | BAMBOO_PT, | ||
105 | WACOM_24HDT, | ||
106 | TABLETPC, /* add new TPC below */ | ||
107 | TABLETPCE, | ||
108 | TABLETPC2FG, | ||
109 | MTSCREEN, | ||
110 | MTTPC, | ||
111 | MTTPC_B, | ||
112 | MAX_TYPE | ||
113 | }; | ||
114 | |||
115 | struct wacom_features { | ||
116 | const char *name; | ||
117 | int x_max; | ||
118 | int y_max; | ||
119 | int pressure_max; | ||
120 | int distance_max; | ||
121 | int type; | ||
122 | int x_resolution; | ||
123 | int y_resolution; | ||
124 | int x_min; | ||
125 | int y_min; | ||
126 | int device_type; | ||
127 | int x_phy; | ||
128 | int y_phy; | ||
129 | unsigned unit; | ||
130 | int unitExpo; | ||
131 | int x_fuzz; | ||
132 | int y_fuzz; | ||
133 | int pressure_fuzz; | ||
134 | int distance_fuzz; | ||
135 | unsigned quirks; | ||
136 | unsigned touch_max; | ||
137 | int oVid; | ||
138 | int oPid; | ||
139 | int pktlen; | ||
140 | bool check_for_hid_type; | ||
141 | int hid_type; | ||
142 | }; | ||
143 | |||
144 | struct wacom_shared { | ||
145 | bool stylus_in_proximity; | ||
146 | bool touch_down; | ||
147 | /* for wireless device to access USB interfaces */ | ||
148 | unsigned touch_max; | ||
149 | int type; | ||
150 | struct input_dev *touch_input; | ||
151 | }; | ||
152 | |||
153 | struct wacom_wac { | ||
154 | char name[WACOM_NAME_MAX]; | ||
155 | char pad_name[WACOM_NAME_MAX]; | ||
156 | unsigned char data[WACOM_PKGLEN_MAX]; | ||
157 | int tool[2]; | ||
158 | int id[2]; | ||
159 | __u32 serial[2]; | ||
160 | struct wacom_features features; | ||
161 | struct wacom_shared *shared; | ||
162 | struct input_dev *input; | ||
163 | struct input_dev *pad_input; | ||
164 | int pid; | ||
165 | int battery_capacity; | ||
166 | int num_contacts_left; | ||
167 | }; | ||
168 | |||
169 | #endif | ||