Commit Graph

390 Commits

Author SHA1 Message Date
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