2006-02-28

XInput

This post is related to the comments by AC in the previous post regarding XInput. I thought it might be beneficial for everyone if I just made a post out of it.

In case you haven't read the comments, here's a synopsis. AC mentioned that the XBOX 360 wired controller works with the December release of DirectX 9c, which includes XInput, a new controller API that is essentially the same as the XBOX 360 API.

I was curious as to whether or not the API would work with other controllers or just the XBOX 360 controller.

According to MSDN :

"XInput is an API that allows applications to receive input from the Xbox 360 Controller for Windows. This document describes the differences between XInput and DirectInput implementations of the Xbox 360 Controller and how you can support XInput devices and legacy DirectInput devices at the same time."

"By supporting XInput only, your game will not work with legacy DirectInput devices. XInput will not recognize these devices."

So even if you use XInput, you still have to have a DirectInput implementation, unless you only want to support the XBOX 360 controller (or future XInput enabled devices).

I like the fact that the API is the same as, or at least similar to, the console version, making XBOX 360 porting a lot easier. Plus the API is so much cleaner than DirectInput. I believe that this is one of the goals of XNA, to have an API that is common to all devices, and to simplify cross-platform development.

0 Comments:

Post a Comment

<< Home