An overflow occured in the stdlib_sscanf test, when using msys2 clang32 toolchain.
(cherry picked from commit 342ec5113171214154cb197bb3e0e3a0056ea2ad)
(cherry picked from commit 10135b2d7bbed6ea0cba24410ebc12887d92968d)
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
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)
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)
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)
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)
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)
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)
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)
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)
- 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)
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.
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)
This report is for third party controllers only.
(cherry picked from commit 16dd5f0da4ee950e9f998a757dcb4789463e67e2)
(cherry picked from commit bb036ef5441f6e0374eed6a02adb9dc66273c629)
That will put the PS5 controller into enhanced mode, which breaks DirectInput games
(cherry picked from commit 2fef0be2f646ae048e239aa6694e632081c85238)
(cherry picked from commit 910dad505af1684d1a6ebce3a8a371830fd3e50b)
Permission granted in 76a7b629bf (commitcomment-121408342)
(cherry picked from commit 6c2472d459602eb3c3ee109d6e8f255336109673)
(cherry picked from commit a4ad293d4a184057c6dc370538ddd808ca9b0c90)
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)
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)
We shouldn't be doing any of this work in that case
(cherry picked from commit dfc5e6964eca0a0813768518d08cf1c80136e896)
(cherry picked from commit 9117b2e3000da4d9066dd5f2cfb1c9cbbbee6861)
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)