Sam Lantinga
a20eec1415
Tweaking documentation for the SDL 3.0 preview release
2024-03-24 06:16:02 -07:00
Frank Praznik
9e460ce6a6
wayland: Pass the keyboard ID through to repeat events
2024-03-24 08:49:29 -04:00
Christoph Reichenbach
0df0462d0a
Removed all tabs in testautomation_pen.c
2024-03-24 05:05:30 -07:00
Christoph Reichenbach
615c7efd98
Fix #9279 : Memory leak in pen name handling
...
- Fixes a leak in pen name allocation that would trigger
for both X11 and Wayland for some non-pen input devices
when new devices are added/removed.
- SDL_PenQuit() now deallocates and resets the table of known pens
- testautomation_pen.c now uses PenInit and PenQuit as setup and
teardown, respectively
testautomation_pen.c was already triggering the leak, and it is
visible with --trackmem, so no new tests are added.
2024-03-24 05:04:53 -07:00
Sam Lantinga
675c9f01ff
Renamed releaser.py to build-release.py
2024-03-23 16:56:26 -07:00
Sam Lantinga
c83d0d87c2
Revert "Added virtual keyboard support for Xbox (thanks @ts-13512)"
...
This reverts commit b5d4206b30
.
@nkrapivin already implemented GDK virtual keyboard support in https://github.com/libsdl-org/SDL/pull/7728
2024-03-23 16:47:59 -07:00
Anonymous Maarten
f030533580
SDL_blit: remove SDL_BLIT_CPU_FEATURES override
2024-03-23 16:36:44 -07:00
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