wacom_wac.h 1.7 KB
Newer Older
1
/*
2
 * drivers/input/tablet/wacom_wac.h
3 4 5 6 7 8 9 10 11
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation; either version 2 of the License, or
 * (at your option) any later version.
 */
#ifndef WACOM_WAC_H
#define WACOM_WAC_H

12 13 14 15 16 17
/* maximum packet length for USB devices */
#define WACOM_PKGLEN_MAX	32

/* packet length for individual models */
#define WACOM_PKGLEN_PENPRTN	 7
#define WACOM_PKGLEN_GRAPHIRE	 8
18 19
#define WACOM_PKGLEN_BBFUN	 9
#define WACOM_PKGLEN_INTUOS	10
20
#define WACOM_PKGLEN_TPC1FG	 5
21
#define WACOM_PKGLEN_TPC2FG	14
22

23
/* device IDs */
24
#define STYLUS_DEVICE_ID	0x02
25
#define TOUCH_DEVICE_ID		0x03
26 27
#define CURSOR_DEVICE_ID	0x06
#define ERASER_DEVICE_ID	0x0A
P
Ping Cheng 已提交
28
#define PAD_DEVICE_ID		0x0F
29

30 31 32 33 34 35 36 37
/* wacom data packet report IDs */
#define WACOM_REPORT_PENABLED		2
#define WACOM_REPORT_INTUOSREAD		5
#define WACOM_REPORT_INTUOSWRITE	6
#define WACOM_REPORT_INTUOSPAD		12
#define WACOM_REPORT_TPC1FG		6
#define WACOM_REPORT_TPC2FG		13

38 39 40 41 42 43 44
enum {
	PENPARTNER = 0,
	GRAPHIRE,
	WACOM_G4,
	PTU,
	PL,
	INTUOS,
P
Ping Cheng 已提交
45
	INTUOS3S,
46 47
	INTUOS3,
	INTUOS3L,
48 49 50
	INTUOS4S,
	INTUOS4,
	INTUOS4L,
51
	CINTIQ,
52
	WACOM_BEE,
53
	WACOM_MO,
54
	TABLETPC,
55
	TABLETPC2FG,
56 57 58 59
	MAX_TYPE
};

struct wacom_features {
60
	const char *name;
61 62 63 64 65 66
	int pktlen;
	int x_max;
	int y_max;
	int pressure_max;
	int distance_max;
	int type;
67 68 69 70 71
	int device_type;
	int x_phy;
	int y_phy;
	unsigned char unit;
	unsigned char unitExpo;
72 73
};

74 75 76 77
struct wacom_shared {
	bool stylus_in_proximity;
};

78
struct wacom_wac {
79
	char name[64];
80
	unsigned char *data;
81 82 83
	int tool[2];
	int id[2];
	__u32 serial[2];
84
	struct wacom_features features;
85
	struct wacom_shared *shared;
86 87 88
};

#endif