Module: wine Branch: master Commit: a60c5e696131b47c5d1959adbdad26be53481b8e URL: https://source.winehq.org/git/wine.git/?a=commit;h=a60c5e696131b47c5d1959adb...
Author: Arkadiusz Hiler ahiler@codeweavers.com Date: Thu Dec 23 15:33:08 2021 +0100
user32: Uppercase the RawInput device names sans the GUID.
This is a preparation for a patch that changes setupapi to return lowercased device paths, which is the source of RawInput device name here. On Windows RawInput returns mostly uppercase names (except the GUID) and we want to keep that behavior.
Signed-off-by: RĂ©mi Bernon rbernon@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/user32/rawinput.c | 4 ++++ 1 file changed, 4 insertions(+)
diff --git a/dlls/user32/rawinput.c b/dlls/user32/rawinput.c index f3dc4ae67de..a774f12231b 100644 --- a/dlls/user32/rawinput.c +++ b/dlls/user32/rawinput.c @@ -101,6 +101,7 @@ static struct device *add_device(HDEVINFO set, SP_DEVICE_INTERFACE_DATA *iface) struct device *device = NULL; UINT32 handle; HANDLE file; + WCHAR *pos; DWORD i, size, type;
SetupDiGetDeviceInterfaceDetailW(set, iface, NULL, 0, &size, &device_data); @@ -125,6 +126,9 @@ static struct device *add_device(HDEVINFO set, SP_DEVICE_INTERFACE_DATA *iface) detail->cbSize = sizeof(SP_DEVICE_INTERFACE_DETAIL_DATA_W); SetupDiGetDeviceInterfaceDetailW(set, iface, detail, size, NULL, NULL);
+ /* upper case everything but the GUID */ + for (pos = detail->DevicePath; *pos && *pos != '{'; pos++) *pos = towupper(*pos); + file = CreateFileW(detail->DevicePath, GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, 0); if (file == INVALID_HANDLE_VALUE)