是否有可能使计算机像蓝牙HID设备一样运行?

是否有可能使计算机像蓝牙HID设备一样运行? 也就是说,给定一台带有标准USB键盘的本地机器,其他设备可以发现这台机器并将其用作蓝牙键盘。

我想创build一个Linux或OS X应用程序(或者使用现有的应用程序,尽pipe我找不到),但是我不确定从哪里开始,或者甚至可能。

所以:

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

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

这在Linux上绝对是可能的。 前一段时间我发现这个项目:

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

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

我不知道这是否有用,也不知道它是否还活着,但也许你可以试试这个链接 。

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

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

可能的话,但我不认为我能解释得很好,我不知道整个答案。 BT HID设备作为服务器,等待连接。 在linux中,使用bluez堆栈,首先你必须通知其他设备看到的HID服务。 我想你使用sdp.h和sdp-lib.h头文件(第二个头也许叫别的东西,我在Windows电脑上,不能检查)。 因此,您必须将HID服务记录添加到您的计算机以供其他设备查看。 你将不得不创建一个程序,首先将这个服务添加到记录中,然后等待其他设备连接,然后处理配对过程,Bluez可能会为你处理,或者你可能需要做一些事情,米不太确定。 您还应该阅读http://www.bluetooth.com/English/Technology/Building/Pages/Specification.aspx站点上的Bluetooth HID Spec。 本文档包含与HID相关的SDP记录的详细信息。 此外,这本书的程序员蓝牙要领是很好的介绍你进入蓝牙编程

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

尝试跨越 ,不幸的是我的手机缺乏支持。

跨PC-AS-蓝牙mouse.png