You should use the --trace command and it will tell you what the input mapping for the dpad is. What does --trace look like when you push the dpad buttons? Usually, dpad is listed as dpad instead of axis or button.
--trace says they correspond to buttons 11, 12, 13, and 14, so I left it like this:
{ "button": 11, "targetButtons": [ { "button": "dpad1" } ] },
{ "button": 12, "targetButtons": [ { "button": "dpad2" } ] },
{ "button": 13, "targetButtons": [ { "button": "dpad3" } ] },
{ "button": 14, "targetButtons": [ { "button": "dpad4" } ] }
But the program closes on me, and I'm not sure what I'm doing wrong.
EDIT: I've solved it. My problem was that I wasn't typing "up, down, left, and right"
{ "button": 11, "targetButtons": [ { "button": "Up" } ] },
{ "button": 12, "targetButtons": [ { "button": "Down" } ] },
{ "button": 13, "targetButtons": [ { "button": "Left" } ] },
{ "button": 14, "targetButtons": [ { "button": "Right" } ] }