Log

Author Commit Date CI Message
Ozkan Sezer 681f67d3 2023-06-14T00:25:50 fixed build after commit d2372c853843def01b7adb9872cbb89b0d6079ec.
Sam Lantinga d2372c85 2023-06-13T10:06:36 Added automatic mapping for Xbox Elite paddles using the xpadneo driver We can't actually tell yet whether a controller has paddles, so this code isn't effective, but I'll file an upstream issue and see if we can get that resolved. (cherry picked from commit b0677f476fa43f4a113b04a959228fd38f95d740)
Sam Lantinga 7db23f4e 2023-06-13T10:05:19 Fixed joystick vendor detection in Linux automatic gamepad mapping (cherry picked from commit 071d1e29dd4f80605932f320aa2e05fda383944c)
Simon McVittie 36ff6327 2023-06-09T13:24:21 linux: Improve gamepad mapping heuristic to accept Android conventions This heuristic for gamepads without a more specific mapping already tried two incompatible conventions for handling triggers: the Linux Gamepad Specification uses hat switch 2 for the triggers (for whatever reason), but the de facto standard set by the drivers for older Xbox and Playstation controllers represents each trigger as the Z-axis of the nearest analog stick. Android documentation encourages Bluetooth gamepad manufacturers to use a third incompatible convention where the left and right triggers are represented as the brake and gas pedals of a driving simulator controller. The Android convention also changes the representation of the right stick: instead of using X and Y rotation as a second pair of axes, Android uses Z position as a second horizontal axis, and Z rotation as a second vertical axis. Try to cope gracefully with all of these. This will hopefully resolve the issue described in #5406 (when using unpatched kernels). Signed-off-by: Simon McVittie <smcv@collabora.com> (cherry picked from commit cf1dc66e2cfc7a65374c5fea681dd31c50363a2c)
Simon McVittie 26a38a0b 2023-06-09T13:06:30 linux: Reduce magic numbers when mapping gamepad axes The bitfield `mapped` has two different sets of meanings, depending whether we're setting up the triggers or the d-pad. Represent them as symbolic constants rather than opaque integers. Signed-off-by: Simon McVittie <smcv@collabora.com> (cherry picked from commit c4d49fadd4500cb522b2a98e5a42d024c566d8bf)
Sam Lantinga b3e1fd97 2023-06-12T16:57:41 Fixed enumerating Steam Controllers on iOS (cherry picked from commit dec0dbff13d4091035209016eb2d0dd82c9aba58)
Sam Lantinga c77aaa5d 2023-06-12T15:39:57 Fixed n3ds build (cherry picked from commit d95dbe78bb7a5087ecfb8d301417b1108d868738)
Sam Lantinga e4e0a129 2023-06-12T15:26:34 Reduce the chance of destroying the joystick mutex while it's in use Fixes https://github.com/libsdl-org/SDL/issues/7811 (cherry picked from commit 6390165fd4c193631d6780758a4aeec0d02b90eb)
Ryan C. Gordon 2afb49ba 2023-06-11T12:43:47 cocoa: Warp mouse to center of window before enabling relative mouse. This prevents the case where the mouse might be at the edge of the window when enabling relative mode, which confuses macOS, at it might believe the user is attempting to resize the window. Fixes #6994.
Ozkan Sezer 154ad6fa 2023-06-10T20:50:10 SDL_dynapi.c: minor cosmetics.
Sam Lantinga 2aa8525e 2023-06-10T09:29:09 Fixed build
Sam Lantinga 36033e38 2023-06-10T08:54:36 Make it clear that you can't mix 2D rendering and the window surface API Also added functions to query and destroy the window surface so you can switch between modes if you want. See https://github.com/pygame-community/pygame-ce/issues/2190 for more details.
Sam Lantinga 320f3fff 2023-06-09T18:41:21 Fixed querying device info on the MOBAPAD M073 The query packet needs to contain valid rumble data in order to be accepted by the controller. Fixes https://github.com/libsdl-org/SDL/issues/7788 (cherry picked from commit 5490873daa12a57ff4b36090f25f04530323c6e4)
Sam Lantinga 30b4d90f 2023-06-09T17:34:12 Only update the serial number if it hasn't already been set This fixes the serial number for Nintendo Switch Pro, which is queried from the hardware in device initialization, and was later clobbered by the USB string which isn't correct. (cherry picked from commit 2042e9c4e3cba6ffa9c34abac14828e31365f98b)
Sam Lantinga 1cdd6dc8 2023-06-09T14:34:59 Fixed reading input from the Razer Atrox Arcade Stick using Windows Gaming Input (cherry picked from commit 172cfca51332a845abf9c141ae56aa121fe4ada5)
Ozkan Sezer f5b3247a 2023-06-08T03:40:32 further mouse relative motion fix for os/2 (thanks Andrey Vasilkin)
Ryan C. Gordon aa536217 2023-06-07T15:42:22 x11: check if window size/position has changed during SDL_ShowWindow. Fixes #4216. (cherry picked from commit 49b5cfa6c5cb9bb8cecce508e12fa7f8e0cc302f)
Anonymous Maarten 14f4fd3f 2023-06-07T20:35:15 git commit -m "cmake: set maximum policy to 3.5 This fixes the following warning when configuring with CMake 3.27+: ``` CMake Deprecation Warning at CMakeLists.txt:3190 (cmake_minimum_required): Compatibility with CMake < 3.5 will be removed from a future version of CMake. Update the VERSION argument <min> value or use a ...<max> suffix to tell CMake that the project does not need compatibility with older versions. ```
Ozkan Sezer b1324fbc 2023-06-05T11:50:50 fixed os/2 mouse relative motion not working (thanks Andrey Vasilkin,) for issue reported at https://github.com/bitwiseworks/SDL2-os2/issues/5
Sam Lantinga 4700fbcb 2023-06-04T05:37:06 Don't bother re-encoding Latin1 characters in the ASCII range (cherry picked from commit 6150b5b3cbde0e592c4ffe822f66aa5f9c90c3d9)
Eddy Jansson 2660da6f 2023-02-28T17:50:26 Always allocate zt in output of SDL_iconv_string() Before this, the function could not be used on buffers, as it would not account for the zero-termination unless it was included in the input. (cherry picked from commit 5f5abb680523e1adedd3fca2a8e252db01fc1c52)
Sam Lantinga 7c86d96e 2023-06-04T01:01:06 Fixed SDL_iconv_string() truncation when handling SDL_ICONV_E2BIG (cherry picked from commit c369b900199f905c51edb372bd7780f67a544a8c)
Ozkan Sezer a1dea11d 2023-06-04T14:29:10 fix MSVC build error.
Sam Lantinga bfef7c30 2023-06-04T02:06:52 Only convert the result of XLookupString() if it's not already UTF-8 Fixes https://github.com/libsdl-org/SDL/issues/7766 (cherry picked from commit 491ae20d963cff397b5980b31d142d576e74becb)
Sam Lantinga b9d1c483 2023-06-03T23:55:56 Fixed building with the 16.1.4479499 Android toolchain
Sam Lantinga dc94cca8 2023-06-03T11:57:08 Fixed typo in cherry-pick (thanks @HadesD!)
Sam Lantinga 97fe777a 2023-06-03T11:39:03 Steam uses a different VID/PID for the Steam Virtual Gamepad on Windows (cherry picked from commit 6815e75cafee8e7caaacf1f428b6539c8bbc7f7d)
Sam Lantinga f1bad83a 2023-06-03T11:36:38 Revert "Fixed detection of the Steam Virtual Gamepad on macOS" This reverts commit 7aa28ce279045884653c8153a5cee99f4622af10. Steam has been updated to send a version of 1 to avoid conflicts with controllers that report a version of 0.
Sam Lantinga 7aa28ce2 2023-06-02T18:37:45 Fixed detection of the Steam Virtual Gamepad on macOS (cherry picked from commit 5fcd70578bdde3eaaa51aa4ab6c24ed08bd49db3)
Sam Lantinga c89a4606 2023-06-02T11:20:31 Fixed build if SDL_JOYSTICK_RAWINPUT_MATCHING isn't enabled (cherry picked from commit 7c55845c804e2272df8bc111dea5d3e9d11670a0)
Sam Lantinga e3bfacde 2023-06-02T11:16:07 Don't use raw input while Remote Desktop is active Raw input will not send game controller events while Remote Desktop is active, so dynamically switch between XInput and raw input when Remote Desktop state changes. Fixes https://github.com/libsdl-org/SDL/issues/7759 (cherry picked from commit 767507fcf6f4607edb413acb53a6c029863701ed)
Sam Lantinga 9c05098e 2023-06-02T09:38:18 Fixed WGI immediately being correlated with raw input devices with no input The at rest match state is 0x0000008800000000, not 0 (cherry picked from commit e8b5b4881c8eb31bb7de5adef3479305a73fb0bf)
Alibek Omarov c3952404 2023-06-02T05:59:06 hints: clarify support for comma-separated values for QtWayland orientation that's available since 2.0.22 Signed-off-by: Alibek Omarov <a1ba.omarov@gmail.com>
Alibek Omarov 68e3e990 2023-06-02T05:55:42 wayland: reset orientation bitmask before reading values from hint on QtWayland Signed-off-by: Alibek Omarov <a1ba.omarov@gmail.com>
Ozkan Sezer 7f7ea909 2023-05-31T04:50:02 testautomation_guid.c: fix integer warning in 32 bit builds.
Ryan C. Gordon 379a6f4d 2023-05-30T17:04:31 x11: Attempt to wait for SDL_MaximizeWindow to complete before returning. Fixes #7070.
Ryan C. Gordon d275851d 2023-05-29T14:46:58 windows: Don't allow non-resizable windows to be maximized. Fixes #6346.
Ryan C. Gordon a9ded76d 2023-05-19T01:35:08 VisualC: turn on multi-processor compilation. This makes SDL2 build in 12 seconds, instead of 50, on my Windows workstation, with Visual Studio.
Sam Lantinga 5007b963 2023-05-28T19:23:56 Fixed build warning
Sam Lantinga b2e88ecf 2023-05-28T18:41:21 Disable SDL_JOYSTICK_RAWINPUT_XINPUT Apparently when using the Xbox One Wireless Adapter, using XInput at the same time as raw input will cause the controller to turn off immediately after connecting. This appears to be a bug in the Windows 11 driver stack, but since WGI provides all the extended functionality we need, this can be turned off for now. Fixes https://github.com/libsdl-org/SDL/issues/3468
Anonymous Maarten d6cd4506 2023-05-27T02:34:41 windows: SDL_Delay expects a 32-bit integer
Anonymous Maarten e8757759 2023-05-27T02:10:18 windows: SDL_immdevice needs SDL_timer.h include
Anonymous Maarten 72606d97 2023-05-25T15:56:35 cmake: allow #include "SDL2/SDL.h.h" when using SDL2 as subproject
Ryan C. Gordon 48e71ae8 2023-05-26T19:08:24 wasapi: Deal with HDMI or DisplayPort-based audio devices. They can vanish for UP TO EIGHT SECONDS...! This is for devices that connect to HDMI/DisplayPort/etc, where it presumably has to wait for a display to get up and running before it can play audio through it, so one can see the audio device fail when changing display modes, or the system returning from sleep. Since this can be triggered by a game changing video resolutions at startup (either before or after opening the audio device!), it's important to deal with. In normal conditions, it shouldn't take this long to open or recover an audio device, but this is better than unexpectedly losing the device in this situation. Fixes #7044. Fixes #5571.
Sam Lantinga 73083255 2023-05-26T13:57:49 Added support for printing wide strings using "%ls" syntax (cherry picked from commit 128ca7016018178c0c3231db7db2005dbf234068)
Ozkan Sezer 9dea06f5 2023-05-26T23:55:04 fix mingw build failures in CI with clang-tidy. (cherry-picked from commit a8a72de6fbcf9afe8a6e8760f31a79a0ed6fed1a)
Anonymous Maarten c6897636 2023-02-18T04:48:24 Fix -Wunused-function warning when configuring with -DSDL_X11_XINPUT2=OFF
Ryan C. Gordon a535cc62 2023-05-25T10:04:44 video: Only specify some GL context attributes if not the explicit default. Just in case it upsets some OpenGL drivers unnecessarily. Fixes #7730. (cherry picked from commit d4bc393efebdd45a95430397df106b69b1c26df3)
Sam Lantinga 63b8af35 2023-05-23T17:23:30 Disable unused local typedefs warning This triggers on gcc 4.8.4 for compile time asserts inside of functions Fixes https://github.com/libsdl-org/SDL/issues/7732 Co-authored-by: Ozkan Sezer <sezeroz@gmail.com>
Sam Lantinga 3f1fd5ab 2023-05-23T10:59:03 Updated source to match SDL function prototype style
Sam Lantinga 92f72682 2023-05-23T08:44:49 Document the Android SDK versions checked in Java code (cherry picked from commit b48b1ce50042168c5b9b310fa495cb355903c241)
Frank Praznik 891c89ee 2023-05-23T11:15:48 Fix unused variable warnings
Frank Praznik e2b8d965 2023-05-23T10:25:36 wayland: Validate surfaces and window data before sending touch events Ensure that incoming touch events originate from valid surfaces owned by SDL and have proper window data before forwarding them to the touch subsystem, or the window focus pointer that is sent with the event may not be a pointer to an SDL window.
Sam Lantinga 78a92b4f 2023-05-22T13:54:15 Fixed duplicate Joy-Con controllers on macOS If both Apple and HIDAPI drivers see the controller, HIDAPI will be preferred. Fixes https://github.com/libsdl-org/SDL/issues/7479 (cherry picked from commit 61ef4efdfae7e384b0d24b1b171a9ee6203a3f0d)
Sam Lantinga 7b2b99a9 2023-05-22T12:41:03 Fixed handling the Saitek P3600, which doesn't use the Xbox 360 controller protocol (cherry picked from commit cf0abf99118f1ea5ba423ce62950e5840db2c649)
Sam Lantinga b6d051e2 2023-05-22T11:54:46 Fixed reporting backspace key if there is no text in the edit buffer (thanks @312937!) This workaround isn't necessary at API 30 and above. Fixes https://github.com/libsdl-org/SDL/issues/7039 (cherry picked from commit c971795954bc85086cd20cfc71b45a311b7ba0d1)
Sam Lantinga 0ad0347a 2023-05-22T11:51:09 Use numeric codes for Android versions, to avoid SDK dependencies (cherry picked from commit 3f6b2d1a61d0c0dcd6af7cc951c1d8c267ed1526)
Sam Lantinga a2f4783e 2023-05-22T11:30:42 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
Caleb Cornett 2001a891 2023-05-20T13:09:46 Fix Xbox link error from IsRectEmpty (cherry picked from commit 376a3cd100a3d59e887496c75a1ac49ab4a2d8ec)
M. P. Halpin 1ee9a437 2022-12-31T20:45:35 Stop beep when running iOS apps on ARM-based Macs (cherry picked from commit bbf38bbbc334bc0ee90d3eec228a968d8fc1689e)
Sam Lantinga 69644346 2023-05-20T11:09:36 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
Sam Lantinga 00b87f1d 2023-05-20T10:27:48 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
Sam Lantinga beca4148 2023-05-19T14:26:37 Undo name change for the controller list (cherry picked from commit f60622c5103e37f221aa8252acfa9073cfbafbc7)
Sam Lantinga 43b12fd9 2023-05-19T14:22:35 Moved the controller list out so it can be included elsewhere (cherry picked from commit 24007b00b2a5e9d09d953db79a24dd51b78e598b)
Sam Lantinga e8ec8ba1 2023-04-27T17:10:44 Added support for the Astro C40 in Xbox 360 mode (cherry picked from commit a4b4dff4a2998699757f12d29fdd4c632db884fe)
Ozkan Sezer feeec908 2023-05-19T17:00:24 test/testgles2_sdf.c: type fixes from commit e26e893daf, style clean-up.
Anonymous Maarten d361acdd 2023-05-19T15:24:52 testgles2_sdf: build with CMake + fix build errors/warnings
Ozkan Sezer 92a487f2 2023-05-19T14:10:02 style fixes for SDL_PROC macros.
Ryan C. Gordon df9d0fb3 2023-05-18T13:26:55 power: On Linux, compare status strings as case-insensitive. In case something reports "Device" when we expected "device", etc. Reference Issue #6835.
Ryan C. Gordon 4a0b9522 2023-05-17T20:06:58 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 2e646c7141b3009628abda2a964ba5f9d1702e1a)
Ryan C. Gordon 32999798 2023-05-17T19:53:36 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.
valid-ptr 424bc4bc 2023-05-17T20:07:22 SDL emscripten port: preventDefault should not be called on mousedown. Otherwise mouseup will not be fired outside iframe in Chrome-based browsers
Ryan C. Gordon 0eea92c8 2023-05-16T14:38:44 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
Sam Lantinga d42c303b 2023-05-15T21:43:16 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 642504bc5993a6acd4d9c1d4c1314c6b1cf6e4e1)
Sam Lantinga 237348c7 2023-05-10T06:29:35 Changed all variadic macros into fixed (thanks @Wohlstand!)
Ryan C. Gordon 86786ed5 2023-05-08T14:25:01 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.
Sam Lantinga de937286 2023-05-06T08:44:19 Removed redundant __powerpc__ check (cherry picked from commit b6df25c33497388f16a4ed2af896ef14277c8865)
Jeremy Rand 5e74365e 2023-05-06T03:24:02 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 715e070d299fc547cce8c52915b75e6316af6bff. Thanks to RobbieAB for reporting the bug. Fixes https://github.com/libsdl-org/SDL/issues/3428 (cherry picked from commit 9142292f4ad6d9bc8a2bc7c874e2fde54befeb9b)
Loc(Elliot) 3e64fec9 2023-05-04T19:26:50 Fix bug memory acess Bitmap is not initialized before use, that cause segmentation fault on function use it. Fix by allocate memory before use.
Sam Lantinga 707e9397 2023-04-30T21:38:29 Removed memset_pattern4() from SDL headers This requires including string.h, which isn't always done, so this commit simplifies dependencies on macOS Fixes https://github.com/libsdl-org/SDL/issues/3657
Sam Lantinga f72213c4 2023-04-29T17:09:17 By default, OpenBSD uses Linux controller mappings Fixes https://github.com/libsdl-org/SDL/issues/7609 (cherry picked from commit 255c3b7c82968def667da860cbda01f267b4edf1)
Frank Praznik 132b8874 2023-04-27T13:06:00 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.
Linus Probert 8b39eb9b 2023-04-24T20:48:42 wayland: Fixes a memory leak wheere primary selection isn't freed (cherry picked from commit 43f65a6ef08a502485c6107b255a9b22c890acd5)
Ozkan Sezer 0f2322ac 2023-04-24T18:55:14 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 ae9119c36bdcf2214d83c6d35c436d22b5fd03cb)
Ozkan Sezer 5f344c17 2023-04-24T18:47:04 hidapi/mac: import mainstream commit c1b9d2ad https://github.com/libusb/hidapi/commit/c1b9d2ad985c826f7916aa793d4728885a43a0f4 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 62d1a2c836c6176a6c76d54229eafa7d011bb9fb)
Mingjie Shen a688ecd6 2023-04-23T00:26:03 Check return value of SDL_malloc() (cherry picked from commit a4604cb0d616db97921a2674a63b45f3fdfb81bc)
Sam Lantinga 120bc77e 2023-04-19T13:10:39 Report PS3 accelerometer values in m/s2 instead of Gs (cherry picked from commit 0467301baf57389d96fafbe169fb07f4c10169bc)
Anonymous Maarten 535ec1a9 2023-04-18T18:46:35 cmake: allow users of sdl2-config.cmake to not add -mwindows to the link options
Sam Lantinga 7ec9a438 2023-04-06T11:33:27 More defensive coding against dangling device pointers (cherry picked from commit acadb6f873acaa0de094ad10a88f877d540ce0ec)
Sam Lantinga 6d726981 2023-04-06T09:54:39 Clarified the expected sensor value when a game controller is at rest (cherry picked from commit 1a20ccb2897fc9b12ad5242f9128cb6bb60368b1)
Sam Lantinga cb0cf141 2023-04-06T09:54:04 The latest Armor-X Pro firmware update fixes the sign on the Z axis of the sensors (cherry picked from commit 558bbbb07ae0afa0108c1560915351cfa13442b7)
Cyril Dubet 7914234b 2023-04-05T01:21:41 Fix key code names for ISO keyboard layouts (cherry picked from commit 60dcaff7eb25a01c9c87a5fed335b29a5625b95b)
Sam Lantinga 51dcc3bb 2023-04-05T11:37:27 The macOS minimum deployment target is now 10.11 Xcode 14.3 does not allow targeting 10.9, the minimum recommended version is 10.13 and the minimum possible version is 10.11. (cherry picked from commit 73b2faea4e39aa27b4142f9d4d39f5807a3b3688)
Sam Lantinga f6363fde 2023-04-05T11:23:28 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 e13b74ccf0b20a20bd4baf1617bdc4f84c13feb7)
Ozkan Sezer f6339154 2023-04-05T02:10:56 fix build after commit 22685556e5d9fc2e2a7023075e51b69fe770e64a.
Sam Lantinga 57043825 2023-04-04T12:33:41 Fixed crash if dbus can't be initialized (cherry picked from commit cf2c6fa58dea02edb870cff7090fd69f3dfbd081)
Sam Lantinga 22685556 2023-03-30T07:36:40 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 655a07bdd88d6bd19fe97c3abd39a2e2eef252ec)
Sam Lantinga f444eac5 2023-03-30T07:25:49 Fixed analog triggers on the DualSense controller (cherry picked from commit a67d41050164e447048fa55179cc31b23be9d9b7)
Jerome Duval eb0d214c 2023-03-29T21:28:21 Haiku: use a BLooper for events. only create a BApplication when it doesn't already exist.
Frank Praznik 55f74c32 2023-03-29T15:16:59 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.