]> CyberLeo.Net >> Repos - FreeBSD/releng/7.2.git/blob - sys/dev/usb/ugraphire_rdesc.h
Create releng/7.2 from stable/7 in preparation for 7.2-RELEASE.
[FreeBSD/releng/7.2.git] / sys / dev / usb / ugraphire_rdesc.h
1 /*      $NetBSD: usb/ugraphire_rdesc.h,v 1.1 2000/12/29 01:47:49 augustss Exp $ */
2 /*      $FreeBSD$ */
3 /*-
4  * Copyright (c) 2000 Nick Hibma <n_hibma@freebsd.org>
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
10  * 1. Redistributions of source code must retain the above copyright
11  *    notice, this list of conditions and the following disclaimer.
12  * 2. Redistributions in binary form must reproduce the above copyright
13  *    notice, this list of conditions and the following disclaimer in the
14  *    documentation and/or other materials provided with the distribution.
15  *
16  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
17  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
19  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
20  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
22  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
23  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
24  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
25  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
26  * SUCH DAMAGE.
27  */
28
29 static const uByte uhid_graphire_report_descr[] = {
30     0x05, 0x0d,                    /*  USAGE_PAGE (Digitizers)          */
31     0x09, 0x01,                    /*  USAGE (Digitizer)                */
32     0xa1, 0x01,                    /*  COLLECTION (Application)         */
33     0x85, 0x02,                    /*    REPORT_ID (2)                  */
34     0x05, 0x0d,                    /*    USAGE_PAGE (Digitizers)        */
35     0x09, 0x01,                    /*    USAGE (Digitizer)              */
36     0xa1, 0x00,                    /*    COLLECTION (Physical)          */
37     0x15, 0x00,                    /*      LOGICAL_MINIMUM (0)          */
38     0x25, 0x01,                    /*      LOGICAL_MAXIMUM (1)          */
39     0x09, 0x33,                    /*      USAGE (Touch)                */
40     0x95, 0x01,                    /*      REPORT_COUNT (1)             */
41     0x75, 0x01,                    /*      REPORT_SIZE (1)              */
42     0x81, 0x02,                    /*      INPUT (Data,Var,Abs)         */
43     0x09, 0x44,                    /*      USAGE (Barrel Switch)        */
44     0x95, 0x02,                    /*      REPORT_COUNT (2)             */
45     0x75, 0x01,                    /*      REPORT_SIZE (1)              */
46     0x81, 0x02,                    /*      INPUT (Data,Var,Abs)         */
47     0x09, 0x00,                    /*      USAGE (Undefined)            */
48     0x95, 0x02,                    /*      REPORT_COUNT (2)             */
49     0x75, 0x01,                    /*      REPORT_SIZE (1)              */
50     0x81, 0x03,                    /*      INPUT (Cnst,Var,Abs)         */
51     0x09, 0x3c,                    /*      USAGE (Invert)               */
52     0x95, 0x01,                    /*      REPORT_COUNT (1)             */
53     0x75, 0x01,                    /*      REPORT_SIZE (1)              */
54     0x81, 0x02,                    /*      INPUT (Data,Var,Abs)         */
55     0x09, 0x38,                    /*      USAGE (Transducer Index)     */
56     0x95, 0x01,                    /*      REPORT_COUNT (1)             */
57     0x75, 0x01,                    /*      REPORT_SIZE (1)              */
58     0x81, 0x02,                    /*      INPUT (Data,Var,Abs)         */
59     0x09, 0x32,                    /*      USAGE (In Range)             */
60     0x95, 0x01,                    /*      REPORT_COUNT (1)             */
61     0x75, 0x01,                    /*      REPORT_SIZE (1)              */
62     0x81, 0x02,                    /*      INPUT (Data,Var,Abs)         */
63     0x05, 0x01,                    /*      USAGE_PAGE (Generic Desktop) */
64     0x09, 0x30,                    /*      USAGE (X)                    */
65     0x15, 0x00,                    /*      LOGICAL_MINIMUM (0)          */
66     0x26, 0xde, 0x27,              /*      LOGICAL_MAXIMUM (10206)      */
67     0x95, 0x01,                    /*      REPORT_COUNT (1)             */
68     0x75, 0x10,                    /*      REPORT_SIZE (16)             */
69     0x81, 0x02,                    /*      INPUT (Data,Var,Abs)         */
70     0x09, 0x31,                    /*      USAGE (Y)                    */
71     0x26, 0xfe, 0x1c,              /*      LOGICAL_MAXIMUM (7422)       */
72     0x95, 0x01,                    /*      REPORT_COUNT (1)             */
73     0x75, 0x10,                    /*      REPORT_SIZE (16)             */
74     0x81, 0x02,                    /*      INPUT (Data,Var,Abs)         */
75     0x05, 0x0d,                    /*      USAGE_PAGE (Digitizers)      */
76     0x09, 0x30,                    /*      USAGE (Tip Pressure)         */
77     0x26, 0xff, 0x01,              /*      LOGICAL_MAXIMUM (511)        */
78     0x95, 0x01,                    /*      REPORT_COUNT (1)             */
79     0x75, 0x10,                    /*      REPORT_SIZE (16)             */
80     0x81, 0x02,                    /*      INPUT (Data,Var,Abs)         */
81     0xc0,                          /*    END_COLLECTION                 */
82     0x05, 0x0d,                    /*    USAGE_PAGE (Digitizers)        */
83     0x09, 0x00,                    /*    USAGE (Undefined)              */
84     0x85, 0x02,                    /*    REPORT_ID (2)                  */
85     0x95, 0x01,                    /*    REPORT_COUNT (1)               */
86     0xb1, 0x02,                    /*    FEATURE (Data,Var,Abs)         */
87     0x09, 0x00,                    /*    USAGE (Undefined)              */
88     0x85, 0x03,                    /*    REPORT_ID (3)                  */
89     0x95, 0x01,                    /*    REPORT_COUNT (1)               */
90     0xb1, 0x02,                    /*    FEATURE (Data,Var,Abs)         */
91     0xc0,                          /*  END_COLLECTION                   */
92 };
93
94 static const uByte uhid_graphire3_4x5_report_descr[] = {
95     0x05, 0x01,                    /* USAGE_PAGE (Generic Desktop)      */
96     0x09, 0x02,                    /* USAGE (Mouse)                     */
97     0xa1, 0x01,                    /* COLLECTION (Application)          */
98     0x85, 0x01,                    /*   REPORT_ID (1)                   */
99     0x09, 0x01,                    /*   USAGE (Pointer)                 */
100     0xa1, 0x00,                    /*   COLLECTION (Physical)           */
101     0x05, 0x09,                    /*     USAGE_PAGE (Button)           */
102     0x19, 0x01,                    /*     USAGE_MINIMUM (Button 1)      */
103     0x29, 0x03,                    /*     USAGE_MAXIMUM (Button 3)      */
104     0x15, 0x00,                    /*     LOGICAL_MINIMUM (0)           */
105     0x25, 0x01,                    /*     LOGICAL_MAXIMUM (1)           */
106     0x95, 0x03,                    /*     REPORT_COUNT (3)              */
107     0x75, 0x01,                    /*     REPORT_SIZE (1)               */
108     0x81, 0x02,                    /*     INPUT (Data,Var,Abs)          */
109     0x95, 0x01,                    /*     REPORT_COUNT (1)              */
110     0x75, 0x05,                    /*     REPORT_SIZE (5)               */
111     0x81, 0x01,                    /*     INPUT (Cnst,Ary,Abs)          */
112     0x05, 0x01,                    /*     USAGE_PAGE (Generic Desktop)  */
113     0x09, 0x30,                    /*     USAGE (X)                     */
114     0x09, 0x31,                    /*     USAGE (Y)                     */
115     0x09, 0x38,                    /*     USAGE (Wheel)                 */
116     0x15, 0x81,                    /*     LOGICAL_MINIMUM (-127)        */
117     0x25, 0x7f,                    /*     LOGICAL_MAXIMUM (127)         */
118     0x75, 0x08,                    /*     REPORT_SIZE (8)               */
119     0x95, 0x03,                    /*     REPORT_COUNT (3)              */
120     0x81, 0x06,                    /*     INPUT (Data,Var,Rel)          */
121     0xc0,                          /*   END_COLLECTION                  */
122     0xc0,                          /* END_COLLECTION                    */
123     0x05, 0x0d,                    /* USAGE_PAGE (Digitizers)           */
124     0x09, 0x01,                    /* USAGE (Pointer)                   */
125     0xa1, 0x01,                    /* COLLECTION (Applicaption)         */
126     0x85, 0x02,                    /*   REPORT_ID (2)                   */
127     0x05, 0x0d,                    /*   USAGE_PAGE (Digitizers)         */
128     0x09, 0x01,                    /*   USAGE (Digitizer)               */
129     0xa1, 0x00,                    /*   COLLECTION (Physical)           */
130     0x09, 0x33,                    /*     USAGE (Touch)                 */
131     0x09, 0x44,                    /*     USAGE (Barrel Switch)         */
132     0x09, 0x44,                    /*     USAGE (Barrel Switch)         */
133     0x15, 0x00,                    /*     LOGICAL_MINIMUM (0)           */
134     0x25, 0x01,                    /*     LOGICAL_MAXIMUM (1)           */
135     0x75, 0x01,                    /*     REPORT_SIZE (1)               */
136     0x95, 0x03,                    /*     REPORT_COUNT (3)              */
137     0x81, 0x02,                    /*     INPUT (Data,Var,Abs)          */
138     0x75, 0x01,                    /*     REPORT_SIZE (1)               */
139     0x95, 0x02,                    /*     REPORT_COUNT (2)              */
140     0x81, 0x01,                    /*     INPUT (Cnst,Ary,Abs)          */
141     0x09, 0x3c,                    /*     USAGE (Invert)                */
142     0x09, 0x38,                    /*     USAGE (Transducer Index)      */
143     0x09, 0x32,                    /*     USAGE (In Range)              */
144     0x75, 0x01,                    /*     REPORT_SIZE (1)               */
145     0x95, 0x03,                    /*     REPORT_COUNT (3)              */
146     0x81, 0x02,                    /*     INPUT (Data,Var,Abs)          */
147     0x05, 0x01,                    /*     USAGE_PAGE (Generic Desktop)  */
148     0x09, 0x30,                    /*     USAGE (X)                     */
149     0x15, 0x00,                    /*     LOGICAL_MINIMUM (0)           */
150     0x26, 0xde, 0x27,              /*     LOGICAL_MAXIMUM (10206)       */
151     0x75, 0x10,                    /*     REPORT_SIZE (16)              */
152     0x95, 0x01,                    /*     REPORT_COUNT (1)              */
153     0x81, 0x02,                    /*     INPUT (Data,Var,Abs)          */
154     0x09, 0x31,                    /*     USAGE (Y)                     */
155     0x26, 0xfe, 0x1c,              /*     LOGICAL_MAXIMUM (7422)        */
156     0x75, 0x10,                    /*     REPORT_SIZE (16)              */
157     0x95, 0x01,                    /*     REPORT_COUNT (1)              */
158     0x81, 0x02,                    /*     INPUT (Data,Var,Abs)          */
159     0x05, 0x0d,                    /*     USAGE_PAGE (Digitizers)       */
160     0x09, 0x30,                    /*     USAGE (Tip Pressure)          */
161     0x26, 0xff, 0x01,              /*     LOGICAL_MAXIMUM (511)         */
162     0x75, 0x10,                    /*     REPORT_SIZE (16)              */
163     0x95, 0x01,                    /*     REPORT_COUNT (1)              */
164     0x81, 0x02,                    /*     INPUT (Data,Var,Abs)          */
165     0xc0,                          /*   END_COLLECTION                  */
166     0x05, 0x0d,                    /*   USAGE_PAGE (Digitizers)         */
167     0x09, 0x00,                    /*   USAGE (Undefined)               */
168     0x85, 0x02,                    /*   REPORT_ID (2)                   */
169     0x95, 0x01,                    /*   REPORT_COUNT (1)                */
170     0xb1, 0x02,                    /*   FEATURE (Data,Var,Abs)          */
171     0x09, 0x00,                    /*   USAGE (Undefined)               */
172     0x85, 0x03,                    /*   REPORT_ID (3)                   */
173     0x95, 0x01,                    /*   REPORT_COUNT (1)                */
174     0xb1, 0x02,                    /*   FEATURE (Data,Var,Abs)          */
175     0xc0                           /* END_COLLECTION                    */
176 };