Further clean up the mouse report descriptor and add related macros.
This commit is contained in:
@@ -75,8 +75,9 @@ uint8_t UsbMouseReportDescriptor[USB_MOUSE_REPORT_DESCRIPTOR_LENGTH] = {
|
|||||||
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE),
|
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE),
|
||||||
|
|
||||||
HID_RI_COLLECTION(8, HID_RI_COLLECTION_LOGICAL),
|
HID_RI_COLLECTION(8, HID_RI_COLLECTION_LOGICAL),
|
||||||
// ------------------------------ Vertical wheel res multiplier
|
|
||||||
0x09, 0x48, // USAGE (Resolution Multiplier)
|
// Vertical wheel resolution multiplier
|
||||||
|
HID_RI_USAGE(8, HID_RI_USAGE_RESOLUTION_MULTIPLIER),
|
||||||
0x15, 0x00, // LOGICAL_MINIMUM (0)
|
0x15, 0x00, // LOGICAL_MINIMUM (0)
|
||||||
0x25, 0x01, // LOGICAL_MAXIMUM (1)
|
0x25, 0x01, // LOGICAL_MAXIMUM (1)
|
||||||
0x35, 0x01, // PHYSICAL_MINIMUM (1)
|
0x35, 0x01, // PHYSICAL_MINIMUM (1)
|
||||||
@@ -86,27 +87,30 @@ uint8_t UsbMouseReportDescriptor[USB_MOUSE_REPORT_DESCRIPTOR_LENGTH] = {
|
|||||||
0xa4, // PUSH
|
0xa4, // PUSH
|
||||||
0xb1, 0x02, // FEATURE (Data,Var,Abs)
|
0xb1, 0x02, // FEATURE (Data,Var,Abs)
|
||||||
|
|
||||||
// ------------------------------ Vertical wheel
|
// Vertical wheel
|
||||||
0x09, 0x38, // USAGE (Wheel)
|
HID_RI_USAGE(8, HID_RI_USAGE_WHEEL),
|
||||||
0x15, 0x81, // LOGICAL_MINIMUM (-127)
|
0x15, 0x81, // LOGICAL_MINIMUM (-127)
|
||||||
0x25, 0x7f, // LOGICAL_MAXIMUM (127)
|
0x25, 0x7f, // LOGICAL_MAXIMUM (127)
|
||||||
0x35, 0x00, // PHYSICAL_MINIMUM (0) - reset physical
|
0x35, 0x00, // PHYSICAL_MINIMUM (0) - reset physical
|
||||||
0x45, 0x00, // PHYSICAL_MAXIMUM (0)
|
0x45, 0x00, // PHYSICAL_MAXIMUM (0)
|
||||||
0x75, 0x08, // REPORT_SIZE (8)
|
0x75, 0x08, // REPORT_SIZE (8)
|
||||||
0x81, 0x06, // INPUT (Data,Var,Rel)
|
0x81, 0x06, // INPUT (Data,Var,Rel)
|
||||||
HID_RI_END_COLLECTION(0), // END_COLLECTION
|
HID_RI_END_COLLECTION(0),
|
||||||
|
|
||||||
HID_RI_COLLECTION(8, HID_RI_COLLECTION_LOGICAL),
|
HID_RI_COLLECTION(8, HID_RI_COLLECTION_LOGICAL),
|
||||||
// ------------------------------ Horizontal wheel res multiplier
|
|
||||||
0x09, 0x48, // USAGE (Resolution Multiplier)
|
// Horizontal wheel resolution multiplier
|
||||||
|
HID_RI_USAGE(8, HID_RI_USAGE_RESOLUTION_MULTIPLIER),
|
||||||
0xb4, // POP
|
0xb4, // POP
|
||||||
0xb1, 0x02, // FEATURE (Data,Var,Abs)
|
0xb1, 0x02, // FEATURE (Data,Var,Abs)
|
||||||
// ------------------------------ Padding for Feature report
|
|
||||||
|
// Padding
|
||||||
0x35, 0x00, // PHYSICAL_MINIMUM (0) - reset physical
|
0x35, 0x00, // PHYSICAL_MINIMUM (0) - reset physical
|
||||||
0x45, 0x00, // PHYSICAL_MAXIMUM (0)
|
0x45, 0x00, // PHYSICAL_MAXIMUM (0)
|
||||||
0x75, 0x04, // REPORT_SIZE (4)
|
0x75, 0x04, // REPORT_SIZE (4)
|
||||||
0xb1, 0x03, // FEATURE (Cnst,Var,Abs)
|
0xb1, 0x03, // FEATURE (Cnst,Var,Abs)
|
||||||
// ------------------------------ Horizontal wheel
|
|
||||||
|
// Horizontal wheel
|
||||||
0x05, 0x0c, // USAGE_PAGE (Consumer Devices)
|
0x05, 0x0c, // USAGE_PAGE (Consumer Devices)
|
||||||
0x0a, 0x38, 0x02, // USAGE (AC Pan)
|
0x0a, 0x38, 0x02, // USAGE (AC Pan)
|
||||||
0x15, 0x81, // LOGICAL_MINIMUM (-127)
|
0x15, 0x81, // LOGICAL_MINIMUM (-127)
|
||||||
|
|||||||
@@ -12,12 +12,14 @@
|
|||||||
#define HID_RI_USAGE_PAGE_LEDS 0x08
|
#define HID_RI_USAGE_PAGE_LEDS 0x08
|
||||||
#define HID_RI_USAGE_PAGE_MOUSE_BUTTONS 0x09
|
#define HID_RI_USAGE_PAGE_MOUSE_BUTTONS 0x09
|
||||||
|
|
||||||
#define HID_RI_USAGE_POINTER 0x01
|
#define HID_RI_USAGE_POINTER 0x01
|
||||||
#define HID_RI_USAGE_MOUSE 0x02
|
#define HID_RI_USAGE_MOUSE 0x02
|
||||||
#define HID_RI_USAGE_JOYSTICK 0x04
|
#define HID_RI_USAGE_JOYSTICK 0x04
|
||||||
#define HID_RI_USAGE_KEYBOARD 0x06
|
#define HID_RI_USAGE_KEYBOARD 0x06
|
||||||
#define HID_RI_USAGE_X 0x30
|
#define HID_RI_USAGE_X 0x30
|
||||||
#define HID_RI_USAGE_Y 0x31
|
#define HID_RI_USAGE_Y 0x31
|
||||||
|
#define HID_RI_USAGE_WHEEL 0x38
|
||||||
|
#define HID_RI_USAGE_RESOLUTION_MULTIPLIER 0x48
|
||||||
|
|
||||||
#define HID_RI_COLLECTION_PHYSICAL 0x00
|
#define HID_RI_COLLECTION_PHYSICAL 0x00
|
||||||
#define HID_RI_COLLECTION_APPLICATION 0x01
|
#define HID_RI_COLLECTION_APPLICATION 0x01
|
||||||
|
|||||||
Reference in New Issue
Block a user