是否有可能使计算机充当蓝牙HID设备?

时间:2010-11-14 10:59:51

标签: linux macos bluetooth hid

是否可以使计算机充当蓝牙HID设备?也就是说,如果本地机器插有标准USB键盘,其他设备可以发现这台机器并将其用作蓝牙键盘。

我想创建一个linux或OS X应用程序(或者使用现有的应用程序,虽然我没有找到),它可以像上面描述的那样运行,但我不确定从哪里开始,或者它是否均匀可能的。

所以:

  • 我所描述的可能吗?
  • 是否有任何现有应用程序可以执行我所描述的内容?
  • 如果没有应用程序已存在(我假设没有),是否有蓝牙库或绑定有帮助? (我很高兴使用当今大多数流行的语言,所以我更喜欢最适合这项任务的库,只要它可以在linux或OS X中使用。)
  • 如果没有上述任何一项,蓝牙规格看起来非常密集。是否有适用于我能阅读的问题的具体指南或其他起点?

我意识到这样的应用程序很可能需要窃取正常的键盘输入,可能提供一些类似KVM的热键,用于在向主机操作系统提供输入和通过蓝牙将输入发送到连接设备之间进行切换,但是我我认为这个问题超出了这个问题的范围。

5 个答案:

答案 0 :(得分:6)

在Linux上肯定是可能的。前段时间我发现了这个项目:

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

他们在Linux蓝牙堆栈上模拟一个带有音频和键盘控件的成熟耳机。如果他们可以模仿这样的东西,你可能会模仿像键盘一样简单的东西。

答案 1 :(得分:3)

我不知道这是否有用,也不知道它是否还活着,但也许你可以试试this link

另一个可能会或可能没有帮助的是remuco,但我不知道他们是否使用蓝牙HID配置文件。

答案 2 :(得分:2)

有可能,但我认为我不能很好地解释它,我不知道整个答案。 BT HID设备用作服务器并等待连接到达它。在linux中,使用bluez堆栈,首先你必须宣传HID服务以供其他设备查看。我认为你使用sdp.h和sdp-lib.h头文件(第二个头可能被称为其他东西,我在Windows计算机上,无法检查)。因此,您必须将HID服务记录添加到您的计算机以供其他设备查看。您必须创建一个程序,首先将此服务添加到记录中,然后等待其他设备连接,然后处理配对过程,Bluez可能会为您处理此问题,或者您可能需要做一些事情,我'我不太确定。您还应该阅读http://www.bluetooth.com/English/Technology/Building/Pages/Specification.aspx站点上的蓝牙HID规范。本文档包含与HID相关的SDP记录的详细信息。另外,本书Bluetooth essentials for programmers非常适合向您介绍蓝牙编程

我想更详细地给出一个更简洁的答案,但这就是我所知道的ATM。我也在尝试做类似的事情,但业余时间很难找到;)我也不在我的Linux机器上,无法查看所有细节。如果你仍然感兴趣,请告诉我,我会尽力扩大我的答案。

答案 3 :(得分:2)

Linux和Bluez确实完全有可能。请参阅:https://github.com/lkundrak/virtkbd/blob/master/btkbdd.pod

答案 4 :(得分:0)

试试Across,对我而言,我的手机缺乏支持。

across-pc-as-bluetooth-mouse.png