|
232ed540
|
2022-12-02T07:22:31
|
|
Add SDL_HINT_WINDOWS_ENABLE_MENU_MNEMONICS.
|
|
3b3c141f
|
2022-12-19T17:38:44
|
|
gdk: Add support for building with OpenGL on Xbox
|
|
741499de
|
2022-12-16T17:38:57
|
|
Android audio device selection (#6824)
Make it possible to select a specific audio device for Android
|
|
d59caffe
|
2022-12-13T14:03:40
|
|
Added support for clang thread-safety analysis
The annotations have been added to SDL_mutex.h and have been made public so applications can enable this for their own code.
Clang assumes that locking and unlocking can't fail, but SDL has the concept of a NULL mutex, so the mutex functions have been changed not to report errors if a mutex hasn't been initialized. We do have mutexes that might be accessed when they are NULL, notably in the event system, so this is an important change.
This commit cleans up a bunch of rare race conditions in the joystick and game controller code so now everything should be completely protected by the joystick lock.
To test this, change the compiler to "clang -Wthread-safety -Werror=thread-safety -DSDL_THREAD_SAFETY_ANALYSIS"
|
|
4bae7538
|
2022-12-09T22:07:22
|
|
docs: Note that you don't need to free SDL_GetDefaultCursor's results.
Reference Issue #6777.
(cherry picked from commit 16f8dfcef944019ce4474061aa06c2a1997e601e)
|
|
264da8c1
|
2022-12-08T12:46:13
|
|
Added SDL_DISPLAYEVENT_MOVED to detect when display positioning changes
|
|
c2b2f2a7
|
2022-12-07T14:17:58
|
|
Clarified where the paddle locations are
(cherry picked from commit ea714956b6e6851a279d1334309dd17b6d73cadc)
|
|
4e465f25
|
2022-12-04T12:55:15
|
|
reverted const removal from SDL_NewAudioStream in commit d0bbfdbfb.
|
|
d0bbfdbf
|
2022-12-01T16:07:03
|
|
Clang-Tidy fixes (#6725)
(cherry picked from commit 3c501b963dd8f0605a6ce7978882df39ba76f9cd)
|
|
e29c0661
|
2022-12-01T12:54:02
|
|
Removed check for _HAVE_STDINT_H, which nobody defines
Fixes https://github.com/libsdl-org/SDL/issues/6619
|
|
e57554ea
|
2022-12-01T20:37:00
|
|
SDL_main.h: added field to SDL_GDKSuspendComplete documentation.
|
|
5c4bc807
|
2022-11-30T05:59:56
|
|
Revert "SDL_test_md5.h: fix MD5UINT4 type to be really 32 bits."
This reverts commit 8eeca8c7db323d82ec257db9886e2ba16c0c892a as it's potentially an ABI break.
|
|
8eeca8c7
|
2022-11-29T08:56:32
|
|
SDL_test_md5.h: fix MD5UINT4 type to be really 32 bits.
(cherry picked from commit 8901297437ed9ced67e6029a1d525e8052275b7c)
|
|
660cec69
|
2022-11-25T02:57:00
|
|
cmake: find libudev library so it gets priority
|
|
a2611edc
|
2022-11-25T02:39:50
|
|
cmake: add support for some BSD's wscons input
|
|
f6144dfe
|
2022-11-23T16:41:14
|
|
adds GDK suspend/resume basic handling (#6596)
|
|
ac2fcfcb
|
2022-11-22T23:21:36
|
|
Sync SDL2 wiki -> header
|
|
4ac2d45a
|
2022-11-22T18:12:43
|
|
Testing the wiki, disregard this commit.
|
|
ea8f8b6d
|
2022-11-21T16:36:10
|
|
Updated to version 2.27.0 for development
|
|
0bfeed06
|
2022-11-21T16:15:58
|
|
Updated to version 2.26.0 for release
|
|
3bc4bad8
|
2022-11-20T23:50:10
|
|
add missing strcasestr checks to cmake and autotools build systems,
and update config files.
|
|
78ea6af2
|
2022-11-17T09:01:35
|
|
Updated to version 2.25.1 for release candidate
|
|
1f87e9e2
|
2022-11-17T09:00:27
|
|
Updated patch notes for 2.26 release
|
|
5e61f245
|
2022-11-15T05:25:16
|
|
Sync SDL wiki -> header
|
|
dcfa127f
|
2022-11-14T17:34:22
|
|
N3DS: Document the SDL_GetBasePath behaviour.
|
|
9f8b68a2
|
2022-11-11T10:24:17
|
|
Fixed building without linux/input.h
https://github.com/libsdl-org/SDL/issues/6169
|
|
0dfc829a
|
2022-11-10T19:16:53
|
|
Added simple BLE Steam Controller support on all platforms
This is still disabled by default via the hint SDL_HINT_JOYSTICK_HIDAPI_STEAM
|
|
15a98909
|
2022-11-05T16:44:52
|
|
Added SDL_HINT_HIDAPI_IGNORE_DEVICES to specify devices that should be ignored in SDL_hid_enumerate()
|
|
297ecb70
|
2022-11-05T15:58:30
|
|
Added SDL_strcasestr() for a case insensitive version of SDL_strstr()
|
|
24cdebe4
|
2022-11-05T10:34:08
|
|
Added the hint SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED to control the brightness of the Xbox button LED on the Xbox One controller
|
|
57973cd3
|
2022-10-30T08:30:49
|
|
SDL_HINTS.H: Correct spelling mistake
noticable -> noticeable
|
|
11a24a34
|
2022-10-26T22:30:06
|
|
Sync SDL wiki -> header
|
|
393acf63
|
2022-10-25T18:07:13
|
|
Sync SDL wiki -> header
|
|
b6e7c743
|
2022-08-25T20:21:03
|
|
SDL_cpuinfo: define __ARM_ARCH=8 for _M_ARM64
Microsoft's compiler doesn't define __ARM_ARCH, but we have several
places that use it.
|
|
4ca5ea5b
|
2022-10-20T20:02:21
|
|
build: Add a mechanism to mark builds with vendor info
Downstream distributors can use this to mark a version with their
preferred version information, like a Linux distribution package version
or the Steam revision it was built to be bundled into, or just to mark
it with the vendor it was built by or the environment it's intended to
be used in.
For instance, in Debian I'd use this by configuring with:
--enable-vendor-info="${DEB_VENDOR} ${DEB_VERSION}"
to get a SDL_REVISION like:
release-2.24.1-0-ga1d1946dc (Debian 2.24.1+dfsg-2)
which gives a Debian user enough information to track down the patches
and build-time configuration that were used for package revision 2.
In Autotools and CMake, this is a configure-time option like any other,
and will go into both SDL_REVISION (via SDL_revision.h) and
SDL_GetRevision().
In other build systems (MSVC, Xcode, etc.), defining the
SDL_VENDOR_INFO macro will get it into the output of SDL_GetRevision(),
although not SDL_REVISION.
Resolves: https://github.com/libsdl-org/SDL/issues/6418
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|
2dc788cb
|
2022-10-20T19:54:24
|
|
build: Expand version info in SDL_REVISION and SDL_GetRevision()
Instead of using a URL and git sha1, this uses `git describe` to
describe the version relative to the nearest previous git tag, which
gives a better indication of whether this is a release, a prerelease,
a slightly patched prerelease, or a long way after the last release
during active development.
This serves two purposes: it makes those APIs more informative, and it
also puts this information into the binary in a form that is easy to
screen-scrape using strings(1). For instance, if the bundled version of
SDL in a game has this, we can see at a glance what version it is.
It's also shorter than using the web address of the origin git
repository and the full git commit sha1.
Also write the computed version into a file ./VERSION in `make dist`
tarballs, so that when we build from a tarball on a system that doesn't
have git available, we still get the version details.
For the Perforce code path in showrev.sh, output the version number
followed by the Perforce revision, in a format reminiscent of
`git describe` (with p instead of g to indicate Perforce).
For the code path with no VCS available at all, put a suffix on the
version number to indicate that this is just a guess (we can't know
whether this SDL version is actually a git snapshot or has been
patched locally or similar).
Resolves: https://github.com/libsdl-org/SDL/issues/6418
Signed-off-by: Simon McVittie <smcv@collabora.com>
|
|
c6e89619
|
2022-10-19T08:05:47
|
|
Define _USE_MATH_DEFINES for Visual Studio (thanks @pionere!)
Fixes https://github.com/libsdl-org/SDL/issues/3790
|
|
0bc852ce
|
2022-10-17T17:43:06
|
|
Revert "Disable the RAWINPUT joystick driver by default"
Disabling RAWINPUT on Windows 10 causes these issues:
* All Xbox controllers are named "XInput Controller".
* Trigger rumble no longer works.
* "XInput Controllers" are now also listed as separate haptic devices
|
|
47ba997f
|
2022-10-17T07:39:52
|
|
Disable the RAWINPUT joystick driver by default
It's only needed to support more than 4 Xbox controllers, and adds significant complexity to the joystick processing, and we regularly get bugs from people who aren't using an SDL window who need to turn on SDL_HINT_JOYSTICK_THREAD.
|
|
f4e3af15
|
2022-10-17T07:23:40
|
|
Simplify OSS test by removing OpenBSD specific location of the soundcard.h header
OpenBSD has long since stopped using OSS. Remove checking for OpenBSD specific header.
|
|
22461383
|
2022-10-15T15:54:12
|
|
SDL_audiocvt: Respct the SDL_HINT_AUDIO_RESAMPLING_MODE hint
This implements using libsamplerate for the SDL_AudioCVT API.
This library was already being used for audio streams when this hint is
set.
|
|
6bb0c2a5
|
2022-10-14T06:33:38
|
|
Added documentation for some scancodes
|
|
99f2a503
|
2022-10-13T22:40:24
|
|
X11 scancode mapping cleanup
* Consolidated scancode mapping tables into a single location for all backends
* Verified that the xfree86_scancode_table2 is largely identical to the Linux scancode table
* Updated the Linux scancode table with the latest kernel keycodes (still unmapped)
* Route X11 keysym -> scancode mapping through the linux scancode table (which a few hand-written exceptions), which will allow mappings to automatically get picked up as they are added in the Linux scancode table
* Disabled verbose reporting of missing keysym mappings, we have enough data for now
|
|
392f3882
|
2022-09-20T22:45:24
|
|
N3DS: Use SDL_Sensor instead of Joystick sensors.
|
|
f9785702
|
2022-09-18T13:22:07
|
|
N3DS: Deduce screen from window's display.
This removes the need for a dedicated window creation flag.
|
|
65527537
|
2021-03-30T04:32:39
|
|
N3DS port (squashed)
A dedicated renderer using Citro3D would likely allow for better
much better graphical performances.
|
|
efdb390c
|
2022-10-09T09:11:33
|
|
Disable the HIDAPI Wii driver by default as it doesn't work with the dolphinbar
|
|
9df1af35
|
2022-10-09T15:44:07
|
|
Sync SDL wiki -> header
|
|
b18c361b
|
2022-10-08T13:18:00
|
|
Updated variable name for mouse coordinates in mouse wheel events
|
|
4f318c90
|
2022-10-08T12:01:42
|
|
Add cursor position to mouse wheel event (thanks @meyraud705!)
Fixes https://github.com/libsdl-org/SDL/pull/6351
|
|
31991ab8
|
2022-10-07T15:45:28
|
|
Fix \sa to a valid function in SDL_metal.h.
|
|
4ca86dae
|
2022-10-05T23:26:14
|
|
Sync SDL wiki -> header
|
|
ad29875e
|
2022-04-18T17:03:05
|
|
Wayland: Emulate mouse warp using relative mouse mode
Several games (including Source and GoldSrc games, and Bioshock
Infinite) attempt to "fake" relative mouse mode by repeatedly warping
the cursor to the centre of the screen. Since mouse warping is not
supported under Wayland, the viewport ends up "stuck" in a rectangular
area.
Detect this case (mouse warp while the cursor is not visible), and
enable relative mouse mode, which tracks the cursor position
independently, and so can Warp successfully.
This is behind the SDL_HINT_VIDEO_WAYLAND_EMULATE_MOUSE_WARP hint, which
is enabled by default, unless the application enables relative mouse
mode itself using SDL_SetRelativeMouseMode(SDL_TRUE).
Note that there is a behavoural difference, in that relative mouse mode
typically doesn't take mouse accelleration into account, but the
repeated-warping technique does, so mouse movement can seem very slow
with this (unless the game has its own mouse accelleration option, such
as in Portal 2).
|
|
34b28002
|
2022-10-03T00:20:15
|
|
Sync SDL wiki -> header
|
|
64ea6cef
|
2022-10-02T17:17:31
|
|
SDL_ResetHint() no longer clears the callbacks associated with a hint
Also added SDL_ResetHints() to reset all callbacks, and clarified that SDL_ClearHints() is just used for cleanup at shutdown.
Fixes https://github.com/libsdl-org/SDL/issues/6313
|
|
6c8bf3af
|
2022-10-03T00:19:34
|
|
Add vertical mode for Nintendo Joy-Con (#6303)
* Added support for vertical mode for Joy-Con controllers
* Added the hint SDL_HINT_JOYSTICK_HIDAPI_VERTICAL_JOY_CONS for switching to this mode
* Added support for SL/SR buttons in combined/vertical mode and L/ZL/R/ZR buttons in mini-gamepad mode
|
|
36e76701
|
2022-09-27T16:57:17
|
|
Sync SDL wiki -> header
|
|
2c518747
|
2022-09-27T09:56:02
|
|
Added microsecond timestamp to sensor values for PS4 and PS5 controllers using the HIDAPI driver
|
|
61201e06
|
2022-09-15T06:17:49
|
|
Removed obsolete extension definitions
Fixes https://github.com/libsdl-org/SDL/issues/6231
|
|
6dec78ed
|
2022-09-15T11:55:04
|
|
fix permissions of SDL_opengl_glext.h
|
|
c49faabb
|
2022-09-14T16:29:16
|
|
Sync SDL wiki -> header
|
|
ac5b9bc4
|
2022-09-14T18:28:35
|
|
Add support for X11 primary selection (#6132)
X11 has a so-called primary selection, which you can use by marking text and middle-clicking elsewhere to copy the marked text.
There are 3 new API functions in `SDL_clipboard.h`, which work exactly like their clipboard equivalents.
## Test Instructions
* Run the tests (just a copy of the clipboard tests): `$ ./test/testautomation --filter Clipboard`
* Build and run this small application:
<details>
```C
#include <SDL.h>
#include <unistd.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void print_error(const char *where)
{
const char *errstr = SDL_GetError();
if (errstr == NULL || errstr[0] == '\0')
return;
fprintf(stderr, "SDL Error after '%s': %s\n", where, errstr);
SDL_ClearError();
}
int main()
{
char text_buf[256];
srand(time(NULL));
SDL_Init(SDL_INIT_VIDEO);
print_error("SDL_INIT()");
SDL_Window *window = SDL_CreateWindow("Primary Selection Test", SDL_WINDOWPOS_UNDEFINED,
SDL_WINDOWPOS_UNDEFINED, 400, 400, SDL_WINDOW_SHOWN);
print_error("SDL_CreateWindow()");
SDL_Renderer *renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);
print_error("SDL_CreateRenderer()");
bool quit = false;
unsigned int do_render = 0;
while (!quit) {
SDL_Event event;
while (SDL_PollEvent(&event)) {
print_error("SDL_PollEvent()");
switch (event.type) {
case SDL_QUIT: {
quit = true;
break;
} case SDL_KEYDOWN: {
switch (event.key.keysym.sym) {
case SDLK_ESCAPE:
case SDLK_q:
quit = true;
break;
case SDLK_c:
snprintf(text_buf, sizeof(text_buf), "foo%d", rand());
SDL_SetClipboardText(text_buf);
print_error("SDL_SetClipboardText()");
printf("clipboard: set_to=\"%s\"\n", text_buf);
break;
case SDLK_v: {
printf("clipboard: has=%d, ", SDL_HasClipboardText());
print_error("SDL_HasClipboardText()");
char *text = SDL_GetClipboardText();
print_error("SDL_GetClipboardText()");
printf("text=\"%s\"\n", text);
SDL_free(text);
break;
} case SDLK_d:
snprintf(text_buf, sizeof(text_buf), "bar%d", rand());
SDL_SetPrimarySelectionText(text_buf);
print_error("SDL_SetPrimarySelectionText()");
printf("primselec: set_to=\"%s\"\n", text_buf);
break;
case SDLK_f: {
printf("primselec: has=%d, ", SDL_HasPrimarySelectionText());
print_error("SDL_HasPrimarySelectionText()");
char *text = SDL_GetPrimarySelectionText();
print_error("SDL_GetPrimarySelectionText()");
printf("text=\"%s\"\n", text);
SDL_free(text);
break;
} default:
break;
}
break;
} default: {
break;
}}
}
// create less noise with WAYLAND_DEBUG=1
if (do_render == 0) {
SDL_RenderPresent(renderer);
print_error("SDL_RenderPresent()");
}
do_render += 1;
usleep(12000);
}
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(window);
SDL_Quit();
print_error("quit");
return 0;
}
```
</details>
* Use c,v,d,f to get and set the clipboard and primary selection.
* Mark text and middle-click also in other applications.
* For wayland under x:
* `$ mutter --wayland --no-x11 --nested`
* `$ XDG_SESSION_TYPE=wayland SDL_VIDEODRIVER=wayland ./<path_to_test_appl_binary>`
|
|
72fe6cc8
|
2022-09-14T09:14:47
|
|
Updated to the latest version of OpenGL and Vulkan headers from the Khronos registry
Fixes https://github.com/libsdl-org/SDL/issues/6193
|
|
4018f35e
|
2022-09-07T00:00:27
|
|
Added left and right sensors for Nintendo Joy-Con and Wii controllers
|
|
fd93f817
|
2022-09-04T17:50:29
|
|
Assume that stdint.h is available on Windows with compilers other than MSVC <= 2008
|
|
c887cb02
|
2022-09-01T16:23:32
|
|
Added the hint SDL_HINT_JOYSTICK_HIDAPI_WII_PLAYER_LED to control whether the player LED should be lit on the Nintendo Wii controllers
Also fixed the Y axes on the Wii U Pro controller, and various formatting cleanup
|
|
c72e14e8
|
2022-09-01T15:29:01
|
|
Added initial support for Wii controllers (thanks @tellowkrinkle!)
|
|
4ebf3485
|
2022-09-01T21:56:50
|
|
updated os2 config file after commit 3f89d1704d
|
|
3f89d170
|
2022-09-01T11:30:02
|
|
Fixed building with libusb not dynamicaly loaded
|
|
6c2c01e0
|
2022-08-31T15:04:12
|
|
Fixed documentation to match function parameter
|
|
0e4baf1c
|
2022-08-30T12:39:23
|
|
Don't crash if SDL functions are passed a closed joystick or gamecontroller
|
|
3fe6768c
|
2022-08-30T18:47:15
|
|
Sync SDL wiki -> header
|
|
40bd4fee
|
2022-08-30T11:42:13
|
|
Revamped joystick locking
This makes the joystick locking more robust by holding the lock while updating joysticks.
The lock should be held when calling any SDL joystick function on a different thread than the one calling SDL_PumpEvents() and SDL_JoystickUpdate().
It is now possible to hold the lock while reinitializing the joystick subsystem, however any open joysticks will become invalid and potentially cause crashes if used afterwards.
Fixes https://github.com/libsdl-org/SDL/issues/6063
|
|
f1e46858
|
2022-08-26T17:58:59
|
|
Adding specific SDL_Hint for the dynamic VSYNC
|
|
644a4e5b
|
2022-08-28T02:01:12
|
|
Sync SDL wiki -> header
|
|
3cbfd75d
|
2022-08-27T18:55:55
|
|
Re-added the CRC to the joystick guid
This is now used as a crc field in the mapping rather than directly in mapping guids, for better mapping compatibility between versions of SDL.
Added SDL_GetJoystickGUIDInfo() to get device information encoded in a joystick GUID, so that mapping programs can clear the CRC from the GUID when generating mappings.
sort_controllers.py has been updated to extract the CRC from mappings created by older mapping programs and convert it into the new crc field. It will also take the CRC into account when checking for duplicate mappings.
Also regenerated the GUIDs for the PS2/PSP/Vita controller mappings, fixing https://github.com/libsdl-org/SDL/issues/6151
|
|
111626f4
|
2022-08-25T17:17:12
|
|
Sync SDL wiki -> header
|
|
e4b85091
|
2022-08-25T10:15:45
|
|
Document the range of trigger axes for virtual joysticks
Fixes https://github.com/libsdl-org/SDL/issues/6130
|
|
00452e47
|
2022-08-24T11:25:13
|
|
Adding SDL_GetWindowSizeInPixels for window size in pixels (#6112)
|
|
1fc7f681
|
2022-08-24T06:38:36
|
|
Document that it's not possible to use the HIDAPI driver for PS3 controllers on Windows
|
|
b6f96b69
|
2022-08-23T22:45:37
|
|
Initial HIDAPI driver support for the PS3 controller
|
|
92b3c53c
|
2022-08-22T16:25:25
|
|
Added a hint SDL_HINT_MOUSE_RELATIVE_SYSTEM_SCALE to control whether to use system mouse acceleration on raw relative motion.
This is currently only implemented on Windows, and "Enhanced pointer
precision" mode is not quite correct.
|
|
a7066c52
|
2022-08-21T14:05:04
|
|
Sync SDL wiki -> header
|
|
8fb1b50a
|
2022-08-20T17:50:04
|
|
Sync SDL wiki -> header
|
|
a204ef50
|
2022-08-19T22:16:04
|
|
Use __ARM_ARCH instead of __ARM_ARCH__
|
|
5a3adbfd
|
2022-08-19T11:11:25
|
|
Added the hint SDL_HINT_JOYSTICK_HIDAPI_XBOX_360_PLAYER_LED to control whether the player LED is set on Xbox 360 controllers
|
|
52b6899a
|
2022-08-19T11:11:23
|
|
Added hints for more fine grained control over HIDAPI Xbox controller support
|
|
6e9c14e5
|
2022-08-19T09:38:42
|
|
Updated to version 2.25.0 for development
|
|
8c9beb0c
|
2022-08-19T08:44:09
|
|
Updated to version Updated to version 2.24.0 for release
|
|
f6b81125
|
2022-08-18T16:05:22
|
|
Always define SDL_COMPILE_TIME_ASSERT as static_assert() in C++
Apparently some versions of gcc will define __STDC_VERSION__ even when compiling in C++ mode.
Fixes https://github.com/libsdl-org/SDL/issues/6078
|
|
f1416ef2
|
2022-08-12T20:27:22
|
|
Updated to version 2.23.2 for release candidate
|
|
f35bbe0c
|
2022-08-11T21:11:11
|
|
Sync SDL wiki -> header
|
|
3861c557
|
2022-08-11T13:58:39
|
|
Added the hint SDL_HINT_MOUSE_RELATIVE_WARP_MOTION
This hint controls whether mouse warping generates motion events in relative mode, and defaults off.
Fixes https://github.com/libsdl-org/SDL/issues/6034
Fixes https://github.com/libsdl-org/SDL/issues/5741
|
|
b4c4dd84
|
2022-08-11T09:52:58
|
|
Added SDL_crc16() to be used in joystick GUIDs after 2.24.0
|
|
6ecfc406
|
2022-08-10T15:02:11
|
|
Sync SDL wiki -> header
|
|
d4192850
|
2022-08-10T07:59:12
|
|
Added SDL_ResetHint() to reset a hint to the default value
Resolves question of how to clear an override hint raised by @pionere in https://github.com/libsdl-org/SDL/pull/5309
|
|
3119d58f
|
2022-08-10T10:48:23
|
|
cocoa: Change the new sync_dispatch hint to async_dispatch.
This is so the default is safer.
|
|
bdc7f958
|
2022-08-10T00:41:25
|
|
cocoa: Added hint to treat MacBook trackpads as touch devices, not mice.
Fixes #5511.
|
|
b4660e9d
|
2022-08-10T03:40:00
|
|
macOS: Add hint for blocking thread on OpenGL context update dispatch (#5708)
|
|
824f2d46
|
2022-08-09T13:41:58
|
|
Added a second hint SDL_HINT_JOYSTICK_HIDAPI_JOYCON_HOME_LED to control the Home button LED on Nintendo Joy-Con controllers separately from Nintendo Switch Pro controllers
|