【问题标题】:Virtual HID-keyboard for OS XOS X 的虚拟 HID 键盘
【发布时间】:2011-11-04 01:21:34
【问题描述】:

我正在尝试为 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...:(

谢谢...!

【问题讨论】:

  • 当你说“虚拟”和蓝牙时,我很困惑。我很确定 HID 可用于 USB 和蓝牙,但除了在最高级别显示为 HID...
  • virtual 是因为我的 Mac 并不是真正的蓝牙键盘。它是一个mac。我希望我的 Mac 像 BT 键盘一样工作,然后其他设备可以连接到它,我可以从我的 Mac 上在它们上打字。
  • 不是直接(技术)答案,但我们在 Mac AppStore 中的“Type2Phone”正是这样做的,可能会解决您的问题。试一试。
  • 这个怎么样? eyalw.com/1keyboard
  • Type2Phone 售价 10 美元,所以大概已经关闭了源代码,这使得它在这里几乎无关紧要,因为它无助于任何人编写将 Mac 变成 BT 键盘的代码。

标签: macos bluetooth hid l2cap


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

    似乎有类似的工具适用于 linux,并且可能有可用的源代码。链接见this thread

    【讨论】:

      猜你喜欢
      • 2020-07-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-03
      • 2015-01-02
      • 2013-04-02
      • 1970-01-01
      • 2012-01-13
      相关资源
      最近更新 更多