Это можно сделать с помощью каркаса гаджета linux http://www.linux -usb.org / gadget / , используя пользовательское композитное USB-устройство. Инфраструктура гаджета является частью дерева исходных кодов ядра Android по наследству от Linux.
К сожалению, Android имеет свои собственные настройки, которые ограничивают возможность динамической регистрации новых USB-гаджетов, поэтому вам нужно будет исправить дерево исходного кода ядра для вашего конкретного устройства и добавить свой HID-гаджет (в противном случае вы можете создать модуль и загрузить его таким путь) к списку поддерживаемых Android.
Я делал это раньше и обновлю этот ответ, чтобы в нем содержалась более подробная информация, если есть интерес. К сожалению, я потерял код, поэтому мне придется начинать с нуля.