Commit Graph

11479 Commits

Author SHA1 Message Date
Anonymous Maarten
5bfdb6e02f Fix overflow when doing SDL_sscanf("%hd", ...)
An overflow occured in the stdlib_sscanf test, when using msys2 clang32 toolchain.

(cherry picked from commit 342ec5113171214154cb197bb3e0e3a0056ea2ad)
(cherry picked from commit 10135b2d7bbed6ea0cba24410ebc12887d92968d)
2023-08-10 15:07:11 -07:00
Mathieu Eyraud
739d3ec189 Fix out of bound read of 'has_hat' array
(cherry picked from commit 94b3f78c440bfd52182848adf39db71325861e9c)
(cherry picked from commit f348370e1b3416f70e3fd1e5668a385b661b4a48)
2023-08-10 08:27:11 -07:00
Sam Lantinga
2319b2635b Fixed testautomation --filter pixels_allocFreePalette
Error messages are not part of the ABI, so we can't validate those.

Hand-picked from c9323f8fac
2023-08-08 11:50:00 +03:00
Sam Lantinga
bda161d22b Fixed testautomation --filter pixels_allocFreeFormat
Error messages are not part of the ABI, so we can't validate those.

Technically SDL_AllocFormat() on a FOURCC format in SDL2 should fail, but SDL3 supports it and we don't expect SDL2 applications to actually do this, so skip that test.

Hand-picked from 5cf9438f88
2023-08-08 11:50:00 +03:00
Anonymous Maarten
dbfd47e77d cmake: update cmake_minimum_required to avoid deprecated warning 2023-08-07 19:03:18 +02:00
Ryan C. Gordon
dbb6cd02aa
include: fixed a typo in SDL_RenderGetMetalCommandEncoder docs.
(cherry picked from commit 8087c0a5d2e2e47b7841cdd9d3fdff8cfb23e241)
2023-08-06 10:45:34 -04:00
Ozkan Sezer
841263c9d6 updated config.guess and config.sub from mainstream 2023-08-05 14:03:02 +03:00
Sam Lantinga
2ccb311cb7 Added a gamepad mapping for the G-Shark GS-GP702
Fixes https://github.com/libsdl-org/SDL/issues/8068

(cherry picked from commit 06bea1eb5544e778c1258d3d7f47f6d06110c379)
(cherry picked from commit 2304b4e86a05cbf418b96055b72fc4eaf874531f)
2023-08-02 14:39:09 -07:00
Sam Lantinga
e0a345702d The Flydigi Vader and Apex series controllers all have the same VID, PID, and name
(cherry picked from commit 58e3084477afe344bae42ab352d56eba25b4a36b)
(cherry picked from commit 0f753d97940d0a5ba01f0274ac742ee427263bd5)
2023-08-02 14:39:09 -07:00
Sam Lantinga
9fba36511f Removed Flydigi Vader 2 mappings
Many of the Flydigi controllers use the same VID/PID and have different mappings, so let's revisit this once we have more data.

(cherry picked from commit 5388edd5494030b8c43b2f79e3f5c9b71f57a703)
(cherry picked from commit 805fc29ae8aead9fba8e0fa2b155dd3a9f6618f2)
2023-08-02 14:39:09 -07:00
Ozkan Sezer
45fb778fe5 adjusted coding style in SDL_os2_joystick.c to match rest of SDL better
(cherry picked from commit 57f3c41b9727d8cfb701401bc539be45285a0399)
2023-08-02 20:40:24 +03:00
Sam Lantinga
031912c4b6 Updated to version 2.28.2 for release 2023-08-02 08:31:42 -07:00
Ozkan Sezer
348cc05b4f minor os/2 stuff merged from the bitwiseworks' fork
(cosmetics only.)
(cherry picked from commit b58557a3a60de6e945536c41147061afa8468286)
2023-08-02 17:10:50 +03:00
Ozkan Sezer
e2e87a536c SDL_video.c: move ngage video before offscreen.
Reference issue: https://github.com/libsdl-org/SDL/pull/8069.
2023-08-02 17:00:10 +03:00
Ozkan Sezer
66d5ad19f0 SDL_video.c: move os2 video before offscreen.
as offscreen is enabled in CMakeLists.txt, we get a blanks window
otherwise.

