aboutsummaryrefslogtreecommitdiff
path: root/tmk_core/protocol/usb_descriptor.c
diff options
context:
space:
mode:
authoreynsai <47629346+eynsai@users.noreply.github.com>2024-10-06 05:26:55 -0400
committerGitHub <noreply@github.com>2024-10-06 11:26:55 +0200
commit2cb35373c6ecc4341b538cc5ad37accf3e5030e4 (patch)
treebd578fdeceb031dc54e43a8274255c58781a0db0 /tmk_core/protocol/usb_descriptor.c
parentbf6de46d7fd9ab185c57c1ebb9372ea980846040 (diff)
Extended wheel reports (#24422)
extended wheel reports
Diffstat (limited to 'tmk_core/protocol/usb_descriptor.c')
-rw-r--r--tmk_core/protocol/usb_descriptor.c24
1 files changed, 19 insertions, 5 deletions
diff --git a/tmk_core/protocol/usb_descriptor.c b/tmk_core/protocol/usb_descriptor.c
index 7454c9a7c4..0ac02bb19f 100644
--- a/tmk_core/protocol/usb_descriptor.c
+++ b/tmk_core/protocol/usb_descriptor.c
@@ -165,20 +165,34 @@ const USB_Descriptor_HIDReport_Datatype_t PROGMEM SharedReport[] = {
# endif
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE),
- // Vertical wheel (1 byte)
- HID_RI_USAGE(8, 0x38), // Wheel
+ // 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_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_REPORT_COUNT(8, 0x01),
+ HID_RI_REPORT_SIZE(8, 0x10),
+# endif
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE),
- // Horizontal wheel (1 byte)
- HID_RI_USAGE_PAGE(8, 0x0C), // Consumer
- HID_RI_USAGE(16, 0x0238), // AC Pan
+ // Horizontal wheel (1 or 2 bytes)
+ HID_RI_USAGE_PAGE(8, 0x0C),// Consumer
+ HID_RI_USAGE(16, 0x0238), // AC Pan
+# ifndef WHEEL_EXTENDED_REPORT
HID_RI_LOGICAL_MINIMUM(8, -127),
HID_RI_LOGICAL_MAXIMUM(8, 127),
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_REPORT_COUNT(8, 0x01),
+ HID_RI_REPORT_SIZE(8, 0x10),
+# endif
HID_RI_INPUT(8, HID_IOF_DATA | HID_IOF_VARIABLE | HID_IOF_RELATIVE),
HID_RI_END_COLLECTION(0),
HID_RI_END_COLLECTION(0),