Можно ли заставить компьютер вести себя как устройство Bluetooth HID?

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

Я хотел бы создать приложение linux или OS X (или использовать существующий, хотя я не нашел его), который может вести себя так, как описано выше, но я не уверен, с чего начать, или если он даже возможно.

Итак:

  • Что я описываю, возможно?
  • Существуют ли какие-либо существующие приложения, которые выполняют то, что я описываю?
  • Если приложение уже не существует (я предполагаю, что нет), существуют ли библиотеки bluetooth или привязки, которые помогут? (Мне довольно удобно использовать большинство современных популярных языков, поэтому я бы предпочел библиотеку, наиболее подходящую для этой задачи, если она доступна в Linux или OS X.)
  • В случае неудачи любого из вышеперечисленных, спецификация bluetooth выглядит довольно плотно. Существуют ли конкретные руководства или другие отправные точки, применимые к проблеме, которую я могу прочитать?

Я понимаю, что для такого приложения, скорее всего, потребуется украсть обычный ввод на клавиатуре, возможно, предоставив некоторую горячую клавишу, подобную KVM, для переключения между предоставлением ввода в операционную систему хоста и отправкой входа через bluetooth на подключенное устройство, но я считая, что проблема выходит за рамки этого вопроса.

Ответ 1

Это определенно возможно для Linux. Некоторое время назад я нашел этот проект:

http://nohands.sourceforge.net/index.html

Они эмулируют полноразмерную гарнитуру со звуковыми и клавиатурными элементами в стеке Bluetooth bluetooth. Если они могут эмулировать что-то подобное, вы, вероятно, сможете эмулировать что-то более простое, как клавиатура.

Ответ 2

Я не знаю, полезно ли это, и если он все еще жив и работает, но, возможно, вы могли бы попробовать эту ссылку.

Другой, который может или не может быть полезен в некотором роде, - remuco, но я не знаю, используют ли они Профиль Bluetooth HID.

Ответ 4

Возможно, однако, я не думаю, что смогу объяснить это очень хорошо, и я не знаю весь ответ. Устройство BT HID работает как сервер и ждет подключения к нему. В linux, используя стек bluez, сначала вам нужно будет рекламировать HID-сервис для других устройств. Я думаю, что вы делаете это с использованием файлов заголовков sdp.h и sdp-lib.h(второй заголовок может быть назван чем-то другим, я на компьютере с Windows и не могу проверить). Поэтому вам придется добавить служебную запись HID на компьютер для других устройств, чтобы увидеть ее. Вам нужно будет создать программу, которая сначала добавит эту службу в запись, а затем ждет подключения других устройств, а затем обработает процесс сопряжения, Bluez может справиться с этим для вас, или вам, возможно, придется что-то сделать, м не совсем уверен. Вы также должны прочитать спецификацию Bluetooth HID, найденную на http://www.bluetooth.com/English/Technology/Building/Pages/Specification.aspx сайте. Этот документ содержит сведения о записи SDP, относящейся к HID. Кроме того, книга Необходимость Bluetooth для программистов довольно хороша, чтобы познакомить вас с программированием Bluetooth.

Я хотел бы дать более сжатый ответ, более подробно, но все, что я знаю, ATM. Я также пытаюсь сделать что-то подобное, но свободного времени так сложно найти;) Я тоже не на своем Linux-боксе и не могу проверить все детали. Если вы все еще заинтересованы, сообщите мне, и я попытаюсь расширить свой ответ.

Ответ 5

Попробуйте Across, к сожалению, для меня мой телефон не получил поддержки.

cross-pc-as-bluetooth-mouse.png