This adds the product ids for the DualSense Edge to enable feature parity with the existing DualSense suppport.
I've tested this with the DualSense Edge hardware and these Windows games installed from Steam:
* Returnal * Death Stranding: Director's Cut * Overwatch 2
-- v2: hidclass.sys: Add DualSense Edge to device_strings. mmdevapi: Override product strings for DualSense Edge. winebus.sys: Identify DualSense Edge as a DualSense controller.
From: Nell Hardcastle nell@dev-nell.com
The DualSense Edge implements extra features (haptics and adaptive triggers) in the same way as the DualSense. --- dlls/winebus.sys/unixlib.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/dlls/winebus.sys/unixlib.c b/dlls/winebus.sys/unixlib.c index 74b4992f07b..82eab3717ca 100644 --- a/dlls/winebus.sys/unixlib.c +++ b/dlls/winebus.sys/unixlib.c @@ -72,7 +72,9 @@ BOOL is_dualshock4_gamepad(WORD vid, WORD pid)
BOOL is_dualsense_gamepad(WORD vid, WORD pid) { - if (vid == 0x054c && pid == 0x0ce6) return TRUE; + if (vid != 0x054c) return FALSE; + if (pid == 0x0ce6) return TRUE; /* DualSense */ + if (pid == 0x0df2) return TRUE; /* DualSense Edge */ return FALSE; }
From: Nell Hardcastle nell@dev-nell.com
Enables audio device features for the DualSense Edge. --- dlls/mmdevapi/devenum.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/dlls/mmdevapi/devenum.c b/dlls/mmdevapi/devenum.c index 10037a7affe..246625286b8 100644 --- a/dlls/mmdevapi/devenum.c +++ b/dlls/mmdevapi/devenum.c @@ -294,6 +294,7 @@ static const struct product_name_overrides product_name_overrides[] = { /* Sony controllers */ { .id = L"VID_054C&PID_0CE6", .product = L"Wireless Controller" }, + { .id = L"VID_054C&PID_0DF2", .product = L"Wireless Controller" }, };
static const WCHAR *find_product_name_override(const WCHAR *device_id)
From: Nell Hardcastle nell@dev-nell.com
--- dlls/hidclass.sys/device.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/dlls/hidclass.sys/device.c b/dlls/hidclass.sys/device.c index d673a8c2e88..8fde1fe10a5 100644 --- a/dlls/hidclass.sys/device.c +++ b/dlls/hidclass.sys/device.c @@ -403,6 +403,7 @@ static const struct device_strings device_strings[] = { .id = L"VID_054C&PID_09CC", .product = L"Wireless Controller" }, { .id = L"VID_054C&PID_0BA0", .product = L"Wireless Controller" }, { .id = L"VID_054C&PID_0CE6", .product = L"Wireless Controller" }, + { .id = L"VID_054C&PID_0DF2", .product = L"Wireless Controller" }, };
static const WCHAR *find_device_string( const WCHAR *device_id, ULONG index )
On Mon Nov 20 16:39:21 2023 +0000, Rémi Bernon wrote:
NP: Julliard will probably fix it for you but we add a trailing '.' at the end of the commits message titles.
Thank you! I've updated the commit messages.