58ff96b8b7
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.
(cherry picked from commit
|
||
---|---|---|
.. | ||
doc_classes | ||
export | ||
x11 | ||
crash_handler_linuxbsd.cpp | ||
crash_handler_linuxbsd.h | ||
dbus-so_wrap.c | ||
dbus-so_wrap.h | ||
detect.py | ||
fontconfig-so_wrap.c | ||
fontconfig-so_wrap.h | ||
freedesktop_portal_desktop.cpp | ||
freedesktop_portal_desktop.h | ||
freedesktop_screensaver.cpp | ||
freedesktop_screensaver.h | ||
godot_linuxbsd.cpp | ||
joypad_linux.cpp | ||
joypad_linux.h | ||
libudev-so_wrap.c | ||
libudev-so_wrap.h | ||
os_linuxbsd.cpp | ||
os_linuxbsd.h | ||
pck_embed.ld | ||
pck_embed.legacy.ld | ||
platform_config.h | ||
platform_linuxbsd_builders.py | ||
README.md | ||
SCsub | ||
speechd-so_wrap.c | ||
speechd-so_wrap.h | ||
tts_linux.cpp | ||
tts_linux.h | ||
xkbcommon-so_wrap.c | ||
xkbcommon-so_wrap.h |
Linux/*BSD platform port
This folder contains the C++ code for the Linux/*BSD platform port.
See also misc/dist/linux
folder for additional files
used by this platform.
Documentation
- Compiling for Linux/*BSD
- Instructions on building this platform port from source.
- Exporting for Linux/*BSD
- Instructions on using the compiled export templates to export a project.
Artwork license
logo.png
is derived from the Linux logo:
Permission to use and/or modify this image is granted provided you acknowledge me lewing@isc.tamu.edu and The GIMP if someone asks.