Have you tried using a visible or invisible onscreen cursor sprite that is controlled by the gamepad movement inputs?
use cursor collision detection events to detect when the cursor is over the buttons
Depending on the layout of your buttons on the screen you could make the cursor snap to the buttons as well for ease of use.
moving the cursor object X number of pixels at a time.