https://bugs.winehq.org/show_bug.cgi?id=54838
Bug ID: 54838 Summary: Wine names dinput devices (and likely other HID devices) incorrectly Product: Wine Version: 8.5 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: dinput Assignee: wine-bugs@winehq.org Reporter: burneddi@protonmail.com Distribution: ---
Joysticks and other dinput devices have the wrong instance and product names on Wine as compared to Windows.
I will illustrate the problem by example. I have a joystick that reports the following information: $ udevadm info -n /dev/input/by-id/usb-VKB-Sim_©_Alex_Oz_2021_VKBsim_Gladiator_EVO_R-event-joystick [...] E: ID_MODEL_ENC=\x20VKBsim\x20Gladiator\x20EVO\x20\x20R\x20\x20 E: ID_VENDOR_ENC=VKB-Sim\x20©\x20Alex\x20Oz\x202021 [...]
Under Wine, this device is identified by apps as well as the Game Controllers interface in the Wine Control Panel as "VKB-Sim © Alex Oz 2021 VKBsim Gladiator EVO R". On Windows it is identified as " VKBsim Gladiator EVO R". In other words, the Wine's dinput's tszInstanceName and tszProductName fields contain the vendor field concatenated with the model field, whereas it should only contain the model field.
This breaks some applications.
I discovered this issue when Star Citizen failed to save configuration for the joystick, which turned out to be because of the copyright symbol in the device name as exposed by Wine. While config saving breaking due to the copyright symbol is technically a bug in the game, it does not manifest on Windows, because on Windows the name of the instance/product does not include the vendor part and therefore does not include the copyright symbol.
It is also possible that game controller configuration software might be tripped up by this discrepancy.