From a patch by Silvan Scherrer, at Bitwiseworks' fork.
2023-08-02 09:26:41 -04:00
Sam Lantinga
94e945ccff Fixed build
(cherry picked from commit ebf2c49b505b67838f8fb00c0b2ed0ce03856f38)
2023-08-02 01:37:24 -07:00
Sam Lantinga
3f93f56b6e Fixed duplicate key press/release events on iOS
When a hardware keyboard is attached, it can take over 100 ms for the keyboard event to generate text input. In that case we want to record that we recently received a keyboard event so we don't synthesize duplicate virtual key press/release events for the input text.

(cherry picked from commit 648de4f9b8ebcf9e794aba2ec2955d129167c48b)
(cherry picked from commit 38c63afd64450cab8166485c7f93f2cf6c0fa038)
2023-08-02 01:29:30 -07:00
Sam Lantinga
ed5ef8fed4 Synchronize on-screen keyboard state with text input active state
When a hardware keyboard is attached to an iPad, you can easily trigger a set of on-screen keyboard transitions that will take place over time, and we need to track whether we're currently showing or hiding the keyboard and make sure we don't clobber the existing state during those transitions.

Testing:
* Connected a hardware keyboard to an iPad
* Launched checkkeys
* Noted the keyboard bar was active at the bottom of the screen and text input was active
* Tapped with both fingers to quickly toggle text input off and back on
* Noted the keyboard bar slid down and then back up, and text input was active
* Tapped on the keyboard bar to bring up the full on-screen keyboard and then closed it so the keyboard bar was still active, and text input was still active
* Tapped on the screen to turn text input off, noted the keyboard bar slid down
* Tapped with both fingers to quickly toggle text input on and back off
* Noted that the keyboard bar slid up and then back down, and text input was inactive
* Tapped on the screen to turn text input on, tapped on the keyboard bar to bring up the full on-screen keyboard, and text input was active
* Pressed a key on the physical keyboard, the on-screen keyboard closed, the key press and release was delivered (with no text input) and then the keyboard bar slid up, and text input was active again

Fixes https://github.com/libsdl-org/SDL/issues/7979

(cherry picked from commit c3288d113e434b20d2f0dda73210d3a52504d199)
(cherry picked from commit 030bb7282a8c93caf15fd023e02de888def7f582)
2023-08-02 01:29:30 -07:00
Sam Lantinga
39781eef09 Only pass keypresses up the responder chain when text input is active
This is another attempt to make sure we don't cause beeps from unhandled key presses while still allowing full text input functionalty.

If this isn't selective enough, we might need to go up the responder chain to see what's going to handle the event before passing it along.

Fixes https://github.com/libsdl-org/SDL/pull/6962

(cherry picked from commit a8abe612ed5597cbaabb903c0121b5b48baee91d)
(cherry picked from commit 335e9c769a5d49fe023b528c48a45c8ce3ed60d0)
2023-08-02 01:29:30 -07:00
Sam Lantinga
3436124804 Revert "Stop beep when running iOS apps on ARM-based Macs"
This reverts commit bbf38bbbc334bc0ee90d3eec228a968d8fc1689e, which prevented text input from working when a hardware keyboard was connected, since key strokes don't get to the text input field.

Fixes https://github.com/libsdl-org/SDL/issues/7958

(cherry picked from commit f5ea6ae18d860796184b9b31a2005957cb7e30a2)
(cherry picked from commit 5e9320f6b5f4492fea026f1d9c14a4b9787f7a22)
2023-08-02 01:29:30 -07:00
Sam Lantinga
9267a9032e Fixed build
(cherry picked from commit e2afc1f37a2f0b38716e71147e41737e24ed4be7)
2023-08-01 18:58:40 -07:00
Sam Lantinga
02be870c54 Fixed crash if a display is enumerated twice
This can happen if a monitor is in the process of becoming primary because another monitor was disconnected.

(cherry picked from commit 07578fde3dad2dadd605f5b18399c8d021f6ae5d)
(cherry picked from commit 2468fccf7fa7fa315d6652c7babf85f2d09f035b)
2023-08-01 18:30:46 -07:00
Ryan C. Gordon
84ad531689 cocoa: Ignore first mouse motion event after enabling relative mode.
Fixes #7918.

(cherry picked from commit dc5dda0f311ea596a5152ec2f8f062f9309eb1d9)
2023-08-01 18:40:24 -04:00
Ryan C. Gordon
e73a81b28a
x11: Blocking for window maximization should wait 100 ms, not 1000.
Reference Issue #7070.

