godot/platform/linuxbsd
Eoin O'Neill 8de98dbf21 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.
2023-07-10 15:26:33 -07:00
..
doc_classes Fix docs after renaming export option 2023-06-12 23:59:55 +02:00
export SCons: Move platform logo/run icon to export folder 2023-06-20 13:16:37 +02:00
x11 Merge pull request #74511 from AThousandShips/win_cursor_fix 2023-06-20 00:00:57 +02:00
crash_handler_linuxbsd.cpp Make PIE relocation detection glibc-only 2023-01-21 17:59:52 +01:00
crash_handler_linuxbsd.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
dbus-so_wrap.c [X11] Add support for dead keys without active IME. Fix IME focus and cleanup. 2023-01-30 13:31:48 +02:00
dbus-so_wrap.h [X11] Add support for dead keys without active IME. Fix IME focus and cleanup. 2023-01-30 13:31:48 +02:00
detect.py SCons: Move platform logo/run icon to export folder 2023-06-20 13:16:37 +02:00
fontconfig-so_wrap.c [X11] Add support for dead keys without active IME. Fix IME focus and cleanup. 2023-01-30 13:31:48 +02:00
fontconfig-so_wrap.h [X11] Add support for dead keys without active IME. Fix IME focus and cleanup. 2023-01-30 13:31:48 +02:00
freedesktop_portal_desktop.cpp Style: Harmonize header includes in platform ports 2023-06-08 15:19:19 +02:00
freedesktop_portal_desktop.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
freedesktop_screensaver.cpp Check DBus loading status before attempting to detect its version 2023-05-11 19:29:10 +02:00
freedesktop_screensaver.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
godot_linuxbsd.cpp Style: Harmonize header includes in platform ports 2023-06-08 15:19:19 +02:00
joypad_linux.cpp Prevent double input events on gamepad when running through steam input 2023-07-10 15:26:33 -07:00
joypad_linux.h Style: Harmonize header includes in platform ports 2023-06-08 15:19:19 +02:00
libudev-so_wrap.c [X11] Add support for dead keys without active IME. Fix IME focus and cleanup. 2023-01-30 13:31:48 +02:00
libudev-so_wrap.h [X11] Add support for dead keys without active IME. Fix IME focus and cleanup. 2023-01-30 13:31:48 +02:00
os_linuxbsd.cpp Merge pull request #67158 from amoriqbal/fix_error_message 2023-06-19 10:26:50 +02:00
os_linuxbsd.h Style: Harmonize header includes in platform ports 2023-06-08 15:19:19 +02:00
pck_embed.ld Effective DisplayServer separation, rename X11 -> LinuxBSD 2020-03-26 15:49:34 +01:00
pck_embed.legacy.ld Effective DisplayServer separation, rename X11 -> LinuxBSD 2020-03-26 15:49:34 +01:00
platform_config.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
platform_linuxbsd_builders.py SCons: Format buildsystem files with psf/black 2020-03-30 09:05:53 +02:00
README.md Update all outdated online documentation links 2023-01-14 19:38:00 +03:00
SCsub [Linux] Make SO wrapper usage optional. 2023-02-16 16:38:47 +02:00
speechd-so_wrap.c [X11] Add support for dead keys without active IME. Fix IME focus and cleanup. 2023-01-30 13:31:48 +02:00
speechd-so_wrap.h [X11] Add support for dead keys without active IME. Fix IME focus and cleanup. 2023-01-30 13:31:48 +02:00
tts_linux.cpp [Linux/TTS] Cache TTS voice list. 2023-06-02 14:00:52 +03:00
tts_linux.h [Linux/TTS] Cache TTS voice list. 2023-06-02 14:00:52 +03:00
xkbcommon-so_wrap.c [X11] Add support for dead keys without active IME. Fix IME focus and cleanup. 2023-01-30 13:31:48 +02:00
xkbcommon-so_wrap.h [X11] Add support for dead keys without active IME. Fix IME focus and cleanup. 2023-01-30 13:31:48 +02:00

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

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.