Commit Graph

723 Commits

Author SHA1 Message Date
Vitaliy Margolen 2665272d6c dinput: Pass event instance ID to queue_event instead of offset. 2009-11-30 12:49:11 +01:00
Vitaliy Margolen 29561f492e dinput: Improve dumping of DIACTIONFORMAT. 2009-11-30 12:49:04 +01:00
Vitaliy Margolen e1d6e3b258 dinput: Fix definitions to match PSDK. 2009-11-30 12:49:00 +01:00
Ričardas Barkauskas 258fd75b39 dinput: Fix counting non mapped axis as pov. 2009-10-21 16:05:56 +02:00
Paul Vriens 5a40c65cfe dinput/tests: Fix a few intermittent test failures. 2009-10-15 12:06:18 +02:00
Stefan Dösinger 024dcba89a dinput: Make the creation functions hookable. 2009-10-14 12:21:06 +02:00
Vitaliy Margolen 8c279bb80b dinput: Fix POV for programs that use buffered events. 2009-09-11 12:14:25 +02:00
Vitaliy Margolen 9d86110327 dinput: Convert axis mapping array to int instead of BYTE. BYTE is unsigned and char isn't enough to store all possible axis values. 2009-09-08 13:07:09 +02:00
Vitaliy Margolen f6351117f1 dinput: Move axes and buttons queries into initial joystick discovery for joydev driver. 2009-09-08 13:07:01 +02:00
Vitaliy Margolen 83172ecc82 dinput: Fix evdev POV mapping. 2009-08-19 12:26:15 +02:00
Vitaliy Margolen 0932f4a113 dinput: Get default axes configuration from the device for joydev. 2009-08-19 12:26:03 +02:00
Vitaliy Margolen 9a73798af8 dinput: Expand joydev joystick discovery to query joystick name as well. 2009-08-19 12:25:55 +02:00
Vitaliy Margolen 2941cc72e5 dinput: Set default joystick axes mapping for evdev. 2009-08-19 12:25:36 +02:00
Vitaliy Margolen fa9c11dad3 dinput: Let driver specify default axis mapping. 2009-08-19 12:25:27 +02:00
Vitaliy Margolen 167457efc1 dinput: Evdev joystick driver - add ability to remap axis. 2009-08-19 12:25:18 +02:00
Vitaliy Margolen 3622b2d926 dinput: Rename device axes to direct input axes mapping array to dev_axes_to_di. 2009-08-19 12:25:05 +02:00
Vitaliy Margolen 083d6e8474 dinput: Move setup_dinput_options into common place. 2009-08-19 12:24:52 +02:00
Vitaliy Margolen 1362d15060 dinput: Move axes count into base joystick class. 2009-08-19 12:24:39 +02:00
Vitaliy Margolen 5347ab427a dinput: Move axes mapping array and default dead-zone into generic joystick class. 2009-08-19 12:24:26 +02:00
Paul TBBle Hampson 98c1c8e741 dinput: Add missing newline to trace message. 2009-04-20 17:20:07 +02:00
Francois Gouget 5ef481922f Assorted spelling fixes. 2009-04-20 15:25:26 +02:00
Francois Gouget 14e03d770a dinput: Add a trailing '\n' to ERR() messages. 2009-04-20 15:25:20 +02:00
Vitaliy Margolen 542b17943f dinput: Use more friendly name for the joystick than its device path. 2009-04-20 14:30:23 +02:00
Vitaliy Margolen 649c762f52 dinput: Convert evdev joystick to new base class. 2009-04-20 14:30:11 +02:00
Vitaliy Margolen 3223798d30 dinput: Make props array a part of the generic joystick struct.
It's much easier to free it on release.
2009-04-20 14:30:03 +02:00
Vitaliy Margolen aee4237798 dinput: Remove redundant stuff. 2009-04-20 14:29:55 +02:00
Vitaliy Margolen fc4f1607a6 dinput: Make EnumDevices and GetObjectInfo consistent about GUIDs.
guidInstance should be the same from both places.
2009-04-20 14:29:49 +02:00
Detlef Riekenberg 5599912e27 dinput/tests: Remove duplicate version dump.
We have the version already in the header of the winetest results.
2009-03-30 13:56:54 +02:00
Aric Stewart 79859cb3ac dinput: OS/X joystick: Sort buttons based on usage as some controllers report the buttons out of order.
Makes the xbox 360 controller button mapping more logical.
2009-03-13 13:21:07 +01:00
Francois Gouget 40363a223c dinput: Add a trailing '\n' to ERR() messages.
Also convert a 'smart' quote to a regular quote.
2009-03-12 14:29:56 +01:00
Aric Stewart 6bbec8e660 dinput: OS/X joystick: Check usage page to avoid odd non-button elements found on the 360 controller. 2009-03-12 13:09:53 +01:00
Alexandre Julliard 81f8c03712 configure: Check for IOHIDManagerCreate function that's missing on Tiger. 2009-03-11 16:49:55 +01:00
Aric Stewart ae16df651f dinput: Add OS/X sliders. 2009-03-11 13:03:34 +01:00
Aric Stewart 08388a3c9b dinput: Map OS/X joystick axes so even if they come out of order on the device we recognize them correctly. 2009-03-11 13:03:34 +01:00
Aric Stewart 17daca7648 dinput: OS/X joystick add Rx,Ry,and Rz axes. 2009-03-11 13:03:34 +01:00
Aric Stewart ffbd6a79a4 dinput: OS/X joystick add GD_X, GD_Y, GD_Z axes. 2009-03-11 13:03:34 +01:00
Aric Stewart 87d61ab21b dinput: OS/X joystick add POV controls. 2009-03-11 13:03:34 +01:00
Aric Stewart 0e7eba1e3f dinput: OS/X joystick add axes. 2009-03-11 13:03:34 +01:00
Aric Stewart 225a494d66 dinput: Add Mac OS/X joystick support. 2009-03-11 13:03:33 +01:00
Aric Stewart 5dbe136027 dinput: Create generic joystick Acquire/Unacquire. 2009-03-10 14:40:19 +01:00
Aric Stewart 36f538eb91 dinput: Remove easy redundancy from linuxinput. 2009-03-10 14:40:03 +01:00
Aric Stewart 922b66e354 dinput: Rename Linux-specific joystick functions. 2009-03-10 14:39:49 +01:00
Aric Stewart e90e7e5b77 dinput: Move joystick mapping functions to the generic part. 2009-03-10 14:39:23 +01:00
Aric Stewart 94a5e0978d dinput: Move joystick Polling and Device State to the generic part. 2009-03-10 14:39:03 +01:00
Aric Stewart cbd34748e9 dinput: Move joystick productGuid and Name to the generic part. 2009-03-10 14:38:29 +01:00
Aric Stewart 620839d24e dinput: Begin joystick separation into a generic module. 2009-03-10 14:38:00 +01:00
Vitaliy Margolen 8dac79d38b dinput: Add few special cases for key mappings. 2009-03-03 12:35:14 +01:00
Vitaliy Margolen 74f2eccc90 dinput: Let each device decide which hook event to skip.
Some programs acquire mouse in exclusive and keyboard in non-exclusive mode.
2009-02-23 12:19:25 +01:00
Vincent Pelletier 7e7970830f dinput: Fix effect direction conversion from DIEFF_CARTESIAN coordinates. 2009-02-03 12:40:07 +01:00
Vincent Pelletier befb0a06b1 dinput: Move gain support from effect to device. 2009-02-02 15:21:44 +01:00
Vitaliy Margolen 3743a1a7ca dinput: Consume mouse & keyboard events in exclusive mode. 2009-02-02 15:21:42 +01:00
Michael Stefaniuc c0d2a21dd1 dinput: Remove superfluous pointer casts. 2009-01-28 12:30:51 +01:00
Vincent Pelletier e5abaf9f97 dinput: Clamp lMagnitude to -10000..10000 range. 2009-01-26 14:52:28 +01:00
Vincent Pelletier 15a33ab209 dinput: Fix gain-related bugs. 2009-01-26 14:52:01 +01:00
Vincent Pelletier 5a24b42b30 dinput: Implement auto-center set & get. 2009-01-23 13:44:33 +01:00
Vincent Pelletier 7d0ee98716 dinput: Add test to show that effects are stopped after Unacquire + Acquire and preserved in dinput. 2009-01-22 15:28:23 +01:00
Vincent Pelletier 41be1096c0 dinput: On Unacquire, stop all effects and unload them. 2009-01-22 15:28:23 +01:00
Vincent Pelletier a0c10c2af2 dinput: Use tested DirectInput version instead of latest. 2009-01-22 15:28:23 +01:00
Vincent Pelletier ebc2c74f7c dinput: Test that upload, unacquire, acquire still permits updating uploaded effect.
Kudos to Daniel Remenak for his help.
2009-01-21 12:30:20 +01:00
Vincent Pelletier d2969fef92 dinput: Add effect gain support. 2009-01-20 12:58:14 +01:00
Vincent Pelletier 0ea7dc15f8 dinput: Move WARN where it belongs. 2009-01-19 14:46:24 +01:00
Alexandre Julliard f6eb03d6c6 dinput: Avoid size_t in traces. 2009-01-08 13:12:08 +01:00
Vitaliy Margolen f6f52021f8 dinput: Copy device data up to maximum available bytes. 2009-01-08 12:54:54 +01:00
Alexandre Julliard fffcd23cce dinput: Fix pointer cast warnings on 64-bit. 2009-01-05 12:39:44 +01:00
Vitaliy Margolen d2da2d378e dinput: Allow for holes in device status structure. 2009-01-04 14:59:54 +01:00
Vitaliy Margolen 8b09a8eb9d dinput: Fix remaining formatting of the find_joydevs(). 2008-12-29 11:47:06 +01:00
Vitaliy Margolen a610cfb64c dinput: Fix usage of HeapReAlloc. 2008-12-29 11:46:56 +01:00
Vitaliy Margolen 7915569511 dinput: Replace perror with more appropriate ERR and WARN. 2008-12-27 20:24:12 +01:00
Vitaliy Margolen a179f491fd dinput: Warn if failed to open device. 2008-12-27 20:23:57 +01:00
Vitaliy Margolen e0152e85e9 dinput: snprintf zero-terminates string no need to do it explicitly. 2008-12-27 20:23:41 +01:00
Vitaliy Margolen ae26ca6c28 dinput: Make find_joydevs re-entrant. 2008-12-27 20:23:22 +01:00
Vitaliy Margolen 6e07c7bc14 dinput: Remove DIEnumDevicesCallbackAtoW.
It's no longer used.
2008-12-20 11:11:30 +01:00
Hans Leidekker 8bd9a3aa09 janitorial: Don't depend on user32 for the self registration functions. 2008-12-17 11:38:32 +01:00
Vincent Povirk 6ff83ba591 dinput/tests: Fix string format warning. 2008-12-05 12:30:10 +01:00
Alexandre Julliard 9ef1f0fe2e dinput: Make some functions static. 2008-12-03 12:13:37 +01:00
Vitaliy Margolen 095ba950d6 dinput: Use correct GetObjectInfo for joystick. 2008-12-01 12:45:34 +01:00
Michael Stefaniuc bb2d8577c3 dinput: Remove superfluous backslashes at end of lines. 2008-10-16 11:28:53 +02:00
Andrew Talbot c1d5dfe84b dinput: Sign-compare warnings fix. 2008-09-30 10:57:23 -05:00
Vitaliy Margolen d939367ac8 dinput: Implement DIPROP_KEYNAME property for keyboard device.
Based on patch from Sergey Khodych.
2008-09-15 13:23:13 +02:00
Vitaliy Margolen 5085d4cd35 dinput: Replace strdup with HeapAlloc. 2008-09-15 13:22:28 +02:00
Jim Cameron f20961d9fa dinput: Add IID_IUnknown to DICF_CreateInstance(), DirectInputCreateEx(). 2008-09-03 14:21:41 +02:00
Vitaliy Margolen 517462cf9a dinput: Add mouse warp override config option. 2008-08-20 14:05:18 +02:00
Aric Stewart 304ff3c728 dinput: The DIK_ keycode is not the same as the scancode.
It is mapped with the keyboard mapping to the resulting character so
the key 'A' is DIK_A nomatter what its scancode or vkey would be. This
is relevant to Japanese keymapping where the '@' key is in the '['
location the scancode for both is 0x22 but dinput generates DIK_AT in
japanese and DIK_LBRACKET in us_qwerty.
2008-08-20 13:58:25 +02:00
Vitaliy Margolen aa0188cd6f dinput: Zero the out buffer. 2008-07-28 12:16:34 +02:00
Vitaliy Margolen a0abf988ac dinput: Implement saturation property for evdev joystick driver. 2008-07-28 11:32:16 +02:00
Andrew Talbot 0993244b08 dinput: Remove unneeded address-of operators from array names. 2008-07-10 12:19:39 +02:00
Alexandre Julliard b648dac7e1 dinput: Don't depend on the dxerr8 static library in the tests. 2008-07-08 17:51:46 +02:00
Alexandre Julliard 79c64acc7b tests: Don't depend on the static uuid libraries in the tests.
This avoids trouble with the broken MingW libraries when
cross-compiling the tests.
2008-07-08 17:51:45 +02:00
Vitaliy Margolen ba1a7ba62a dinput: Set force feedback actuator flag for X and Y axes.
Programs looking for this flag to verify if FF is present. And on which axes.
2008-07-07 12:11:24 +02:00
Vitaliy Margolen a478c4fe25 dinput: Freed effect should remove itself from the parent's list of effects. Add tests. 2008-07-07 12:11:24 +02:00
Vitaliy Margolen aa3694d8ac dinput: Use Wine list for effects list. 2008-07-07 12:11:24 +02:00
Vitaliy Margolen 91036a04a2 dinput: Stop and unload effect when freeing it. 2008-07-07 12:11:24 +02:00
Vitaliy Margolen 85e2aa1d8a dinput: Add more traces. Prevent some traces from dereferencing NULL pointer. 2008-07-07 12:11:24 +02:00
Vitaliy Margolen e850b4f13d dinput: Convert keyboard buffer from internal data format to user data format. 2008-05-28 19:31:59 +02:00
Vitaliy Margolen f2bdd8d96c dinput: Clamp joystick position values to min-max range. 2008-05-13 20:25:56 +02:00
Vitaliy Margolen a37c60b0f7 dinput: Implement GetDeviceStatus. 2008-05-12 11:43:32 +02:00
Vitaliy Margolen 382ed33b7a dinput: Default value for unassigned POVs should be -1. 2008-05-08 18:14:18 +02:00
Vitaliy Margolen 9227e25660 dinput: Ignore events from extra joystick buttons. 2008-05-07 17:50:50 +02:00
Vitaliy Margolen bdbc2783a1 dinput: Limit number of axes in a different way - map all extra axes to -1.
We can't stop device from sending us extra axes so have to keep axes mapping
around for them.
2008-05-07 17:50:42 +02:00
Vitaliy Margolen b07ff6ec86 dinput: Remove redundant variable. 2008-05-07 17:49:38 +02:00
Francois Gouget 42a61d7ed7 Assorted spelling fixes. 2008-05-06 16:10:20 +02:00
Alexandre Julliard dad21bbcbf makefiles: List the static libraries as normal imports instead of extra libs. 2008-04-30 14:23:55 +02:00
Vitaliy Margolen 97535fe243 dinput: Fix typo. 2008-04-29 12:29:18 +02:00
Vitaliy Margolen 736d03c8da dinput: Fix default axes mapping generation. 2008-04-28 14:32:40 +02:00
Vitaliy Margolen 4a2f7497ab dinput: Explicitly set extended key flag for Right Shift. 2008-04-28 13:27:51 +02:00
Lionel Debroux 27c2b56c5e dinput: joystick test: Improve reporting when enumerated axes/buttons/POVs don't match capabilities. 2008-04-28 13:27:51 +02:00
Vitaliy Margolen f51e0e2d26 dinput: Limit number of supported axis and buttons. 2008-04-25 15:00:32 +02:00
Sergey Khodych c6a7fd44d2 dinput/tests: Add test to show dinput does not use user defined data format for keyboard. 2008-04-18 13:57:15 +02:00
Andrew Talbot 6657cfe70d dinput: Fix handle leak. 2008-04-16 14:07:50 +02:00
Vitaliy Margolen 3ba6f864f4 dinput: Don't use dead-zone from the device. 2008-04-14 12:40:22 +02:00
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