Input: wacom - retrieve maximum number of touch points
[deliverable/linux.git] / drivers / input / tablet / wacom_wac.h
CommitLineData
3bea733a 1/*
4104d13f 2 * drivers/input/tablet/wacom_wac.h
3bea733a
PC
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
51269fe8
DT
12#include <linux/types.h>
13
ee54500d 14/* maximum packet length for USB devices */
73149ab8 15#define WACOM_PKGLEN_MAX 64
ee54500d
PC
16
17/* packet length for individual models */
18#define WACOM_PKGLEN_PENPRTN 7
19#define WACOM_PKGLEN_GRAPHIRE 8
e33da8a5
JC
20#define WACOM_PKGLEN_BBFUN 9
21#define WACOM_PKGLEN_INTUOS 10
ee54500d 22#define WACOM_PKGLEN_TPC1FG 5
e33da8a5 23#define WACOM_PKGLEN_TPC2FG 14
4a88081e 24#define WACOM_PKGLEN_BBTOUCH 20
4134361a 25#define WACOM_PKGLEN_BBTOUCH3 64
73149ab8 26#define WACOM_PKGLEN_BBPEN 10
d3825d51 27#define WACOM_PKGLEN_WIRELESS 32
ee54500d 28
ec67bbed 29/* device IDs */
3bea733a 30#define STYLUS_DEVICE_ID 0x02
545f4e99 31#define TOUCH_DEVICE_ID 0x03
3bea733a
PC
32#define CURSOR_DEVICE_ID 0x06
33#define ERASER_DEVICE_ID 0x0A
80d4e8e9 34#define PAD_DEVICE_ID 0x0F
3bea733a 35
cad74700
PC
36/* wacom data packet report IDs */
37#define WACOM_REPORT_PENABLED 2
38#define WACOM_REPORT_INTUOSREAD 5
39#define WACOM_REPORT_INTUOSWRITE 6
40#define WACOM_REPORT_INTUOSPAD 12
f860e581 41#define WACOM_REPORT_INTUOS5PAD 3
cad74700
PC
42#define WACOM_REPORT_TPC1FG 6
43#define WACOM_REPORT_TPC2FG 13
31175a83
PC
44#define WACOM_REPORT_TPCHID 15
45#define WACOM_REPORT_TPCST 16
cad74700 46
bc73dd39
HR
47/* device quirks */
48#define WACOM_QUIRK_MULTI_INPUT 0x0001
f4ccbef2 49#define WACOM_QUIRK_BBTOUCH_LOWRES 0x0002
d3825d51
CB
50#define WACOM_QUIRK_NO_INPUT 0x0004
51#define WACOM_QUIRK_MONITOR 0x0008
bc73dd39 52
3bea733a
PC
53enum {
54 PENPARTNER = 0,
55 GRAPHIRE,
56 WACOM_G4,
57 PTU,
58 PL,
c8f2edc5 59 DTU,
4a88081e 60 BAMBOO_PT,
d3825d51 61 WIRELESS,
3bea733a 62 INTUOS,
8d32e3ae 63 INTUOS3S,
3bea733a
PC
64 INTUOS3,
65 INTUOS3L,
6f660f12
PC
66 INTUOS4S,
67 INTUOS4,
68 INTUOS4L,
9fee6195
JG
69 INTUOS5S,
70 INTUOS5,
71 INTUOS5L,
803296b6 72 WACOM_24HD,
3a4b4aaa 73 WACOM_21UX2,
3bea733a 74 CINTIQ,
0e1763f5 75 WACOM_BEE,
7ecfbfd3 76 WACOM_MO,
545f4e99 77 TABLETPC,
ec67bbed 78 TABLETPC2FG,
3bea733a
PC
79 MAX_TYPE
80};
81
82struct wacom_features {
e33da8a5 83 const char *name;
3bea733a
PC
84 int pktlen;
85 int x_max;
86 int y_max;
87 int pressure_max;
88 int distance_max;
89 int type;
e35fb8c1
PC
90 int x_resolution;
91 int y_resolution;
ec67bbed
PC
92 int device_type;
93 int x_phy;
94 int y_phy;
95 unsigned char unit;
96 unsigned char unitExpo;
fed87e65
HR
97 int x_fuzz;
98 int y_fuzz;
99 int pressure_fuzz;
100 int distance_fuzz;
bc73dd39 101 unsigned quirks;
f393ee2b 102 unsigned touch_max;
3bea733a
PC
103};
104
4492efff
PC
105struct wacom_shared {
106 bool stylus_in_proximity;
a43c7c53 107 bool touch_down;
4492efff
PC
108};
109
3bea733a 110struct wacom_wac {
49b764ae 111 char name[64];
4ee1fc8e 112 unsigned char *data;
4fc19381
PC
113 int tool[2];
114 int id[2];
49b764ae 115 __u32 serial[2];
e33da8a5 116 struct wacom_features features;
4492efff 117 struct wacom_shared *shared;
8da23fc1 118 struct input_dev *input;
16bf288c 119 int pid;
a1d552cc 120 int battery_capacity;
3bea733a
PC
121};
122
123#endif
This page took 0.361712 seconds and 5 git commands to generate.