Log

Author Commit Date CI Message
Sam Lantinga 51902010 2018-08-15T19:53:26 Remove the HIDAPI device if we get a read error from it This fixes detecting PS4 controller disconnect on Mac OS X, where there isn't any device removed notification
Sam Lantinga dfbd7f65 2018-08-15T19:53:24 Fixed Mac OS X build
Sam Lantinga ec74c318 2018-08-15T19:53:22 Polling hid_enumerate() every 3 seconds causes freezes and stutters on some USB audio devices and mice. We'll only enumerate devices when we get notification that the system devices have changed
Ryan C. Gordon 2dc04b4c 2018-08-10T15:22:02 libm: one more static analysis fix.
Ryan C. Gordon 67a48ad1 2018-08-10T15:04:08 haiku: Patched to compile with new joystick interfaces.
Ryan C. Gordon e1ac643b 2018-08-10T14:54:26 bsd: Patched to compile. (I think.)
Ryan C. Gordon 67764070 2018-08-10T14:42:40 bsd: Update joystick code for new interfaces. (this is an untested push to see if buildbot likes it.)
Ryan C. Gordon b692c352 2018-08-10T14:32:30 emscripten: Patched to compile with new joystick interfaces.
Ryan C. Gordon 941f8ecf 2018-08-10T14:10:47 joystick: define inline to SDL_INLINE
Ryan C. Gordon 0b2863d4 2018-08-10T14:09:44 joystick: #if 0'd out some things that aren't currently used. Fixes some compiler warnings.
Ozkan Sezer a7c3d2af 2018-08-10T11:50:55 SDL_hidapi_ps4.c: lowercase windows header names.
Ozkan Sezer f159d798 2018-08-10T11:50:01 chmod -x Android.mk
Sam Lantinga 5930b508 2018-08-09T22:53:43 Re-enabled the HIDAPI joystick driver on Windows and Mac OS X
Sam Lantinga 4f41f07d 2018-08-09T16:05:48 Added missing files from previous commits
Sam Lantinga 31b02243 2018-08-09T16:04:45 Added notes that this code was contributed by Valve
Sam Lantinga 99759bac 2018-08-09T16:04:34 There's no controller that's supported by both XInput and HIDAPI
Sam Lantinga ab07ce11 2018-08-09T16:04:30 Don't update the device list for devices we know aren't supported This should reduce HID enumeration (hitting the USB bus) if for some reason we're getting spammed with false device insert/removal events
Sam Lantinga cf823094 2018-08-09T16:04:25 The MINIX NEO-U1 is now being reported as Android TV
Sam Lantinga 28e0c0ee 2018-08-09T16:04:21 Sam Lantinga <slouken@libsdl.org> 2018-08-06 13:00 -0700 Backed out changeset 794a209b2270 http://hg.libsdl.org/SDL/rev/2e2ecdac957c
Sam Lantinga 25a952e7 2018-08-09T16:04:18 Sam Lantinga <slouken@libsdl.org> 2018-08-06 11:58 -0700 Removed mapping for VID/PID 0x0079/0x0006, which is a generic PCB used in many different devices http://hg.libsdl.org/SDL/rev/794a209b2270
Sam Lantinga b37518b3 2018-08-09T16:03:55 SDL: disable HIDAPI in SDL on Windows/Mac.
Sam Lantinga 888bf1af 2018-08-09T16:03:50 Worked around bug with Sony PS Now PS3 controller where DirectInput polling will continue to return success after the controller is unplugged. The code is now reliant on SDL_PrivateJoystickAdded() and SDL_PrivateJoystickRemoved() being called correctly when devices are added or removed on Windows
Sam Lantinga f35e97ba 2018-08-09T16:03:29 Fixed Windows build
Sam Lantinga d2042e1e 2018-08-09T16:00:17 Added HIDAPI joystick drivers for more consistent support for Xbox, PS4 and Nintendo Switch Pro controller support across platforms. Added SDL_GameControllerRumble() and SDL_JoystickRumble() for simple force feedback outside of the SDL haptics API
Ryan C. Gordon ba90412c 2018-08-08T15:39:20 libm: Don't let Visual Studio generate an implicit memset() call.
Ryan C. Gordon 4cb84b8f 2018-08-08T12:36:54 backout INFINITY change...of course Visual Studio doesn't have it.
Ryan C. Gordon 257071fc 2018-08-08T12:19:01 e_exp: One more compiler warning.
Ryan C. Gordon 550437ed 2018-08-08T12:13:56 libm: Fixed all static analysis warnings.
Ryan C. Gordon c0aa626b 2018-08-08T10:26:22 e_exp: Fixed compiler warning on Visual Studio.
Ryan C. Gordon 941c5b47 2018-08-07T18:07:11 haiku: Rename internal functions from BE_* to HAIKU_* Fixes Bugzilla #2349.
Ryan C. Gordon c0ac09ed 2018-08-07T17:28:07 configure: Make wayland sources depend on generated headers. Otherwise occasionally the sources will try to compile before the headers it needs are generated. Fixes Bugzilla #3977.
Ryan C. Gordon f59b0056 2018-08-07T16:56:46 evdev: On sudden termination, make sure keyboard isn't lost (thanks, Tadek!) "In release 2.0.6, when Linux evdev keyboard support has been moved to a separate source file, a feature was added to disable normal keyboard event processing to prevent "spilling" keystrokes to background virtual console. This feature has one unpleasant side effect: if application fails to call `SDL_Exit` before termination or crashes with fatal signal, console is left in unusable state with keyboard not working and no possibility to switch virtual console. If user has a chance, he can login remotely and restore keyboard with `kbd_mode`, otherwise the only option is to reboot the machine. This patch fixes that problem by intercepting fatal signals (with `sigaction`) and process termination (with `atexit`), to restore keyboard state, if it wasn't properly restored with `SDL_Exit`. The function registered with `atexit` also restores original signal handlers, to prevent leaving invalid handlers after SDL library is unloaded, if it was loaded dynamically with `dlopen`. No signal handlers or `atexit` function are installed if SDL boolean hint `SDL_HINT_NO_SIGNAL_HANDLERS` is `SDL_TRUE`. Additionally, if environment variable `SDL_INPUT_LINUX_KEEP_KBD` exists, keyboard initialization function completely skips disabling keyboard. This can be useful for debugging." Fixes Bugzilla #4193.
Ryan C. Gordon 623a6def 2018-08-07T16:49:18 alsa: optionally run entire pipeline non-blocking.
Ryan C. Gordon 56f44cfa 2018-08-07T13:04:15 audio: Deal with device shutdown more carefully. This would cause problems in various ways, but specifically triggers an assert when you close a WASAPI capture device in an app running over RDP. Related to (but not the actual bug) in Bugzilla #3924.
Mai Lavelle e714f659 2018-08-07T12: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.
Sam Lantinga a37d3e0b 2018-08-06T13:00:11 Backed out changeset 794a209b2270 It turns out the mapping is correct, just the name was confusing
Sam Lantinga cc682f20 2018-08-06T11:58:08 Removed mapping for VID/PID 0x0079/0x0006, which is a generic PCB used in many different devices Different device with same vid/pic that is kind of a Saitek shape: https://www.trust.com/en/product/17416-gxt-24-runa-compact-gamepad n64 with same ID https://bbs.archlinux.org/viewtopic.php?id=163488 PS shaped with numbers for buttons https://pineight.com/mw/index.php?title=USB_game_controller#DragonRise_Inc._Generic_USB_Joystick fightstick with same vid/pid https://retropie.org.uk/forum/topic/7594/bartop-2-player-zero-delay-encoders-not-working
Ozkan Sezer f45f33bd 2018-08-05T10:01:01 SDL_expf: return SDL_exp() instead of SDL_uclibc_exp() for consistency.
Ethan Lee b4fe7412 2018-08-04T11:52:46 SDL_exp
Ryan C. Gordon 4d4bb2b0 2018-08-02T16:21:43 cmake: use WINDOWS instead of WIN32.
Ryan C. Gordon e061a92d 2018-08-02T16:03:47 Some drag'and'drop improvements. First: disable d'n'd events by default; most apps don't need these at all, and if an app doesn't explicitly handle these, each drop on the window will cause a memory leak if the events are enabled. This follows the guidelines we have for SDL_TEXTINPUT events already. Second: when events are enabled or disabled, signal the video layer, as it might be able to inform the OS, causing UI changes or optimizations (for example, dropping a file icon on a Cocoa app that isn't accepting drops will cause macOS to show a rejection animation instead of the drop operation just vanishing into the ether, X11 might show a different cursor when dragging onto an accepting window, etc). Third: fill in the drop event details in the test library and enable the events in testwm.c for making sure this all works as expected.
Ryan C. Gordon 8f0cc4a4 2018-07-22T19:42:08 Backed out changeset 2e42ec46061e. This change isn't correct. See comments in Bugzilla #4183.
Ryan C. Gordon 1089944b 2018-07-22T19:40:42 libm: Fixed signature mismatches for __ieee754_rem_pio2 and __kernel_rem_pio2. Fixes Bugzilla #4201.
Ryan C. Gordon 862aa4b4 2018-07-22T19:28:27 windows: Fixed some Visual Studio warnings about shadowed variables. Fixes Bugzilla #4118.
Ryan C. Gordon b5a420cb 2018-07-13T17:53:24 dbus: Deal with undefined behavior with va_args. Parse out a copy of the varargs ourselves to get to the reply portion, since the original passed to D-Bus might modify or not modify the caller's copy, depending on system ABI.
Sam Lantinga fd8e8f9f 2018-07-13T12:55:50 Clean up captured pointer code to avoid logcat clutter on pre-8.0 systems (thanks Rachel!)
Sam Lantinga df0d3f13 2018-07-12T13:28:15 More controller drivers support CARTESIAN coordinates. This fixes rumble on the Saitek Cyborg V.3 Rumble Pad
Sam Lantinga ff8c9538 2018-07-12T13:28:13 Allow trapping the back button so right mouse click can work on some Android systems (thanks Rachel!) Also, added a function SDL_AndroidBackButton() so applications can respond to the back button directly
Marc Di Luzio c3178e67 2018-07-12T16:52:45 Ensure we still clear the X locale modifiers even if not compiled with ibus or fcitx support
Ozkan Sezer c74837fb 2018-07-05T23:01:10 ltmain.sh: make OSX autofoo builds' compatibility version match Xcode builds. closes bug #4208.
Wohlstand ff8c62f2 2018-07-02T03:53:57 Fixed bug 4210 - SSE2-based converter makes junk result of S32 -> Float At the HG state abdd17144682, 64-bit assemblies are using SSE2-based resampler, produces junk sound when converting the S32 -> Float32 -> S16 chain. The `NEED_SCALAR_CONVERTER_FALLBACKS` thing works perfectly. If I will find a reason that caused this mistake, I'll send a patch by myself.
Ozkan Sezer 507e271b 2018-07-01T19:50:00 made the wasapi configury option consistent with others.
Ozkan Sezer 88577916 2018-07-01T17:01:04 make WASAPI configurable in autofoo and cmake (default is on.) closes bug #3798.
Ozkan Sezer 013b146d 2018-06-30T20:55:51 SDL_windowstaskdialog.h (struct _TASKDIALOGCONFIG): make unions anonymous otherwise build fails. (at least with my VS2005. and the code accesses the arms of the unions anonymously anyway.)
Ozkan Sezer 949b8bd8 2018-06-30T20:10:40 correct the comment correction..
Ozkan Sezer 67f18a19 2018-06-30T20:04:01 comment correction
Ozkan Sezer cf7b94f2 2018-06-30T20:03:23 ran 'chmod -x' on two files
Ryan C. Gordon 7c2028f8 2018-06-29T16:56:11 Attempt to fix "cast from pointer to integer of different size" warnings.
Ryan C. Gordon 52857de2 2018-06-29T16:55:55 Corrected a comment.
Vitaly Novichkov 3a11bba2 2018-06-29T18:29:17 Remove "lib" prefix from DLL file on MinGW builds closes bug #4209.
Ryan C. Gordon 3b173f81 2018-06-25T23:00:38 Patched to compile on Visual Studio (typo).
Ryan C. Gordon 58168a8c 2018-06-25T16:34:16 atomic: Fight with all the assemblers that don't like REP NOP. :/
Ryan C. Gordon 5f123e31 2018-06-25T15:58:35 atomic: Spin locks now try to use the x86 PAUSE instruction for short waits. Fixes Bugzilla #4151.
Ryan C. Gordon 5a8ecf4e 2018-06-25T13:14:52 yuv: Patched to make static analysis happy (warned about unused variable).
Ryan C. Gordon 4773690d 2018-06-25T12:55:23 Deal with possible malloc(0) calls, as pointed out by static analysis.
Ryan C. Gordon 4f5bd53e 2018-06-25T09:37:25 wayland: Keep protocol XML files in-tree. Now you don't need the latest Wayland installed to build with newer protocols supported, as they'll build correctly; even if your system can't use them, we can make intelligent decisions at runtime about what's available on the current machine anyhow. This also simplifies some logic and possible failure cases in the configure and CMake scripts. Fixes Bugzilla #4207.
Ryan C. Gordon 915a7e03 2018-06-25T01:57:28 gles2: Whoops, overzealous copy/paste on my part. :)
Ryan C. Gordon c8ac9096 2018-06-24T22:42:36 wayland: Implemented xdg-wm-base support. This is just in parity with the existing zxdg-shell-unstable-v6 code. Making the Wayland target robust (and uh, with title bars) is going to take a lot of work on top of this.
Ryan C. Gordon e8237e2b 2018-06-24T15:21:01 android: Android.mk should only preserve debug symbols in debug builds. Fixes Bugzilla #4111.
Ryan C. Gordon c70db0ca 2018-06-24T15:12:18 cmake: Look in popular places for X11 headers, export this info properly. Fixes CMake not being able to find X11 on FreeBSD (which generally has the headers in /usr/local/include/X11). List of other popular places borrowed from CMake's FindX11 module. This worked on the configure script because of magic in the AC_PATH_X macro. Fixes Bugzilla #4815.
Ryan C. Gordon 59574fe2 2018-06-24T13:57:22 x11: Normalize x11xinput2 touch x to be 1.0 at width (thanks, Zach!). "Applications (such as SDL's testgesture) do "event.tfinger.x * window_width" to find window coord. Currently the X11 XInput2 backend expects application to do "event.tfinger.x * (window_width-1)" instead. X11 XInput2 touch events are normalized so x is 1.0 at "width - 1" but other SDL backends appear to have x be 1.0 at "width". Same issue for touch event y with regards to height." Fixes Bugzilla #4183.
Ryan C. Gordon 5308a245 2018-06-24T12:16:58 Fixed some possible malloc(0) calls reported by static analysis.
Sam Lantinga 88dfa466 2018-06-18T13:14:04 Use a blank cursor instead of PointerIcon.TYPE_NULL since that shows the default cursor on Samsung DeX
Sam Lantinga a5158535 2018-06-18T13:14:02 Added support for external mouse in Samsung DeX mode relative mode doesn't work, but absolute coordinates are functional
Sam Lantinga f1d8f5f7 2018-06-18T13:14:00 Make certain we only hide system UI when we're fullscreen for real. (thanks Rachel!)
Sam Lantinga 8b574dc4 2018-06-18T13:13:58 Deal with situations where the system UI is shown when the keyboard pops up (thanks Rachel!)
Sam Lantinga 74ec7cab 2018-06-18T13:13:56 Fixed race condition where Android touch events could get scaled by a render target's viewport
Sam Lantinga 9924a8e3 2018-06-14T00:51:45 Fixed bug 4094 - No SDL_TEXTEDITING after pressing Alt key on Raspberry Pi Linux This was reproducible by running an SDL app on the console from an ssh login. In this case the terminal wasn't owned by the user running the app, so we were using the default keymap, which didn't have state transitions defined for ctrl and alt, so once we entered that state keypresses would no longer transition out of that state, nor would they generate text. As a workaround, we'll just reset to the default shift state if that happens, which means we'll get text for keys pressed while ctrl is held down, but I don't think that's a big problem. Note that in this case we also can't mute the keyboard, so the keypresses go to the console, which probably isn't what you want...
Tomeu Vizoso fe682827 2018-06-14T06:12:12 egl: Don't change context when deleting current. If we change the current context behind the app's back, those tracking the current context to minimize context changes are going to get confused. This brings the EGL backend in line with the GLX one. Fixes Bugzilla #4199.
Sam Lantinga 12ff19c0 2018-06-13T14:24:30 SDL Android fullscreen code extensively tested on Steam Link with no issues reported
Ozkan Sezer 08de74ec 2018-06-13T14:45:02 use the 'aborts' pragma of Watcom for SDL_NORETURN functions SDL_ExitProcess(), SDL_AbortAssertion() and SDLTest_BailOut(). (Commit 303c1e0fb0cf for bug #4100 removed SDL_NORETURN from SDL_ExitProcess() and SDL_AbortAssertion() in order to avoid warnings from windows builds, but that's temporary I guess..)
Sam Lantinga 4a4bac95 2018-06-12T13:22:58 Deal with fullscreen limitations under windowed Android environments (Chromebook, DeX, etc.) (Thanks Rachel!)
Ozkan Sezer 41da7b79 2018-06-12T14:00:15 ran 'chmod -x' on many files
Sam Lantinga 864b8f89 2018-06-12T01:04:26 Merged in community contributed controller mappings from https://raw.githubusercontent.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt
Sam Lantinga 12059782 2018-06-12T00:18:10 Added common controllers used with Steam Big Picture These are entirely untested Several USB ids refer to multiple packaged products. In those cases I tried to use the most common name, or a general name (e.g. PS3 Controller), or a completely generic name (e.g. USB gamepad) if it wasn't clear what type of controller it was. Patches welcome!
Sam Lantinga 63317dfb 2018-06-07T17:07:05 Don't crash on exit from SDLActivity if we don't have a singleton for some reason. (Thanks Rachel!)
Sam Lantinga fe196db7 2018-06-07T17:07:03 Track android device panel width & height as well as window surface & height. Expand SDLActivity::SDLSurface::surfaceChanged() callback to grab the panel width and height at the same time and pass that along to the native code. Only works on API 17+. Duplicates surface dimensions whenever it fails. Add Android_DeviceWidth/Android_DeviceHeight globals to native code. Disambiguate Android_ScreenWidth/Android_ScreenHeight -> Android_SurfaceWidth/Android_SurfaceHeight Use device width/height for all display mode settings.
Sam Lantinga db86e7a6 2018-06-07T10:54:54 Added support for the PS3 controller driver in PlayStation Now
Sam Lantinga 77709aec 2018-06-06T09:42:12 Added Android hardware feature support to the default manifest
Sam Lantinga 7c5f3cf3 2018-06-05T14:08:39 Added improved mouse pointer capture under API 26. (Thanks Rachel!)
Sam Lantinga 113801b7 2018-06-05T12:46:13 Added SDL_IsChromebook() to determine if we're running on a Chromebook.
Sam Lantinga 2dedbc72 2018-06-05T12:46:11 Add Android support for relative mouse mode to SDL.
Sam Lantinga 9d6ac3de 2018-06-05T12:46:09 Fix creating a minimized window in SDL to not cause focus to be stolen (because ShowWindow( hwnd, SW_MINIMIZE ) would be called after creation, thus changing focus to the prior window based on some per-app list in windows, rather than the window being created with WS_MINIMIZED to start with). This means we have to consider SDL_WINDOW_MINIMIZED a window creation flag, but on non-windows platforms we just remove it and let the normal FinishWindowCreation re-apply and do the minimize as I have no idea what is right on them or if anything should change. CR: Phil
Sam Lantinga 1d25135b 2018-06-01T19:43:53 Fixed bug 4184 - jack audio driver fails in presence of midi ports Martin ?irokov Launching an SDL application with SDL_AUDIODRIVER=jack, and then calling SDL_OpenAudioDevice() with whatever parameters fails with an error like this one: SDL_OpenAudioDevice: Couldn't connect JACK ports: SDL:sdl_jack_output_0 => system:midi_playback_1 This happens because JACK_OpenDevice in src/audio/jack/SDL_jackaudio.c blindly tries to connect to all input ports without checking whether they are for audio or midi. The fix is to check port types and ignore all non audio ports. Also I removed devports field from struct SDL_PrivateAudioData, because it's never really used and removing unused ports from it would be PITA.
Sam Lantinga 03ff7dcf 2018-05-29T11:18:01 Added support for Android relative mouse mode on API 24 and above
Sam Lantinga ff6aebc4 2018-05-29T08:03:44 Added a new GUID for DS3 controller connected over bluetooth, for both Sony and Shanwan (thanks William!)
Ryan C. Gordon 3d387098 2018-05-27T20:30:03 metal: contrary to documentation, we need to set the drawableSize explicitly. Fixes Bugzilla #4149.
Sam Lantinga 8325df25 2018-05-24T07:30:24 Fixed bug 4169 - Crash due to audio session observer race condition Jona The following explains why this bug was happening: This crash was caused because the audio session was being set as active [session setActive:YES error:&err] when the audio device was actually being CLOSED. Certain cases the audio session being set to active would fail and the method would return right away. Because of the way the error was handled we never removed the SDLInterruptionListener thus leaking it. Later when an interruption was received the THIS_ object would contain a pointer to an already released device causing the crash. The fix: When only one device remained open and it was being closed we needed to set the audio session as NOT active and completely ignore the returned error to successfully release the SDLInterruptionListener. I think the user assumed that the open_playback_devices and open_capture_devices would equal 0 when all of them where closed but the truth is that at the end of the closing process that the open devices count is decremented.
Sam Lantinga b3173d9d 2018-05-23T17:15:37 Added support for the NVIDIA SHIELD handheld gaming device
Sam Lantinga 5d1d0357 2018-05-23T17:15:35 Better fix for axis sorting with some Android controllers