Teensy 3.6 Xbox360 USB Passthrough

Status
Not open for further replies.

StephaneAG

New member
Hi everyone !

For a current project, I need to make a Teensy appear as an XBOX360 controller.

This is done via the XInput library ( https://github.com/zlittell/MSF-XINPUT ).
I have it working fine with a laptop ( the Teensy actually appears as a controller if the driver is installed, & I can send joysticks & buttons states ), but it doesn't handle the "security handshake" ( necessary for it to work on an actual xbox360 console ).

After some digging, I'm starting to realize that using transistors to 'switch' between the Teensy's & the xbox360 controller's D+ & D- won't do the trick, and that I actually need to act as an USB host on the Teensy to be able of doing 'passthrough' ( xbox360 controller <--> Teensy <--> xbox360 console ).

From the docs I could find, it seems that once The teensy receives a 3 bytes updates for the xbox360 controller ( regarding rumble, LEDS & cie ) the handshake is ok ( else the console would have stopped communicating a while before that & never send it ).

From https://www.pjrc.com/store/cable_usb_host_t36.html, I deduce that using a Teensy 3.6 I don't need the USB Host shield but instead just a cable ( that I can wire myself, no pb ;p )

My question is thus the following: what would it take to be able to "pass" stuff received from the xbox360 console to the Teensy-connected xbox360 controller & vice-versa ?

I already guess that I'll have to modify some of the MSF-XINPUT lib calls, but Im' not sure yet of what this 'd involve on the Teensy Host part ..
I digged https://github.com/PaulStoffregen/USBHost_t36, but it's quite big, hence my post to get answers from others with more knowledge on the subject while I continue digging ;)

This being said, the above goal is part of a bigger project, which you can find at the following address ( in case anyone's interested ;P ) :)
http://forum.espruino.com/conversations/325589/?offset=25#comment14455976

Thanks in advance to anyone reading this,
And keep up the good work everyone :)
+
 
I modified a USB keyboard pass through/key remapper program to use the Teensy 3.6 USB host library. The project also works on a Leonardo/32u4 with USB host shield. The sketch gets the raw HID report from the USB keyboard on the USB host port, modifies the HID report, then sends the HID report out the USB device port to the computer or console. A similar technique may work for the xbox or playstation gamepads.

https://github.com/gdsports/keymapper
 
Status
Not open for further replies.
Back
Top