Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //--------------------------------------------------------------------------------
- // Decoded Application Collection
- //--------------------------------------------------------------------------------
- /*
- 06 00FF (GLOBAL) USAGE_PAGE 0xFF00 Vendor-defined
- 09 01 (LOCAL) USAGE 0xFF000001 <-- Warning: Undocumented usage (document it by inserting 0001 into file FF00.conf)
- A1 01 (MAIN) COLLECTION 0x01 Application (Usage=0xFF000001: Page=Vendor-defined, Usage=, Type=) <-- Error: COLLECTION must be preceded by a USAGE
- 85 05 (GLOBAL) REPORT_ID 0x05 (5)
- 15 00 (GLOBAL) LOGICAL_MINIMUM 0x00 (0) <-- Info: Consider replacing 15 00 with 14
- 25 01 (GLOBAL) LOGICAL_MAXIMUM 0x01 (1)
- 35 00 (GLOBAL) PHYSICAL_MINIMUM 0x00 (0) <-- Info: Consider replacing 35 00 with 34
- 45 01 (GLOBAL) PHYSICAL_MAXIMUM 0x01 (1)
- 65 00 (GLOBAL) UNIT 0x00 No unit (0=None) <-- Redundant: UNIT is already 0x00000000 <-- Info: Consider replacing 65 00 with 64
- 55 00 (GLOBAL) UNIT_EXPONENT 0x00 (Unit Value x 10⁰) <-- Redundant: UNIT_EXPONENT is already 0 <-- Info: Consider replacing 55 00 with 54
- 75 01 (GLOBAL) REPORT_SIZE 0x01 (1) Number of bits per field
- 95 28 (GLOBAL) REPORT_COUNT 0x28 (40) Number of fields
- B1 03 (MAIN) FEATURE 0x00000003 (40 fields x 1 bit) 1=Constant 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- C1 00 (MAIN) END_COLLECTION Application <-- Error: Data (00) is not applicable to END_COLLECTION items <-- Warning: Physical units are still in effect PHYSICAL(MIN=0,MAX=1) UNIT(0x,EXP=0)
- */
- //--------------------------------------------------------------------------------
- // Vendor-defined featureReport 05 (Device <-> Host)
- //--------------------------------------------------------------------------------
- typedef struct
- {
- uint8_t reportId; // Report ID = 0x05 (5)
- // Collection: CA:
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- } featureReport05_t;
- //--------------------------------------------------------------------------------
- // Decoded Application Collection
- //--------------------------------------------------------------------------------
- /*
- 05 01 (GLOBAL) USAGE_PAGE 0x0001 Generic Desktop Page
- 09 80 (LOCAL) USAGE 0x00010080 System Control (Application Collection)
- A1 01 (MAIN) COLLECTION 0x01 Application (Usage=0x00010080: Page=Generic Desktop Page, Usage=System Control, Type=Application Collection)
- 85 02 (GLOBAL) REPORT_ID 0x02 (2)
- 09 81 (LOCAL) USAGE 0x00010081 System Power Down (One Shot Control)
- 15 00 (GLOBAL) LOGICAL_MINIMUM 0x00 (0) <-- Redundant: LOGICAL_MINIMUM is already 0 <-- Info: Consider replacing 15 00 with 14
- 25 01 (GLOBAL) LOGICAL_MAXIMUM 0x01 (1) <-- Redundant: LOGICAL_MAXIMUM is already 1
- 35 00 (GLOBAL) PHYSICAL_MINIMUM 0x00 (0) <-- Redundant: PHYSICAL_MINIMUM is already 0 <-- Info: Consider replacing 35 00 with 34
- 45 01 (GLOBAL) PHYSICAL_MAXIMUM 0x01 (1) <-- Redundant: PHYSICAL_MAXIMUM is already 1
- 65 00 (GLOBAL) UNIT 0x00 No unit (0=None) <-- Redundant: UNIT is already 0x00000000 <-- Info: Consider replacing 65 00 with 64
- 55 00 (GLOBAL) UNIT_EXPONENT 0x00 (Unit Value x 10⁰) <-- Redundant: UNIT_EXPONENT is already 0 <-- Info: Consider replacing 55 00 with 54
- 75 01 (GLOBAL) REPORT_SIZE 0x01 (1) Number of bits per field <-- Redundant: REPORT_SIZE is already 1
- 95 01 (GLOBAL) REPORT_COUNT 0x01 (1) Number of fields
- 81 06 (MAIN) INPUT 0x00000006 (1 field x 1 bit) 0=Data 1=Variable 1=Relative 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 09 82 (LOCAL) USAGE 0x00010082 System Sleep (One Shot Control)
- 81 06 (MAIN) INPUT 0x00000006 (1 field x 1 bit) 0=Data 1=Variable 1=Relative 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 09 83 (LOCAL) USAGE 0x00010083 System Wake Up (One Shot Control)
- 81 06 (MAIN) INPUT 0x00000006 (1 field x 1 bit) 0=Data 1=Variable 1=Relative 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 95 05 (GLOBAL) REPORT_COUNT 0x05 (5) Number of fields
- 81 03 (MAIN) INPUT 0x00000003 (5 fields x 1 bit) 1=Constant 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- C1 00 (MAIN) END_COLLECTION Application <-- Error: Data (00) is not applicable to END_COLLECTION items <-- Warning: Physical units are still in effect PHYSICAL(MIN=0,MAX=1) UNIT(0x,EXP=0)
- */
- //--------------------------------------------------------------------------------
- // Generic Desktop Page inputReport 02 (Device --> Host)
- //--------------------------------------------------------------------------------
- typedef struct
- {
- uint8_t reportId; // Report ID = 0x02 (2)
- // Collection: CA:SystemControl
- uint8_t GD_SystemControlSystemPowerDown : 1; // Usage 0x00010081: System Power Down, Value = 0 to 1, Physical = Value
- uint8_t GD_SystemControlSystemSleep : 1; // Usage 0x00010082: System Sleep, Value = 0 to 1, Physical = Value
- uint8_t GD_SystemControlSystemWakeUp : 1; // Usage 0x00010083: System Wake Up, Value = 0 to 1, Physical = Value
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- } inputReport02_t;
- //--------------------------------------------------------------------------------
- // Decoded Application Collection
- //--------------------------------------------------------------------------------
- /*
- 05 01 (GLOBAL) USAGE_PAGE 0x0001 Generic Desktop Page <-- Redundant: USAGE_PAGE is already 0x0001
- 09 06 (LOCAL) USAGE 0x00010006 Keyboard (Application Collection)
- A1 01 (MAIN) COLLECTION 0x01 Application (Usage=0x00010006: Page=Generic Desktop Page, Usage=Keyboard, Type=Application Collection)
- 05 07 (GLOBAL) USAGE_PAGE 0x0007 Keyboard/Keypad Page
- 19 E0 (LOCAL) USAGE_MINIMUM 0x000700E0 Keyboard Left Control (Dynamic Value)
- 29 E7 (LOCAL) USAGE_MAXIMUM 0x000700E7 Keyboard Right GUI (Dynamic Value)
- 15 00 (GLOBAL) LOGICAL_MINIMUM 0x00 (0) <-- Redundant: LOGICAL_MINIMUM is already 0 <-- Info: Consider replacing 15 00 with 14
- 25 01 (GLOBAL) LOGICAL_MAXIMUM 0x01 (1) <-- Redundant: LOGICAL_MAXIMUM is already 1
- 35 00 (GLOBAL) PHYSICAL_MINIMUM 0x00 (0) <-- Redundant: PHYSICAL_MINIMUM is already 0 <-- Info: Consider replacing 35 00 with 34
- 45 01 (GLOBAL) PHYSICAL_MAXIMUM 0x01 (1) <-- Redundant: PHYSICAL_MAXIMUM is already 1
- 65 00 (GLOBAL) UNIT 0x00 No unit (0=None) <-- Redundant: UNIT is already 0x00000000 <-- Info: Consider replacing 65 00 with 64
- 55 00 (GLOBAL) UNIT_EXPONENT 0x00 (Unit Value x 10⁰) <-- Redundant: UNIT_EXPONENT is already 0 <-- Info: Consider replacing 55 00 with 54
- 75 01 (GLOBAL) REPORT_SIZE 0x01 (1) Number of bits per field <-- Redundant: REPORT_SIZE is already 1
- 95 08 (GLOBAL) REPORT_COUNT 0x08 (8) Number of fields
- 81 02 (MAIN) INPUT 0x00000002 (8 fields x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 95 38 (GLOBAL) REPORT_COUNT 0x38 (56) Number of fields
- 81 03 (MAIN) INPUT 0x00000003 (56 fields x 1 bit) 1=Constant 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 05 08 (GLOBAL) USAGE_PAGE 0x0008 LED Indicator Page
- 19 01 (LOCAL) USAGE_MINIMUM 0x00080001 Num Lock (On/Off Control)
- 29 03 (LOCAL) USAGE_MAXIMUM 0x00080003 Scroll Lock (On/Off Control)
- 95 03 (GLOBAL) REPORT_COUNT 0x03 (3) Number of fields
- 91 02 (MAIN) OUTPUT 0x00000002 (3 fields x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 95 05 (GLOBAL) REPORT_COUNT 0x05 (5) Number of fields
- 91 03 (MAIN) OUTPUT 0x00000003 (5 fields x 1 bit) 1=Constant 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- C1 00 (MAIN) END_COLLECTION Application <-- Error: Data (00) is not applicable to END_COLLECTION items <-- Warning: Physical units are still in effect PHYSICAL(MIN=0,MAX=1) UNIT(0x,EXP=0)
- */
- //--------------------------------------------------------------------------------
- // Keyboard/Keypad Page inputReport 02 (Device --> Host)
- //--------------------------------------------------------------------------------
- typedef struct
- {
- uint8_t reportId; // Report ID = 0x02 (2)
- // Collection: CA:Keyboard
- uint8_t KB_KeyboardKeyboardLeftControl : 1; // Usage 0x000700E0: Keyboard Left Control, Value = 0 to 1, Physical = Value
- uint8_t KB_KeyboardKeyboardLeftShift : 1; // Usage 0x000700E1: Keyboard Left Shift, Value = 0 to 1, Physical = Value
- uint8_t KB_KeyboardKeyboardLeftAlt : 1; // Usage 0x000700E2: Keyboard Left Alt, Value = 0 to 1, Physical = Value
- uint8_t KB_KeyboardKeyboardLeftGui : 1; // Usage 0x000700E3: Keyboard Left GUI, Value = 0 to 1, Physical = Value
- uint8_t KB_KeyboardKeyboardRightControl : 1; // Usage 0x000700E4: Keyboard Right Control, Value = 0 to 1, Physical = Value
- uint8_t KB_KeyboardKeyboardRightShift : 1; // Usage 0x000700E5: Keyboard Right Shift, Value = 0 to 1, Physical = Value
- uint8_t KB_KeyboardKeyboardRightAlt : 1; // Usage 0x000700E6: Keyboard Right Alt, Value = 0 to 1, Physical = Value
- uint8_t KB_KeyboardKeyboardRightGui : 1; // Usage 0x000700E7: Keyboard Right GUI, Value = 0 to 1, Physical = Value
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- } inputReport02_1_t;
- //--------------------------------------------------------------------------------
- // LED Indicator Page outputReport 02 (Device <-- Host)
- //--------------------------------------------------------------------------------
- typedef struct
- {
- uint8_t reportId; // Report ID = 0x02 (2)
- // Collection: CA:Keyboard
- uint8_t LED_KeyboardNumLock : 1; // Usage 0x00080001: Num Lock, Value = 0 to 1, Physical = Value
- uint8_t LED_KeyboardCapsLock : 1; // Usage 0x00080002: Caps Lock, Value = 0 to 1, Physical = Value
- uint8_t LED_KeyboardScrollLock : 1; // Usage 0x00080003: Scroll Lock, Value = 0 to 1, Physical = Value
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- } outputReport02_t;
- //--------------------------------------------------------------------------------
- // Decoded Application Collection
- //--------------------------------------------------------------------------------
- /*
- 05 01 (GLOBAL) USAGE_PAGE 0x0001 Generic Desktop Page
- 09 02 (LOCAL) USAGE 0x00010002 Mouse (Application Collection)
- A1 01 (MAIN) COLLECTION 0x01 Application (Usage=0x00010002: Page=Generic Desktop Page, Usage=Mouse, Type=Application Collection)
- 85 01 (GLOBAL) REPORT_ID 0x01 (1)
- 09 01 (LOCAL) USAGE 0x00010001 Pointer (Physical Collection)
- A1 00 (MAIN) COLLECTION 0x00 Physical (Usage=0x00010001: Page=Generic Desktop Page, Usage=Pointer, Type=Physical Collection)
- 05 09 (GLOBAL) USAGE_PAGE 0x0009 Button Page
- 19 01 (LOCAL) USAGE_MINIMUM 0x00090001 Button 1 Primary/trigger (Selector, On/Off Control, Momentary Control, or One Shot Control)
- 29 05 (LOCAL) USAGE_MAXIMUM 0x00090005 Button 5 (Selector, On/Off Control, Momentary Control, or One Shot Control)
- 15 00 (GLOBAL) LOGICAL_MINIMUM 0x00 (0) <-- Redundant: LOGICAL_MINIMUM is already 0 <-- Info: Consider replacing 15 00 with 14
- 25 01 (GLOBAL) LOGICAL_MAXIMUM 0x01 (1) <-- Redundant: LOGICAL_MAXIMUM is already 1
- 35 00 (GLOBAL) PHYSICAL_MINIMUM 0x00 (0) <-- Redundant: PHYSICAL_MINIMUM is already 0 <-- Info: Consider replacing 35 00 with 34
- 45 01 (GLOBAL) PHYSICAL_MAXIMUM 0x01 (1) <-- Redundant: PHYSICAL_MAXIMUM is already 1
- 65 00 (GLOBAL) UNIT 0x00 No unit (0=None) <-- Redundant: UNIT is already 0x00000000 <-- Info: Consider replacing 65 00 with 64
- 55 00 (GLOBAL) UNIT_EXPONENT 0x00 (Unit Value x 10⁰) <-- Redundant: UNIT_EXPONENT is already 0 <-- Info: Consider replacing 55 00 with 54
- 75 01 (GLOBAL) REPORT_SIZE 0x01 (1) Number of bits per field <-- Redundant: REPORT_SIZE is already 1
- 95 05 (GLOBAL) REPORT_COUNT 0x05 (5) Number of fields <-- Redundant: REPORT_COUNT is already 5
- 81 02 (MAIN) INPUT 0x00000002 (5 fields x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 95 03 (GLOBAL) REPORT_COUNT 0x03 (3) Number of fields
- 81 03 (MAIN) INPUT 0x00000003 (3 fields x 1 bit) 1=Constant 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 05 01 (GLOBAL) USAGE_PAGE 0x0001 Generic Desktop Page
- 09 30 (LOCAL) USAGE 0x00010030 X (Dynamic Value)
- 26 FF7F (GLOBAL) LOGICAL_MAXIMUM 0x7FFF (32767)
- 45 00 (GLOBAL) PHYSICAL_MAXIMUM 0x00 (0) <-- Info: Consider replacing 45 00 with 44
- 75 10 (GLOBAL) REPORT_SIZE 0x10 (16) Number of bits per field
- 95 01 (GLOBAL) REPORT_COUNT 0x01 (1) Number of fields
- 81 06 (MAIN) INPUT 0x00000006 (1 field x 16 bits) 0=Data 1=Variable 1=Relative 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 09 31 (LOCAL) USAGE 0x00010031 Y (Dynamic Value)
- 81 06 (MAIN) INPUT 0x00000006 (1 field x 16 bits) 0=Data 1=Variable 1=Relative 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 09 38 (LOCAL) USAGE 0x00010038 Wheel (Dynamic Value)
- 25 7F (GLOBAL) LOGICAL_MAXIMUM 0x7F (127)
- 75 08 (GLOBAL) REPORT_SIZE 0x08 (8) Number of bits per field
- 81 06 (MAIN) INPUT 0x00000006 (1 field x 8 bits) 0=Data 1=Variable 1=Relative 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 05 0C (GLOBAL) USAGE_PAGE 0x000C Consumer Device Page
- 0A 3802 (LOCAL) USAGE 0x000C0238 AC Pan (Linear Control)
- 81 06 (MAIN) INPUT 0x00000006 (1 field x 8 bits) 0=Data 1=Variable 1=Relative 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- C1 00 (MAIN) END_COLLECTION Physical <-- Error: Data (00) is not applicable to END_COLLECTION items
- C1 00 (MAIN) END_COLLECTION Application <-- Error: Data (00) is not applicable to END_COLLECTION items
- */
- //--------------------------------------------------------------------------------
- // Button Page inputReport 01 (Device --> Host)
- //--------------------------------------------------------------------------------
- typedef struct
- {
- uint8_t reportId; // Report ID = 0x01 (1)
- // Collection: CA:Mouse CP:Pointer
- uint8_t BTN_MousePointerButton1 : 1; // Usage 0x00090001: Button 1 Primary/trigger, Value = 0 to 1, Physical = Value
- uint8_t BTN_MousePointerButton2 : 1; // Usage 0x00090002: Button 2 Secondary, Value = 0 to 1, Physical = Value
- uint8_t BTN_MousePointerButton3 : 1; // Usage 0x00090003: Button 3 Tertiary, Value = 0 to 1, Physical = Value
- uint8_t BTN_MousePointerButton4 : 1; // Usage 0x00090004: Button 4, Value = 0 to 1, Physical = Value
- uint8_t BTN_MousePointerButton5 : 1; // Usage 0x00090005: Button 5, Value = 0 to 1, Physical = Value
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint8_t : 1; // Pad
- uint16_t GD_MousePointerX; // Usage 0x00010030: X, Value = 0 to 32767
- uint16_t GD_MousePointerY; // Usage 0x00010031: Y, Value = 0 to 32767
- uint8_t GD_MousePointerWheel; // Usage 0x00010038: Wheel, Value = 0 to 127
- uint8_t CD_MousePointerAcPan; // Usage 0x000C0238: AC Pan, Value = 0 to 127
- } inputReport01_t;
- //--------------------------------------------------------------------------------
- // Decoded Application Collection
- //--------------------------------------------------------------------------------
- /*
- 05 0C (GLOBAL) USAGE_PAGE 0x000C Consumer Device Page <-- Redundant: USAGE_PAGE is already 0x000C
- 09 01 (LOCAL) USAGE 0x000C0001 Consumer Control (Application Collection)
- A1 01 (MAIN) COLLECTION 0x01 Application (Usage=0x000C0001: Page=Consumer Device Page, Usage=Consumer Control, Type=Application Collection)
- 85 03 (GLOBAL) REPORT_ID 0x03 (3)
- 09 B5 (LOCAL) USAGE 0x000C00B5 Scan Next Track (One Shot Control)
- 15 00 (GLOBAL) LOGICAL_MINIMUM 0x00 (0) <-- Redundant: LOGICAL_MINIMUM is already 0 <-- Info: Consider replacing 15 00 with 14
- 25 01 (GLOBAL) LOGICAL_MAXIMUM 0x01 (1)
- 35 00 (GLOBAL) PHYSICAL_MINIMUM 0x00 (0) <-- Redundant: PHYSICAL_MINIMUM is already 0 <-- Info: Consider replacing 35 00 with 34
- 45 01 (GLOBAL) PHYSICAL_MAXIMUM 0x01 (1)
- 65 00 (GLOBAL) UNIT 0x00 No unit (0=None) <-- Redundant: UNIT is already 0x00000000 <-- Info: Consider replacing 65 00 with 64
- 55 00 (GLOBAL) UNIT_EXPONENT 0x00 (Unit Value x 10⁰) <-- Redundant: UNIT_EXPONENT is already 0 <-- Info: Consider replacing 55 00 with 54
- 75 01 (GLOBAL) REPORT_SIZE 0x01 (1) Number of bits per field
- 95 01 (GLOBAL) REPORT_COUNT 0x01 (1) Number of fields <-- Redundant: REPORT_COUNT is already 1
- 81 02 (MAIN) INPUT 0x00000002 (1 field x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 09 B6 (LOCAL) USAGE 0x000C00B6 Scan Previous Track (One Shot Control)
- 81 02 (MAIN) INPUT 0x00000002 (1 field x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 09 B7 (LOCAL) USAGE 0x000C00B7 Stop (One Shot Control)
- 81 02 (MAIN) INPUT 0x00000002 (1 field x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 09 CD (LOCAL) USAGE 0x000C00CD Play/Pause (One Shot Control)
- 81 02 (MAIN) INPUT 0x00000002 (1 field x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 09 E2 (LOCAL) USAGE 0x000C00E2 Mute (On/Off Control)
- 81 02 (MAIN) INPUT 0x00000002 (1 field x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 09 A2 (LOCAL) USAGE 0x000C00A2 Daily (One Shot Control)
- 81 02 (MAIN) INPUT 0x00000002 (1 field x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 09 E9 (LOCAL) USAGE 0x000C00E9 Volume Increment (Re-trigger Control)
- 81 02 (MAIN) INPUT 0x00000002 (1 field x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 09 EA (LOCAL) USAGE 0x000C00EA Volume Decrement (Re-trigger Control)
- 81 02 (MAIN) INPUT 0x00000002 (1 field x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 0A 8301 (LOCAL) USAGE 0x000C0183 AL Consumer Control Configuration (Selector)
- 81 02 (MAIN) INPUT 0x00000002 (1 field x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 0A 9401 (LOCAL) USAGE 0x000C0194 AL Local Machine Browser (Selector)
- 81 02 (MAIN) INPUT 0x00000002 (1 field x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 0A 8601 (LOCAL) USAGE 0x000C0186 AL Spreadsheet (Selector)
- 81 02 (MAIN) INPUT 0x00000002 (1 field x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 0A 8801 (LOCAL) USAGE 0x000C0188 AL Presentation App (Selector)
- 81 02 (MAIN) INPUT 0x00000002 (1 field x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 0A 8A01 (LOCAL) USAGE 0x000C018A AL Email Reader (Selector)
- 81 02 (MAIN) INPUT 0x00000002 (1 field x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 09 6F (LOCAL) USAGE 0x000C006F Display Brightness Increment (Re-trigger Control)
- 81 02 (MAIN) INPUT 0x00000002 (1 field x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 09 70 (LOCAL) USAGE 0x000C0070 Display Brightness Decrement (Re-trigger Control)
- 81 02 (MAIN) INPUT 0x00000002 (1 field x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 0A 9601 (LOCAL) USAGE 0x000C0196 AL Internet Browser (Selector)
- 81 02 (MAIN) INPUT 0x00000002 (1 field x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 0A 2102 (LOCAL) USAGE 0x000C0221 AC Search (Selector)
- 81 02 (MAIN) INPUT 0x00000002 (1 field x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 0A 2302 (LOCAL) USAGE 0x000C0223 AC Home (Selector)
- 81 02 (MAIN) INPUT 0x00000002 (1 field x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 0A 2402 (LOCAL) USAGE 0x000C0224 AC Back (Selector)
- 81 02 (MAIN) INPUT 0x00000002 (1 field x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 0A 2502 (LOCAL) USAGE 0x000C0225 AC Forward (Selector)
- 81 02 (MAIN) INPUT 0x00000002 (1 field x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 0A 9201 (LOCAL) USAGE 0x000C0192 AL Calculator (Selector)
- 81 02 (MAIN) INPUT 0x00000002 (1 field x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 0A 2702 (LOCAL) USAGE 0x000C0227 AC Refresh (Selector)
- 81 02 (MAIN) INPUT 0x00000002 (1 field x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 0A 2A02 (LOCAL) USAGE 0x000C022A AC Bookmarks (Selector)
- 81 02 (MAIN) INPUT 0x00000002 (1 field x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- 09 30 (LOCAL) USAGE 0x000C0030 Power (On/Off Control)
- 81 02 (MAIN) INPUT 0x00000002 (1 field x 1 bit) 0=Data 1=Variable 0=Absolute 0=NoWrap 0=Linear 0=PrefState 0=NoNull 0=NonVolatile 0=Bitmap
- C1 00 (MAIN) END_COLLECTION Application <-- Error: Data (00) is not applicable to END_COLLECTION items <-- Warning: Physical units are still in effect PHYSICAL(MIN=0,MAX=1) UNIT(0x,EXP=0)
- */
- //--------------------------------------------------------------------------------
- // Consumer Device Page inputReport 03 (Device --> Host)
- //--------------------------------------------------------------------------------
- typedef struct
- {
- uint8_t reportId; // Report ID = 0x03 (3)
- // Collection: CA:ConsumerControl
- uint8_t CD_ConsumerControlScanNextTrack : 1; // Usage 0x000C00B5: Scan Next Track, Value = 0 to 1, Physical = Value
- uint8_t CD_ConsumerControlScanPreviousTrack : 1; // Usage 0x000C00B6: Scan Previous Track, Value = 0 to 1, Physical = Value
- uint8_t CD_ConsumerControlStop : 1; // Usage 0x000C00B7: Stop, Value = 0 to 1, Physical = Value
- uint8_t CD_ConsumerControlPlayPause : 1; // Usage 0x000C00CD: Play/Pause, Value = 0 to 1, Physical = Value
- uint8_t CD_ConsumerControlMute : 1; // Usage 0x000C00E2: Mute, Value = 0 to 1, Physical = Value
- uint8_t CD_ConsumerControlDaily : 1; // Usage 0x000C00A2: Daily, Value = 0 to 1, Physical = Value
- uint8_t CD_ConsumerControlVolumeIncrement : 1; // Usage 0x000C00E9: Volume Increment, Value = 0 to 1, Physical = Value
- uint8_t CD_ConsumerControlVolumeDecrement : 1; // Usage 0x000C00EA: Volume Decrement, Value = 0 to 1, Physical = Value
- uint8_t CD_ConsumerControlAlConsumerControlConfiguration : 1; // Usage 0x000C0183: AL Consumer Control Configuration, Value = 0 to 1, Physical = Value
- uint8_t CD_ConsumerControlAlLocalMachineBrowser : 1; // Usage 0x000C0194: AL Local Machine Browser, Value = 0 to 1, Physical = Value
- uint8_t CD_ConsumerControlAlSpreadsheet : 1; // Usage 0x000C0186: AL Spreadsheet, Value = 0 to 1, Physical = Value
- uint8_t CD_ConsumerControlAlPresentationApp : 1; // Usage 0x000C0188: AL Presentation App, Value = 0 to 1, Physical = Value
- uint8_t CD_ConsumerControlAlEmailReader : 1; // Usage 0x000C018A: AL Email Reader, Value = 0 to 1, Physical = Value
- uint8_t CD_ConsumerControlDisplayBrightnessIncrement : 1; // Usage 0x000C006F: Display Brightness Increment, Value = 0 to 1, Physical = Value
- uint8_t CD_ConsumerControlDisplayBrightnessDecrement : 1; // Usage 0x000C0070: Display Brightness Decrement, Value = 0 to 1, Physical = Value
- uint8_t CD_ConsumerControlAlInternetBrowser : 1; // Usage 0x000C0196: AL Internet Browser, Value = 0 to 1, Physical = Value
- uint8_t CD_ConsumerControlAcSearch : 1; // Usage 0x000C0221: AC Search, Value = 0 to 1, Physical = Value
- uint8_t CD_ConsumerControlAcHome : 1; // Usage 0x000C0223: AC Home, Value = 0 to 1, Physical = Value
- uint8_t CD_ConsumerControlAcBack : 1; // Usage 0x000C0224: AC Back, Value = 0 to 1, Physical = Value
- uint8_t CD_ConsumerControlAcForward : 1; // Usage 0x000C0225: AC Forward, Value = 0 to 1, Physical = Value
- uint8_t CD_ConsumerControlAlCalculator : 1; // Usage 0x000C0192: AL Calculator, Value = 0 to 1, Physical = Value
- uint8_t CD_ConsumerControlAcRefresh : 1; // Usage 0x000C0227: AC Refresh, Value = 0 to 1, Physical = Value
- uint8_t CD_ConsumerControlAcBookmarks : 1; // Usage 0x000C022A: AC Bookmarks, Value = 0 to 1, Physical = Value
- uint8_t CD_ConsumerControlPower : 1; // Usage 0x000C0030: Power, Value = 0 to 1, Physical = Value
- } inputReport03_t;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement