UMG blocks Dpad

Hi,

UMG blocks DPad Action Mappings. Focus in UMG Widgets - Blueprint - Unreal Engine Forums

Hello Timbo,

Place the following in the same blueprint that is creating the widget. Mine is placed in the player controller.

Then using the OnKeyDown function that can be found under the “Input” section of the “My Blueprint” panel I set up the following example. This example prints out the corresponding direction of the button that is pressed.

Make it a great day

UPDATE: Corrected a mistake and removed a reference to a bug that was actually working as intended.

To be clear, the OnKeyDown function must be overridden in the blueprint that creates the widget? It cannot be done in the widget itself?

Hello KratterFoot,

The override needs to be done within widget blueprint that you are using. The wording above is a little misleading. It mentions the “MyBlueprint” panel, this is the name of one of the panels inside of the widget blueprints event graph. I hope that this information helps.

Make it a great day

Hello! I am unable to reproduce this fix in the binary 4.9.2. I am using on key down to successfully read everything save the d pad, L-stick values, and the bottom face button. These are all keys that are used with the new User Focus based UMG controller support. Are these keys being captured under the hood, or is there a way I can overrule just a few of them with OnKeyPressed in blueprint, while still making use of the built in controller support?

Thanks for your quick reply, sorry about my own slow one. =]

Ryan

After looking into this issue I have a quick question for you. Could you try using “Set User Focus” on begin play in the character controller? I did this and was able to get the on key down to register my input from the controller.

Hello all,

not sure whether this is exactly the same issue, but I have got a problem with D-Pad input as well. I have a UMG widget added to the viewport, and it overrides the OnKeyDown function. The OnKeyDown always returns “unhandled”, and subsequently I can read out any pressed gamepad button in my PlayerController, even when the widget is shown. Any gamepad button EXCEPT the D-Pad.

The OnKeyDown fires and even returns “unhandled”, but the D-Pad press doesn’t seem to reach the PlayerController. What am I missing here?

Hello ,

I have a few questions for you that will help narrow down what issue it is that you are experiencing.

Quick questions:

  1. What engine version are you using?
  2. Can you reproduce this issue in a clean project?
  3. If so, could you provide a detailed list of steps to reproduce this issue on our end?
  4. Could you provide screen shots of any blueprints that may be involved?

Hi Rudy,

I have recorded a short video and sent you the link via private message in the forums. The engine version is 4.11 (Preview 7).

Thanks for your help!

Hello ,

I was able to reproduce this issue on our end. I have written up a report ( UE-28825) and I have submitted to the developers for further consideration. I will provide updates with any pertinent information as it becomes available. Thank you for your time and information.

Make it a great day

Hello ,

This is a reply in regards to the private message sent on the forums. I went ahead and double checked on this issue for you, however it appears that this issue’s status has not yet been updated to fixed.

Hey Rudy,

whoops. Wasn’t expecting your answer in this thread. Thanks for the update! :slight_smile:

Was this ever fixed or a workaround found?

Was there a fix? D Pad still does not appear to work in 5.2.1.

Unsure if this will fix the exact issue you’re having, but I was able to fix my problem by tossing this code snippet into BeginPlay of my PlayerController class! Seems like it essentially turns off the default slate navigation so you can do your own thing.

	if (!IsNetMode(NM_DedicatedServer))
	{
		if (IsLocalController())
		{
			TSharedRef<FNavigationConfig> Navigation = MakeShared<FNavigationConfig>();
			Navigation->bTabNavigation = false;
			Navigation->bAnalogNavigation = false;
			Navigation->bKeyNavigation = false;
			FSlateApplication::Get().SetNavigationConfig(Navigation);
		}
	}
1 Like