ShadowBlip / OpenGamepadUI

Open source gamepad-native game launcher and overlay
https://opengamepadui.readthedocs.io
GNU General Public License v3.0
398 stars 16 forks source link

fix(Input): add limited input mappings when not running InputPlumber #366

Closed ShadowApex closed 3 months ago

ShadowApex commented 3 months ago

Thinking about it more, I think having limited input mappings for when InputPlumber is not running (or does not support a specific controller) is nice to have. This partially reverts https://github.com/ShadowBlip/OpenGamepadUI/commit/e62e2964f11705a353937c6b8fde92c784e414a4 but just adds South, East, and Guide to avoid the original issue with https://github.com/godotengine/godot/issues/87112

pastaq commented 3 months ago

This doesn't seem to solve the infinite recursion bug where sending guide back to InputPlumber is picked up by the Godot input system, which then triggers guide to be sent back to input plumber again. That was the real reason we reverted the changes.

Perhaps we can add a function to the overlay input manager that blocks responding to guide from the input system unless InputPlumber is not running. Something like _handle_raw_guide -> bool that will return false if InputPlumber is loaded, or if the event didn't come from InputPlumber.

github-actions[bot] commented 3 months ago

:tada: This issue has been resolved in version 0.32.10 :tada:

The release is available on GitHub release

Your semantic-release bot :package::rocket: