forked from mfulz_github/qmk_firmware
Fixed report data alignment issues in the MouseHostWithParser demo when X and Y movement data size is not a multiple of 8 bits.
Fixed HID Report Descriptor Parser not correctly resetting internal states when a REPORT ID element is encountered.
This commit is contained in:
parent
3472af91a5
commit
7f3f39b575
|
@ -260,12 +260,7 @@ void ProcessMouseReport(uint8_t* MouseReport)
|
|||
if (!(FoundData))
|
||||
continue;
|
||||
|
||||
int16_t DeltaMovement;
|
||||
|
||||
if (ReportItem->Attributes.BitSize > 8)
|
||||
DeltaMovement = (int16_t)ReportItem->Value;
|
||||
else
|
||||
DeltaMovement = (int8_t)ReportItem->Value;
|
||||
int16_t DeltaMovement = (int16_t)(ReportItem->Value << (16 - ReportItem->Attributes.BitSize));
|
||||
|
||||
/* Determine if the report is for the X or Y delta movement */
|
||||
if (ReportItem->Attributes.Usage.Usage == USAGE_X)
|
||||
|
|
|
@ -113,6 +113,8 @@ uint8_t USB_ProcessHIDReport(const uint8_t* ReportData, uint16_t ReportSize, HID
|
|||
break;
|
||||
case (TYPE_GLOBAL | TAG_GLOBAL_REPORTID):
|
||||
CurrStateTable->ReportID = ReportItemData;
|
||||
BitOffsetIn = 0;
|
||||
BitOffsetOut = 0;
|
||||
break;
|
||||
case (TYPE_LOCAL | TAG_LOCAL_USAGE):
|
||||
if (UsageStackSize == HID_USAGE_STACK_DEPTH)
|
||||
|
|
|
@ -73,6 +73,8 @@
|
|||
* - Fixed Mouse/Keyboard demos not performing the correct arithmetic on the Idle period at the right times (thanks to Brian Dickman)
|
||||
* - Fixed GenericHID failing HID class tests due to incorrect Logical Minimum and Logical Maximum values (thanks to Søren Greiner)
|
||||
* - Fixed incorrect PIPE_EPNUM_MASK mask causing pipe failures on devices with endpoint addresses of 8 and above (thanks to John Andrews)
|
||||
* - Fixed report data alignment issues in the MouseHostWithParser demo when X and Y movement data size is not a multiple of 8 bits
|
||||
* - Fixed HID Report Descriptor Parser not correctly resetting internal states when a REPORT ID element is encountered
|
||||
*
|
||||
*
|
||||
* \section Sec_ChangeLog090605 Version 090605
|
||||
|
|
Loading…
Reference in New Issue