Remapping Enhanced Input Actions With Multiple Keys

Hey all, so I’ve got a question about remapping keys within the enhanced input action system.

So here’s what I got: I have a “Settings” menu that houses all the key bindings the player will need. These key bindings include a set for Mouse & Keyboard, as well as Gamepad. I am trying to find a way to remap individual keys for each input action. For example: I have ‘Jump’ set up as ‘Space’ and ‘Gamepad Face Bottom,’ and I want to only change the keyboard binding, not the gamepad binding.

I also want the input selectors to show the default key mappings at the start, obviously. I have a decent amount of this set up in my blueprints, the only problem is pulling the separate keys from each input action. What ends up happening is the input selectors pull the first option from the input action, and I have no idea how to specify which binding I want to change within the input action.

I’m attaching screenshots to further show what I’m trying to explain. I really don’t want to have to break my action mappings into individual keys, so if there is a way to achieve this I’d really love to know.

Thanks!!

image
These are all of my Input Actions inside the Mapping Context. You can see I have 2 different bindings - ‘Space Bar’ and "Gamepad…’


This is an example of me setting up the initial default value of the input selector by passing the default bindings from the action mapping. Since I don’t know how to separate which binding I want to change…


The keyboard and gamepad bindings will share the first index of the input action and not show their individual values.

I don’t know if anyone ever answered this for you but here’s how you do this (I also covered it a bit in this: Unreal engine 5.2 EIS: Custom Keybinding! (saving too!) - YouTube

First you want to ensure you have different names for the different control schemes in the player mappable options:

once you do that you can now find the correct one as they will have different options name despite sharing the same display name


I only use it so that I can have separate bindings between controller and keyboard but it would allow for a lot of other things too

5 Likes

fyi this solution doesn’t work in 5.3 looking to find a work around

Got it https://youtu.be/sV1X4zXan6M

In the video that you are showing, for example the part of your “IA_Interact”, you think it is possible that I would in a example have the keyboard key E. By pressing it I would grab my item, but on the same “IA_Interact”, when I press Q(as a example) I can drop the item?