Commit Graph

814 Commits

Author SHA1 Message Date
Vitaliy Margolen 60948ab1f0 dinput: [joystick_linux] Reuse the same properties array. 2007-01-11 11:45:46 +01:00
Vitaliy Margolen 3989e0feb8 dinput: [joystick_linux] Copy and modify default data format.
Copy only what we have.
2007-01-11 11:45:36 +01:00
Vitaliy Margolen cd306046bb dinput: Pass complete DataFormat structure to find_property. 2007-01-10 12:23:28 +01:00
Vitaliy Margolen af71538d33 dinput: Remove duplicate Keyboard->Poll it is the same as base class. 2007-01-10 12:23:18 +01:00
Vitaliy Margolen adddc56699 dinput: Fix trace formatting. 2007-01-10 12:23:16 +01:00
Vitaliy Margolen 4b33fd691a dinput: Set event from queue_event, simplifying code a bit. 2007-01-08 21:13:40 +01:00
Vitaliy Margolen 8e8b4f03b0 dinput: Use proper offset when queuing keyboard events. 2007-01-08 21:13:35 +01:00
Vitaliy Margolen 005bb87342 dinput: Fix possible NULL deference. 2007-01-06 11:40:46 +01:00
Vitaliy Margolen b223b021a5 dinput: Fix memory leak. 2007-01-06 11:40:46 +01:00
Vitaliy Margolen 30e2fbcb6e dinput: Fix mouse to use proper offset when queuing new events. Add handling of X-buttons.
We should use instance IDs instead of sequential numbers to get correct offset.
2007-01-06 11:40:46 +01:00
Vitaliy Margolen 504798ce9f dinput: Change EnumObjects to use GetObjectInfo.
Also small debug trace correction to make it more readable.
2007-01-05 18:23:46 +01:00
Vitaliy Margolen 4c1e52e123 dinput: Fix cut and paste error. 2007-01-04 21:14:19 +01:00
Francois Gouget bbb2b7fd98 Assorted spelling fixes. 2007-01-04 11:27:31 +01:00
Vitaliy Margolen f2a3ad2481 dinput: Implement mouse GetObjectInfo on top of base class. 2007-01-04 09:57:35 +01:00
Vitaliy Margolen 20ba784aac dinput: Move keyboard to using new GetObjectInfo. 2007-01-04 09:57:11 +01:00
Vitaliy Margolen 0edc6e26a7 dinput: Implement GetObjectInfo[A|W] in base device class. 2007-01-04 09:57:05 +01:00
Andrew Talbot e946ce6b38 dinput: Declare some functions static. 2007-01-04 09:53:58 +01:00
Vitaliy Margolen 263d5ce171 dinput: Move keyboard to using new EnumObjects from base class. 2006-12-29 20:54:38 +01:00
Vitaliy Margolen 685a3e6a6e dinput: Release critical section before warping mouse. 2006-12-29 12:49:41 +01:00
Vitaliy Margolen 0eb110f3ca dinput: Move mouse to using new EnumObjects from base class. 2006-12-28 12:23:07 +01:00
Vitaliy Margolen 42feef0c7b dinput: Implement EnumOjects[A|W] in the base device class. 2006-12-28 12:23:02 +01:00
Vitaliy Margolen 18ee811e4c dinput: mouse: Copy and modify default data format. 2006-12-28 12:22:49 +01:00
Vitaliy Margolen b22ff8018a dinput: Remove MsgWaitForMultipleObjects calls. 2006-12-28 12:22:29 +01:00
Vitaliy Margolen ce5fb9bb29 dinput: AddRef and Release parent DirectInput class. 2006-12-24 13:07:15 +01:00
Christoph Frick e4a6562937 dinput: Drop magic int. 2006-12-20 17:41:09 +01:00
Christoph Frick b0eb9d0b89 dinput: Set the correct size for the old dinput joystick.
This also reverts my previous patch as this is the real cause for the
problems with Grand Prix Legends.
2006-12-20 17:40:17 +01:00
Vitaliy Margolen 938657b1c1 dinput: Warp mouse in exclusive cooperation mode only. 2006-12-20 14:12:49 +01:00
Vitaliy Margolen 546c7a502d dinput: Use GetCursorPos() to calculate relative mouse movements. 2006-12-20 14:12:42 +01:00
Vitaliy Margolen 975d7ff292 dinput: Make mouse use axis mode flag set in base class. Add tests. 2006-12-18 12:01:05 +01:00
Vitaliy Margolen 7b07e4b563 dinput: Add handling of AXISMODE property to base device object. 2006-12-18 12:00:50 +01:00
Vitaliy Margolen 350c66fec2 dinput: Zero out returned information struct. 2006-12-18 12:00:43 +01:00
Vitaliy Margolen 1db55d2511 dinput: Don't return non existent keys. 2006-12-18 12:00:41 +01:00
Vitaliy Margolen aa8392c9e7 dinput: Use standard mouse data format instead of custom one. 2006-12-12 20:24:20 +01:00
Vitaliy Margolen 6246fa62f9 dinput: Remove redundant parameter. 2006-12-12 20:24:10 +01:00
Vitaliy Margolen d5b57f3904 dinput: Move mouse & keyboard user data format to base class. 2006-12-12 20:23:57 +01:00
Vitaliy Margolen 1d314d54ba dinput: Move joystick user data format into base class. 2006-12-12 20:23:37 +01:00
Vitaliy Margolen 3446caab56 dinput: Add user data format into base class. Implement SetDataFormat. 2006-12-12 20:22:53 +01:00
Vitaliy Margolen cd050bf25c dinput: Move transform and offsets structures into base device class. 2006-12-12 20:22:44 +01:00
Vitaliy Margolen 68176eeda1 dinput: Move few helper functions and standardize them. 2006-12-11 16:17:46 +01:00
Vitaliy Margolen 267cbf8289 dinput: Move internal function calculate_ids to where it's really used. 2006-12-11 16:17:40 +01:00
Vitaliy Margolen c17e06d5c0 dinput: No need to copy default constant format. Use already defined static instead. 2006-12-11 16:17:13 +01:00
Christoph Frick 71f41e5d02 dinput: Utilize IDirectInputDevice2AImpl_Acquire/Unacquire. 2006-12-11 13:51:13 +01:00
Christoph Frick f37f598daf dinput: Ensure that the size of the dev caps pointer is large enough - no exact. 2006-12-11 13:51:00 +01:00
Christoph Frick ba1ef69a41 dinput: Silently ignore DIPROP_CALIBRATIONMODE. 2006-12-11 13:50:37 +01:00
Vitaliy Margolen 5b520ff6df dinput: Remove incorrect assumption about format. 2006-12-11 13:50:32 +01:00
Marcus Meissner f0280cbd1e made functions and variables static in some testcases. 2006-12-11 12:18:29 +01:00
Vitaliy Margolen 1056c881e1 dinput: Fix processing of custom format. 2006-12-11 12:17:26 +01:00
Vitaliy Margolen 03fa9106cf dinput: Remove no longer used GEN_EVENT. 2006-12-05 11:33:03 +01:00
Vitaliy Margolen aa7eed9394 dinput: Move joystick event queue into base device class. 2006-12-05 11:32:55 +01:00
Vitaliy Margolen fb5884203b dinput: Move mouse event queue into base device class. 2006-12-05 11:32:46 +01:00
Vitaliy Margolen 564ad7da8c dinput: Move keyboard event queue into base device class.
This removes [Get|Set]Property and GetDeviceData.
2006-12-05 11:32:38 +01:00
Vitaliy Margolen ce0c3cdae7 dinput: Implement [Get|Set]Property and GetDeviceData in base Device object.
Also add queue_event to replace big macro GEN_EVENT.
2006-12-05 11:32:34 +01:00
Vitaliy Margolen 429c8ac948 dinput: Implement Poll for keyboard. 2006-12-04 12:34:08 +01:00
Vitaliy Margolen 0da0486cc3 dinput: Move critical section to the base device class. 2006-12-04 12:33:47 +01:00
Vitaliy Margolen f7eacd64d1 dinput: Move acquired flag to the base device class. Add tests. 2006-12-04 12:33:35 +01:00
Christoph Frick 53620bc77b dinput: Simplify the code that finds the offset of the given linux event. 2006-11-24 12:56:50 +01:00
Francois Gouget dc44dbfa41 dinput/tests: Remove unneeded NONAMELESS* macros. 2006-11-24 11:48:47 +01:00
Mike McCormack 53baea13a5 dinput: Use HeapAlloc/Free instead of alloc/free. 2006-11-10 11:35:23 +01:00
Francois Gouget 30e44c85c8 Assorted spelling fixes. 2006-11-07 15:25:24 +01:00
Damjan Jovanovic b56953f49d dinput: Changed select to poll. 2006-11-06 12:29:12 +01:00
Francois Gouget 1f67fa0acf Add '\n's to Wine traces. 2006-10-20 14:10:34 +02:00
Vitaliy Margolen 35ee9b05d9 dinput: Add SetCooperativeLevel test for joystick. 2006-10-17 12:36:28 +02:00
Vitaliy Margolen d35e4cd83c dinput: Add SetCooperativeLevel tests to keyboard. 2006-10-17 12:36:24 +02:00
Vitaliy Margolen 1dae4c6832 dinput: Move SetCooperativeLevel into base class. 2006-10-17 12:36:13 +02:00
Vitaliy Margolen af34ef12ba dinput: Move SetEventNotification and associated event into base class. 2006-10-17 12:36:00 +02:00
Vitaliy Margolen 7d838d9e6f dinput: Use dinput device as a base class for keyboard, mouse and joystick. 2006-10-17 12:35:39 +02:00
Michael Ploujnikov 3438512f53 dinput/tests: Win64 printf format warning fixes. 2006-10-12 11:37:15 +02:00
Vitaliy Margolen 7123f3e80e dinput: Win64 printf format warning fixes. 2006-10-09 12:53:41 +02:00
James Hawkins 553bafd535 dinput: Call missing LeaveCriticalSection in the error case (found by Smatch). 2006-10-06 15:20: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
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
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