Commit Graph

13011 Commits (a8abe612ed5597cbaabb903c0121b5b48baee91d)

Author SHA1 Message Date
Sam Lantinga a8abe612ed 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
2023-08-02 00:19:57 -07:00
Sam Lantinga c3288d113e 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
2023-08-02 00:11:17 -07:00
Sam Lantinga 5fb92ef2f7 Fixed whitespace 2023-08-02 00:11:17 -07:00
Sam Lantinga f5ea6ae18d Revert "Stop beep when running iOS apps on ARM-based Macs"
This reverts commit bbf38bbbc3, 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
2023-08-02 00:08:07 -07:00
Sam Lantinga 546508b9b4 Allow test programs to run at full resolution on iPads 2023-08-01 21:52:23 -07:00
Sam Lantinga 68a4bb01e0 Allocate displays as an array of pointers instead of an array of objects
This fixes current_mode from pointing at the wrong data when displays are moved around
2023-08-01 19:24:29 -07:00
Sam Lantinga 07578fde3d 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.
2023-08-01 18:28:55 -07:00
Ozkan Sezer a509771a87 fix ios CI workflow after commit e4460e897f 2023-08-01 08:51:02 +03:00
Sam Lantinga 72ce76905a The scheme isn't always the same as the framework name (e.g. xmp_lite vs xmp-lite) 2023-07-31 22:31:06 -07:00
Sam Lantinga e4460e897f By default Xcode expects the framework target name to be the name of the project. 2023-07-31 22:03:50 -07:00
Sam Lantinga ac683773dc Added missing tests to the "All" target 2023-07-31 21:39:26 -07:00
Sam Lantinga 7dd56eaafe Removed unnecessary reference to testoverlay-Info.plist 2023-07-31 21:36:09 -07:00
Sam Lantinga e1c7f524ef Reduce the number of times SDL3 is duplicated in the xcframework script 2023-07-31 21:25:23 -07:00
Sam Lantinga 65538011ca Make Xcode targets more specific
This makes sure they show up in the scheme selection menu when included with other libraries in top level Xcode projects
2023-07-31 21:17:03 -07:00
Sam Lantinga efe114c300 Revert "Renamed the xcframework target from "SDL.xcframework" to "xcframework""
This reverts commit 73ed1d21a9.
2023-07-31 21:11:18 -07:00
Sam Lantinga 73ed1d21a9 Renamed the xcframework target from "SDL.xcframework" to "xcframework" 2023-07-31 20:54:08 -07:00
Sam Lantinga 76b4d8a0d8 Build the Framework instead of a static library for iOS and tvOS 2023-07-31 20:53:43 -07:00
Sam Lantinga d1bf979160 Removed unnecessary setting from the "Create DMG" target 2023-07-31 18:51:13 -07:00
Sam Lantinga c94cb3a5d8 Simplified the Xcode project to a single Framework target
Static and shared libraries can be built using CMake support in SDL 3.0

Built tests for macOS, iOS, and tvOS
2023-07-31 18:38:18 -07:00
Anonymous Maarten ea60474c65
cmake: don't build SDL3-static Apple framework 2023-08-01 01:35:57 +00:00
SDL Wiki Bot 8f00d7856d Sync SDL3 wiki -> header 2023-07-31 23:40:15 +00:00
Semphris d4a867a256 Rename SDL_GetPath to SDL_GetUserFolder
The documentation has been edited accordingly, and certain parts have been clarified.
2023-07-31 16:39:33 -07:00
Sam Lantinga 71099149b8 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
2023-07-31 14:38:48 -07:00
Sam Lantinga b7f32f74ce Note the removal of the SDL_RENDERER_TARGETTEXTURE flag
Render targets are a core feature of SDL 3.0, so this flag has been removed.

The OpenGL ES renderer still doesn't support them, but we'll deal with that later.

