Skip to content
TheNathannatorPublic

About

A .NET Standard 2.0 library that provides direct communication with the Xbox 360 controller driver (aka XUSB driver) on Windows

Topics

Resources

Stars

6 stars

Watchers

2 watching

Forks

Latest commit

 

History

121 Commits

Folders and files

Repository files navigation

SharpXusb

A .NET Standard 2.0 library that provides direct communication with the Xbox 360 controller driver (aka XUSB driver) on Windows.


Some more exotic Xbox 360 controllers such as the Rock Band 3 Pro Keyboard and Pro Mustang send input data that isn't available through standard XInput. This library allows the normally-unused last 6 bytes of the XUSB input report to be read, among other things, which lets these controllers be used in their entirety.

Todo

  • Console test app to demonstrate the library.
  • Finish up code documentation and create a step-by-step guide on how to use.
  • Error checking might not be the best currently. Need to go through everything and make sure cases such as device disconnection can be handled without having to catch an exception.
  • Pretty sure some of the IOCTLs aren't handled fully correctly just yet.

References and Credits

  • OpenXInput, for a large part of how the XUSB buffers are handled
  • XInputHooker, for one of the control codes that OpenXinput didn't have

Other information comes from my own research and reverse-engineering attempts.

License

This project is licensed under the MIT license. See LICENSE for details.

Some functionality is provided by third-party libraries, which have their own licenses. See THIRDPARTY for details.

About

A .NET Standard 2.0 library that provides direct communication with the Xbox 360 controller driver (aka XUSB driver) on Windows

Topics

Resources

Stars

6 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages