Fixed report data alignment issues in the MouseHostWithParser demo when X and Y movem...
[pub/USBasp.git] / Demos / Host / LowLevel / MouseHostWithParser / MouseHostWithParser.c
index 63fce0d..8ea5e72 100644 (file)
@@ -260,12 +260,7 @@ void ProcessMouseReport(uint8_t* MouseReport)
                        if (!(FoundData))\r
                          continue;\r
                          \r
-                       int16_t DeltaMovement;\r
-                       \r
-                       if (ReportItem->Attributes.BitSize > 8)\r
-                         DeltaMovement = (int16_t)ReportItem->Value;\r
-                       else\r
-                         DeltaMovement = (int8_t)ReportItem->Value;\r
+                       int16_t DeltaMovement = (int16_t)(ReportItem->Value << (16 - ReportItem->Attributes.BitSize));\r
                        \r
                        /* Determine if the report is for the X or Y delta movement */\r
                        if (ReportItem->Attributes.Usage.Usage == USAGE_X)\r