(cherry picked from commit 3030fd815c4d05b5286f7cb9c8a8a2b42cff7bb1)
2023-08-01 13:55:58 -04:00
Ryan C. Gordon
133ad1915c
Revert "x11: check if window size/position has changed during SDL_ShowWindow."
This reverts commit aa536217b3.

(cherry picked from commit 5c3df60ec913f5b0fd04835af56f3afd42694893)
2023-08-01 13:51:37 -04:00
Sam Lantinga
5733f42c7c Fall back to Xlib if XRandR isn't available
This fixes video initialization on headless systems with VNC

Fixes https://github.com/libsdl-org/SDL/issues/8054

(cherry picked from commit 71099149b8fc062ea0ece232ccdd9f0ee9b3588b)
(cherry picked from commit 8825fbf71391631f1a7ee7ca224a2f4e01cd8814)
2023-07-31 14:41:51 -07:00
Mathieu Eyraud
dda971833e Add missing break
(cherry picked from commit 0500fca00c141cc4ab9be15ce5ddb7bc8c5c17b2)
2023-07-29 17:33:20 +03:00
Ozkan Sezer
38a5aed974 minor os/2 stuff merged from the bitwiseworks' fork 2023-07-28 23:56:20 +03:00
Ozkan Sezer
3845fd3c49 fixed typo in prev. patch. 2023-07-28 07:35:24 +03:00
Ozkan Sezer
0d62ce6070 test/testnativecocoa.m: fixed deprecation warnings. 2023-07-28 07:21:28 +03:00
Sam Lantinga
301f227879 Sorted controller list
(cherry picked from commit 3174d0b97025376e4a7b6e881501a43472238e0e)
(cherry picked from commit 507be6c3f819ad24b08eb3d28e7e14c9aeb6b60a)
2023-07-27 12:50:32 -07:00
Max Maisel
2ca4c0233a Add Steam Deck controller mapping to database.
This adds support for the back paddles, and the "..." key
which are not automatically detected.
* "Back" is mapped to the top left "two windows" key.
* "Start" is mapped to the top right "hambuger menu" key.
* "Guide" is mapped to the "Steam" key.
* The "..." key is just a generic button.

When looking at the screen, paddles are number
* P1: Top right
* P2: Top left
* P3: Bottom right
* P4: Botom Left

The new controller mapping was created with the SDL3 gamepadmap tool.

