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
Mykola Rubets
fc053fb499
Fix OpenFolder dialog behavior on Windows
2024-03-24 11:44:16 -07:00
Sam Lantinga
13933222ee
Fixed string comparison (thanks @meyraud705!)
2024-03-24 11:37:03 -07:00
SDL Wiki Bot
8f33f5cc33
Sync SDL3 wiki -> header
2024-03-24 18:34:24 +00:00
Anonymous Maarten
beb52ed54a
pen: remove stray '#include <stdio.h>'
2024-03-24 16:58:59 +01:00
Sam Lantinga
96fbd10de0
Added a script to trigger the release workflow
2024-03-24 07:22:58 -07:00
Sam Lantinga
36e73bdda4
Updated to version 3.1.0 for the preview release
2024-03-24 06:16:02 -07:00
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