Commit Graph

409 Commits

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