Sorry, it is probably just me, but I don't understand what you are asking.
If you are asking, can you somehow configure the Teensy USB type to mimic (or simply pass through) all of the USB traffic it receives from the USB Host port
and pass it through to the PC, such that the PC thinks it has the device that is plugged into the teensy is actually plugged into the PC?
My guess is probably not easily.
Now if the question is, can I make the Teensy look like an XBox one controller?
Not sure. Maybe depends on what the XBox is looking for. Also are you taking only USB or potentially Bluetooth?
USB: - there are always lots of questions like:
a) Do they check for the proper VID
ID (vendor ID/Product ID) to match what they are looking for?
b) Do you know enough to replicate their interfaces and other descriptors?
c) Which firmware version. For example with XBox One controllers, their earlier firmware is very different than their current version, which is now BLE, before it was not.
Current firmware (I am trying to figure out how to support BLE).
Code:
USBDeviceInfo claim this=2000CE38
****************************************
** Device Level **
vid=45E
pid=2EA
bDeviceClass = 255
bDeviceSubClass = 71
bDeviceProtocol = 208
09 04 00 00 02 FF 47 D0 00 07 05 02 03 40 00 04 07 05 82 03 40 00 04 09 04 00 01 02 FF 47 D0 00
07 05 02 03 40 00 04 07 05 82 03 40 00 02 09 04 01 00 00 FF 47 D0 00 09 04 01 01 02 FF 47 D0 00
07 05 03 01 E4 00 01 07 05 83 01 40 00 01 09 04 02 00 00 FF 47 D0 00 09 04 02 01 02 FF 47 D0 00
07 05 04 02 40 00 00 07 05 84 02 40 00 00
USBDeviceInfo claim this=2000CE38
****************************************
** Interface Level **
09 04 00 00 02 FF 47 D0 00 07 05 02 03 40 00 04 07 05 82 03 40 00 04 09 04 00 01 02 FF 47 D0 00
07 05 02 03 40 00 04 07 05 82 03 40 00 02 09 04 01 00 00 FF 47 D0 00 09 04 01 01 02 FF 47 D0 00
07 05 03 01 E4 00 01 07 05 83 01 40 00 01 09 04 02 00 00 FF 47 D0 00 09 04 02 01 02 FF 47 D0 00
07 05 04 02 40 00 00 07 05 84 02 40 00 00
bInterfaceNumber = 0
number end points = 2
bInterfaceClass = 255
bInterfaceSubClass = 71
bInterfaceProtocol = 208
USBDeviceInfo claim this=2000CE38
****************************************
** Interface Level **
09 04 00 01 02 FF 47 D0 00 07 05 02 03 40 00 04 07 05 82 03 40 00 02 09 04 01 00 00 FF 47 D0 00
09 04 01 01 02 FF 47 D0 00 07 05 03 01 E4 00 01 07 05 83 01 40 00 01 09 04 02 00 00 FF 47 D0 00
09 04 02 01 02 FF 47 D0 00 07 05 04 02 40 00 00 07 05 84 02 40 00 00
bInterfaceNumber = 0
number end points = 2
bInterfaceClass = 255
bInterfaceSubClass = 71
bInterfaceProtocol = 208
USBDeviceInfo claim this=2000CE38
****************************************
** Interface Level **
09 04 01 00 00 FF 47 D0 00 09 04 01 01 02 FF 47 D0 00 07 05 03 01 E4 00 01 07 05 83 01 40 00 01
09 04 02 00 00 FF 47 D0 00 09 04 02 01 02 FF 47 D0 00 07 05 04 02 40 00 00 07 05 84 02 40 00 00
bInterfaceNumber = 1
number end points = 0
bInterfaceClass = 255
bInterfaceSubClass = 71
bInterfaceProtocol = 208
USBDeviceInfo claim this=2000CE38
****************************************
** Interface Level **
09 04 01 01 02 FF 47 D0 00 07 05 03 01 E4 00 01 07 05 83 01 40 00 01 09 04 02 00 00 FF 47 D0 00
09 04 02 01 02 FF 47 D0 00 07 05 04 02 40 00 00 07 05 84 02 40 00 00
bInterfaceNumber = 1
number end points = 2
bInterfaceClass = 255
bInterfaceSubClass = 71
bInterfaceProtocol = 208
USBDeviceInfo claim this=2000CE38
****************************************
** Interface Level **
09 04 02 00 00 FF 47 D0 00 09 04 02 01 02 FF 47 D0 00 07 05 04 02 40 00 00 07 05 84 02 40 00 00
bInterfaceNumber = 2
number end points = 0
bInterfaceClass = 255
bInterfaceSubClass = 71
bInterfaceProtocol = 208
USBDeviceInfo claim this=2000CE38
****************************************
** Interface Level **
09 04 02 01 02 FF 47 D0 00 07 05 04 02 40 00 00 07 05 84 02 40 00 00
Looks like it may match the older one. But none of these interfaces are standard ones like HID.
So hard to know what they are doing.
Sorry I know that is probably not much help