|
a0f8afb5
|
2021-11-11T09:16:44
|
|
Separated the HIDAPI subsystem from HIDAPI joysticks
You can now disable HIDAPI joysticks while retaining the HIDAPI SDL API
|
|
11ae43ca
|
2021-11-11T07:49:38
|
|
Only lock the pointer for mouse relative mode, there isn't really a concept of grab and confinement on iOS
Locking the pointer prevents the on-screen cursor from moving, which isn't what we want with a grab behavior.
Fixes https://github.com/libsdl-org/SDL/issues/4941
|
|
66a08aa3
|
2021-09-27T14:38:12
|
|
Add and use `SDL_FALLTHROUGH` for fallthroughs
Case fallthrough warnings can be suppressed using the __fallthrough__
compiler attribute. Unfortunately, not all compilers have this
attribute, or even have __has_attribute to check if they have the
__fallthrough__ attribute. [[fallthrough]] is also available in C++17
and the next C2x, but not everyone uses C++17 or C2x.
So define the SDL_FALLTHROUGH macro to deal with those problems - if we
are using C++17 or C2x, it expands to [[fallthrough]]; else if the
compiler has __has_attribute and has the __fallthrough__ attribute, then
it expands to __attribute__((__fallthrough__)); else it expands to an
empty statement, with a /* fallthrough */ comment (it's a do {} while
(0) statement, because users of this macro need to use a semicolon,
because [[fallthrough]] and __attribute__((__fallthrough__)) require a
semicolon).
Applications using SDL are also free to use this macro (because it is
defined in begin_code.h).
All existing /* fallthrough */ comments have been replaced with this
macro. Some of them were unnecessary because they were the last case in
a switch; using SDL_FALLTHROUGH in those cases would result in a compile
error on compilers that support __fallthrough__, for having a
__attribute__((__fallthrough__)) statement that didn't immediately
precede a case label.
|
|
828a0a4a
|
2021-11-11T07:13:29
|
|
Fixed mapping for PS4 controller when using the classic Joystick
interface on Linux
|
|
dc9de1e2
|
2021-11-11T07:03:30
|
|
Get the correct USB VID/PID information for /dev/input/js* devices
|
|
bd92a95f
|
2021-11-11T06:30:36
|
|
Cleanup for the /dev/js* support (thanks @meyraud705)
|
|
3090812e
|
2021-11-11T11:27:56
|
|
Convert last SDL_IOReady()'s 2nd parameter to flags
Conversion missed in https://github.com/libsdl-org/SDL/pull/4897
|
|
1c78b080
|
2021-11-10T20:02:25
|
|
Added support for /dev/input/js* on Linux
Added the hint SDL_HINT_LINUX_JOYSTICK_CLASSIC to control whether /dev/input/js* or /dev/input/event* are used as joystick devices
Added the hint SDL_HINT_JOYSTICK_DEVICE to allow the user to specify devices t
hat will be opened in addition to the normal joystick detection
Fixes https://github.com/libsdl-org/SDL/issues/1314
Fixes https://github.com/libsdl-org/SDL/issues/1727
Fixes https://github.com/libsdl-org/SDL/issues/1981
Closes https://github.com/libsdl-org/SDL/pull/4727
|
|
65a50b24
|
2021-11-10T16:15:22
|
|
Re-enable udev joystick enumeration by default
|
|
dfb834d3
|
2021-11-10T13:41:44
|
|
Track button state for each mouse input source separately
This way we'll get button down and up events for each mouseID
individually.
Fixes https://github.com/libsdl-org/SDL/issues/4518
|
|
cb4491ca
|
2021-11-10T16:05:03
|
|
Sync wiki -> header
|
|
eda4c407
|
2021-11-10T12:46:54
|
|
Make sure the X event is an Xkb event before checking the Xkb event type
|
|
a1c125c1
|
2021-11-10T15:40:27
|
|
fnsince.pl: Report unreleased APIs as part of the next release version.
This keep documentation future-accurate and more importantly: it will
produce correct results before we tag the official release in git, so
they'll be correct in the tag and the release tarball.
|
|
b42ae3db
|
2021-11-10T15:21:01
|
|
Sync wiki -> header
|
|
98c98362
|
2021-11-10T11:04:51
|
|
Don't clobber the error in SDL_ShowMessageBox() if one has been set at
the platform level
Fixes https://github.com/libsdl-org/SDL/issues/4760
|
|
dca5ce4e
|
2021-11-10T10:15:47
|
|
Clarified that AAudio is only used on Android 8.1 and newer
|
|
dc4c7d95
|
2021-11-10T09:48:49
|
|
Fixed infinite loop in SDL_vsnprintf() if the format string is too large for the output buffer
Fixes https://github.com/libsdl-org/SDL/issues/4940
|
|
d5032582
|
2021-11-10T09:45:56
|
|
Use consistent language between SDLTest_AssertPass() and SDLTest_AssertCheck()
|
|
6c4b4ee7
|
2021-11-10T09:41:43
|
|
Don't assert on API parameters
This causes lots of spam in test automation and it's not clear it's useful to developers. If we need this level of validation, we should add a log category for it.
|
|
fed85778
|
2021-11-10T08:47:39
|
|
Update the orientation and display modes when the display settings change on Windows
Fixes https://github.com/libsdl-org/SDL/issues/1061
|
|
c0f1109b
|
2021-11-10T06:03:01
|
|
Implemented querying the orientation of displays on Windows
|
|
3a31a450
|
2021-11-10T05:24:31
|
|
End the scene before resetting the D3D device, since we'll start with BeginScene after that.
If we don't do this, we'll end up with unbalanced Begin/End scene pairs which causes D3DERR_INVALIDCALL in the present.
Fixes https://github.com/libsdl-org/SDL/issues/4933
|
|
6b64c47b
|
2021-11-09T23:45:32
|
|
haptics: Enumerate XInput/DInput joysticks after haptic init
Since the haptic subsystem is usually initialized after the joystick subsystem,
the initial calls to HapticMaybeAddDevice() from inside SDL_JoystickInit() will
arrive too early to be handled by the haptic subsystem. We need to add those
haptic devices for those already present joysticks ourselves.
|
|
6f9909b6
|
2021-11-09T21:11:19
|
|
These functions made it into 2.0.18
|
|
0d987936
|
2021-11-09T22:03:42
|
|
testwm2: Fix video modes menu hit detection when highdpi or logical size used (#4936)
* SDLTest_CommonDrawWindowInfo: log SDL_RenderGetScale, SDL_RenderGetLogicalSize
* testwm2: fix video modes menu hit detection in High DPI cases
- also when logical size is specified, e.g.
`--logical 640x480 --resizable --allow-highdpi`
* add function to determine logical coordinates of renderer point when given window point
* change since to the targeted milestone
* fix typo
* rename for consistency
* Change logical coordinate type to float, since we can render with floating point precision.
* add function to convert logical to window coordinates
* testwm2: use new SDL_RenderWindowToLogical
* SDL_render.c: alternate SDL_RenderWindowToLogical/SDL_RenderLogicalToWindow
Co-authored-by: John Blat <johnblat64@protonmail.com>
Co-authored-by: John Blat <47202511+johnblat64@users.noreply.github.com>
|
|
27ce9144
|
2021-11-09T20:51:42
|
|
Send absolute mouse motion when in normal mouse mode and relative mouse motion when in relative mode on iOS
This keeps the SDL cursor in sync with the visible cursor when in normal mouse mode.
|
|
19c129fa
|
2021-11-09T20:32:16
|
|
Added documentation that the UIApplicationSupportsIndirectInputEvents key must be set to true
in your application's Info.plist in order to get real Bluetooth mouse events.
|
|
a7e2e3a3
|
2021-11-09T13:36:44
|
|
Fixed rendering in the iOS touch demo
|
|
7681929c
|
2021-11-09T12:30:37
|
|
Don't send the initial joystick axis event if the application is in the background
|
|
d31f90d9
|
2021-11-09T12:09:01
|
|
Don't send game controller touchpad or sensor events unless the application has focus
Fixes https://github.com/libsdl-org/SDL/issues/4891
|
|
d2f75636
|
2021-11-09T11:53:59
|
|
When making the window centered it should use windowed mode size since it doesn't affect fullscreen windows
Fixes bug https://github.com/libsdl-org/SDL/issues/4750
|
|
1fc25bd8
|
2021-11-08T22:04:34
|
|
Properly position the IME window(s) on windows
|
|
04f42e04
|
2021-11-09T11:50:49
|
|
metal: Deal better with -[CAMetalLayer nextDrawable] returning nil.
Fixes #4863.
|
|
8f63e9ff
|
2021-11-09T11:13:52
|
|
cmake: use generated SDL_config.h to build SDLmain static lib
Thanks to @toazz for the patch!
Fixes #4829.
|
|
3a82e432
|
2021-11-09T11:06:33
|
|
cmake: Moved back to requiring merely CMake 3.0.0.
This means it now works with any CMake released since 2014 instead of 2018.
This was mostly just readding some special cases, and requiring 3.11.0 only
for Windows Stores apps, which isn't unreasonable. The biggest concern is
a Linux distribution not having a recent CMake; most other places will be
manually downloading and installing their own CMake.
Fixes #4930.
|
|
cfdbd6ac
|
2021-11-09T10:50:18
|
|
docs: Modernized README-macosx.md and cleaned up the Markdown a little.
Reference #960.
|
|
0f2bf629
|
2021-11-09T06:20:46
|
|
Fixed building hidapi when libusb is available
|
|
7b9fe52e
|
2021-11-09T05:40:57
|
|
We're no longer building a separate shared library for hidapi
|
|
e8731933
|
2021-11-09T13:32:28
|
|
Fixed warning: macro is not used
|
|
c7065bf4
|
2021-11-09T11:31:29
|
|
Fix warning: declaration shadows a local variable
|
|
715e7bda
|
2021-11-09T01:43:44
|
|
haptic: Don't enumerate joysticks if the joystick subsystem is active
The joystick subsystem has complex precedence logic to deal multiple competing
backends like XInput, RawInput, and WGI. Let it fire the MaybeAdd callbacks
for joystick devices, since it knows which backend will end up managing them.
This resolves a situation where the RawInput joystick backend would take
control of an XInput device but the XInput haptic backend would still create
a haptic device. Since the XInput joystick backend didn't own the underlying
joystick device, we'd end up with an orphaned haptic device that didn't work
with SDL_HapticOpenFromJoystick() on the associated joystick device.
|
|
b2ce22a0
|
2021-11-09T10:00:24
|
|
added src/hidapi/*.c to sources in standalone makefiles
|
|
ae67c7d2
|
2021-11-09T01:30:00
|
|
Implemented SDL_SetWindowMouseRect() on Wayland
|
|
18e69827
|
2021-11-08T22:29:02
|
|
Fixed Linux build
|
|
881f747d
|
2021-11-09T13:35:18
|
|
Always destroy icon
|
|
7fea557b
|
2021-11-09T12:03:09
|
|
SDL_windowsmouse.c: Remove LR_COPYDELETEORG flag
|
|
67c42cb4
|
2021-11-08T22:16:01
|
|
Fixed Windows build
|
|
fd79607e
|
2021-11-08T21:34:48
|
|
Added SDL_GetWindowMouseRect()
Also guarantee that we won't get mouse movement outside the confining area, even if the OS implementation allows it (e.g. macOS)
|
|
4db546b0
|
2021-11-08T20:35:12
|
|
Implemented SDL_SetWindowMouseRect() on macOS
|
|
037030a7
|
2021-11-08T20:26:40
|
|
Install SDL_hidapi.h
|
|
9c95c249
|
2021-11-08T20:01:56
|
|
x11: Use XCheckIfEvent() instead of XNextEvent() for thread-safety
A racing reader could read from our fd between SDL_IOReady()/X11_Pending()
and our call to XNextEvent() which will cause XNextEvent() to block for
more data. Avoid this by using XCheckIfEvent() which will never block.
This also fixes a bug where we could poll() for data, even when events were
already read and pending in the queue. Unlike the Wayland implementation,
this isn't totally thread-safe because nothing prevents a racing reader
from reading events into the queue between our XCheckIfEvent() and
SDL_IOReady() calls, but I think this is the best we can do with Xlib.
|
|
e9dae813
|
2021-11-08T20:14:08
|
|
CI: disable fail-fast to avoid aborting build when one platform fails
|
|
2d23d66a
|
2021-11-08T16:33:50
|
|
Fixed SetWindowMouseRect return value on Windows
|
|
7d21322d
|
2021-11-08T16:29:19
|
|
Implemented SDL_SetWindowMouseRect() on Windows
|
|
684b3b31
|
2021-11-09T02:30:28
|
|
regenerated configure script.
|
|
4b42c05b
|
2021-11-08T13:52:48
|
|
video: Add SDL_SetWindowMouseRect.
This API and implementation comes from the Unreal Engine branch of SDL, which
originally called this "SDL_ConfineCursor".
Some minor cleanup and changes for consistency with the rest of SDL_video, but
there are two major changes:
1. The coordinate system has been changed so that `rect` is _window_ relative
and not _screen_ relative, making it easier to implement without having
global access to the display.
2. The UE version unset all rects when passing `NULL` as a parameter for
`window`, this has been removed as it was an unused feature anyhow.
Currently this is only implemented for X, but can be supported on Wayland and
Windows at minimum too.
|
|
1a98dcb6
|
2021-11-08T15:16:18
|
|
Revert "include: Updated SDL_config_emscripten.h from emscripten-ports."
Apparently we already had the newer version, sorry!
This reverts commit 6657cbce8dcea9abe4501c8bbf85f2b40e6c927a.
Reference issue #4623.
|
|
dcc91909
|
2021-11-08T22:28:00
|
|
autotools: initial adjustments after the recent hidapi changes.
|
|
2636d839
|
2021-11-08T22:25:32
|
|
cmake: add hidapi to 'SDL_SUBSYSTEMS'
|
|
1739ef3e
|
2021-11-08T22:00:02
|
|
sdlchecks.cmake: remove libusb/hid.c and SDL_hidapi.c additions to srcs
|
|
36067fa1
|
2021-11-08T21:35:24
|
|
cmake: include hid.cpp in android sources
|
|
84138b77
|
2021-11-08T21:15:04
|
|
minor update to os2 config file.
|
|
001aa4da
|
2021-11-08T21:12:02
|
|
cmake: more hidapi fixes.
|
|
a3e8fd49
|
2021-11-08T09:58:11
|
|
Cancel any accumulated mouse wheel motion in the opposite direction when the wheel direction changes
Fixes https://github.com/libsdl-org/SDL/issues/2912
|
|
5dbbc8e6
|
2021-11-08T09:44:31
|
|
Added mouse wheel deltas with floating point precision
Fixes https://github.com/libsdl-org/SDL/issues/4888
|
|
d95a52c9
|
2021-11-08T09:39:21
|
|
Fixed comment typo
|
|
fc998b8e
|
2021-11-08T12:37:10
|
|
wayland: Return true for HasScreenKeyboardSupport only if no physical keyboard exists
|
|
4bbbe5f8
|
2021-11-08T09:28:36
|
|
Fixed CMake build by adding hidapi files
This needs more work to remove the hidapi shared library build, but at least Linux builds are unblocked
|
|
b8327a4a
|
2021-11-08T07:19:45
|
|
Added SDL_HIDAPI_DISABLED so it can be disabled like other SDL subsystems
|
|
2a6feb50
|
2021-11-08T07:10:38
|
|
Removed accidental debugging commit (thanks @DomGries!)
|
|
6c56e275
|
2021-11-08T07:05:17
|
|
Set both _NET_WM_NAME and WM_NAME so SDL windows can be shared in the browser.
Fixes https://github.com/libsdl-org/SDL/issues/4924
|
|
301819cd
|
2021-11-08T20:34:20
|
|
SDL_windowsmouse.c: Fix WIN_CreateCursor does not scale with system cursor size preference
|
|
f61b10dc
|
2021-11-08T06:34:32
|
|
Do more robust validation of devices passed to the SDL HIDAPI functions
|
|
dd8c3548
|
2021-11-08T17:00:56
|
|
SDL_hidapi.c: avoid possible NULL pointer dereferences.
|
|
2a904aa1
|
2021-11-08T17:00:28
|
|
os2: remove SDL_hidapi duplications in makefile, disable it in config.
|
|
5b646cd1
|
2021-11-07T22:58:44
|
|
Build hidapi code into SDL as a new public API
This prevents conflicts with hidapi linked with applications, as well as allowing applications to make use of HIDAPI on Android and other platforms that might not normally have an implementation available.
|
|
94c1276a
|
2021-11-07T20:49:32
|
|
emscripten: Decrease vertical scroll speed by using deltaMode
Reference issue #4623.
|
|
6657cbce
|
2021-11-07T20:43:49
|
|
include: Updated SDL_config_emscripten.h from emscripten-ports.
Reference issue #4623.
|
|
f6dc47ca
|
2021-11-07T16:00:47
|
|
WGI/DInput: Fix SDL_IsXInputDevice() checks when RawInput is enabled
Enabling the RawInput backend causes SDL_XINPUT_Enabled() to return false.
That causes WGI and DInput backends to take ownership of XInput-compatible
controllers, because they think there's no XInput-specific backend enabled.
In WGI's case, it will actually race with RawInput to open the device. By
properly excluding XInput devices from WGI, we can ensure that the sets of
devices managed by WGI and RawInput don't intersect. This makes the race
harmless, since they'll never both go after the same device.
|
|
74f35a7c
|
2021-11-07T14:10:04
|
|
Fixed documentation
|
|
301389ce
|
2021-11-07T13:52:59
|
|
Fixed iOS build
|
|
b3e909dc
|
2021-11-07T13:51:34
|
|
WGI: Fix SDL_IsXInputDevice() for Xbox One controllers
The Xbox One driver stack doesn't propagate the VID/PID down to the
HID devices that end up in the GetRawInputDeviceList() output. This
means we end up matching against the wrong VID/PID and can't properly
exclude Xbox One controllers from WGI.
Fortunately, it is possible to walk back up the device tree to find
the parent with the matching VID/PID.
|
|
dd85cc01
|
2021-11-07T13:17:54
|
|
Fixed whitespace
|
|
80d19282
|
2021-08-19T11:40:09
|
|
If Android version >= API 23 PendingIntent.FLAGIMMUTABLE
"If your app targets Android 12, you must specify the mutability of each PendingIntent object that your app creates. This additional requirement improves your app's security."
FLAG_IMMUTABLE was added in API 23 so that's why I'm using "> API 23". Using API 30 would also fix the Android 12 issue. Alternatively if PendingIntents should be mutable you could change it to "FLAG_MUTABLE".
|
|
b8c00bf9
|
2021-11-07T13:11:29
|
|
Allow opening joysticks that are read-only on Linux
Fixes https://github.com/libsdl-org/SDL/issues/4713
|
|
0323d983
|
2021-11-07T12:52:06
|
|
Add the platform to the game controller mapping so it can be read back in without changes
Fixes https://github.com/libsdl-org/SDL/issues/4848
|
|
d950b9e2
|
2021-11-07T20:40:54
|
|
emscripten: Make timers work (if used with emscripten_set_main_loop)
Co-authored-by: aidanhs <aidanhs@cantab.net>
|
|
fe2fe290
|
2021-11-07T11:48:16
|
|
Backed out accidentally committed PR https://github.com/libsdl-org/SDL/pull/4849
|
|
86bc65a7
|
2021-11-07T11:35:12
|
|
Fixed non-Apple builds
|
|
637bcd0b
|
2021-11-07T11:19:07
|
|
Fixed build warnings
|
|
e1435826
|
2021-11-07T11:16:48
|
|
Cleanup sfSymbolName support and add them to the dynamic API functions
|
|
149e5c65
|
2021-10-03T12:49:36
|
|
Support returning sfSymbolsName for gamepad controls on macOS / iOS / tvOS
|
|
cdb4d8f2
|
2021-11-07T09:39:57
|
|
Added a test case for snprintf of 0.0
This verifies regressions in https://github.com/libsdl-org/SDL/issues/4795
|
|
3acb1725
|
2021-11-07T12:26:39
|
|
stdlib: SDL_snprintf now adds decimal places for ("%f", 0.0).
This patch was from @Markvy (thanks!).
Fixes #4795.
|
|
2008f2a8
|
2021-11-07T01:41:34
|
|
SDL_test_font.c: fix type of SDLTest_CharTextureCacheList
|
|
a0e055a7
|
2021-11-07T02:48:29
|
|
testwm2: add mode menu, click on a mode to call SDL_SetWindowDisplayMode
|
|
70f7ebe6
|
2021-11-07T01:46:04
|
|
SDL_test_font.c: add ability to draw on different SDL_Renderers
fixes `testwm2 --windows 2`
|
|
6312aaea
|
2021-11-06T21:52:22
|
|
WGI: Add workaround for delayed callbacks after WGI_JoystickQuit()
|
|
35b0baaa
|
2021-11-06T19:25:06
|
|
Unfixed typo
|
|
1d40c69a
|
2021-11-05T22:52:03
|
|
Fixed typo
|