Commit graph

345 commits

Author SHA1 Message Date
Alexandre Julliard
09371c75d5 dinput: Only register the window class once to avoid race conditions. 2006-10-05 17:45:45 +02:00
Michael Stefaniuc
85ce5117c5 Add a WINE_NO_LONG_INT define to many makefiles to ease the transition of DWORD/LONG/ULONG from long to int. 2006-09-29 16:08:30 +02:00
Ivan Leo
db782fe04a dinput: Add some error checks to mouse.c. 2006-09-26 11:39:02 +02:00
Vitaliy Margolen
84b2d73d38 dinput: Initialize default coop level. Invert logic in hook handler. 2006-09-20 20:03:07 +02:00
Vitaliy Margolen
adadb5be78 dinput: Return proper errors in SetCooperativeLevel. 2006-09-20 12:24:14 +02:00
Alexandre Julliard
32ab895e46 makefiles: Generate the dependencies line to avoid some code duplication. 2006-09-14 09:38:16 +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
Andrew Talbot
78cdd5460c dinput: Cast-qual warnings fix. 2006-09-10 10:16:47 +02:00
Alexandre Julliard
5cf75e615a makefiles: Only run test and documentation targets in directories that need them. 2006-08-28 13:37:44 +02:00
Vitaliy Margolen
fd6e974d92 dinput: Signal event after we queued an event. Not before. 2006-08-07 15:35:19 +02:00
Andrew Talbot
70cfb05fc4 dinput/tests: Write-strings warning fix. 2006-07-31 21:57:59 +02:00
Vitaliy Margolen
7f838ca661 dinput: Initialize event sequence counter. And simplify code. 2006-07-31 11:15:21 +02:00
Vitaliy Margolen
eb3028acc0 dinput: Add DISCL_NOWINKEY define. 2006-07-29 11:50:19 +02:00
Vitaliy Margolen
6bd7451ece dinput: Keyboard: Use the same event queue mechanism as mouse. 2006-07-28 12:32:08 +02:00
Vitaliy Margolen
3241974ebd dinput: Simplify code a bit. 2006-07-24 12:57:34 +02:00
Vitaliy Margolen
b88c1677d1 dinput: Fix small typo. 2006-07-24 12:57:34 +02:00
Kovács András
71924d7da6 dinput: joydev_enum_deviceA now returns the correct value. 2006-07-20 12:10:55 +02:00
Vitaliy Margolen
83bda8e6d4 dinput: Unacquire correct device. 2006-07-17 13:51:31 +02:00
Vitaliy Margolen
13ce1a4543 dinput: Ignore repeated key events. 2006-07-17 13:51:20 +02:00
Michael Stefaniuc
932a2a0d54 Fix swapped 2nd and 3rd argument passed to memset. 2006-07-14 12:38:36 +02:00
Alexandre Julliard
77dc0d9be5 .gitignore: Added wildcards to ignore generated resource files. 2006-07-10 21:39:00 +02:00
Alexandre Julliard
0fa8baafcb make_dlls: Recursively ignore .ok files in all tests directories. 2006-07-10 21:26:50 +02:00
Alexandre Julliard
edd100b899 make_dlls: Recursively ignore testlist.c in all tests directories. 2006-07-10 21:19:42 +02:00
Alexandre Julliard
5258e061dc make_dlls: Ignore generated import libraries from the top-level .gitignore. 2006-07-10 20:55:58 +02:00
Alexandre Julliard
cc2b3b48e6 Take advantage of the recursive nature of .gitignore for Makefile entries.
Prefix other entries with '/' to make them non-recursive.
2006-07-10 20:47:54 +02:00
Christoph Frick
2460b4576b dinput: map_axis must be able to work with LONG's value range. 2006-07-07 17:04:03 +02:00
Christoph Frick
97fed19afc dinput: Remove redundant struct members. 2006-07-07 17:02:33 +02:00
Christoph Frick
3083b0a6c7 dinput: Implement the GetProperty call for getting the range of an axis. 2006-07-07 17:02:11 +02:00
Christoph Frick
141a267957 dinput: Call fake_current_js_state on the places where it is actually needed in SetProperty. 2006-07-07 17:01:59 +02:00
Christoph Frick
cd7e1d5707 dinput: Only fake the current state on axes that are actually there. 2006-07-07 17:01:47 +02:00
Christoph Frick
d478b7e4be dinput: Move the axes and button configs into the JoyDev struct. 2006-07-07 17:01:28 +02:00
Christoph Frick
1817648a0f dinput: Utilize the offsets and the transform to support the user
supplied data format.
2006-07-07 17:01:09 +02:00
Christoph Frick
f0f3b0a34a dinput: Adds offset and transform and their basic handling to the joystick implementation. 2006-07-07 17:00:27 +02:00
Christoph Frick
03260f738b dinput: When handling axes, ignore the ABS_HAT.* as they are handled as POV. 2006-07-07 16:59:53 +02:00
Christoph Frick
14e9ee55ba dinput: Set the amount of POVs in the caps. 2006-07-07 16:59:40 +02:00
Christoph Frick
8c1be245f7 dinput: Detect more than one /dev/input/event joystick. 2006-07-07 16:59:21 +02:00
Paul Vriens
8f143f190c Use the return value of register_key_guid. 2006-06-30 21:08:07 +02:00
Vitaliy Margolen
101e9e64e6 dinput: Warp mouse each 10ms instead of dropping events. 2006-06-23 10:45:45 +02:00
Alexandre Julliard
7ad5f9eca0 dinput: Don't use sizeof in traces to avoid printf format warnings. 2006-06-13 14:09:55 +02:00
Jonathan Ernst
360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Robert Shearman
74407105d2 Check the return value from register_key_guid in all the DLL registering code. 2006-05-10 19:38:04 +02:00
Roderick Colenbrander
bc31b388d1 dinput: Fix Initialize return value. 2006-05-08 14:47:41 +02:00
Mike Frysinger
dd174c54e1 joystick: Search for /dev/input/js as well as /dev/js. 2006-04-19 19:27:41 +02:00
Pavel Semerad
ff8debd2be dinput: Fixed joystick with POV and JoystickAImpl_SetProperty-proprange. 2006-04-05 10:58:18 +02:00
Vitaliy Margolen
bc1440699c dinput: Keyboard should be acquired before calling GetDeviceState. 2006-04-03 11:39:28 +02:00
Vitaliy Margolen
e66e34ef7b dinput: Create single thread for mouse and keyboard hook.
Put keyboard & mouse hook callbacks into separate thread.
Move few global variables into object. Delete no longer used crit section.
For hooks to work properly hook callback have to be in a thread
with message loop. Some games create separate threads just to handle
mouse and/or keyboard events that do not have message loop.
2006-03-21 11:27:49 +01:00
Christoph Frick
034a030d37 dinput/joystick_linuxinput: Add POV detection and reporting.
Mapping of ABS_HAT[0-3][XY] to the four POV used by dinput.
2006-03-13 14:18:19 +01:00
Christoph Frick
61de4e7425 dinput/linuxinput: Fix handling of DIPH_BYID.
- handling of DIPH_BYID
- use regular id and not shifted one also for axes
- may only Acquire after SetDataFormat
2006-03-09 22:45:11 +01:00
Vitaly Budovski
6a0e711681 dinput: Return an error if both DISCL_EXCLUSIVE and DISCL_BACKGROUND are set. 2006-02-28 12:40:13 +01:00
Mike McCormack
202846739a dinput: Fix the compile for missing EV_SYN define. 2006-02-09 17:44:38 +01:00
Christoph Frick
094e85398b dinput: Dynamic handling of buttons of a device. 2006-02-09 12:07:55 +01:00
Lionel Ulmer
809dd5b044 Handle DInput8 interfaces in device QueryInterface. 2005-11-28 10:38:59 +01:00
Alexandre Julliard
0ec7e1a591 Renamed all .cvsignore files to .gitignore. 2005-11-26 13:10:33 +01:00
Francois Gouget
6d442aeb34 Assorted spelling fixes. 2005-11-23 20:14:43 +01:00
Daniel Remenak
c02aee8b8f Add additional sanity checks to the linux input system dinput joystick
implementation.
2005-11-12 19:10:38 +00:00
Christoph Frick
247417a6db Moved and adopted joystick_linux.c code into the
joystick_linuxinput.c.
2005-11-11 10:52:27 +00:00
Francois Gouget
0edbaf7e80 Remove spaces before '\n' in traces. 2005-11-10 12:14:56 +00:00
Alexandre Julliard
7e22be4d84 We are no longer generating .dbg.c files. 2005-09-29 10:35:58 +00:00
Marcus Meissner
bd7ec9aca5 The last argument to MultiByteToWideChar is wide character count and
not the buffer size in bytes. Fixed all places where it was wrong.
2005-09-12 22:07:53 +00: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
20a1a203c6 Use a more portable scheme for storing the name of a critical
section.
2005-09-09 10:19:44 +00:00
Vincent Béron
a3e3b1e360 Use proper ifdefs around unistd.h. 2005-09-09 09:11:10 +00:00
Alexandre Julliard
856221c057 Use the COM macros instead of accessing lpVtbl directly. 2005-09-07 11:50:34 +00:00
Mike McCormack
b1eb3c30f3 Fix warnings for no force feedback case. 2005-09-07 11:25:32 +00:00
Daniel Remenak
feb9ab68b9 - Allow the creation of an FF effect while the joystick is not
acquired.
- Failing to download an effect after setting parameters is not a
  fatal error.
