Commit Graph

6841 Commits

Author SHA1 Message Date
Sam Lantinga 7b2b99a996 Fixed handling the Saitek P3600, which doesn't use the Xbox 360 controller protocol
(cherry picked from commit cf0abf9911)
2023-05-22 12:42:05 -07:00
Sam Lantinga a2f4783e75 Don't map the top keyboard row to numbers when using the one-handed DVORAK layouts (thanks @tormol!)
Fixes https://github.com/libsdl-org/SDL/pull/5127
2023-05-22 11:30:42 -07:00
Caleb Cornett 2001a891c4 Fix Xbox link error from IsRectEmpty
(cherry picked from commit 376a3cd100)
2023-05-21 19:11:25 -07:00
M. P. Halpin 1ee9a437f9 Stop beep when running iOS apps on ARM-based Macs
(cherry picked from commit bbf38bbbc3)
2023-05-20 11:21:13 -07:00
Sam Lantinga 69644346ac Added the hint SDL_HINT_ENABLE_SCREEN_KEYBOARD to control whether the on-screen keyboard should be shown when text input is active
Fixes https://github.com/libsdl-org/SDL/issues/7160
2023-05-20 11:09:36 -07:00
Sam Lantinga 00b87f1ded Make sure the sentinel is at the end of the current event pump cycle
If we're waiting, it's possible to not get any events, then add the sentinel, then pump again and then add another sentinel. We want to make sure we only have one sentinel and that it's at the end of the currently pumped events.

Testing:
* Verified test case in https://github.com/libsdl-org/SDL/issues/6539
* Verified test case in https://github.com/libsdl-org/SDL/issues/5350

Fixes https://github.com/libsdl-org/SDL/issues/6539
2023-05-20 10:27:48 -07:00
Sam Lantinga beca41480d Undo name change for the controller list
(cherry picked from commit f60622c510)
2023-05-19 14:27:06 -07:00
Sam Lantinga 43b12fd9bc Moved the controller list out so it can be included elsewhere
(cherry picked from commit 24007b00b2)
2023-05-19 14:23:57 -07:00
Sam Lantinga e8ec8ba1d4 Added support for the Astro C40 in Xbox 360 mode
(cherry picked from commit a4b4dff4a2)
2023-05-19 14:23:57 -07:00
Ozkan Sezer 92a487f2e4 style fixes for SDL_PROC macros. 2023-05-19 14:10:02 +03:00
Ryan C. Gordon df9d0fb332
power: On Linux, compare status strings as case-insensitive.
In case something reports "Device" when we expected "device", etc.

Reference Issue #6835.
2023-05-18 13:26:55 -04:00
Ryan C. Gordon 4a0b9522b6
audio: Load .WAV files with format->blockalign==0.
In theory this is illegal, but legit wavefiles in the field do it, and
it's easy to bump it to 1 for general purposes.

Formats with more specific alignment requirements already check for them
separately.

Fixes #7714.

(cherry picked from commit 2e646c7141)
2023-05-17 20:09:28 -04:00
Ryan C. Gordon 32999798e0
dynapi: Accept a comma-separated list of libraries to attempt to load.
First one to load and have the necessary symbol is the one we accept,
if any. Once we accept one, we won't try loading others.

Fixes #7613.
2023-05-17 20:03:17 -04:00
valid-ptr 424bc4bcf7 SDL emscripten port: preventDefault should not be called on mousedown. Otherwise mouseup will not be fired outside iframe in Chrome-based browsers 2023-05-17 12:30:32 -07:00
Ryan C. Gordon 0eea92c8fc
blit: Add a case for 8-bit blits that sdl12-compat exposed.
sdl12-compat can get into a state where a color-keyed surface is
marked for blending, but wants to blend with full alpha (which
is the same as _not_ blending), so rather than fail to find a
blitter in that case, it just selects the colorkey blitter.

Reference https://github.com/libsdl-org/sdl12-compat/issues/233
2023-05-16 14:38:44 -04:00
Sam Lantinga d42c303b24 Check to make sure the Windows joystick device has buttons and axes
This fixes incorrectly detecting the ROG CHAKRAM X mouse as a game controller on Windows 10

