Commit Graph

663 Commits

Author SHA1 Message Date
Vitaliy Margolen e67c1cbf69 dinput: Joysticks are not supported for DX v3. 2008-04-14 12:40:22 +02:00
Vitaliy Margolen b9801bba31 dinput: Assign button GUID to joystick buttons. 2008-04-14 12:40:22 +02:00
Andrew Talbot 05ea03c00b dinput: Assign to struct instead of using CopyMemory. 2008-03-29 10:30:24 +01:00
Austin English 06d429d6b6 Spelling fixes. 2008-03-27 20:48:19 +01:00
Paul Vriens a85c7594dc dinput/tests: Don't treat old dinput versions as an error. 2008-03-10 11:22:30 +01:00
Rob Shearman 48000893f9 makefiles: Simplify the use of the IMPORTLIB variable in the DLL makefiles.
Only specify the root to keep platform-specifics out of the individual 
DLL makefiles.
2008-03-04 20:55:01 +01:00
Andrew Talbot da0a48d235 dinput: Assign to structs instead of using memcpy. 2008-03-01 12:02:19 +01:00
Rob Shearman 376be08a7c dinput: Include fcntl.h instead of sys/fcntl.h since they are equivalent and the former is more portable. 2008-02-28 10:50:57 +01:00
Francois Gouget 8e97ff5e3b dinput: Fix compilation on systems that don't support nameless unions. 2008-02-26 11:21:17 +01:00
Rob Shearman fe75a8c616 dinput: Fix character count passed to GetKeyNameTextW in SysKeyboardWImpl_GetObjectInfo. 2008-02-25 13:31:34 +01:00
Marcus Meissner 494dd5f1fa dinput: Some debug output for BuildActionMap. 2008-02-18 12:41:37 +01:00
Marcus Meissner f1a688a946 dinput: Removed superflous < 0 check. 2008-02-16 15:11:12 +01:00
Marcus Meissner da77b8a0f3 dinput: Add debug output for IDirectInput8A::EnumDevicesBySemantics. 2008-02-16 15:11:00 +01:00
Marcus Meissner 9ce27fc7c1 dinput: Add a dumper for LPDIACTIONFORMAT.
Also make the DINPUT_instance static.
2008-02-16 15:10:47 +01:00
Vitaliy Margolen 971c4e19d6 dinput: Don't use event times, report current tick count instead. 2008-02-15 10:12:51 +01:00
Vitaliy Margolen eca356829c Revert "dinput: Skip old mouse movement events.".
This reverts commit 3187669512.
2008-02-15 10:12:45 +01:00
Marcus Meissner 9438ebfa20 dinput: Make _dump_mouse_state static. 2008-02-12 22:36:13 +01:00
Vitaliy Margolen 3187669512 dinput: Skip old mouse movement events. 2008-02-11 21:00:09 +01:00
Peter Dons Tychsen 53f64a09cf dinput: Silence incorrect warning and move it to a valid place. 2008-01-07 14:25:19 +01:00
Lionel Debroux efc81cb233 dinput: Improve TRACEs and WARNs. 2008-01-02 13:19:48 +01:00
Francois Gouget 96d6a25fa1 dinput: Make _dump_cooperativelevel_DI() and _dump_EnumDevices_dwFlags() more self-contained. 2007-12-18 12:32:56 +01:00
Andrew Riedi e0740a7a60 dinput: DPRINTF -> TRACE. 2007-12-12 13:48:57 +01:00
Andrew Talbot 39b99d47ad dinput: Remove unneeded casts. 2007-12-07 17:36:01 +01:00
Andrew Talbot 1067f56ca5 dinput: Use bitwise NOT not logical NOT. 2007-11-27 12:29:52 +01:00
Vitaliy Margolen 1ed3a815ed dinput: Fix dead zone handling. 2007-11-26 12:27:39 +01:00
Michael Stefaniuc 3e8970602c dlls: Remove duplicate includes. 2007-11-19 13:54:46 +01:00
Vitaliy Margolen ba2e3f57d2 dinput: Add stub for DIPROP_AUTOCENTER property. 2007-11-05 14:46:30 +01:00
Gerald Pfeifer 79ccb7889c dinput: Fix type of loop variable in alloc_device(). 2007-11-02 12:37:09 +01:00
Vitaliy Margolen 7e6d0e71eb dinput: Use ClipCursor() to keep mouse from leaving the window. 2007-10-10 12:16:16 +02:00
Vitaliy Margolen 355b39cd71 dinput: Fix typo. 2007-10-01 12:34:12 +02:00
Vitaliy Margolen 7123d5a0a3 dinput: Implement GetDeviceInfo for evdev joystick. 2007-09-25 11:55:32 +02:00
Vitaliy Margolen ac3668a057 dinput: Make default dead zone configurable. 2007-09-25 11:55:26 +02:00
Vitaliy Margolen 8ff85c08b6 dinput: Add a helper function to open configuration registry keys. 2007-09-25 11:55:23 +02:00
Vitaliy Margolen 319097f563 dinput: Move get_config_key to a common place. 2007-09-25 11:55:19 +02:00
Stefan Leichter dd8c4a9583 dinput: Remove 'recursive registry key delete' function. 2007-09-24 13:44:53 +02:00
Vitaliy Margolen 278cc8e28d dinput: When setting hooks ignore devices without even handler. 2007-09-11 12:34:29 +02:00
Vitaliy Margolen 64ef4c4edf dinput: Add helper function to dump mouse state. 2007-09-11 12:34:27 +02:00
Vitaliy Margolen c6784cdad3 dinput: Count should not be 0-based. 2007-08-27 12:01:43 +02:00
Vitaliy Margolen fc0298429a dinput: Fix compile with old input.h that missing input_absinfo. 2007-08-21 21:39:10 +02:00
Vitaliy Margolen e2e3d19351 dinput: Don't try to create non existing device (/dev/js*). 2007-08-21 12:41:57 +02:00
Vitaliy Margolen 81fc89fa6d dinput: Check acquired flag instead of fd. 2007-08-20 22:32:53 +02:00
Vitaliy Margolen 3cd13628aa dinput: Use correct data structure for EVIOCGABS instead of an array. 2007-08-20 22:32:51 +02:00
Vitaliy Margolen ca8a0a8aaa dinput: Remove redundant declaration. 2007-08-20 22:32:45 +02:00
Vitaliy Margolen f47c63a1f9 dinput: Don't try to create non existing device. 2007-08-20 22:32:40 +02:00
Vitaliy Margolen c78b8a17fd dinput: Properly increment sequence number for X only movement. 2007-08-17 12:01:37 +02:00
Vitaliy Margolen 51fac7f28a dinput: Fix dead zone calculation.
Based on patch by Artur Szymiec.
2007-08-14 20:29:21 +02:00
Peter Dons Tychsen 2cea950e99 dinput: Allow the use of the standard Joystick GUID when calling CreateDevice. 2007-08-08 15:32:04 +02:00
Vitaliy Margolen b06786940c dinput: Reuse common code and definition.
Unify object properties structure and he common axis mapping function
for both joystick drivers.
2007-08-06 14:02:41 +02:00
Vitaliy Margolen 19183e71d4 dinput: Fix POV calculation.
Combine and simplify the POV calculations. Linux provides X,Y for the POV.
While DirectInput returns dial-degrees*1000 (12 o-click is 0 degrees).
2007-08-06 14:02:26 +02:00
Vitaliy Margolen 1fdc0230f0 dinput: Fix handling of dead-zone in evdev joystick.
USB joysticks can and do provide dead-zone area. Use it to initialize
the initial dead-zone.
2007-08-06 14:02:02 +02:00
Vitaliy Margolen 9e36848303 dinput: Fix mapping of axes ids to property ids. 2007-08-06 14:01:54 +02:00
Erik Inge Bolsø 176c567cb3 dinput: Fix joystick axis remapping. 2007-08-02 12:18:41 +02:00
Vitaliy Margolen ed4f1e8ec7 dinput: Fix typo. 2007-07-30 13:00:01 +02:00
Vitaliy Margolen 94e08ec5be dinput: Use more messages as a possible indication of the foreground window changes. 2007-07-23 12:13:26 +02:00
Vitaliy Margolen 41ce4a0158 dinput: Use CALLWINDPROC hook to monitor focus loses away from acquired windows. 2007-07-16 22:59:07 +02:00
Vitaliy Margolen 233cd46a22 dinput: Use PostMessage instead of SendMessage. Remove message window. 2007-07-16 22:59:02 +02:00
Vitaliy Margolen efdee19d90 dinput: Convert IDirectInput into multi-interface object. 2007-07-12 12:59:20 +02:00
Vitaliy Margolen 6d5eee0851 dinput: Clear static variables after releasing hooks. 2007-07-10 13:37:20 +02:00
Vitaliy Margolen 8f28d4369e dinput: Rename set_dinput_hook and call it from the base class.
Since keyboard's acquire and unacquire don't do anything special just call
the base class.
2007-07-09 14:31:38 +02:00
Vitaliy Margolen deb74efc04 dinput: Handle multiple keyboard and mouse devices. 2007-07-09 14:27:25 +02:00
Vitaliy Margolen 6d6e4f4ea2 dinput: Export Mouse and Keyboard GUIDs. 2007-07-09 14:25:47 +02:00
Vitaliy Margolen fe1f1362b8 dinput: Keep a list of all IDirectInput objects and check it instead of refcount to create/destroy hook thread. 2007-07-09 14:25:39 +02:00
Vitaliy Margolen 448dde9be8 dinput: Keep the list of all the dinput devices created for each IDIrectInput object. 2007-07-09 14:25:33 +02:00
Vitaliy Margolen 1f72c13a5a dinput: Correct test - use appropriate mouse state structure. 2007-07-06 18:15:19 +02:00
Vitaliy Margolen b9e8284a7d dinput: Move key state array into object. 2007-06-29 12:31:45 +02:00
Vitaliy Margolen fb1082ae73 dinput: Combine all Release functionality into base class. 2007-06-28 12:16:11 +02:00
Vitaliy Margolen d2966c2dfb dinput: Move parent dinput reference into base class. 2007-06-28 12:16:11 +02:00
Vitaliy Margolen 75a17709ea dinput: Remove duplicate code. 2007-06-28 12:16:11 +02:00
Vitaliy Margolen f83b53c160 dinput: Acquire device only if specified window has focus in foreground coop level. 2007-06-04 13:10:10 +02:00
Vitaliy Margolen 6a8bf96d73 dinput: Make sure to unacquire device before freeing it. 2007-06-04 13:10:04 +02:00
Dmitry Timoshkov 3c9e7a7f33 wine: Switch to using 'long' for INT_PTR type for 64-bit compatibility. 2007-05-25 20:37:56 +02:00
Vitaliy Margolen 4659f98314 dinput: Prevent race between destroying the hook window and unloading the dll. 2007-05-15 15:53:44 +02:00
Andrew Talbot 5e1ca16052 dinput: Constify some variables. 2007-04-24 11:53:46 +02:00
Vitaliy Margolen cb0e61c356 dinput: Set the event regardless of the queue state. 2007-04-09 12:19:01 +02:00
Andrew Talbot 08e1481d8e dinput: Replace inline static with static inline. 2007-03-21 11:55:33 +01:00
Jan Zerebecki 52a630a3a8 dinput: Add DebugInfo to critical sections. 2007-03-08 22:21:43 +01:00
Andrew Talbot e744c3a5b1 dinput: Constify some variables. 2007-02-13 12:08:26 +01:00
Vitaliy Margolen a06821765a dinput: Don't reset dead zone and saturation when setting data format.
Additional tests indicate that native doesn't touch previously set
properties.
2007-02-06 20:23:28 +01:00
Vitaliy Margolen 17839bab6c dinput: Use correct flag for object instance.
DIDFT_AXIS is a generic mask for absolute and relative axes.
2007-02-06 12:30:39 +01:00
Vitaliy Margolen 10fca47ba4 dinput: Look for all available js* joystick devices. 2007-02-06 12:30:34 +01:00
Vitaliy Margolen 45b8d865b4 dinput: Don't reset user specified range in SetDataFormat. With tests. 2007-02-05 14:03:28 +01:00
Vitaliy Margolen b8b03b54b7 dinput: Initialize user limits with the default 0..65535 range. Add tests. 2007-02-05 14:03:20 +01:00
Vitaliy Margolen 575ede974d dinput: Return user set limits not the device limits. 2007-02-05 14:03:07 +01:00
Vitaliy Margolen 15e0ccab9b dinput: Don't close fd before we done with it. 2007-02-05 14:02:46 +01:00
Marcus Meissner 1fc5160ce8 dinput: Fix dereference pointer after NULL check (Coverity). 2007-02-05 14:02:23 +01:00
Alexandre Julliard 4ae5b9fd33 dinput: Undefine SW_MAX to avoid possible conflicts with winuser.h. 2007-01-22 12:11:04 +01:00
Christoph Frick a6947bde23 dinput: Calc more caps infos ahead and store it in JoystickImpl. 2007-01-18 12:09:32 +01:00
Christoph Frick ffdea40f2c dinput: No longer check for value exceeding have(min|max) in map_axis. 2007-01-17 11:41:52 +01:00
Christoph Frick f0b45141c2 dinput: Add a config for the axes. 2007-01-17 11:41:07 +01:00
Christoph Frick 0855a6be4c dinput: Move the config for the buttons from the JoyDev into the JoystickImpl. 2007-01-17 11:40:52 +01:00
Christoph Frick 424d302115 dinput: Use a struct ObjProps for the config of the device. 2007-01-17 11:40:42 +01:00
Christoph Frick 22a6983a96 dinput: Rename 'axe' to 'axis'. 2007-01-17 11:40:29 +01:00
Vitaliy Margolen dbd2112eee dinput: Internal data format is not const anymore. 2007-01-11 11:49:12 +01:00
Vitaliy Margolen a1dd4cb76a dinput: Don't copy no longer used user data format object array. 2007-01-11 11:49:01 +01:00
Vitaliy Margolen da78a7af5e dinput: Use internal data format for object lookups. 2007-01-11 11:48:55 +01:00
Vitaliy Margolen 3d093256ca dinput: [joystick_linuxinput] Use correct offset to queue events. 2007-01-11 11:48:49 +01:00
Vitaliy Margolen d81e17d5c0 dinput: [joystick_linuxinput] Rewrite GetObjectInfo and EnumObjects on top of base class. 2007-01-11 11:48:40 +01:00
Vitaliy Margolen bfa64b98ed dinput: [joystick_linuxinput] Copy and modify default data format. 2007-01-11 11:48:22 +01:00
Vitaliy Margolen 1bc557eea0 dinput: [joystick_linux] Use correct offset to queue events. 2007-01-11 11:45:55 +01:00
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