Можно ли запрограммировать Android как физическую USB-клавиатуру? - PullRequest
72 голосов
/ 21 марта 2012

Что я действительно хочу знать, так это то, является ли это аппаратной или программной проблемой. Могу ли я подключить свой телефон Android к компьютеру через USB и сделать его аппаратной клавиатурой. Я не хочу ничего устанавливать на компьютер, я хочу, чтобы Android вел себя как стандартное оборудование.


Редактировать: Уточнение Я хочу написать программу / библиотеку для Android, которая позволит устройству полностью эмулировать обычную клавиатуру, чтобы операционная система сообщала об этом как о стандартном устройстве клавиатуры, и она работала в BIOS или в любом другом месте, где работает клавиатура.

Ответы [ 13 ]

1 голос
/ 30 марта 2012

Некоторые другие поняли, что это неправильно. А пока делюсь своим мнением. Прости.

Старый НЕПРАВИЛЬНЫЙ ответ:

На мой взгляд, это едва ли возможно.

Ваш компьютер идентифицирует любое устройство USB с помощью дескриптора устройства USB или дескриптора интерфейса USB. Чтобы использовать Android-устройство в качестве клавиатуры, вы должны изменить их. На самом деле я думаю, что они сохраняются на ПЗУ в устройстве, поэтому вам придется менять оборудование. Устройство должно идентифицировать себя с хостом, даже если его зарядка только в выключенном состоянии (хосту необходимо сообщить usb-хосту о потребляемой мощности, в противном случае - максимум несколько мА). Для меня это указывает на то, что вам придется менять оборудование

«Самый простой» способ - это собрать адаптер, содержащий хост-чип usb с микроконтроллером, который преобразует полученные данные (которые вам все еще приходилось отправлять через usb) в сигналы ps / 2 или usb-client, которые вы отправляете на компьютер.

На мой взгляд, самый простой способ: купить одну из этих клавиатур, которую вы можете свернуть, и положить ее в сумку.

1 голос
/ 21 марта 2012

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

Но если у вас есть активность, отправляющая аппаратную клавиатуру как данные через usb, то почему бы и нет? Я думаю, это будет нелегко. В этот момент ответ на форуме usuas приходит сразу: «Почему бы вам не изменить свои планы и…»:)

0 голосов
/ 29 марта 2012

У меня есть некоторый опыт здесь как пользователь. Наиболее очевидное решение - через tcp / ip через модель клиент / сервер. Многие инструменты, такие как airkeyboard (http://www.freenew.net/iPhone/air-keyboard-111/171415.htm), используют этот метод для создания замены клавиатуры / мыши с помощью смартфона. Обратите внимание, что в реализации есть некоторые проблемы с безопасностью. Например, вы должны войти использовать компоненты сервера.

Другие кроссплатформенные инструменты (т. Е. Windows / mac, управляющие другим экземпляром windows / mac) используют аналогичный подход. См синергия: http://synergy -foss.org /

...