Возьмите ввод с ПК и ничего не делайте, только передайте его другому хосту.
Это бессмысленно с точки зрения USB. USB - это протокол на основе хоста: устройство никогда не отправит данные, если хост не запросит их сначала. Имейте в виду, здесь «хост» и «устройство» имеют конкретные значения в самом протоколе; вы можете думать о «хосте» как о главном, а «устройство» - как о подчиненном. Эти роли запекаются в контроллере USB. Невозможно убедить стандартный USB-контроллер в любом ПК или периферийном устройстве поменяться ролями. Существуют надстройки для ПК, которые являются контроллерами USB-устройств (заставляя ваш компьютер выступать в качестве устройства), но «дешевое» - это не то слово, которое я бы использовал для их описания.
То, что вы действительно пытаетесь сделать, - это создать что-то, что является мостом между устройствами USB и устройствами. Итак, хорошо, вам нужно иметь два контроллера USB (2.0) (может быть, не так дорого, некоторые микро-устройства уже должны иметь контроллеры на ходу). Затем вы должны заставить их передать что-то значимое друг другу. Это действительно сложно, потому что, как я упоминал выше, хосты должны сообщать устройству об отправке данных и могут отправлять данные на устройство в любое время. Предполагая, что игровой контроллер отображается как устройство HID (при условии, что консоль не прослушивает какой-то странный, нестандартный дескриптор и использует какой-то странный, нестандартный протокол), для передачи данных будут использоваться каналы прерывания. Эта труба гарантированно будет опрошена с некоторой минимальной скоростью. Таким образом, у вас есть консоль, запрашивающая данные с некоторой скоростью, которая не является фиксированной, и хост-геймпад, отправляющий данные с некоторой скоростью. Синхронизация этих двоих невозможна, поэтому вам понадобится некоторый буфер приличного размера для гаджета, который вы пытаетесь создать, что добавляет больше $$ и больше сложности.
USB тоже довольно быстрый. В высокоскоростном (USB2.0) кадры длиной 125 микросекунд. Это означает, что вы должны выполнять запросы на частоте около 8 кГц, что кажется медленным по сравнению с тактовой частотой микроконтроллера, но имейте в виду, что вы должны делать все остальное одновременно. Я не уверен, что есть микроконтроллер уровня любителя, который будет иметь все, что вам нужно, особенно тот, для которого вам не нужно накатывать свой собственный USB-стек.