Fixes https://github.com/libsdl-org/SDL/issues/8059
2023-07-31 08:36:44 -07:00
Frank Praznik fb68e84646 wayland: Fix memory leaks
Fix some memory leaks reported by Valgrind due to not destroying objects.
2023-07-30 12:46:02 -04:00
1vanK b221b59995
cmake: add SDL_REVISION option
This is useful if one has vendored SDL git and want to avoid rebuilding SDL on every git commit.
2023-07-29 21:16:32 +00:00
Mathieu Eyraud 0500fca00c Add missing break 2023-07-29 10:29:00 -04:00
Ozkan Sezer d3f2de7f29 fixed typo in prev. patch. 2023-07-28 07:35:04 +03:00
Ozkan Sezer 12b35c6a46 test/testnativecocoa.m: fixed deprecation warnings. 2023-07-28 07:20:50 +03:00
Anonymous Maarten e24b3e2fa4 cmake: rename SDL_TEST -> SDL_TEST_LIBRARY 2023-07-28 04:41:29 +02:00
Anonymous Maarten da5016d336 cmake: use pkg-config + test compile instead of Find module for detecting rpi 2023-07-28 04:41:29 +02:00
Anonymous Maarten deec574ff6 cmake: fix SDL_HIDAPI_LIBUSB 2023-07-28 04:41:29 +02:00
SDL Wiki Bot f2ae00c1ad Sync SDL3 wiki -> header 2023-07-27 22:43:14 +00:00
Anonymous Maarten 41a96c8133 doc: document building of SDL tests with CMake 2023-07-28 00:41:26 +02:00
Sam Lantinga 3174d0b970 Sorted controller list 2023-07-27 12:48:15 -07:00
Max Maisel 27b8abb056 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.
2023-07-27 12:46:47 -07:00
Sam Lantinga 41d436f0fe Use SetWindowPos to show windows when SDL_HINT_WINDOW_ACTIVATE_WHEN_SHOWN is set to avoid activating the parent window when showing a child window 2023-07-27 11:56:53 -07:00
Sam Lantinga 0dc85f3078 Improved the documentation for the gamepad paddle buttons 2023-07-27 11:27:42 -07:00
Frank Praznik 2fff999a41 Try to create the dummy mouse cursor after video backend initialization
The mouse->CreateCursor function pointer will always be null if checked before the video backend is initialized, so a dummy default cursor with null internal structures was being created in all cases, not just for backends lacking cursor functionality. Move the check to after the video subsystem is initialized, when the function pointer check is valid.

Passing this dummy cursor with null internal structures to the Wayland backend would cause a crash, as it requires the internal cursor structures to be valid in order to store cursor backing data, even for default system cursors.
2023-07-27 13:00:50 -04:00
SDL Wiki Bot d086d9874d Sync SDL3 wiki -> header 2023-07-27 13:36:07 +00:00
Ryan C. Gordon bce598addd
SDL_pixels.c: Fixed compiler warning on Android NDK. 2023-07-26 15:49:24 -04:00
SDL Wiki Bot ad0c0d3cde Sync SDL3 wiki -> header 2023-07-26 17:17:06 +00:00
Frank Praznik f8e8dff7ee tests: Fix automated window grab and positioning tests under Wayland/XWayland
When using the Wayland video driver or X11 under XWayland, create a renderer and present a frame as part of window creation, as Wayland requires that a frame be presented for the window to be fully mapped and displayed onscreen. This fixes the grab and expected window size tests.

This also disables the window positioning tests when running under the Wayland driver, as Wayland does not allow application windows to position themselves in the desktop space, which renders the tests unreliable and subject to spurious failure.
2023-07-26 10:08:27 -04:00
Starbuck5 4cffbc3644 Add VS code directory to gitignore 2023-07-25 23:36:14 -07:00
Starbuck5 666f81bace Add more endian-specific aliases for 32 bit pixelformats
Add these for all the RGBX variants, just like all the RGBA variants already have.
2023-07-25 23:35:42 -07:00
Sam Lantinga 4749df0a63 Just disable the 4214 warning instead of trying to change the structure definition 2023-07-25 14:01:46 -07:00
Sam Lantinga b8d91252c6 Fixed automation tests using the dummy video driver 2023-07-25 11:48:10 -07:00
Sam Lantinga a16b241b89 Make sure the mouse and keyboard focus is cleared when a window is hidden 2023-07-25 11:47:55 -07:00
Sam Lantinga 21692bc9a8 Cleaned up dummy evdev initialization 2023-07-25 10:44:40 -07:00
Sam Lantinga 3c8f4dca1d Make sure we don't touch the controller effects state when we're in auto mode for PS4/PS5 controllers. 2023-07-24 10:17:02 -07:00