The utility I used is extremely flexible but neither easy to use nor well-documented. I was able to set up the directional pad as buttons, but the "obvious" way is broken and while I can see what changes are needed to fix it my C (and understanding of how the author did things) isn't up to it.
MarkMLl