kc3-lang/SDL/src/haptic

Branch :


Log

Author Commit Date CI Message
91820998 2018-10-28 21:36:48 Add and update include guards Include guards in most changed files were missing, I added them keeping the same style as other SDL files. In some cases I moved the include guards around to be the first thing the header has to take advantage of any possible improvements compiler may have for inclusion guards.
b0c48dd9 2018-10-16 08:29:27 Support vibration magnitude on Android 8.0 (thanks Rachel!)
9a98e4b6 2018-10-11 15:14:48 Allow Android haptics to work when SDL is reinitialized (thanks Rachel!)
53260b31 2018-10-08 12:49:23 There are legitimate reasons to skip full cleanup at shutdown, don't assert in that case.
09ab752a 2018-08-24 10:41:57 Implement SDL_HapticStopEffect on Android (thanks Rachel!)
f1bc1c12 2018-08-22 17:44:28 Fixed crash trying to open HIDAPI controller as a haptics device on Windows
e714f659 2018-08-07 12:06:31 haptic: Fix initial detection of haptic devices on Linux system SDL_UDEV_Scan must be called during SDL_SYS_HapticInit to ensure devices outside of the 0-31 range are added to the list of haptic devices. Fixes Bugzilla #3923.
df0d3f13 2018-07-12 13:28:15 More controller drivers support CARTESIAN coordinates. This fixes rumble on the Saitek Cyborg V.3 Rumble Pad
0a7faa4a 2018-05-04 21:58:39 Fix Linux haptic scaling, add 2.1 FIXME
e3cc5b2c 2018-01-03 10:03:25 Updated copyright for 2018
e0d0184f 2017-12-11 14:44:34 Fixed bug 3999 - Build failed when try to build with configure script for Android
0d011ec6 2017-08-28 00:22:23 Renaming of guard header names to quiet -Wreserved-id-macro
72b195d2 2017-08-14 20:45:14 Fixed Android build warning
0a52db54 2017-08-12 08:15:09 Fixed bug 3191 - haptic system on android? Patch provided by jintiao and Milan Nikolic, thanks!
d96419c9 2017-06-21 01:22:00 xinput: use the full range of the haptic motors (thanks, Trent!). XInput goes from 0 to 64k; we were feeding it values in the range of 0 to 32k. Fixes Bugzilla #3002.
22c221f3 2017-06-11 22:30:58 linux: Changed internal functions to be static.
70c0400b 2017-02-13 17:00:46 windows: Try to unify all the GUID comparison code into a core helper function. There are likely several more I missed.
dd007e3f 2017-01-18 11:58:16 Fixed bug 3561 - Re-acquire device before playing effects if needed. Mathieu Laurendeau Check the result of IDirectInputEffect_SetParameters and re-acquire the device to solve concurrency issues.
45b774e3 2017-01-01 18:33:28 Updated copyright for 2017
36156335 2016-11-20 21:34:54 Renaming of guard header names to quiet -Wreserved-id-macro Patch contributed by Sylvain
97aa5775 2016-11-16 22:08:51 Fixed empty parameter list in signatures of internal functions.
c2837ef6 2016-11-13 23:04:47 Fixed unresolved symbol on Visual Studio
57d01d7d 2016-11-13 22:57:41 Patch from Sylvain to fix clang warnings
27d4f099 2016-10-07 23:40:44 Implemented SDL_GetHintBoolean() to make it easier to check boolean hints
a21a227a 2016-10-04 03:50:28 Fixed bug 3021 - HapticOpenFromJoystick() problems Joe Thompson With Direct Input device (MOMO Steering Wheel w/FF) with SDL 2.0.3, SDL_HapticOpenFromJoystick() would fail. (Can't set exclusive mode) Now with 2.0.4 rc1, SDL_HapticOpenFromJoystick() succeeds but the the returned SDL_Haptic* cannot be used. Calls to SDL_HapticNewEffect() fail with "Haptic error Unable to create effect" If SDL_HapticOpen() is used instead of HapticOpenFromJoystick(), the device is usable. Calls to HapticNewEffect() succeed with the exact same parameters as the previous failing call. I have attached a proposed patch for this issue. When using SDL_HapticOpenFromJoystick(), the original code did not (re)enumerate the axes. This returned a new haptic device with 0 axes. Later, when a new effect is created, SDL_SYS_SetDirection() would set the flags to include DIEFF_SPHERICAL, regardless of what the caller actually set. (see Line 566 in SDL_dinputhaptic.c). This would cause the SDL_HapticNewEffect() to fail (or interpret the coordinates incorreclty.) The patch moves the call to IDirectInputDevice8_EnumObjects() outside of the if() block so that the axes are (re)enumerated for the new haptic device. Note: For steering wheels it is common for the joystick to have multiple axes (ie steering, throttle, brake), but the haptic portion of the joystick usually only applies to steering.
fa0f4176 2016-10-01 14:48:18 Fixed build warnings and errors
4743b55c 2016-07-20 21:01:14 Linux: Fixed memory leak in haptic implementation (thanks, Martin!). Fixes Bugzilla #3238.
9b4db2b8 2016-04-12 18:11:36 Patched to compile on various platforms.
c61675dc 2016-04-12 16:45:10 threads: Move SDL's own thread creation to a new internal API. This allows us to set an explicit stack size (overriding the system default and the global hint an app might have set), and remove all the macro salsa for dealing with _beginthreadex and such, as internal threads always set those to NULL anyhow. I've taken some guesses on reasonable (and tiny!) stack sizes for our internal threads, but some of these might turn out to be too small in practice and need an increase. Most of them are simple functions, though.
7605ccf6 2016-01-05 02:29:16 Use SDL's stdinc functions instead of C runtime calls.
fa8c83c1 2016-01-03 06:50:50 Remove almost all instances of "volatile" keyword. As Tiffany pointed out in Bugzilla, volatile is not useful for thread safety: https://software.intel.com/en-us/blogs/2007/11/30/volatile-almost-useless-for-multi-threaded-programming/ Some of these volatiles didn't need to be, some were otherwise protected by spinlocks or mutexes, and some got moved over to SDL_atomic_t data, etc. Fixes Bugzilla #3220.
42065e78 2016-01-02 10:10:34 Updated copyright to 2016
c2f03948 2015-09-30 15:38:30 Fix crash on controller hotplug on linux. CR: Sam
0e45984f 2015-06-21 17:33:46 Fixed crash if initialization of EGL failed but was tried again later. The internal function SDL_EGL_LoadLibrary() did not delete and remove a mostly uninitialized data structure if loading the library first failed. A later try to use EGL then skipped initialization and assumed it was previously successful because the data structure now already existed. This led to at least one crash in the internal function SDL_EGL_ChooseConfig() because a NULL pointer was dereferenced to make a call to eglBindAPI().
0c3830a9 2015-06-16 00:57:45 Haptic/Linux: Keep track of device numbers properly to track duplicates. Fixes Bugzilla #3014.
e3df6d5e 2015-06-14 19:21:13 Fixed bug 2953 - Crash due to a bad cleanup in the SDL_SYS_HapticQuit function Technically this is caused by the haptic devices not being closed at quit time, which we need to fix anyway, but this is a bandaid for now.
86e9ab79 2015-06-08 20:46:09 Linux: Fixed not needed call to close() on error. It was called if file descriptor was none and -1.
8bac7967 2015-06-07 18:29:23 Maybe patched to compile on some Windows configurations. (Maybe) Fixes Bugzilla #3001.
84ce0006 2015-05-28 01:27:24 I think this will be the time...
7964f3ad 2015-05-28 01:22:14 Still trying to get this to compile...
cae4fd7f 2015-05-28 01:16:55 More patching to compile...
58447b24 2015-05-28 00:54:52 Move tests from SDL_config higher up in Windows joystick/haptic code. Fixes Bugzilla #2932.
59f69f63 2015-05-26 16:14:25 Whoops, fix the static analysis fix.
37f4eb53 2015-05-26 12:47:03 Darwin haptic: Fixed a static analysis warning if axes==0.
2c4a6ea0 2015-05-26 06:27:46 Updated the copyright year to 2015
b72938c8 2015-04-20 12:22:44 Windows: Always set the system timer resolution to 1ms by default. An existing hint lets apps that don't need the timer resolution changed avoid this, to save battery, etc, but this fixes several problems in timing, audio callbacks not firing fast enough, etc. Fixes Bugzilla #2944.
56c82bc8 2015-04-11 20:41:49 Mac: Fixed typo in two error messages.
fe6c797c 2015-04-10 23:30:31 Fixed an iOS view orientation issue when SDL_GL_CreateContext or SDL_CreateRenderer is called.
a3097559 2015-02-19 13:11:19 Remove unnecessary parentheses and an unnecessary free() of a NULL pointer. (Thanks, Simon!) Fixes Bugzilla #2881.
b88ca1b4 2015-02-10 16:28:56 the last parameter of XChangeProperty is the number of elements.. and when the element format is 32.. the element is "long" so we have 5 long elements here. Yes this seems confusing as on mac+linux Long is either 32 or 64bits depending on the architecture, but this is how the X11 protocol is defined. Thus 5 is the correct value for the nelts here. Not 5 or 10 depending on the architecture. More info on the confusion https://bugs.freedesktop.org/show_bug.cgi?id=16802
b48e54aa 2015-01-26 22:00:29 Fixed bug 2802 - [patch] Fix android build compiling in wrong filesystem implementation Jonas Kulla The configure script didn't differentiate between Linux and Android, unconditionally compiling in the unix implementation of SDL_sysfilesystem.c. I'm probably one of the very few people building SDL for android using classic configure + standalone toolchain, so this has gone undetected all along.
e2a5c1d2 2014-12-11 23:38:02 Removed extern declaration of not existing SDL_numhaptics from internal header.
4f26e776 2014-12-04 21:41:30 Replaced free() with SDL_free() because related allocation also uses wrapper.
70438be2 2014-12-03 10:55:23 WinRT: fixed bug whereby SDL would override an app's default orientation WinRT apps can set a default, preferred orientation via a .appxmanifest file. SDL was overriding this on app startup, and making the app use all possible orientations (landscape and portrait). Thanks to Eric Wing for the heads up on this!
265b219e 2014-11-29 11:51:13 Fixed bug 2766 - Haptic coding bugs and fixes for Linux FF: periodic.phase handled as time instead of angle; + direction clarification Elias Vanderstuyft Remove the dependency of the calculation of Linux "phase" on "period", currently the "phase" parameter is interpreted as a time shift, instead of a phase shift. The Linux input documentation is not clear about the exact units of the "phase" parameter (see http://lxr.free-electrons.com/source/include/uapi/linux/input.h?v=3.17#L1075 ), but we're about to standardize the 'phase shift' interpretation into the Linux input documentation, since this will ease the job of a driver to recalculate the effect's state when the user dynamically updates the "period" parameter.
ef8c3d89 2014-11-29 11:48:43 Fixed bug 2766 - Haptic coding bugs and fixes for Linux FF: periodic.phase handled as time instead of angle; + direction clarification Elias Vanderstuyft It's not obvious from the general "haptic direction" description what the SDL direction actually means in terms of force magnitude sign, currently its meaning is only reflected by the example.
9c398852 2014-11-22 22:20:40 Corrected header file documentation comment.
5f9ea7ed 2014-09-17 14:49:36 Haptic: Deal with negative periodic magnitudes (thanks, Elias!). A negative periodic magnitude doesn't exist in Windows' and MacOS' FF APIs The periodic magnitude parameter of the SDL Haptic API is based on the Linux FF API, so it means they are not directly compatible: 'dwMagnitude' is a 'DWORD', which is unsigned. Fixes Bugzilla #2701.
24c86b55 2014-09-11 19:24:42 [X11] Reconcile logical keyboard state with physical state on FocusIn since the window system doesn't do it for us like other platforms. This prevents sticky keys and missed keys when going in and out of focus, for example Alt would appear to stick if switching away from an SDL app with Alt-Tab and had to be pressed again. CR: Sam
e2bbc17d 2014-08-16 16:49:00 Haptic: Fix clamping bugs on Windows, by using the Darwin haptics code. Thanks, Elias! Partially fixes Bugzilla #2686.
57db2790 2014-08-16 16:47:42 Haptic: Fix the saturation and deadband parameters' available range. There was a misconception that Linux's saturation and deadband parameters - on which the corresponding SDL parameters were based - use only half of the possible range. Thanks, Elias! Partially fixes Bugzilla #2686.
a2622ce6 2014-08-16 16:42:55 Haptic: Explicitly avoid floating point arithmetic if it's not needed. Thanks, Elias! Partially fixes Bugzilla #2686.
1db581b4 2014-08-16 16:41:25 Haptic: DInput's POLAR direction actually matches Linux's direction. Thanks, Elias! Partially fixes Bugzilla #2686.
3e27013b 2014-08-16 16:40:01 Haptic: Don't interpret a direction of polar 35999 as "unsupported type". (or linux-direction 0xFFFF) Thanks, Elias! Partially fixes Bugzilla #2686.
fc4e798d 2014-07-07 12:48:25 Fixed bug 2631 - Mac: minor code cleanup Alex Szpakowski Some minor changes to the Mac-specific backend code: - Fixed up some code style issues (mostly brace style inconsistencies). - Fixed a compiler warning in SDL_cocoaevents.m. - Removed some useless code now that the 10.7 SDK is required to build SDL. - Removed Gestalt(gestaltSystemVersion, ...) call and switched to NSAppKitVersionNumber for version checking code. Using Gestalt with gestaltSystemVersion will give 0x1090 in Mac OS 10.10+, and the whole Gestalt function was deprecated in Mac OS 10.8.
1ee96bb9 2014-07-07 10:26:28 Fixed mingw64 build and warnings
9b1b74e6 2014-07-04 17:20:22 Fixed haptic refcount bug (thanks David Ludwig!)
b79e7f32 2014-07-03 15:39:55 Split the XInput and DirectInput code so Windows RT can use the existing XInput support.
724d9380 2014-06-25 01:43:58 Fixed compiler warning - HRESULT is set to FFERR_* values, but is an int
f8b75b1a 2014-06-21 20:40:00 Fixed bug 2562 - SDL_hapticlist/_tail not set correctly Zachary L SDL_hapticlist and SDL_hapticlist_tail are not set correctly when quitting the subsystem. This matters because they are represented as global variables. In the case you quit and reinitialize the subsystems, problems with dangling pointers arise. For instance, SDL_hapticlist_tail will not be null on second initialization and because of the check on line 298, it will fail to set SDL_hapticlist appropriately. This can cause a few things to go wrong, like feeding SDL_strcmp a null fname which can cause a segfault.
3dcb451f 2014-04-09 21:29:19 Added a README file regarding WinRT support To note, this file is currently formatted with CRLF line endings, rather than LF, to allow the file to be viewed with Notepad.
83200a32 2014-04-05 23:50:09 Removed empty statements.
764aa147 2014-03-29 12:29:38 Fixed XInput haptic support on Windows 8 It turns out the XBox 360 controller driver never reports force feedback capability, so we'll try to set 0 state and see if that succeeds.
18c9a4e9 2014-03-18 17:16:28 Fixed SDL_HapticNewEffect() failing on various DirectInput devices.
7eaf8997 2014-03-17 19:11:18 Fixed SDL_HapticOpenFromJoystick() with DirectInput devices.
1005c934 2014-03-02 00:02:56 Windows: Fixed crash if quitting without closing an XInput haptic device.
98d87379 2014-02-25 17:25:49 Mac: Fix error message for haptic subsystem. We were calling SDL_Error instead of SDL_SetError when the haptic subsystem wasn't initialized.
1084421c 2014-02-24 10:25:02 Zero out haptic linked list items on creation (thanks to Turo Lamminen for the report!)
fff7503b 2014-02-07 09:35:13 ignore hot plugs in mac haptic layer IF hap tics hasn't been initialized.
7033e597 2014-02-06 21:26:41 Fixed crash on Windows if haptic isn't initialized when controllers are added.
56979749 2014-02-06 10:00:45 Fixed a typo.
a09548eb 2014-02-06 09:35:44 Fix device counting in HapticMouse and JoystickOpen routines. 0 is the first item in the list not the last
f3e6a0a7 2014-02-06 09:11:05 fix indentation and spaces
e42d46b4 2014-02-06 07:37:20 Wired up haptic hotplugging for Windows DirectInput/XInput code.
9cf8c49c 2014-02-05 20:07:25 Fixed memory leak.
ccbf6943 2014-02-05 18:36:40 Make SDL_SYS_HapticMouse() count device indexes like HapticByDevIndex().
7f942688 2014-02-05 01:02:09 Cleanup some vi footer comments, rename new PRIVATE_* funcs to MacHaptic_*.
b352698d 2014-02-04 18:17:16 Implement new backend methods for haptic and hot plugging on OS X
4da88298 2014-02-04 16:50:34 implement new backend method for Haptics in dummy driver
5fb0be30 2014-02-04 15:44:09 Rework haptic backend to properly support hotplugging of haptic devices. * currently only linux backend updated.
58edac3e 2014-02-02 00:53:27 Fixed bug 2374 - Update copyright for 2014... Is it that time already??
090327e7 2013-12-09 16:03:18 Implemented the Dynamic API magic.
f848adff 2013-11-29 10:06:08 Improve Android pause/resume behavior.
7e1289af 2013-11-24 23:56:17 Make internal SDL sources include SDL_internal.h instead of SDL_config.h The new header will include SDL_config.h, but allows for other global stuff.
965a0da9 2013-10-23 15:54:12 Moved a SDL_SetError() call elsewhere to avoid triggering it needlessly. Otherwise, the XInput path would always trigger it in a harmless manner.
aa86e05d 2013-10-20 20:49:36 Fixed windows compile
f5fa492e 2013-10-20 20:42:55 Added a macro SDL_TICKS_PASSED() to correctly compare two 32-bit tick values. Went through the code and used the macro and fixed a couple places that were using incorrect timestamp comparisons.
d7103996 2013-10-20 23:38:19 Fix some edge cases in XInput haptic timing.
f28c7fe8 2013-10-20 16:03:11 Backed out hg changeset add2dbe99fe2. REFGUID is apparently a const type.
c521ae84 2013-10-20 16:02:24 Patched to compile on non-C99 Microsoft compiler.