2005-09-06 11:03:48 +00:00
Daniel Remenak
ff771e2e21 - Allow enumeration of objects when the device is not yet acquired.
- Flag FF-capable axes during enumeration.
2005-09-06 10:22:23 +00:00
Daniel Remenak
94d14d1f37 Protect FF_STATUS usage to avoid compile errors on machines with old
linux/input.h.
2005-09-06 09:19:51 +00:00
Daniel Remenak
d57b7ac4e2 Implement EnumEffects, CreateEffect, EnumCreatedEffects,
SendForceFeedbackCommand, and GetForceFeedbackStatus for linux input
joysticks.
2005-09-03 15:02:38 +00:00
Daniel Remenak
365c1a50c0 Added a linux input system force feedback effect implementation. 2005-09-02 15:18:47 +00:00
Mike McCormack
a107234dcd gcc 4.0 warning fixes. 2005-08-29 09:38:19 +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
Alexandre Julliard
82776020da Removed some unused or redundant configure checks.
A few cleanups in configure.ac.
2005-08-08 11:17:25 +00:00
Mike McCormack
50a6d970f5 gcc 4.0 warning fixes for Interlocked* functions. 2005-08-03 11:03:05 +00:00
Daniel Remenak
3ddc4bb895 Correctly enumerate evdev joysticks when enumeration is restricted
with DIEDFL_FORCEFEEDBACK.
2005-07-29 14:41:55 +00:00
Daniel Remenak
e491e8f897 Detect force-feedback-capable linux event device joysticks and return
DIDC_FORCEFEEDBACK when queried for capabilities.
2005-07-29 14:18:58 +00:00
Daniel Remenak
6cb230dd20 Correct dinput handling of sliders and non-zero-based axes through the
linux input system.
2005-07-22 09:05:19 +00:00
Mike McCormack
c447939033 Interlocked LONG* gcc warning fixes. 2005-07-12 17:03:19 +00:00
Francois Gouget
39589188d1 Only print the joystick state when it changes so the user does not get
300 lines of traces.
2005-07-11 17:58:52 +00:00
Francois Gouget
8ad8969fd5 Remove unnecessary STRICT defines. 2005-07-11 14:24:17 +00:00
Francois Gouget
c7dcf642ea Add trailing '\n's to ok() calls. 2005-07-06 15:46:47 +00:00
Stefan Huehner
17ed5537e7 Fix some more -Wmissing-declarations warnings. 2005-07-05 11:05:50 +00:00
Alexandre Julliard
aa0b9aac0d Sort entry points alphabetically. 2005-06-22 18:38:23 +00:00
Stefan Huehner
863a4b1488 Fix some more -Wstrict-prototypes warnings. 2005-06-21 20:53:13 +00:00
Stefan Huehner
ac6f562b52 Fix more -Wstrict-prototypes warnings. 2005-06-20 14:18:03 +00:00
Alexandre Julliard
7e44db5c41 Moved config parameters to HKCU\Software\Wine\DirectInput. 2005-06-14 12:34:33 +00:00
Alexandre Julliard
2e4bca9db5 Added magic comments to all Wine-specific registry accesses to make
them easier to grep.
2005-06-13 18:56:00 +00:00
Dmitry Timoshkov
247246ede7 Make more of the OLE interface vtables const. 2005-05-30 10:01:08 +00:00
Robert Reif
2d9e2a3300 Effect objects are not supported yet so don't crash when trying to
enumerate them.
2005-05-16 14:07:36 +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
8bffed50c6 Added dinput tests. 2005-05-11 12:05: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
Alexandre Julliard
34fa35dc99 Added rules for building import libraries in the individual dll
makefiles, and added support for building a .def.a static import
library too.
2005-05-09 14:42:30 +00:00
Lionel Ulmer
233b5f5b80 - Windows reports 0x80 on pressed buttons not 0xFF
- trace the events reported to the application
2005-05-09 09:24:34 +00:00
Alexandre Julliard
d62356aa1e Added rules to build import libraries in the individual dll makefiles.
Generate import libraries with the right name right away instead of
using an intermediate .spec.def file.
2005-05-07 12:39:52 +00:00
Lionel Ulmer
a9d42f44c1 - do not flush the buffer when the application only wants to peek the
number of elements in the queue
- trace the GetDeviceState values before they are reset
2005-05-05 10:30:24 +00:00
Lionel Ulmer
fa8d7a0fe6 - more pretty print for the types flag
- more Windows-aligned check for object instances
2005-05-05 09:49:54 +00:00
James Dean Anderson
da87fa817d Report an error if trying to get data from an unacquired mouse. 2005-05-04 09:46:07 +00:00
Marcus Meissner
accf3ee2e6 Fixed 3 memset()s which used the wrong size (too large). 2005-04-25 10:48:38 +00:00
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