Подмена игрового контроллера

Я пытаюсь написать что-то, что позволит пользователю использовать комбинацию клавиатуры и мыши на игровой консоли. Подход, о котором я думал, заключается в следующем:

Выясните, как ввод сопоставляется с выводом в контроллере консоли. Это старые добрые пробы и ошибки, в основном подключение контроллера через USB к компьютеру и выяснение того, как контроллер реагирует на ввод, с помощью подробного журнала USB.

Затем напишите пользовательскую программу, которая принимает ввод с клавиатуры/мыши и преобразует его в вывод контроллера.

Все идет нормально. Теперь самое сложное. Мне нужно найти способ подключить мой компьютер к консоли, чтобы консоль думала, что на самом деле подключается стандартный контроллер. Для этого мне понадобится способ создать фальшивое USB-устройство, которое подключается через USB-порт к консоли. Это та часть, которую я понятия не имею, как делать.

Думаю, я ищу какую-то библиотеку для спуфинга USB, но я не уверен, с чего начать поиск чего-то подобного. Привязки Python к библиотеке были бы великолепны, но я не привередлив. Точно так же что-то, что работает на Mac или Linux, было бы идеальным, но я мог бы жить с библиотекой только для Windows в крайнем случае.


person Chinmay Kanchi    schedule 09.02.2011    source источник


Ответы (1)


USB так не работает. USB включает в себя направленную иерархию устройств, и попытка соединить два хост-устройства (ваш компьютер и консоль) приведет только к плохим последствиям (например, к выходу из строя USB-контроллеров на обоих устройствах).

Вероятно, лучше всего было бы использовать какой-то встроенный процессор, такой как Arduino, чтобы он находился между вашей клавиатурой / мышью и консолью для преобразования.

person Anon.    schedule 09.02.2011
comment
Это имеет смысл. Черт! Я действительно надеялся на альтернативу с нулевой стоимостью! Хотя я полагаю, что это не обязательно должен быть Arduino или аналогичный. Вероятно, мне бы сошло с рук использование Android-устройства с разбитым экраном и корневым доступом, если бы я подключил мышь и клавиатуру через Bluetooth. - person Chinmay Kanchi; 09.02.2011
comment
Что бы это ни стоило, некоторые встроенные устройства ДЕЙСТВИТЕЛЬНО обеспечивают поддержку USB-гаджетов, что позволяет им действовать как хост или ведомое устройство (в зависимости от порта, к которому вы подключены ...), что делает эту идею полностью осуществимой, но я всего около 10 минут в исследование .. Что касается решения arduino, у кого-то есть что-то вроде этого .. controllermax.com работает только для переназначения контроллера хотя бы к контроллеру. - person synthesizerpatel; 16.05.2014