Commit Graph

226 Commits

Author SHA1 Message Date
ben hoffman
49ddb1d8f5 Mark all exec pins as advanced view on Input Action event nodes except for "Triggered". Most of the time the triggered event pin is what users should be connecting to, and making the other pins hidden will improve first time user UX and make it more obvious what pin you should be hooking up to.
There is an editor preference to change what pins show up by default in blueprints, but this change will hopefully point people towards using Input Triggers more instead of relying on undefined input behaviors and improve the first time user experience.

#jira UE-169056
#rb trivial
#preflight 645571d7d77a82d6a790be89

[CL 25395035 by ben hoffman in ue5-main branch]
2023-05-09 16:28:48 -04:00
ben hoffman
ade7c26f12 Remove dependency on InputBlueprintNodes from the InputEditor Module.
The Input Editor module has several features that are using the K2Nodes from enhanced input when it doesnt need to. The Blueprint Node logic should be kept in its own module.

This will allow the K2Nodes to actually read from editor settings and preferences in the rest of enhanced input, which would otherwise cause a circular depedency in the build graph.

This change is really just moving some functions from one module to another, neither module is publically exposed so no deprecation is required.

#rb trivial
#rnx
#preflight 645914ab4c3ec54e6e1070ec

[CL 25375925 by ben hoffman in ue5-main branch]
2023-05-08 15:46:28 -04:00
ben hoffman
2a55341ede Update tooltips/comments on Input Trigger states. Add a note about how to use Enhanced Input debug commands!
#jira UE-169056
#rb trivial
#rnx
#preflight skip

[CL 25375608 by ben hoffman in ue5-main branch]
2023-05-08 15:31:12 -04:00
ben hoffman
66afffe1c9 Allow blueprints to change the bConsumeInput flag on an Input Action at runtime
#jira UE-161061
#rb trivial
#rnx
#preflight skip

[CL 25363352 by ben hoffman in ue5-main branch]
2023-05-05 21:38:13 -04:00
ben hoffman
824216e522 Add a Slate Notification if you add an Input Action that already has mappings in it within an IMC
#jira UE-161462
#rb nate.strohmyer
#rnx
#preflight skip

[CL 25363342 by ben hoffman in ue5-main branch]
2023-05-05 21:37:23 -04:00
ben hoffman
de547b6925 When bIgnoreAllPressedKeysUntilRelease is true, don't only ignore key presses for keys that were in the previous key mappings, but for every key.
This fixes the situation where your key was not in a previous mapping context, but you still want this behavior.

For example:
1. You have an IMC with no key mappings to X
2. Your player presses and holds X
3. While they are holding X, you add an IMC with a mapping to X.
4. That input action should not trigger until the _next_ press of X.

#jira UE-156910
#preflight skip
#rb jodon.Karlik

[CL 25343918 by ben hoffman in ue5-main branch]
2023-05-04 18:10:15 -04:00
michel champoux
175e4c6c6b Made QueryPlayerMappedKeys and GetMappedKeysInRow's failed to find mapping log Verbose instead of Warning.
#rb [at]Ben.Hoffman

[CL 25327684 by michel champoux in ue5-main branch]
2023-05-03 18:05:52 -04:00
ben hoffman
69d1e10d40 Make the display name for getting the enhanced input user settings more explicit!
#jira UE-182138
#rb trivial
#rnx
#preflight skip

[CL 25309655 by ben hoffman in ue5-main branch]
2023-05-02 18:25:48 -04:00
DoubleDeez
36683495a9 PR #10403: Fix not being able to Copy & Paste the Mappings list in an Input Mapp? (Contributed by DoubleDeez)
#jira UE-184724
#rb me
#preflight skip

[CL 25309619 by DoubleDeez in ue5-main branch]
2023-05-02 18:24:17 -04:00
ben hoffman
4f75e6a7e7 Limit the length of a player mappable name to the max length of FName's to properly check for the max length.
#jira UE-181341
#rb jodon.karlik
#preflight skip

[CL 25309609 by ben hoffman in ue5-main branch]
2023-05-02 18:23:50 -04:00
jcb936
f62b2df3f2 PR #10070: Enhanced Input: Resetting the value of the action value bindings when the action is not present in the current mappings (Contributed by jcb936)
#jira UE-175863
#rb me
#preflight skip

[CL 25291653 by jcb936 in ue5-main branch]
2023-05-01 17:06:06 -04:00
mic rooney
0d7e2bc018 Fixing missing include
#preflight none

[CL 25285424 by mic rooney in ue5-main branch]
2023-05-01 12:45:11 -04:00
mic rooney
2f47c3ae3f Making input slots support enum ranges.
[REVIEW] [at]Michel.Champoux, [at]Ben.Hoffman
#preflight 644fcd5520749111212a8be2

