我的蓝牙键盘无法正常工作(下面有进一步说明),我正在尝试调试原因。
到目前为止我所做的:
- 使用以下方式连接设备
bluetoothctl
- 在
/var/lib/bluetooth/{adapter_MAC}/{keyboard_MAC}
我注意到了Class=0x000540
。我查过这个https://www.question-defense.com/tools/class-of-device-bluetooth-cod-list-in-binary-and-hex发现确实是一个Keyboard
类。 - 我已经运行了
btmon
,我可以看到从键盘输入的数据(请参阅下面的示例)
怎么了:
- 当按下键盘上的某个键时,文本框中没有任何输出(下面例外)
- 当按下键盘上的某个键时,我能够看到通过
btmon
- 偶尔(我在重现这一点时遇到了一些麻烦,但这似乎与让蓝牙键盘闲置一段时间有关),我按下的第一个键会被拿起并连续输入到文本框/终端中。例如,如果我输入
abc
,则aaaaaaaaaaaaaaaaaaa
.. 可能会连续输入终端,直到我按下有线键盘上的某个键。
在 中btmon
,当我输入时,abc
我可以看到以下 6 条消息:
a1 01 00 00 04 00 00 00 00 00 # a
a1 01 00 00 00 00 00 00 00 00 # keyup
a1 01 00 00 05 00 00 00 00 00 # b
a1 01 00 00 00 00 00 00 00 00 # keyup
a1 01 00 00 06 00 00 00 00 00 # c
a1 01 00 00 00 00 00 00 00 00 # keyup
我的问题是:Linux 如何处理这些数据并将其转换为击键?你下一步怎么做?处理这个问题的驱动程序在哪里?
这是一个基于 Fedora 的发行版。
答案1
就我而言,我认为我的蓝牙键盘(AnnePro2 P1,中国制造)经过混合设计,可以在距离主机设备仅几厘米的地方工作。也就是说,它仅适用于您面前的笔记本电脑场景。
我的问题是:
- 键盘随机断开连接
- 有时,当键盘“连接”时,按键无法通过;和
- 有时会重复传输击键,类似于您的描述。
由于我必须使用塔式电脑,因此我使用 USB 延长线将蓝牙吊坠放置在距蓝牙键盘仅一手掌的距离处,然后两个问题都消失了。
我希望你能改变问题的标题。目前,标题是您的诊断,这可能是错误的;这应该是你的问题(即“蓝牙键盘无响应或重复输出字符”)