dinput: joydevs[id].name (EVIOCGNAME) is product name, joydevs[id].device is a path
Vitaliy Margolen
wine-devel at kievinfo.com
Sat Feb 7 12:25:56 CST 2009
Vincent Pelletier wrote:
> joydevs[id].name value comes from EVIOCGNAME iotcl, and is the product name.
>
> I think joystick device path qualifies as a "Friendly name for the instance"
> (as defined for tszInstanceName on MSDN).
>
> If not, please tell me and I will extend the patch to generate a "Joystick %i"
> name, or maybe put joydevs[id].name in both fields.
>
> - strcpy(lpddi->tszInstanceName, joydevs[id].name);
> - strcpy(lpddi->tszProductName, joydevs[id].device);
> + strcpy(lpddi->tszInstanceName, joydevs[id].device);
> + strcpy(lpddi->tszProductName, joydevs[id].name);
No this is not entirely correct. Native doesn't return any device paths. But
it does return proper joystick name:
Wine:
Instance: Logitech Logitech Dual Action
ProductName: /dev/input/event7
Win XP:
Instance: Logitech Dual Action USB
ProductName: Logitech Dual Action USB
Another joystick:
Wine:
Instance: Logitech Logitech MOMO Racing
ProductName: /dev/input/event7
Win XP:
Instance: Logitech MOMO Racing USB
ProductName: Logitech MOMO Racing USB
So I'd suggest copying name into both places. I think some applications
looking for particular information there. And append "evdev?" at the end so
we can tell how it's handled.
Vitaliy.
More information about the wine-devel
mailing list