Yet another attempt at a proper xpad driver module. Maybe I won't fuck it up this time.