我正在尝试创建一个虚拟的蓝牙Mac 操作系统的键盘客户端。这意味着我的 Mac 将充当 BT KB。我读到了 OS X 中的蓝牙 API(在 ObjC 中),并且我还发现了适用于 Mac 的 HID API(在 C 中)
为了完成这项工作,我知道我需要声明一个 hid-keyboard-service,该服务应该在 SDP 查询上广播。
- 如果我使用 HID API 声明 HID 服务,我的服务是否也在蓝牙上可见/广播? (这些文档似乎仅针对 USB 提及 HID)。 - HID 服务在蓝牙和 USB 接口上都可见,并且底层连接对我来说是透明的吗?
- 您知道有什么代码可以帮助我解决这个问题吗?我更喜欢 ObjC,但似乎 HID API 仅限于 C...:(
谢谢...!
据我了解,HID 设备驱动程序代表操作系统本地的设备,也代表操作系统本地的各种其他组件的设备。它不用于在 USB 或蓝牙上“广播”。据我所知,OS X 不包含蓝牙 HID 服务,OS X 和 Mac 中的 USB 芯片组都不支持 USB 设备模式——或者至少不公开它。
您将需要编写一个蓝牙服务。我没有这样做,但是文档 http://developer.apple.com/library/mac/#documentation/DeviceDrivers/Conceptual/Bluetooth/BT_Develop_BT_Apps/BT_Develop_BT_Apps.html看起来很广泛。据我了解,您必须以某种方式基于底层蓝牙 L2CAP 传输协议来实现 HID 服务。
由于我既没有研究过蓝牙,也没有研究过Mac下的蓝牙支持,所以我无法提供更多帮助。我确实查看了 HID 协议规范,甚至还使用了它们。 HID 的实现相对简单,但首先要实现蓝牙服务需要做相当多的工作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)