亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? usbdesc.c

?? LPC23XX USB hid keyboard
?? C
字號(hào):
/*----------------------------------------------------------------------------
 *      U S B  -  K e r n e l
 *----------------------------------------------------------------------------
 *      Name:    USBDESC.C
 *      Purpose: USB Descriptors
 *      Version: V1.10
 *----------------------------------------------------------------------------
 *      This file is part of the uVision/ARM development tools.
 *      This software may only be used under the terms of a valid, current,
 *      end user licence from KEIL for a compatible version of KEIL software
 *      development tools. Nothing else gives you the right to use it.
 *
 *      Copyright (c) 2005-2006 Keil Software.
 *---------------------------------------------------------------------------*/

#include "type.h"

#include "usb.h"
#include "hid.h"
#include "usbcfg.h"
#include "usbdesc.h"


/* HID Report Descriptor */
const BYTE HID_ReportDescriptor[] = {
  HID_UsagePageVendor(0x00),
  HID_Usage(0x01),
  HID_Collection(HID_Application),
    HID_UsagePage(HID_USAGE_PAGE_BUTTON),
    HID_UsageMin(1),
    HID_UsageMax(3),
    HID_LogicalMin(0),
    HID_LogicalMax(1),
    HID_ReportCount(3),
    HID_ReportSize(1),
    HID_Input(HID_Data | HID_Variable | HID_Absolute),
    HID_ReportCount(1),
    HID_ReportSize(5),
    HID_Input(HID_Constant),
    HID_UsagePage(HID_USAGE_PAGE_LED),
    HID_Usage(HID_USAGE_LED_GENERIC_INDICATOR),
    HID_LogicalMin(0),
    HID_LogicalMax(1),
    HID_ReportCount(8),
    HID_ReportSize(1),
    HID_Output(HID_Data | HID_Variable | HID_Absolute),
  HID_EndCollection,
};
/* HID Mouse Report Descriptor */
const BYTE MouseReportDescriptor[52] = {
    0x05, 0x01,                    // USAGE_PAGE (Generic Desktop)
    0x09, 0x02,                    // USAGE (Mouse)
    0xa1, 0x01,                    // COLLECTION (Application)
    0x09, 0x01,                    //   USAGE (Pointer)
    0xa1, 0x00,                    //   COLLECTION (Physical)
    0x05, 0x09,                    //     USAGE_PAGE (Button)
    0x19, 0x01,                    //     USAGE_MINIMUM (Button 1)
    0x29, 0x03,                    //     USAGE_MAXIMUM (Button 3)
    0x15, 0x00,                    //     LOGICAL_MINIMUM (0)
    0x25, 0x01,                    //     LOGICAL_MAXIMUM (1)
    0x75, 0x01,                    //     REPORT_SIZE (1)
    0x95, 0x03,                    //     REPORT_COUNT (3)
    0x81, 0x02,                    //     INPUT (Data,Var,Abs)
     0x75, 0x05,                    //     REPORT_SIZE (5)
    0x95, 0x01,                    //     REPORT_COUNT (1)
    0x81, 0x01,                    //     INPUT (Cnst,Var,Abs)
    0x05, 0x01,                    //     USAGE_PAGE (Generic Desktop)
    0x09, 0x30,                    //     USAGE (X)
    0x09, 0x31,                    //     USAGE (Y)
    0x09, 0x38,                    //     USAGE (Wheel)
    0x15, 0x81,                    //     LOGICAL_MINIMUM (-127)
    0x25, 0x7f,                    //     LOGICAL_MAXIMUM (127)
    0x75, 0x08,                    //     REPORT_SIZE (8)
    0x95, 0x03,                    //     REPORT_COUNT (3)
    0x81, 0x06,                    //     INPUT (Data,Var,Rel)
    0xc0,                          //   END_COLLECTION
    0xc0                           // END_COLLECTION
};

