/ArduinoXInput_Teensy

Teensy boards package for the ArduinoXInput project

Primary LanguageCOtherNOASSERTION

Teensy XInput USB Mode

Build Status

The files in this repository will add an additional USB mode ("XInput") to your Teensy board, allowing it to emulate an Xbox gamepad.

This is meant to be used in conjunction with the ArduinoXInput library.

Installation

You must have both the Arduino IDE and Teensyduino installed before proceeding.

Double-check that your installed Teensyduino version matches the files provided in this repository. This repository is currently using Teensyduino 1.59. You can download older versions on the releases page.

If you don't know your Teensyduino version, compile a blank sketch with a Teensy board selected and the Teensy Loader will open. In the Teensy Loader window select Help -> About and it will tell you the version number. If your version does not match you will have to reinstall or update the Teensyduino software.

It is recommended that you make a backup of your hardware folder before proceeding in case something goes wrong or if you want to revert the installation.

To install the XInput modifications, copy the files from the repository's "teensy" directory into the hardware folder and replace any pre-existing files. This will not affect your saved sketches.

To remove the XInput modifications, restore your Teensy hardware folder from backup or reinstall the Teensyduino software.

Arduino IDE 1.x

For IDE version 1.x the Teensy hardware files are located in your Arduino IDE installation directory. On Windows this is typically in your "Program Files" folder:

C:\Program Files (x86)\Arduino\hardware\teensy\avr

Arduino IDE 2.x

For IDE version 2.x the Teensy hardware files are located in your application data folder. On Windows this is typically at the following path:

%AppData%\..\Local\Arduino15\packages\teensy\hardware\avr\{version}

Where {version} is the installed version number of the Teensyduino software.

Version 2 of the IDE is reported to have issues with caching board files, which may prevent this project from loading or functioning properly. Consider using the version 1 IDE if you run into problems with installation.

Supported Boards

Limitations

No Console Support

This will not enable you to use your Teensy with an Xbox console! Genuine controllers use a dedicated hardware security chip that handshakes with the console. The Teensy boards do not have this chip, and its security method has not been (openly) broken.

No Commercial Use

These board definitions make use of Microsoft's VID and PID in order to latch on to the PC driver. As such this is strictly for educational or development use by non-commercial entities.

Credits and Contributions

A massive thank you to Zach Littell, whose did all of the original legwork in putting this together. Check out some of his stuff at zlittell.com.

Another big thanks for Tom Mason (@wheybags), who added support for the Teensy 4 boards (#26).

License

The original Teensy core files and their modified versions are licensed under a modified version of the permissive MIT license. Newly contributed files are licensed under the MIT license with no additional stipulations.

See the LICENSE file for more information.