Clip mouse report values to the logical range from the USB descriptor. (#26195)

This commit is contained in:
George Norton
2026-05-23 04:08:44 +01:00
committed by GitHub
parent a3caec1580
commit 6ee28ac86f
2 changed files with 12 additions and 12 deletions
+4 -4
View File
@@ -194,21 +194,21 @@ typedef struct {
} PACKED report_programmable_button_t;
#ifdef MOUSE_EXTENDED_REPORT
# define MOUSE_REPORT_XY_MIN INT16_MIN
# define MOUSE_REPORT_XY_MIN (INT16_MIN + 1)
# define MOUSE_REPORT_XY_MAX INT16_MAX
typedef int16_t mouse_xy_report_t;
#else
# define MOUSE_REPORT_XY_MIN INT8_MIN
# define MOUSE_REPORT_XY_MIN (INT8_MIN + 1)
# define MOUSE_REPORT_XY_MAX INT8_MAX
typedef int8_t mouse_xy_report_t;
#endif
#ifdef WHEEL_EXTENDED_REPORT
# define MOUSE_REPORT_HV_MIN INT16_MIN
# define MOUSE_REPORT_HV_MIN (INT16_MIN + 1)
# define MOUSE_REPORT_HV_MAX INT16_MAX
typedef int16_t mouse_hv_report_t;
#else
# define MOUSE_REPORT_HV_MIN INT8_MIN
# define MOUSE_REPORT_HV_MIN (INT8_MIN + 1)
# define MOUSE_REPORT_HV_MAX INT8_MAX
typedef int8_t mouse_hv_report_t;
#endif
+8 -8
View File
@@ -153,13 +153,13 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM SharedReport[] = {
HID_RI_USAGE(8, 0x30), // X
HID_RI_USAGE(8, 0x31), // Y
# ifndef MOUSE_EXTENDED_REPORT
HID_RI_LOGICAL_MINIMUM(8, -127),
HID_RI_LOGICAL_MAXIMUM(8, 127),
HID_RI_LOGICAL_MINIMUM(8, MOUSE_REPORT_XY_MIN),
HID_RI_LOGICAL_MAXIMUM(8, MOUSE_REPORT_XY_MAX),
HID_RI_REPORT_COUNT(8, 0x02),
HID_RI_REPORT_SIZE(8, 0x08),
# else
HID_RI_LOGICAL_MINIMUM(16, -32767),
HID_RI_LOGICAL_MAXIMUM(16, 32767),
HID_RI_LOGICAL_MINIMUM(16, MOUSE_REPORT_XY_MIN),
HID_RI_LOGICAL_MAXIMUM(16, MOUSE_REPORT_XY_MAX),
HID_RI_REPORT_COUNT(8, 0x02),
HID_RI_REPORT_SIZE(8, 0x10),
# endif
@@ -186,13 +186,13 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM SharedReport[] = {
// Vertical wheel (1 or 2 bytes)
HID_RI_USAGE(8, 0x38), // Wheel
# ifndef WHEEL_EXTENDED_REPORT
HID_RI_LOGICAL_MINIMUM(8, -127),
HID_RI_LOGICAL_MAXIMUM(8, 127),
HID_RI_LOGICAL_MINIMUM(8, MOUSE_REPORT_HV_MIN),
HID_RI_LOGICAL_MAXIMUM(8, MOUSE_REPORT_HV_MAX),
HID_RI_REPORT_COUNT(8, 0x01),
HID_RI_REPORT_SIZE(8, 0x08),
# else
HID_RI_LOGICAL_MINIMUM(16, -32767),
HID_RI_LOGICAL_MAXIMUM(16, 32767),
HID_RI_LOGICAL_MINIMUM(16, MOUSE_REPORT_HV_MIN),
HID_RI_LOGICAL_MAXIMUM(16, MOUSE_REPORT_HV_MAX),
HID_RI_REPORT_COUNT(8, 0x01),
HID_RI_REPORT_SIZE(8, 0x10),
# endif