//該報(bào)告描述符號(hào)由HID Descriptor tool生成

const BYTE  KeyBoardReportDescriptor[63] = {
    0x05, 0x01,                    // USAGE_PAGE (Generic Desktop)
    0x09, 0x06,                    // USAGE (Keyboard)
    0xa1, 0x01,                    // COLLECTION (Application)
    0x05, 0x07,                    //   USAGE_PAGE (Keyboard)
    0x19, 0xe0,                    //   USAGE_MINIMUM (Keyboard LeftControl)
    0x29, 0xe7,                    //   USAGE_MAXIMUM (Keyboard Right GUI)
    0x15, 0x00,                    //   LOGICAL_MINIMUM (0)
    0x25, 0x01,                    //   LOGICAL_MAXIMUM (1)
    0x75, 0x01,                    //   REPORT_SIZE (1)
    0x95, 0x08,                    //   REPORT_COUNT (8)
    0x81, 0x02,                    //   INPUT (Data,Var,Abs)
    0x95, 0x01,                    //   REPORT_COUNT (1)
    0x75, 0x08,                    //   REPORT_SIZE (8)
    0x81, 0x03,                    //   INPUT (Cnst,Var,Abs)
    0x95, 0x05,                    //   REPORT_COUNT (5)
    0x75, 0x01,                    //   REPORT_SIZE (1)
    0x05, 0x08,                    //   USAGE_PAGE (LEDs)
    0x19, 0x01,                    //   USAGE_MINIMUM (Num Lock)
    0x29, 0x05,                    //   USAGE_MAXIMUM (Kana)
    0x91, 0x02,                    //   OUTPUT (Data,Var,Abs)
    0x95, 0x01,                    //   REPORT_COUNT (1)
    0x75, 0x03,                    //   REPORT_SIZE (3)
    0x91, 0x03,                    //   OUTPUT (Cnst,Var,Abs)
    0x95, 0x06,                    //   REPORT_COUNT (6)
    0x75, 0x08,                    //   REPORT_SIZE (8)
    0x15, 0x00,                    //   LOGICAL_MINIMUM (0)
    0x25, 0xFF,                    //   LOGICAL_MAXIMUM (255)
    0x05, 0x07,                    //   USAGE_PAGE (Keyboard)
    0x19, 0x00,                    //   USAGE_MINIMUM (Reserved (no event indicated))
    0x29, 0x65,                    //   USAGE_MAXIMUM (Keyboard Application)
    0x81, 0x00,                    //   INPUT (Data,Ary,Abs)
    0xc0                           // END_COLLECTION
};
//const WORD HID_ReportDescSize = sizeof(HID_ReportDescriptor);
#ifdef MOUSE_HID
const WORD HID_ReportDescSize = sizeof(MouseReportDescriptor);//HID_ReportDescriptor);
#else //KEYBOARD_HID
const WORD HID_ReportDescSize = sizeof(KeyBoardReportDescriptor);
#endif
/* USB Standard Device Descriptor */
const BYTE USB_DeviceDescriptor[] = {
  USB_DEVICE_DESC_SIZE,              /* bLength */
  USB_DEVICE_DESCRIPTOR_TYPE,        /* bDescriptorType */
  WBVAL(0x0110), /* 1.10 */          /* bcdUSB */
  0x00,                              /* bDeviceClass */
  0x00,                              /* bDeviceSubClass */
  0x00,                              /* bDeviceProtocol */
  USB_MAX_PACKET0,                   /* bMaxPacketSize0 */
  WBVAL(0xC252),                     /* idVendor */
  WBVAL(0x1701),                     /* idProduct */
  WBVAL(0x0100), /* 1.00 */          /* bcdDevice */
  0x04,                              /* iManufacturer */
  0x20,                              /* iProduct */
  0x42,                              /* iSerialNumber */
  0x01                               /* bNumConfigurations */
};

