Можно ли заставить компьютер вести себя как устройство Bluetooth HID? - PullRequest
30 голосов
/ 14 ноября 2010

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

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

Итак:

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

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

Ответы [ 5 ]

6 голосов
/ 15 ноября 2010

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

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

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

3 голосов
/ 04 января 2011

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

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

2 голосов
/ 30 июля 2013

Это действительно возможно с Linux и Bluez. Смотри: https://github.com/lkundrak/virtkbd/blob/master/btkbdd.pod

2 голосов
/ 28 января 2011

Возможно, однако я не думаю, что смогу объяснить это очень хорошо, и я не знаю полного ответа. Устройство 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

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

0 голосов
/ 21 апреля 2016

Попробуйте Через , к сожалению, мне не хватало поддержки моего телефона.

across-pc-as-bluetooth-mouse.png

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...