Linux 如何处理来自蓝牙键盘的数据? (它如何变成击键?)

Linux 如何处理来自蓝牙键盘的数据? (它如何变成击键?)

我的蓝牙键盘无法正常工作(下面有进一步说明),我正在尝试调试原因。

到目前为止我所做的:

怎么了:

  • 当按下键盘上的某个键时,文本框中没有任何输出(下面例外)
  • 当按下键盘上的某个键时,我能够看到通过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,中国制造)经过混合设计,可以在距离主机设备仅几厘米的地方工作。也就是说,它仅适用于您面前的笔记本电脑场景。

我的问题是:

  1. 键盘随机断开连接
  2. 有时,当键盘“连接”时,按键无法通过;和
  3. 有时会重复传输击键,类似于您的描述。

由于我必须使用塔式电脑,因此我使用 USB 延长线将蓝牙吊坠放置在距蓝牙键盘仅一手掌的距离处,然后两个问题都消失了。

我希望你能改变问题的标题。目前,标题是您的诊断,这可能是错误的;这应该是你的问题(即“蓝牙键盘无响应或重复输出字符”)

相关内容