Sam Lantinga
1db7d33dc4
Recover from Bluetooth devices temporarily out of range
2022-08-09 17:04:26 -07:00
Sam Lantinga
6d012b2a5d
Better fix for rescanning devices after read failure
2022-08-09 16:54:11 -07:00
Sam Lantinga
483a010f0c
Fixed accidentally deadlocking the rumble thread with combined Joy-Cons
...
Also added more accurate check for sensor data. At least one axis will always have acceleration because of gravity.
2022-08-09 15:39:39 -07:00
Sam Lantinga
5d63a3d435
Re-enumerate devices if a read fails
...
This allows combined Joy-Con devices to immediately separate if one of them is disconnected
2022-08-09 14:06:49 -07:00
Sam Lantinga
da50f1bd3e
Bluetooth devices can recover from over a second of dropped reports
2022-08-09 14:05:43 -07:00
Sam Lantinga
824f2d4650
Added a second hint SDL_HINT_JOYSTICK_HIDAPI_JOYCON_HOME_LED to control the Home button LED on Nintendo Joy-Con controllers separately from Nintendo Switch Pro controllers
2022-08-09 13:41:58 -07:00
Sam Lantinga
8aa6922fec
Fixed detecting Bluetooth disconnection on Nintendo Switch controllers
2022-08-09 13:26:10 -07:00
Ryan C. Gordon
a346c4bbef
egl: Add support for SDL_GL_FLOATBUFFERS.
...
Fixes #6001 .
2022-08-09 15:41:02 -04:00
Sam Lantinga
201484ff6f
Don't duplicate the serial number twice if a child doesn't set one
2022-08-09 09:03:28 -07:00
Sam Lantinga
d90c0d41cc
Include the child serial numbers in the serial number for a HIDAPI combined device
2022-08-09 09:00:56 -07:00
Ryan C. Gordon
b599205d0c
x11: Don't look up xinput2 devices unless we're in relative mode.
2022-08-09 09:50:55 -04:00
Ryan C. Gordon
2dd7659884
test: Fixed wrong arguments to SDL_SetWindowFullscreen.
2022-08-09 09:29:30 -04:00
Sam Lantinga
55882e43c4
Fixed invalid read when SDL_GameControllerSetPlayerIndex() is passed a negative player_index
2022-08-09 00:19:02 -07:00
Sam Lantinga
df537a7c0e
SDL_GameControllerSetPlayerIndex(gamecontroller, -1) means turn off the player LED if possible
2022-08-09 00:18:19 -07:00
Sam Lantinga
5545be8530
The player LED index wraps for PS5 controllers, like it does for other controller types
2022-08-08 23:44:50 -07:00
Sam Lantinga
593d20d9cc
Removed debug logging
2022-08-08 20:11:43 -07:00
Sam Lantinga
6204ae5002
Restart the IMU if the controller stops sending gyro/accel data
2022-08-08 20:10:12 -07:00
Ryan C. Gordon
56c1481cab
cocoa: Don't mark fullscreen-desktop windows as non-resizable.
...
Otherwise, we can't tile SDL apps in Spaces.
Fixes #4883 .
2022-08-08 20:35:11 -04:00
Sam Lantinga
d58bec72a0
Fixed Joy-Con gyro axes in mini-gamepad mode
2022-08-08 17:19:33 -07:00
Shawn Hoffman
5aa438e80a
WGI: fix interop with applications that have their own WGI code
...
QI for Added/Removed events need to handle IAgileObject
2022-08-08 15:53:57 -07:00
Sam Lantinga
ada55c690d
Fixed Joy-Con type detection for the Nintendo Joy-Con Charging Grip
2022-08-08 15:38:19 -07:00
Sam Lantinga
a547c185ce
Fixed crash if uevent info isn't available
2022-08-08 12:21:40 -07:00
Sam Lantinga
7530bd74b3
Fix right, bottom computation in SDL_GetClosestPointOnRect
which should be exclusive, not inclusive
2022-08-08 11:26:55 -07:00
Sam Lantinga
98bac00dcc
Add SDL_GetPointDisplayIndex
and SDL_GetRectDisplayIndex
and re-implement SDL_GetWindowDisplayIndex
in terms of SDL_GetRectDisplayIndex
...
- This allows looking up the display index for an arbitrary location rather than requiring an active window to do so.
- This change also reimplements the fallback display lookup that found the display with center closest to the window's center to instead find the display rect edge
closest to the window center (this was done in the almost identical display lookup used in SDL_windowsmodes.c, which now uses `SDL_GetPointDisplayIndex`). In
practice this should almost never be hit as it requires the window's center to not be enclosed by any display rect.
2022-08-08 11:26:52 -07:00
Francisco Javier Trujillo Mata
20f9a1b8a4
Implement SetTextureScaleMode
2022-08-08 09:34:08 -07:00
Sam Lantinga
47ebf0087a
Fixed shadow variable warning
2022-08-08 08:36:17 -07:00
Francisco Javier Trujillo Mata
d355ea9981
Add a way to avoid IOP reset
2022-08-08 08:32:38 -07:00
Francisco Javier Trujillo Mata
c5fe234d53
Improve SDL main adding usb drivers
2022-08-08 08:32:38 -07:00
Francisco Javier Trujillo Mata
0a307628e6
Fix wrong mapping in some ps2 controller keys
2022-08-08 08:32:11 -07:00
Adam Butcher
0bcbdfe2bd
video: dummy: Support evdev psuedo-device with no video.
2022-08-08 08:31:04 -07:00
Sam Lantinga
8f05b4f833
Fixed iOS/tvOS build
2022-08-08 08:26:21 -07:00
Sam Lantinga
878259722f
Added SDL_GameControllerType enumeration for Nintendo Switch Joy-Con controllers
2022-08-08 08:22:20 -07:00
Sam Lantinga
4f19421ed8
Fixed build
2022-08-07 20:17:40 -07:00
Sam Lantinga
29265d0738
Use SDL_GetStringBoolean() to parse the hint value
2022-08-07 18:49:30 -07:00
Adam Butcher
8f5932dc2e
evdev: Support user-provided devices via SDL_EVDEV_DEVICES in non-udev mode.
2022-08-07 16:37:07 -07:00
Sam Lantinga
198d62d813
joystick: remove unused Xbox Controller Keyboard VID/PID.
...
0x045e, 0x0b02 - is actually virtual keyboard that is generated by XboxGip drivers for Xbox One Controllers.
Closes https://github.com/libsdl-org/SDL/pull/5121
2022-08-06 23:53:18 -07:00
Frank Praznik
dd2e318211
wayland: Use libdecor visibility toggle for hiding/showing the window
...
The current method of toggling the libdecor window visibility by destroying and recreating the frame results in a race where a use-after-free bug can manifest itself within libdecor when window visibility is toggled quickly. Instead, use the libdecor function for toggling visibility instead of destroying and recreating the frame every time.
2022-08-06 12:12:21 -07:00
Francisco Javier Trujillo Mata
fbb440d167
Invalidate texture in the UnlockTextureMethod
2022-08-06 12:11:34 -07:00
Sam Lantinga
52bf5b1de9
Added the hint SDL_HINT_JOYSTICK_HIDAPI_SWITCH_PLAYER_LED to control whether the player LED is set on Nintendo Switch controllers
2022-08-06 10:34:19 -07:00
Sam Lantinga
f810dede16
Fixed comment so script processing works correctly
2022-08-06 09:50:13 -07:00
Ryan C. Gordon
f600364b8a
wayland: Mark window as MOUSE_CAPTURE while a mouse button is down.
...
Wayland works like SDL's "auto capture" feature already, tracking the mouse
globally only while a drag is occuring, and this is the only way to get mouse
input outside the window.
Setting this flag ourselves lets SDL_CaptureMouse() work in the most common
use case without actually implementing CaptureMouse for the backend, including
SDL's auto capture feature.
Fixes #6010 .
2022-08-06 09:19:52 -04:00
Ryan C. Gordon
a6179e85c0
wayland: Don't double-free clipboard sources if ours gets cancelled.
...
Fixes #6007 .
2022-08-05 21:25:00 -04:00
Francisco Javier Trujillo Mata
3da131c1c6
Check if port if closed and open it again
2022-08-05 17:44:59 -07:00
Sam Lantinga
5858c7dfce
Fixed OpenGL ES Shaders for systems that don't understand precision keywords
2022-08-05 16:17:10 -07:00
Frank Praznik
3685c64ed1
wayland: Round trip after window show/hide operations.
...
Perform a round trip after showing/hiding the window to avoid protocol errors when ShowWindow() is called immediately after HideWindow().
2022-08-05 15:03:54 -07:00
Sam Lantinga
d6a8b43cf7
Added support for the HORIPAD FPS for Nintendo Switch
2022-08-05 10:37:38 -07:00
Francisco Javier Trujillo Mata
a2d3be904b
Implement create windows method
2022-08-04 15:41:43 -07:00
Sam Lantinga
4a9ceb7be9
The HORIPAD S uses the Xbox 360 protocol on all platforms and shows up as multiple styles of controller, depending on what model you have.
2022-08-04 11:33:36 -07:00
Sam Lantinga
28c01955bc
Fixed button mapping for the HORIPAD S
...
This controller actually comes in at least two flavors: a GameCube controller and an arcade pad, neither of which should have the face buttons remapped.
2022-08-04 10:46:37 -07:00
Sam Lantinga
40b7143180
Fixed button mapping for the HORIPAD S controller
...
This controller looks like a GameCube controller, is actually a Nintendo Switch controller, and shows up as an XInput device on Windows with the buttons already in the correct location.
2022-08-04 10:26:10 -07:00
David Carlier
16e699a761
Proposing exposing as public api the various arch dependent
...
pause instructions so could be used in app infinite loops.
A handful of games do already so we unify it in one place.
2022-08-04 08:47:39 -07:00
Sam Lantinga
43b90484c9
Retry a little longer when writing to the Nintendo Joy-Con Charging Grip
2022-08-04 00:40:38 -07:00
Ozkan Sezer
293d29b78a
SDL_x11xinput2.c: fix build for macOS
2022-08-04 10:11:02 +03:00
Ryan C. Gordon
5907db56f1
x11: Attempt to deal with XInput2 devices with absolute coordinates.
...
This is untested!
Reference Issue #1836 .
2022-08-04 02:12:46 -04:00
Sam Lantinga
dfd2c574d7
Removed unused variable
2022-08-03 22:27:43 -07:00
Sam Lantinga
a2b4f4406f
The Nintendo Wii Remote Pro Controller respects the SDL_GAMECONTROLLER_USE_BUTTON_LABELS hint
2022-08-03 22:27:42 -07:00
Sam Lantinga
c84dea0943
Fixed detecting the controller type of controllers over USB
2022-08-03 22:12:21 -07:00
Sam Lantinga
ba297f12cd
Use the Nintendo controller type to determine whether to always use button labels
2022-08-03 21:46:01 -07:00
Sam Lantinga
946f4777f6
Don't set Bluetooth controllers to wired power level
2022-08-03 21:33:38 -07:00
Sam Lantinga
57c3b2c950
Don't rely on the device VID/PID to get the Nintendo controller type
...
The Nintendo Online Sega Genesis controller reports the SNES VID/PID over Bluetooth. This is a more robust way of handling future controllers as well, so let's go with this instead.
Also use full reports over Bluetooth, and don't report gyro for Nintendo Online classic controllers.
2022-08-03 21:31:12 -07:00
Sam Lantinga
b6aadb16b9
Added k_eSwitchDeviceInfoControllerType_N64 to ESwitchDeviceInfoControllerType
2022-08-03 20:38:33 -07:00
Sam Lantinga
bdfb32de3c
Added some additional Nintendo controller types to ESwitchDeviceInfoControllerType
2022-08-03 20:30:58 -07:00
Sam Lantinga
ea7fbf7947
Update in-flight SDL_CONTROLLERDEVICEADDED messages when a device is removed
...
This fixes the application trying to open the wrong device index when a device is removed and another has just been added
2022-08-03 19:39:37 -07:00
Sam Lantinga
5d50fa52df
Fixed timeout opening the Nintendo Joy-Con Charging Grip
...
Sometimes opening the right Joy-Con takes a little longer for some reason
2022-08-03 19:39:36 -07:00
Sam Lantinga
29cdb2c9c9
Added support for the Nintendo Switch Joy-Con Charging Grip
2022-08-03 18:01:10 -07:00
Sam Lantinga
a8120104ad
The Nintendo Online classic controllers and Joy-Cons shouldn't show up as Switch Pro controllers
2022-08-03 13:53:49 -07:00
Sam Lantinga
6e1ee1d4a5
sort the controller names
2022-08-03 13:51:25 -07:00
Sam Lantinga
8ab9dc8b2b
Fixed crash if Joy-Cons are disabled while a combined Joy-Cons controller is open
2022-08-03 13:18:00 -07:00
Sam Lantinga
bcdef4aaf9
Added separate hints for Nintendo Online classic controllers and Joy-Cons
...
This allows them to be enabled/disabled separately from Switch Pro HIDAPI support
2022-08-03 13:07:47 -07:00
Shootfast
60d1944e46
SDL_video: Added SDL_GL_FLOATBUFFERS to allow Cocoa GL contexts to use EDR
2022-08-02 15:45:30 -07:00
Frank Praznik
0b9868b026
wayland: Use D-Bus to retrieve the cursor size and theme on GNOME
...
GNOME exposes the cursor size and theme via the org.freedesktop.portal.Settings interface of the xdg-desktop portal, so query these values via D-Bus, if available.
The XCURSOR_SIZE/XCURSOR_THEME envvars will be tried first, so as not to override any user specified sizes or themes, then D-Bus, then, failing that, it will fall back to default values.
2022-08-02 14:52:01 -07:00
Francisco Javier Trujillo Mata
944111dbcf
Cleaning up video driver
2022-08-02 11:40:31 -07:00
Francisco Javier Trujillo Mata
3f7dda8c72
Remove deinit of video driver
2022-08-02 11:40:31 -07:00
Francisco Javier Trujillo Mata
83c1179744
Adding SetViewPortCommand
2022-08-02 11:40:31 -07:00
Francisco Javier Trujillo Mata
a9f4cda3f9
Adding setcliprect command
2022-08-02 11:40:31 -07:00
Francisco Javier Trujillo Mata
fb1a205e70
Implement blend modes
2022-08-02 11:40:31 -07:00
Francisco Javier Trujillo Mata
075f9016fa
Remove some unnecessary comments
2022-08-02 11:40:31 -07:00
Francisco Javier Trujillo Mata
ed301b123b
Updating supported format
2022-08-02 11:40:31 -07:00
Francisco Javier Trujillo Mata
1d1965b6ee
Removing the BGR_888 from texture supported
2022-08-02 11:40:31 -07:00
Francisco Javier Trujillo Mata
f75c35c071
Add invalidate texture when it changes
2022-08-02 11:40:31 -07:00
Daniel Santos
5bb965be3d
Implement RenderLines
2022-08-02 11:40:31 -07:00
Francisco Javier Trujillo Mata
0f0e5b44dc
Increase size of pool for gsKit events
2022-08-02 11:40:31 -07:00
Francisco Javier Trujillo Mata
f758cad81a
Remove non needed FillRects function
2022-08-02 11:40:31 -07:00
Daniel Santos
3cb124b98e
Implement RenderPoints
2022-08-02 11:40:31 -07:00
Daniel Santos
df6ebc2562
Implement FillRect
2022-08-02 11:40:31 -07:00
Daniel Santos
a152e467b1
Fix "implicit declaration" with memalign
2022-08-02 11:40:31 -07:00
Daniel Santos
33cbf9acbe
Fix some mixed declaration warnings
2022-08-02 11:40:31 -07:00
Daniel Santos
acf48f14ac
Vertex pointer revision
...
Now triangles are fully working
2022-08-02 11:40:31 -07:00
Daniel Santos
726180445e
Add textured triangle prim
2022-08-02 11:40:31 -07:00
Francisco Javier Trujillo Mata
2a70d492f0
Destroy texture properly
2022-08-02 11:40:31 -07:00
Daniel Santos
7b0486d490
Try triangles
2022-08-02 11:40:31 -07:00
Daniel Santos
d5305ee098
Do properly color assign
2022-08-02 11:40:31 -07:00
Daniel Santos
b48c74a316
Add GeometryQueue
2022-08-02 11:40:31 -07:00
Francisco Javier Trujillo Mata
3bfc8f554e
Removing some of the QueueCopy functions because they are legacy
2022-08-02 11:40:31 -07:00
Francisco Javier Trujillo Mata
be1219bd4e
Implement setDrawColor
2022-08-02 11:40:31 -07:00
Francisco Javier Trujillo Mata
f1699ce735
Implementing Clear command and texture Update
2022-08-02 11:40:31 -07:00
Francisco Javier Trujillo Mata
c472b8dd45
Whole clean around render and video driver
2022-08-02 11:40:31 -07:00
Daniel Santos
cdf89fde91
Add triangle prim support
...
Improve line support
Add initial texture support
2022-08-02 11:40:31 -07:00
Francisco Javier Trujillo Mata
88e64f9ae1
Add natively supported colors
2022-08-02 11:40:31 -07:00
Daniel Santos
90e0e5c29d
Add point, line and rect support
2022-08-02 11:40:31 -07:00