o Ensure PasteBlocks() deals with invalid selection - when copied type is binding we need to have a valid Action selected to paste into.
o Ensure Paste option is only present in context menu when appropriate.
o Fix menu separator presence (or absense).
o Action Maps view: can Paste ActionMap or Action (if a map is present).
o Actions view: can paste Actions or Bindings depending on selected item context.
* Added documentation in Mouse.cs to specify the independent behaviour between position and delta. This is to help clarify ISXB-819
* Adjusted mouse.cs positions and delta documentation.
* doc amendments
Moved new docs to <remarks> section, and improved wording.
---------
Co-authored-by: Ben Pitt <benp@unity3d.com>
* [Input System] The "Add Control Scheme..." popup now requires explicit Save/Close user action (case ISXB-1131)
o Previously clicking outside the popup window (anywhere in the editor) would close the popup window.
o This would leave a new blank (unnamed, orphaned) control scheme populating the UI - this was confusing.
o Now this popup will persist until the user explictly chooses to Save or Cancel.
* [Input System] Added CHANGELOG entry for "Add Control Scheme..." popup fix (case ISXB-1131)
* [Input System] Fix typo in CHANGELOG entry - removed extraneous final closing parenthesis.
* [Input System] Licensing failure - try limiting to version 2021.3.45f
* Check if pointer state touchID matches cached TouchControl touchID
Covers the edge case of releasing one finger and pressing with another in the same frame.
* Add unit test to avoid regression
* Add pointerId to the asserts
* Update CHANGELOG.md
* Apply changes based on review
* Get pointer state index based on pointerIds instead of touch controls cache
The commit also:
- Expands unit test case
- Removes m_PointerTouchControls as they were not being used anymore
* Fix compiling error
* Fix again compile errors
* Fix CHANGELOG.md
* Removed wrong changelog entry
* [Input System] Improvement for event handling in FixedUpdate mode
Previously InputAction.WasPerformedThisFrame() could be true for consecutive frames.InputAction.
This happens in frames where no FixedUpdate steps are run.
This was only required to fix projects created with 1.8.0-pre-release versions.
As it adds a performance cost on each domain reload the decision was made to removing this performance improvement.
* Pair simulated touchscreen with PlayerInput user
* Add period to end of sentence
* Fix formatting
* Refactored initial fix to queue state events instead
Based on review and code comments, this seems like a better solution that fixes the main problem and also better simulates a touchscreen when used together with PlayerInput.
Automatic pairing and control scheme occurs now since we're using input events a real device would also use.
* Change logic to be based on state events
The previous logic was based on changing state and didn't apply if we queued events.
Also, this commit avoids processing the queued events for the simulated Touchscreen.
* Remove unnecessary left over code
* Fix setting wrong touchIDs when moving multiple touches
* FIX: ISXB-687 Added guard clause to RemovePointerAtIndex in InputSystemUIInputModule to not remove touch pointers on the same frame they are released.
* Added changelog entry for fix ISXB-543
* Fixed infinite loop caused by FilterPointerStatesByType() trying to force their release on the same frame they occur.
Ran the formatter and applied changes to CHANGELOG.md
* Fixed issue where touch pointers don't get released when mouse or pen inputs happen.
* Fixed incorrect boolean logic in InputSystemUIInputModule.cs causing certain pointers to be incorrectly released or not released.
* Moved changelog entry for ISXB-687 into unreleased.
* Moved double touch pointer changelog entry to unreleased.
* Removed additional duplicate entries in changelog
* Removed superfluous code to get pointer state that is never used in InputSystemUIInputModule.
[Input System] MakeEscapedJsonString now null-checks inputs. Empty strings also now bypass an allocation.
This matches older behaviour on null-checking descriptor fields which is needed for certain device implementations.
* Added message to notify the user if a PlayerInputComponent fails to bind a control scheme (ISXB-1020)
This can happen if there are multiple game objects with PlayerInputComponent's and not enough devices to support them
* FIX: Modified scope of ENABLE_CLOUD_SERVICES_ANALYTICS to support editor analytics.
---------
Co-authored-by: Lyndon Homewood <33493311+lyndon-unity@users.noreply.github.com>
* [InputSystem] Fixed potential crash on Mac when using stale references to deleted InputDevice objects (case ISXB-606)
o Stale InputDevice references were resulting in random memory accesses.
o On Mac some invalid memory accesses (to kernel reserved VM ranges) cannot be caught by the application - the kernel will terminate the process instead.
o Add deviceIndex checks when accessing DoubleBuffers front/back buffers to avoid reading random memory.
* Change currentStatePtr null check.
* ISXB-543 Implemented custom drawer base for enums as well as on specific to gamepad buttons. Also removed aliased values in GamepadButton enum
* Removed custom enum drawer.
* Added changes to changelog.
* Re-added aliased enums into GamepadButton for compatibility with existing projects. Added custom aliased enum drawer base and custom enum drawer for GamepadButton to hide aliased values.
* Ran the formatter on commit changes.
* Revert "ISXB-543 Implemented custom drawer base for enums as well as on specific to gamepad buttons. Also removed aliased values in GamepadButton enum"
This reverts commit 110e5c6df1.
# Conflicts:
# Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/AliasedEnumPropertyDrawer.cs.meta
# Packages/com.unity.inputsystem/InputSystem/Editor/PropertyDrawers/GpadButtonPropertyDrawer.cs.meta
* Reworked GpadButtonPropertyDrawer according to feedback.
Removed general AliasedEnumPropertyDrawer script.
* Fixed GamepadButtonPropertyDrawer issues based on PR feedback.
-Renamed GpadButtonPropertyDrawer to GamepadButtonPropertyDrawer.
-Fixed nullref issue caused by m_EnumDisplayNames being reset when entering/exiting play mode.
-Simplified code for setting up enum list.
-Updated CHANGELOG.md
* Moved changelog entry for ISXB-543 into correct version and added link to jira.
* Changed jira link in changelog for ISXB-543 to public issue tracker.
FIX: Fixed DualSense controllers being recognized as DualShock4 (ISX-1411)
* [InputSystem] Fix for generic DualShock4 InputDeviceMatcher claiming DualSense devices too!
o The generic DualShock4GamepadHID InputDeviceMatcher would erroneously claim to
match DualSense devices based on the simplistic count of how many properties match.
o The previous regex removal change added another WithManufacturerContains() which
increased their score when comparing against DualSense controllers making the DualShock4
the best match.
o Removing the additional property match restores the original behaviour.
o DualShock3GamepadHID has also been fixed here.
o These generic matchers are problematic and were only added to work around a defect in an
older version of OSX when connecting over Bluetooth where no product or vendor were reported.
This defect is no longer present on MacOS but these matchers are kept to support off-brand devices.
o Ideally we could weight VID and PID properties more heavily.
* Added CHANGELOG entry for FIX: DualSense controllers being recognized as DualShock4