7

我正在尝试为 Mac OS创建一个虚拟蓝牙键盘客户端。这意味着我的 Mac 将用作 BT KB。我阅读了 OS X 中的蓝牙 API(在 ObjC 中),我还找到了一个适用于 Mac 的 HID API(在 C 中)

为了完成这项工作,我知道我需要声明一个应该在 SDP 查询上广播的 hid-keyboard-service。

  1. 如果我使用 HID API 声明 HID 服务,我的服务是否也在蓝牙上可见/广播?(文档似乎仅针对 USB 引用 HID)。- HID 服务在蓝牙和 USB 接口上是否可见,并且底层连接对我来说是透明的?
  2. 有什么代码可以帮助我解决这个问题吗?我更喜欢 ObjC,但似乎 HID API 只是 C ...... :(

谢谢...!

4

2 回答 2

1

据我了解,HID 设备驱动程序代表操作系统本地的设备,以及操作系统代表各种其他组件的设备。它不用于在 USB 或蓝牙上“广播”。据我所知,OS X 不包含蓝牙 HID 服务,OS X 和 Mac 中的 USB 芯片组都不支持 USB 设备模式——或者至少它们没有公开它。

您将需要编写蓝牙服务。我没有这样做,但文档似乎很广泛。据我了解,您必须以某种方式基于底层蓝牙 L2CAP 传输协议来实现 HID 服务。

由于我既没有研究过蓝牙,也没有研究过Mac下的蓝牙支持,我无法提供更多帮助。我确实看过 HID 协议规范,甚至玩过它们。HID 实现起来相对简单,但首先要实现蓝牙服务还有很多工作要做。

于 2011-09-15T12:54:09.800 回答
0

似乎 linux 存在类似的工具,并且可能有可用的源代码。请参阅此线程以获取链接。

于 2013-10-17T14:23:46.807 回答