Anonymous Maarten
1aa9ef7213
cpuinfo: reset cpu features on SDL_Quit
2024-03-23 16:36:44 -07:00
Anonymous Maarten
64465653b4
audio: always build fallback scalar converters
2024-03-23 16:36:44 -07:00
Anonymous Maarten
89b135e570
cmake: add automation and platform test without simd
2024-03-23 16:36:44 -07:00
Anonymous Maarten
1d0e5286aa
Limit CPU features through a hint
2024-03-23 16:36:44 -07:00
Sam Lantinga
b5d4206b30
Added virtual keyboard support for Xbox (thanks @ts-13512)
2024-03-23 16:34:43 -07:00
SDL Wiki Bot
675216e81b
Sync SDL3 wiki -> header
2024-03-23 23:32:24 +00:00
Sylvain
1855ce68af
Fix bug #9331 - SDL3 Android crash getVibrator() == null
2024-03-23 16:31:21 -07:00
Sam Lantinga
208cd434b5
Show the names of mice and keyboards when they connect
2024-03-23 16:31:00 -07:00
Sam Lantinga
7852a6c307
Added device name for evdev mice and keyboards
2024-03-23 16:31:00 -07:00
Frank Praznik
87714ce5b9
wayland: Set the keyboard and mouse names to match XWayland
2024-03-23 16:31:00 -07:00
Sam Lantinga
72fc6f86e5
Text input is no longer automatically enabled when initializing video.
...
Fixes https://github.com/libsdl-org/SDL/issues/9309
Fixes https://github.com/libsdl-org/SDL/issues/9268
2024-03-23 16:31:00 -07:00
Sam Lantinga
6604d423fd
Added a test program for multiple mice
2024-03-23 16:31:00 -07:00
Sam Lantinga
361b7190df
Track unique button states between different mice
...
We were already halfway doing this, but now we make that information available to the Windows driver so it can cache the button state per-mouse
2024-03-23 16:31:00 -07:00
Sam Lantinga
35756593d6
Use the correct device ID (global or default or specific) based on context
2024-03-23 16:31:00 -07:00
Sam Lantinga
9eb87ca325
Note that many things are considered mice and keyboards that you might not expect
2024-03-23 16:31:00 -07:00
Sam Lantinga
c0f4565552
Added SDL_GetKeyboardName() and SDL_GetMouseName()
2024-03-23 16:31:00 -07:00
Sam Lantinga
20a860c876
Use the specific pointer device ID for X11 button and motion events
2024-03-23 16:31:00 -07:00
Sam Lantinga
476245564c
Use the real device IDs for the X11 master keyboard and pointer
...
These always exist so they don't really help detect whether a keyboard/mouse is attached. Looking at the slave devices isn't that helpful either, as they're very permissive in what they might send.
For example, on my system with a single mouse and keyboard attached, xinput -list shows:
Virtual core pointer id=2 [master pointer (3)]
- Virtual core XTEST pointer id=4 [slave pointer (2)]
- Generic USB Mouse id=10 [slave pointer (2)]
- Generic USB Consumer Control id=11 [slave pointer (2)]
- KINESIS CORPORATION KB800HM Kinesis Freestyle2 for Mac id=18 [slave pointer (2)]
- Logitech Gaming Mouse G502 Consumer Control id=15 [slave pointer (2)]
- Logitech Gaming Mouse G502 id=17 [slave pointer (2)]
Virtual core keyboard id=3 [master keyboard (2)]
- Virtual core XTEST keyboard id=5 [slave keyboard (3)]
- Power Button id=6 [slave keyboard (3)]
- Power Button id=7 [slave keyboard (3)]
- Sleep Button id=8 [slave keyboard (3)]
- Generic USB id=9 [slave keyboard (3)]
- Generic USB System Control id=12 [slave keyboard (3)]
- Generic USB Consumer Control id=19 [slave keyboard (3)]
- KINESIS CORPORATION KB800HM Kinesis Freestyle2 for Mac id=20 [slave keyboard (3)]
- KINESIS CORPORATION KB800HM Kinesis Freestyle2 for Mac id=21 [slave keyboard (3)]
- Logitech Gaming Mouse G502 Keyboard id=13 [slave keyboard (3)]
- Logitech Gaming Mouse G502 System Control id=14 [slave keyboard (3)]
- Logitech Gaming Mouse G502 Consumer Control id=16 [slave keyboard (3)]
2024-03-23 16:31:00 -07:00
Sam Lantinga
d1eb4adb16
Be explicit about the event mouse and keyboard ID
2024-03-23 16:31:00 -07:00
Frank Praznik
1c54455353
wayland: Send keyboard and mouse added/removed events
...
Send keyboard and mouse added/removed events when seat capabilities change. Note that Wayland only supports one global keyboard and mouse object per seat, so events coming from different keyboards and mice on the same seat can't be distinguished.
2024-03-23 16:31:00 -07:00
Sam Lantinga
2fe1a6a279
Initial support for hotplugging mice and keyboards
2024-03-23 16:31:00 -07:00
Sam Lantinga
c33e4c998d
Clear the subsystem ref count when shutting down subsystems in the main quit
...
This prevents dependent subsystems from being deinitialized multiple times
2024-03-23 16:31:00 -07:00
Sam Lantinga
171ff041d0
Removed invalid ascii from headers
2024-03-23 16:31:00 -07:00
Anonymous Maarten
e19b6c0b95
Add releaser script + workflow
2024-03-23 21:41:23 +01:00
Anonymous Maarten
c81d11fae4
mingw: add pkg-support files (INSTALL.txt and Makefile)
2024-03-23 21:41:20 +01:00
Anonymous Maarten
4defea47e1
dmg: fix sdl3-config.cmake
2024-03-23 21:41:20 +01:00
Anonymous Maarten
2ed0143425
visualc: fix sdl3-config.cmake
2024-03-23 21:41:20 +01:00
Anonymous Maarten
75a71bde4b
cmake: build tests against installed SDL prefix
2024-03-23 21:41:20 +01:00
Anonymous Maarten
7f888f98f7
gles2: only build tests when building SDL3 or when the headers are available
2024-03-23 21:41:20 +01:00
Frank Praznik
297f8e41af
wayland: Factor out the general SHM buffer allocation/free functions from the cursor code
...
It will be necessary for a forthcoming toplevel icon setting protocol that will likely soon call for implementations, and is cleaner in general.
2024-03-23 14:17:13 -04:00
Sam Lantinga
3d96c2426f
PSP: improve performance counter res to us granularity (thanks @rofl0r!)
2024-03-23 09:34:07 -07:00
Anonymous Maarten
c493b40cc3
testffmpeg_vulkan: fix -Wincompatible-pointer-types warning
...
```
[1/1] Building C object test/CMakeFiles/testffmpeg.dir/testffmpeg_vulkan.c.o
/src/SDL/test/testffmpeg_vulkan.c: In function ‘BeginVulkanFrameRendering’:
/src/SDL/test/testffmpeg_vulkan.c:787:20: warning: passing argument 1 of ‘vk->lock_frame’ from incompatible pointer type [-Wincompatible-pointer-types]
787 | vk->lock_frame(frames, pVkFrame);
| ^~~~~~
| |
| AVHWFramesContext *
/src/SDL/test/testffmpeg_vulkan.c:787:20: note: expected ‘struct AVHWFramesContext *’ but argument is of type ‘AVHWFramesContext *’
/src/SDL/test/testffmpeg_vulkan.c: In function ‘FinishVulkanFrameRendering’:
/src/SDL/test/testffmpeg_vulkan.c:885:22: warning: passing argument 1 of ‘vk->unlock_frame’ from incompatible pointer type [-Wincompatible-pointer-types]
885 | vk->unlock_frame(frames, pVkFrame);
| ^~~~~~
| |
| AVHWFramesContext *
/src/SDL/test/testffmpeg_vulkan.c:885:22: note: expected ‘struct AVHWFramesContext *’ but argument is of type ‘AVHWFramesContext *’
```
2024-03-22 11:05:13 -07:00
Marcel Hild
67e425bcf8
Add support for MadCatz Saitek Side Panel Control Deck
...
Signed-off-by: Marcel Hild <hild@b4mad.net>
2024-03-22 09:15:39 -07:00
Sam Lantinga
05b57f6c2c
Simplified SDL_SYS_RemovePath()
...
If we get ENOENT we call that success. If the parent directory doesn't exist, that's fine, other operations on it will fail if it matters to the application.
2024-03-21 21:16:14 -07:00
Anonymous Maarten
2521ba47fe
jack: set error message when failing to open jack client
2024-03-22 01:22:39 +01:00
Mark Delk
dd4636e3fd
SDL_sysmutex.c: fix void return compile error
2024-03-21 13:25:01 -07:00
Sam Lantinga
917d683811
Moved SDL_JoyBallEvent together with the other joystick events
2024-03-21 12:51:59 -07:00
Ozkan Sezer
888cc29df6
add missing `reserved` field to struct SDL_JoyBallEvent,
...
Fixes https://github.com/libsdl-org/SDL/issues/9327
2024-03-21 20:10:50 +03:00
Sam Lantinga
70b0d33106
Poll for the initial controller state when using DirectInput
...
This fixes getting a deflected axis as the first buffered input reading on a generic USB controller (G-Shark GS-GP702)
2024-03-20 10:45:11 -07:00
Frank Praznik
4a7e3beeb9
filesystem: Use high-res file times on more platforms
...
Some POSIX platforms don't define macros to note the presence of the POSIX.1-2008 st_*tim timespec members of the stat struct, so check if this member exists during CMake configuration and conditionally enable it.
Apple platforms use st_*timespec naming, which is supported as of OSX 10.6. SDL3 requires 10.9+, so no fallback is needed.
Android only supports the POSIX.1-2008 semantics as of API version 26 or higher, so this has to be conditionally enabled in the makefile build via an API version definition check.
In other cases, file times fall back to the legacy path with second precision.
2024-03-20 11:39:42 -04:00
Sam Lantinga
18feaa52dd
Fixed comment at the top of testtime.c
2024-03-19 17:09:08 -07:00
Sam Lantinga
e0ef4dac85
Fixed int to float conversion warnings
2024-03-19 17:07:52 -07:00
Sam Lantinga
3316587113
Fixed warning C4389: '==': signed/unsigned mismatch
2024-03-19 17:04:29 -07:00
Sam Lantinga
da027ec3ee
Fixed signed/unsigned comparison warning
2024-03-19 17:00:46 -07:00
Pierre Wendling
390fff4ae0
N3DS: Fix locale name and early return.
...
- The name for simplified Chinese should be `zh_CN`.
- Ensure `cfguExit` is called even if `CFGU_GetSystemLanguage` failed.
2024-03-19 16:54:07 -07:00
Pierre Wendling
8f529d9d16
N3DS: Implement SDL_GetSystemTimeLocalePreferences
...
The formats are deduced based on the system's current language and region.
2024-03-19 16:52:56 -07:00
Sam Lantinga
ed5d2bdda5
Fixed adding duplicate fsops files to CMakeLists.txt
2024-03-19 16:20:55 -07:00
Sam Lantinga
478b965e6c
Fixed warning C4702: unreachable code
...
Also switched SDL_IOFromFile() to use SDL_InvalidParamError()
2024-03-19 16:02:54 -07:00
Sam Lantinga
b1215272ad
Fixed warning C4244: '=': conversion from '__int64' to 'int', possible loss of data
2024-03-19 16:02:37 -07:00
Sam Lantinga
2265d22f75
Updated Xcode project for time APIs
2024-03-19 14:53:55 -07:00