godot/core/input
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
..
default_controller_mappings.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
gamecontrollerdb.txt Sync controller mappings DB with SDL2 community repo 2023-02-27 15:59:50 +01:00
godotcontrollerdb.txt Merge pull request #73200 from 0xafbf/fix-guide-button-win 2023-04-03 15:58:36 +02:00
input_builders.py Linux/BSD: Add LINUXBSD_ENABLED define for non X11-related checks 2023-01-16 17:01:35 +01:00
input_enums.h Fix mouse-button-mask on button release in unit test 2023-02-08 01:17:40 +01:00
input_event.cpp Merge pull request #75438 from ronyeh/typo 2023-06-15 10:39:44 +02:00
input_event.h Merge pull request #63168 from Levrault/master 2023-06-05 18:04:39 +02:00
input_map.cpp feat(gamepad): improve gamepad behavior with slider and popup_menu 2023-06-05 10:20:46 -04:00
input_map.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
input.cpp Prevent double input events on gamepad when running through steam input 2023-07-10 15:26:33 -07:00
input.h Prevent double input events on gamepad when running through steam input 2023-07-10 15:26:33 -07:00
SCsub SCons: List .gen.cpp sources explicitly to avoid globbing errors 2021-10-15 22:14:11 +02:00
shortcut.cpp One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00
shortcut.h One Copyright Update to rule them all 2023-01-05 13:25:55 +01:00