Commit Graph

159 Commits

Author SHA1 Message Date
Vitaliy Margolen 9441d898f7 dinput: Make newly created device append itself to Direct Input's list. 2011-01-19 12:58:01 +01:00
Vitaliy Margolen 6b30480021 dinput: COM cleanup - use interfaces instead of vtbl. Combine both Unicode and ASCII interfaces into the same classes. 2011-01-10 12:41:20 +01:00
Vitaliy Margolen 9594be7f79 dinput: Change internal check_dinput_hooks method to take W iface. 2011-01-10 11:02:16 +01:00
Vitaliy Margolen 15216098e0 dinput: COM cleanup - use proper DirectInput interface with IUknown calls. 2011-01-10 10:58:14 +01:00
Vitaliy Margolen 7b47282625 dinput: More COM cleanup for IDirectInput - use interfaces instead of typecasts. 2011-01-10 10:58:06 +01:00
Vitaliy Margolen 179b862738 dinput: Rename IDirectInputDevice2AImpl into IDirectInputDeviceImpl. 2011-01-03 16:46:41 +01:00
Vitaliy Margolen 2774d40463 dinput: Convert DirectInput to using interface instead of vtbl. 2010-12-29 10:48:32 +01:00
Alexandre Julliard f4d0d638e8 dinput: Convert dll registration to the IRegistrar mechanism. 2010-12-07 12:54:24 +01:00
Michael Stefaniuc 6d7d1b5850 dinput: Use an iface instead of a vtbl pointer in IClassFactoryImpl. 2010-12-05 16:43:09 +01:00
Detlef Riekenberg 5a195bda98 dinput: Add the riid for an unsupported interface to a FIXME. 2010-04-28 09:19:47 -05:00
Reece Dunn a2c41b72f8 Don't generate FIXME warnings for DllCanUnloadNow. 2010-01-06 10:59:51 +01:00
Vitaliy Margolen 29561f492e dinput: Improve dumping of DIACTIONFORMAT. 2009-11-30 12:49:04 +01:00
Vitaliy Margolen e1d6e3b258 dinput: Fix definitions to match PSDK. 2009-11-30 12:49:00 +01:00
Stefan Dösinger 024dcba89a dinput: Make the creation functions hookable. 2009-10-14 12:21:06 +02:00
Paul TBBle Hampson 98c1c8e741 dinput: Add missing newline to trace message. 2009-04-20 17:20:07 +02:00
Aric Stewart 225a494d66 dinput: Add Mac OS/X joystick support. 2009-03-11 13:03:33 +01:00
Vitaliy Margolen 74f2eccc90 dinput: Let each device decide which hook event to skip.
Some programs acquire mouse in exclusive and keyboard in non-exclusive mode.
2009-02-23 12:19:25 +01:00
Vitaliy Margolen 3743a1a7ca dinput: Consume mouse & keyboard events in exclusive mode. 2009-02-02 15:21:42 +01:00
Michael Stefaniuc c0d2a21dd1 dinput: Remove superfluous pointer casts. 2009-01-28 12:30:51 +01:00
Andrew Talbot c1d5dfe84b dinput: Sign-compare warnings fix. 2008-09-30 10:57:23 -05:00
Jim Cameron f20961d9fa dinput: Add IID_IUnknown to DICF_CreateInstance(), DirectInputCreateEx(). 2008-09-03 14:21:41 +02:00
Vitaliy Margolen a37c60b0f7 dinput: Implement GetDeviceStatus. 2008-05-12 11:43:32 +02:00
Francois Gouget 8e97ff5e3b dinput: Fix compilation on systems that don't support nameless unions. 2008-02-26 11:21:17 +01:00
Marcus Meissner da77b8a0f3 dinput: Add debug output for IDirectInput8A::EnumDevicesBySemantics. 2008-02-16 15:11:00 +01:00
Marcus Meissner 9ce27fc7c1 dinput: Add a dumper for LPDIACTIONFORMAT.
Also make the DINPUT_instance static.
2008-02-16 15:10:47 +01:00
Peter Dons Tychsen 53f64a09cf dinput: Silence incorrect warning and move it to a valid place. 2008-01-07 14:25:19 +01:00
Francois Gouget 96d6a25fa1 dinput: Make _dump_cooperativelevel_DI() and _dump_EnumDevices_dwFlags() more self-contained. 2007-12-18 12:32:56 +01:00
Andrew Riedi e0740a7a60 dinput: DPRINTF -> TRACE. 2007-12-12 13:48:57 +01:00
Andrew Talbot 39b99d47ad dinput: Remove unneeded casts. 2007-12-07 17:36:01 +01:00
Vitaliy Margolen 278cc8e28d dinput: When setting hooks ignore devices without even handler. 2007-09-11 12:34:29 +02:00
Vitaliy Margolen 94e08ec5be dinput: Use more messages as a possible indication of the foreground window changes. 2007-07-23 12:13:26 +02:00
Vitaliy Margolen 41ce4a0158 dinput: Use CALLWINDPROC hook to monitor focus loses away from acquired windows. 2007-07-16 22:59:07 +02:00
Vitaliy Margolen 233cd46a22 dinput: Use PostMessage instead of SendMessage. Remove message window. 2007-07-16 22:59:02 +02:00
Vitaliy Margolen efdee19d90 dinput: Convert IDirectInput into multi-interface object. 2007-07-12 12:59:20 +02:00
Vitaliy Margolen 6d5eee0851 dinput: Clear static variables after releasing hooks. 2007-07-10 13:37:20 +02:00
Vitaliy Margolen 8f28d4369e dinput: Rename set_dinput_hook and call it from the base class.
Since keyboard's acquire and unacquire don't do anything special just call
the base class.
2007-07-09 14:31:38 +02:00
Vitaliy Margolen deb74efc04 dinput: Handle multiple keyboard and mouse devices. 2007-07-09 14:27:25 +02:00
Vitaliy Margolen fe1f1362b8 dinput: Keep a list of all IDirectInput objects and check it instead of refcount to create/destroy hook thread. 2007-07-09 14:25:39 +02:00
Vitaliy Margolen 448dde9be8 dinput: Keep the list of all the dinput devices created for each IDIrectInput object. 2007-07-09 14:25:33 +02:00
Vitaliy Margolen 75a17709ea dinput: Remove duplicate code. 2007-06-28 12:16:11 +02:00
Vitaliy Margolen 4659f98314 dinput: Prevent race between destroying the hook window and unloading the dll. 2007-05-15 15:53:44 +02:00
Vitaliy Margolen 7123f3e80e dinput: Win64 printf format warning fixes. 2006-10-09 12:53:41 +02:00
Alexandre Julliard 09371c75d5 dinput: Only register the window class once to avoid race conditions. 2006-10-05 17:45:45 +02:00
Vitaliy Margolen ad045d6e81 dinput: Create/destroy hook thread from DirectInput. 2006-09-13 11:46:25 +02:00
Vitaliy Margolen 722a686d66 dinput: Move hook_thread from device to DirectInput. 2006-09-11 17:45:42 +02:00
Vitaliy Margolen 7f838ca661 dinput: Initialize event sequence counter. And simplify code. 2006-07-31 11:15:21 +02:00
Vitaliy Margolen b88c1677d1 dinput: Fix small typo. 2006-07-24 12:57:34 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Roderick Colenbrander bc31b388d1 dinput: Fix Initialize return value. 2006-05-08 14:47:41 +02:00
Francois Gouget 6d442aeb34 Assorted spelling fixes. 2005-11-23 20:14:43 +01:00
Alexandre Julliard f8ee161a1b Fixed some traces to use the right printf format and avoid typecasts. 2005-09-12 10:30:05 +00:00
Alexandre Julliard d37f0abf07 Don't prefix the functions DllCanUnloadNow, DllGetClassObject and
Dll(Un)RegisterServer with the dll name so that the compiler can check
the prototypes.
2005-08-08 17:35:28 +00:00
Mike McCormack 50a6d970f5 gcc 4.0 warning fixes for Interlocked* functions. 2005-08-03 11:03:05 +00:00
Dmitry Timoshkov 247246ede7 Make more of the OLE interface vtables const. 2005-05-30 10:01:08 +00:00
Robert Reif 6dd763e03b Pass around real version and do correct thing based on it.
Change cooperative level to pass on windows.
2005-05-16 08:44:14 +00:00
Robert Reif 0f60464b95 Fix SetProperty error returned.
Add EnumDevice joystick version check.
Test multiple versions.
2005-05-13 13:57:17 +00:00
Robert Reif 2095f66d44 Fix joystick crash when a button guid is specified in the data
format.
Add some parameter checking.
2005-05-10 13:17:03 +00:00
Jakob Eriksson 9ed61de9a2 Get rid of HeapAlloc casts. 2005-03-24 21:01:35 +00:00
Alexandre Julliard 6451e221f3 Build a static list of devices instead of relying on ELF
constructors.
2005-03-15 19:36:15 +00:00
Rémi Assailly 6063b542aa char -> const char fixes. 2005-01-24 11:29:44 +00:00
Christian Costa d3fb100c36 Fixed enumeration of joysticks in DX8.
Fixed some traces.
2004-12-07 14:19:29 +00:00
Francois Gouget 486d020c1b Don't define COBJMACROS in objbase.h.
Update the Wine sources accordingly.
2004-10-07 03:06:48 +00:00
Robert Reif 873e5bfe29 Use InterlockedIncrement/InterlockedDecrement for reference counting.
Fix bug in effect enumeration that crashed dxcapsviewer.
2004-09-17 18:10:41 +00:00
Robert Reif 76447ec8d7 Added support for multiple devices. 2004-09-13 19:16:47 +00:00
Alexandre Julliard 314b99c48f Removed some more uses of the non-standard ICOM_THIS macro. 2004-09-09 20:17:07 +00:00
Hans Leidekker fe442b21f7 Fix signed/unsigned comparison warnings. 2004-09-08 01:23:57 +00:00
Alexandre Julliard f714b39762 Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
macro.
2004-08-23 19:39:48 +00:00
Alexandre Julliard 48c4bb3c31 Get rid of the non-standard ICOM_VTABLE macro. 2004-08-12 23:00:51 +00:00
Alexandre Julliard 0467ce9fd7 Get rid of the non-standard ICOM_VFIELD macro. 2004-08-12 19:52:49 +00:00
Lionel Ulmer 4f640697bd - some new logging on device enumeration
- fix version setting in DirectInputCreate(A/W) functions
2004-06-04 18:06:37 +00:00
James Perry 4fbafc168e Make dinput.dll self register. 2004-04-06 20:09:45 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Dmitry Timoshkov 4e1ef0c114 For all DLLs with defined DllMain and which do not require
DLL_THREAD_ATTACH/DLL_THREAD_DETACH notifications, call
DisableThreadLibraryCalls() in order to slightly improve performance
on thread creation/exiting.
2003-06-30 20:53:48 +00:00
Raphael Junqueira c405019ee5 - DInput WideChar classes support. This time all dinput versions have
widechar classes.
- fix a stupid bug in callback handling caught by Lionel.
- add some forgotten IID on class factory (better if we want to active
  the code)
