The issue might be on the hardware side. I think the gamepad maps the dpad to the analog stick instead of typical xbox dpad, so I reckon that's probably it. A and B buttons worked fine though!
Ah that makes sense. I have some code somewhere that snaps analog stick to 8 directions and -1 to 1 vectors, but I ran out of time to implement, even on my target controllers.