Getting somewhere with this XInput stuff, but it's not finished yet.