|
947ad6e1
|
2021-07-12T17:57:21
|
|
Added support for the Xbox Series X controller on iOS and tvOS
|
|
297ce148
|
2021-07-11T17:38:33
|
|
CI: Add Android builds to GitHub Actions
|
|
7fe6dbaf
|
2021-07-11T15:25:24
|
|
Reset rawInputEnableCount when RawInput is not supported
|
|
32e736d2
|
2021-07-10T11:39:51
|
|
CI: add github actions for windows x86
|
|
5ac81c75
|
2021-07-10T10:05:40
|
|
fixed typo in previous commit
|
|
a809d626
|
2021-07-10T10:01:40
|
|
cmake: set SDL_JOYSTICK_RAWINPUT for windows builds
Fixes: https://github.com/libsdl-org/SDL/issues/4412
|
|
24059a19
|
2021-07-09T18:11:42
|
|
The RAWINPUT driver is no longer tied to HIDAPI in any way
|
|
e52733af
|
2021-07-09T13:39:05
|
|
Use CMAKE_CURRENT_BINARY_DIR instead of CMAKE_BINARY_DIR
This allows for building with cmake's add_subdirectory() function.
|
|
f93e9047
|
2021-07-08T18:44:50
|
|
Implemented the timeout in hid_read_timeout() on Android
This fixes detecting PS5 controllers connected over USB
|
|
e2234ee9
|
2021-05-16T06:33:29
|
|
CMake: Fix SOVERSION/SONAME of non-release versions
When building SDL2 from git with CMake, you got libSDL2-2.0.so.1
instead of .0 (as it's the case when building with autotools).
This was caused by using LT_REVISION instead of LT_MAJOR for SOVERSION.
fixes #4310
|
|
c20207d7
|
2021-05-04T10:00:16
|
|
SDL2Config.cmake: Clean it up a bit, remove gcc-style SDL2_LIBRARIES
The GCC-style SDL2_LIBRARIES were lacking the rpath on Linux, which
seems to be implicitly set when linking path/to/libSDL2-2.0.so.0.*
and is explicitly set in the SDL2_LIBRARIES in sdl2-config.cmake
(from some autotools variable), so I removed that hack and the format
remains sth like "path/to/libSDL2main.a;path/to/libSDL2-2.0.so.0.14.1".
It's still in the revision history in case it turns out that some
platform really needs the "-L/path/to/bla/lib -lSDL2main -lSDL2" format
|
|
501fe465
|
2021-04-21T06:34:46
|
|
sdl2-config.cmake.in: Make SDL2::SDL2 work with MinGW, fixes #3665
It didn't work at all because shared libs defined in CMake with
add_library() need something like IMPORTED_IMPLIB (pointing to a .dll.a
or .lib for th DLLs) set to link on Windows.
But even with that it didn't work because the order of the libs is very
important: it must be -lmingw32 -lSDL2main -lSDL -mwindows - but
with normal add_library(SDL2::SDL2 SHARED IMPORTED) libs, SDL2 itself
is always linked first.
So I use an "INTERFACE" library (usually used for header-only libs), which
doesn't implicitly/automatically link anything so I can specify the whole
order of the linked libs.
(SDL2::SDL2-static is completely untested)
|
|
fac6e9f1
|
2021-04-21T06:27:41
|
|
sdl2-config.cmake.in: Use more CMake variables and less autotools ones
this makes it easier to create a portable sdl2-config.cmake that doesn't
hardcode its path (by replacing the hardcoded prefix with something
like "${CMAKE_CURRENT_LIST_DIR}/../../..")
|
|
c3426961
|
2021-04-18T17:15:34
|
|
Enhanced SDL2Config.cmake to also work on non-Windows
tested Linux; I assume most other Unices are similar; I don't have a Mac
|
|
3ea11f9a
|
2021-04-18T06:23:20
|
|
Make SDL2Config.cmake export SDL2_LIBRARIES etc (on Windows)
still WIP and other platforms than windows still TODO and open
questions etc
see https://github.com/libsdl-org/SDL/issues/4004
|
|
f9bf1aeb
|
2021-07-09T00:51:16
|
|
Latest Unifont with OFL is now bundled. (#4268)
* * Latest Unifont with OFL is now bundled.
* * Added a Unifont license file.
Co-authored-by: Vladislav Dmitrievich Turbanov <vladislav@turbanov.ru>
|
|
557d0f82
|
2021-03-11T13:36:56
|
|
Commenting a false alarm in WIN_GLES_SetupWindow.
When hint SDL_HINT_OPENGL_ES_DRIVER is set to "1" (e.g. for ANGLE support), assertion due to !_this->gl_config.driver_loaded can be causes while EGL is available.
|
|
d135c076
|
2021-07-08T13:22:41
|
|
Added SDL_GameControllerSendEffect() and SDL_JoystickSendEffect() to allow applications to send custom effects to the PS4 and PS5 controllers
See testgamecontroller.c for an example of a custom PS5 trigger effect
|
|
073cbc40
|
2021-07-08T21:20:02
|
|
SDL_platform.h: define TARGET_OS_SIMULATOR as 0 if not already defined.
c.f.: https://github.com/libsdl-org/SDL/issues/4475
|
|
be41cf2d
|
2021-07-08T21:20:02
|
|
CMake: don't blacklist TARGET_OS_SIMULATOR for Metal configuration
https://github.com/libsdl-org/SDL/commit/7fa5e95b6284f2cc7855022c9f0c2b086dcee43f enabled it.
|
|
97d4fe94
|
2021-07-08T20:55:10
|
|
removed extra whitespace.
|
|
3da6d2cd
|
2021-07-08T20:33:50
|
|
WIN_SetErrorFromHRESULT: kill CR/LF that FormatMessage sticks at the end
Fixes: https://github.com/libsdl-org/SDL_mixer/issues/320
|
|
8fb95034
|
2021-04-02T12:52:21
|
|
Avoid warping the cursor to the center of the window when not in relative_warp_mode
When relative mode is enabled and not using warp mode, the cursor is
being clipped to the window. Therefore there is no reason to restore the
cursor position to the center.
Avoiding the warp to center simplifies mouse position event flow, as we
are no longer potentially receiving mouse events for the automated
movement of the cursor and can be (mostly) assured that an incoming
event from the windowing system is that of external means.
|
|
4359a47b
|
2021-04-02T12:48:16
|
|
Simplify ClipCursor behaviour when RelativeMouseMode is enabled
The implementation of clip logic for relative mode seemed to
unnecessarily limit the usable area to the middle of the window, in a
2x2 pixel region. This has the adverse side effect of moving the
operating system cursor to that location, even if it is in a valid
location in the window.
While in most scenarios this is handled correctly (by storing the
original position of the cursor in the window and restoring when leaving
relative mode), there are edge cases where this clip operation can cause
WM_MOUSEMOVE to fire at a point in time where it counts as a relative
delta from SDL's perspective.
|
|
3720e254
|
2021-04-02T12:48:02
|
|
Trim some stray whitespace
|
|
17092427
|
2021-07-08T09:24:54
|
|
Fixed https://github.com/libsdl-org/SDL/issues/4475
-Wundef errors from clang-11.1 when targeting macOS
Targeting i386 against 10.8 SDK:
In file included from src/SDL_assert.c:21:
In file included from src/./SDL_internal.h:52:
In file included from include/SDL_config.h:33:
include/SDL_platform.h:73:5: error: 'TARGET_OS_TV' is not defined, evaluates to 0 [-Werror,-Wundef-prefix=TARGET_OS_]
^
1 error generated.
src/joystick/iphoneos/SDL_mfijoystick.m:38:5: error: 'TARGET_OS_IOS' is not defined, evaluates to 0 [-Werror,-Wundef-prefix=TARGET_OS_]
^
src/joystick/iphoneos/SDL_mfijoystick.m:460:5: error: 'TARGET_OS_TV' is not defined, evaluates to 0 [-Werror,-Wundef-prefix=TARGET_OS_]
^
2 errors generated.
src/filesystem/cocoa/SDL_sysfilesystem.m:83:6: error: 'TARGET_OS_TV' is not defined, evaluates to 0 [-Werror,-Wundef-prefix=TARGET_OS_]
^
1 error generated.
Targeting x86_64 against 10.12 SDK:
src/video/SDL_video.c:1492:25: error: 'TARGET_OS_MACCATALYST' is not defined, evaluates to 0 [-Werror,-Wundef-prefix=TARGET_OS_]
^
1 error generated.
|
|
16e3bfe8
|
2021-06-28T11:29:16
|
|
SetDisplayMode: Call XRRSetScreenSize before setting CRTC config
X11_SetDisplayMode currently calls X11_XRRSetCrtcConfig alone. This results
in the monitor's viewport getting changed, but the underlying screen dimensions
stay the same.
The spec indicates that RRSetCrtcConfig only changes the crtc mode and has no effect
on the screen dimensions, only mentioning that the new crtc must fit entirely within the
screen size. For the size to change, RRSetScreenSize also needs to be called.
This affects Metro Exodus on Linux, when changing the resolution in the in-game settings
Metro gets stuck in a loop waiting for the size of its vulkan surface to change. Because
XRRSetScreenSize is not called the screen size is never changed, the vulkan surface dimensions
do not change, and Metro hangs forever watching for a surface size update that will
never come.
This change disables the CRTC, calls XRRSetScreenSize, and then updates the
CRTC configuration. This fixes changing the resolution from the Metro settings.
Tested with:
Metro Exodus, Portal 2
|
|
118480e5
|
2021-07-08T17:56:14
|
|
fix permissions
|
|
4a20dd3e
|
2021-07-08T07:38:18
|
|
Removed unnecessary comment, the mic button is in byte 16 on all firmware versions
|
|
46f19c31
|
2021-07-08T07:23:29
|
|
Implemented mouse relative mode for iOS 14.1 and newer
|
|
3433f3c4
|
2021-07-08T01:18:01
|
|
CMake: Small improvement for MinGW
This is currently a small patch we have in our Conan package for SDL https://github.com/bincrafters/community/blob/4dc894cc2c4df43aabf39c212aa0a31047d183e1/recipes/sdl2/all/conanfile.py#L184
Introduced in https://github.com/bincrafters/conan-sdl2/commit/9fb93a60446914da2a0fafc692cbd175c2d5db50
|
|
6f0865fe
|
2021-07-07T23:51:32
|
|
updated os2 makefile.
|
|
599001d4
|
2021-07-07T13:30:48
|
|
Revert "Removed reference to ant project."
This reverts commit 0cad302346f95da770e5e1dc818f585c4ab4530d.
The ant directory still exists in source control
|
|
75a9f8e2
|
2021-07-07T13:06:15
|
|
Added SDL_hidapi_luna.c to the Xcode project
|
|
430bbcb8
|
2021-07-07T09:49:33
|
|
Added HIDAPI support for the Amazon Luna Controller connected over USB in DirectInput mode
|
|
863f5669
|
2021-07-07T08:55:16
|
|
Fixed reading thumbstick axes and mic button on the Amazon Luna Controller firmware version 305164320
|
|
17ed8d80
|
2021-07-07T16:05:35
|
|
Added HIDAPI backend for Amazon Luna Controller Model T28B69 connected via Bluetooth LE (VID:0171, PID:0419).
To enter Bluetooth pairing mode hold B and Action (button with circle) buttons for 3 seconds.
It works via usual HIDAPI if special filter driver is not installed:
https://www.amazon.com/gp/help/customer/display.html?nodeId=GZCT4CTFHXLHEB9T
With that driver installed it mimics Xbox One controller and works via XInput under Windows.
Under DInput this controller is not usable at all.
|
|
00d67620
|
2021-07-06T11:32:11
|
|
Added the SteelSeries manufacturer to the Nimbus+ entry on macOS
|
|
0f00f6dd
|
2021-07-06T10:01:31
|
|
Ignore checkkeysthreads
|
|
24e836b0
|
2021-07-06T10:00:09
|
|
Added controller mapping for the Nimbus+ controller on macOS when MFi support is not available
|
|
6b21a6cc
|
2021-07-05T20:02:02
|
|
Update config.guess and config.sub from mainstream.
|
|
0994a758
|
2021-07-01T20:36:49
|
|
Don't hardcode message length
|
|
3b6e9992
|
2021-06-23T14:57:04
|
|
Vita: remove unused variable and allow Razor perf analysis
|
|
656eb7df
|
2021-06-23T14:35:36
|
|
Vite: return system installed memory
|
|
89015b9c
|
2021-06-22T00:09:06
|
|
Vita: default window size for tests
|
|
b55ee12f
|
2021-06-21T23:56:04
|
|
Vita: fix clip rectangle
|
|
e41d3e61
|
2021-06-21T23:15:37
|
|
VIta: fix render clearing
|
|
6b122805
|
2021-06-21T23:14:56
|
|
Vita: proper syntax
|
|
32deb6f7
|
2021-06-21T23:14:40
|
|
Vita: fix point size
|
|
9d452719
|
2021-06-21T15:42:47
|
|
Vita: append messagebox title
|
|
6460151c
|
2021-06-21T15:03:31
|
|
Vita: add missing stub
|
|
39302c92
|
2021-06-02T14:28:33
|
|
Add Steam Virtual Gamepad and Xbox 360 Wired Controller defines instead of magic values
See https://partner.steamgames.com/doc/features/steam_controller/steam_input_gamepad_emulation_bestpractices for details on what is Steam Virtual Gamepad.
|
|
0c4ac33a
|
2021-06-28T14:31:27
|
|
Added support for the Razer Wolverine Tournament Edition controller
|
|
2143534a
|
2021-06-28T02:00:24
|
|
configure.ac: manually check immintrin.h with AC_COMPILE_IFELSE().
AC_CHECK_HEADER() emits warnings when configuring for non-x86, because
the preprocessor check is OK but the compile check is not:
configure: WARNING: immintrin.h: present but cannot be compiled
configure: WARNING: immintrin.h: check for missing prerequisite headers?
configure: WARNING: immintrin.h: see the Autoconf documentation
configure: WARNING: immintrin.h: section "Present But Cannot Be Compiled"
configure: WARNING: immintrin.h: proceeding with the compiler's result
|
|
ca383599
|
2021-06-27T01:49:31
|
|
Fix Anne Pro II keyboard showing up as a joystick
Having used this for a couple years, I can definitely confirm that it is not a joystick.
|
|
c90bd3bf
|
2021-06-27T03:13:47
|
|
Add missing PS5 DualSense GUIDs
Fixes my DualSense controller not being recognised as a SDL GameController which breaks Steam Input filtering causing SDL to fight for input.
|
|
bfdea605
|
2021-06-26T05:56:10
|
|
avoid -Wundef warning from SDL_config_windows.h
|
|
205b951b
|
2021-06-25T14:20:08
|
|
SDL_DINPUT_JoystickPresent() needs to do the full device enumeration
It is called from WGI before the normal joystick detection has been run, so it needs to actually enumerate currently connected devices.
We can skip the logic checking for other drivers also supporting this device, because that logic is duplicated from the call site.
|
|
ae6d9e34
|
2021-06-25T11:09:46
|
|
Correcting the name of the Amazon Luna Controller
|
|
5042ab6f
|
2021-06-24T18:09:06
|
|
Added Linux and macOS mappings for the DirectInput mode of the Amazon Luna Controller
|
|
5b051459
|
2021-06-24T18:09:04
|
|
Fixed warnings on Windows
|
|
99700a5c
|
2021-06-24T18:09:01
|
|
SDL: add Windows mappings for Luna controllers for USB DirectInput mode and BT. Note: the triggers do not seem to work in BT mode.
|
|
33b84c8d
|
2021-06-24T23:10:56
|
|
s/memcmp/SDL_memcmp/ for conistency
|
|
56b77b12
|
2021-06-04T19:51:58
|
|
cocoa: Implement FlashWindow
|
|
c2e8a791
|
2021-06-12T16:20:47
|
|
SDL_windowsevents: add support for multiple mice
|
|
7948c16d
|
2021-06-12T17:56:52
|
|
Pump events each time through the loop in SDL_WaitEventTimeout_Device()
Not only is it more efficient to batch process pending events, it is
necessary for correctness with the Win32 backend. WIN_PumpEvents() runs
periodic updates of the cursor clip region and disambiguation of
left and right shift keys in addition to standard event processing.
|
|
105de64c
|
2021-06-12T16:19:03
|
|
Only queue one wakeup event per wait
Queuing more than one can lead to a spurious wakeup on the next wait.
|
|
c262569c
|
2021-06-22T00:03:18
|
|
kmsdrm: fix KMSDRM_SetDisplayMode being called for the default desktop mode doing nothing
|
|
98bda391
|
2021-06-23T00:21:31
|
|
kmsdrm: sync the display's current mode with what's set in KMSDRM_CreateSurfaces
|
|
d031a24e
|
2021-06-08T00:39:04
|
|
kmsdrm: defer surface recreation inside of KMSDRM_SetWindowSize and
KMSDRM_SetWindowFullscreen as is done in KMSDRM_SetWindowDisplayMode
|
|
5a296e25
|
2021-06-08T20:48:24
|
|
kmsdrm: avoid overriding the mode requested by SDL_SetWindowDisplayMode
when recreating surfaces
|
|
814285d6
|
2021-06-23T09:19:02
|
|
Workaround for crash on Apple Mac M1 hardware
|
|
bc141e44
|
2021-06-23T15:09:07
|
|
Remove -static-libgcc from sdl2-config output
|
|
a6715a20
|
2021-06-23T14:56:02
|
|
revert the previous -Wc,-static-libgcc patch:
Someone reported breakage with that:
https://github.com/libsdl-org/SDL/commit/bc51de2f87194e45eec94414bc248a6e7a0f9d26#commitcomment-52550755
|
|
bc51de2f
|
2021-06-22T18:11:24
|
|
regenerated configure script.
|
|
23575a42
|
2021-06-22T15:18:25
|
|
Ensure that libgcc is linked statically on Windows
|
|
41fab853
|
2021-06-18T18:10:24
|
|
ControllerList: set the default deadzone for Ps5 controller back to same one as Xbox controllers. Too many users complained about drift.
|
|
a8b28939
|
2021-06-18T18:10:23
|
|
ControllerList: add more Xbox controllers from minidumps
|
|
08eff56a
|
2021-06-18T18:10:22
|
|
ControllerList: add Brooks Mars controller to PS4 controller list
|
|
afd100f0
|
2021-06-18T17:37:46
|
|
Added support for the PowerA Fusion Pro 2 and the PDP Xbox Series X Afterglow and Blue controllers
|
|
839387ed
|
2021-06-17T22:09:13
|
|
video/dummy: Don't zero out the fake display mode before adding it.
The SDL_zero call was in the wrong place as a historical accident, I think.
|
|
268fbcd4
|
2021-06-17T11:23:47
|
|
Fixed compiler warning on Visual Studio
|
|
d8dba5bc
|
2021-06-17T11:22:08
|
|
Added support for the Logitech G923 racing wheel
|
|
7f261d3b
|
2021-06-15T00:35:13
|
|
wayland: Fix returning to a window from fullscreen without calling SetWindowSize
|
|
8da0dd17
|
2021-06-15T18:54:52
|
|
Oops. Renderer already queues viewport change
|
|
1fc51988
|
2021-06-15T18:49:55
|
|
Reset/re-apply viewport on frame start/target change. Fixes SDL_RenderSetLogicalSize on PSVita
|
|
0cad3023
|
2021-06-14T13:56:12
|
|
Removed reference to ant project.
The android-project-ant directory does not exist anymore.
|
|
2465444f
|
2021-06-14T21:27:09
|
|
Add missing dependencies
|
|
bc7ac134
|
2021-06-11T09:22:41
|
|
Windows: Fix SDL_GetBasePath() truncating paths
SDL_GetBasePath grows its path buffer for long paths, but GetModuleFileNameExW always truncates and succeeds,
so `len` was always equal to (buflen - 1) which is 127. This is easily fixed by checking for (buflen - 1) instead of buflen.
For paths longer than MAX_PATH, this problem sometimes got hidden by Windows path shortening ("C:\PROGRA~1\" etc.).
Tested on Windows 10 x64 19041 and 10586.
|
|
db5cd8c6
|
2021-06-12T14:57:34
|
|
joystick: virtual: Fix event injection for axes/hats
SDL_JoystickSetVirtualAxisInner() and SDL_JoystickSetVirtualHatInner()
did not properly sanitize the 'axis' and 'hat' parameters.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
|
|
f3cf019e
|
2021-06-12T13:25:34
|
|
joystick: Add missing comma in joystick drivers list
Without this comma it is impossible to enable both the Vita and Dummy
drivers at the same time.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
|
|
98f2e38b
|
2021-06-12T09:42:54
|
|
Use <sys/endian.h> for endian detection on NetBSD
Signed-off-by: Nia Alarie <nia@NetBSD.org>
|
|
bc9888c9
|
2021-06-12T14:55:24
|
|
OS2_GetDisplayModes: malloc a new copy of mode's driver data.
Based on a patch by Jochen Schäfer <josch1710@live.de> :
The problem is, that in the initialization code uses the same structure for
desktop_mode and current_mode. See SDL_os2video.c:OS2_VideoInit():
stSDLDisplay.desktop_mode = stSDLDisplayMode;
stSDLDisplay.current_mode = stSDLDisplayMode;
...
stSDLDisplayMode.driverdata = pDisplayData;
Then, if you call GetDisplayModes, current_mode will added to the modes
list, with the same driverdata pointer to desktop_mode.
SDL_AddDisplayMode( display, &display->current_mode );
When VideoQuit gets called, first the modes list gets freed including the
driverdata, the desktop_mode gets freed. See SDL_video.c:SDL_VideoQuit():
for (j = display->num_display_modes; j--;) {
SDL_free(display->display_modes[j].driverdata);
display->display_modes[j].driverdata = NULL;
}
SDL_free(display->display_modes);
display->display_modes = NULL;
SDL_free(display->desktop_mode.driverdata);
display->desktop_mode.driverdata = NULL;
So, the display_modes[j].driverdata gets freed, but desktop_mode->driverdata
points to the same memory, but is not NULL'ed. When desktop_mode->driverdata
gets freed the memory is already freed, and libcx crashes the application on
SDL_Quit.
|
|
d28437de
|
2021-06-12T08:00:50
|
|
SDL_keyboard.c: Add bounds guards when assigning to the scancode array.
Based on a patch by Jochen Schäfer <josch1710@live.de> :
On a T420 pressing the ACPI button for volume control, big scancodes
were emitted. This was causing an overflow, because missing guards.
|
|
eb15b4e9
|
2021-06-11T23:40:09
|
|
wayland: Drop SwapWindow calls for hidden windows
|
|
37d35a3e
|
2021-06-11T21:02:49
|
|
kmsdrm: hook up KMSDRM_GLES_DefaultProfileConfig for use.
Fixes #3678.
|
|
3c028141
|
2021-06-10T13:26:38
|
|
Update docs and fix typos
|
|
bbdd08e0
|
2021-06-10T13:20:39
|
|
Build without PIB support by default and add flag to enable it
|
|
a4442476
|
2021-06-10T12:14:14
|
|
Cleanup dead and duplicate code
|
|
c2b8b556
|
2021-06-10T12:06:28
|
|
Older api, not needed
|