/* USB Configuration Descriptor */
/*   All Descriptors (Configuration, Interface, Endpoint, Class, Vendor */
const BYTE USB_ConfigDescriptor[] = {
/* Configuration 1 */
  USB_CONFIGUARTION_DESC_SIZE,       /* bDescriptorType */
  USB_CONFIGURATION_DESCRIPTOR_TYPE, /* bDescriptorType */
  WBVAL(                             /* wTotalLength */
    USB_CONFIGUARTION_DESC_SIZE +
    USB_INTERFACE_DESC_SIZE     +
    HID_DESC_SIZE               +
    USB_ENDPOINT_DESC_SIZE
  ),
  0x01,                              /* bNumInterfaces */
  0x01,                              /* bConfigurationValue */
  0x00,                              /* iConfiguration */
  USB_CONFIG_BUS_POWERED /*|*/       /* bmAttributes */
/*USB_CONFIG_REMOTE_WAKEUP*/,
  USB_CONFIG_POWER_MA(100),          /* bMaxPower */
/* Interface 0, Alternate Setting 0, HID Class */
  USB_INTERFACE_DESC_SIZE,           /* bLength */
  USB_INTERFACE_DESCRIPTOR_TYPE,     /* bDescriptorType */
  0x00,                              /* bInterfaceNumber */
  0x00,                              /* bAlternateSetting */
  0x01,                              /* bNumEndpoints */
  USB_DEVICE_CLASS_HUMAN_INTERFACE,  /* bInterfaceClass */
 HID_SUBCLASS_BOOT ,                 /* bInterfaceSubClass */
  //#ifdef MOUSE_HID
 // HID_PROTOCOL_MOUSE,                 /*mouse  bInterfaceProtocol */
  //#else
  HID_PROTOCOL_KEYBOARD,		 /* keyboard bInterfaceProtocol */
 // #endif
  0,                              /*0x5C  iInterface */
/* HID Class Descriptor */
/* HID_DESC_OFFSET = 0x0012 */
  HID_DESC_SIZE,                     /* bLength */
  HID_HID_DESCRIPTOR_TYPE,           /* bDescriptorType */
  WBVAL(0x0110), /* 1.00 */          /* bcdHID */
  0x00,                              /* 0x00 bCountryCode */
  0x01,                              /* bNumDescriptors */
  HID_REPORT_DESCRIPTOR_TYPE,        /* bDescriptorType */
  WBVAL(HID_REPORT_DESC_SIZE),       /* wDescriptorLength */
/* Endpoint, HID Interrupt In */
  USB_ENDPOINT_DESC_SIZE,            /* bLength */
  USB_ENDPOINT_DESCRIPTOR_TYPE,      /* bDescriptorType */
  USB_ENDPOINT_IN(1),                /* bEndpointAddress */
  USB_ENDPOINT_TYPE_INTERRUPT,       /* bmAttributes */
  WBVAL(0x0040),                     /* 0x0004 wMaxPacketSize */
  0x0A          /* 0x20 32ms */          /* bInterval */
/* Terminator */
 // 0                                  /* bLength */
};

