Home | History | Annotate | Line # | Download | only in usb
ugraphire_rdesc.h revision 1.9
      1  1.9  jakllsch /*	$NetBSD: ugraphire_rdesc.h,v 1.9 2011/12/23 00:51:46 jakllsch Exp $	*/
      2  1.1  augustss /*
      3  1.1  augustss  * Copyright (c) 2000 Nick Hibma <n_hibma (at) freebsd.org>
      4  1.1  augustss  * All rights reserved.
      5  1.1  augustss  *
      6  1.1  augustss  * Redistribution and use in source and binary forms, with or without
      7  1.1  augustss  * modification, are permitted provided that the following conditions
      8  1.1  augustss  * are met:
      9  1.1  augustss  * 1. Redistributions of source code must retain the above copyright
     10  1.1  augustss  *    notice, this list of conditions and the following disclaimer.
     11  1.1  augustss  * 2. Redistributions in binary form must reproduce the above copyright
     12  1.1  augustss  *    notice, this list of conditions and the following disclaimer in the
     13  1.1  augustss  *    documentation and/or other materials provided with the distribution.
     14  1.1  augustss  *
     15  1.1  augustss  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
     16  1.1  augustss  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
     17  1.1  augustss  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
     18  1.1  augustss  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
     19  1.1  augustss  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
     20  1.1  augustss  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
     21  1.1  augustss  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
     22  1.1  augustss  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
     23  1.1  augustss  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
     24  1.1  augustss  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
     25  1.1  augustss  * SUCH DAMAGE.
     26  1.1  augustss  */
     27  1.1  augustss 
     28  1.9  jakllsch /* Tested with
     29  1.7     ryoon  * - Graphire
     30  1.7     ryoon  * - Graphire2
     31  1.7     ryoon  * - Graphire3 4x5
     32  1.7     ryoon  * - Graphire3 6x8
     33  1.7     ryoon  * - Graphire4 4x5
     34  1.7     ryoon  */
     35  1.3  jdolecek static const uByte uhid_graphire3_4x5_report_descr[] = {
     36  1.2  augustss     0x05, 0x01,                    /* USAGE_PAGE (Generic Desktop)	*/
     37  1.2  augustss     0x09, 0x02,                    /* USAGE (Mouse)			*/
     38  1.2  augustss     0xa1, 0x01,                    /* COLLECTION (Application)		*/
     39  1.2  augustss     0x85, 0x01,                    /*   REPORT_ID (1)			*/
     40  1.2  augustss     0x09, 0x01,                    /*   USAGE (Pointer)			*/
     41  1.2  augustss     0xa1, 0x00,                    /*   COLLECTION (Physical)		*/
     42  1.2  augustss     0x05, 0x09,                    /*     USAGE_PAGE (Button)		*/
     43  1.2  augustss     0x19, 0x01,                    /*     USAGE_MINIMUM (Button 1)	*/
     44  1.2  augustss     0x29, 0x03,                    /*     USAGE_MAXIMUM (Button 3)	*/
     45  1.2  augustss     0x15, 0x00,                    /*     LOGICAL_MINIMUM (0)		*/
     46  1.2  augustss     0x25, 0x01,                    /*     LOGICAL_MAXIMUM (1)		*/
     47  1.2  augustss     0x95, 0x03,                    /*     REPORT_COUNT (3)		*/
     48  1.2  augustss     0x75, 0x01,                    /*     REPORT_SIZE (1)		*/
     49  1.2  augustss     0x81, 0x02,                    /*     INPUT (Data,Var,Abs)		*/
     50  1.2  augustss     0x95, 0x01,                    /*     REPORT_COUNT (1)		*/
     51  1.2  augustss     0x75, 0x05,                    /*     REPORT_SIZE (5)		*/
     52  1.2  augustss     0x81, 0x01,                    /*     INPUT (Cnst,Ary,Abs)		*/
     53  1.2  augustss     0x05, 0x01,                    /*     USAGE_PAGE (Generic Desktop)	*/
     54  1.2  augustss     0x09, 0x30,                    /*     USAGE (X)			*/
     55  1.2  augustss     0x09, 0x31,                    /*     USAGE (Y)			*/
     56  1.2  augustss     0x09, 0x38,                    /*     USAGE (Wheel)			*/
     57  1.2  augustss     0x15, 0x81,                    /*     LOGICAL_MINIMUM (-127)	*/
     58  1.2  augustss     0x25, 0x7f,                    /*     LOGICAL_MAXIMUM (127)		*/
     59  1.2  augustss     0x75, 0x08,                    /*     REPORT_SIZE (8)		*/
     60  1.2  augustss     0x95, 0x03,                    /*     REPORT_COUNT (3)		*/
     61  1.2  augustss     0x81, 0x06,                    /*     INPUT (Data,Var,Rel)		*/
     62  1.2  augustss     0xc0,                          /*   END_COLLECTION			*/
     63  1.2  augustss     0xc0,                          /* END_COLLECTION			*/
     64  1.2  augustss     0x05, 0x0d,                    /* USAGE_PAGE (Digitizers)		*/
     65  1.2  augustss     0x09, 0x01,                    /* USAGE (Pointer)			*/
     66  1.2  augustss     0xa1, 0x01,                    /* COLLECTION (Applicaption)		*/
     67  1.2  augustss     0x85, 0x02,                    /*   REPORT_ID (2)			*/
     68  1.2  augustss     0x05, 0x0d,                    /*   USAGE_PAGE (Digitizers)		*/
     69  1.2  augustss     0x09, 0x01,                    /*   USAGE (Digitizer)		*/
     70  1.2  augustss     0xa1, 0x00,                    /*   COLLECTION (Physical)		*/
     71  1.2  augustss     0x09, 0x33,                    /*     USAGE (Touch)			*/
     72  1.2  augustss     0x09, 0x44,                    /*     USAGE (Barrel Switch)		*/
     73  1.2  augustss     0x09, 0x44,                    /*     USAGE (Barrel Switch)		*/
     74  1.2  augustss     0x15, 0x00,                    /*     LOGICAL_MINIMUM (0)		*/
     75  1.2  augustss     0x25, 0x01,                    /*     LOGICAL_MAXIMUM (1)		*/
     76  1.2  augustss     0x75, 0x01,                    /*     REPORT_SIZE (1)		*/
     77  1.2  augustss     0x95, 0x03,                    /*     REPORT_COUNT (3)		*/
     78  1.2  augustss     0x81, 0x02,                    /*     INPUT (Data,Var,Abs)		*/
     79  1.2  augustss     0x75, 0x01,                    /*     REPORT_SIZE (1)		*/
     80  1.2  augustss     0x95, 0x02,                    /*     REPORT_COUNT (2)		*/
     81  1.2  augustss     0x81, 0x01,                    /*     INPUT (Cnst,Ary,Abs)		*/
     82  1.2  augustss     0x09, 0x3c,                    /*     USAGE (Invert)		*/
     83  1.2  augustss     0x09, 0x38,                    /*     USAGE (Transducer Index)	*/
     84  1.2  augustss     0x09, 0x32,                    /*     USAGE (In Range)		*/
     85  1.2  augustss     0x75, 0x01,                    /*     REPORT_SIZE (1)		*/
     86  1.2  augustss     0x95, 0x03,                    /*     REPORT_COUNT (3)		*/
     87  1.2  augustss     0x81, 0x02,                    /*     INPUT (Data,Var,Abs)		*/
     88  1.2  augustss     0x05, 0x01,                    /*     USAGE_PAGE (Generic Desktop)	*/
     89  1.2  augustss     0x09, 0x30,                    /*     USAGE (X)			*/
     90  1.2  augustss     0x15, 0x00,                    /*     LOGICAL_MINIMUM (0)		*/
     91  1.2  augustss     0x26, 0xde, 0x27,              /*     LOGICAL_MAXIMUM (10206)	*/
     92  1.2  augustss     0x75, 0x10,                    /*     REPORT_SIZE (16)		*/
     93  1.2  augustss     0x95, 0x01,                    /*     REPORT_COUNT (1)		*/
     94  1.2  augustss     0x81, 0x02,                    /*     INPUT (Data,Var,Abs)		*/
     95  1.2  augustss     0x09, 0x31,                    /*     USAGE (Y)			*/
     96  1.2  augustss     0x26, 0xfe, 0x1c,              /*     LOGICAL_MAXIMUM (7422)	*/
     97  1.2  augustss     0x75, 0x10,                    /*     REPORT_SIZE (16)		*/
     98  1.2  augustss     0x95, 0x01,                    /*     REPORT_COUNT (1)		*/
     99  1.2  augustss     0x81, 0x02,                    /*     INPUT (Data,Var,Abs)		*/
    100  1.2  augustss     0x05, 0x0d,                    /*     USAGE_PAGE (Digitizers)	*/
    101  1.2  augustss     0x09, 0x30,                    /*     USAGE (Tip Pressure)		*/
    102  1.2  augustss     0x26, 0xff, 0x01,              /*     LOGICAL_MAXIMUM (511)		*/
    103  1.2  augustss     0x75, 0x10,                    /*     REPORT_SIZE (16)		*/
    104  1.2  augustss     0x95, 0x01,                    /*     REPORT_COUNT (1)		*/
    105  1.2  augustss     0x81, 0x02,                    /*     INPUT (Data,Var,Abs)		*/
    106  1.2  augustss     0xc0,                          /*   END_COLLECTION			*/
    107  1.2  augustss     0x05, 0x0d,                    /*   USAGE_PAGE (Digitizers)		*/
    108  1.2  augustss     0x09, 0x00,                    /*   USAGE (Undefined)		*/
    109  1.2  augustss     0x85, 0x02,                    /*   REPORT_ID (2)			*/
    110  1.2  augustss     0x95, 0x01,                    /*   REPORT_COUNT (1)		*/
    111  1.2  augustss     0xb1, 0x02,                    /*   FEATURE (Data,Var,Abs)		*/
    112  1.2  augustss     0x09, 0x00,                    /*   USAGE (Undefined)		*/
    113  1.2  augustss     0x85, 0x03,                    /*   REPORT_ID (3)			*/
    114  1.2  augustss     0x95, 0x01,                    /*   REPORT_COUNT (1)		*/
    115  1.2  augustss     0xb1, 0x02,                    /*   FEATURE (Data,Var,Abs)		*/
    116  1.2  augustss     0xc0                           /* END_COLLECTION			*/
    117  1.2  augustss };
    118