(cherry picked from commit 642504bc59)
2023-05-15 21:44:20 -07:00
Ryan C. Gordon 86786ed544 coreaudio: Flush/stop the AudioQueue before disposing of it.
Otherwise, a CoreAudio thread lingers forever, and coreaudiod eats CPU
until the SDL process terminates.

Fixes #7689.
2023-05-08 14:25:01 -04:00
Sam Lantinga de93728674 Removed redundant __powerpc__ check
(cherry picked from commit b6df25c334)
2023-05-06 08:44:48 -07:00
Jeremy Rand 5e74365e55 SDL_blit_N.c: Move ppc64le swizzle outside of loop
An in-place swizzle mutation was erroneously inside of a loop, which
caused each consecutive 4-pixel vector to alternate between correct and
incorrect endianness.

The bug was introduced in 715e070d29.

Thanks to RobbieAB for reporting the bug.

Fixes https://github.com/libsdl-org/SDL/issues/3428

(cherry picked from commit 9142292f4a)
2023-05-06 08:39:59 -07:00
Loc(Elliot) 3e64fec9f4 Fix bug memory acess
Bitmap is not initialized before use, that cause segmentation fault on function use it. Fix by allocate memory before use.
2023-05-04 07:01:25 -07:00
Sam Lantinga f72213c4ac By default, OpenBSD uses Linux controller mappings
Fixes https://github.com/libsdl-org/SDL/issues/7609

(cherry picked from commit 255c3b7c82)
2023-04-29 17:10:46 -07:00
Frank Praznik 132b88749c wayland: Destroy proxy wrappers and callbacks before event queues
Destroy any proxy wrappers and callbacks before the associated event queues to silence libwayland warnings about destroying the queues while proxies are still attached.
2023-04-27 13:08:59 -04:00
Linus Probert 8b39eb9b1f wayland: Fixes a memory leak wheere primary selection isn't freed
(cherry picked from commit 43f65a6ef0)
2023-04-24 12:00:16 -07:00
Ozkan Sezer 0f2322acfc hidapi/mac: replace sprintf uses with snprintf.
Reference issues:
-  https://github.com/libusb/hidapi/pull/509
-  https://github.com/libusb/hidapi/pull/511

