Classes | Macros
Référence du fichier hid.h
#include "Usb.h"
#include "hidusagestr.h"

Classes

struct  HidItemPrefix
 
struct  MainItemIOFeature
 
class  HIDReportParser
 
class  HID
 

Macros

#define MAX_REPORT_PARSERS   2
 
#define HID_MAX_HID_CLASS_DESCRIPTORS   5
 
#define DATA_SIZE_MASK   0x03
 
#define TYPE_MASK   0x0C
 
#define TAG_MASK   0xF0
 
#define DATA_SIZE_0   0x00
 
#define DATA_SIZE_1   0x01
 
#define DATA_SIZE_2   0x02
 
#define DATA_SIZE_4   0x03
 
#define TYPE_MAIN   0x00
 
#define TYPE_GLOBAL   0x04
 
#define TYPE_LOCAL   0x08
 
#define TAG_MAIN_INPUT   0x80
 
#define TAG_MAIN_OUTPUT   0x90
 
#define TAG_MAIN_COLLECTION   0xA0
 
#define TAG_MAIN_FEATURE   0xB0
 
#define TAG_MAIN_ENDCOLLECTION   0xC0
 
#define TAG_GLOBAL_USAGEPAGE   0x00
 
#define TAG_GLOBAL_LOGICALMIN   0x10
 
#define TAG_GLOBAL_LOGICALMAX   0x20
 
#define TAG_GLOBAL_PHYSMIN   0x30
 
#define TAG_GLOBAL_PHYSMAX   0x40
 
#define TAG_GLOBAL_UNITEXP   0x50
 
#define TAG_GLOBAL_UNIT   0x60
 
#define TAG_GLOBAL_REPORTSIZE   0x70
 
#define TAG_GLOBAL_REPORTID   0x80
 
#define TAG_GLOBAL_REPORTCOUNT   0x90
 
#define TAG_GLOBAL_PUSH   0xA0
 
#define TAG_GLOBAL_POP   0xB0
 
#define TAG_LOCAL_USAGE   0x00
 
#define TAG_LOCAL_USAGEMIN   0x10
 
#define TAG_LOCAL_USAGEMAX   0x20
 
#define bmREQ_HIDOUT   USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE
 
#define bmREQ_HIDIN   USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE
 
#define bmREQ_HIDREPORT   USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_STANDARD|USB_SETUP_RECIPIENT_INTERFACE
 
#define HID_REQUEST_GET_REPORT   0x01
 
#define HID_REQUEST_GET_IDLE   0x02
 
#define HID_REQUEST_GET_PROTOCOL   0x03
 
#define HID_REQUEST_SET_REPORT   0x09
 
#define HID_REQUEST_SET_IDLE   0x0A
 
#define HID_REQUEST_SET_PROTOCOL   0x0B
 
#define HID_DESCRIPTOR_HID   0x21
 
#define HID_DESCRIPTOR_REPORT   0x22
 
#define HID_DESRIPTOR_PHY   0x23
 
#define HID_BOOT_PROTOCOL   0x00
 
#define HID_RPT_PROTOCOL   0x01
 
#define HID_INTF   0x03
 
#define HID_BOOT_INTF_SUBCLASS   0x01
 
#define HID_PROTOCOL_NONE   0x00
 
#define HID_PROTOCOL_KEYBOARD   0x01
 
#define HID_PROTOCOL_MOUSE   0x02
 
#define HID_ITEM_TYPE_MAIN   0
 
#define HID_ITEM_TYPE_GLOBAL   1
 
#define HID_ITEM_TYPE_LOCAL   2
 
#define HID_ITEM_TYPE_RESERVED   3
 
#define HID_LONG_ITEM_PREFIX   0xfe
 
#define bmHID_MAIN_ITEM_TAG   0xfc
 
#define bmHID_MAIN_ITEM_INPUT   0x80
 
#define bmHID_MAIN_ITEM_OUTPUT   0x90
 
#define bmHID_MAIN_ITEM_FEATURE   0xb0
 
#define bmHID_MAIN_ITEM_COLLECTION   0xa0
 
#define bmHID_MAIN_ITEM_END_COLLECTION   0xce
 
#define HID_MAIN_ITEM_COLLECTION_PHYSICAL   0
 
