[DINPUT] Fixed joystick device type for dinput8

Christian Costa titan.costa at wanadoo.fr
Tue May 25 16:37:49 CDT 2004


Hi,

The title says it all.

Christian, if the version of X-Plane uses dinput8, this might help.
Could you test it by applying this patch or update your current cvs once 
it is commited?

Changelog:
Fixed joystick device type for dinput8.

Christian Costa   titan.costa at wanadoo.fr

-------------- next part --------------
Index: joystick_linux.c
===================================================================
RCS file: /home/wine/wine/dlls/dinput/joystick_linux.c,v
retrieving revision 1.2
diff -u -r1.2 joystick_linux.c
--- joystick_linux.c	1 Mar 2004 21:32:03 -0000	1.2
+++ joystick_linux.c	25 May 2004 19:26:12 -0000
@@ -111,8 +111,10 @@
       lpddi->guidInstance	= GUID_Joystick;
       lpddi->guidProduct	= DInput_Wine_Joystick_GUID;
       /* we only support traditional joysticks for now */
-      lpddi->dwDevType	= DIDEVTYPE_JOYSTICK |
-	 		 (DIDEVTYPEJOYSTICK_TRADITIONAL<<8);
+      if (version >= 8)
+        lpddi->dwDevType	= DI8DEVTYPE_JOYSTICK | (DI8DEVTYPEJOYSTICK_STANDARD << 8);
+      else
+        lpddi->dwDevType	= DIDEVTYPE_JOYSTICK | (DIDEVTYPEJOYSTICK_TRADITIONAL << 8);
       strcpy(lpddi->tszInstanceName,	"Joystick");
       /* ioctl JSIOCGNAME(len) */
       strcpy(lpddi->tszProductName,	"Wine Joystick");
Index: joystick_linuxinput.c
===================================================================
RCS file: /home/wine/wine/dlls/dinput/joystick_linuxinput.c,v
retrieving revision 1.3
diff -u -r1.3 joystick_linuxinput.c
--- joystick_linuxinput.c	19 Apr 2004 02:59:22 -0000	1.3
+++ joystick_linuxinput.c	25 May 2004 19:26:14 -0000
@@ -189,7 +189,10 @@
   lpddi->guidProduct	= DInput_Wine_Joystick_GUID;
 
   lpddi->guidFFDriver = GUID_NULL;
-  lpddi->dwDevType    = DIDEVTYPE_JOYSTICK | (DIDEVTYPEJOYSTICK_TRADITIONAL<<8);
+  if (version >= 8)
+    lpddi->dwDevType    = DI8DEVTYPE_JOYSTICK | (DI8DEVTYPEJOYSTICK_STANDARD << 8);
+  else
+    lpddi->dwDevType    = DIDEVTYPE_JOYSTICK | (DIDEVTYPEJOYSTICK_TRADITIONAL << 8);
 
   strcpy(lpddi->tszInstanceName, "Joystick");
   /* ioctl JSIOCGNAME(len) */


More information about the wine-patches mailing list