Commit Graph

343 Commits

Author SHA1 Message Date
Raphael Junqueira 97d848aa19 - use WINE_DINPUT_KEYBOARD_MAX_KEYS instead hard-coded 256 value
- better use of critical section
- some cleanup to better understand code paths
- logic correction on SetWindowsHookExA/UnhookWindowsHookEx on
  keyboard.
2005-03-24 15:08:27 +00:00
Gerald Pfeifer e8a5c293c1 Fix compilation of the case without proper Linux joystick support. 2005-03-18 10:25:15 +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
Alexandre Julliard 7b738b7f8c Make sure to always pass valid QS_* flags to
MsgWaitForMultipleObjects.
2005-03-08 17:00:38 +00:00
Christian Costa 9a99dc14eb Implemented GetProperty method for keyboard device. 2005-02-15 15:03:03 +00:00
Carlos Lozano 1b73419ffc Fix regression in Fallout game. 2005-02-08 12:11:12 +00:00
Robert Reif c5b0a1792c Copy data structures one at a time using supplied size. 2005-01-25 20:05:12 +00:00
Rémi Assailly 6063b542aa char -> const char fixes. 2005-01-24 11:29:44 +00:00
Francois Gouget 9d589acc26 Assorted spelling fixes. 2005-01-04 20:39:54 +00:00
Neil Olver dd9a30ba46 The flag for a mouse button down in the structure returned by
GetDeviceState should be 0x80 (only the high bit set), not 0xff.
2004-12-27 16:55:41 +00:00
Michael Stefaniuc 5ad7d858e0 Do not check for non NULL pointer before HeapFree'ing it. It's
redundant.
2004-12-23 17:06:43 +00:00
Christian Costa 6a8ae41c9d Handle device class in DX8 enumeration (found by Robert Reif).
Fixed remaining DX8 device types.
Factorized a bit GetCapabilities for keyboard and mouse.
2004-12-13 13:17:03 +00:00
Christian Costa d3fb100c36 Fixed enumeration of joysticks in DX8.
Fixed some traces.
2004-12-07 14:19:29 +00:00
Tom Wickline 5c38e1b561 Version resources cleanup. 2004-11-23 13:59:34 +00:00
Torbjörn Andersson 09a2eab38d Fixed size check in GetDeviceData. 2004-10-28 21:01:44 +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 9a75ae0a2f Add dx3 capabilities. 2004-09-21 20:04:37 +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
Robert Reif 4efa5dd85e Add buffered mode to joystick.
Add JoystickWImpl_GetDeviceInfo.
2004-09-13 18:03:30 +00:00
Alexandre Julliard 314b99c48f Removed some more uses of the non-standard ICOM_THIS macro. 2004-09-09 20:17:07 +00:00
Robert Reif 3872fc39c3 offsets array is the size of the wine data format so there is no need
to reallocate it when the format changes.
2004-09-09 19:17:46 +00:00
Robert Reif 38d6f1432f Fixes a mouse regression due to structure size change. 2004-09-09 00:25:48 +00:00
Robert Reif 1011b5e23e - Add linux to dinput axis mapping using HKLM/Software/Wine/dinput
registry settings.
- Fix some format mapping bugs.
- Adds GetDeviceInfo.
- Adds  SetProperty DIPH_DEVICE support for setting all properties.
- Use windows compatible object naming.
2004-09-08 21:48:33 +00:00
Hans Leidekker fe442b21f7 Fix signed/unsigned comparison warnings. 2004-09-08 01:23:57 +00:00
Robert Reif 3c3a511e8d When actual offset doesn't match the specified offset, use the actual
offset.
2004-09-06 21:26:03 +00:00
Robert Reif 925d3c26aa Read device name from device if possible.
Fix enumerate open bug.
2004-09-03 18:55:01 +00:00
Robert Reif 2f61bfc86a Removed trailing white space.
Added mouse formats.
2004-09-03 17:27:58 +00:00
Robert Reif 0b12efaa9e Added support for alternate data formats. 2004-09-02 20:09:54 +00:00
Robert Reif e2b882aced Added default data formats for c_dfDIJoystick and c_dfDIJoystick2.
Added object properties for more than one object.
Added error checks for acquired.
Default to using c_dfDIJoystick2 data format.
Try to use user supplied data formats (only works if same as one of
the defaults).
Code cleanup, error checking and tracing added.
Added support for up to 8 axis.
2004-08-31 18:51:23 +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
Lionel Ulmer 04d77f4dcc - some TRACEing improvements
- fix mouse Acquire which switched right and middle buttons
- reset the mouse cursor at its original location on Unacquiring the
  device
