How get dpad key in widget On Key Down/Up?

I’m trying to read the gamepad and keyboard input to switch between some ui inside a widget, the issue i’m having is inside the widget override on key down/up i can read all input except gamepad dpad, and A(on xbox controller) , also on keyboard the arrow keys, spacebar and enter keys.

Am i doing something wrong? is input absorbed by ue4 navigation?


  1. create widget, add to viewport, set gameinput mode ui only.
  2. Focus the first button inside a vertical box

this is a simple test im running inside the widget to print the keys

Did you figure this out? I’m in a similar situation, I can’t get any input from the Xbox controller in my widget.

Following up on my earlier comment I found a solution. Instead of using On Key Down do the following:

  1. In your widget set input mode to Game And UI (this does not work with input mode UI Only)
  2. Create an Input Action Mapping in project settings to handle gamepad input from the D-pad
  3. In your widget call Listen For Input Action (this does not work with Axis mappings)
  4. From Listen for Input Action wire the Callback to a custom event that then handles the input

I’m using version 4.18, hopefully later versions will support axis mappings and support input mode UI Only. This video explains it well: WTF Is? Listen for Input Action in Unreal Engine 4 ( UE4 ) - YouTube

i found out that ue4 in input mode ui only the navigation absorbs some input ie. like the keyboard enter or the arrow keys and game pad arrows and face button down, but after fiddling around, i found out that i had some issue with the ui elements hierarchy, and there is also a interaction category in those elements with the is focusable, had that turned off. I also tried to do the navigation to a specific element instead of the escape option, this helped me too.