Для большинства клавиатур USB требуются драйверы.Любая функциональность клавиатуры (нестандартные кнопки), выходящая за рамки возможностей стандартных драйверов HID , потребует установки некоторого программного обеспечения на компьютер.
При этом, возможно, будет возможно использовать Android Возможности USB , а также написание собственного драйвера, если HID по умолчанию недостаточно для достижения вашей цели.Это, вероятно, очень нетривиальное мероприятие.
Редактировать: Я думаю, что Кристофер Мичински прав, что уровень контроля, который вы получаете с помощью стандартного Android USB API, не подходит для этой цели.Его два решения по изменению прошивки для связи с использованием стандартов HID, а также аппаратного посредника, который переводит протокол Android Accessory на HID, оба кажутся мне верными.Если об установке драйверов на компьютер не может быть и речи, это могут быть только два варианта.
Однако, если вы открыты для установки драйвера для этого поведения, должна быть возможность написать собственный драйверкоторый может обрабатывать протокол Android USB и правильно переводить на правильные вызовы / прерывания для функциональности клавиатуры.Если память служит, для каждой периферийной клавиатуры, которую я использовал за последние 10 лет, требовалось установить драйвер для полной функциональности, поэтому это не может считаться нестандартным поведением.(Хотя только что произошло, этот подход позволит устройству функционировать только как клавиатура внутри окон, а не во время процесса загрузки)