Commit Graph

688 Commits

Author SHA1 Message Date
Andrew Nguyen 90e9e3103a dinput: Implement IDirectInput::RunControlPanel. 2011-07-06 11:13:31 +02:00
Lucas Fialho Zawacki 39684c7e3a dinput: SetActionMap and queue_event setting mapped data. 2011-07-04 20:25:00 +02:00
Lucas Fialho Zawacki b590090a48 dinput: SetActionMap constructing a dataformat for keyboard and mouse. 2011-07-04 20:24:48 +02:00
Lucas Fialho Zawacki 83aded2754 dinput: Keyboard and mouse implementation of BuildActionMap. 2011-07-04 20:24:10 +02:00
Lucas Fialho Zawacki 2fe9f14b29 dinput: SetActionMap setting the device buffer. 2011-06-28 16:45:56 -05:00
Lucas Fialho Zawacki 0f17c828f7 dinput: EnumDevicesBySemantics enumerating keyboard and mouse with priority flags. 2011-06-28 16:45:55 -05:00
Jonas Maebe 90d8608185 dinput: Hook up joysticks to DirectInput event queue on Mac OS X. 2011-06-17 11:09:00 +02:00
Vitaliy Margolen eb6cec1656 dinput: Keyboard does not support DIPROP_RANGE property. 2011-05-31 11:12:35 +02:00
Marcus Meissner a19e31efd9 dinput: Mark internal symbols with hidden visibility. 2011-05-18 10:58:25 +02:00
Alexandre Julliard 86b682154b dinput: Reset the clipped flag when the cursor is released. 2011-05-05 16:32:00 +02:00
Marcus Meissner cba138547a dinput: Mark internal symbols as hidden. 2011-04-29 14:21:40 +02:00
Alexandre Julliard 0036e438db dinput: Pass mouse messages through if the request to clip the cursor is rejected. 2011-04-26 16:04:23 +02:00
Alexandre Julliard c52f415415 dinput: Use a 1x1 clipping rect instead of warping the mouse in exclusive mode. 2011-04-26 16:04:00 +02:00
Alexandre Julliard 5f2daff124 dinput: Add a helper function for mouse warping. 2011-04-26 15:31:32 +02:00
Alexandre Julliard 8578f9c375 dinput: Get rid of some redundant coordinate mappings. 2011-04-26 15:31:31 +02:00
Vitaliy Margolen 20aa341032 dinput: Implement getting DIPROP_VIDPID property for evdev joystick driver. Fixes bug 26418. 2011-04-14 17:37:23 +02:00
Vincent Pelletier f1beea4f86 dinput: Effect length can actually be 0.
This fixes force feedback devices slamming for 10ms at full strength, as
attack is an absolute value, not a factor of effect level.
2011-03-31 12:38:28 +02:00
Vincent Pelletier 296b67f556 dinput: Ramp from lStart to lEnd, not lStart to lStart. 2011-03-28 17:08:53 +02:00
Austin English d6d749f4d7 dinput/tests: Make sure to use return value (LLVM/Clang). 2011-02-07 10:06:07 -06:00
Vitaliy Margolen 670d54a637 dinput: Ignore EV_MSC events instead of printing fixme. 2011-02-02 12:24:14 +01:00
Vitaliy Margolen 4979d287b2 dinput: Return correct error code for DIPROP_VIDPID. 2011-02-02 12:24:07 +01:00
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