|
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
|
|
eda4c407
|
2021-11-10T12:46:54
|
|
Make sure the X event is an Xkb event before checking the Xkb event type
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
0f2bf629
|
2021-11-09T06:20:46
|
|
Fixed building hidapi when libusb is available
|
|
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.
|
|
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
|
|
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.
|
|
2d23d66a
|
2021-11-08T16:33:50
|
|
Fixed SetWindowMouseRect return value on Windows
|
|
7d21322d
|
2021-11-08T16:29:19
|
|
Implemented SDL_SetWindowMouseRect() on Windows
|
|
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.
|
|
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
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
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
|
|
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()
|
|
2248a549
|
2021-11-05T22:48:46
|
|
Update the focus in case we changed focus to a child window and then away from the application
In this case we'll get WM_KILLFOCUS when the child window is focused, but we'll retain focus on the top level window, but when we Alt-Tab away, we won't get another WM_KILLFOCUS or WM_NCACTIVATE, we get WM_ACTIVATE instead, so we need to check for focus updates in response to that as well.
|
|
6407d4b0
|
2021-11-05T17:10:02
|
|
remove unnecessary parentheses from SDL_abs()
|
|
6cbee063
|
2021-11-05T01:17:29
|
|
include: Swap parameter names in atan2 functions
|
|
2371b247
|
2021-10-31T18:27:51
|
|
windows: improve feature detection consistency between CMake and non-CMake builds
|
|
839ca0ea
|
2021-11-03T16:35:24
|
|
SDL_OpenURL (macOS): try to open path if the url cannot be opened (#4830)
* SDL_OpenURL (macOS): try to open path if the url cannot be opened
* SDL_OpenURL (macOS): use CFURLCreateWithBytes & LSOpenCFURLRef to correctly escape input
* fix type casting + indentation
|
|
8593076d
|
2021-11-02T16:04:36
|
|
Fixed whitespace
|
|
62629c2b
|
2021-11-02T22:17:41
|
|
Fix 64-bit timeval/timespec delta calculations
|
|
6d5edfa7
|
2021-11-02T15:59:26
|
|
Fixed crash on Android 8, due to bugs in AAudio implementation
|
|
43ddc59f
|
2021-11-02T16:56:14
|
|
Export SDL_LinuxSetThreadPriorityAndPolicy() function (#4877)
It's marked as being a public symbol internally, however, it was missing from the header files and not visible in the shared library. This adds it to the necessary headers and to the DynAPI list to expose it for use by applications.
Co-authored-by: Frank Praznik <frank.praznik@oh.rr.com>
|
|
848d7b12
|
2021-11-02T16:12:55
|
|
Vita: Implement command batching
|
|
3f7a94fc
|
2021-11-02T15:16:48
|
|
Vita: Remove FillRects
|
|
f73376ae
|
2021-11-02T00:31:25
|
|
events: Add logging for SDL_CONTROLLERTOUCHPAD*, SDL_CONTROLLERSENSORUPDATE, and SDL_SENSORUPDATE events
|
|
2379c528
|
2021-10-25T11:04:42
|
|
os/2: Don't try to be clever with the 32-bit GetTicks fallback.
|
|
cca79d32
|
2021-10-23T15:30:20
|
|
android: Patched SDL_GetTicks64() to compile.
|
|
affb183e
|
2021-10-23T15:20:32
|
|
unix: Fixed SDL_GetTicks64 function signature.
|
|
99c9727d
|
2021-10-23T15:00:31
|
|
timer: Added SDL_GetTicks64(), for a timer that doesn't wrap every ~49 days.
Note that this removes the timeGetTime() fallback on Windows; it is a
32-bit counter and SDL2 should never choose to use it, as it only is needed
if QueryPerformanceCounter() isn't available, and QPC is _always_ available
on Windows XP and later.
OS/2 has a similar situation, but since it isn't clear to me that similar
promises can be made about DosTmrQueryTime() even in modern times, I decided
to leave the fallback in, with some heroic measures added to try to provide a
true 64-bit tick counter despite the 49-day wraparound. That approach can
migrate to Windows too, if we discover some truly broken install that doesn't
have QPC and still depends on timeGetTime().
Fixes #4870.
|
|
fba82ad1
|
2021-10-31T12:38:08
|
|
Remove sceGxmFinish from RenderPresent on Vita. Make sure that rendering is finished on render texture during locking
|
|
a01aaf05
|
2021-10-30T21:42:07
|
|
Fixed compiler warning
|
|
4d3da5b7
|
2021-10-26T21:51:29
|
|
riscos: Disable the mouse pointer for now
|
|
1c256b89
|
2021-10-26T13:42:34
|
|
riscos: Fix enumerating screen modes
|
|
5a3c97f3
|
2021-10-25T22:55:02
|
|
riscos: Fix detection of the current mode
|
|
53b3db0c
|
2021-09-28T17:59:16
|
|
Handle the KMOD_SCROLL modifier on RISC OS
|
|
1268984e
|
2021-09-09T21:09:50
|
|
Implement mouse input on RISC OS
|
|
f7f54f0d
|
2021-08-06T23:38:46
|
|
Implement keyboard input on RISC OS
Partially based on a patch from http://www.riscos.info/websvn/listing.php?repname=gccsdk&path=%2Ftrunk%2Fautobuilder%2Flibraries%2Fsdl%2Flibsdl2%2F&rev=7174#a6401c766f408f1ea356e6977894cc6a5
Currently lacks support for mapping scancodes to keycodes.
|
|
f8a8ca3e
|
2021-08-05T23:16:29
|
|
Support proper mode switching on RISC OS
|
|
fe9bb747
|
2021-02-12T23:46:11
|
|
riscos: Refactor framebuffer code
|
|
25c71748
|
2020-02-13T21:55:08
|
|
Add a barebones RISC OS video driver
|
|
a5598649
|
2021-10-30T19:30:34
|
|
x11/wayland: Fix signal handling while blocking in WaitEventTimeout()
Add a new flag to avoid suppressing EINTR in SDL_IOReady(). Pass the
flag in WaitEventTimeout() to ensure that a SIGINT will wake up
SDL_WaitEvent() without another event coming in.
|
|
c97c4687
|
2021-10-30T15:56:54
|
|
core: Convert SDL_IOReady()'s 2nd parameter to flags
|
|
8a4a282a
|
2021-10-30T16:02:12
|
|
alsa: Make hotplug thread optional.
Even without the thread, it'll do an initial hardware detection at startup,
but there won't be any further hotplug events after that. But for many cases,
that is likely complete sufficient.
In either case, this cleaned up the code to no longer need a semaphore at
startup.
Fixes #4862.
|
|
26706319
|
2021-10-30T05:53:12
|
|
Ignore the ASRock LED controller, it's not a joystick
|
|
ac54d57a
|
2021-10-26T20:02:38
|
|
event: Check subsystem initialization before events or devices
SDL_WasInit() is cheaper SDL_NumJoysticks()/SDL_NumSensors().
|
|
1bc6dc3e
|
2021-10-26T20:02:04
|
|
event: Cap maximum wait time if sensor or joystick subsystems are active
Joystick and sensor subsystems require periodic polling to detect new devices.
|
|
2bf36bfa
|
2021-10-24T21:28:04
|
|
wayland: Implement WaitEventTimeout() and SendWakeupEvent()
We can have spurious wakeups in WaitEventTimeout() due to Wayland events
that don't end up causing us to generate an SDL event. Fortunately for us,
SDL_WaitEventTimeout_Device() handles this situation properly by calling
WaitEventTimeout() again with an adjusted timeout.
|
|
9c799802
|
2021-10-26T15:18:26
|
|
Vita: fix IME input languages
|