diff options
author | Ruslan Sayfutdinov <ruslan@sayfutdinov.com> | 2022-12-08 16:45:30 +0000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-12-09 03:45:30 +1100 |
commit | 85ee55ff3becd29e1590376c3462c6a99c976fa0 (patch) | |
tree | 36ab093ee44919070ac260f8aaf2770871d14910 /tmk_core/protocol/usb_descriptor.c | |
parent | e06f50c489e02068465dfb3e5b3c7473006e6273 (diff) |
Detect host OS based on USB fingerprint (#18463)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
Diffstat (limited to 'tmk_core/protocol/usb_descriptor.c')
-rw-r--r-- | tmk_core/protocol/usb_descriptor.c | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/tmk_core/protocol/usb_descriptor.c b/tmk_core/protocol/usb_descriptor.c index c7d78be856..5ab9e3ff4f 100644 --- a/tmk_core/protocol/usb_descriptor.c +++ b/tmk_core/protocol/usb_descriptor.c @@ -45,6 +45,10 @@ # include "joystick.h" #endif +#ifdef OS_DETECTION_ENABLE +# include "os_detection.h" +#endif + // clang-format off /* @@ -1092,7 +1096,7 @@ const USB_Descriptor_String_t PROGMEM SerialNumberString = { * is called so that the descriptor details can be passed back and the appropriate descriptor sent back to the * USB host. */ -uint16_t get_usb_descriptor(const uint16_t wValue, const uint16_t wIndex, const void** const DescriptorAddress) { +uint16_t get_usb_descriptor(const uint16_t wValue, const uint16_t wIndex, const uint16_t wLength, const void** const DescriptorAddress) { const uint8_t DescriptorType = (wValue >> 8); const uint8_t DescriptorIndex = (wValue & 0xFF); const void* Address = NULL; @@ -1134,6 +1138,9 @@ uint16_t get_usb_descriptor(const uint16_t wValue, const uint16_t wIndex, const break; #endif } +#ifdef OS_DETECTION_ENABLE + process_wlength(wLength); +#endif break; case HID_DTYPE_HID: |