dinput mouse and keyboard dx3 capabilities

Robert Reif reif at earthlink.net
Mon Sep 20 21:22:59 CDT 2004


Add dx3 capabilities.
-------------- next part --------------
Index: dlls/dinput/keyboard.c
===================================================================
RCS file: /home/wine/wine/dlls/dinput/keyboard.c,v
retrieving revision 1.8
diff -u -r1.8 keyboard.c
--- dlls/dinput/keyboard.c	17 Sep 2004 18:10:41 -0000	1.8
+++ dlls/dinput/keyboard.c	21 Sep 2004 02:18:24 -0000
@@ -587,9 +587,15 @@
     lpDIDevCaps->dwFirmwareRevision = 100;
     lpDIDevCaps->dwHardwareRevision = 100;
     lpDIDevCaps->dwFFDriverVersion = 0;
+  } else if (lpDIDevCaps->dwSize == sizeof(DIDEVCAPS_DX3)) {
+    lpDIDevCaps->dwFlags = DIDC_ATTACHED;
+    lpDIDevCaps->dwDevType = DIDEVTYPE_KEYBOARD | (DIDEVTYPEKEYBOARD_UNKNOWN << 8);
+    lpDIDevCaps->dwAxes = 0;
+    lpDIDevCaps->dwButtons = 256;
+    lpDIDevCaps->dwPOVs = 0;
   } else {
-    /* DirectX 3.0 */
-    FIXME("DirectX 3.0 not supported....\n");
+    WARN("invalid parameter\n");
+    return DIERR_INVALIDPARAM;
   }
 
   return DI_OK;
Index: dlls/dinput/mouse.c
===================================================================
RCS file: /home/wine/wine/dlls/dinput/mouse.c,v
retrieving revision 1.11
diff -u -r1.11 mouse.c
--- dlls/dinput/mouse.c	17 Sep 2004 18:10:41 -0000	1.11
+++ dlls/dinput/mouse.c	21 Sep 2004 02:18:25 -0000
@@ -940,9 +940,15 @@
 	lpDIDevCaps->dwFirmwareRevision = 100;
 	lpDIDevCaps->dwHardwareRevision = 100;
 	lpDIDevCaps->dwFFDriverVersion = 0;
+    } else if (lpDIDevCaps->dwSize == sizeof(DIDEVCAPS_DX3)) {
+	lpDIDevCaps->dwFlags = DIDC_ATTACHED;
+	lpDIDevCaps->dwDevType = DIDEVTYPE_MOUSE | (DIDEVTYPEMOUSE_TRADITIONAL << 8);
+	lpDIDevCaps->dwAxes = 3;
+	lpDIDevCaps->dwButtons = 3;
+	lpDIDevCaps->dwPOVs = 0;
     } else {
-	/* DirectX 3.0 */
-	FIXME("DirectX 3.0 not supported....\n");
+        WARN("invalid parameter\n");
+        return DIERR_INVALIDPARAM;
     }
     
     return DI_OK;


More information about the wine-patches mailing list