The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/dev/usb/uxb360gp_rdesc.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /*-
    2  * Copyright (c) 2005 Ed Schouten <ed@fxq.nl>
    3  * All rights reserved.
    4  *
    5  * Redistribution and use in source and binary forms, with or without
    6  * modification, are permitted provided that the following conditions
    7  * are met:
    8  * 1. Redistributions of source code must retain the above copyright
    9  *    notice, this list of conditions and the following disclaimer.
   10  * 2. Redistributions in binary form must reproduce the above copyright
   11  *    notice, this list of conditions and the following disclaimer in the
   12  *    documentation and/or other materials provided with the distribution.
   13  *
   14  * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
   15  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
   16  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
   17  * ARE DISCLAIMED.  IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
   18  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
   19  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
   20  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
   21  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
   22  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
   23  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
   24  * SUCH DAMAGE.
   25  *
   26  * $FreeBSD: releng/7.3/sys/dev/usb/uxb360gp_rdesc.h 153925 2005-12-31 04:38:50Z mux $
   27  */
   28 
   29 /*
   30  * The descriptor has no output report format, thus preventing you from
   31  * controlling the LEDs and the built-in rumblers.
   32  */
   33 static const uByte uhid_xb360gp_report_descr[] = {
   34     0x05, 0x01,         /* USAGE PAGE (Generic Desktop)         */
   35     0x09, 0x05,         /* USAGE (Gamepad)                      */
   36     0xa1, 0x01,         /* COLLECTION (Application)             */
   37     /* Unused */
   38     0x75, 0x08,         /*  REPORT SIZE (8)                     */
   39     0x95, 0x01,         /*  REPORT COUNT (1)                    */
   40     0x81, 0x01,         /*  INPUT (Constant)                    */
   41     /* Byte count */
   42     0x75, 0x08,         /*  REPORT SIZE (8)                     */
   43     0x95, 0x01,         /*  REPORT COUNT (1)                    */
   44     0x05, 0x01,         /*  USAGE PAGE (Generic Desktop)        */
   45     0x09, 0x3b,         /*  USAGE (Byte Count)                  */
   46     0x81, 0x01,         /*  INPUT (Constant)                    */
   47     /* D-Pad */
   48     0x05, 0x01,         /*  USAGE PAGE (Generic Desktop)        */
   49     0x09, 0x01,         /*  USAGE (Pointer)                     */
   50     0xa1, 0x00,         /*  COLLECTION (Physical)               */
   51     0x75, 0x01,         /*   REPORT SIZE (1)                    */
   52     0x15, 0x00,         /*   LOGICAL MINIMUM (0)                */
   53     0x25, 0x01,         /*   LOGICAL MAXIMUM (1)                */
   54     0x35, 0x00,         /*   PHYSICAL MINIMUM (0)               */
   55     0x45, 0x01,         /*   PHYSICAL MAXIMUM (1)               */
   56     0x95, 0x04,         /*   REPORT COUNT (4)                   */
   57     0x05, 0x01,         /*   USAGE PAGE (Generic Desktop)       */
   58     0x09, 0x90,         /*   USAGE (D-Pad Up)                   */
   59     0x09, 0x91,         /*   USAGE (D-Pad Down)                 */
   60     0x09, 0x93,         /*   USAGE (D-Pad Left)                 */
   61     0x09, 0x92,         /*   USAGE (D-Pad Right)                */
   62     0x81, 0x02,         /*   INPUT (Data, Variable, Absolute)   */
   63     0xc0,               /*  END COLLECTION                      */
   64     /* Buttons 5-11 */
   65     0x75, 0x01,         /*  REPORT SIZE (1)                     */
   66     0x15, 0x00,         /*  LOGICAL MINIMUM (0)                 */
   67     0x25, 0x01,         /*  LOGICAL MAXIMUM (1)                 */
   68     0x35, 0x00,         /*  PHYSICAL MINIMUM (0)                */
   69     0x45, 0x01,         /*  PHYSICAL MAXIMUM (1)                */
   70     0x95, 0x07,         /*  REPORT COUNT (7)                    */
   71     0x05, 0x09,         /*  USAGE PAGE (Button)                 */
   72     0x09, 0x08,         /*  USAGE (Button 8)                    */
   73     0x09, 0x07,         /*  USAGE (Button 7)                    */
   74     0x09, 0x09,         /*  USAGE (Button 9)                    */
   75     0x09, 0x0a,         /*  USAGE (Button 10)                   */
   76     0x09, 0x05,         /*  USAGE (Button 5)                    */
   77     0x09, 0x06,         /*  USAGE (Button 6)                    */
   78     0x09, 0x0b,         /*  USAGE (Button 11)                   */
   79     0x81, 0x02,         /*  INPUT (Data, Variable, Absolute)    */
   80     /* Unused */
   81     0x75, 0x01,         /*  REPORT SIZE (1)                     */
   82     0x95, 0x01,         /*  REPORT COUNT (1)                    */
   83     0x81, 0x01,         /*  INPUT (Constant)                    */
   84     /* Buttons 1-4 */
   85     0x75, 0x01,         /*  REPORT SIZE (1)                     */
   86     0x15, 0x00,         /*  LOGICAL MINIMUM (0)                 */
   87     0x25, 0x01,         /*  LOGICAL MAXIMUM (1)                 */
   88     0x35, 0x00,         /*  PHYSICAL MINIMUM (0)                */
   89     0x45, 0x01,         /*  PHYSICAL MAXIMUM (1)                */
   90     0x95, 0x04,         /*  REPORT COUNT (4)                    */
   91     0x05, 0x09,         /*  USAGE PAGE (Button)                 */
   92     0x19, 0x01,         /*  USAGE MINIMUM (Button 1)            */
   93     0x29, 0x04,         /*  USAGE MAXIMUM (Button 4)            */
   94     0x81, 0x02,         /*  INPUT (Data, Variable, Absolute)    */
   95     /* Triggers */
   96     0x75, 0x08,         /*  REPORT SIZE (8)                     */
   97     0x15, 0x00,         /*  LOGICAL MINIMUM (0)                 */
   98     0x26, 0xff, 0x00,   /*  LOGICAL MAXIMUM (255)               */
   99     0x35, 0x00,         /*  PHYSICAL MINIMUM (0)                */
  100     0x46, 0xff, 0x00,   /*  PHYSICAL MAXIMUM (255)              */
  101     0x95, 0x02,         /*  REPORT SIZE (2)                     */
  102     0x05, 0x01,         /*  USAGE PAGE (Generic Desktop)        */
  103     0x09, 0x32,         /*  USAGE (Z)                           */
  104     0x09, 0x35,         /*  USAGE (Rz)                          */
  105     0x81, 0x02,         /*  INPUT (Data, Variable, Absolute)    */
  106     /* Sticks */
  107     0x75, 0x10,         /*  REPORT SIZE (16)                    */
  108     0x16, 0x00, 0x80,   /*  LOGICAL MINIMUM (-32768)            */
  109     0x26, 0xff, 0x7f,   /*  LOGICAL MAXIMUM (32767)             */
  110     0x36, 0x00, 0x80,   /*  PHYSICAL MINIMUM (-32768)           */
  111     0x46, 0xff, 0x7f,   /*  PHYSICAL MAXIMUM (32767)            */
  112     0x95, 0x04,         /*  REPORT COUNT (4)                    */
  113     0x05, 0x01,         /*  USAGE PAGE (Generic Desktop)        */
  114     0x09, 0x30,         /*  USAGE (X)                           */
  115     0x09, 0x31,         /*  USAGE (Y)                           */
  116     0x09, 0x33,         /*  USAGE (Rx)                          */
  117     0x09, 0x34,         /*  USAGE (Ry)                          */
  118     0x81, 0x02,         /*  INPUT (Data, Variable, Absolute)    */
  119     /* Unused */
  120     0x75, 0x30,         /*  REPORT SIZE (48)                    */
  121     0x95, 0x01,         /*  REPORT COUNT (1)                    */
  122     0x81, 0x01,         /*  INPUT (Constant)                    */
  123     0xc0,               /* END COLLECTION                       */
  124 };

Cache object: 983882395684628deb9d9e51a02a5aa1


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.