Commit Graph

667 Commits

Author SHA1 Message Date
Charles Davis a2e11b452a dinput: Don't link to/include Carbon on Mac OS X. 2011-01-25 12:45:44 +01:00
Vitaliy Margolen 02be0aee72 dinput: Fix typo. Found by clang. 2011-01-25 12:37:53 +01:00
Vitaliy Margolen 0ac5c60374 dinput: Combine ASCII and Unicode device create callbacks. Add tests. 2011-01-24 14:43:09 +01:00
Vitaliy Margolen 92ac7861f5 dinput: Combine ASCII and Unicode Direct Input Device QueryInterface. 2011-01-19 12:58:29 +01:00
Vitaliy Margolen 9441d898f7 dinput: Make newly created device append itself to Direct Input's list. 2011-01-19 12:58:01 +01:00
Vitaliy Margolen 6b30480021 dinput: COM cleanup - use interfaces instead of vtbl. Combine both Unicode and ASCII interfaces into the same classes. 2011-01-10 12:41:20 +01:00
Vitaliy Margolen e6a8aa67d0 dinput: Explicitly define ASCII and Unicode methods in joydev joystick. 2011-01-10 11:04:07 +01:00
Vitaliy Margolen d88cbac1c5 dinput: Explicitly define ASCII and Unicode methods in evdev joystick. 2011-01-10 11:04:01 +01:00
Vitaliy Margolen 6a07885029 dinput: Explicitly define ASCII and Unicode methods in joystick base class. Use new methods in child classes. 2011-01-10 11:03:49 +01:00
Vitaliy Margolen 30ab6c1749 dinput: Explicitly define ASCII and Unicode methods in mouse. 2011-01-10 11:03:40 +01:00
Vitaliy Margolen 9f9e376239 dinput: Explicitly define ASCII and Unicode methods in keyboard. 2011-01-10 11:03:34 +01:00
Vitaliy Margolen 0f24b9e86f dinput: Explicitly define ASCII and Unicode methods in DirectInputDevice base class. Make ASCII methods call Unicode. Use new methods in child classes. 2011-01-10 11:03:17 +01:00
Vitaliy Margolen 9594be7f79 dinput: Change internal check_dinput_hooks method to take W iface. 2011-01-10 11:02:16 +01:00
Vitaliy Margolen 399be3455a dinput: COM cleanup - use helper function instead of direct typecast in OS/X joystick. 2011-01-10 11:02:04 +01:00
Vitaliy Margolen f09ace0d83 dinput: COM cleanup - use helper function instead of direct typecast in linuxinput joystick. 2011-01-10 11:02:00 +01:00
Vitaliy Margolen a1b08e5d04 dinput: COM cleanup - use helper function instead of direct typecast in Linux joystick. 2011-01-10 11:01:55 +01:00
Vitaliy Margolen de4a9bb319 dinput: COM cleanup - use helper function instead of direct typecast in base joystick class. 2011-01-10 11:01:51 +01:00
Vitaliy Margolen 31c828ea27 dinput: COM cleanup - use helper function instead of direct typecast in keyboard. 2011-01-10 11:01:46 +01:00
Vitaliy Margolen 625fefca61 dinput: COM cleanup - use helper function instead of direct typecast in mouse. 2011-01-10 11:01:39 +01:00
Vitaliy Margolen fc023b96d2 dinput: COM cleanup - use helper function instead of direct typecast in base device class. 2011-01-10 10:58:36 +01:00
Vitaliy Margolen 0b99bf3edb dinput: COM cleanup - use proper interface instead of typecasting This when calling queue_event. 2011-01-10 10:58:26 +01:00
Vitaliy Margolen b66e00cb09 dinput: COM cleanup - return interface instead of typecasting This. 2011-01-10 10:58:19 +01:00
Vitaliy Margolen 15216098e0 dinput: COM cleanup - use proper DirectInput interface with IUknown calls. 2011-01-10 10:58:14 +01:00
Vitaliy Margolen 7b47282625 dinput: More COM cleanup for IDirectInput - use interfaces instead of typecasts. 2011-01-10 10:58:06 +01:00
Greg Geldorp 62670dc39e dinput/tests: Skip acquire tests when not running in the foreground.
If our window isn't the foreground window, we'll never be able to
successfully Acquire with SetCooperativeLevel DISCL_FOREGROUND in effect.
2011-01-06 18:29:14 +01:00
Vitaliy Margolen 7d650d0b28 dinput: Pass interface instead of this pointer to joystick poll callback. 2011-01-03 16:48:16 +01:00
Vitaliy Margolen 179b862738 dinput: Rename IDirectInputDevice2AImpl into IDirectInputDeviceImpl. 2011-01-03 16:46:41 +01:00
Vitaliy Margolen 0adc470854 dinput: COM cleanup - use interface instead of lpvtbl in joystick effects. 2011-01-03 16:46:25 +01:00
Vitaliy Margolen 2774d40463 dinput: Convert DirectInput to using interface instead of vtbl. 2010-12-29 10:48:32 +01:00
Alexandre Julliard f4d0d638e8 dinput: Convert dll registration to the IRegistrar mechanism. 2010-12-07 12:54:24 +01:00
Michael Stefaniuc 6d7d1b5850 dinput: Use an iface instead of a vtbl pointer in IClassFactoryImpl. 2010-12-05 16:43:09 +01:00
Zach Smith fa5f61f59d dinput: OSX joystick driver separate device for each top level HID collection. 2010-09-21 20:16:16 +02:00
Alexandre Julliard 81b8ee863e makefiles: Add a standard header for all makefiles to replace the common variable initializations. 2010-09-19 12:36:48 +02:00
Kovács András cde699b286 dinput: Return an error in IDirectInputDevice2AImpl_GetProperty(). 2010-09-16 10:11:08 -05:00
Andrew Talbot e6649952fa dinput: Constify some variables. 2010-08-31 14:23:47 +02:00
Alexandre Julliard b86d515ed6 dlls: Remove explicit imports of kernel32 and ntdll. 2010-07-21 17:38:36 +02:00
Michael Stefaniuc 127733ebda dinput: Remove explicit cast to long as it happens implicitly.
LPDIEFFECT->rglDirection is a LPLONG.
2010-05-18 18:42:09 +02:00
Detlef Riekenberg 5a195bda98 dinput: Add the riid for an unsupported interface to a FIXME. 2010-04-28 09:19:47 -05:00
Alexandre Julliard bef5645eb1 makefiles: Remove the no longer needed explicit separators for dependencies. 2010-03-16 13:28:19 +01:00
Alexandre Julliard 6164ce2d82 makefiles: Use the standard C_SRCS variable as the list of test files.
This enables it to be auto-updated by make_makefiles.
2010-02-22 10:47:11 +01:00
Michael Stefaniuc 2004db1bb1 dinput: Don't use HIWORD to check if a REFGUID is a DIPROP. 2010-02-02 11:47:20 +01:00
Paul Vriens ff4047a956 dinput: Don't check a parameter twice (Coccinelle). 2010-01-14 09:11:22 -06:00
Reece Dunn a2c41b72f8 Don't generate FIXME warnings for DllCanUnloadNow. 2010-01-06 10:59:51 +01:00
Francois Gouget c5b346440f dsound: Make id_to_offset() static. 2009-12-02 14:19:50 +01:00
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