/* USB String Descriptor (optional) */
const BYTE USB_StringDescriptor[] = {
/* Index 0x00: LANGID Codes */
  0x04,                              /* bLength */
  USB_STRING_DESCRIPTOR_TYPE,        /* bDescriptorType */
  WBVAL(0x0409), /* US English */    /* wLANGID */
/* Index 0x04: Manufacturer */
  0x1C,                              /* bLength */
  USB_STRING_DESCRIPTOR_TYPE,        /* bDescriptorType */
  'K',0,
  'e',0,
  'i',0,
  'l',0,
  ' ',0,
  'S',0,
  'o',0,
  'f',0,
  't',0,
  'w',0,
  'a',0,
  'r',0,
  'e',0,
/* Index 0x20: Product */
  0x22,                              /* bLength */
  USB_STRING_DESCRIPTOR_TYPE,        /* bDescriptorType */
  'L',0,
  'P',0,
  'C',0,

  '2',0,
  '3',0,
  '6',0,
  'X',0,
  ' ',0,
  'K',0,
  'i',0,
  'T',0,
  ' ',0,
  'H',0,
  'I',0,
  'D',0,
/* Index 0x42: Serial Number */
  0x1A,                              /* bLength */
  USB_STRING_DESCRIPTOR_TYPE,        /* bDescriptorType */
  'D',0,
  'E',0,
  'M',0,
  'O',0,
  '0',0,
  '0',0,
  '0',0,
  '0',0,
  '0',0,
  '0',0,
  '0',0,
  '0',0,
/* Index 0x5C: Interface 0, Alternate Setting 0 */
  0x08,                              /* bLength */
  USB_STRING_DESCRIPTOR_TYPE,        /* bDescriptorType */
  'H',0,
  'I',0,
  'D',0,
};

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产一区二区三区av性色| 在线观看免费成人| 亚洲成人av一区二区| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆 | 欧美成人精品二区三区99精品| 欧美性猛片aaaaaaa做受| 91色在线porny| 91国偷自产一区二区使用方法| 91玉足脚交白嫩脚丫在线播放| 99久久伊人精品| 色视频成人在线观看免| 欧美天天综合网| 欧美一区二区视频在线观看2020 | 三级久久三级久久| 视频一区二区三区入口| 蜜臀av性久久久久av蜜臀妖精| 免费国产亚洲视频| 国产激情一区二区三区四区| 国产99久久精品| 91麻豆国产福利在线观看| 欧美日韩免费视频| 欧美成人精品二区三区99精品| 欧美韩日一区二区三区四区| 日韩理论片中文av| 亚洲1区2区3区视频| 精品一区二区三区免费观看| 99久久精品免费| 欧美精品aⅴ在线视频| 国产午夜三级一区二区三| ...xxx性欧美| 美女视频黄免费的久久| av亚洲精华国产精华精| 91精品国产福利在线观看 | gogogo免费视频观看亚洲一| 欧美影片第一页| 久久青草国产手机看片福利盒子| 中文字幕中文在线不卡住| 亚洲3atv精品一区二区三区| 成人av网站免费观看| 欧美久久一二三四区| 国产网站一区二区| 视频一区视频二区中文| 99久久综合精品| 精品国产一区二区亚洲人成毛片| 亚洲裸体xxx| 国产一区 二区 三区一级| 欧美影院午夜播放| 一区视频在线播放| 狠狠色丁香久久婷婷综合丁香| 一本色道久久综合精品竹菊| 久久青草欧美一区二区三区| 天天色综合成人网| 91精品福利视频| 欧美激情综合在线| 国内欧美视频一区二区| 欧美日韩不卡在线| 亚洲一区二区av电影| 99九九99九九九视频精品| 久久免费电影网| 日本中文字幕一区二区视频| 欧美午夜一区二区三区| 综合在线观看色| 99久久国产综合色|国产精品| 亚洲精品一区在线观看| 美女网站色91| 欧美一级欧美一级在线播放| 亚洲一区在线电影| 一本色道亚洲精品aⅴ| 亚洲欧美综合另类在线卡通| 高清国产一区二区三区| 欧美精品一区二区三区蜜桃视频| 男男视频亚洲欧美| 欧美一级爆毛片| 免费成人深夜小野草| 91精品国产综合久久国产大片| 亚洲丰满少妇videoshd| 欧美日韩亚洲另类| 亚洲1区2区3区视频| 欧美肥妇free| 日本欧美肥老太交大片| 欧美一区二区三区免费观看视频| 丝袜亚洲另类欧美| 精品噜噜噜噜久久久久久久久试看| 日韩高清在线电影| 久久综合狠狠综合久久综合88 | 欧美三日本三级三级在线播放| 亚洲精品视频在线看| 91精彩视频在线| 天天操天天色综合| 日韩欧美综合一区| 盗摄精品av一区二区三区| 国产精品高潮久久久久无| 日本久久精品电影| 日韩国产成人精品| 久久久久久久久岛国免费| 成年人国产精品| 亚洲高清视频的网址| 欧美不卡一区二区| 高清免费成人av| 亚洲国产美国国产综合一区二区| 7777精品伊人久久久大香线蕉完整版 | 欧美激情在线一区二区| 成人av高清在线| 一区二区三区在线观看视频| 欧美丰满美乳xxx高潮www| 精品综合免费视频观看| 中文字幕亚洲综合久久菠萝蜜| 欧美综合久久久| 精品中文字幕一区二区小辣椒| 国产精品国产三级国产a| 欧美精品色综合| 国产精品18久久久久久久久| 亚洲黄色在线视频| 久久久另类综合| 欧美日韩一级片在线观看| 国产很黄免费观看久久| 亚洲成人黄色小说| 国产精品福利在线播放| 日韩欧美黄色影院| 91黄色小视频| 国产精品996| 日韩av网站免费在线| 亚洲人成人一区二区在线观看| 欧美一卡2卡3卡4卡| 色哟哟一区二区在线观看| 国产一区二区导航在线播放| 亚洲va中文字幕| 亚洲色图欧洲色图| 久久久久久久综合日本| 7777精品伊人久久久大香线蕉完整版| 国产一区欧美二区| 麻豆精品精品国产自在97香蕉| 亚洲精品欧美激情| 国产精品视频一二三区| www久久久久| 精品人在线二区三区| 欧美日韩国产一区二区三区地区| 不卡的av中国片| 国产成人99久久亚洲综合精品| 久久精品免费看| 日韩福利电影在线| 亚洲国产aⅴ成人精品无吗| 亚洲黄色尤物视频| 亚洲另类春色校园小说| 中文字幕日韩一区| 亚洲欧洲日韩女同| 中文字幕欧美一| 成人欧美一区二区三区黑人麻豆| 国产三级一区二区| 国产欧美综合在线| 国产欧美日韩不卡| 国产欧美精品一区二区色综合 | 国产精品免费aⅴ片在线观看| 亚洲精品在线观| 国产视频亚洲色图| 国产精品久久三| 成人欧美一区二区三区视频网页 | 欧美日韩国产综合视频在线观看| 91热门视频在线观看| 色呦呦日韩精品| 欧美探花视频资源| 欧美精品xxxxbbbb| 日韩一区二区三区三四区视频在线观看 | 在线综合亚洲欧美在线视频| 在线综合亚洲欧美在线视频| 欧美videossexotv100| 精品欧美黑人一区二区三区| 欧美精品一区二区三区蜜臀| 久久精品亚洲精品国产欧美| 国产精品久久久久久久久图文区 | 精品国产乱码久久久久久浪潮| 欧美精品一区男女天堂| 国产午夜精品福利| 亚洲欧美日韩中文播放| 夜夜揉揉日日人人青青一国产精品| 亚洲一区在线观看视频| 九色|91porny| 99国产精品久久久久久久久久| 欧美视频在线观看一区| 欧美大片在线观看一区二区| 国产亚洲成av人在线观看导航| 亚洲乱码中文字幕| 麻豆视频观看网址久久| 成人国产在线观看| 欧美精品在线视频| 国产欧美日韩视频在线观看| 一二三区精品视频| 精品一区二区三区免费观看| 色综合久久综合中文综合网| 日韩一区二区在线观看视频播放 | 色婷婷亚洲精品| 日韩三级精品电影久久久 | 亚洲大尺度视频在线观看| 久久国产精品一区二区| 99精品黄色片免费大全| 日韩欧美亚洲一区二区| 亚洲品质自拍视频| 激情综合色播五月| 欧美日韩一区二区在线视频| 国产欧美中文在线|