[PATCH 3/5] winebus.sys: Stop enforcing input number for gamepads.
Rémi Bernon
rbernon at codeweavers.com
Wed Aug 18 02:31:12 CDT 2021
The &IG_00 suffix is now automatically added by xinput.sys, and we use
a compatible id instead to match devices.
Signed-off-by: Rémi Bernon <rbernon at codeweavers.com>
---
dlls/winebus.sys/bus_iohid.c | 5 +----
dlls/winebus.sys/bus_sdl.c | 5 +----
dlls/winebus.sys/bus_udev.c | 2 --
3 files changed, 2 insertions(+), 10 deletions(-)
diff --git a/dlls/winebus.sys/bus_iohid.c b/dlls/winebus.sys/bus_iohid.c
index 4eb0ea0e4b3..8ba90714071 100644
--- a/dlls/winebus.sys/bus_iohid.c
+++ b/dlls/winebus.sys/bus_iohid.c
@@ -289,7 +289,6 @@ static void handle_DeviceMatchingCallback(void *context, IOReturn result, void *
CFStringRef str = NULL;
WCHAR serial_string[256];
BOOL is_gamepad = FALSE;
- WORD input = -1;
TRACE("OS/X IOHID Device Added %p\n", IOHIDDevice);
@@ -351,10 +350,8 @@ static void handle_DeviceMatchingCallback(void *context, IOReturn result, void *
is_gamepad = (axes == 6 && buttons >= 14);
}
}
- if (is_gamepad)
- input = 0;
- device = bus_create_hid_device(busidW, vid, pid, input,
+ device = bus_create_hid_device(busidW, vid, pid, -1,
version, uid, str ? serial_string : NULL, is_gamepad,
&iohid_vtbl, sizeof(struct platform_private));
if (!device)
diff --git a/dlls/winebus.sys/bus_sdl.c b/dlls/winebus.sys/bus_sdl.c
index 84e3ef20664..c2b0ad17c95 100644
--- a/dlls/winebus.sys/bus_sdl.c
+++ b/dlls/winebus.sys/bus_sdl.c
@@ -735,7 +735,6 @@ static void try_add_device(unsigned int index)
WCHAR serial[34] = {0};
char guid_str[34];
BOOL is_xbox_gamepad;
- WORD input = -1;
SDL_Joystick* joystick;
SDL_JoystickID id;
@@ -786,10 +785,8 @@ static void try_add_device(unsigned int index)
button_count = pSDL_JoystickNumButtons(joystick);
is_xbox_gamepad = (axis_count == 6 && button_count >= 14);
}
- if (is_xbox_gamepad)
- input = 0;
- device = bus_create_hid_device(sdl_busidW, vid, pid, input, version, index,
+ device = bus_create_hid_device(sdl_busidW, vid, pid, -1, version, index,
serial, is_xbox_gamepad, &sdl_vtbl, sizeof(struct platform_private));
if (device)
diff --git a/dlls/winebus.sys/bus_udev.c b/dlls/winebus.sys/bus_udev.c
index 77a242a6087..1a51a813a35 100644
--- a/dlls/winebus.sys/bus_udev.c
+++ b/dlls/winebus.sys/bus_udev.c
@@ -1118,8 +1118,6 @@ static void try_add_device(struct udev_device *dev)
is_gamepad = (axes == 6 && buttons >= 14);
}
#endif
- if (input == (WORD)-1 && is_gamepad)
- input = 0;
TRACE("Found udev device %s (vid %04x, pid %04x, version %04x, input %d, serial %s)\n",
debugstr_a(devnode), vid, pid, version, input, debugstr_w(serial));
--
2.32.0
More information about the wine-devel
mailing list