Commit graph

345 commits

Author SHA1 Message Date
Robert Reif
267f85b0ac Added keyboard data format. 2005-04-18 14:53:27 +00:00
Jakob Eriksson
9ed61de9a2 Get rid of HeapAlloc casts. 2005-03-24 21:01:35 +00:00
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