~ubuntu-branches/ubuntu/precise/linux-lowlatency/precise

« back to all changes in this revision

Viewing changes to drivers/input/tablet/wacom_wac.h

  • Committer: Package Import Robot
  • Author(s): Alessio Igor Bogani
  • Date: 2011-10-26 11:13:05 UTC
  • Revision ID: package-import@ubuntu.com-20111026111305-tz023xykf0i6eosh
Tags: upstream-3.2.0
ImportĀ upstreamĀ versionĀ 3.2.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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        32
 
16
 
 
17
/* packet length for individual models */
 
18
#define WACOM_PKGLEN_PENPRTN     7
 
19
#define WACOM_PKGLEN_GRAPHIRE    8
 
20
#define WACOM_PKGLEN_BBFUN       9
 
21
#define WACOM_PKGLEN_INTUOS     10
 
22
#define WACOM_PKGLEN_TPC1FG      5
 
23
#define WACOM_PKGLEN_TPC2FG     14
 
24
#define WACOM_PKGLEN_BBTOUCH    20
 
25
 
 
26
/* device IDs */
 
27
#define STYLUS_DEVICE_ID        0x02
 
28
#define TOUCH_DEVICE_ID         0x03
 
29
#define CURSOR_DEVICE_ID        0x06
 
30
#define ERASER_DEVICE_ID        0x0A
 
31
#define PAD_DEVICE_ID           0x0F
 
32
 
 
33
/* wacom data packet report IDs */
 
34
#define WACOM_REPORT_PENABLED           2
 
35
#define WACOM_REPORT_INTUOSREAD         5
 
36
#define WACOM_REPORT_INTUOSWRITE        6
 
37
#define WACOM_REPORT_INTUOSPAD          12
 
38
#define WACOM_REPORT_TPC1FG             6
 
39
#define WACOM_REPORT_TPC2FG             13
 
40
 
 
41
/* device quirks */
 
42
#define WACOM_QUIRK_MULTI_INPUT         0x0001
 
43
#define WACOM_QUIRK_BBTOUCH_LOWRES      0x0002
 
44
 
 
45
enum {
 
46
        PENPARTNER = 0,
 
47
        GRAPHIRE,
 
48
        WACOM_G4,
 
49
        PTU,
 
50
        PL,
 
51
        DTU,
 
52
        BAMBOO_PT,
 
53
        INTUOS,
 
54
        INTUOS3S,
 
55
        INTUOS3,
 
56
        INTUOS3L,
 
57
        INTUOS4S,
 
58
        INTUOS4,
 
59
        INTUOS4L,
 
60
        WACOM_21UX2,
 
61
        CINTIQ,
 
62
        WACOM_BEE,
 
63
        WACOM_MO,
 
64
        TABLETPC,
 
65
        TABLETPC2FG,
 
66
        MAX_TYPE
 
67
};
 
68
 
 
69
struct wacom_features {
 
70
        const char *name;
 
71
        int pktlen;
 
72
        int x_max;
 
73
        int y_max;
 
74
        int pressure_max;
 
75
        int distance_max;
 
76
        int type;
 
77
        int x_resolution;
 
78
        int y_resolution;
 
79
        int device_type;
 
80
        int x_phy;
 
81
        int y_phy;
 
82
        unsigned char unit;
 
83
        unsigned char unitExpo;
 
84
        int x_fuzz;
 
85
        int y_fuzz;
 
86
        int pressure_fuzz;
 
87
        int distance_fuzz;
 
88
        unsigned quirks;
 
89
};
 
90
 
 
91
struct wacom_shared {
 
92
        bool stylus_in_proximity;
 
93
        bool touch_down;
 
94
};
 
95
 
 
96
struct wacom_wac {
 
97
        char name[64];
 
98
        unsigned char *data;
 
99
        int tool[2];
 
100
        int id[2];
 
101
        __u32 serial[2];
 
102
        struct wacom_features features;
 
103
        struct wacom_shared *shared;
 
104
        struct input_dev *input;
 
105
};
 
106
 
 
107
#endif