Raw Input:
Used it only once with a funky gamepad and it was OK, somewhat cumbersome to set up, though.