(cherry picked from commit 27b8abb0562f46e64337d5d799b877c357001254)
(cherry picked from commit f4561db69a6c534e9e041f890cc06e42bdbdec4d)
2023-07-27 12:50:32 -07:00
Anonymous Maarten
44903d8aee SDL_atomic.h: __ARM_ARCH is not always defined for an arm platform
e.g. riscos toolchain
(cherry picked from commit 8105f1d5b5b83328f4d0017a562674efca821077)
2023-07-26 20:39:30 +03:00
Ozkan Sezer
e3f90c6068 remove unused vulkan/*.hpp files.
(cherry picked from commit 611b3dd1fd7aec30ba9c830c7c5f8a0cdbaf9ff5)
2023-07-26 18:10:00 +03:00
Ozkan Sezer
8cdc2b3eec update docs/README-os2 after the last os/2 audio patch. 2023-07-25 20:51:32 +03:00
Ozkan Sezer
b4d8765426 os2 audio refactoring and capture support
- Fixed audio device detection and usage.
- Implemented audio capture support
- Refactored buffer handling to separate pointers to fill and drain buffers.

Based on patches by josch1710 and Lars Erdmann:
https://github.com/bitwiseworks/SDL2-os2/pull/7
(cherry picked from commit 890bee64a4494b8575c53c68adfaf7c594d07c27)
2023-07-25 14:03:00 +03:00
Anonymous Maarten
e6f044ddda ci: bump mymindstorm/setup-emsdk to latest tag 2023-07-22 18:09:14 +02:00
Weng Xuetian
2eb73e2419 Remove the unimplemented CloseIC in fcitx module
This call is actually a left-over when porting from fcitx4 service to the new org.freedesktop.portal.Fcitx supported by both fcitx4/fcitx5. CloseIC is actually never a part of the new interface on org.freedesktop.portal.Fcitx. It cause any issue user visible effect.
2023-07-20 13:37:31 -07:00
Sam Lantinga
fb57ba763d Fixed LED pending check failing when the controller timestamp is very large
In this case we know the controller has been on for a while and the Bluetooth connection LED cycle is complete.

Also fixed the timestamp being zero the first time it is checked

(cherry picked from commit bd4f155bbbdc4be34505535e4bd936ae12671925)
(cherry picked from commit f7dc8c0eaa66cf33dcacb31cc3d09dee197bacbe)
2023-07-17 17:46:30 -07:00
Sam Lantinga
63a98d0da2 Don't send k_EPS5FeatureReportIdCapabilities to Sony PS5 controllers
This report is for third party controllers only.

(cherry picked from commit 16dd5f0da4ee950e9f998a757dcb4789463e67e2)
(cherry picked from commit bb036ef5441f6e0374eed6a02adb9dc66273c629)
2023-07-17 17:46:29 -07:00
Sam Lantinga
78f11e05ff Don't tickle Bluetooth PS5 controllers in simple mode with an effects packet
That will put the PS5 controller into enhanced mode, which breaks DirectInput games

(cherry picked from commit 2fef0be2f646ae048e239aa6694e632081c85238)
(cherry picked from commit 910dad505af1684d1a6ebce3a8a371830fd3e50b)
2023-07-17 17:46:29 -07:00
Sam Lantinga
ac4f5dcadd Relicensed testutils to match other test code
Permission granted in 76a7b629bf (commitcomment-121408342)

(cherry picked from commit 6c2472d459602eb3c3ee109d6e8f255336109673)
(cherry picked from commit a4ad293d4a184057c6dc370538ddd808ca9b0c90)
2023-07-16 04:38:48 -07:00
Sam Lantinga
ff4fd93f4c Fixed getting the CRC of virtual joysticks without a VID/PID
(cherry picked from commit b40fb5c51e2a5350ba00fbf4db86b4ae1066db92)
(cherry picked from commit 6089b35706171b950f55a010bc9df2114cd7a783)
2023-07-16 04:38:48 -07:00
Frank Praznik
52a14998a8 wayland/video: Validate the returned window display pointer before dereferencing it
If, in the case where all displays has been disconnected, and some window state change occurs before an active display is re-added and finalized, the pointer returned by SDL_GetDisplayForWindow() will be null necessitating that the returned pointer be checked for validity before dereferencing it.

(cherry picked from commit a999100858c10e82a397adf8d37306a4232edb32)
2023-07-14 11:30:31 -04:00
Anonymous Maarten
14b0b0e6c8 ci: move 'set -eu' to after source_cmd 2023-07-14 15:03:19 +02:00
Sam Lantinga
cb4b41ddf7 RAWINPUT_RegisterNotifications() should return int, for consistency
(cherry picked from commit 1903d7b1bf6c73ef23e4d6934c9fec5246dd0b2e)
(cherry picked from commit e8b6edd5a081d0b45c2ac39ab690e584a6b95a84)
2023-07-11 10:54:44 -07:00
Sam Lantinga
5a2d165b7b Improved RAWINPUT <-> XInput/WGI device correlation
If there is only one controller slot available, assume that's the one matching new RAWINPUt devices. This will be right most of the time, and uncorrelation will fix any bad guesses.

(cherry picked from commit 41882a1acb6054dc7a56fd5ff7f0a279ba1144c0)
(cherry picked from commit 34c5bde3554d2a78d14eb73c14d971cee20f3108)
2023-07-11 10:54:44 -07:00
Sam Lantinga
11022c23b2 Fixed crash if RAWINPUT is not initialized
We shouldn't be doing any of this work in that case

(cherry picked from commit dfc5e6964eca0a0813768518d08cf1c80136e896)
(cherry picked from commit 9117b2e3000da4d9066dd5f2cfb1c9cbbbee6861)
2023-07-11 10:54:44 -07:00
Sam Lantinga
b7c93a2d77 Don't send k_ePS4FeatureReportIdCapabilities to Sony PS4 controllers
This report is for third party controllers only, and might be causing issues with fake PS4 controllers.

Reference https://github.com/libsdl-org/SDL/issues/7960

(cherry picked from commit 092a4b780ca464de71b89ffa5dc655ce256ce350)
(cherry picked from commit 6bf5f5a221f971a5804062e365a281c30668dd9c)
2023-07-10 09:49:17 -07:00
Christopher Wellons
078e817ceb Unaligned stacks on i686-w64-mingw32, may lead to crashes (#7607)
Co-authored-by: Ozkan Sezer <sezeroz@gmail.com>(cherry picked from commit 8231278817faabdff4a232770f798684bd2e12df)
2023-07-10 03:10:20 +03:00