[PATCH 4/4] hidclass.sys: Add input.inf that matches all HID devices.

Arkadiusz Hiler ahiler at codeweavers.com
Fri Jan 21 10:10:44 CST 2022


This makes it so that all the devices on the HID bus now have Class,
ClassGUID, Driver and DriverDesc register properties populated.

Without having at least Driver and Class set SDL2 refuses to use HID
devices directly.

Signed-off-by: Arkadiusz Hiler <ahiler at codeweavers.com>
---
 dlls/hidclass.sys/Makefile.in |  2 ++
 dlls/hidclass.sys/hidclass.rc | 20 ++++++++++++++++++++
 dlls/hidclass.sys/input.inf   | 13 +++++++++++++
 loader/wine.inf.in            |  1 +
 4 files changed, 36 insertions(+)
 create mode 100644 dlls/hidclass.sys/hidclass.rc
 create mode 100644 dlls/hidclass.sys/input.inf

diff --git a/dlls/hidclass.sys/Makefile.in b/dlls/hidclass.sys/Makefile.in
index 25a0396dabe..788828ad66a 100644
--- a/dlls/hidclass.sys/Makefile.in
+++ b/dlls/hidclass.sys/Makefile.in
@@ -5,3 +5,5 @@ IMPORTS   = hal ntoskrnl user32 hidparse
 C_SRCS = \
 	device.c \
 	pnp.c
+
+RC_SRCS = hidclass.rc
diff --git a/dlls/hidclass.sys/hidclass.rc b/dlls/hidclass.sys/hidclass.rc
new file mode 100644
index 00000000000..409bdc16b45
--- /dev/null
+++ b/dlls/hidclass.sys/hidclass.rc
@@ -0,0 +1,20 @@
+/*
+ * Copyright 2022 Arkadiusz Hiler
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+/* @makedep: input.inf */
+1 WINE_DATA_FILE input.inf
diff --git a/dlls/hidclass.sys/input.inf b/dlls/hidclass.sys/input.inf
new file mode 100644
index 00000000000..d9222b13672
--- /dev/null
+++ b/dlls/hidclass.sys/input.inf
@@ -0,0 +1,13 @@
+[Version]
+Signature="$CHICAGO$"
+ClassGuid={745a17a0-74d3-11d0-b6fe-00a0c90f57da}
+Class=HIDClass
+
+[Manufacturer]
+Wine=mfg_section
+
+[mfg_section]
+Wine HID device=device_section,HID\
+
+[device_section.Services]
+AddService = ,0x2
diff --git a/loader/wine.inf.in b/loader/wine.inf.in
index c0251934dfc..afa344ffa80 100644
--- a/loader/wine.inf.in
+++ b/loader/wine.inf.in
@@ -5717,6 +5717,7 @@ protocol,"@%11%\ws2_32.dll,-3"
 services,"@%11%\ws2_32.dll,-4"
 
 [InfFiles]
+input.inf,"@%12%\hidclass.sys,-1"
 winebus.inf,"@%12%\winebus.sys,-1"
 winehid.inf,"@%12%\winehid.sys,-1"
 wineusb.inf,"@%12%\wineusb.sys,-1"
-- 
2.34.1




More information about the wine-devel mailing list