#define HID_MAIN_ITEM_COLLECTION_APPLICATION   1
 
#define HID_MAIN_ITEM_COLLECTION_LOGICAL   2
 
#define HID_MAIN_ITEM_COLLECTION_REPORT   3
 
#define HID_MAIN_ITEM_COLLECTION_NAMED_ARRAY   4
 
#define HID_MAIN_ITEM_COLLECTION_USAGE_SWITCH   5
 
#define HID_MAIN_ITEM_COLLECTION_USAGE_MODIFIER   6
 

Documentation des macros

◆ bmHID_MAIN_ITEM_COLLECTION

#define bmHID_MAIN_ITEM_COLLECTION   0xa0

◆ bmHID_MAIN_ITEM_END_COLLECTION

#define bmHID_MAIN_ITEM_END_COLLECTION   0xce

◆ bmHID_MAIN_ITEM_FEATURE

#define bmHID_MAIN_ITEM_FEATURE   0xb0

◆ bmHID_MAIN_ITEM_INPUT

#define bmHID_MAIN_ITEM_INPUT   0x80

◆ bmHID_MAIN_ITEM_OUTPUT

#define bmHID_MAIN_ITEM_OUTPUT   0x90

◆ bmHID_MAIN_ITEM_TAG

#define bmHID_MAIN_ITEM_TAG   0xfc

◆ bmREQ_HIDIN

#define bmREQ_HIDIN   USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE

◆ bmREQ_HIDOUT

#define bmREQ_HIDOUT   USB_SETUP_HOST_TO_DEVICE|USB_SETUP_TYPE_CLASS|USB_SETUP_RECIPIENT_INTERFACE

◆ bmREQ_HIDREPORT

#define bmREQ_HIDREPORT   USB_SETUP_DEVICE_TO_HOST|USB_SETUP_TYPE_STANDARD|USB_SETUP_RECIPIENT_INTERFACE

◆ DATA_SIZE_0

#define DATA_SIZE_0   0x00

◆ DATA_SIZE_1

#define DATA_SIZE_1   0x01

◆ DATA_SIZE_2

#define DATA_SIZE_2   0x02

◆ DATA_SIZE_4

#define DATA_SIZE_4   0x03

◆ DATA_SIZE_MASK

#define DATA_SIZE_MASK   0x03

◆ HID_BOOT_INTF_SUBCLASS

#define HID_BOOT_INTF_SUBCLASS   0x01

◆ HID_BOOT_PROTOCOL

#define HID_BOOT_PROTOCOL   0x00

◆ HID_DESCRIPTOR_HID

#define HID_DESCRIPTOR_HID   0x21

◆ HID_DESCRIPTOR_REPORT

#define HID_DESCRIPTOR_REPORT   0x22

◆ HID_DESRIPTOR_PHY

#define HID_DESRIPTOR_PHY   0x23

◆ HID_INTF

#define HID_INTF   0x03

◆ HID_ITEM_TYPE_GLOBAL

#define HID_ITEM_TYPE_GLOBAL   1

◆ HID_ITEM_TYPE_LOCAL

#define HID_ITEM_TYPE_LOCAL   2

◆ HID_ITEM_TYPE_MAIN

#define HID_ITEM_TYPE_MAIN   0

◆ HID_ITEM_TYPE_RESERVED

#define HID_ITEM_TYPE_RESERVED   3

◆ HID_LONG_ITEM_PREFIX

#define HID_LONG_ITEM_PREFIX   0xfe

◆ HID_MAIN_ITEM_COLLECTION_APPLICATION

#define HID_MAIN_ITEM_COLLECTION_APPLICATION   1

◆ HID_MAIN_ITEM_COLLECTION_LOGICAL

#define HID_MAIN_ITEM_COLLECTION_LOGICAL   2

◆ HID_MAIN_ITEM_COLLECTION_NAMED_ARRAY

#define HID_MAIN_ITEM_COLLECTION_NAMED_ARRAY   4

◆ HID_MAIN_ITEM_COLLECTION_PHYSICAL

#define HID_MAIN_ITEM_COLLECTION_PHYSICAL   0

◆ HID_MAIN_ITEM_COLLECTION_REPORT

#define HID_MAIN_ITEM_COLLECTION_REPORT   3

