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
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
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
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
Anonymous Maarten
beb52ed54a
pen: remove stray '#include <stdio.h>'
2024-03-24 16:58:59 +01:00
Sam Lantinga
36e73bdda4
Updated to version 3.1.0 for the 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
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
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
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
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
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
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
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
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