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