Итак, почему же на TV BOX не работают USB-джойстики сразу после подключения, хотя эти же джойстики исправно работают на ПК и даже на телефоне/планшете через OTG кабель? А всё очень просто - китайцы, которые собирали прошивку, не удосужились добавить в нее драйверы HID-устройств. Поэтому подключенный джойстик виден как USB-устройство, но кнопки с него не считываются.

Значит нам нужно только подобрать подходящие для Вашего джойстика драйверы, для этого не придётся пересобирать прошивку - драйверы подгружаются прямо "на лету" в виде модулей ядра. Ну и китайцы нам здОрово помогли тем, что прошивка на нашей приставке уже разлочена и мы имеем root-права (а иначе ничего не выйдет).

Итак, приступим. Для начала вот вам все модули для различных джойстиков. Выберите тот, что нужен Вам по названию. Если по названию угадать сложно - позже попробую описать как найти нужный модуль по ID устройства. Просто нажмите на название модуля и разрешите браузеру скачать. По-умолчанию файлы попадут в /storage/emulated/0/Download/. В этой папке вы можете потом удалять ненужные если вдруг будете экспериментировать или подбирать модули наугад.
Для запуска всех модулей, которые вы скачаете и которые будут лежать в указанной выше папке, я Вам написал маленький скриптик - gamepad.sh. Также кликните на него и разрешите браузеру скачать файл не смотря на ругань с его стороны.

Ну и с запуском самого скрипта придётся немного помудрить. Проще всего использовать для этого программу SManager v3.0.9. Также скачивайте её, устанавливайте при помощи браузера файлов из всё той же указанной выше папки Download и запускайте. При первом запуске ткните кнопку Browse As Root. Перейдите в папку, куда качали файлы (да, в ту самую /storage/emulated/0/Download/) и откройте файл gamepad.sh. Поставьте 2 переключателя в состояние "вкл" (засветятся): SU и BOOT и нажмите сохранить. Теперь скрипт будет запускаться при загрузке приставки и подгружать все модули с расширением .ko из папки Download. При дальнейших экспериментах просто добавляйте и стирайте нужные модули.

Вот, собственно, и всё. Можно перезагрузить приставку, дождаться пока все скрипты отработают и убедиться, что геймпадом можно теперь даже бегать по начальному экрану и управлять самим андроидом.

Проверено лично на двух имеющихся под руками проводных геймпадах - простенький DVTech за 200р заработал с драйвером от DragonRise (hid-dr.ko) и ThrustMaster Firestorm Dual Power 3 заработал с родными дровами hid-tmff.ko.


"А теперь слайды":


И все ссылки отдельно:
  1. SManager v3.0.9
  2. gamepad.sh
  3. Все доступные модули HID-устройств