2004-06-02 00:36:54 +00:00
Christian Costa 1a85a57e0e Fixed joystick device type for dinput8. 2004-05-27 01:54:43 +00:00
Ivan Leo Murray-Smith 10778aa761 Updated the version info of all DirectX dlls to the version numbers of
DirectX 9.0b for Windows 2000/XP.
2004-05-14 21:37:32 +00:00
Christoph Frick c7994927c8 - added code to have the joystick state be set to the assumed center
values of the joystick mapped to the range the application wants
  them
- generate events after setting the apropiate values in This->js
- replaced magic ints with defines from linux/input.h
- removed mapping code that generated wrong values for axes, that have
  the center on the min or max
2004-04-19 02:59:22 +00:00
Lionel Ulmer 9fccb024be - better log the GetDeviceState function
- log changes to the DInputKeyState table
2004-04-12 22:07:12 +00:00
James Perry 4fbafc168e Make dinput.dll self register. 2004-04-06 20:09:45 +00:00
Christoph Frick feb0ef340b - Added missing break statement.
- Changed the mapping of the axis to a simpler formula, that ignores
  the middle of an axis.
- Min/max values where initalized switched.
- Added the missing button and axis events that are registered earlier
  in the code but never made it to the application.
- Added a little more descriptive comment about the deadzone.
2004-03-24 23:37:56 +00:00
Alexandre Julliard 9e4ed6460c .spec.c files are no longer used for 32-bit dlls. 2004-03-24 03:36:44 +00:00
Alexandre Julliard e8a339c1d2 Portability fixes for LSB compatibility. 2004-03-01 21:32:02 +00:00
Alexandre Julliard 79692a3fe8 We don't really need subdirectories in dlls/dinput. 2004-02-12 23:27:59 +00:00
Alexandre Julliard 20b4585e3c Only link against libdxguid where necessary. 2004-01-27 00:11:16 +00:00
Francois Gouget 640cc3f3e1 Assorted spelling fixes. 2004-01-06 22:08:33 +00:00
Marcus Meissner 871ef4491a Handle DIJOYSTATE and DIJOYSTATE2 structs, fail on unknown sizes. 2004-01-05 21:11:25 +00:00
Hannu Valtonen ab4e40cf0f JoystickAImpl_Unacquire should return DI_NOEFFECT if the device is not
in an acquired state.
2003-10-30 22:48:04 +00:00
Hannu Valtonen 897beee52d SysMouseAImpl_Unacquire should return DI_NOEFFECT if the device is not
in an acquired state.
2003-10-28 21:08:31 +00:00
Dimitrie O. Paun fbdfd910c1 Remove SYMBOLFILE and LDDLLFLAGS from Makefiles. 2003-10-11 01:09:15 +00:00
Daniel Marmier ee1eb63b31 Fixed warnings with gcc option "-Wwrite-strings". 2003-10-07 03:30:47 +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
Tom Wickline 1c6a20f3cf Set version to 8.1. 2003-08-23 23:05:24 +00:00
Alexandre Julliard 19b6a49845 Allocate DebugInfo field for all critical sections (based on a patch
by Alex Pasadyn).
Get rid of the Wine-specific CRITICAL_SECTION_INIT macro.
2003-08-12 23:50:54 +00:00
Tom Wickline c652f34179 Set version to DirectX 7. 2003-08-08 21:03:05 +00:00
Alexandre Julliard 20698b22df Make the DllRegisterServer, DllRegisterServerEx, DllUnregisterServer,
DllGetClassObject and DllCanUnloadNow functions private (suggested by
Jon Griffiths).
2003-07-30 03:48:55 +00:00
Marcus Meissner c18ec9c8e2 KEY_MAX is 511, which does not fit in a BYTE. 2003-07-21 19:58: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
Paul Bain 6936db1103 Put IID_IDirectInputDevice2A back in
IDirectInputDevice2AImpl_QueryInterface.
2003-06-13 16:32:16 +00:00
Christian Costa 0d0a4075bd Fix SetDataFormat and implement GetDeviceInfo for mouse device. 2003-06-07 00:36:51 +00:00
Mark Westcott 37e3e5ec97 DInput keyboard handling checks for incoming X11 events. 2003-06-04 20:11:56 +00:00
Christian Costa 9d74dca27c Small fix in IDirectInputDevice2Impl_QueryInterface. 2003-04-29 22:47:04 +00:00
Christian Costa b92a58ea07 Enable creation of DirectInput objects trough CoCreateInstance. 2003-04-29 22:43:48 +00:00
Alexandre Julliard 114a31a2a8 Take advantage of new winebuild syntax to remove redundant function
names in spec files.
2003-03-20 03:53:12 +00:00
Tony Lambregts 2e24a148bf Replace DPRINTF with TRACE. 2003-03-15 00:12:42 +00:00
Lionel Ulmer 8985c02020 Implement GetDeviceInfo and GetObjectInfo for the keyboard device. 2003-02-24 20:41:28 +00:00
Lionel Ulmer d14ad4ff8a Implemented EnumObjects for the keyboard device. 2003-02-12 21:27:00 +00:00
Lionel Ulmer 7c552a4a3a Report an error if GetDeviceData is called on an Unacquired device. 2003-02-12 01:13:31 +00:00
Ove Kaaven bed2b9c3dc Only install the keyboard hook on device creation. 2003-02-11 22:10:11 +00:00
Marcus Meissner f63e5b646a Remove errno.h from files that do not need it. 2003-01-23 22:51:04 +00:00
Enrico Horn a96bfbd181 Add version info to dinput. 2003-01-13 20:41:18 +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
Alexandre Julliard b34fb35b31 Fixed warnings caused by conversion to -DSTRICT. 2002-10-18 23:48:57 +00:00
Steven Edwards 6123951a29 Update some .cvsignore files for building on Windows. 2002-08-30 00:04:03 +00:00
Patrik Stridvall d016f819f1 Added include protection for unistd.h and sys/time.h. 2002-08-17 00:43:16 +00:00
Lionel Ulmer 7ea3a29eca Handle 'not acquired' error messages on keyboard GetDeviceData. 2002-08-06 23:49:12 +00:00
Alexandre Julliard 8482613aa3 Added missing wine/port.h. 2002-07-22 21:53:32 +00:00
Alexandre Julliard 77afd6c47e Made some more spec file entries optional or unnecessary.
Fixed a few DLLName/DLLFileName mismatches.
2002-06-21 19:15:45 +00:00
Ove Kaaven d2d08f0c28 - support DirectInput 8 interfaces.
- implemented mouse wheel support.
2002-06-14 00:39:44 +00:00
Vincent Béron 1ae26ebafc - Made sure const LP were actually const in dinput.h.
- Uniformized the {A,W} declarations of some structures.
2002-06-02 21:18:48 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
James Juran 32886f6b88 Add missing \n to output messages. 2002-05-24 21:17:59 +00:00
Patrik Stridvall 5e6943f421 Fixed some issues found by winapi_check. 2002-05-22 01:55:18 +00:00
Arjen Nienhuis c9654a7df8 Fixed keyboard handling. 2002-05-19 22:26:16 +00:00
Alexandre Julliard 2ab7625934 Removed most imports of ntdll since we no longer import Wine internal
functions from there.
2002-05-17 03:37:12 +00:00
Alexandre Julliard ad53383f9b Added winebuild support for generating a .dbg.c file containing the
debug channels definitions.
Made win32 the default type for spec files.
Ignore C compiler in winebuild so we can simply pass it $(DEFS).
Removed type win32 and debug_channels from spec files.
Fixed winebuild to always generate correct C identifiers (reported by
Vincent Béron).
2002-05-14 20:54:58 +00:00
Alexandre Julliard 67371bcc8d Added -res option to specify resources on winebuild command-line.
Added -exe mode to generate a .spec.c for an exe without having to
provide a .spec.
Removed some no longer needed spec files.
Removed .dll extension in makefiles import specifications.
2002-05-11 23:06:32 +00:00
Alexandre Julliard 32459912dc Moved imports specification from the .spec into the Makefile so that
it can be used on platforms that don't build a .spec.c file.
2002-05-09 00:05:48 +00:00
Olivier Houchard 0bd249dd6b Hack to make SetEventNotification work. 2002-05-07 01:49:19 +00:00
Andreas Mohr 01c8ec3a9c Spelling/error messages fixes. 2002-04-02 19:47:30 +00:00
Alexandre Julliard c1bfca04e1 Changed builtin dlls file names to make it clear they are not normal
Unix libraries, and install them in $libdir/wine instead of $libdir to
avoid name conflicts in /usr/lib.
2002-03-20 22:19:06 +00:00
Andreas Mohr e5df2830f9 Some small cleanups to dinput mouse code. 2002-03-11 01:09:44 +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
Francois Gouget d5aebbe6b3 A few typos. 2001-11-19 02:09:49 +00:00
8ada79d158 Devices never need to be polled, so return DI_NOEFFECT in Poll. 2001-11-06 22:26:26 +00:00
Alexandre Julliard b165fabd5d Make dinput a properly separated dll. 2001-10-18 21:31:14 +00:00
Alexandre Julliard 2fe081b730 Use WH_MOUSE_LL hook instead of redirecting the mouse event handler. 2001-10-18 21:30:46 +00:00
Alexandre Julliard 8166d36756 Fixed GetDeviceState and GetDeviceData to use only exported APIs. 2001-10-18 21:30:06 +00:00
Alexandre Julliard 3f4f7fa7f2 Removed unnecessary includes/definitions. 2001-10-02 18:45:46 +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
Francois Gouget e76218dd61 Add '\n' at the end of traces. 2001-05-09 17:31:31 +00:00
Alexandre Julliard 56a45b2049 Small cleanups. 2001-04-24 23:17:53 +00:00
Ove Kaaven b18220a8b2 Don't restore the saved keyboard autorepeat config, since the config
save code itself was disabled a while ago...
2001-04-16 19:03:10 +00:00
James Abbatiello 45edb2fcb3 Fix a few compiler warnings. 2001-02-12 03:42:58 +00:00
Ove Kaaven db1f948afb Don't disable keyboard autorepeat, since autorepeat is now detectable. 2001-01-28 23:43:20 +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
Ove Kaaven 36d3aa3d10 Check that the linux 2.4 event interface is available before creating
a dinput device based on it.
2001-01-26 20:39:07 +00:00
Marcus Meissner 74f2b4b2ae Added configure check for old linux/input.h. 2001-01-19 21:09:07 +00:00
Andreas Mohr abade021fe Mouse events fix. 2001-01-05 22:15:20 +00:00
Francois Gouget a1d23f5da6 Removed the 'fn' prefix (i.e. ICOM_FN). 2001-01-04 22:59:48 +00:00
Marcus Meissner d88dbb4a10 Implemented DIGDD_PEEK for SysMouseA::GetDeviceData. 2000-12-19 02:10:26 +00:00
Alexandre Julliard ce1398e384 Avoid a couple of dependencies on input.c internal variables. 2000-12-16 20:37:16 +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
David Elliott ea186796eb Remove libXXXX.so.1.0 lines from .cvsignore files. 2000-11-30 19:57:34 +00:00
Patrik Stridvall 024d6c50d6 Fixed some issues found by winapi_check. 2000-11-25 03:09:30 +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
Alexandre Julliard eb58e1d597 Declare debug channels in all dlls that need them; added imports of
ntdll where necessary.
2000-11-05 04:53:07 +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
Alexandre Julliard 6c9d83aa4c Added imports of user32/gdi32/kernel32 wherever necessary. 2000-08-03 00:04:24 +00:00
Alexandre Julliard 646c562f9c Cleaned up some more USER dependencies. 2000-07-31 23:32:47 +00:00
Alexandre Julliard 6953d6756c For dlls, derive SPEC_SRCS from MODULE and ALTNAMES. 2000-06-20 20:24:14 +00:00
Alexandre Julliard 2b5d564e63 Merged mouse dll into USER. 2000-06-08 04:57:22 +00:00
Alexandre Julliard 2d8cf500c3 Merged display.dll into USER. 2000-06-03 04:20:19 +00:00
Lionel Ulmer 48393a762e Added leaving of critical section on all return cases. 2000-04-28 20:00:43 +00:00
Patrik Stridvall 55ef9a5a68 Fixed issues found by winapi_check. 2000-04-24 18:03:54 +00:00
Patrik Stridvall f0deb8a17e Fixed some issues reported by winapi_check. 2000-04-15 20:44:21 +00:00
Patrik Stridvall bbaf0ea799 Made the include files self sufficient. 2000-03-24 21:13:57 +00:00
Lionel Ulmer c287e9fe37 - added some debug code and cleaned-up the mouse warping code
- be ready once mouse will be reported relatively
2000-03-24 19:49:33 +00:00
Alexandre Julliard 28c3a1baf3 Moved graphics initialisation to the x11drv/ttydrv dll init code.
Merged event, keyboard and mouse drivers into USER driver.
2000-03-20 18:21:19 +00:00
Alexandre Julliard ddce652cae Made ddraw and dinput separate dlls. 2000-03-17 16:58:10 +00:00