Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

at v3.9-rc6 141 lines 2.8 kB view raw
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 64 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#define WACOM_PKGLEN_BBTOUCH3 64 26#define WACOM_PKGLEN_BBPEN 10 27#define WACOM_PKGLEN_WIRELESS 32 28#define WACOM_PKGLEN_MTOUCH 62 29#define WACOM_PKGLEN_MTTPC 40 30 31/* wacom data size per MT contact */ 32#define WACOM_BYTES_PER_MT_PACKET 11 33#define WACOM_BYTES_PER_24HDT_PACKET 14 34 35/* device IDs */ 36#define STYLUS_DEVICE_ID 0x02 37#define TOUCH_DEVICE_ID 0x03 38#define CURSOR_DEVICE_ID 0x06 39#define ERASER_DEVICE_ID 0x0A 40#define PAD_DEVICE_ID 0x0F 41 42/* wacom data packet report IDs */ 43#define WACOM_REPORT_PENABLED 2 44#define WACOM_REPORT_INTUOSREAD 5 45#define WACOM_REPORT_INTUOSWRITE 6 46#define WACOM_REPORT_INTUOSPAD 12 47#define WACOM_REPORT_INTUOS5PAD 3 48#define WACOM_REPORT_TPC1FG 6 49#define WACOM_REPORT_TPC2FG 13 50#define WACOM_REPORT_TPCMT 13 51#define WACOM_REPORT_TPCHID 15 52#define WACOM_REPORT_TPCST 16 53#define WACOM_REPORT_TPC1FGE 18 54#define WACOM_REPORT_24HDT 1 55 56/* device quirks */ 57#define WACOM_QUIRK_MULTI_INPUT 0x0001 58#define WACOM_QUIRK_BBTOUCH_LOWRES 0x0002 59#define WACOM_QUIRK_NO_INPUT 0x0004 60#define WACOM_QUIRK_MONITOR 0x0008 61 62enum { 63 PENPARTNER = 0, 64 GRAPHIRE, 65 WACOM_G4, 66 PTU, 67 PL, 68 DTU, 69 INTUOS, 70 INTUOS3S, 71 INTUOS3, 72 INTUOS3L, 73 INTUOS4S, 74 INTUOS4, 75 INTUOS4L, 76 INTUOS5S, 77 INTUOS5, 78 INTUOS5L, 79 WACOM_21UX2, 80 WACOM_22HD, 81 DTK, 82 WACOM_24HD, 83 CINTIQ, 84 WACOM_BEE, 85 WACOM_MO, 86 WIRELESS, 87 BAMBOO_PT, 88 WACOM_24HDT, 89 TABLETPC, /* add new TPC below */ 90 TABLETPCE, 91 TABLETPC2FG, 92 MTSCREEN, 93 MTTPC, 94 MAX_TYPE 95}; 96 97struct wacom_features { 98 const char *name; 99 int pktlen; 100 int x_max; 101 int y_max; 102 int pressure_max; 103 int distance_max; 104 int type; 105 int x_resolution; 106 int y_resolution; 107 int device_type; 108 int x_phy; 109 int y_phy; 110 unsigned char unit; 111 unsigned char unitExpo; 112 int x_fuzz; 113 int y_fuzz; 114 int pressure_fuzz; 115 int distance_fuzz; 116 unsigned quirks; 117 unsigned touch_max; 118 int oVid; 119 int oPid; 120}; 121 122struct wacom_shared { 123 bool stylus_in_proximity; 124 bool touch_down; 125}; 126 127struct wacom_wac { 128 char name[64]; 129 unsigned char *data; 130 int tool[2]; 131 int id[2]; 132 __u32 serial[2]; 133 struct wacom_features features; 134 struct wacom_shared *shared; 135 struct input_dev *input; 136 int pid; 137 int battery_capacity; 138 int num_contacts_left; 139}; 140 141#endif