Commit Graph

147 Commits

Author SHA1 Message Date
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
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 6a8bf96d73 dinput: Make sure to unacquire device before freeing it. 2007-06-04 13:10:04 +02:00
Jan Zerebecki 52a630a3a8 dinput: Add DebugInfo to critical sections. 2007-03-08 22:21:43 +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 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
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 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 cd306046bb dinput: Pass complete DataFormat structure to find_property. 2007-01-10 12:23:28 +01:00
Vitaliy Margolen ce5fb9bb29 dinput: AddRef and Release parent DirectInput class. 2006-12-24 13:07:15 +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 350c66fec2 dinput: Zero out returned information struct. 2006-12-18 12:00:43 +01:00
Vitaliy Margolen 6246fa62f9 dinput: Remove redundant parameter. 2006-12-12 20:24:10 +01:00
Vitaliy Margolen 1d314d54ba dinput: Move joystick user data format into base class. 2006-12-12 20:23:37 +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 aa7eed9394 dinput: Move joystick event queue into base device class. 2006-12-05 11:32:55 +01:00
Vitaliy Margolen 0da0486cc3 dinput: Move critical section to the base device class. 2006-12-04 12:33:47 +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
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 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
Vitaliy Margolen 7123f3e80e dinput: Win64 printf format warning fixes. 2006-10-09 12:53:41 +02:00
Kovács András 71924d7da6 dinput: joydev_enum_deviceA now returns the correct value. 2006-07-20 12:10:55 +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
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02: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
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
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
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 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
Alexandre Julliard 82776020da Removed some unused or redundant configure checks.
A few cleanups in configure.ac.
2005-08-08 11:17:25 +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
Dmitry Timoshkov 247246ede7 Make more of the OLE interface vtables const. 2005-05-30 10:01:08 +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
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
Christian Costa 9a99dc14eb Implemented GetProperty method for keyboard device. 2005-02-15 15:03:03 +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
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
Alexandre Julliard f714b39762 Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
macro.
2004-08-23 19:39:48 +00:00
Alexandre Julliard 48c4bb3c31 Get rid of the non-standard ICOM_VTABLE macro. 2004-08-12 23:00:51 +00:00
Lionel Ulmer 4f640697bd - some new logging on device enumeration
- fix version setting in DirectInputCreate(A/W) functions
2004-06-04 18:06:37 +00:00
Lionel Ulmer 04d77f4dcc - some TRACEing improvements
- fix mouse Acquire which switched right and middle buttons
- reset the mouse cursor at its original location on Unacquiring the
  device
2004-06-02 00:36:54 +00:00
Christian Costa 1a85a57e0e Fixed joystick device type for dinput8. 2004-05-27 01:54:43 +00:00
Christoph Frick c7994927c8 - added code to have the joystick state be set to the assumed center
values of the joystick mapped to the range the application wants
  them
- generate events after setting the apropiate values in This->js
- replaced magic ints with defines from linux/input.h
- removed mapping code that generated wrong values for axes, that have
  the center on the min or max
2004-04-19 02:59:22 +00:00
Christoph Frick feb0ef340b - Added missing break statement.
- Changed the mapping of the axis to a simpler formula, that ignores
  the middle of an axis.
- Min/max values where initalized switched.
- Added the missing button and axis events that are registered earlier
  in the code but never made it to the application.
- Added a little more descriptive comment about the deadzone.
2004-03-24 23:37:56 +00:00
Alexandre Julliard 79692a3fe8 We don't really need subdirectories in dlls/dinput. 2004-02-12 23:27:59 +00:00