|
1d7966df
|
2022-11-16T21:27:16
|
|
Remove un-needed check for NULL pointer. They were previously checked just before.
|
|
8ea96f36
|
2022-11-16T11:32:31
|
|
events: Remove X and XKB keysym constants and headers
The XKB_KEY_* and XK_* macros resolve to the same constant values, so use the raw values and note what keys they correspond to in the comments, as is done for the other keysym values in this file.
This completely eliminates the need for any X or XKB system headers along with the if/else defines.
|
|
389ffab7
|
2022-11-16T12:53:48
|
|
Code style fixes, etc.
Reference PR #6345.
|
|
ec58a817
|
2022-10-05T19:26:09
|
|
Fixes made in response to running a static code analyzer under MS Windows.
Most of these are probably harmless, but the changes to SDL_immdevice.c and SDL_pixels.c appear to have fixed genuine bugs.
SDL_audiocvt.c: By separating the calculation of the divisor, I got rid of the suspicion that dividing a double by an integer led to loss of precision.
SDL_immdevice.c: Added a missing test, one that could have otherwise led to dereferencing a null pointer.
SDL_events.c, SDL_gamecontroller.c, SDL_joystick.c, SDL_malloc.c, SDL_video.c: Made it clear the return values weren't used.
SDL_hidapi_shield.c: The size is zero, so nothing bad would have happened, but the SDL_memset() was still being given an address outside of the array's range.
SDL_dinputjoystick.c: Initialize local data, just in case IDirectInputDevice8_GetProperty() isn't guaranteed to write to it.
SDL_render_sw.c: drawstate.viewport could be null (as seen on line 691).
SDL.c: SDL_MostSignificantBitIndex32() could return -1, though I don't know if you want to cope with that (what I did) or SDL_assert() that it can't happen.
SDL_hints.c: Replaced boolean tests on pointer values with comparisons to NULL.
SDL_pixels.c: Looks like the switch is genuinely missing a break!
SDL_rect_impl.h: The MacOS static checker pointed out issues with the X comparisons that were handled by assertions; I added assertions for the Y comparisons.
SDL_yuv.c, SDL_windowskeyboard.c, SDL_windowswindow.c: Checked error-result returns.
|
|
7ebdae5d
|
2022-11-16T11:45:41
|
|
cocoa: Fix OpenGL deprecation warning.
|
|
7c760f7f
|
2022-11-16T11:32:08
|
|
cocoa: Update CVDisplayLink timing when screen changes.
This handles both the window moving to a new display and
changing the current display's refresh rate in System
Preferences
Reference Issue #4918.
|
|
1fd66cc8
|
2022-11-16T10:15:21
|
|
Revert "cocoa: Backed out CVDisplayLink code for macOS vsync."
This reverts commit 04b50f6c6bef67b744b192c78775771b51ff2141.
It turns out OpenGL vsync has broken again in macOS 12, so
we're reintroducing our CVDisplayLink code to deal with it,
again.
Reference Issue #4918.
|
|
9d67686a
|
2022-11-16T10:08:40
|
|
haptic: Deal with deprecated macOS symbol.
|
|
6801d676
|
2022-11-16T09:52:33
|
|
Revert "pulseaudio: Only use PA_STREAM_ADJUST_LATENCY if buffer isn't super small."
This reverts commit d8b1ef42aee52dad4ac3de69795ca2e8d2fd7704.
This turned out to be unnecessary (it was a problem on the user's system,
not an SDL bug).
Reference Issue #6121.
|
|
903301c6
|
2022-11-16T02:04:59
|
|
wayland: Always use integer scaling for cursors.
Cursors don't get fractionally scaled, so always scale system cursor sizes to the next whole integer.
|
|
d8b1ef42
|
2022-11-15T22:18:51
|
|
pulseaudio: Only use PA_STREAM_ADJUST_LATENCY if buffer isn't super small.
Fixes #6121.
|
|
02ab7f37
|
2022-11-15T12:57:07
|
|
Fixed release build using clang on Windows
|
|
98f93d0a
|
2022-11-15T11:39:06
|
|
Fixed building without xkbcommon support
|
|
615901db
|
2022-11-15T11:19:08
|
|
Removed unnecessary header
The xkbcommon-keysyms.h header isn't available on some older systems,
and we don't actually need it for this code.
|
|
c8551847
|
2022-11-04T12:41:46
|
|
wayland: Handle virtual keyboards that don't fit the X mapping
SDL is built around the concept of keyboards having a fixed layout with scancodes that correspond to physical keys no matter what linguistic layout is used. Virtual keyboards don't have this concept and can present an arbitrary layout of keys with arbitrary scancodes and names, which don't fit the SDL model. When one of these keyboards is encountered, it requires special handling: use the keysym of the pressed keys to derive their ANSI keyboard scancode equivalents for control keys and ASCII characters. All other characters are passed through as text events only.
|
|
d1858eb1
|
2022-11-04T12:33:45
|
|
events: Add a helper function to get the default keycode for a scancode
Add a helper function to get the keycode for a scancode from the default lookup table. Unlike SDL_GetKeyFromScancode(), this is not affected by the set keymap.
|
|
0e446c54
|
2022-11-04T12:27:36
|
|
events: Factor out the xkb keysym to scancode conversion from the X11 driver
|
|
44d7b8b9
|
2022-11-15T13:57:01
|
|
egl: Check for a NULL pointer in SDL_EGL_GetProcAddress.
This happens on kmsdrm if you try to GetProcAddress before creating
a window.
Fixes #5399.
|
|
f3cc99fb
|
2022-11-15T13:56:44
|
|
x11: Minor style fixes for recent OSK changes
|
|
70656b13
|
2022-11-15T10:18:41
|
|
Don't recreate the window when creating a Metal renderer on an OpenGL window.
It turns out that we can safely create a Metal view on an existing window, and that avoids issues with the window being recreated with the wrong orientation in iOS 16.
Fixes https://github.com/libsdl-org/SDL/issues/6289
|
|
80ff20f6
|
2022-11-14T23:56:20
|
|
N3DS: Set keyboard focus to newly created windows.
This fixes polling issues with Joystick subsystem where
`SDL_PrivateJoystickShouldIgnoreEvent` would always return true, thus
ignoring all inputs.
|
|
491d0bcc
|
2022-11-14T17:38:42
|
|
N3DS: Refactor N3DS_FileOpen.
|
|
de5fa89b
|
2022-11-14T16:56:51
|
|
N3DS: Prepend PrefPath with `sdmc:`.
|
|
7d536d52
|
2022-11-14T16:16:21
|
|
N3DS: Put `SDL_Log.txt` in the proper directory.
The homebrew "user" directory should be `/3ds/`.
To avoid ambiguity, `sdmc:` is specified.
|
|
bf4f9aaa
|
2022-11-14T16:11:58
|
|
N3DS: Use designated initialiser for drivers.
Just a sanity check that the functions are actually mapped correctly.
|
|
a40b7cde
|
2022-11-14T13:03:52
|
|
Workaround for views being in portrait instead of landscape mode on iOS 16
Fixes https://github.com/libsdl-org/SDL/issues/6289
|
|
b886f4c6
|
2022-11-14T17:35:28
|
|
events: eliminate redundant code in SDL_SendEditingText
|
|
dad8df3e
|
2022-11-14T08:20:31
|
|
video: check graphics flags the same way in SDL_RecreateWindow as in SDL_CreateWindow
- single check to validate the graphics flags
- check it before tearing down the window
|
|
eef4d3c8
|
2022-11-13T16:56:04
|
|
wayland: Clamp wl_seat version on older versions of libwayland
Clamp the wl_seat max version to 5 if being built against a version of libwayland below 1.21.0, or containers that bundle newer versions of SDL with older versions of libwayland can break if the compositor advertises support for a protocol version above 5.
|
|
67498926
|
2022-11-13T11:09:20
|
|
Fixed warning
Fixes https://github.com/libsdl-org/SDL/issues/5842
|
|
c4b9f621
|
2022-11-13T12:45:13
|
|
x11: Add support for the Steam Deck on-screen keyboard
|
|
5f2a1231
|
2022-11-13T08:00:03
|
|
video: check graphics flags the same way as the type flags
|
|
22354b41
|
2022-11-12T08:29:15
|
|
video: simplify window-type check in SDL_CreateWindow
|
|
85aa9b8b
|
2022-11-11T13:47:36
|
|
wasapi: Favor the system resampler again, for now.
Reference Issue #5538.
|
|
9f8b68a2
|
2022-11-11T10:24:17
|
|
Fixed building without linux/input.h
https://github.com/libsdl-org/SDL/issues/6169
|
|
b7e65a81
|
2022-11-11T08:57:07
|
|
Fixed incorrect WGI controller state when the application loses focus
Recenter the controller elements when WGI stops reporting valid state
Fixes https://github.com/libsdl-org/SDL/issues/5261
|
|
875e9b35
|
2022-10-26T15:19:28
|
|
N-Gage: additional cleanup
|
|
afbafc2a
|
2022-10-21T08:11:48
|
|
Remove redundant dependency to bitdraw.h, minor cleanup
|
|
d09edcbc
|
2022-11-11T12:10:27
|
|
video: sync Metal_CreateView with GL_CreateContext and Vulkan_CreateSurface
no need to check if _this->Metal_CreateView, since it is already checked in Re(create)Window
|
|
b71d9274
|
2022-11-11T12:09:15
|
|
video: add NOT_AN_OPENGL_WINDOW define (similar to NOT_A_VULKAN_WINDOW)
|
|
36c6ed4b
|
2022-11-11T08:33:55
|
|
video: add SDL_DllNotSupported
- add SDL_DllNotSupported and use it to sync the behavior of SDL_GL_LoadLibrary with SDL_Vulkan_LoadLibrary
|
|
0dfc829a
|
2022-11-10T19:16:53
|
|
Added simple BLE Steam Controller support on all platforms
This is still disabled by default via the hint SDL_HINT_JOYSTICK_HIDAPI_STEAM
|
|
f430ef5d
|
2022-11-10T17:27:48
|
|
Don't change the window position when creating it on iOS, it is already placed on the correct display
|
|
7c05ea0a
|
2022-11-10T13:35:40
|
|
Added mappings for the GameSir T3 and T4 Pro controllers
|
|
404cb276
|
2022-11-10T13:28:03
|
|
Added macOS mappings for the Nintendo Switch Pro Controller over Bluetooth
|
|
29cafa9c
|
2022-11-10T08:23:16
|
|
add SDL_ContextNotSupported and validate flags in SDL_RecreateWindow similar to SDL_CreateWindow
|
|
1008cc8e
|
2022-11-09T12:55:27
|
|
video: Add some braces to match SDL coding style.
|
|
ac3349fa
|
2022-11-09T09:11:04
|
|
solve FIXMEs in SDL_video.c
|
|
e5c599f8
|
2022-11-09T09:02:23
|
|
fix SOLARIS_ATOMICS
- use 'sizeless' int types (int uses 32-bit even if _LP64 is set)
|
|
b095df7f
|
2022-11-08T08:39:43
|
|
simplify MSC_ATOMICS
- use _Interlocked(Compare)ExchangePointer in case of _M_IX86 as well
- improve assertions:
1. add assertions to SDL_AtomicAdd/SDL_AtomicSet and SDL_AtomicCAS
2. use sizeof(a->value) instead of sizeof(int)
|
|
3dc88da0
|
2022-11-08T13:27:56
|
|
Fix Dualshock 4 rumble stopping too early
Dualshock 4 controller only rumbles for 5 seconds maximum. Resend
rumble command every 2 seconds to make long rumble work.
|
|
6432f45a
|
2022-11-08T10:27:21
|
|
Don't treat the Nintendo IMU as a separate game controller on Linux
|
|
2e3b4f3f
|
2022-11-08T07:50:51
|
|
Don't send rumble to the Amazon Luna controller on macOS
Sending rumble to the Amazon Luna controller on macOS gets there, but IOHIDDeviceSetReport() blocks for a long time and eventually fails.
This appears to be a bug in the macOS Bluetooth stack, ref rdar://99265496
|
|
02bc359b
|
2022-11-07T19:31:18
|
|
Shorten "Bensussen Deutsch & Associates,Inc.(BDA)" to "BDA" for controller names
|
|
b0dc6709
|
2022-11-07T14:26:48
|
|
coreaudio: Don't use deprecated kAudioObjectPropertyElementMaster symbol.
Fixes #6449.
|
|
e873d609
|
2022-11-07T10:02:06
|
|
fix handling of SDL_EventQ.active
- SDL_EventQ.active is a bool variable -> do not use SDL_AtomicGet/Set, it does not help in any way
- protect SDL_EventQ.active with SDL_EventQ.lock
- set SDL_EventQ.active to FALSE by default
|
|
eb670742
|
2022-11-07T09:05:32
|
|
better SDL_AtomicGet(Ptr) implementation
|
|
5dc93451
|
2022-11-06T20:49:37
|
|
JANITORIAL : Correct some more spelling mistakes (#6489)
|
|
c2675d74
|
2022-11-06T10:52:20
|
|
Revert "cocoa: Discard the IME Candidate Window immediately when Escape is pressed"
This reverts commit 0d76e2a8a1a8e6a2801123587c2205a288d49406, as it introduced other issues:
https://github.com/libsdl-org/SDL/pull/6486#issuecomment-1304684865
|
|
f2ce7c5f
|
2022-11-06T08:23:08
|
|
Added the G29 as a PlayStation controller
|
|
9d1dbd2a
|
2022-11-06T01:16:52
|
|
Added note about trigger rumble availability across third-party Xbox One controllers
|
|
e7a56323
|
2022-11-06T01:43:05
|
|
Make sure we wait after sending the rumble packet when initializing the PowerA Xbox One Mini Wired Controller
|
|
6875e62a
|
2022-11-06T01:15:20
|
|
Make sure we don't send Xbox controllers rumble so quickly that it overwhelms the firmware
Fixes https://github.com/libsdl-org/SDL/issues/6435
|
|
38af459d
|
2022-11-06T01:15:19
|
|
Fixed potential clobbering of packets of different types using SDL_HIDAPI_SendRumble()
|
|
e45cb5b1
|
2022-11-06T01:15:18
|
|
Fixed initializing the PowerA Xbox One Mini Wired Controller
|
|
0d76e2a8
|
2022-11-06T04:59:02
|
|
cocoa: Discard the IME Candidate Window immediately when Escape is pressed
|
|
15a98909
|
2022-11-05T16:44:52
|
|
Added SDL_HINT_HIDAPI_IGNORE_DEVICES to specify devices that should be ignored in SDL_hid_enumerate()
|
|
297ecb70
|
2022-11-05T15:58:30
|
|
Added SDL_strcasestr() for a case insensitive version of SDL_strstr()
|
|
a4626dea
|
2022-11-05T14:24:41
|
|
Fixed initializing the PDP Xbox One and Victrix Gambit controllers
|
|
7e11b09b
|
2022-11-05T13:50:37
|
|
The PowerA Xbox One Mini Wired Controller works with the HIDAPI driver now
|
|
a2d66b6a
|
2022-11-05T13:12:10
|
|
SDL_GameControllerMapping() should return the string for the actual mapping that was used when opening a gamecontroller, rather than do a GUID match again
Also don't match against the zero guid if that happens to be in the mapping list for some reason
|
|
f3bf543e
|
2022-11-05T15:21:29
|
|
recognize game controllers connected via raphnet technologies WUSBMote v2.2
This is a USB adapter for controllers shipped with Nintendo's NES-mini and
SNES-mini consoles.
Tested with both NES and SNES controllers, buttons map as expected on both.
|
|
24cdebe4
|
2022-11-05T10:34:08
|
|
Added the hint SDL_HINT_JOYSTICK_HIDAPI_XBOX_ONE_HOME_LED to control the brightness of the Xbox button LED on the Xbox One controller
|
|
78f97108
|
2022-11-05T10:38:33
|
|
audio: Avoid accumulation errors in resampler.
Fixes #6391.
|
|
689218eb
|
2022-11-04T12:07:20
|
|
Fix wayland reconnection paths
Most of this code is disabled out for now.
- For mouse cursors we have a wl_surface for both system and custom
cursors which needs recreating.
- The other patch is about nullification after deletions
|
|
33a68f57
|
2022-11-03T16:02:58
|
|
Added Linux mappings for the Logitech G29 in PS3 and PS4 modes
|
|
c70e6759
|
2022-11-03T12:37:54
|
|
Wait a bit for devices to initialize before trying to enumerate and open them.
This works around udev event nodes arriving before hidraw nodes and the controller being opened twice - once using the Linux driver and once by the HIDAPI driver.
This also fixes a kernel panic on Steam Link hardware due to trying to open the hidraw device node too early.
A delay of 10 ms seems to be a good value, tested on Steam Link hardware.
|
|
084fa4c3
|
2022-11-01T10:55:17
|
|
cocoa: Reset IME when sending composed text
This will send an empty `TEXTEDITING` event that is used to signal the
end of the composition.
|
|
70a41f9b
|
2022-11-01T09:59:16
|
|
wayland: Read `window` data only if `window` is valid
|
|
b75d3187
|
2022-10-31T13:33:53
|
|
Sometimes the HID open doesn't succeed immediately after being notified about the device
Tested on Steam Link hardware with the Nintendo Switch Pro controller, which will occasionally take 2 attempts to open.
|
|
27ee8c8e
|
2022-10-28T22:35:16
|
|
Fix mismatch between Init and Quit
Init says that audio implies events (line 195), Quit was missing the implication.
|
|
33a43005
|
2022-10-31T12:23:51
|
|
wayland: Don't modify the mouse capture flag in relative mode
If relative mouse mode is explicitly enabled, don't modify the capture flag on button events or the window might report having lost mouse focus if a button is pressed while moving the cursor.
|
|
678ef797
|
2022-10-30T08:53:34
|
|
SDL_KMSDRMOPENGLES.H: Correct spelling mistakes
begining -> beginning
beggining -> beginning
|
|
8b9c82e1
|
2022-10-30T08:50:36
|
|
SDL_RENDER_PSP.C: Correct spelling mistakes
wether -> whether
|
|
3369b016
|
2022-10-30T08:43:04
|
|
SDL_PS2_MAIN.C: Correct spelling mistake
untill -> until
|
|
d7a46a16
|
2022-10-30T08:37:23
|
|
SDL_SYSLOADSO.c: Correct spelling mistake
publically -> publicly
|
|
6a881302
|
2022-10-30T08:35:59
|
|
SDL_IBUS.H: Correct spelling mistake
recieve -> receive
|
|
61f3662c
|
2022-10-30T08:34:47
|
|
SDL_QSA_AUDIO.C: Correct spelling mistake
occured -> occurred
|
|
571ff1a3
|
2022-10-30T00:19:09
|
|
wayland: Prepare cursor implementation for reconnect support
Co-authored-by: David Edmundson <kde@davidedmundson.co.uk>
|
|
9c8b1fd8
|
2022-10-29T22:34:05
|
|
wayland: Cleanup work to aid reconnect support
Co-authored-by: David Edmundson <kde@davidedmundson.co.uk>
|
|
f6b1e028
|
2022-10-29T10:42:48
|
|
Allow vendor matching for hid_enumerate() on all backends
|
|
4556074e
|
2022-10-29T09:35:07
|
|
Re-set the maximize state if we were maximized while fullscreen
|
|
ab06a307
|
2022-10-29T09:21:17
|
|
Don't report windows being maximized when fullscreen on X11
This is a functional state for some window managers (tested using stock Ubuntu 22.04.1), and removing that state, e.g. using SDL_RestoreWindow(), results in a window centered and floating, and not visually covering the rest of the desktop.
|
|
b9e1d1b4
|
2022-10-09T19:49:34
|
|
events: Rename SDL_SendKeyboardKeyComplete to SDL_SendKeyboardKeyAndKeycode.+
|
|
92215481
|
2022-10-09T19:33:52
|
|
emscripten: Make an attempt at correct keyboard scancode/keycodes.
This uses a newer browser API to get physical scancodes, but still
uses the (deprecated) event field that we were already using for
scancodes, but for keycodes instead now, which appears to be more
accurate.
Since keyboard layout isn't (generally) available to web apps, this
adds an internal interface to send key events with both scancode
and keycode to SDL's internals, instead of sending just scancodes and
expecting SDL to use its own keymap to generate keycodes.
Future work in this area would be to use the keyboard layout APIs
on browsers that support them, which would allow us to use SDL's
usual keymap code and not rely on a deprecated browser API, but
until we get there, this patch gives significantly more correct
results than we would have before.
Fixes #2098.
|
|
a8f019b1
|
2022-10-28T00:52:06
|
|
Using ST and removing warnings
|
|
f2ebedae
|
2022-10-27T00:35:20
|
|
adding texture function
|
|
5de01eb0
|
2022-10-22T00:22:34
|
|
Make render to use new functions
|
|
f500c147
|
2022-10-28T08:39:02
|
|
Fixed DirectFB build
|
|
9e8d2f39
|
2022-10-27T13:54:53
|
|
video: Don't use texture framebuffer on Windows Subsystem for Linux.
Reference Issue #6333.
|