39

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

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

所以:

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

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

4

5 回答 5

6

在 Linux 上绝对可以。前段时间我发现了这个项目:

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

他们在 Linux 蓝牙堆栈上模拟具有音频和键盘控制的成熟耳机。如果他们可以模拟类似的东西,您可能可以模拟更简单的东西,比如键盘。

于 2010-11-14T22:35:50.017 回答
4

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

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

于 2011-01-28T17:31:18.877 回答
3

我不知道这是否有帮助,也不知道它是否还活着并工作,但也许你可以试试这个链接

另一个在某种程度上可能有用也可能没有帮助的是remuco,但我不知道他们是否使用了蓝牙 HID 配置文件。

于 2011-01-03T22:28:46.987 回答
2

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

于 2013-07-30T15:55:04.667 回答
1

Try Across,不幸的是我的手机缺乏支持。

跨pc-as-bluetooth-mouse.png

于 2016-04-21T13:35:59.863 回答