◆ HID_MAIN_ITEM_COLLECTION_USAGE_MODIFIER

#define HID_MAIN_ITEM_COLLECTION_USAGE_MODIFIER   6

◆ HID_MAIN_ITEM_COLLECTION_USAGE_SWITCH

#define HID_MAIN_ITEM_COLLECTION_USAGE_SWITCH   5

◆ HID_MAX_HID_CLASS_DESCRIPTORS

#define HID_MAX_HID_CLASS_DESCRIPTORS   5

◆ HID_PROTOCOL_KEYBOARD

#define HID_PROTOCOL_KEYBOARD   0x01

◆ HID_PROTOCOL_MOUSE

#define HID_PROTOCOL_MOUSE   0x02

◆ HID_PROTOCOL_NONE

#define HID_PROTOCOL_NONE   0x00

◆ HID_REQUEST_GET_IDLE

#define HID_REQUEST_GET_IDLE   0x02

◆ HID_REQUEST_GET_PROTOCOL

#define HID_REQUEST_GET_PROTOCOL   0x03

◆ HID_REQUEST_GET_REPORT

#define HID_REQUEST_GET_REPORT   0x01

◆ HID_REQUEST_SET_IDLE

#define HID_REQUEST_SET_IDLE   0x0A

◆ HID_REQUEST_SET_PROTOCOL

#define HID_REQUEST_SET_PROTOCOL   0x0B

◆ HID_REQUEST_SET_REPORT

#define HID_REQUEST_SET_REPORT   0x09

◆ HID_RPT_PROTOCOL

#define HID_RPT_PROTOCOL   0x01

◆ MAX_REPORT_PARSERS

#define MAX_REPORT_PARSERS   2

◆ TAG_GLOBAL_LOGICALMAX

#define TAG_GLOBAL_LOGICALMAX   0x20

◆ TAG_GLOBAL_LOGICALMIN

#define TAG_GLOBAL_LOGICALMIN   0x10

◆ TAG_GLOBAL_PHYSMAX

#define TAG_GLOBAL_PHYSMAX   0x40

◆ TAG_GLOBAL_PHYSMIN

#define TAG_GLOBAL_PHYSMIN   0x30

◆ TAG_GLOBAL_POP

#define TAG_GLOBAL_POP   0xB0

◆ TAG_GLOBAL_PUSH

#define TAG_GLOBAL_PUSH   0xA0

◆ TAG_GLOBAL_REPORTCOUNT

#define TAG_GLOBAL_REPORTCOUNT   0x90

◆ TAG_GLOBAL_REPORTID

#define TAG_GLOBAL_REPORTID   0x80

◆ TAG_GLOBAL_REPORTSIZE

#define TAG_GLOBAL_REPORTSIZE   0x70

◆ TAG_GLOBAL_UNIT

#define TAG_GLOBAL_UNIT   0x60

◆ TAG_GLOBAL_UNITEXP

#define TAG_GLOBAL_UNITEXP   0x50

◆ TAG_GLOBAL_USAGEPAGE

#define TAG_GLOBAL_USAGEPAGE   0x00

◆ TAG_LOCAL_USAGE

#define TAG_LOCAL_USAGE   0x00

◆ TAG_LOCAL_USAGEMAX

#define TAG_LOCAL_USAGEMAX   0x20

◆ TAG_LOCAL_USAGEMIN

#define TAG_LOCAL_USAGEMIN   0x10

◆ TAG_MAIN_COLLECTION

#define TAG_MAIN_COLLECTION   0xA0

◆ TAG_MAIN_ENDCOLLECTION

#define TAG_MAIN_ENDCOLLECTION   0xC0

◆ TAG_MAIN_FEATURE

#define TAG_MAIN_FEATURE   0xB0

◆ TAG_MAIN_INPUT

#define TAG_MAIN_INPUT   0x80

◆ TAG_MAIN_OUTPUT

#define TAG_MAIN_OUTPUT   0x90

◆ TAG_MASK

#define TAG_MASK   0xF0

◆ TYPE_GLOBAL

#define TYPE_GLOBAL   0x04

◆ TYPE_LOCAL

#define TYPE_LOCAL   0x08

◆ TYPE_MAIN

#define TYPE_MAIN   0x00

◆ TYPE_MASK

#define TYPE_MASK   0x0C