[CL 25285118 by mic rooney in ue5-main branch]
2023-05-01 12:17:33 -04:00
yohann dossantos
8cb2e71dea - Fixed drag n drop issue with rows having expanded items.
=> code from CL 17423372 was disabling it explicitely, but I couldn't find any reason or have any repro. The comment talk about disabling between an item and its child, while with a EItemDropZone::BelowItem, it correspond to the bottom part of an item, and not the bottom item, so having the child item expanded or not won't change the drag n drop behavior.
- Fixed drag n drop issue for Input Mapping Context, where drag n dropping could give deterministic but incorrect result when more than 1 mapping exists for a group.
=> the reordering algorithm used requires that the content of the array is ordered by group, while it was not necessarily the case. Starting from this CL, it will (slower but safer algorithm).
- Prevent the drag n drop for Input Mapping Context between rows that are not part of the same parent node.


Tests:
-opened various Input Mapping Context from QA Game, like /Maps/Framework/EnhancedInput/EI_HelperAssets/Controls_3rdPerson/IMC_3rdPerson_Controls.uasset, that was failing 100% on some actions. Drag n dropped groups (collapsed or expanded), even on the last one, and on individual entries with 100% success. Did a lot of drag n drop test (between close elements, first and last, last and first, first and middle,...)
-tried to drag n drop across entries from different parent => it was blocked as expected.
-undo/redo after those operations.
-used drag n drop in other contexts (media play list, data table), no regression noticed when drag n dropping elements.

#jira UE-157906
#rb nate.strohmyer, karen.jirak
#preflight 644fd08e1c2846595c454ffa

[CL 25284259 by yohann dossantos in ue5-main branch]
2023-05-01 11:11:21 -04:00
ben hoffman
35daf13171 Deprecate the Input Editor pieces that reference Player Mappable Input Configs
#jira UE-175936
#prerflight 644ad724b208f61af83532af
#rb trivial

[CL 25225421 by ben hoffman in ue5-main branch]
2023-04-27 18:48:10 -04:00
jodon karlik
472b38353a Properly deprecate old IsDataValid for a new, const version with FDataValidationContext.
This allows your assets to warn on top of erroring out.

#jira UE-183475
#preflight 644ae7701c2846595cbe0e21

[CL 25224515 by jodon karlik in ue5-main branch]
2023-04-27 17:53:18 -04:00
ben hoffman
d38e2797c8 Deprecate the EI Blueprint Library functions to access player mappable slots
#jira UE-175936
#rb trivial
#rnx
#preflight 644ab08a09453df548701b84

[CL 25221263 by ben hoffman in ue5-main branch]
2023-04-27 15:10:11 -04:00
ben hoffman
d1c83dbd22 Correctly update the Display Category and AssociatedInputAction fields when creating a new player-made mapping.
#rb trivial
#rnx
[FYI] Michel.Champoux

[CL 25206567 by ben hoffman in ue5-main branch]
2023-04-26 16:41:11 -04:00
ben hoffman
084eca511d Modify how the OnKeyMappingRegistered function is called so that you can potentially modify the MappingRow from within it. Do this by keeping track of what mapping elements were updated and register them after the initial iteration of existing mappings.
#rb Michel.Champoux
#rnx
#preflight skip

[CL 25205645 by ben hoffman in ue5-main branch]
2023-04-26 15:58:14 -04:00
ben hoffman
7ed71e5338 Add a virtual OnKeyMappingRegistered function that will get called for each key mapping once it is registered with the Enhanced Input user settings. This is a good place to do any Post Initalize logic per key mapping. For example, you are upgrading to this system and already had a key mapping system in place, you can set the key here!
#rb Michel.Champoux
#rnx
#preflight skip

[CL 25202920 by ben hoffman in ue5-main branch]
2023-04-26 13:55:36 -04:00
ben hoffman
d67a263f4f Add some helper functions to the user settings to access the key profile
#rb trivial
#rnx
#preflight skip

[CL 25184510 by ben hoffman in ue5-main branch]
2023-04-25 13:51:48 -04:00
ben hoffman
2dedccb3e9 Expose LogEnhancedInput as part of the API so that it can be used in other modules
#rb trivial
#rnx
#preflight skip

[CL 25134603 by ben hoffman in ue5-main branch]
2023-04-20 15:28:36 -04:00
kirill zorin
d78d7d61ae Updating callsites of ToRawPtr{*}Unsafe in preparation for upcoming mutable TObjectPtr container restrictions.
#rb zousar.shaker
#preflight 64416b5f4f243417cd7c41d7

[CL 25130429 by kirill zorin in ue5-main branch]
2023-04-20 13:00:27 -04:00
kirill zorin
a469aafd78 Update callsites to prepare for upcoming TArray/TArrayView<TObjectPtr<...>> restrictions
#rb zousar.shaker
#rb devin.doucette
#rb steve.robb
#rb robert.manuszewski
#rb saam.barati
#preflight 643f4c09a35280ed4f53ccb3

[CL 25100071 by kirill zorin in ue5-main branch]
2023-04-18 22:39:29 -04:00
ben hoffman
119aaac9f9 Specify what asset is using the mapping name if one exists already, making it much easier to track down in use mappings :)
Add in a cvar 'EnhancedInput.Editor.EnableMappingNameValidation' to toggle name validation, just to make sure that we can do sanity checks that the validation is actually accurate

#rb nate.strohmyer
#rnx
#preflight 643712e90c4277fc0bce6fdf

[CL 25018938 by ben hoffman in ue5-main branch]
2023-04-12 19:29:49 -04:00