Sam Lantinga
ea60da5b94
Fixed mapping BTN_TR2 to right trigger
2023-07-08 18:18:22 -07:00
Sam Lantinga
cd97e3a833
Fixed clang Windows build
2023-07-08 14:10:08 -07:00
Sam Lantinga
a29aac603b
Quiet warning when using older buggy WGI headers
2023-07-08 13:28:22 -07:00
Sam Lantinga
7d894dc1c9
Fixed build warnings
2023-07-08 11:16:40 -07:00
Sam Lantinga
f047e178b6
Added WGI gamepad added/removed listeners for RAWINPUT
...
This fixes WGI correlation on startup when the WGI gamepad list isn't populated yet
2023-07-08 10:24:00 -07:00
Sam Lantinga
3a654b4b1c
Added the hint SDL_HINT_JOYSTICK_WGI to control whether to use Windows.Gaming.Input for controllers
2023-07-08 09:32:24 -07:00
Mathieu Eyraud
a4f3905bb6
Fix uninitialised variable
2023-07-08 08:36:36 -07:00
Sam Lantinga
efed24850a
Don't tickle Bluetooth PS4 controllers in simple mode with an effects packet
...
That will put the PS4 controller into enhanced mode, which breaks DirectInput games
2023-07-07 15:56:54 -07:00
Sam Lantinga
785f57eb91
Lazily initialize the WGI gamepad support
...
Initializing "Windows.Gaming.Input.Gamepad" will put Bluetooth PS4 controllers into enhanced report mode, which breaks any game using DirectInput. Let's wait to do this until absolutely necessary.
2023-07-07 15:56:54 -07:00
Mathieu Eyraud
bcf239e413
Improve sensor detection for Linux gamepad v2
...
Detecting by name such as "Accelerometer and "Motion Sensor" may be too broad.
Sensors on Dualshock and Switch gamepad are correctly detected by SDL_EVDEV_GuessDeviceClass().
Use vendor and product ID for Wii extension controls.
2023-07-07 10:57:45 -07:00
Sam Lantinga
ed6dc1cc05
Prefer using XInput for rumble over WGI, as it allows rumble in the background
...
(cherry picked from commit e16a83d393 )
2023-07-07 09:48:58 -07:00
Sam Lantinga
9f19b2bd97
Continue running XInput detection while RAWINPUT is active
...
This allows us to re-enable XInput correlation for RAWINPUT devices without reintroducing the controller shutdown bug for controllers using the wireless adapter in https://github.com/libsdl-org/SDL/issues/3468 .
Fixes https://github.com/libsdl-org/SDL/issues/7940
(cherry picked from commit a0a3957eb6 )
2023-07-07 09:48:58 -07:00
luzpaz
37e567994d
Fix remaining typos ( #7921 )
...
* Fix remaining typos
Found via `codespell -q 3 -S *.hex,*.pdf,./src/libm,./src/hidapi,./src/stdlib/SDL_malloc.c,./src/video/x11/edid.h -L caf,currenty,datas,einstance,fo,hda,lod,mata,parm,parms,pevent,pevents,pixelx,requestor,ser,statics,te,texturers,thid,uscaled,windowz`
2023-07-03 12:46:47 -07:00
Sam Lantinga
69c7a49990
Fixed build warnings
2023-06-29 22:15:23 -07:00
Sam Lantinga
675fc8c38f
Added Linux mapping for the Logitech Chillstream
...
Fixes https://github.com/libsdl-org/SDL/issues/7829
2023-06-29 16:10:55 -07:00
Sam Lantinga
ba9e924e57
Added additional debug logging for Linux joysticks
2023-06-29 16:09:55 -07:00
Sam Lantinga
baa9c57581
Added support for the Nintendo Online Famicom controllers
2023-06-28 19:15:43 -07:00
Sam Lantinga
9ee1200e6f
Fixed Nintendo Switch Pro controllers that don't have readable user calibration
2023-06-27 07:48:42 -07:00
Narr the Reg
425062c123
hidapi: switch: Handle MCU input reports
2023-06-26 10:01:49 -07:00
Ozkan Sezer
02398a8f11
Allow building against old Linux kernels.
2023-06-26 18:01:50 +03:00
Sam Lantinga
fd062657dd
Fixed build
2023-06-26 07:43:44 -07:00
meyraud705
6cc21af900
Don't keep sensor file open while sensors are disabled
2023-06-26 07:32:40 -07:00
meyraud705
9cfac88054
Improve sensor detection for Linux gamepad
2023-06-26 07:32:40 -07:00
meyraud705
000277060c
Add support for sensor to joystick on Linux (evdev)
2023-06-26 07:32:40 -07:00
Sam Lantinga
87e916dd21
SDL_FindFreePlayerIndex() will always return the next available player index
...
Fixes https://github.com/libsdl-org/SDL/issues/7868
2023-06-24 15:38:38 -07:00
Sam Lantinga
267fdd7daa
Removed Bluetooth connection detection now that we get it from hidapi
2023-06-23 15:50:07 -07:00
Sam Lantinga
44bae1e8a9
Corrected the Victrix FS Pro as a PS4 controller instead of a PS3 controller
2023-06-23 14:27:21 -07:00
Sylvain
6f344f29b8
After using SDL_qsort, mark sort_entries() as SDLCALL
2023-06-23 12:52:05 +02:00
Sylvain
6cde3835f0
Remove some use of C runtime functions (strlen, qsort)
2023-06-23 10:51:15 +02:00
Sam Lantinga
a807b14957
Greatly improved Xbox One controller initialization sequence
2023-06-22 17:15:35 -07:00
Sam Lantinga
8aee6908bb
Make sure we send update complete events for delayed guide buttons
2023-06-21 18:42:25 -07:00
Sam Lantinga
4c9fb3e169
Added the events SDL_EVENT_JOYSTICK_UPDATE_COMPLETE and SDL_EVENT_GAMEPAD_UPDATE_COMPLETE
...
This allows the application to tell when a joystick polling cycle is complete and can process state changes as a single atomic update. It is disabled by default, at least for now.
2023-06-21 13:59:53 -07:00
Sam Lantinga
214d5daa3c
Removed 100 ms hitch when querying third party Nintendo Switch controllers that don't respond to request for info
...
Also take advantage of the fact that we know whether the device is connected over Bluetooth now.
2023-06-21 12:14:50 -07:00
Sam Lantinga
3694dabe7c
Use default sensor calibration if we can't read it from the Nintendo Switch controller
...
Fixes https://github.com/libsdl-org/SDL/issues/7830
2023-06-21 10:28:45 -07:00
Sam Lantinga
5f3213eb0e
Added support for gamepad sensor fusion with the Razer Kishi
2023-06-20 08:41:15 -07:00
Sam Lantinga
1a9c04e9f1
Don't try to update the gamepad fusion sensors manually, instead rely on the normal update flow
2023-06-19 19:41:20 -07:00
Sam Lantinga
20ea35138f
Use a separate sensor watching function for gamepad events to avoid reliance on system sensor events and prevent a potential deadlock
2023-06-19 16:17:34 -07:00
Sam Lantinga
f168f9c813
Added support for the GameSir G4 Pro
...
We can't read device info or IMU calibration from this controller, and it has no gyro or accelerometer, but is otherwise perfectly functional.
2023-06-17 12:42:55 -07:00
Sam Lantinga
9fe384b696
Fixed display orientation function names for SDL 3.0 convention
2023-06-17 09:28:27 -07:00
Sam Lantinga
d91e96e7f5
Use SDL_HINT_GAMECONTROLLER_SENSOR_FUSION as a list of controllers to enable sensor fusion
...
There are too many wraparound style controllers out there to enumerate them all, so instead make this a user option in applications that support it.
2023-06-17 08:59:52 -07:00
Sam Lantinga
610c31c7b7
Generalized the sensor coordinate transform for wraparound gamepads
2023-06-17 08:28:37 -07:00
Sam Lantinga
9eb5eab0ad
Use the correct orientation transformation based on whether the device is naturally landscape or portrait
2023-06-17 08:04:34 -07:00
Sam Lantinga
8de6ce7e92
Rotate the sensor axes to match gamepad orientation when using the device sensors for game controllers
2023-06-16 17:48:34 -07:00
Sam Lantinga
a9c86e518a
Added the Razer Edge controller to the list of wraparound controllers
2023-06-16 17:48:18 -07:00
Sam Lantinga
c207cd3f56
Added the Razer Junglecat to the wraparound controller list
2023-06-16 16:04:12 -07:00
Sam Lantinga
42e4639a5e
For gamepads that don't have their own sensors, try to use the system sensors.
...
This allows using the gyro and accelerometer in handheld devices in conjunction with built-in or wraparound controllers.
2023-06-16 14:44:59 -07:00
Simon McVittie
0d5aa70e62
linux: Pass evdev properties when guessing device type
...
In newer kernels, devices that can be positively identified as a
particular device type (for example accelerometers) get a property
bit set. Plumb this information through into the function, but don't
use it for anything just yet.
Signed-off-by: Simon McVittie <smcv@collabora.com >
2023-06-16 08:54:41 -07:00
Sam Lantinga
73927b0948
Removed unused function
2023-06-14 15:16:21 -07:00
Sam Lantinga
0c16f4faf0
Fixed third-party Nintendo Switch Pro controllers shutting down when we try to set the home LED.
...
This fixes the PDP Afterglow Wireless Deluxe Controller.
2023-06-14 10:15:06 -07:00
Sam Lantinga
23e007d3b7
Fixed third party Nintendo Switch Pro Controller resetting when being sent an unsupported command to set the Home LED
...
Tested with the PowerA Fusion Pro Wireless Controller in Bluetooth mode
2023-06-14 00:02:32 -07:00