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