Hubert Maier
3acdb8a90b
JANITORIAL: Fix typos in comments in various files ( #10058 )
2024-06-19 07:13:46 -07:00
Sam Lantinga
361cae0874
Pass through the original name used by the Steam Virtual Gamepad
...
Proton uses this on Linux to determine what the XInput slot is for the gamepad. Other applications will get the real controller name and VID/PID by virtue of the code in SDL_steam_virtual_gamepad.c
2024-06-17 12:14:44 -07:00
Sam Lantinga
6821fb2fe4
Fixed the right trigger on the Nintendo SNES Controller in simple report mode
2024-06-13 11:35:29 -07:00
Sam Lantinga
a3cc900157
Fixed Nintendo Switch triggers when in simple report mode
2024-06-13 11:25:27 -07:00
Sam Lantinga
bf27269952
Re-enable full controller reports for Joy-Con controllers
...
When they are in simple report mode, the thumbstick gets turned into a digital hat, so let's use them in full report mode.
2024-06-12 23:36:16 -07:00
Sam Lantinga
6619de8f24
Try to guess the type of a Nintendo Switch controller if we can't read the device info
2024-06-12 23:22:44 -07:00
Sam Lantinga
5ee9a840b1
Ignore spurious reply packets when reading Nintendo Switch controller reports
2024-06-12 23:03:50 -07:00
Sam Lantinga
fcd2a3a6ad
Fixed mapping for Joy-Con controllers in simple report mode
2024-06-12 22:28:47 -07:00
Sam Lantinga
b2ccfc0b6f
Log whether a controller is Bluetooth or not
2024-06-12 17:22:52 -07:00
Sam Lantinga
3e70376bce
Enabled HIDAPI debug logging for diagnostic purposes
2024-06-12 15:03:41 -07:00
Anonymous Maarten
32907a9606
Rename SDL_Swap(16|32|64)(LE|BE) to SDL_Swap(LE|BE)(16|32|64)
2024-06-12 02:29:39 +02:00
Sam Lantinga
4fc68a48f2
Keep track of whether a controller was a gamepad
...
Fixes https://github.com/libsdl-org/SDL/issues/9996
2024-06-09 17:45:20 -07:00
Oleg
7529b4bed5
Added VRS DirectForce Pro wheelbase VID/PID to wheel devices list
2024-06-06 09:53:39 -07:00
Sam Lantinga
b6d7adfec1
Fixed PlayStation detection interrupting input for the Logitech K400 keyboard
...
Also added the Logitech Chillstream to the list of PS3 controllers and fixed the right shoulder axis.
2024-06-05 19:11:10 -07:00
Sam Lantinga
f879411627
Added support for gamepad rumble on Android
...
Tested with the DualSense controller over Bluetooth on Android 12
Fixes https://github.com/libsdl-org/SDL/issues/7847
2024-06-05 09:53:56 -07:00
Sam Lantinga
470cfc2755
Make sure we set the initial report interval value
2024-06-04 07:47:34 -07:00
meyraud705
4c9a91b62e
Update gamepad sensor rate
...
SDL_HINT_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL allows to change sensor rate. Make SDL_GetGamepadSensorDataRate() returns the updated value.
2024-06-04 07:38:48 -07:00
Anonymous Maarten
a919774fe4
Build with -Wfloat-conversion + fix all warnings
2024-06-03 21:33:29 +00:00
Ryan C. Gordon
e23257307e
Introduce formal policy for APIs that return strings.
...
This declares that any `const char *` returned from SDL is owned by SDL, and
promises to be valid _at least_ until the next time the event queue runs, or
SDL_Quit() is called, even if the thing that owns the string gets destroyed
or changed before then.
This is noted in the headers as "the SDL_GetStringRule", so this will both be
greppable to find a detailed explaination in docs/README-strings.md and
wikiheaders will automatically turn it into a link we can point at the
appropriate documentation.
Fixes #9902 .
(and several FIXMEs, both known and yet-undocumented.)
2024-06-03 14:20:49 -04:00
Sam Lantinga
b0e93e4e63
Prevent crashes if freed objects are passed to SDL API functions
...
Instead of using the magic tag in the object, we'll actually keep track of valid objects
Fixes https://github.com/libsdl-org/SDL/issues/9869
Fixes https://github.com/libsdl-org/SDL/issues/9235
2024-06-03 08:54:46 -07:00
Sam Lantinga
e3beaa1972
Added support for the Razer Kitsune in PS5 mode
2024-05-31 15:18:15 -07:00
Sam Lantinga
a3ab46b707
Fixed mapping the touchpad for the Qanba PS5 controllers like the Qanba Drone 2 Arcade Joystick
...
These controllers are autodetected by the HIDAPI driver, so SDL_GetGamepadTypeFromGUID() should be used to pull the gamepad type out of the GUID.
2024-05-23 16:48:04 -07:00
Sam Lantinga
98a9ca5e32
Added Linux bindings for the Qanba Drone 2 Arcade Joystick
2024-05-23 15:34:38 -07:00
Ryan C. Gordon
0ec716819e
thread: Reworked SDL_CreateThread to be consistent across platforms.
...
Also documented missing and weird bits, rename typedefs to fit SDL standards.
2024-05-22 11:39:43 -04:00
Sam Lantinga
f9260a8470
Added an entry for the 8Bitdo Ultimate Wired Controller
2024-05-20 16:44:45 -07:00
Sam Lantinga
c24f860c4d
Fixed warning C4244: '=': conversion from 'int' to 'Uint8', possible loss of data
2024-05-16 11:28:02 -07:00
Sam Lantinga
abfd0dc683
Added SDL_HINT_JOYSTICK_HIDAPI_PS4_REPORT_INTERVAL
2024-05-16 11:23:29 -07:00
Oleg
79cabeef18
Added Moza wheelbases VID/PID to wheel devices list
2024-05-15 19:37:30 -07:00
Oleg
dc9d9dd85a
Added Simucube wheelbases VID/PID to wheel devices list
2024-05-15 19:37:30 -07:00
Oleg
ce9177b64f
Added Cammus C5 wheelbase VID/PID to wheel devices list
2024-05-15 19:37:30 -07:00
Sam Lantinga
8582bdaab8
Fixed warning C4244: 'function': conversion from 'Uint16' to 'Uint8', possible loss of data
2024-05-10 16:09:11 -07:00
Sam Lantinga
a87fa020ac
Don't enable enhanced report mode for Bluetooth Nintendo Switch controllers by default
...
This breaks applications using them in DirectInput mode, which isn't worth just getting battery status. We'll turn on enhanced mode if the application enables sensors.
2024-05-10 12:17:28 -07:00
Sam Lantinga
c1ba31118b
Added ball, touchpad, and sensor support for virtual joysticks
...
Fixes https://github.com/libsdl-org/SDL/issues/9542
2024-05-09 18:25:22 -07:00
Sam Lantinga
bcbf09acde
Renamed SDL_AttachVirtualJoystickEx() to SDL_AttachVirtualJoystick()
...
The shorthand version of this function didn't allow specifying a controller name, which seems pretty important. It seems like anyone actually implementing a virtual joystick is going to want to use some of the extended functionality.
2024-05-09 14:05:58 -07:00
Ozkan Sezer
e909c0360f
remove most of SDL_OutOfMemory() calls where SDL is the allocator.
...
Since commit 447b508a77 , SDL_malloc,
SDL_calloc, and SDL_realloc already calls SDL_OutOfMemory().
2024-05-08 20:00:50 +03:00
Sam Lantinga
01d560df50
Added a Windows mapping for the SPEEDLINK STRIKE Gamepad
...
Fixes https://github.com/libsdl-org/SDL/issues/9705
2024-05-06 10:11:26 -07:00
Tyson Whitehead
0ab5a8a413
Initialize udev before joystick manual scan so class lookup works
...
LINUX_JoystickInit does a manual scan first so devices are sorted.
If SDL_UDEV_Init hasn't run by then, then the product info cannot
be looked up by SDL_UDEV_GetProductInfo and the initial-plugged-
in-device classification falls back to heuristic guessing.
(cherry picked from commit 0963c11af8 )
2024-04-26 12:16:24 -07:00
Sam Lantinga
ac5a61cd60
Fixed build error (thanks @sezero!)
2024-04-25 09:45:10 -07:00
Tyson Whitehead
391b8c0c07
Avoid opening non-joystick devices if possible to speedup scanning
...
Closing a device file takes 0.01 to 0.5s, which can add up to
significant startup delays. The udev classification does not
require opening the actual device files, so, use it if possible,
and only fall back to opening the device and probing otherwise.
(cherry picked from commit 45b804c158 )
2024-04-25 08:49:48 -07:00
yassineimounachen
5ffb2f47d1
Add USB IDs for the Thrustmaster TS-XW racing wheel
...
To be of use, this depends on https://github.com/berarma/oversteer/pull/200 and https://github.com/Kimplul/hid-tmff2/pull/94 .
2024-04-22 11:35:31 -07:00
Ryan C. Gordon
d252a8fe12
joystick: SDL_VirtualJoystickDesc no longer takes a struct version.
...
If we need to extend this in the future, we'll make a second struct and
a second SDL_AttachVirtualJoystickEx-style function that uses it.
Just zero the struct and don't set a version.
Fixes #9489 .
2024-04-13 14:16:12 -04:00
Sam Lantinga
85b7f131b0
Fixed warning C4701: potentially uninitialized local variable 'percent' used
2024-04-01 14:27:19 -07:00
Sam Lantinga
8847b35244
Separate joystick power state into battery status and percentage
...
This allows you to see battery percentage while the controller is charging
2024-04-01 13:59:00 -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
Alynne
2b4c75690c
Add Yawman Arrow flightstick controller
2024-03-25 06:34:54 -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
2fe1a6a279
Initial support for hotplugging mice and keyboards
2024-03-23 16:31:00 -07:00