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

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