dinput: joydevs[id].name (EVIOCGNAME) is product name, joydevs[id].device is a path

Vincent Pelletier plr.vincent at gmail.com
Sat Feb 7 07:16:15 CST 2009


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.

-- 
Vincent Pelletier
-------------- next part --------------
From 7afd0e6755686c42e1da29f60177c2c1f214d3f4 Mon Sep 17 00:00:00 2001
From: Vincent Pelletier <plr.vincent at gmail.com>
Date: Sat, 7 Feb 2009 14:09:40 +0100
Subject: dinput: joydevs[id].name (EVIOCGNAME) is product name, joydevs[id].device is a path.

---
 dlls/dinput/joystick_linuxinput.c |    8 ++++----
 1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/dlls/dinput/joystick_linuxinput.c b/dlls/dinput/joystick_linuxinput.c
index c24ade9..43c3b75 100644
--- a/dlls/dinput/joystick_linuxinput.c
+++ b/dlls/dinput/joystick_linuxinput.c
@@ -361,8 +361,8 @@ static void fill_joystick_dideviceinstanceA(LPDIDEVICEINSTANCEA lpddi, DWORD ver
     else
         lpddi->dwDevType = DIDEVTYPE_JOYSTICK | (DIDEVTYPEJOYSTICK_TRADITIONAL << 8);
 
-    strcpy(lpddi->tszInstanceName, joydevs[id].name);
-    strcpy(lpddi->tszProductName, joydevs[id].device);
+    strcpy(lpddi->tszInstanceName, joydevs[id].device);
+    strcpy(lpddi->tszProductName, joydevs[id].name);
 }
 
 static void fill_joystick_dideviceinstanceW(LPDIDEVICEINSTANCEW lpddi, DWORD version, int id)
@@ -382,8 +382,8 @@ static void fill_joystick_dideviceinstanceW(LPDIDEVICEINSTANCEW lpddi, DWORD ver
     else
         lpddi->dwDevType = DIDEVTYPE_JOYSTICK | (DIDEVTYPEJOYSTICK_TRADITIONAL << 8);
 
-    MultiByteToWideChar(CP_ACP, 0, joydevs[id].name, -1, lpddi->tszInstanceName, MAX_PATH);
-    MultiByteToWideChar(CP_ACP, 0, joydevs[id].device, -1, lpddi->tszProductName, MAX_PATH);
+    MultiByteToWideChar(CP_ACP, 0, joydevs[id].device, -1, lpddi->tszInstanceName, MAX_PATH);
+    MultiByteToWideChar(CP_ACP, 0, joydevs[id].name, -1, lpddi->tszProductName, MAX_PATH);
 }
 
 static BOOL joydev_enum_deviceA(DWORD dwDevType, DWORD dwFlags, LPDIDEVICEINSTANCEA lpddi, DWORD version, int id)
-- 
1.5.6.5



More information about the wine-patches mailing list