(cherry picked from commit ae9119c36b)
2023-04-24 10:46:49 -07:00
Ozkan Sezer 5f344c17c2 hidapi/mac: import mainstream commit c1b9d2ad
c1b9d2ad98
Properly handle the close of run loop on macOS
(https://github.com/libusb/hidapi/pull/522)
- as per documentation `kCFRunLoopRunStopped` should be handled once the runloop is closed via `CFRunLoopStop`;
- if it is not handled - a race condition/crash may happen on the latest macOS when a device gets disconnected while being open;

(cherry picked from commit 62d1a2c836)
2023-04-24 10:46:49 -07:00
Mingjie Shen a688ecd6fa
Check return value of SDL_malloc()
(cherry picked from commit a4604cb0d6)
2023-04-23 12:28:54 -04:00
Sam Lantinga 120bc77e91 Report PS3 accelerometer values in m/s2 instead of Gs
(cherry picked from commit 0467301baf)
2023-04-19 13:12:38 -07:00
Sam Lantinga 7ec9a4385a More defensive coding against dangling device pointers
(cherry picked from commit acadb6f873)
2023-04-06 13:21:44 -07:00
Sam Lantinga cb0cf14155 The latest Armor-X Pro firmware update fixes the sign on the Z axis of the sensors
(cherry picked from commit 558bbbb07a)
2023-04-06 09:55:39 -07:00
Cyril Dubet 7914234b26 Fix key code names for ISO keyboard layouts
(cherry picked from commit 60dcaff7eb)
2023-04-05 17:03:42 -07:00
Sam Lantinga f6363fde9a Fixed crash if joystick->hwdata != NULL && device->driver == NULL
This should never happen, but we're seeing it in the wild, so make sure that we can never call into a NULL device driver.

(cherry picked from commit e13b74ccf0)
2023-04-05 11:24:55 -07:00
Ozkan Sezer f633915443 fix build after commit 22685556e5. 2023-04-05 02:10:56 +03:00
Sam Lantinga 57043825ba Fixed crash if dbus can't be initialized
(cherry picked from commit cf2c6fa58d)
2023-04-04 12:35:30 -07:00
Sam Lantinga 22685556e5 Don't probe for PlayStation controllers when we already know the controller type
Fixes https://github.com/libsdl-org/SDL/issues/7556

(cherry picked from commit 655a07bdd8)
2023-04-04 12:35:20 -07:00
Sam Lantinga f444eac557 Fixed analog triggers on the DualSense controller
(cherry picked from commit a67d410501)
2023-04-04 12:35:20 -07:00
Jerome Duval eb0d214c17 Haiku: use a BLooper for events.
only create a BApplication when it doesn't already exist.
2023-03-30 10:20:11 -07:00
Frank Praznik 55f74c3285 x11: Don't allow the changing of certain scancodes
The X11 driver uses scancodes derived from keysyms to map the scancodes for extended keys to the physical keyboard, however, this can be incorrect when using certain XKB options (e.g. caps:swapescape), which changes the keysyms emitted by certain keys, but does not imply that their scancodes or positions should be altered. Mark selected scancodes as being non-remappable so that their scancodes aren't changed by toggling XKB mapping options.
2023-03-30 11:20:28 -04:00
Sam Lantinga c2ee45f5ff The Xinmotek Controller is used in multiple products with different mappings
The mapping included here is for the Ultimate Atari Fight Stick

(cherry picked from commit f1099f8e70)
2023-03-28 15:16:07 -07:00
Sam Lantinga 0bf63175ab Fixed gyro values for the Armor-X Pro controller
(cherry picked from commit 8df7b4d853)
2023-03-28 14:44:59 -07:00
Sam Lantinga d043c8535b Fixed the accelerometer and gyro axes for the Armor-X Pro controller
(cherry picked from commit 37517557ae)
2023-03-28 12:29:33 -07:00
Anonymous Maarten 85fecbb10b video: fix warnings about unused variables when building without duff's loop
(cherry picked from commit 0c3777d566)
2023-03-28 10:21:36 -07:00
Anonymous Maarten 1402d13556 video/blit: fix -Wimplicit-fallthrough warnings
(cherry picked from commit f7961b7c9a)
2023-03-28 10:21:35 -07:00
Sylvain 16c9bad786 Safety fix: clear "_this->wakeup_window" when destroying the window
(cherry picked from commit c838ccf0e3)
2023-03-28 08:29:24 -07:00
Sylvain 6574e5eb57 Safety fix: clear "_this->current_glwin" when destroying the window
(cherry picked from commit 0c048d98af)
2023-03-28 08:29:23 -07:00
Sylvain 4fa21ee5ed
Fixed bug #7515 - Window still grabbed after destroying 2023-03-28 09:43:34 +02:00
Sam Lantinga 8bfbda1eab Fixed the accelerometer sensitivity for the Armor-X Pro controller
(cherry picked from commit 8029a767ee)
2023-03-27 14:33:59 -07:00
Sam Lantinga 93c289b475 Increased precision for PS4 sensor data conversion
(cherry picked from commit 3340864786)
2023-03-27 14:33:56 -07:00
Pierre Wendling ed5a343d25 SDL_hidapi_steam.c: Fix compilation under c2x.
When N2935 is implemented, the enum breaks compilation. Use a #define of
the SDL booleans instead.

(cherry picked from commit 975039ce0d)
2023-03-27 09:02:46 -07:00
Anonymous Maarten cd64e0b6e3 SDL_blit_copy: Don't call potentially FPU using SDL_memcpy in SDL_memcpyMMX 2023-03-27 06:13:28 +00:00
Anonymous Maarten d1dc195208 Implement _intel_fast_(memcpy|memset)
The classic Intel compiler generates calls to these functions when
building the SDL library with SDL_LIBC=OFF.
2023-03-27 06:13:28 +00:00