Commit Graph

15276 Commits (650d3b44e10e654770f9c938650acb0011c60f74)

Author SHA1 Message Date
Sam Lantinga c8489a3710 Disable XInput2 keyboard events
It turns out they're only delivered to the window with mouse focus, not keyboard focus.

Fixes https://github.com/libsdl-org/SDL/issues/9374
2024-03-28 08:50:47 -07:00
danginsburg fb5307c1b3 Vulkan Renderer - fix synchronization validation issues with testrendertarget and testcopyex. When a texture is destroyed, VULKAN_IssueBatch is called to make sure the texture isn't referenced in any outstanding command work. This path did not wait on the semaphore from vkAcquireNextImageKHR, which would create a hazard. 2024-03-28 07:37:49 -07:00
Ryan C. Gordon 0d007bbb01
psp: Fixed building with pspdev when not using CMake.
(psp-cmake defines `__PSP__` on the command line, but the compiler itself
only defines `__psp__` and some variations.

Fixes #9378.
2024-03-28 09:27:21 -04:00
Ryan C. Gordon ad92c9e300
README-main-functions.md: Added notes about the new `appstate` parameter. 2024-03-27 23:04:36 -04:00
Sam Lantinga 7a9f99cff3 Corrected migration documentation for SDL_GetDisplayDPI()
Fixes https://github.com/libsdl-org/SDL/issues/9386
2024-03-27 18:27:57 -07:00
Ryan C. Gordon d00ccc1546
audio: Fix audio stream incorrectly not unlocking during unbind.
(This patch was from @0x1F9F1, thanks!)

Fixes #9379.
2024-03-27 17:36:26 -04:00
Ryan C. Gordon 38e3c6a4aa
main: Add an optional `appstate` param to main callback entry points.
This allows apps to maintain state data without using global variables.

Fixes #9377.
2024-03-27 17:22:08 -04:00
Sam Lantinga a9dbdb1947 Removed SDL_RenderSetIntegerScale() renaming note
Fixes https://github.com/libsdl-org/SDL/issues/9384
2024-03-27 12:47:23 -07:00
Sam Lantinga cde2dcd0d4 Note that SDL_EVENT_SYSWM has been removed
Fixes https://github.com/libsdl-org/SDL/issues/9382
2024-03-27 11:39:10 -07:00
SDL Wiki Bot 05b3605a41 Sync SDL3 wiki -> header 2024-03-27 18:02:23 +00:00
Frank Praznik 5abcfad352 video: Document that renderer lifetimes are tied to their associated windows 2024-03-27 11:01:41 -07:00
Sam Lantinga 02c63667c7 Only clear the raw input queue status if we don't call GetRawInputBuffer()
GetRawInputBuffer() will do that for us when we read all the queued events
2024-03-26 15:27:57 -07:00
Sam Lantinga d6fc629b5b Fixed Windows rawinput crash
RAWINPUT structures are variable size
2024-03-26 15:27:57 -07:00
Frank Praznik a7df28201b Revert "testautomation: fix renderer leak in video tests"
This reverts commit 2f13f66c71.

Not needed if renderers are once again implicitly cleaned up when their associated windows are destroyed.
2024-03-26 13:10:14 -07:00
Frank Praznik 8f14fa1113 video: Destroy the associated renderer when a window is destroyed
This was previous behavior that used window userdata and was lost during the move to properties.  Renderer objects need to be cleaned up when their associated windows are destroyed, or they can be leaked and backend refcounts won't be properly updated, leading to them not being properly shut down when SDL_Quit() is called.
2024-03-26 13:10:14 -07:00
Sam Lantinga f0cd3ed330 x11: don't send raw mouse motion when the application doesn't have focus 2024-03-26 13:10:54 -07:00
Sam Lantinga c47f9b9b54 x11: fixed mouse and keyboard input when XInput2 isn't available 2024-03-26 13:01:00 -07:00
Sam Lantinga fed5f3a81b We no longer automatically set up a logical presentation mode 2024-03-26 10:40:40 -07:00
Sam Lantinga 823ab13b9c SDL_CreateTexture() takes a SDL_PixelFormatEnum format parameter 2024-03-26 10:40:40 -07:00
Sam Lantinga 35785d1354 SDL_CreateWindowTexture() shouldn't use 10-bit or float textures 2024-03-26 10:40:40 -07:00
Sam Lantinga 696ecca499 Fixed SDL_MapRGB(), SDL_MapRGBA(), SDL_GetRGB() and SDL_GetRGBA() when used with 10-bit pixel formats
Fixes https://github.com/libsdl-org/SDL/issues/9367
2024-03-26 10:40:40 -07:00
Sam Lantinga 3eb8f35f3b windows: handle the Pause key sequence for raw keyboard input 2024-03-26 09:22:00 -07:00
Daniel Ludwig 4562b41a4d VisualC-GDK: Add missing dialog sources, fix Xbox builds 2024-03-26 07:28:22 -07:00
Ozkan Sezer 693c75e36e SDL_x11events.c: fix build if Xinput2 is not available after 3dfc3b4c8 2024-03-26 11:56:02 +03:00
Ozkan Sezer 0556362c38 SDL_windowsevents.c: comment out unused local mouse var after 70b5cd44 2024-03-26 11:47:32 +03:00
Sam Lantinga 70b5cd44ec windows: explicitly check whether raw_mouse_enabled is true before handling Windows mouse messages 2024-03-25 20:49:16 -07:00
Sam Lantinga 3dfc3b4c8d x11: added hotplug support for XInput2 devices 2024-03-25 20:41:05 -07:00
Sam Lantinga f1f24b173c Added support for multiple distinct keyboards 2024-03-25 20:41:05 -07:00
Sam Lantinga 78c7834f90 Added SDL_HINT_WINDOWS_RAW_KEYBOARD to control whether raw keyboard is enabled on Windows 2024-03-25 20:41:05 -07:00
Mark Delk 9095cb64c4 linux/SDL_system_theme.c: fix an include path 2024-03-25 17:07:27 -07:00
Anonymous Maarten a65982e15d testevdev: include SDL_internal.h first, and fixup SDL_main.h 2024-03-26 00:10:40 +01:00
Frank Praznik ffc3f71aa2 wayland: Use the floating width/height for initial window creation
The dimensions for fixed-size state set via window flags will be applied later in the window creation process.

Restores the window to the proper windowed size when leaving fullscreen.
2024-03-25 18:54:27 -04:00
Sam Lantinga b9a88bbecb Removed SDL_TextInputShown()
This was only implemented on Windows and often confused with SDL_ScreenKeyboardShown()
2024-03-25 13:26:23 -07:00
Sam Lantinga 6443c75eda Removed SDL_TEXTINPUTEVENT_TEXT_SIZE 2024-03-25 13:26:23 -07:00
Sam Lantinga fa236f169b Only do work to process text events if text input is active
Fixes https://github.com/libsdl-org/SDL/issues/9353
2024-03-25 13:26:23 -07:00
Sam Lantinga 658f3cdcf1 x11: use XInput2 for lower level access to keyboard events 2024-03-25 13:26:23 -07:00
Sam Lantinga 012fc1e32b windows: enable raw keyboard input when raw mouse input is enabled 2024-03-25 13:26:23 -07:00
Sam Lantinga 35d335e61f Fixed warning C4267: 'function': conversion from 'size_t' to 'DWORD', possible loss of data 2024-03-25 11:46:47 -07:00
Sam Lantinga 43b8e9f681 Fixed spacing 2024-03-25 11:41:51 -07:00
Sam Lantinga 5e8486bb29 Don't fail joystick initialization if udev isn't available 2024-03-25 11:29:18 -07:00
Ozkan Sezer 5a1c48be5c remove non-existent vulkan.hpp and vulkan_mir.h from Xcode project 2024-03-25 21:23:32 +03:00
Anonymous Maarten 58f2e102a9 visualc: filters also contained 2 wrong include headers 2024-03-25 18:02:05 +01:00
Anonymous Maarten c7d32ff64b visualc: rename/remove 2 include paths 2024-03-25 17:10:31 +01:00
Sam Lantinga 977285ef6a Send joystick added events on portable handheld platforms
The IDs on these drivers are hard-coded as device_index + 1, so that's the ID we will send during initialization.
2024-03-25 07:14:00 -07:00
Sam Lantinga b391e6477e The joystick instance ID is already set in the open call 2024-03-25 06:57:02 -07:00
Sam Lantinga 07c49d1a67 Fixed text input being active after SDL_StopTextInput() (thanks @AntTheAlchemist!) 2024-03-25 06:46:23 -07:00
Tyson Whitehead 53ade19430 udev: Fix O(n^2) device walking issue (closes #9092)
I believe there was a O(n^2) device walking issues on startup

- MaybeAddDevice gets called for every device at startup
- MaybeAddDevice calls IsJoystick
- IsJoystick calls SDL_UDEV_GetProductInfo
- SDL_UDEV_GetProductInfo calls udev_enumerate_scan_devices
- udev_enumerate_scan_devices walks all the devices

Prior to commit 3b1e0e1 this was mostly masked as IsJoystick only
called SDL_UDEV_GetProductInfo when a JSIOCGNAME ioctl was
successful. This fixes the O(n^2) behaviour by directly getting
the device via udev_device_new_from_devnum (based on type, major,
and minor number) instead of enumerating everything via
udev_enumerate_scan_devices and matching on name.
2024-03-25 06:45:01 -07:00
Alynne 2b4c75690c Add Yawman Arrow flightstick controller 2024-03-25 06:34:54 -07:00
Cameron Gutman f14fb979c1 Remove legacy SDL2 input grab API 2024-03-24 16:53:23 -07:00
Anonymous Maarten cf3cf0e106 dmg: fix SDL_version.h issue in sdl3-config-version.cmake 2024-03-24 20:15:42 +01:00