XInput [1/4]: Implement XInputGetState

Michael Gruber at
Thu Jul 9 05:50:30 CDT 2009

On Thu, Jul 9, 2009 at 09:50, Stefan Dösinger<stefandoesinger at> wrote:
> Am 09.07.2009 um 02:58 schrieb Michael Gruber:
>> This patch series implements parts of the XInput library. You can use
>> this to play games that support Xbox 360 Controllers. To be able to
>> use this you will need to have your Controller working on Linux via
>> the xpad kernel driver and the event interface. It will not work on
>> any OS other than Linux. It supports gamepads, should work with
>> guitars and wheels, but will not work with dance-mats.
>> <1-XInputGetState.patch>
> Is it possible to implement XInput on top of DirectInput? DirectInput
> already has some internal abstraction layers for differnet joystick APIs,
> and has basic support for OSX joysticks. Does DInput have enough
> capabilities to access all the Xbox controller's features? My gut says no,
> otherwise MS wouldn't have created a new lib. I guess its worth checking
> though.

I actually wrote an implementation on top of DirectInput earlier, but
I ditched it since I couldn't get the features to work that I wanted.
For example DirectInput does not support FF_RUMBLE, only FF_PERIODIC
can be used. This means that the two vibration motors cannot be
adjusted independently. Also, with DirectInput I was unable to
re-connect the controller while an application was using it.

More information about the wine-devel mailing list