From b16fb11890b59a80816d6906e7b7b4ce52f88555 Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Tue, 5 Feb 2019 13:09:39 -0600 Subject: [PATCH] hid: Don't sign-extend 16-bit values. Some controllers (including, with the previous patch, any reported through SDL) may report a logical range of [0,65535], which takes up 16 bits but should not be sign-extended. Signed-off-by: Zebediah Figura Signed-off-by: Aric Stewart Signed-off-by: Alexandre Julliard --- dlls/hid/hidp.c | 4 ---- 1 file changed, 4 deletions(-) diff --git a/dlls/hid/hidp.c b/dlls/hid/hidp.c index f9978038e39..15d827edf1f 100644 --- a/dlls/hid/hidp.c +++ b/dlls/hid/hidp.c @@ -277,8 +277,6 @@ NTSTATUS WINAPI HidP_GetScaledUsageValue(HIDP_REPORT_TYPE ReportType, USAGE Usag element->valueStartBit, element->bitCount, &rawValue); if (rc != HIDP_STATUS_SUCCESS) return rc; - if (element->caps.value.BitSize == 16) - rawValue = (short)rawValue; *UsageValue = rawValue; } @@ -925,8 +923,6 @@ NTSTATUS WINAPI HidP_GetData(HIDP_REPORT_TYPE ReportType, HIDP_DATA *DataList, U element->valueStartBit, element->bitCount, &v); if (rc != HIDP_STATUS_SUCCESS) return rc; - if (element->caps.value.BitSize == 16) - v = (short)v; DataList[uCount].DataIndex = element->caps.value.u.NotRange.DataIndex; DataList[uCount].u.RawValue = v; }