Custom XInput wrapper