You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: Packages/com.unity.inputsystem/CHANGELOG.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -27,11 +27,14 @@ however, it has to be formatted properly to pass verification tests.
27
27
- Fixed an issue where removing the InputSystem package could lead to invalid input handling settings.
28
28
- Fixed `ArgumentOutOfRangeException` when adding a new Control Scheme with any Device selected. [ISXB-1129](https://issuetracker.unity3d.com/product/unity/issues/guid/ISXB-1129)
29
29
- Fixed a CS0105 compiler warning due to duplicate using statement in test source code (ISXB-1247).
30
+
- Fixed tooltip support in the UI Toolkit version of the Input Actions Asset editor.
31
+
- Fixed documentation to clarify bindings with modifiers `overrideModifiersNeedToBePressedFirst` configuration [ISXB-806](https://issuetracker.unity3d.com/product/unity/issues/guid/ISXB-806).
30
32
- Fixed an issue in `Samples/Visualizers/GamepadVisualizer.unity` sample where the visualization wouldn't handle device disconnects or current device changes properly (ISXB-1243).
31
33
32
34
### Changed
33
35
- Added back the InputManager to InputSystem project-wide asset migration code with performance improvement (ISX-2086).
34
36
- Changed `OnScreenControl` to automaticaly switch, in Single Player with autoswitch enabled, to the target device control scheme when the first component is enabled to prevent bad interactions when it start.
37
+
- Changed paremeter `overrideModifiersNeedToBePressedFirst` to obsolete for `ButtonWithOneModifier`, `ButtonWithTwoModifiers`, `OneModifierComposite` and `TwoModifiersComposite` in favour the new `modifiersOrder` parameter which is more explicit.
35
38
- Changed `Samples/Visualizers/GamepadVisualizer.unity` to visualize the control values of the current device instead of the first device.
Copy file name to clipboardExpand all lines: Packages/com.unity.inputsystem/InputSystem/Actions/Composites/ButtonWithOneModifier.cs
+70-4Lines changed: 70 additions & 4 deletions
Original file line number
Diff line number
Diff line change
@@ -1,3 +1,4 @@
1
+
usingSystem;
1
2
usingSystem.ComponentModel;
2
3
usingUnityEngine.InputSystem.Layouts;
3
4
usingUnityEngine.InputSystem.Utilities;
@@ -79,16 +80,72 @@ public class ButtonWithOneModifier : InputBindingComposite<float>
79
80
/// still trigger. Default is false.
80
81
/// </summary>
81
82
/// <remarks>
82
-
/// By default, <see cref="modifier"/> is required to be in pressed state before or at the same time that <see cref="button"/>
83
+
/// By default, if the setting <see cref="InputSettings.shortcutKeysConsumeInput"/> is enabled,
84
+
/// <see cref="modifier"/> is required to be in pressed state before or at the same time that <see cref="button"/>
83
85
/// goes into pressed state for the composite as a whole to trigger. This means that binding to, for example, <c>Shift+B</c>,
84
86
/// the <c>shift</c> key has to be pressed before pressing the <c>B</c> key. This is the behavior usually expected with
85
87
/// keyboard shortcuts.
86
88
///
87
89
/// This parameter can be used to bypass this behavior and allow any timing between <see cref="modifier"/> and <see cref="button"/>.
88
90
/// The only requirement is for them both to concurrently be in pressed state.
91
+
///
92
+
/// To don't depends on the setting please consider using <see cref="modifiersOrder"/> instead.
89
93
/// </remarks>
94
+
[Tooltip("Obsolete please use modifiers Order. If enabled, this will override the Input Consumption setting, allowing the modifier keys to be pressed after the button and the composite will still trigger.")]
95
+
[Obsolete("Use ModifiersOrder.Unordered with 'modifiersOrder' instead")]
90
96
publicbooloverrideModifiersNeedToBePressedFirst;
91
97
98
+
/// <summary>
99
+
/// Determines how a <c>modifiers</c> keys need to be pressed in order or not.
100
+
/// </summary>
101
+
publicenumModifiersOrder
102
+
{
103
+
/// <summary>
104
+
/// By default, if the setting <see cref="InputSettings.shortcutKeysConsumeInput"/> is enabled,
105
+
/// <see cref="modifier"/> is required to be in pressed state before or at the same time that <see cref="button"/>
106
+
/// goes into pressed state for the composite as a whole to trigger. This means that binding to, for example, <c>Shift+B</c>,
107
+
/// the <c>shift</c> key has to be pressed before pressing the <c>B</c> key. This is the behavior usually expected with
108
+
/// keyboard shortcuts.
109
+
///
110
+
/// If the setting <see cref="InputSettings.shortcutKeysConsumeInput"/> is disabled,
111
+
/// modifiers can be pressed after the button and the composite will still trigger.
112
+
/// </summary>
113
+
Default=0,
114
+
115
+
/// <summary>
116
+
/// <see cref="modifier"/> is required to be in pressed state before or at the same
117
+
/// time that <see cref="button"/> goes into pressed state for the composite as a whole to trigger. This means that binding to,
118
+
/// for example, <c>Ctrl+B</c>, the <c>ctrl</c> key have to be pressed before pressing the <c>B</c> key.
119
+
/// This is the behavior usually expected with keyboard shortcuts.
120
+
/// </summary>
121
+
Ordered=1,
122
+
123
+
/// <summary>
124
+
/// <see cref="modifier"/> can be pressed after <see cref="button"/>
125
+
/// and the composite will still trigger. The only requirement is for all of them to concurrently be in pressed state.
126
+
/// </summary>
127
+
Unordered=2
128
+
}
129
+
130
+
/// <summary>
131
+
/// If set to <c>Ordered</c> or <c>Unordered</c>, the built-in logic to determine if modifiers need to be pressed first is overridden.
132
+
/// </summary>
133
+
/// <remarks>
134
+
/// By default, if the setting <see cref="InputSettings.shortcutKeysConsumeInput"/> is enabled,
135
+
/// <see cref="modifier"/> is required to be in pressed state before or at the same time that <see cref="button"/>
136
+
/// goes into pressed state for the composite as a whole to trigger. This means that binding to, for example, <c>Shift+B</c>,
137
+
/// the <c>shift</c> key has to be pressed before pressing the <c>B</c> key. This is the behavior usually expected with
138
+
/// keyboard shortcuts.
139
+
///
140
+
/// If the setting <see cref="InputSettings.shortcutKeysConsumeInput"/> is disabled,
141
+
/// modifiers can be pressed after the button and the composite will still trigger.
142
+
///
143
+
/// This parameter can be used to bypass this behavior and enforce the timing order or allow any timing between <see cref="modifier"/> and <see cref="button"/>.
144
+
/// The only requirement is for them both to concurrently be in pressed state.
145
+
/// </remarks>
146
+
[Tooltip("By default it follows the Input Consumption setting to determine if the modifers keys need to be pressed first.")]
0 commit comments