Commit Graph

12235 Commits

Author SHA1 Message Date
Sam Lantinga
8c92af5e54 Added a Windows mapping for the SPEEDLINK STRIKE Gamepad
Fixes https://github.com/libsdl-org/SDL/issues/9705

(cherry picked from commit 01d560df50)
2024-05-06 10:11:39 -07:00
Ozkan Sezer
d8fbeec096 autotools, cmake, macOS: Do not use the system iconv() by default
backport from PR #9676 by @flibitijibibo
2024-05-03 11:56:50 +03:00
Ryan C. Gordon
8b4e389ad0 wikiheaders: updated from SDL3, plus fixes to headers to deal with that. 2024-05-02 13:00:03 -04:00
Ozkan Sezer
63ea838db6 test, watcom.mif: revert 78391e6530
%copy isn't recognized by older wmake versions.
2024-05-01 17:37:20 +03:00
Ozkan Sezer
78391e6530 test, watcom.mif: revert 9ecdcd8bb and use %copy instead
Ref.: https://github.com/open-watcom/open-watcom-v2/issues/1281.
2024-05-01 17:02:50 +03:00
Ozkan Sezer
9ecdcd8bb6 test, watcom makefile: change copy command to use a dos path separator
fixes copy failure with recent open watcom wmake changes. (Issue reported
mainstream as https://github.com/open-watcom/open-watcom-v2/issues/1281)
2024-05-01 11:02:10 +03:00
Ryan C. Gordon
8f6a5c9ad2 wikiheaders-options: Correct project full name. 2024-04-30 22:01:23 -04:00
Ryan C. Gordon
59937e0fd5 wikiheaders: manpages See Also sections should specify 3 vs 3type.
(cherry picked from commit 5481ea4cd4)
2024-04-30 21:56:43 -04:00
Ryan C. Gordon
2f54d8a458 wikiheaders: Manpages go in man3 directory, even if they're 3type.
(cherry picked from commit 9210c68c44)
2024-04-30 21:56:34 -04:00
Sam Lantinga
1caa427035 Fixed building with GDK (thanks @Romans-I-XVI!) 2024-04-30 10:20:55 -07:00
Austin Sojka
7554e82ec3 Added GDK app constrained/unconstrained events (#9608) 2024-04-30 10:19:29 -07:00
yuanhecai
75340b827d loongarch: Delete the configuration of the compilation option "mlasx" 2024-04-25 20:33:12 -07:00
Sam Lantinga
67c60e0b9c Fixed build error (thanks @sezero!)
(cherry picked from commit ac5a61cd60)
2024-04-25 09:45:36 -07:00
Tyson Whitehead
45b804c158 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.
2024-04-25 08:47:55 -07:00
Tyson Whitehead
0963c11af8 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.
2024-04-25 08:47:55 -07:00
Frank Praznik
863d4a0f2a x11: Fix pointer warp on XWayland
XWayland seems to require that the pointer be hidden when it is warped, so hide and show the pointer when warping, if required.

Note that XWayland still only allows warping within the window, so attempts to warp to global coordinates outside the window won't work.

(cherry picked from commit a845c7027e)
2024-04-25 10:44:55 -04:00
Sam Lantinga
59cc43ccbb Added a note about WIN+V for future reference (thanks @orconut!) 2024-04-24 09:38:26 -07:00
Sam Lantinga
33af02ae68 Fixed Win+V handling (pasting from clipboard history) on Windows (thanks @ocornut!)
Fixes https://github.com/libsdl-org/SDL/issues/9613
2024-04-24 09:22:57 -07:00
Ryan C. Gordon
ab10bf54f2 SDL_TextInputEvent: Improve documentation.
Fixes https://github.com/libsdl-org/sdlwiki/issues/516
2024-04-24 11:17:25 -04:00
Ozkan Sezer
26e3d65ea8 CI, macOS: install autoconf.
Reference issue: https://github.com/libsdl-org/SDL/issues/9606 .
2024-04-24 00:33:14 +03:00
Ryan C. Gordon
e03ad30a57 docs: heavy editing to make this happy with latest wikibridge.
The public headers saw lots of cleanups, backporting from SDL3 docs, and
merging with the wiki.

The markdown files in docs/README-*.md were converted to Unix endlines.
2024-04-23 14:21:54 -04:00
Ryan C. Gordon
a96196c958 include: Fixed SDL_AudioFormat documentation. 2024-04-23 10:19:26 -04:00
Ryan C. Gordon
623a83f2b5 Sync wiki -> SDL2. 2024-04-23 10:00:05 -04:00
Ryan C. Gordon
e69d0e516b wikiheaders_options: People can include specific headers if they want!
Reference Issue #9536.
2024-04-22 18:48:27 -04:00
yassineimounachen
8f18e2f52d 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.

(cherry picked from commit 5ffb2f47d1)
2024-04-22 11:36:30 -07:00
Sam Lantinga
4e29be814e Fixed compilation with C89 (thanks @d-s-a!)
Closes https://github.com/libsdl-org/SDL/pull/9564
2024-04-17 07:47:29 -07:00
Sam Lantinga
effc16954f Fixed build 2024-04-15 09:32:00 -07:00
Cameron Cawley
59a0416819 3DS: Improve framebuffer support 2024-04-15 04:38:28 -10:00
Cameron Cawley
154ec5c57a testmouse: Create the window on the touch screen when building for the 3DS 2024-04-15 03:33:10 -10:00
Cameron Cawley
4df852cbbf 3DS: Ensure that touchscreen events are associated with a window 2024-04-15 03:33:10 -10:00
Cameron Cawley
6c6b497f89 Prefer display modes that exactly match the desired format or refresh rate 2024-04-15 03:31:10 -10:00
Cameron Cawley
596096a86a Add a quirk for fullscreen-only video drivers 2024-04-15 03:30:21 -10:00
Romans-I-XVI
4c3b8b2b93 Fixed reference path for buildshaders.bat
This makes it so the build still works when project is referenced by another solution
2024-04-15 03:23:33 -10:00
Ryan C. Gordon
e75d72670f include: Fixes to make the headers friendly with the latest wikiheaders. 2024-04-11 01:17:27 -04:00
Anonymous Maarten
9216b7a5ee stdinc: modify default alloca prototype
For compatibilty with TinyCC.

Backport of 06758685a5
2024-04-10 10:05:08 +02:00
Clownacy
1fa6142903 Fix default Windows window icon not suiting the DPI.
For whatever reason, `ExtractIconEx` returns icons whose sizes are
inappropriate for the current DPI, resulting in terribly-blurry
window icons at higher DPIs.

To solve this, the window icon is now set to the first icon group
that is present in the executable. This behaviour should match what
Explorer does. By selecting an icon group instead of a specific icon,
Windows is free to select the icon within the group that best suits
the current DPI.
2024-04-02 12:03:01 -07:00
Zhuoran
906ad64d7b Fix Caps Lock and Backspace mapping for Colemak 2024-04-02 07:48:58 -07:00
Brian Collins
f1690e265e Workaround a macOS cursor-related bug.
This fixes an macOS bug that is only known to occur in fullscreen windows on the built-in displays of newer MacBooks with camera notches. When the mouse is moved near the top of such a window (within about 44 units) and then moved back down, the cursor rects aren't respected. This can cause the default cursor to be visible when it should not be.
2024-04-01 16:18:02 -07:00
Ryan C. Gordon
02246aaeb9 wikiheaders.pl: Report a function's header file name.
(cherry picked from commit e055a9fc2d)
2024-03-31 12:58:19 -04:00
Ozkan Sezer
4d91f0e796 SDL_stdinc.h: Android passes sizeof(ENUM) == sizeof(int) assertion
Reference issue: https://github.com/libsdl-org/SDL/issues/9392 .

(cherry picked from commit 6cf71ca9a9)
2024-03-28 21:10:00 +03:00
Ryan C. Gordon
0d8ce4a761 psp: Fixed building with pspdev when not using CMake.
(psp-cmake defines `__PSP__` on the command line, but the compiler itself
only defines `__psp__` and some variations.

Fixes #9378.
2024-03-28 09:47:28 -04:00
Sam Lantinga
5fff9bc1e3 Don't fail joystick initialization if udev isn't available 2024-03-25 11:45:41 -07:00
Ozkan Sezer
358a80a473 remove non-existent vulkan.hpp and vulkan_mir.h from Xcode project 2024-03-25 21:23:24 +03:00
Anonymous Maarten
eb185e8d88 VisualC: remove vulkan.hpp 2024-03-25 18:04:40 +01:00
Alynne
cbc9bd9804 Add Yawman Arrow flightstick controller
(cherry picked from commit 2b4c75690c)
2024-03-25 06:35:32 -07:00
Wouter Wijsman
5d80179954 PSP: send initial SDL_JOYDEVICEADDED event 2024-03-24 17:09:41 -07:00
Tyson Whitehead
6e1611cc77 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-24 11:48:31 -07:00
rofl0r
6ba3e56538 SDL_GetWindowSurface: update documentation re: surface->pixels 2024-03-24 11:33:32 -07:00
rofl0r
7b6695f4d4 PSP: zero-copy WindowSurface API for direct VRAM access
if all one needs is a raw framebuffer to the PSP's vram,
instead of dealing with renderers and textures, that need to be
copied hence and forth, this method allows one to create a window,
set the pixel format using SDL_SetWindowDisplayMode() - preferably
BGR565 for optimal speed (the other possible natively supported
option is ABGR8888) - and then request SDL_GetWindowSurface(),
which provides one with a surface with direct framebuffer access.
note that the pixels pointer inside the surface will be switched
after each call because of double-buffering.

it's advisable to overwrite all pixels of the PSP visible area
(480x272) to not encounter old data.

after writing the pixels, a call to SDL_UpdateWindowSurface()
sends the changes to the graphics chip.

the result is a raw framerate of 250 fps with BGR565 mode, under
optimal circumstances - i.e. nothing else is done than drawing,
and the drawing loop is as simple as possible.
that leaves about 12 ms per frame for other tasks and still allow
a fluent 60 fps.
2024-03-24 11:33:32 -07:00
rofl0r
37c664a13d PSP: fix regression, GetTicks64 should return millisecs
introduced in 82b449611a
2024-03-23 16:53:28 -07:00