- many cleanups on COM Macros (don't need A and W variants as they are
  the same)
2003-06-16 20:22:13 +00:00
Christian Costa 77c00c9555 Make dinput8 behaviour more correct for mouse and keyboard.
Fix small bug when keyboard buffer overflows.
Use DI_OK instead of 0 for returned values.
2003-06-13 18:55:41 +00:00
Christian Costa b92a58ea07 Enable creation of DirectInput objects trough CoCreateInstance. 2003-04-29 22:43:48 +00:00
Lionel Ulmer 8985c02020 Implement GetDeviceInfo and GetObjectInfo for the keyboard device. 2003-02-24 20:41:28 +00:00
Ove Kaaven bed2b9c3dc Only install the keyboard hook on device creation. 2003-02-11 22:10:11 +00:00
Alexandre Julliard 6ed40bb2af Pass the correct instance when installing the mouse hook (spotted by
Lionel Ulmer).
2002-12-24 01:18:21 +00:00
Jens Hoffmann 97bd11de89 Pass correct instance in keyboard_hook setup. 2002-11-24 22:14:08 +00:00
Alexandre Julliard 1e1313d54c Made the dll entry point default to DllMain and removed most of the
'init' spec file declarations.
2002-11-04 23:53:41 +00:00
Ove Kaaven d2d08f0c28 - support DirectInput 8 interfaces.
- implemented mouse wheel support.
2002-06-14 00:39:44 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Arjen Nienhuis c9654a7df8 Fixed keyboard handling. 2002-05-19 22:26:16 +00:00
Alexandre Julliard 0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Patrik Stridvall 2344798c46 Fixed some warnings. 2001-07-26 21:44:44 +00:00
Patrik Stridvall 8b216b3d02 Documentation ordinal fixes. 2001-06-19 18:20:47 +00:00
Alexandre Julliard e81843bb61 Authors: Ove Kaaven <ovek@transgaming.com>, Gavriel State <gav@transgaming.com>
Implemented circular buffering for the dinput mouse device.
Mapped the mouse warp on the center of the cooperative window, which
should make windowed games work better in managed mode.
2001-01-28 23:14:25 +00:00
James Juran f4d5fefb0a Add <string.h> to files that needed it. 2001-01-26 20:43:40 +00:00
Francois Gouget a1d23f5da6 Removed the 'fn' prefix (i.e. ICOM_FN). 2001-01-04 22:59:48 +00:00
Marcus Meissner c9b3b2e8f8 Added preferences to dinput drivers (so we can have two joystick
drivers). Implemented a joystick driver for the Linux 2.4
dev/input/event API.
2000-12-12 00:38:58 +00:00
Alexandre Julliard 5be8e7d8e0 Created a small static library in ole/libuuid.a that contains all the
UUID definitions (with the help of Francois Gouget).
2000-12-06 01:50:47 +00:00
Lionel Ulmer 6301e94e53 - reorganized DInput DLL
- added stubbing for DInput 7a
- 'fixed' the mouse problem in Fallout
2000-11-05 20:25:02 +00:00
Andreas Mohr 0f5231d980 Changed mouse UnAcquire to NOT unacquire it on multiple unacquires.
Implemented DIPROP_AXISMODE for SysMouseAImpl_SetProperty.
2000-10-31 01:02:43 +00:00
Patrik Stridvall fde6d9a586 Fixed some warnings. 2000-10-22 23:54:51 +00:00
Marcus Meissner 4b3afdcce0 Implemented DirectInputCreateEx. 2000-10-13 23:07:29 +00:00
Alexandre Julliard 7bbba4f9ce Removed calls to ConvertToGlobalHandle and MakeCriticalSectionGlobal. 2000-08-26 21:18:36 +00:00
Alexandre Julliard 42d20f9dca Merged clipboard driver into USER driver.
Moved all ttydrv source files to dlls/ttydrv.
Load functions pointer for the USER driver from the graphics driver
dll with GetProcAddress.
2000-08-10 01:16:19 +00:00
Alexandre Julliard 5ab9d860f2 Removed some unnecessary #includes and dll dependencies. 2000-08-09 22:35:05 +00:00
Alexandre Julliard bea617be47 Moved GUID definitions to their respective dll. 2000-08-03 04:22:35 +00:00