Input System 1.4.1 released

Hi and thanks for reporting the issues about WASD keys not working for your setup.

This behavior is related to the keyboard shortcut fix in v1.4.1.
From the CHANGELOG.md:

"Added support for keyboard shortcuts and mutually exclusive use of modifiers.
In short, this means that a “Shift+B” binding can now prevent a “B” binding from triggering.
OneModifierComposite, TwoModifiersComposite, as well as the legacy ButtonWithOneModifierComposite and ButtonWithTwoModifiersComposite now require their modifiers to be pressed before (or at least simultaneously with) pressing the target button.
This check is performed only if the target is a button. For a binding such as “CTRL+MouseDelta” the check is bypassed. It can also be manually bypassed via the overrideModifiersNeedToBePressedFirst.
State change monitors on a device (IInputStateChangeMonitor) are now sorted by their monitorIndex and will trigger in that order.
Actions are now automatically arranging their bindings to trigger in the order of decreasing “complexity”. This metric is derived automatically. The more complex a composite a binding is part of, the higher its complexity. So, “Shift+B” has a higher “complexity” than just “B”.
If an binding of higher complexity “consumes” a given input, all bindings waiting to consume the same input will automatically get skipped. So, if a “Shift+B” binding composite consumes a “B” key press, a binding to “B” that is waiting in line will get skipped and not see the key press.
If your project is broken by these changes, you can disable the new behaviors via a feature toggle in code:
InputSystem.settings.SetInternalFeatureFlag(“DISABLE_SHORTCUT_SUPPORT”, true);"

Due to the above change, having multiple actions bound to the same controls active at the same time could now come into conflict, with one of them “consuming” the input.
In this case there might be other Input Actions enabled within the Input Action Asset also using the WASD keys in a composite binding.
For instance if there is a ‘UI’ Action Map and that is also using the WASD keys for the Navigate Action.

A solution for this case could be to disable any Action Maps which contain duplicate controls when not in use or change/delete any Actions with conflicting controls bound to them.
There is also the feature flag to disable the new shortcut behaviour:

InputSystem.settings.SetInternalFeatureFlag("DISABLE_SHORTCUT_SUPPORT", true);

In the meantime the team is looking into different ways that we can improve this behavior, making it more intuitive and configurable while still being able to keep the shortcut key support as that was a heavily requested feature.
We will keep you posted.

5 Likes