OS X的虚拟HID键盘

时间:2011-08-25 21:01:15

标签: macos bluetooth hid l2cap

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

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

  1. 如果我使用HID API声明HID服务,我的服务是否也可以在蓝牙上显示/播放? (这些文件似乎仅涉及关于USB的HID)。 - 在蓝牙和USB接口上都可以看到HID服务,并且底层连接对我来说是透明的吗?
  2. 是否有任何代码可以帮助我解决这个问题?我更喜欢ObjC,但似乎HID API只是C ...... :(
  3. 谢谢...!

2 个答案:

答案 0 :(得分:1)

据我了解,HID设备驱动程序代表操作系统本地设备,操作系统代表各种其他组件。它不习惯在USB上或在蓝牙上“广播”。据我所知,OS X不包括蓝牙HID服务,OS X和Mac中的USB芯片组也不支持USB设备模式 - 或者至少它们不会暴露它。

您需要编写蓝牙服务。我没有这样做,但the documentation似乎很广泛。根据我的理解,您将不得不基于底层的蓝牙L2CAP传输协议实现您的HID服务。

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

答案 1 :(得分:0)

似乎Linux存在类似的工具,可能有可用的源代码。有关链接,请参阅this thread