| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| | |
[X11] Do not fail DisplayServer init if non-essential extensions are missing.
|
| | |
|
|/ |
|
|\
| |
| |
| | |
Add the ability to get per-platform information for joypads
|
| |
| |
| |
| |
| |
| | |
This adds the ability for games to obtain platform-specific information about joypads such as their vendor/product ID, their XInput gamepad index or the real name of the device before it gets swapped out by the gamecontrollerdb's name.
This PR also includes a rebased version of #76045, this is because this PR is intended to be mainly to help people implementing Steam Input, as having the gamepad index is essential.
|
|/
|
|
|
|
|
| |
Send `WINDOW_EVENT_MOUSE_EXIT` when a window is destroyed.
Ensure, that on Windows, the event_callback is still valid during
destroying the `Window`.
|
| |
|
|\
| |
| |
| | |
Optimize SVG icons and remove unused Transpose icon
|
| | |
|
|\ \
| | |
| | |
| | | |
Implement DisplayServer.keyboard_get_label_from_physical method.
|
| | | |
|
|\ \ \
| | | |
| | | |
| | | | |
Prevent double input events on gamepad when running through steam input
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
During GDC and general testing on Steam Deck units, we found that single
gamepads would often register inputs twice under certain circumstances.
This was caused by SteamInput creating a new virtual device, which Godot
registers as a second gamepad. This resulted in two gamepad devices
reporting the same button presses, often leading to buggy input response
on games with no multi-device logic and other-wise could cause intended
Steam rebindings to not work as intended (for example, swapping o and x
on a playstation pad if that feature isn't supported by the game.)
SDL gets around this by taking in a list of devices that are to be
ignored. When valve sees a controller that wants to be rebound via
SteamInput, they push a new VID/PID entry onto the environment
variable `SDL_GAMECONTROLLER_IGNORE_DEVICES` for the original gamepad
so that all game inputs can be read from the virtual gamepad instead.
This leverages the same logic as we are already using SDL gamepad
related HID mappings.
|
|\ \ \
| | | |
| | | |
| | | | |
Allow unbundling OpenXR (for Linux distros)
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Copy XrMatrix4x4f_CreateProjectionFov to our OpenXRUtil, instead of relying
on a private header.
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Add error checks and harmonize behavior of the `set_icon` method.
|
| | |/ /
| |/| | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Added `Image::load_svg_from_(buffer|string)`
|
| |/ / /
| | | |
| | | |
| | | | |
No core dependency to the svg module.
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Fix Linux `move_to_trash` wrongly reporting files as not found
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
We can't rely on the error code from `gio` or `kioclient5`, in my
rudimentary testing they return `1` for both missing files and other
situations like not having a Trash can on the mounted volume.
Fixes #79108.
|
|/ / / / |
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Linux: Link libsquish directly when unbundling, .pc file unreliable
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | | |
Linux: Allow unbundling brotli to use system library
|
| |/ / / / |
|
|/ / / /
| | | |
| | | |
| | | |
| | | |
| | | | |
We don't use that info for anything, and it generates unnecessary diffs
every time we bump the minor version (and CI failures if we forget to
sync some files from opt-in modules (mono, text_server_fb).
|
|/ / /
| | |
| | |
| | | |
Keep on waitin'
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Follow-up to #75932.
Since these icons are only used by the export plugin, it makes sense to
move them and generate the headers there.
The whole `detect.is_active()` logic seems to be a leftover from before
times, as far back as 1.0-stable it already wasn't used for anything.
So I'm removing it and moving the export icon generation to
`platform_methods`, where it makes more sense.
|
|\ \ \
| | | |
| | | |
| | | | |
Fix clearing custom cursor
|
| | | | |
|
|\ \ \ \
| |_|/ /
|/| | |
| | | | |
Fix the conditions for firing 'No such file or directory' error on Linux `move_to_trash`
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
Rename console script to wrapper
|
| | | | | |
|
| |_|_|/
|/| | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This applies our existing style guide, and adds a new rule to that style
guide for modular components such as platform ports and modules:
Includes from the platform port or module should be included with relative
paths (relative to the root folder of the modular component, e.g.
`platform/linuxbsd/`), in their own section before Godot's "core" includes.
The `api` and `export` subfolders also need to be handled as self-contained
(and thus use relative paths for their "local" includes) as they are all
compiled for each editor platform, without necessarily having the api/export
matching platform folder in the include path.
E.g. the Linux editor build will compile `platform/android/{api,export}/*.cpp`
and those need to use relative includes for it to work.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
And make OpenGL video adapter info align with Vulkan.
|
|\ \ \ \
| | | | |
| | | | |
| | | | | |
[Linux/X11] Add a default error handler for X11 to avoid crashes.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The default behaviour for X11 is to crash even on non-fatal errors
when there is no error handler set. This change allows the window to
stay open and may enable users to save their work when things go
wrong.
This acts as a workaround for #65425 and #68471
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | | |
Add an editor option to copy system info to clipboard
|
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
plus minor static-related fixes
* linuxbsd: get_systemd_os_release_info_value() -> static breaks usage if used multiple times
* windows/linuxbsd: get_video_adapter_driver_info() writes info into static
* linuxbsd: get_distribution_name() + get_version() -> write bsd fallback into static variable
* windows/uwp/android: remove unnecessary use of static
|
| | | | | |
| | | | | |
| | | | | |
| | | | | | |
Fixes an `unused-function` warning when building with `udev=no`.
|
|/ / / / /
| | | | |
| | | | |
| | | | | |
The build would fail with GCC 10 from our Linux SDK used for official builds.
|
| | | | | |
|
|\ \ \ \ \
| | | | | |
| | | | | |
| | | | | | |
[DisplayServer] Implement screen_get_image method for LinuxBSD/X11, macOS and Windows.
|