将linux制作成蓝牙键盘(HID)

Making linux into a bluetooth keyboard (HID)

我有一个 Raspberry Pi,我想通过 BT 将击键发送到连接的设备。 pi 带有一些已经到位的 BT 堆栈,但是当我尝试 connect 到设备时,它作为音频设备出现。

  1. 我需要做什么才能让 Pi 显示为 HID?
  2. 假设我要从 Pi 上的进程发送击键,我该如何将它发送到远程设备?从概念上讲,最简单的方法可能是我将字节写出套接字连接,然后在远程结束。但是我对BT栈的了解还不够
  3. 最好这个HID键盘只有在应用运行的时候才可以使用,不限制树莓派的其他BT功能

在 Arduino 上(不是这个)这里有发送击键的函数,在 Linux 上有各种 USB 设备的 API 类。不确定 linux 上有什么。我只玩过 cli 实用程序。

对于蓝牙,有几种实现 HID 设备的方法。

Linux 蓝牙堆栈可以使用 D-Bus API 实现此选择不同的配置文件,记录在:https://git.kernel.org/pub/scm/bluetooth/bluez.git/tree/doc/profile-api.txt

不久前,我做了一个实验,在 RPi 上使用 Python 创建 HID 键盘服务: https://gist.github.com/ukBaz/a47e71e7b87fbc851b27cde7d1c0fcf0